T1: Actor-Based Methods, Concepts and Tools for Analyzing Emergent Behaviour - An Introduction to a Model Based Approach

Speakers: Tony Clark, Vinay Kulkarni, Souvik Barat and Balbir Barn

Length: Half-day tutorial

Summary

Effective organizational decision-making often requires deep understanding of various aspects of an organisation such as goals, structure, business-as-usual, operational processes etc. The large size of an organisation, its socio-technical characteristics, and fast business dynamics make this a challenging endeavor. This tutorial presents a model-based simulation approach to organisational decision-making. We introduce a new technology that supports the approach and illustrate how it is applied to real life problems using real world case studies.

Biography

Tony Clark is Professor of Software Engineering at Sheffield Hallam University in the UK. His academic research on metamodelling led to the development of a tool called XModeler that has been used in a number of commercial applications including the development of tool support for a new Enterprise Architecture modeling language.

Vinay Kulkarni is Chief Scientist at Tata Consultancy Services Research (TCSR). His research interests include model-driven software engineering, self-adaptive systems, and enterprise modeling. His work in model-driven software engineering has led to a toolset that has been used to deliver several large business-critical systems over the past 15 years. Much of this work has found a way into OMG standards. Vinay also serves as Visiting Professor at Middlesex University London.

Souvik Barat is a Senior Scientist at Tata Consultancy Services Research (TCSR). His research interests include model-driven software engineering, and enterprise modeling.

Balbir Barn is Professor of Software Engineering at Middlesex University London with extensive experience in industrial Software Engineering including the design and implementation of the IEF.


T2: Language Engineering with The GEMOC Studio

Speakers: Benoit Combemale and Julien Deantoni

Length: Half-day tutorial

Summary

This tutorial provides a practical approach for developing and integrating various Domain-Specific (modeling) Languages (DSLs) used in the development of modern complex software-intensive systems, with the main objective to support abstraction and separation of concerns. The tutorial leverages on the tooling provided by the GEMOC studio to present the various facilities offered by the Eclipse platform (incl., EMF/Ecore, Xtext, Sirius) and introduces the advanced features to extend a DSL with a well-defined execution semantics, possibly including formal concurrency constraints and coordination patterns. From such a specification, we demonstrate the ability of the studio to automatically support model execution, graphical animation, omniscient debugging, concurrency analysis and concurrent execution of heterogeneous models. The tutorial is composed of both lectures and hands-on sessions. Lectures introduce the foundations of language engineering, and give the basics of the GEMOC studio and the underlying concepts. Hands-on sessions allow participants to experiment on representative concrete use cases.

Biography

Benoit Combemale is Associate Professor at University of Rennes 1. He is evolving within the research team DiverSE, joint to the IRISA and Inria labs. His research interests belong to software engineering, including model driven software engineering (MDE), software language engineering (SLE) and software validation & verification (V&V); mostly in the context of (smart) cyber-physical systems and Internet of things. Benoit Combemale co-authored 3 books, and more than 80 journal and conference publications in the fields of MDE, SLE and V&V. He is a member of the Steering Committee of the SLE conference, and the Editorial Boards of the international journals SoSyM (Springer), COMLAN (Elsevier), and SCP (Elsevier). He has been the program co-chair of SLE 2014, and general co-chair of MODELS 2016 and SLE 2017. He also used to serve as program committee member for various conferences and workshops in software engineering. Benoit Combemale is also very active in setting up and participating to satellite events of flagship conferences, including organizing workshops, tutorials and panels. He is a founding member of the GEMOC initiative, and the current coordinator of the GEMOC advisory board.

Julien Deantoni is associate professor in the University of Nice in Sophia Antipolis. His research activities take place in the Kairos team, a join team between I3S and Inria labs. The Kairos team have a strong background in formal and synchronous languages and Julien Deantoni’s research tends to decrease the gap between different development activities of Cyber-Physical Systems. This is mainly realized by providing the appropriate meta languages concepts, common to different development activities. For instance, he provided formal meta languages to specify concurrency semantics, allowing both simulation, V&V activities, and execution traces checking. He’s participating to different European and national projects, organized satellite events, is an active reviewer and is the main developer of the TimeSquare framework, used in the GEMOC studio.


T3: Developing Domain-specific Modeling Tools with Papyrus

Speakers: Philip Langer, Florian Noyrit and Rémi Schneckenburger

Length: Half-day tutorial

Summary

When developing complex systems in an industrial context, model-based engineering (MBE) is most successful when highly customized domain-specific modeling languages (DSMLs) and tools are used that reflect the specific needs of the different developers. For many applications, a standards-based foundation, such as UML, is crucial to enable interchange and integration with other languages and tools. To further enable the expression with a domain-specific vocabulary, UML Profiles are used to capture the specifics of the respective domain. Whereas most of the off-the-shelf UML tools do support UML Profiles, the modeling tool itself, whose domain specificity is just as important as the specificity of the DSML, can hardly be customized in order to meet the requirements of the domain users.
Eclipse Papyrus is, by contrast, more than just an off-the-shelf UML tool and evolved in the last years into a modeling platform allowing to develop UML-based DSMLs and tools that can be highly customized in many aspects, such as the diagram styles, various editing behaviors, user interfaces, etc.
In this tutorial, we demonstrate how a UML-based DSML can be developed by leveraging the customizability and flexibility of the Papyrus platform to create a truly domain-specific modeling tool.

