Modeling and Simulation Practices in Control System Software Development
Soini, Matias (2014)
Soini, Matias
2014
Automaatiotekniikan koulutusohjelma
Teknisten tieteiden tiedekunta - Faculty of Engineering Sciences
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2014-06-04
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tty-201406061285
https://urn.fi/URN:NBN:fi:tty-201406061285
Tiivistelmä
Software development represents a significant portion of the total work effort in control system development, which is why improving the efficiency of the software development process is important. Modeling and simulation tools can be used for design and verification of parts of the control system. Model-based design is a development methodology, that presents models as a central concept in the development process.
This thesis explores the opportunities model-based design presents for improving the efficiency of the control system development process. Specifically, the possibility of using automatic production code generation to generate program code representations of design models is of interest. This thesis presents a selection of the tools available for model-based design and explores their capabilities through a design example. The tools presented are Simulink and OpenModelica. The benefits and challenges of model-based design are discussed with regards to the software development process. Tools and methods for achieving the benefits and addressing the challenges are explored.
Analysis of the tools concluded that Simulink is suitable for model-based design and enables automatic program code generation. OpenModelica was used for basic modeling and simulation work, but the development environment was not mature enough for production use and the tool lacked production code generation capabilities. Methods for supporting the use of modeling practices in control system development were presesented. A draft of a modeling guidelines collection was created and a template for the hierarchical structure of Simulink models was specified. Methods for implementing traceability and documenting models are also presented. Lastly, the reliability and performance of the Simulink code generator was addressed. Based on existing research, it could be deduced that the code generator was reliable and predictable. In terms of performance, the program code generated by the code generator was found to be comparable to code written by a programmer.
This thesis explores the opportunities model-based design presents for improving the efficiency of the control system development process. Specifically, the possibility of using automatic production code generation to generate program code representations of design models is of interest. This thesis presents a selection of the tools available for model-based design and explores their capabilities through a design example. The tools presented are Simulink and OpenModelica. The benefits and challenges of model-based design are discussed with regards to the software development process. Tools and methods for achieving the benefits and addressing the challenges are explored.
Analysis of the tools concluded that Simulink is suitable for model-based design and enables automatic program code generation. OpenModelica was used for basic modeling and simulation work, but the development environment was not mature enough for production use and the tool lacked production code generation capabilities. Methods for supporting the use of modeling practices in control system development were presesented. A draft of a modeling guidelines collection was created and a template for the hierarchical structure of Simulink models was specified. Methods for implementing traceability and documenting models are also presented. Lastly, the reliability and performance of the Simulink code generator was addressed. Based on existing research, it could be deduced that the code generator was reliable and predictable. In terms of performance, the program code generated by the code generator was found to be comparable to code written by a programmer.