The Special Issue is available on the Science of Computer Programming webpage at the following link.






Lessons Learned from Applying Model-Driven Engineering in 5 Domains: The Success Story of the MontiGem Generator Framework

Authors

Constantin Buschhaus*, Arkadii Gerasimov*, Jörg Christian Kirchhof*, Judith Michael*, Lukas Netz*, Bernhard Rumpe*, Sebastian Stüber*

  1. *Software Engineering, RWTH Aachen University, Germany

Abstract

We report on our success stories in developing and using Model-Driven Engineering (MDE) tools for information systems on real-world projects within different application domains. It is necessary that we ensure the extensibility and adaptability of code generators if we want to reuse them for different domains. Up to now, research on reusing software has been mainly conducted in the software product line community but rarely discussed in the context of code generators. This paper introduces the generation framework MontiGem and shows how it has been used and evolved within five different research and industry projects in the domains of financial management, IoT, energy management, privacy policy, and wind turbine engineering. We have developed the code generator within the first project and further refined it with each of the following projects.

This paper describes the projects, shows how MDE helped us in the software engineering process, and discusses the lessons we learned. These examples show how MDE techniques can be successfully applied to the development of information systems in practice, although further requirements have been met over time.



Applying model-driven engineering to the domain of chatbots: the Xatkit experience

Authors

Gwendal Daniel+, Jordi Cabot*

  1. +Universitat Oberta de Catalunya, Spain
  2. *Luxembourg Institute of Science and Technology, Luxembourg

Abstract

Chatbots are becoming a common component of many types of software systems. But they are typically developed as a side feature using ad-hoc tools and custom integrations. Moreover, current frameworks are efficient only when designing simple chatbot applications while they still require advanced technical knowledge to define complex interactions and are difficult to evolve along with the company needs. In addition, the deployment of a chatbot application usually requires a deep understanding of the targeted platforms, especially back-end connections, increasing the development and maintenance costs.

In this paper, we discuss our experiences building, evolving and distributing the Xatkit framework. Xatkit is a model-based framework built around a Domain-Specific Language to define chatbots (and voicebots and bots in general) in a platform-independent way. Xatkit also comes with a runtime engine that automatically deploys the chatbot application and manages the defined conversation logic over the platforms of choice.

Xatkit has significantly evolved since its initial release. This paper focuses on describing the evolution and the reasons (technical and non-technical) that triggered them. We believe our lessons learned can be useful to any other initiative trying to build a successful industrial-level chatbot platform, and in general, any type of model-based solution



An Iterative Approach for Model-based Requirements Engineering in Large Collaborative Projects: A Detailed Experience Report

Authors

Andrey Sadovykha,∗, Bilal Saida,∗, Dragos Truscanb,∗, Hugo Brunelierec, *

  1. a SOFTEAM, Docaposte - Paris & Nantes, France,
  2. b Abo Akademi University - Turku, Finland,
  3. c IMT Atlantique, LS2N (UMR CNRS 6004) - Nantes, France

Abstract

In this paper, we report on our 7 years of practical experience designing, developing, deploying, using, and evolving an iterative Model-based Requirements Engineering (MBRE) approach and language in the context of five large European collaborative projects providing complex software-intensive solutions. Based on significant data sets collected both during project execution and via surveys realized afterward, we demonstrate that such a model-based approach can bring interesting benefits in terms of scalability (e.g., a large number of handled requirements), heterogeneity (e.g., partners with different types of RE background), adaptability and extensibility (e.g., to various project’s needs), traceability (e.g., from the requirements to the software components), automation (e.g., documentation generation), consistency and quality (e.g., central model), and usefulness or usability (e.g., actual deployment and practical use). Along the way, we illustrate the application of our MBRE approach and language with concrete elements from these several European collaborative projects. More broadly, we discuss the general benefits and current limitations of using such a model-based approach and corresponding language, as well as the related lessons we learned during these past years.



An industrial experience report on Model-based, AI-enabled Proposal development for an RFP/RFI

Authors

Padmalata Nistala+, *, Asha Rajbhoj+, *, Vinay Kulkarni+, *, Sapphire Noronha*, Ankit Joshi*

  1. +TCS Research, India
  2. *Tata Consultancy Services, India

Abstract

Large organizations respond to huge volumes of Request for Proposals (RFP)/ Request for Information (RFI) every year. The process of developing a proposal for an RFP/ RFI is completely manual and time-, effort-, and intellect-intensive. While Model Driven Engineering (MDE) approaches have been popular in downstream Software Development Lifecycle (SDLC) phases to transform the design models into code, there has been a gap in leveraging model-based techniques in document-centric phases of proposal development, requirements analysis, etc.

This paper presents an automated proposal development approach for a client-supplied RFP/RFI using a combination of model-based and AI-enabled techniques and describes the case study of its successful deployment to hundreds of presales users across multiple geographies. We explain the Proposal system and report on the experience of deploying the system in the industry, bring out its efficacy, and user feedback, and discuss the lessons learnt.



OnTrack: Reflecting on Domain Specific Formal Methods for Railway Designs

Authors

Phillip James a, 1, *, Faron Mollera, Filippos Pantekisa

  1. a Department of Computer Science, Swansea University, Swansea, UK

Abstract

OnTrack is a tool that supports workflows for railway verification that has been implemented using model driven engineering frameworks. Starting with graphical scheme plans and finishing with automatically generated formal models set-up for verification, OnTrack allows railway engineers to interact with verification procedures through encapsulating formal methods. OnTrack is grounded on a domain specification language (DSL) capturing scheme plans and supports generation of various formal models using model transformations.

In this paper, we detail the role model driven engineering takes within OnTrack and reflect on the use of model driven engineering concepts for developing domain specific formal methods toolsets.



Model Based Component Development and Analysis with ComMA

Authors

Ivan Kurteva,b, Jozef Hoomanc, Mathijs Schutsd,e, Daan van der Munnike

  1. aEindhoven University of Technology, Eindhoven, The Netherlands
  2. bCapgemini Engineering, Eindhoven, The Netherlands
  3. cTNO-ESI, Eindhoven, The Netherlands
  4. dRadboud University, Nijmegen, The Netherlands
  5. ePhilips, Best, The Netherlands

Abstract

The lack of explicit and precise specifications of software interfaces between components often leads to integration issues during development and maintenance. To address this, we have developed a framework named ComMA (Component Modeling and Analysis) that supports model-based engineering of high-tech systems by precisely defining components and their interfaces. The framework is a family of Domain Specific Languages (DSLs) for modeling component interfaces, protocol state machines, time and data constraints, and constraints on relations between events of multiple interfaces. From these models a number of artifacts can be generated automatically to support analysis and various engineering tasks.

ComMA has been developed in close collaboration with the Philips IGT business unit that develops minimally-invasive X-ray systems. This paper presents the experience we gained in creating the ComMA framework and its application in industrial practice. We describe and reflect on the technical, organizational and process-related aspects of deploying a non-trivial MDE solution in an industrial setting.