恩吉的示范建筑
使用特定模块构建模型架构的实用指南见Engee 模型架构的实际工作 一文。 |
任何模型,即使是最复杂的模型,都可以由单个模块构建。然而,随着图块数量的增加,困难也不可避免地出现了。因此,如果模型由许多模块组成,要了解必要元素的位置及其相互作用就会变得很困难。在这种情况下,维护和修改模型将耗费大量时间。因此,为了清晰和简化,建议使用子系统将复杂的模型划分为语义相同的部分。
子系统是一个块子系统 ,旨在创建模型的层次结构。例如,在子系统的帮助下,可以实现如下模型
-
20 个描述车轮行为的块连接到车轮子系统;
-
300 个与发动机有关的模块连接到 "发动机 "子系统中;
-
在 "船体 "子系统中连接 50 个与船体有关的模块。
这种联合创建了一个中间抽象层次,使用逻辑对象而不是单个模块。因此,我们可以得到以下条件模型:
通过子系统过渡到一定的抽象程度,可以:
-
从实际对象(发动机、变速箱、底盘)的角度思考问题,而不是从信号和块的角度思考问题;
-
将某些子系统组合到其他更大的子系统中,提高抽象程度;
-
只需一个操作即可禁用或替换整个子系统,而无需手动修改程序块。
这反过来又形成了许多优势:
-
拆分调试—借助子系统,您可以隔离和测试模型的各个部分。例如,首先要确保发动机正常工作,然后再检查它与变速箱的交互情况;
-
子系统内的逻辑 - 子系统不再只是另一个块中的一组块。它们成为具有自身逻辑的对象:可以对外部信号做出反应,在特定条件下激活(参见Engee 模型架构的实际工作 );
-
使用掩码—掩码可以隐藏子系统复杂的内部细节,只显示重要参数或在子系统之上配置附加功能;
-
灵活性和重复使用—可在不同的模型中重复使用 块。您还可以对结构进行试验,改变模块或其参数,以评估结果。
在*Engee*中,不仅子系统可以用来创建抽象层次。子模型(块模型 )是下一个步骤,它允许您将模型作为单独的对象来处理,从而实现以下功能:
-
引入并行开发—通过使用*模型*块,可以在不同专家之间分配开发工作。例如,一名工程师负责 "车轮 "子系统,另一名工程师负责 "发动机"。在这种情况下,他们只负责自己感兴趣的领域,不会给对方的子系统带来潜在的错误或不必要的编辑。只需在所需模型中更新 Model 块,即可轻松将它们的更改纳入主模型;
-
版本化和重复使用模块--Model 模块非常适合保存整个模型,以便将来重复使用或集成。
从子系统/子模型创建模型的基本步骤
-
初始阶段是从单个模块建模。这种方法适用于细节比结构更重要的小型模型。
-
过渡到子系统—模型开始按功能模块分组。例如,由 100 个块组成几个子系统:发动机、变速箱、底盘。
-
使用子模型和遮罩 - 机会出现了:
-
最后阶段是创建一个集成多个子模型的整体系统。这是以模型为中心的设计所特有的分层设计方法。