Publication
Method and Tool Support for Automotive Software Engineering
Modelling is an essential activity in all engineering disciplines, and automotive software engineering is no exception. Model-driven software engineering – which has been shown with extensive evidence to improve efficiency and effectiveness of software development – acknowledges the centrality of models and advocates the use of models as primary development artefacts; it is in the models that work should be done, and other development artefacts – such as requirement specifications, documentation and source code – should be generated from the models. Introducing a model-driven development approach in a previously non model-driven process, however, presents specific challenges to the development organization; there is, furthermore, no consensus in the current state of research how to best make such a transition. In the automotive domain, where software engineering is only one of several engineering disciplines involved in development of the car, best practices for transitioning to a model-driven approach are yet more unclear. In addition, the overarching development paradigm in the automotive domain is often document-centric – i.e. it is in textual documents that development information is officially disseminated in the development organization. Nevertheless, software models have been found to play a central role within projects in the organization. In this thesis, the main research question is: How can model-driven development methods improve the development of automotive software? The approach taken is to acknowledge that the overarching development paradigm will remain unchanged, and to examine how – in the current development practice – software models are used within individual projects. Moreover, the thesis examines how these models relate to the documents in which development information is disseminated in the organization-wide development process. Using triangulation of empirical and theoretical research methods, the results in the thesis show that there can be fundamental differences between an organization-wide process and how that process is implemented within individual project; the results also identify issues related to this fact. The results, furthermore, provide insights into opportunities of how modelling methods may improve the development of automotive software.