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.
« Modelling Syntax, Semantics and Pragmatics in Practice »
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.
« Modelling Syntax, Semantics and Pragmatics in Practice » by Vadim Zaytsev (details above).
20 minutes each.
30 minutes each.
30 minutes each.
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.
The topics of interest include (but are not limited to):
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:
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.
The following types of submissions are solicited:
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.