论文标题
在模型中支持模块化
Supporting Modularity in Simulink Models
论文作者
论文摘要
基于模型的开发(MBD)被广泛用于嵌入式控件的开发,MATLAB Simulink是行业中最常用的建模环境之一。与所有软件一样,Simulink模型在其寿命中会发生进化,并且必须维护。模块化是一种基本的软件工程原理,可促进复杂软件的构建,并用于文本语言(例如C)。但是,由于Simulink是一种图形建模语言,因此目前尚不充分了解如何通过Simulink在开发中利用模块化,也不可以通过当前的Simulink模型结构来支持它。本文通过引入Simulink模块的概念,提出了一种实现模块化的有效方法。该方法的有效性是使用众所周知的模块化指标来衡量的,包括耦合和内聚力,循环复杂性和信息隐藏能力。定义了句法接口,以表示跨模块边界的所有数据流。还提出了四个建模指南,以鼓励最佳实践。此外,描述了支持Simulink模块建模的自定义工具。最后,这项工作在核领域的现实世界中得到了证明和评估。
Model-Based Development (MBD) is widely used for embedded controls development, with Matlab Simulink being one of the most used modelling environments in industry. As with all software, Simulink models are subject to evolution over their lifetime and must be maintained. Modularity is a fundamental software engineering principle facilitating the construction of complex software, and is used in textual languages such as C. However, as Simulink is a graphical modelling language, it is not currently well understood how modularity can be leveraged in development with Simulink, nor whether it can be supported with current Simulink modelling constructs. This paper presents an effective way of achieving modularity in Simulink by introducing the concept of a Simulink module. The effectiveness of the approach is measured using well-known indicators of modularity, including coupling and cohesion, cyclomatic complexity, and information hiding ability. A syntactic interface is defined in order to represent all data flow across the module boundary. Four modelling guidelines are also presented to encourage best practice. Also, a custom tool that supports the modelling of Simulink modules is described. Finally, this work is demonstrated and evaluated on a real-world example from the nuclear domain.