Architecture Models Refinements for Software Development of Critical Real-time Embedded Systems
This addresses the problem of high development costs and reliability issues for engineers and developers working on critical real-time embedded systems, but it appears incremental as it builds on existing MDE approaches.
The paper tackles the challenge of improving reliability in software development for Cyber Physical Systems (CPS), where late-stage integration and validation issues cause high rework costs, by proposing a Model Driven Engineering method based on step-wise refinements of software architecture descriptions, resulting in reduced rework effort as summarized in the habilitation thesis.
Cyber Physical Systems are systems controlled or monitored by computer-based programs, tightly integrated networks, sensors, and actuators. Software development of CPS has become so difficult that it represents most of the cost of CPS production. In addition, it is interesting to note that the integration, verification and validation of software in CPS require more efforts than the analysis, design, and implementation activities. The main reason is that these activities are conducted late in the development process and issues discovered at this stage of the process will require to rework artifacts produced in the previous activities (i.e. analysis, design and/or implementation). In this document, we present our work aiming to improve the reliability of software development in the domain of CPS. In this context, we define the reliability of the development process as its capacity to deliver intermediate artifacts for which the rework effort would be as small as possible. This problem is very difficult for general purpose software (i.e. used on desktop computers or servers), and even more difficult for software in CPS. The main reason is that software in CPS is often critical, real-time and embedded on domain specific execution platforms. As a consequence, non-functional properties (also called quality attributes) of software applications in CPS are often as important and difficult to satisfy as the logical correctness of these applications. In order to the improve the reliability of software development in the domain of CPS, we propose a Model Driven Engineering (MDE) method based on step-wise refinements of software architecture descriptions. The results obtained with this method are summarized in this habilitation thesis.