Software Center: Model-based Development and Continuous Integration
The long-term goal of this project is to identify key factors that hinder the combination of model- based development and continuous integration, and to develop methods, techniques and tools to help alleviate them.
Start
2018-01-01
Collaboration partners
Research area
Research group
Project manager at MDU
The complexity of modern embedded software in domains such as vehicular systems, is constantly growing as the demand for more advanced functionalities increases. One approach to manage this complexity, that have proven successful in many domains, is model-based development (MBD), where models at a higher level of abstraction are promoted to the main development artefacts instead of code. Functional models can be (i) analyzed and simulated, for example together with other models capturing aspects of other parts of the system and its environment; (ii) transformed as a result of optimization or evolution; and (iii) automatically synthesized into code that realizes the modeled structure and behavior.
In its simplest form, MBD is often presented as a one-way, sequential process, where high-level, abstract models are gradually refined and elaborated into models with enough details to perform a one- time transformation to code. In reality, though, there is a strong need for modelling different parts of the system, at different levels of abstraction and in parallel. Moreover, code synthesis is not a one-time operation, so there is a need for managing both code, models and dependencies between the two, as the system evolves.
The general trend in software development towards shorter development cycles and continuous integration of new functionalities is impacting also modern embedded systems. This change towards continuous integration puts additional stress on model-based practices and tools, and some strategies to overcome the limitations of existing modelling tools, e.g. statically partitioning the system into subsystems to be modelled independently by different developers, are no longer feasible in a continuous integration context.
The long-term goal of this project is to identify key factors that hinder the combination of model- based development and continuous integration, and to develop methods, techniques and tools to help alleviate them.