International Workshop on Modeling Language Engineering and Execution (MLE):

The joint Fifth International Workshop on Executable Modeling (EXE)

and Seventh International Workshop on the Globalization of Modeling Languages (GEMOC)

September 17, Munich, Germany, co-located with MODELS 2019

About  |  Program  |  Call  |  Dates  |  Committees

About the Workshop

MLE 2019 is a brand new MODELS workshop resulting from the merger of two recurring MODELS workshops, namely GEMOC and EXE! Accordingly, it will be a full-day workshop that brings together researchers and practitioners in the modeling languages community to discuss the challenges associated with the engineering of modeling languages, with executability, and with integrating multiple, heterogeneous modeling languages. The languages of interest include both general-purpose and domain-specific languages with topics ranging from the requirements, design, and implementation of languages that may or may not be executable.

Following the previous editions of the GEMOC and EXE workshops, the objective is to continue collaborations and to expand on the two overlapping communities that are focused on solving problems arising both from the globalization of modeling languages − i.e., the use of multiple DSLs to support coordinated development of diverse aspects of a system − and the problems related to the executability of modeling languages − i.e., defining, composing, verifying and tooling the execution semantics of DSLs. MLE 2019 will provide an open forum for sharing experiences, problems, and solutions on all these topics. This workshop will be the place where concrete artifacts, ideas, and opinions are exchanged in order to gather constructive feedback.

Keynote

« Modelling Syntax, Semantics and Pragmatics in Practice »

by Vadim Zaytsev, Chief Science Officer of Raincode and Raincode Labs.

 

Abstract (click to expand)

There are many modelling languages in existence, and many more can be created on a whim. The main issues have long shifted from whether to create a new language to when and how to do it well. For this talk, we will zoom in on modelling languages we use to implement other software languages, in particular when writing compilers and software transformation tools.

BNF (the Backus-Naur Form) is one of the oldest modelling languages used in computer science: it can be used to write a “grammar” as a model of concrete syntax of the language, to express which combinations of symbols from its alphabet, form correct sentences. It is a well-designed language since anything written in proper BNF, defines a context-free grammar, and having a grammar belong to this class is important for the feasibility of building a reasonably performing parser of the language it defines. Is BNF still relevant? Is it enough? Do people still design their own grammar definition languages? Why do companies like Raincode Labs, full of compiler experts, develop their own parser generators? What do these in-house industrial syntax modelling languages look like?

Modelling behaviour of the language leads to having semantic specifications, which are even more varying in nature than all (E)BNF dialects combined. Algebraic, axiomatic, operational and denotational semantics as taught in universities, no matter how complex each of them are, are just one side of the story. Type systems, runtime execution models, data structures, abstraction/encapsulation, binding, memory management, concurrent and distributed models, and many other aspects literally have a separate community for each of them, with its own history, evolution, advancements and, alas, open problems. How do compiler experts deal with these issues? Is there a difference in implementing a modern language or a legacy language? A general-purpose language or a domain-specific language? Do paradigms matter? Do we by now know one good way to build a compiler? How does one test if their implementation of the semantics is correct?

Many compiler books stop at modelling language syntax. Most stop at semantics. Those that go further yet, stop at an arbitrary selection of random topics that the authors have suffered enough from, like optimising generated code or ensuring correctness under concurrency. Yet, in real life we have many issues that can be classified as pragmatics (natural language processing researchers use this term to refer to studying how the language is actually used). These include language integration, deployment, versioning, debugging, IDE integration, refactoring, quality assurance, and other topics rarely entering researchers' agendas, and definitely not researched enough for practitioners to feel easy about any of them.

This keynote will be given with the hope of sharing industrial experience in order to inspire researchers to invest in solving all kinds of exciting open problems to improve the lives of future generations of compiler developers.

Bio(click to expand)

