Powered by
1st Industry Track for Software Language Engineering (ITSLE 2016),
October 31, 2016,
Amsterdam, Netherlands
Frontmatter
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.
@InProceedings{ITSLE16p1,
author = {Markus Voelter},
title = {Lessons Learned about Language Engineering from the Development of mbeddr (Keynote)},
booktitle = {Proc.\ ITSLE},
publisher = {ACM},
pages = {1--1},
doi = {},
year = {2016},
}
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.
@InProceedings{ITSLE16p2,
author = {Betsy Pepels and Gert Veldhuijzen van Zanten},
title = {Model Driven Software Engineering in the Large: Experiences at the Dutch Tax and Customs Service (Industry Talk)},
booktitle = {Proc.\ ITSLE},
publisher = {ACM},
pages = {2--2},
doi = {},
year = {2016},
}
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.
@InProceedings{ITSLE16p3,
author = {Jia Zhang and Mark van den Brand and Ana Maria Şutîi and Marc Hamilton},
title = {Pattern Specification and Application in Metamodels in Ecore},
booktitle = {Proc.\ ITSLE},
publisher = {ACM},
pages = {3--12},
doi = {},
year = {2016},
}
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.
@InProceedings{ITSLE16p13,
author = {Jouke Stoel and Tijs van der Storm and Jurgen Vinju and Joost Bosman},
title = {Solving the Bank with Rebel: On the Design of the Rebel Specification Language and Its Application inside a Bank},
booktitle = {Proc.\ ITSLE},
publisher = {ACM},
pages = {13--20},
doi = {},
year = {2016},
}
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.
@InProceedings{ITSLE16p21,
author = {Josh G. M. Mengerink and Alexander Serebrenik and Mark van den Brand and Ramon R. H. Schiffelers},
title = {Udapt: Edapt Extensions for Industrial Application},
booktitle = {Proc.\ ITSLE},
publisher = {ACM},
pages = {21--22},
doi = {},
year = {2016},
}
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).
@InProceedings{ITSLE16p23,
author = {Benjamin Saul and Christian Berg and Wolf Zimmermann},
title = {A Domain Specific Language for Optimal Pumping Systems},
booktitle = {Proc.\ ITSLE},
publisher = {ACM},
pages = {23--32},
doi = {},
year = {2016},
}
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.
@InProceedings{ITSLE16p33,
author = {Abhishek Sharma and Michel Reniers},
title = {Integrated Simulation of CIF3 and Simulink Models},
booktitle = {Proc.\ ITSLE},
publisher = {ACM},
pages = {33--37},
doi = {},
year = {2016},
}
Info
proc time: 0.85