A Comparison of Decomposition Constructs for Supporting Modularity in Simulink 2020-01-1290
The Model-Based Development (MBD) paradigm is widely used for embedded controls development, with MathWorks’ Simulink modelling environment being extensively used in the automotive industry. As production-scale Simulink models are typically large and complex, there exists a need to decompose them properly in order to facilitate their maintainability, understandability, and evolution. MathWorks recommends the use of three constructs for model “componentization” or decomposition: the Subsystem, Library, and Model Reference. However, a recently added construct, the Simulink Function, can also be used for this purpose, while also supporting information hiding due to the construct’s ability to be scoped and encapsulate data. This paper provides an in-depth comparison of these Simulink constructs to fully understand the differences in their reusability, sharing of program state, encapsulation, and code generation, with the goal of facilitating model evolution. An automotive powertrain example is provided to highlight the differences between approaches. Conventions for structuring models are also presented.
Monika Jaskolka, Vera Pantelic, Alan Wassyng, Mark Lawford