Dr. Vadim Zaytsev, also known in the social media as @grammarware, is the Chief Science Officer of Raincode, a Belgian company specialising in modernisation of software legacy systems, as well as of Raincode Labs, the largest independent company in the world providing compiler services to a range of large international customers. He has previously been affiliated with the Southern Federal University, Free University of Amsterdam (VU), the University of Koblenz-Landau, University of Amsterdam (UvA) and the Dutch Centre for Mathematics and Computer Science (CWI). His industrial interest is mostly in migrating large (up to 250 MLOC) codebases, providing compiler consultancy services and developing industrial strength tools. His academic interests gravitate towards source code analysis and transformation, software testing, modelling, metamodelling and megamodelling.

Program

9:00 − 9:10: Opening (slides)

9:00 − 10:30: Session 1 − Keynote

« Modelling Syntax, Semantics and Pragmatics in Practice » by Vadim Zaytsev (details above).

11:00 − 12:30: Session 2 − Short Papers

20 minutes each.

  • « Executable Modelling for Highly Parallel Accelerators » by Lorenzo Addazi, Federico Ciccozzi and Björn Lisper (paper, slides)
  • « Platform specific energy estimation for executable domain-specific modeling languages » by Thibault Béziers La Fosse, Massimo Tisi, Jean-Marie Mottu, Gerson Sunyé and Erwan Bousse (paper, slides)
  • « Engineering Hybrid Graphical-Textual Languages with Sirius and Xtext: Requirements and Challenges » by Justin Cooper and Dimitris Kolovos (paper)
  • « A Proposal of Features to Support Analysis and Debugging of Declarative Model Transformations with Graphical Syntax by Embedded Visualizations » by Florian Ege and Matthias Tichy (paper, slides)

14:00 − 15:30: Session 3 − Research Papers (academic)

30 minutes each.

  • « Simulation of Model Execution for Embedded Systems » by Jörg Christian Kirchhof, Evgeny Kusmenko, Jean Meurice and Bernhard Rumpe (paper, slides)
  • « Firmware Synthesis for Ultra-Thin IoT Devices Based on Model Integration » by Arthur Kühlwein, Anton Paule, Leon Hielscher, Wolfgang Rosenstiel and Oliver Bringmann (paper, slides)
  • « On the Challenges of Model Decorations for Capturing Complex Metadata » by Horacio Hoyos Rodriguez, Athanasios Zolotas, Dimitris Kolovos and Richard Paige (slides)

16:00 − 17:00: Session 4 − Research Papers (industry)

30 minutes each.

  • « Converting Executable Floating-Point Models to Executable and Synthesizable Fixed-Point Models » by Taylor Riche, James Nagle, Joyce Xu and Don Hubbard (paper, slides)
  • « TrueChange under the hood: how we check the consistency of large models (almost) instantly » by Hugo Lourenço and Rui Eugénio (paper, slides)

17:00 − 17:30: Discussion and wrap-up

Call for Papers

Context

The increasing complexity of modern software-intensive systems demands enhanced software engineering methods. Separation of concerns of the diverse stakeholders’ facilitates the coordinated development of system aspects implementing these concerns. These different concerns are often associated with specialized description languages and technologies, which are based on concern-specific problems and solution concepts. Executable modeling languages, for instance, are increasingly used to provide abstractions of a system’s behavior, and to perform early analyses of that behavior. Hence, software developers are faced both with the challenging task of engineering each separate modeling language and associated technologies and with the task of integrating the different languages from different concern spaces.

Topics

The topics of interest include (but are not limited to):

  • Tools and methods for engineering modeling languages (eg. DSLs)
  • Defining, composing, verifying and tooling the execution semantics of modeling languages
  • Composability and interoperability of heterogeneous modeling languages
  • Heterogeneous modeling and simulation
  • Tools and methods for the dynamic validation, verification of systems (e.g., model animation, testing debugging, simulation, tracing, trace exploration, model checking, symbolic execution)
  • Tools and methods to deal with the different system aspects and to ensure consistency and coherence between the different models
  • Execution and composition of partial and underspecified models
  • Language interface, viewpoint
  • Multi-language or multi-disciplinary environment
  • Model execution and composition in the presence of non-determinism and concurrency
  • Tools and methods for socio-technical coordination in the context of heterogeneous modeling
  • Language integration challenges, from requirements to design, for analysis and simulation, during runtime, etc.
  • Surveys and benchmarks of different approaches for the development of modeling languages

