Powered by
Conference Publishing Consulting

1st Industry Track for Software Language Engineering (ITSLE 2016), October 31, 2016, Amsterdam, Netherlands

ITSLE 2016 – Proceedings

Contents - Abstracts - Authors

Frontmatter

Title Page


Message from the Chairs
Welcome to Amsterdam and the Fourth Industry Track for Software Language Engineering (ITSLE 2016), held on October 31, 2016. The ITSLE is a workshop to bring researchers and practitioners from academia and industry together to learn more about the challenges of Software Language Engineering (SLE) in industry and define future research directions inspired by the industrial challenges. The ITSLE’16 is a continuation of successful editions organized in 2011, 2012, and 2014. This year it is co-located with the ACM SIGPLAN conference on Systems, Programming, Languages and Applications: Software for Humanity (SPLASH 2016).

Invited Papers

Lessons Learned about Language Engineering from the Development of mbeddr (Keynote)
Markus Voelter
(itemis, Germany)
Over the last five years we have built mbeddr, a collection of integrated languages and language extensions built with the Jetbrains MPS language workbench. mbeddr consists of 81 languages, incl. IDE support, 34 of them C extensions. The mbeddr languages use a wide variety of notations -- textual, tabular, symbolic and graphical -- and the C extensions are modular; new extensions can be added without changing the existing implementation of C. mbeddr's development has spanned roughly 15 person years so far, and the tool is used in practice and continues to be developed. This makes mbeddr a case study in language engineering of non-trivial size and complexity.
In this keynote, I look back at mbeddr's development to identify what worked well and what are still challenges in language engineering with a modern language workbench. I will address five areas: language modularity, notational freedom and projectional editing, mechanisms for managing complexity, performance and scalability issues and the consequences for the development process. I will close by highlighting a set of issues which need further research and engineering.

Model Driven Software Engineering in the Large: Experiences at the Dutch Tax and Customs Service (Industry Talk)
Betsy Pepels and Gert Veldhuijzen van Zanten
(Dutch Tax and Customs Administration, Netherlands)
Model Driven Software Engineering is a discipline that only recently has begun to be used in mainstream practise. At the DTCA, we use this approach successfully for a major part of the Dutch Social Benefits system, a nationwide online system serving 6 million citizens. We report on our experiences with bringing forth and maintaining this system, and on our future plans for extending this approach to other key systems of our organisation. The DTCA is responsible for collecting taxes and paying social benefits. The supporting software systems typically have a lot of functionality and process huge volumes of data. Furthermore, the systems should be easy to adapt within short notice: laws do change often, and once a change to a law has been approved by the parliament, there is only little time to implement the changes. To adapt complex systems quickly, we use Functional Model Driven Development (FMDD), a variant of Model Driven Software Engineering. The FMDD approach separates functionality from other aspects of an application, hence its name. We outline the basic way of working by describing the main artefacts and roles. We detail the some of the techniques we applied in the Social Benefits System.

Industry Meets Academy

Pattern Specification and Application in Metamodels in Ecore
Jia Zhang, Mark van den Brand, Ana Maria Şutîi, and Marc Hamilton
(Altran, Netherlands; Eindhoven University of Technology, Netherlands)
The increased use of domain-specific languages (DSLs) and the absence of adequate tooling to take advantage of commonalities among DSLs has led to a situation where the same structure is duplicated in multiple DSLs. This observation has lead to the work described in this paper: an investigation of methods and tools for pattern specification and application and two extensions of a state-of-the-art tool for patterns in DSLs, DSL-tao. The extensions make patterns more understandable and they also make the tool suitable for more complex pattern applications. The first extension introduces a literal specification for patterns and the second extension introduces a merge function for the application of patterns. These two extensions are demonstrated on an often-occurring pattern in DSLs.

Industrial DSLs and Tools

Solving the Bank with Rebel: On the Design of the Rebel Specification Language and Its Application inside a Bank
Jouke Stoel, Tijs van der Storm, Jurgen Vinju, and Joost Bosman
(CWI, Netherlands; University of Groningen, Netherlands; Eindhoven University of Technology, Netherlands; ING Bank, Netherlands)
Large organizations like banks suffer from the ever growing complexity of their systems. Evolving the software becomes harder and harder since a single change can affect a much larger part of the system than predicted upfront. A large contributing factor to this problem is that the actual domain knowledge is often implicit, incomplete, or out of date, making it difficult to reason about the correct behavior of the system as a whole. With Rebel we aim to capture and centralize the domain knowledge and relate it to the running systems.
Rebel is a formal specification language for controlling the intrinsic complexity of software for financial enterprise systems. In collaboration with ING, a large Dutch bank, we developed the Rebel specification language and an Integrated Specification Environment (ISE), currently offering automated simulation and checking of Rebel specifications using a Satisfiability Modulo Theories (SMT) solver.
In this paper we report on our design choices for Rebel, the implementation and features of the ISE, and our initial observations on the application of Rebel inside the bank.

Udapt: Edapt Extensions for Industrial Application
Josh G. M. Mengerink, Alexander Serebrenik, Mark van den Brand, and Ramon R. H. Schiffelers
(Eindhoven University of Technology, Netherlands; ASML, Netherlands)
Domain specific languages (DSLs) allow modeling systems in terms of domain concepts. We discuss the shortcomings of existing DSL evolution approaches when applied in industry and propose extensions addressing these shortcomings.

Industrial Applications

A Domain Specific Language for Optimal Pumping Systems
Benjamin Saul, Christian Berg, and Wolf Zimmermann
(Martin Luther University of Halle-Wittenberg, Germany)
This paper discusses the design and implementation of a domain-specific language for modelling energy optimal pumping systems (realizing specific flows and pressures). The domain model is transformed into a corresponding mixed-integer linear program which can be solved by standard solvers. The solution together with the original model are transformed into executable simulation models (e.g. Modelica or Matlab Simulink).

Integrated Simulation of CIF3 and Simulink Models
Abhishek Sharma and Michel Reniers
(Eindhoven University of Technology, Netherlands; NXP, Netherlands)
A model of a system (plant) is required to address aspects from different domains, e.g., supervisory control, communication, each of which need to be formulated using appropriate modeling tools. Modeling all these aspects using a single tool is a tedious task and mostly it is not achievable. As a result, the complete system has different modules modeled in different tools, later integrated and simulated together in order to achieve the desired functionality of the system as well as accuracy of the results. This makes the modeling easier and more efficient. The objective of this paper is to describe the integration between two modeling languages - Simulink and CIF3 for their use in modeling. Simulink is used to model the 802.11p communication system for transmission of data between vehicles, including transceivers and channels. CIF3 is used for modeling a discrete-event modulation control for a transceiver and continuous-time scenarios involving traffic safety. The integration of CIF3 models with Simulink model satisfies the safety requirements as well as provides useful insights into a combined cyber-physical system.

Info

proc time: 0.85