Biography

Philip Langer is a software architect and general manager of EclipseSource Services in Vienna. He has many years of experience with Eclipse RCP, EMF, and several modeling technologies and works as a consultant to customers in these areas. He is also a committer at the Eclipse open-source projects Papyrus-RT, EMF Compare, and EMFStore. Philip is one of the lead developers of Papyrus for Information Modeling and drives the development of the team support for Papyrus and Papyrus-RT with Git, based on EMF Compare and EGit. Besides, he is the author of more than 60 publications of peer-reviewed journals, conferences, and workshops in the area of model-driven software engineering and received a PhD degree in computer science from the Vienna University of Technology for his thesis on model versioning and model transformation by demonstration.

Florian Noyrit is a researcher and engineer at CEA LIST where he contributes to the Papyrus project. His research and development is focused on the design and use of Domain Specific Modeling Languages. As a committer on the Papyrus project, he particularly works on designing and implementing the customization mechanisms required to capture the specifics of the respective domains at both the language and tooling levels. Florian received his PhD degree from University of Paris-Sud (Paris 11) in 2012 for his thesis on heterogeneous modeling language based on UML profiles. Also, he teaches model-based approaches in some Masters programs in French universities and institutes of technologies.

Rémi Schneckenburger is a software architect and the general manager of EclipseSource France in Paris. He has been working for more than 13 years with Eclipse RCP, EMF, GMF and UML2. He was one of the first contributor of the Papyrus UML project. He worked initially on the customization capabilities of the tool and definition of textual views. He also works as a consultant to customers in these areas. He is the project lead for Papyrus-RT, and a committer on Papyrus and UML Profile Repositories projects. Finally he is currently the chairman of the Architecture Committee for the Papyrus Industrial Consortium. Rémi graduated as an engineer from ENSTA Bretagne in 2003, working initially on cyber-physical systems and code generation optimized for embedded targets.


T4: PADS – A Model Driven Engineering Framework for Learning Distributed Systems Algorithms

Speakers: Yogesh Barve, Anirban Bhattacharjee and Aniruddha Gokhale

Length: Half-day tutorial

Summary

The design and development of reliable and fault tolerant distributed systems requires a deep understanding of fundamental concepts and algorithms that make them operational. With an ever increasing presence of internet of things in our day to day lives, and emergence of new technologies like fog and edge computing gaining traction among the research and industrial community, understanding of distributed systems algorithms becomes even more crucial. Practical implementation of these algorithms and a system for prototyping and testing plays a key role in the holistic understanding of distributed systems. Today, a lack of learning tools which provide an end-toend framework for learning, designing and testing of distributed systems algorithms on real and/or emulated environments, poses significant impediments to the learning of these algorithms. To tackle these concerns, we have developed a model-driven learning environment called Playground of Algorithms for Distributed Systems (PADS). The PADS design is based on feature modeling and model driven engineering. Using PADS’ domain-specific modelling language, a learner can specify distributed system network topology, different actors in the distributed system algorithm, and algorithmic constraints using our model driven web based tool. The web based tool can then be used to generate the associated implementation glue code, and deploy and run the experiments on real/emulated platforms to enable a study of the algorithm and its behavior. In this tutorial, we shall cover the fundamentals of domain specific modeling using the WebGME web-based MDE tool, writing model interpreters and code generation. Using an example publish/subscribe distributed system, we shall introduce how to use PADS in the construction of distributed systems algorithms and its deployment in a Mininet emulation framework which showcases ease of use and rapid deployment benefits of using PADS.


T5: Building high-quality ATL transformations with AnATLyzer

Speaker: Jesús Sánchez Cuadrado

Notes and supporting materials

Length: Half-day tutorial

Summary

The correctness of model transformations is key to obtain reliable MDE solutions. However, current transformation tools provide limited support to statically detect and correct errors. This tutorial will present AnATLyzer, an static analysis tool for ATL intended to detect and fix non-trivial errors in ATL model transformations. AnATLyzer has been developed during the last three years and has reached a mature enough state, being able to analyse the whole ATL Zoo discovering more than 4000 problems in 100 transformations, many of them severe errors which make the transformations crash for certain input models.
The aim of this tutorial is to show how an static analysis tool like AnATLyzer can help transformation developers to increase the quality of their transformations. The tutorial will provide a brief introduction to ATL, followed by an introduction to AnATLyzer, in which its features will be presented by means of an example. Then, the attendants will be given a hands-on exercise to develop a model transformation from scratch using AnATLyzer. Finally, customization possibilities for AnATLyzer will be presented.

Biography