Submissions describing practical and industrial experience related to the use of executable and/or heterogeneous modeling languages are also encouraged, particularly in the following application domains:

  • Cyber-Physical Systems, System of Systems
  • Internet of Services, Internet of Things
  • Complex Adaptive Systems
  • Smart City, Smart Building, Home automation

Workshop Format

The format of the workshop reflects the goals of the workshop: constructive feedback on submitted papers and other artifacts on the engineering or use of modeling languages, collaborations, and community building. The format of the workshop is that of a working meeting. Hence, there is less focus on presentations and more focus on producing and documenting a research content that identifies challenges, different forms of language engineering and integration, and relates existing solutions.

The workshop consists of a morning session in which a keynote and short presentations of the accepted papers will be given. A significant amount of time will be reserved for discussing each paper and their relations to each other. The afternoon session is devoted to a working session dedicated to open discussions of the presented contributions and other topics suggested by the participants. The closing session is dedicated to develop a plan to publish the results of the discussion in a final workshop report.

Submission

The following types of submissions are solicited:

  • Research papers (up to 8 pages)
  • Short papers (up to 4 pages)

As contributions, we expect early research results about the aforementioned topics, descriptions of problems, case studies, experience reports or solutions related to the topics of interest. We also strongly encourage the submission of comparative studies and benchmarks of existing approaches in one of the topics. Short papers can also describe tool demonstrations or position papers.

Papers that describe use cases or novel approaches can be accompanied by concrete artifacts, such as models (requirements, design, analysis, transformation, composition, etc.), stored in a public repository. Artifacts should illustrate any experience on the conjoint use of different modeling languages.

All submissions have to follow the the IEEE format and must be submitted electronically in PDF format via Easychair.

All submissions will be evaluated by at least three members of the program committee. Research papers, experience reports, and tool demonstration papers will be evaluated concerning novelty, correctness, significance, readability, and alignment with the workshop call. Position papers will be evaluated primarily concerning the validity and the ability to generate discussion (even controversy), as well as alignment with the workshop call. Furthermore, all submissions must be original work and must not have been previously published or being under review elsewhere.

The accepted papers will be published as IEEE online proceedings and indexed in DBLP and Scopus.

Important Dates

  • Abstract submission deadline: June 28, 2019 July 5, 2019
  • Paper submission deadline: July 5, 2019 July 12, 2019
  • Notification of acceptance: July 28, 2019 July 29, 2019
  • Workshop: September 17, 2019

Committees

Organizers (contact)

Program Committee

  • Bernhard Rumpe, RWTH Aachen University
  • Taylor Riche, National Instruments
  • Florian Noyrit, CEA LIST
  • Steffen Zschaler, King’s College London
  • Andrei Chiș, feenk gmbh
  • Gunter Mussbacher, McGill University
  • Jean-Michel Bruel, IRIT
  • Manuel Wimmer, Johannes Kepler University Linz
  • Thomas Degueule, CWI
  • Federico Ciccozzi, Mälardalen University
  • Hans Vangheluwe, University of Antwerp and McGill University
  • Hugo Bruneliere, NaoMod Team (IMT Atlantique & LS2N - CNRS)
  • Andreas Wortmann, RWTH Aachen University
  • Mark Van Den Brand, Eindhoven University of Technology
  • Jérémie Tatibouët, CEA
  • Benoit Combemale, University of Toulouse & Inria
  • Tony Clark, Aston University
  • Safouan Taha, CentraleSupelec
  • Matthias Schöttle, McGill University
  • Nicolas Hili, IRT Saint Exupéry