基于组件的建模规范
组件化有利于开发由许多功能部件组成的 simulink® 模型的组织。使用模型组件能够:
实现基于团队的开发 - 通过明确定义的接口,减少文件争用并独立创建组件。
降低设计复杂度 - 每个组件解决一个较小问题。
支持组件重用 - 在一个工程内和跨多个工程重用算法和环境模型。
支持单元测试 - 避免重复测试没有变化的组件,降低验证成本。
实现规模化性能优势 - 减少内存使用以及加载和仿真模型所需的时间。
支持组件变体 - 在组件的多个实现中进行选择。
实现知识产权保护 - 限制您与第三方共享组件的功能和内容的可见性。
何时需要创建模型组件
考虑到定义和管理组件所需的工作,仅当收益大于成本时,才应使用基于组件的建模。
将一个现有 simulink 模型分成几个组件类似于将一大段代码(c、java 或 matlab® 代码)分解成多个函数。如果设计最初不是模块化的,转换为基于模块的设计可能需要大量工作和大量修改。
预先考虑模型的可扩展性和潜在需求,可以更轻松地将一个 simulink 模型分成多个组件。预先确定组件可以帮助您避免下列困难:
组件定义不佳 - 随着时间的推移,子系统的范围可能无法满足组件要求。例如,它们可能包含太多或太少的功能,从而无法重用,无法生成与旧功能集成的代码,也无法支持硬件在环测试。
合并冲突 - 如果模型原先是针对单一工程师开发而设计的,那么后续的工程师加入开发的初期,可能会经历非常耗时且容易出错的合并过程。
代数环 - 如果一个工程师自下而上地开发模型,随着模型复杂度的增加,他可能会将各个模块分组到不同子系统中。模型中的子系统可能只是图形层面的分组,对模型执行没有实质影响。当您将这些子系统作为原子子系统或将它们转换为引用模型时,可能会引入不需要的代数环,而且这些代数环难以诊断和解决。
当设计变得过于复杂以至于一个人无法管理所有细节时,组件也很有用。例如,复杂模型可以是具有以下特性的模型:
数千个模块
数百项逻辑决策
相同功能的多种不同配置
工程和源代码管理可以帮助您管理组件。有关详细信息,请参阅和。
定义模型组件
1. | 确定符合您的高级建模要求的 simulink 组件。 |
2. | 调查哪些类型的模型组件满足您的低级建模要求。 |
3. | 在接口上配置设计属性,并管理模型组件的数据。 |