The increasing complexity of modern software-intensive systems demands for 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. Hence, software developers are faced with the challenging task of integrating the different languages and associated technologies used to produce software artifacts in the different concern spaces. GEMOC 2018 will be a full-day workshop that brings together researchers and practitioners in the modeling languages community to discuss the challenges associated with integrating multiple, heterogeneous modeling languages. The languages of interest range from requirements, to design and runtime languages, and include both general-purpose and domain-specific languages. Challenges related to engineering composable languages, well-formed semantic composition of languages and reasoning about systems described using heterogeneous languages are of particular interest. Following the three previous editions, a major objective is to continue collaborations and to expand a community that is focused on solving the problems arising from the globalization of modeling languages; i.e., the use of multiple DSLs to support coordinated development of diverse aspects of a system.
GEMOC 2018 will provide an open forum for sharing experiences, problems and solutions on the conjoint use of multiple modeling languages. This workshop will be the place where concrete artifacts, ideas and opinions are exchanged in order to reap constructive feedback. Following the two four editions, a major objective is to continue collaborations and to expand a community that is focused on solving the problems arising from the globalization of modeling languages; i.e., the use of multiple DSLs to support coordinated development of diverse aspects of a system.
The keynote will be given by Mark van den Brand.
Title: “Model Driven Software Engineering creates tomorrow’s legacy”
Software is everywhere we go. Among others, it powers the devices we use in our daily life, it channels our social interactions via social media, it enables our medical care. With the increasing number of applications, the amount of software is exponentially increasing, which challenges the way we develop and maintain our software efficiently and effectively.
The software engineering (research) community is fully aware of these challenges and attempts to tackle these by introducing new development techniques, such as Agile software development, test-driven software development and model driven software technology. The latter advocates the use of models and domain specific languages (DSLs) to speed up the development of software, to increase understandability and quality of the resulting software.
Modeling and modeling languages are common practice in other engineering domains, such as mechanical engineering. Modeling in software development has accelerated with the launch of Unified Modeling Language (UML). The use of multiple modeling languages in UML has led to the development of Meta Object Facility (MOF) and its derivative Eclipse Modeling Framework (EMF). Model driven software engineering advocates the use of small languages that are domain specific, provide a higher level of abstraction and facilitate code generation. UML already offered the possibility to create domain specific extensions via profiles. MOF and specifically EMF have given rise to the creation of small languages using the Eclipse environment. EMF and the tooling using EMF, such as Xtext, ATL, QVTo, ETL, etc., has led to an acceleration of the development of domain specific languages.
The following challenges can be observed with respect to this development.
The (high-tech) industry has adopted model driven software engineering and started introducing DSLs. These DSLs are prototypical, because capturing and defining domain concepts as well as language development is new for them. Before the DSLs stabilizes, tens and sometimes even hundreds of models may already be created. These models have to be migrated and can not be thrown away, if the DSLs are adapted. These languages and corresponding models will become legacy if we do not act by means of developing proper development methodologies and tooling to support analysis of languages and models and the evolution of both languages and models. So, both language and domain are in state of flux and have to co-evolve, both on the syntactic but definitively also on the semantic level, but this is hard and difficult work. We do not have the tools for this and if we do not act now, we will have the same legacy as we have software from a code perspective
One can wonder whether model driven software engineering is indeed the next silver bullet to transform software development or rather a silver-painted egg that when being fired creates a big mess. Research on model driven techniques should move away from just focusing on tooling, although that still work has to be done to make the tools more robust and usable, but start focusing on proper methodologies to extract domain concepts in order to create usable DSLs. It should deal with evolutionary aspects of DSLs and created models and work on stabilizing the tooling needed to create languages and corresponding models, ensuring consistency between languages and between models, and between languages and models. These are just a few of the challenges that we are facing. If we are able to make this happen then we might have a silver bullet after all and the promised increase in quality and productivity can be realized.
Software intensive systems are becoming more complex, driven by the need to integrate across multiple concerns. Consequently, the development of such systems requires the integration of different concerns and skills. These concerns are usually covered by different languages, with specific concepts, technologies and abstraction levels. This multiplication of languages eases the development related to one specific concern but raises language and technology integration problems at the different stages of the software life cycle. In order to reason about the global system, it becomes necessary to explicitly describe the different kinds of relationships that exist between the different languages used in the development of a complex system. To support effective language integration, there is a pressing need to reify and classify these relationships, as well as the language interactions that the relationships enable.
The 2018 edition of the GEMOC workshop will follow the successful previous five editions: GEMOC at MODELS 2013 in Miami, USA, GEMOC at MODELS 2014 in Valencia, Spain, GEMOC at MODELS 2015 in Ottawa, Canada, GEMOC at MODELS 2016 in Saint-Malo, France, and GEMOC at MODELS 2017 in Austin, TX, USA. This edition will complete the state-of-the-art and practice initiated during the last years. It will also strengthen the community that broadens the current DSML research focus beyond the development of independent DSMLs to a research focus that provides support for globalized DSMLs.
GEMOC 2018 is supported by the GEMOC initiative and its associated Eclipse Research consortium, which promotes research seeking to develop the necessary breakthroughs in software languages to support global software engineering, i.e., breakthroughs that lead to effective technologies supporting different forms of language integration, including language collaboration, interoperability and composability.
The format of the workshop reflects the goals of the workshop: constructive feedback on submitted papers and other artifacts on the conjoint use of different 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 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 topics of interest for GEMOC 2018 include:
Submissions describing practical and industrial experience related to the use of heterogeneous modeling languages are also encouraged, particularly in the following application domains:
As contributions, we expect early research results about the aforementioned topics, descriptions of case studies on the coordinated use of multiple modeling languages, and/or descriptions of practical experience, opinions and related approaches.
Each contribution must be described in a short paper not exceeding 3 pages in the ACM sigconf format, or a full paper not exceeding 6 pages in the ACM sigconf format. Each paper should describe problems, case studies, or solutions related to the topics of interest. Each paper is expected to highlight the relationships between modeling languages, as well as their management.
Papers that describe use cases, or novel integration approaches can be accompanied by concrete artifacts, such as models (requirements, design, analysis, transformation, composition, etc.), stored in a public repository (e.g., ReMoDD). Artifacts should illustrate any experience on the conjoint use of different modeling languages.
Submitted articles must not have been previously published or currently submitted for publication elsewhere. The program chairs will apply the principles of the ACM Plagiarism Policy throughout the submission and review process. All contributions will be reviewed and selected by the program committee members.
Each contribution must not exceed 3 pages for short papers and 6 pages for full papers in the ACM sigconf, and must be submitted electronically in PDF format via Easychair.
The accepted papers will be published by CEUR in the workshop proceedings. Also, participants will be strongly encouraged to participate in preparing the workshop report.