Two months ago, I mentioned that Bits & Chips had published an article about the ComMA (Component Modelling and Analysis) language and how it is being used in Philips and Thales to address challenges related to integration and evolution. The latter part, about semi-automatic detection and correction of interface incompatibilities as interfaces evolve is the topic of the DYNAMICS project, a research project between ESI (TNO) and Thales. This joint story, where two companies from different domains together presented their challenges and how it was addressed by technology developed by ESI was much appreciated by Bits & Chips and was invited as a keynote at the Software-Centric Systems Conference (SC2), which takes place on Thursday November 5. If you are interested in hearing this keynote, please register for the event. All presentations are also available on-demand after the event in case you cannot attend in real time.
Mohammed (Mo) Diallo just defended his bachelor thesis entitled “Towards the Scalability of Detecting and Correcting Incompatible Service Interfaces“. This work is carried out in the context of a project between ESI (TNO) and Thales that developed a five-step methodology for automatic detection and correction of behavioral incompatibilities resulting from evolving software interfaces (see paper for more details). Mo’s thesis provides a starting point for evaluating the scalability of the proposed methodology. An essential ingredient towards this is the ability to synthetically generate interfaces of various complexity. The thesis has two main contributions: 1) a notion of interface complexity in terms of inputs, outputs and non-determinism is defined and the relation between these parameters is studied, and 2) the methodology for a ComMA interface generator using user-supplied complexity parameters, and its implementation in a supporting tool, is introduced.
I would like to thank Mo for the excellent work he delivered in this thesis, and I am happy that he will continue working over summer to extend it.
After six days in Munich I have now left the MODELS 2019 conference. It has been an intense couple of days with three days of workshops and tutorials, and three days of main conference. Both the technical and social aspects of the conference were exceptionally well-organized, so kudos to the men and women who worked hard to make that happen.
The four main highlights at the conference for me were:
1. Presenting our paper “Towards Continuous Evolution through Automatic Detection and Correction of Service Incompatibilities” at the MODCOMP workshop. Discussions with conference participants about Petri Net transformations have given inspiration for how to formally work with more complex service behaviors than we do in our work on service-oriented architectures today.
2. A tutorial on StateCharts that improved my understanding of a model-of-computation I will be teaching at the University of Amsterdam in the near future. Thanks to Simon van Mierlo, Hans Vangheluwe, and Axel Terfloth for organizing this tutorial and for sharing their excellent material.
3. Meeting and discussing with representatives from BMW, Daimler, MAN, Continental, TTTech, and other automotive companies and hear more about automotive trends towards centralization of computation, first through domain controllers and then further towards integration of domains in automotive “supercomputers”. It was also interesting to see that the automotive industry is showing interest in service-oriented architectures as a paradigm for their platforms. In fact, a paper entitled “Model-Based Resource Analysis and Synthesis of Service-Oriented Automotive Software Architectures” from BMW got the Best Paper Award on the Practice and Innovation track for work in this direction. This confirms our belief that our current applied research on service-oriented architectures in the defense domain can be generalized to other domains.
4. Meeting and talking to people from both Flanders Make and CETIC, which are the Flemish and Wallonian equivalents of ESI (TNO). It was interesting to talk to them and learn about how what we do is similar and different, both in terms of technical scope and business models.
I hope to return to the MODELS conference again next year to present more of our work and have another opportunity to discuss with and learn from top academics and industrialists in the area of model-based engineering.
Our paper “Towards Continuous Evolution through Automatic Detection and Correction of Service Incompatibilities” has been accepted at the 6th International Workshop on Interplay of Model-driven and Component-Based Software Engineering (ModComp). ModComp takes place in September and is co-located with the MODELS conference in Munich.
The paper describes applied research from an industrial ESI project with goal of enabling continuous evolution of software in service-oriented architectures through automatic detection and correction of service incompatibilities. Towards this, the paper has three main contributions: 1) the state-of-the-art in the areas of specification of service interfaces, and detection and correction of incompatible service interactions is surveyed, 2) directions for a methodology to detect and correct incompatible interactions that is currently under development are discussed, and 3) the methodology is discussed in the context of a simplified industrial case study from the defense domain.
I am pleased to announce that our chapter “Reducing Design Time and Promoting Evolvability using Domain-specific Languages in an Industrial Context” has been accepted for publication in the Elsevier book “Model Management and Analytics for Large Scale Systems“.
This work is the result of an industrial ESI project addressing the need for new methodologies to reduce development time, simplify customization, and improve evolvability of complex software systems. The chapter explains how these challenges are addressed by an approach to model-based engineering (MBE) based on domain-specific languages (DSLs). However, applying the approach in industry has resulted in 5 technical research questions, namely how to: RQ1) achieve modularity and reuse in a DSL ecosystem, RQ2) achieve consistency between model and realizations, RQ3) manage an evolving DSL eco-system, RQ4) ensure model quality, RQ5) ensure quality of generated code. The five research questions are explored in the context of the published state-of-the-art, as well as practically investigated through a case study from the defense domain.
A paper entitled “Pain-mitigation Techniques for Model-based Engineering using Domain-specific Languages” has been accepted at the Special Session on Model Management And Analytics (MOMA3N), a workshop co-located with MODELSWARD 2018. This paper is my first publication related to my work at TNO-ESI, which focuses on model-based engineering (MBE), virtual prototyping, and domain-specific languages (DSLs).
This paper is an experience report from an investigation into how to mitigate the pains associated with a transition to a model-based design flow using DSLs. The contributions of the paper are: 1) a list of 14 pains related to MBE as a technology that is representative of our industrial partners designing high-tech systems in different domains, 2) a selected subset of six pains is positioned with respect to the state-of-the-practice, 3) practical experiences and pain-mitigation techniques from applying a model-based design process using DSLs to an industrial case study based on a Threat Ranking component of a Combat Management System, and 4) a list of three open issues that require further research.