Modern society is increasingly dependent on large-scale embedded software systems. The increasing complexity of these systems makes their development complicated, challenging, and costly. Development of embedded software systems normally requires the collaboration of several organizational units and stakeholders with different backgrounds and expertise. Managing the coordination between different parties, in such large-scale contexts, is challenging and is a major contributor to the complicated development process. In many cases, product-line engineering approaches are used to enable the reuse of common artifacts, and reduce the costs of development. However, inappropriate adaption of these approaches can be counterproductive, making the development process longer and costlier.
The overall goal of the ModelFusion project is to develop model-based solutions that lead to substantial reductions in the costs associated with the development, and verification and validation of cyber-physical systems, which are large-scale, heterogeneous, embedded software systems used in many industry sectors, including Maritime and Energy. Since the beginning of the ModelFusion project in 2011, we have been active in two areas of research to achieve the project objectives. Specifically, we devised, developed and implemented solutions for model-based analysis and testing of safety-related performance properties, and scalable techniques to facilitate consistent configuration of Cyber-Physical Systems.
In the context of the first research direction, we focused on performance analysis and testing of Real-time Embedded Systems. In particular, we have developed innovative solutions for worst-case scenario analysis, which both derive design guidelines to maximize the system performance, and generate test cases that reveal potential performance flaws in the real-time software. The solutions we provide are strongly geared towards industrial adoption due to two main factors. First, our approaches are platform-independent and fully integrated with model-based development frameworks, as they model the target system specification in the standard UML/MARTE profile. Second, these approaches provide flexibility in achieving the desired value-cost tradeoff of the analysis using several optimization techniques, such as Constraint Programming, Metaheuristics, and hybrid search strategies.
For the second line of our research, the effort has been focused on improving a model-based semi-automated configuration framework named Magic. Distinguished features of the Magic framework are (1) instant validation of user decisions, to ensure the overall consistency of the configuration data, and (2) providing configuration guidance based on user decisions. Our goal in the context of the ModelFusion project is to improve the usability of the Magic framework. In particular, we have proposed new techniques for providing better configuration guidance, while reducing the response time. To achieve this, we rely on constraint programming techniques, in particular constraint propagation over finite domains. Furthermore, we are designing advanced configuration functionalities that can provide more flexibility, and better user experience.
As software becomes ever more complex, there has been a surge of interest in modeling to bring more discipline to software development, and to raise its level of abstraction. For large projects, modeling is often a "distributed" endeavor involving multipl e teams at different organizations and geographical sites. These teams build multiple inter-related models, representing different perspectives, different versions across time, different variants in a product family, different development concerns, etc. I dentifying and verifying the relationships between these models, managing consistency, propagating change, and integrating the models are major challenges. These challenges are collectively studied under the heading of "Model Management".
Model manageme nt is an emerging research area with strong practical relevance in Norway and elsewere. For example, in the Maritime and Energy (M&E) domain, there is a growing realization about the benefits of modeling to avert the risks posed by software, to faciliate communication, and to perform software validation and verification more rigorously. A full exploitation of these benefits requires a flexible model management infrastructure that enables the various and distributed stakeholders in the M&E domain to coordi anate their modelling effort.
The goal of the ModelFusion project is to develop model management solutions that lead to substantial reductions in the costs associated with the coordination of distributed modeling tasks, while increasing the effectiveness of the coordination. We aim to achieve this goal in two steps: First, we will investigate the activities that developers frequently need to perform for coordination of modeling effort. And second, we will devise novel and scientifically-evaluated model m anagement techniques to automate these activities. Our techniques will be implemented as plugins for major modeling tools, so that the developers can seamlessly incorporate the techniques into their day-to-day work.