By Abel Gómez
In the global context, the European electronic industry faces stiff competition. Electronic systems are becoming more and more complex and software intensive, which calls for novel engineering practices to tackle advances in productivity and quality of these, now, cyber-physical systems.
Model-Driven Engineering (MDE) refers to a system development methodology where abstractions—or models—are systematically used along the software development process. MDE promises many potential benefits (e.g., gains in productivity, portability, maintainability or interoperability) and several studies have been conducted to support these claims with empirical data. Moreover, in the last years, the technological ecosystem around MDE has flourished, providing developers with a plethora of tools to support modeling tasks, ranging from model management solutions to model transformation and code-generation engines. However, these technologies need to be further developed to 1 – scale to real-life industrial projects and 2 – provide advantages at runtime so that the system execution can adapt to changes in the environmental conditions. Combining both also requires a complete intertwined process between the system specification and its implementation as part of a continuous improvement cycle that ensures quality of the running system while providing valuable feedback that can be used to boost the productivity and provide lessons-learnt for future generations of products.
The MegaM@Rt2 project
The MegaM@Rt2 project aims to develop new innovative technologies to address these issues, especially focusing on the challenge of integrating design and runtime aspects. Indeed, the system behavior at runtime has to be matched with the design in order to fully understand critical situations, failures in design, and deviations from requirements. Many methods and tools exist for tracing the execution and performing measurements of runtime properties. However, most of these methods do not allow the integration with system models—the most suitable level for system engineers for analysis and decision-making.
MegaM@Rt2 started in 2017 with the public aim of creating a scalable framework for model-based continuous development and validation of large and complex industrial systems. The proposal was accepted in the H2020-ECSEL-2016-RIA call, and received a total funding of nearly 16.5M euros. The project officially started on April 1, 2017, has run for 3 years, and has successfully ended on March 31, 2020.
The MegaM@Rt2 consortium brings together 27 partners coming from 6 European countries, each of which constitutes a national consortium (France, Spain, Italy, Sweden, Finland and Czech Republic). The project consortium is strongly industry-led and consists of 7 Large Enterprises and 9 Small and Medium Enterprises accompanied by 11 universities or research and technology transfer organizations. Among the academic partners, we find the SOM Research Lab, a research group of the IN3 focused in the rigorous use of software models and engineering principles in all software engineering tasks.
MegaM@Rt2 has exploited important features of existing modeling languages and standards —such as SysML and MARTE, among others—to express both system functional and non-functional properties; model-based verification and validation methods at design time and runtime; methods for model management and megamodeling; methods for traceability over large multi-disciplinary models; and methods for inference of system deviations from expected behavior and affected design elements.
The main result of MegaM@Rt2 is a practical framework incorporating methods and tools for continuous system engineering and validation. This framework is composed of three main tool sets for (i) system engineering/design and continuous development, (ii) related runtime analysis, and (iii) global model & traceability management (respectively). As a consequence, we have organized the project around the research work and realization of these tool sets. Nevertheless, individual tools of forming the different toolsets are also available as independent packages in the MegaM@Rt2 toolbox.
The integration of the different tools and actual application onto a set of concrete use cases, covering different industrial domains, has also been a central aspect of the project. The work done in the project has been strongly requirements-driven: the requirements were extracted from the use cases by exploiting the collaboration among the use case providers (mainly large industrial companies) and the technical providers (composed of both service/product companies and experienced researchers from academia).
During the project, up to 40 deliverables have been released, being the majority of them public.
SOM Research Lab and IN3 role
The SOM Research Lab, according to its experience, has played an important role as a technology provider to support both the MegaM@Rt2 System Engineering phase—by providing tools such as Collaboro, EMFtoCSP or the AsyncAPI toolkit—and the MegaM@Rt2 global model and traceability management tasks—by further developing the NeoEMF tool, a joint collaboration with the NaoMod research team.
With its tools, and specifically with the AsyncAPI toolkit, the SOM Research Lab has contributed to the development of the Digital Platform for Smart-* use case (where the asterisk can be warehouses, smart buildings, smart manufacturing, or consumer goods, among other domains) proposed by Ikerlan. In this use case, the tool provided by the SOM Research Lab has been used to model an IoT infrastructure, enabling the automatic generation of part of the code being deployed. This allows speeding up the development task, also making the resulting system more secure. Moreover, the resulting system is easier to maintain, and enables reusing parts for other application domains.
Article by Abel Gómez, postdoctoral researcher of the Systems, Software and Models (SOM) Research Lab at the UOC’s Internet Interdisciplinary Institute (IN3).