Software engineering faces new challenges with the advent of modern software-intensive systems such as complex critical embedded systems, cyber-physical systems and Internet of things. Application domains range from robotics, transportation systems, defense to home automation, smart cities, and energy management, among others. Software is more and more pervasive, integrated into large and distributed systems, and dynamically adaptable in response to a complex and open environment. As a major consequence, the engineering of such systems involves multiple stakeholders, each with some form of domain-specific knowledge, and with an increasingly use of software as an integration layer.
Model-Driven Engineering (MDE) aims at reducing the accidental complexity associated with developing complex software-intensive systems through the use of modeling techniques that support separation of concerns and automated generation of system artifacts from models. Separation of concerns is founded on the exploitation of different domain-specific modeling languages (DSMLs), each providing constructs based on abstractions that are specific to a concern of a system. As such, DSMLs are “the heart and soul” of MDE, and have major consequences on the industrial development processes.
The integration of domain-specific concepts and best practices development experience into DSMLs can significantly improve software and systems engineers productivity and system quality. Yet, the development of DSMLs has only been recently recognized as a significant software engineering task itself. Indeed, the development of DSMLs is a challenging task which requires specialized knowledge. This recently resulted in the emergence of Software Language Engineering (SLE), defined as the application of systematic, disciplined, and measurable approaches to the development, use, deployment, and maintenance of languages.
MDE encompasses the identification of added-value domain knowledge, and SLE covers the technical activities to develop DSMLs. However, the interplay between both is still challenging: how to turn application-level and business knowledge into added-value DSMLs? How to scale-up with their multiplication due to the various stakeholders and application domains of interest? Answering these questions is at the core of my research activities for 10 years. The challenge is twofold: to capture domain-specific knowledge into added-value DSMLs while supporting their possible reuse and customization in other contexts; and to support the separation of concerns through the use of multiple DSMLs while ensuring their automatic and correct integration.
In this habilitation à diriger des recherches (HDR), I review a decade of research work in the fields of MDE and SLE. I propose contributions to support a language-oriented modeling, with the particular focus on enabling early validation & verification (V&V) of software-intensive systems.
I first present foundational concepts and engineering facilities which help to capture the core domain knowledge into the various heterogeneous concerns of DSMLs (aka. metamodeling in the small), with a particular focus on executable DSMLs to automate the development of dynamic V&V tools. Then, I propose structural and behavioral DSML interfaces, and associated composition operators to reuse and integrate multiple DSMLs (aka. metamodeling in the large).
In these research activities I explore various breakthroughs in terms of modularity and reusability of DSMLs. I also propose an original approach which bridges the gap between the concurrency theory and the algorithm theory, to integrate a formal concurrency model into the execution semantics of DSMLs.
All the contributions have been implemented in software platforms — the language workbench Melange and the GEMOC studio – and experienced in real-world case studies to assess their validity. In this context, I also founded the GEMOC initiative, an attempt to federate the community on the grand challenge of the globalization of modeling languages.
- Prof. Franck Barbier, University of Pau, FR (reviewer)
- Prof. Lionel Briand, University of Luxembourg, LU (reviewer)
- Prof. Betty Cheng, Michigan State University, USA (reviewer)
- Prof. Oscar Nierstrasz, University of Bern, CH (reviewer)
- Prof. Joerg Kienzle, McGill University, CA (examiner)
- Prof. Peter Mosses, Swansea University, UK (examiner)
- Dr. Benoit Baudry, INRIA, FR (examiner)
- Prof. Jean-Marc Jézéquel, University of Rennes 1, FR (examiner)
- Document of the HDR thesis
- Slides of the defense
- Video of the defense
- My publications (full list, preprints on HAL, DBLP, Google Scholar)
- DiverSE’s SLE Seminar 2015 about the recent activities in the team about software language engineering
- The GEMOC initiative and studio
- The Melange language workbench
December 3, 2015: Seminar on Software Engineering
14:25-14:30: Welcome and introduction
14:30-15:15: “Dealing with Uncertainty in Self-Adaptive Systems” (Prof. Betty H.C. Cheng, Michigan State University, US)
15:15-15:45: “An attempt to software adaptation classification, illustration with State Chart XML” (Prof. Franck Barbier, University of Pau, FR)
15:45-16:15: coffee break
16:15-17:00: “Traceability Beyond Source Code: An Elusive Target?“ (Prof. Lionel Briand, University of Luxembourg, LU)
17:00-17:45: “Domain-Specific Development Tools“ (Prof. Oscar Nierstrasz, University of Bern, CH)
December 4, 2015: HDR defense
09:30-11:30: “Towards Language-Oriented Modeling“ (HDR defense, Benoit Combemale)
All the events will take place in the room Petri-Turing at Inria Rennes, France.
How to reach there?