The complexity of automotive software has increased dramatically in recent years. New technological advances as well as increasing market competitiveness create a high cost-pressure environment. This thesis seeks to apply established modular principles to a Simulink Model to increase information hiding to improve the maintainability of controls software. A Hybrid Supervisory Controller (HSC) model, developed as part of the McMaster EcoCAR Competition, is used throughout this thesis. The software design process followed during the HSC model development is detailed, as well as providing an example of the application of the Simulink Module Tool, a Simulink add-on developed by Jaskolka et. al. The HSC System decomposition was restructured based on an analysis of the likely changes to the vehicle software, as well the system secrets contained within the model.
This thesis also presents an analysis of the original and modular system decompositions, comparing several common software indicators of information hiding, coupling, cohesion, complexity, and testability. The modular decomposition led to a significant improvement in information hiding, both in system changeability and internal implementation. Likely changes to the system propagate to fewer modules and components within the new decomposition, with hardware data separated from behavioral algorithms, and all modules grouped based on shared secrets. The redistribution of algorithms based on separation of concern also led to improvements in coupling, cohesion, and interface complexity. The resulting software design process and modular system decomposition provides a framework for future EcoCAR students to focus on correct design and implementation of hybrid vehicle software. The benefits provided by the application of the Simulink Module Tool also contributes additional data and supporting evidence to the improvements that can be realized within Simulink Models by introducing the concepts of information hiding and modularity. / Thesis / Master of Applied Science (MASc) / The complexity of automotive software has increased dramatically in recent years. New technological advances as well as increasing market competitiveness create a high cost-pressure environment. As a result, improving the development of automotive software and its maintainability has become an increasingly critical issue to solve. This thesis uses a Hybrid Vehicle Controller Model developed within MATLAB Simulink to investigate the possible improvements that can be made to software modularity. The system decomposition is modified using the Simulink Module Tool, and is analyzed regarding improvements to information hiding, interface complexity, and specifically minimizing change propagation. The modular improvements made to the Simulink Model resulted in significant improvements in system changeability and information hiding, providing a useful framework for future EcoCAR students.
Identifer | oai:union.ndltd.org:mcmaster.ca/oai:macsphere.mcmaster.ca:11375/27035 |
Date | January 2021 |
Creators | Fella Pellegrino, Augustino |
Contributors | Lawford, Mark, Computing and Software |
Source Sets | McMaster University |
Language | English |
Detected Language | English |
Type | Thesis |
Page generated in 0.0024 seconds