Jesús Sánchez Cuadrado is a research associate at the Languages and Systems Department of the Universidad de Murcia. He is also member of the Miso group at Universidad Autónoma in Madrid. His research is focused on Model Driven Engineering (MDE) topics, notably model transformation languages, meta-modelling and domain specific languages. On these topics, he has published articles in top journals and peer-reviewed conferences, and developed several tools including RubyTL, Bentō and AnATLyzer.


T6: Embedded and reactive systems development with UML-RT and Papyrus-RT

Speakers: Nicolas Hili, Ernesto Posse and Juergen Dingel

Notes and supporting materials

Length: Half-day tutorial

Summary

This tutorial discusses the Model-Driven Engineering (MDE) of real-time embedded (RTE) systems with soft real-time constraints using UML for Real-Time (UML-RT) and Papyrus-RT. UML-RT is a profile of UML specifically designed for RTE systems. It has a long, successful track record of application and tool support via, e.g., IBM Rational RoseRT, IBM RSA-RTE, and now Papyrus-RT. Papyrus-RT is an Eclipse-based, open-source modelling development environment for UML-RT systems. It allows the generation of complete, executable code from models and advances the state-of-art via support for model representation with mixed graphical/textual notations and an extensible code generator.

The tutorial introduces the central modelling concepts of UML-RT and features of Papyrus-RT. It also presents some advanced features of Papyrus-RT such as import capabilities of legacy models, mixed graphical/textual modelling, code generation, and code-assist. The material will be illustrated with a sequence of examples that will also be used for short, ’handson’ exercises to give attendees some practical experience with Papyrus-RT. At the end, a larger example, such as a model of a Public Branch Exchange (PBX), will be discussed.

Biography

Nicolas Hili graduated in System Engineering from the École Nationale Suprieure de l'Électronique et de ses Applications in 2011 in Paris, and obtained a Ph.D. degree in Embedded Systems and Computer Science from CEA LETI and Grenoble Alpes University in 2014. He was then postdoctoral fellow in the Engineering of Human-Computer Interaction team in the Computer Science Laboratory of Grenoble. Since 2016, he is employed as a postdoctoral fellow in the Modeling and Analysis in Software Engineering group at Queen’s School of Computing in Canada.

Ernesto Posse is a Software Developer at Zeligsoft working on code generation and hybrid textual-graphical modelling of Papyrus-RT. Previously he was a postdoctoral fellow in the Modeling and Analysis in Software Engineering Group (MASE) at the School of Computing at Queen’s University in Kingston, Ontario, Canada. He received M.Sc. and PhD degrees in Computer Science from McGill University in 2001 and 2009. Dr. Posse’s interests include formal methods in software engineering with emphasis on real-time embedded systems, concurrency theory, formal semantics as well as programming and modelling language tool development.

Juergen Dingel is Professor in the School of Computing at Queen’s University. He received a Ph.D. in Computer Science in 1999 from Carnegie Mellon University. He was PC Co-chair of the FMOODS-FORTE and MODELS conferences in 2011 and 2014, respectively. He is on the editorial board of the Springer journal Software and Systems Modeling (SoSyM), and currently serves as chair of the MODELS Steering Committee. Juergen’s research interests include software modelling, model-driven engineering, analysis of software artifacts, and software quality. He has collaborated with a range of industrial partners on these topics including IBM, General Motors, and Ericsson.


T7: Software languages: Syntax, semantics, and metaprogramming CANCELLED

Speaker: Ralf Lämmel


T8: Ontological models of software technologies CANCELLED

Speaker: Ralf Lämmel


T9: Model Synchronization with the Active Operations Framework

Speakers: Frédéric Jouault and Olivier Beaudoux

Length: Half-day tutorial

Summary

Modern model transformation applications now require target models to be updated when source models change, and vice versa. This model synchronization problem necessitates specific approaches and tools to deal with incremental, and bidirectional change propagation. Active operations enable high-level functional specification of OCL-like model queries that can be executed incrementally and bidirectionally. The Active Operations Framework (AOF) is an open-source Java implementation of this approach. It is adaptable to any modeling framework, and comes with built-in support for EMF (Eclipse Modeling Framework).

Attendees will progressively learn about the challenges of model synchronization, and how to develop efficient model synchronizers with AOF. The tutorial will start with the simpler problem of unidirectional synchronization, from principles to application on a running example in Java. Then, performance and scalability issues will be presented, along with techniques to address them. Bidirectional synchronization theory and practice will conclude.

Biography

Frédéric Jouault is a research associate at ESEO, France. He received his PhD from the University of Nantes before doing a postdoc at the University of Alabama at Birmingham. His research interests involve model engineering, model transformation, model synchronization, as well as their application to Domain-Specific Languages (DSLs) and model-based legacy reverse engineering. Frédéric created ATL, a DSL for model-to-model transformation. He is now leading the development of ATL (language and toolkit) on Eclipse.org, and is in charge of the Eclipse modeling MMT project as well as a member of the modeling PMC.