Evaluation of code generation in agile software development of embedded systems

Generating code from software models is considered to be a new generation leap within software development methods. The objective of this M.Sc. project is to evaluate how different approaches to modelling and code generation affect embedded systems software development and propose recommendations on...

Full description

Bibliographic Details
Main Author: D'Angelo, Laura
Format: Others
Language:English
Published: Uppsala universitet, Avdelningen för datorteknik 2018
Subjects:
Online Access:http://urn.kb.se/resolve?urn=urn:nbn:se:uu:diva-353798
Description
Summary:Generating code from software models is considered to be a new generation leap within software development methods. The objective of this M.Sc. project is to evaluate how different approaches to modelling and code generation affect embedded systems software development and propose recommendations on how to improve software development. Two product areas at Saab Surveillance EW Systems in Järfälla, Stockholm, are used as study objects. A research overview is made to highlight themes regarding modelling, code generation and software development in general. Based on these, interviews are held with system engineers and software developers at each product area, where they use different modelling and code generation approaches. The two development processes are described thoroughly. Challenges and advantages related to each area’s approach are investigated. Software development within product area A is affected by the product complexity and the larger scale of the development, including projects running over a longer time with more teams involved. Recommendations include enabling code generation by aligning it with other investments on process improvement and limiting the approach to generating some system components. Software developers within product area B can use full code generation, enabled by the limited product complexity. The product area is affected by software standards and external requirements on the process. Recommendations include extending the modelling approach to make it easier to trace functionality from system to software level. Conclusions are that both product areas can apply modelling and code generation to more software development activities to improve their respective development processes.