PhD Thesis (Software Engineering) / Model-Based Development (MBD) is an approach that uses software models to describe the behaviour of embedded software and cyber-physical systems. MBD has become an increasingly prevalent paradigm, with Simulink by MathWorks being the most widely used MBD platform for control software. Unlike textual programming languages, visual languages for MBD such as Simulink use block diagrams as their syntax. Thus, some software engineering principles created for textual languages are not easily adapted to this graphical notation or have not yet been supported. A software engineering principle that is not readily supported in Simulink is the modularization of systems using information hiding. As with all software artifacts, Simulink models must be constantly maintained and are subject to evolution over their lifetime. This principle hides likely changes, thus enabling the design to be robust with respect to future changes.
In this thesis, we perform repository mining on an industry change management system of Simulink models to understand how they are likely to change. Then, we explore the various modelling mechanisms available in the Simulink language to see how they could support modular design with information hiding. Next, we propose a module structure, syntactic interface, and modelling conventions for Simulink designs, which are supported by our open-source Simulink Module Tool. Finally, we apply the proposed techniques on case studies from the aerospace and nuclear domains, in order to demonstrate their practicality and validate their effectiveness. Overall, the approach helped support information hiding by encapsulating secrets and facilitating likely changes. It also had a positive effect on interface complexity, cohesion, and coupling. The larger system also exhibited reductions to cyclomatic complexity, testing effort, and execution time, but the smaller case study benefited less in these areas. / Thesis / Doctor of Philosophy (PhD)
Identifer | oai:union.ndltd.org:mcmaster.ca/oai:macsphere.mcmaster.ca:11375/26126 |
Date | January 2020 |
Creators | Jaskolka, Monika |
Contributors | Wassyng, Alan, Lawford, Mark, Computing and Software |
Source Sets | McMaster University |
Language | English |
Detected Language | English |
Type | Thesis |
Page generated in 0.1952 seconds