模型的架构 AnyMath
| 本文介绍了使用特定块构建模型体系结构的实用建议。 与模型架构的实际工作 AnyMath. |
任何模型,即使是最复杂的模型,都可以由单独的块组装而成。 然而,随着它们数量的增加,不可避免地会出现困难。 因此,如果模型由许多块组成,那么理解必要元素的位置及其相互作用就会成为问题。 在这种情况下,维护和修改模型所需的时间太长。 因此,为了清晰和简化,建议使用子系统将复杂模型划分为语义同质的部分。
子系统是一个块 Subsystem,旨在在模型中创建层次结构。 例如,使用子系统,您可以在其中实现一个模型:
*描述车轮行为的20块连接在一个子系统中 «轮子»; *连接到发动机的300块连接在一个子系统中 «发动机»; *负责外壳的50块连接到一个子系统 «身体».
这种关联创建了一个中间抽象级别,其中使用逻辑对象而不是单个块。 结果,我们得到以下条件模型:

在子系统的帮助下,这种向某些抽象层次的过渡允许:
*以真实物体(发动机,变速箱,底盘)而不是信号和块来思考; *将一些子系统分组到其他更大的子系统中,增加抽象级别; 使用单个操作禁用或替换整个子系统,而不是手动修改块。
这反过来又创造了许多优势。:
*独立调试-由于子系统,可以隔离和测试模型的各个部分。 例如,首先确保发动机工作正常,然后检查它如何与变速器相互作用。; *子系统内的逻辑-子系统不再只是另一个块内的一组块。 它们成为具有自己逻辑的对象:它们可以对外部信号做出反应并在某些条件下激活(有关更多信息,请参阅 与模型架构的实际工作 AnyMath); *口罩的使用 — 掩码允许您隐藏子系统的复杂内部细节,并仅取出重要参数或在子系统之上配置附加功能。; *灵活性和重用-块可以 重用在不同的模型。 您还可以通过更改块或其参数来试验结构以评估结果。
在 AnyMath 不仅子系统可以使用。 子模型(块 Model)是下一阶段,允许您将模型作为单独的对象使用,这允许您:
*实现并行开发—使用*Model*块时,您可以在不同专家之间分配开发。 例如,一个工程师处理一个子系统 «轮子» 而另一个 — «发动机». 与此同时,它们不会在彼此的子系统中引入潜在的错误或不必要的编辑,只负责他们感兴趣的领域。 它们的变化可以很容易地在 «主要型号» 通过简单地更新所需模型中的*Model*块; *版本控制和重用块-*模型*块非常适合保存整个模型以供进一步重用或集成。
从子系统/子模型创建模型的主要阶段
-
初始阶段是从单独的块建模。 这种方法适用于细节比结构更重要的小型模型。
-
向子系统的过渡-模型开始分组到功能模块中。 例如,几个子系统由100块制成:发动机,变速箱,底盘。
-
使用子模型和面罩-有机会:
-
1. 组件的重用。
-
2. 隐藏实现细节(掩码)/添加新功能。
-
3. 简化模块(子系统或子模块)之间的交互。
-
-
最后一个阶段是创建一个结合了几个子模型的通用系统。 这是一个多层次的设计方法,典型的 模型导向设计。