嵌入式控制系统设计/模型驱动工程
外观
的维基教科书
嵌入式控制系统设计
|
模型驱动工程 (MDE) 是一种开发复杂、可靠和高度可重用系统的方案。这通过一组工具来实现,这些工具允许创建和随后将模型转换为最终系统。重要的是,工作重点集中在模型的定义和转换设施上,而不是手工编写和迭代调试低级代码。MDE 已经成功地应用于广泛的应用领域,例如控制器设计(例如 Simulink)、集成电路设计,以及越来越多地应用于软件开发。
模型驱动架构 (MDA) 是由对象管理组织 (OMG) 开发的一种即将推出的标准,旨在实现可重用性、可移植性和互操作性。该标准的实施导致了建模语言的出现,这些语言可以是多领域的,例如Modelica(正在开发中)或特定于领域的,例如AUTOSAR 用于汽车行业,统一建模语言 (UML) 用于软件工程,以及系统建模语言 (SysML) 用于系统工程。该架构分析与设计语言 (AADL) 是一种用于对复杂分布式实时系统进行建模的语言,它已被成功地用于模型驱动的控制系统设计 [1]
标准化的一个最重要的优势是它可以促进一项新技术的开发(例如移动电话的 GSM 标准和万维网的 HTML)。但是,大多数公司(例如 Mathworks)目前都有自己的事实上的标准,这使得互操作性以及创建行业标准变得困难。当模型的总体复杂性增加时,创建具有简单输入输出结构的子系统(或基本组件)可以促进更高层次的设计。如今,各种软件工具链中都存在特定领域的库,其抽象级别适合于应用程序。
目前的软件工具链在多个级别上仍处于发展中,因此在选择基于 MDE 的控制设计方法之前,应考虑一些因素。
- 模型的可重用性,即使是在原始平台内。当前的建模语言存在缺陷,重用的代码通常需要针对新的应用程序进行调试。
- 模型在多个平台上运行的能力(可移植性),这是由标准化不足以及硬件和软件平台的多样性造成的。
- 测试阶段的时间消耗:在大多数领域,推导出平台相关代码的过程非常耗时。
- 具有固有抽象级别选择的特定领域库。从头开始创建或改进模型非常耗时,甚至可能无法实现。
- 硬件约束满足,目标平台的硬件限制和物理系统是抽象的。未来的建模工具链可以提供配置这种抽象的方法。
- 可预测性。复合系统的行为通常与子系统行为不同。例如,通过组合质量和弹簧组件模型,共振现象可以作为新的复合级别行为发生,而这种行为在每个单独的组件中都没有出现。同样,由于组件之间可能发生的无数交互,故障模式或组件故障的可能性和对全局系统的影响也更难追踪和解释。
- 重要的是要注意,所有当前的标准和工具都针对 C1 和 C2 复杂性类别 的应用程序,没有任何一个标准或工具专门解决与 C3 相关的方面。
一些控制设计方法依赖于基于模型的测试,例如快速控制原型,其中控制算法是在仿真环境中开发的,并随后使用自动生成的平台相关代码在真实系统中进行验证。
- ↑ John Hudak, Peter Feiler, "为控制系统开发 AADL 模型:实践指南" 技术报告 CMU/SEI-2007-TR-014,卡内基梅隆大学,2007 年。