Tutorials
News
ACM/IEEE 17th International Conference on Model Driven
Engineering Languages and Systems
The following tutorials will be presented during Monday (September 29, 2014) and Tuesday (Septem-
ber 30, 2014) of MODELS 2014.
All the tutorials will be half - day (3 hours), with the exception of Tutorial 7 which will be full day (6
hours).
T1 - AADLv2, a Domain Specific Language for the Modeling, the Analysis and the
Generation of Real-Time Embedded Systems
Sunday September 28, 2014 (9:00 -12:30)
Location: Green Cube - Sala Crea (4th Floor)
Chairs: Frank Singhoff and JérômeHugues
Summary: The Architecture Analysis and Design Language (AADL) is an SAE International Standard
dedicated to the precise modeling of complex real - time embedded systems, covering both hardware
and software concerns. Its definition relies on a precise set of concepts inherited from industry and
academics best practices: clear separation of concerns among layers, rich set of properties to docu-
ment system metrics and support for many kind of analysis: scheduling, safety and reliability, perfor-
mance, but also code generation.
In this tutorial, we provide an overview of AADLv2 and illustrate how several analyses can be combi-
ned on an illustrative example: a radar platform. In this tutorial, we also present Model-based engi-
neering process allowed by AADL to both verify and implement automatically areal-time embedded
system.
The tutorial will be composed of four parts. Part 1 will be an introduction to AADLv2 core. In this part
we will present the syntax and semantics of the AADL. Part 2 will introduce the radar case study to
illustrate the use of AADL.
Part 3 will address scheduling analysis. We will introduce real-time scheduling theory and who it can
be used to access schedulability of AADL models.
Finally, Part 4 will be dedicated to code generation. We will present how to generate code from an
AADL model and how it can be run.
Back to overview
T2 - Language Modeling Principles
Monday September 29, 2014 (9:00 -12:30)
Location: Green Cube - Sala Crea (4th Floor)
Chair: Ralf Laemmel
Summary: The tutorial presents language design and language definition as a rich modeling problem.
There are models of syntax, semantics, wellness, type systems, and translation. The interplay bet-
ween these models is explained by yet an additional form of models, i.e., megamodels. Also, we use
an ontology to organize all modeling concepts. The tutorial fosters cross-pollination between the tech-
nological spaces with interests in language modeling, e.g., modelware and grammarware. The tutorial
walks through a catalogue of language modeling problems and recovers fundamental notions to provi-
de simple, technology-neutral explanations of these problems. Lightweight semi-formal notation, enco-
ded in Prolog, is used to capture the involved notions, thereby providing an integrated and executable
model of language modeling. This material can be used in courses on software language engineering,
programming language theory, programming paradigms, and compiler construction.
Back to overview
T3 - Applying Model Driven Engineering Technologies in the Creation of Domain Specific
Modeling Languages
Monday September 29, 2014 (14:00 -18:00)
Location: Green Cube - Sala Crea (4th Floor)
Chairs: Bruce Trask and Angel Roman
Summary: Model Driven Engineering (MDE) brings together multiple technologies and critical innova-
tions and formalizes them into the next wave of software development methods. This tutorial will cover
the basic patterns, principles and practices of MDE. The three main MDE categories include the deve-
lopment of Domain Specific Languages (DSL), Domain Specific Editors (and Views), and Domain
Specific Transformation Engines or Generators. Expressed in terms of language development
technology, these mirror the development of the Abstract Syntax, Concrete Syntax and Semantics of a
new Domain Specific Language. This tutorial will cover the basic effective patterns, principles and
practices for developing these MDE software artifacts. The tutorial will show how to apply these con-
cepts as effective means with which to both raise levels of abstraction and domain specificity and thus
increase power and value of tools and languages that allow developers to tackle the complexities of
today’s software systems. It will also show how to effectively leverage abstraction without sacrificing
the ability to robustly and precisely refine these abstractions to solve complex real world problems. To
show these patterns and principles in action, this tutorial will cover the details of how to leverage MDE
Language Workbenches and frameworks in support of robust software development.
Back to overview
T4 - Metamodeling, Model Processing and Simulation – Putting the Puzzle Pieces Together
Based on Industrial Experiences
Sunday September 28, 2014 (14:00 -18:00)
Location: Green Cube - Sala Crea (4th Floor)
Chairs: Gergely Mezei, Laszlo Lengyel, Tamás Mészáros and Tamás Vajk
Summary: Our team started researching metamodeling, domain-specific modeling and model trans-
formation 12 years ago. We have built a modeling environment supporting several fields in software
modeling area. Our environment targets both to implement theoretical results and also to be used in
industrial projects.
The tutorial is based on one of our recent industrial projects, where we supported multiple and inter-
operable languages (both visual and textual), code generation to multiple target languages, model
validation, simulation and domain-specific design patterns as well. The tutorial is presented as a par-
tially interactive session. We provide both a simplified, but illustrative specification of the domain and a
skeleton of the solution. Participants build the modeling workbench by following our guided presenta-
tion. As the result, they obtain a complete solution containing a visual language with customized
appearance and behavior, a textual language, model validation, simulation, code generation (to C and
Java languages) and design pattern support. During the tutorial, we share experience-based tips and
tricks.
In order to join the interactive part of the tutorial and use our application, Microsoft Windows operating
system and .NET Framework 4.5 are required.
Back to overview
T5 - How to Megamodel Diagrammatically: Theory and Practices
Monday September 29, 2014 (14:00 -18:00)
Location: Green Cube - Sala Contempla (4th Floor)
Chairs: Zinovy Diskin, Sahar Kokaly, Tom Maibaum and Richard Paige
Summary: Model Driven Engineering is reliant on the provision of intelligent model management
(MMt) tools. Design of MMt tools is a challenging task: it needs to address the diversity of models, re-
lationships between them, and operations over them. It would be reasonable to apply the MDE idea to
this task too, i.e., to begin with building a proper model of the domain|modeling itself. Models of sys-
tems of inter-related models and operations over them are often called megamodels, and the respec-
tive modeling activity is megamodeling. Megamodeling brings the modeler into a world that is quite
diferent from the more habitual system modeling one. It is a world of arrow diagrams, diagram ope-
rations and predicates, through which diagrams with complex properties are encoded by arrows, from
which new diagrams can be built, and so on. The goal of this tutorial is to help the audience to enter
this world, acquire the basic ideas, and learn several design patterns that can be practically used for
megamodeling. We demonstrate how ideas and tools from category theory provide the “right" level of
abstraction, not too abstract to be content free and not too concrete to overwhelm us with details, to
efectively perform megamodeling.
Back to overview
T6 - Model-Driven Requirements Engineering
Tuesday September 30, 2014 (14:00 -18:00)
Location: Green Cube - Sala Contempla (4th Floor)
Chairs: João Araújo, Ana Moreira, Gunter Mussbacher and Pablo Sanchez
Summary: Model-Driven Development (MDD) relies on the use of models for describing software
systems. In MDD, models are first-class citizens, and a software system is obtained through the
definition of different models at different abstraction layers. Models of a certain abstraction layer are
derived from models of the upper abstraction layer by means of automatic model transformations.
MDD has emerged as a technology that is attracting a wide number of people from industry and
academy. This success is mainly due to the capabilities of model-driven techniques to automate
repetitive tasks of the software development process, resulting in increased productivity. Furthermore,
more reliable software can be produced once model transformations have been correctly developed
and implemented. In the first part of this tutorial, we give an overview of key modeling techniques
useful for Requirements Engineering (RE) activities. The second part then shows how to incorporate
model-driven techniques at the RE level and identifies their strengths and weaknesses. We discuss
how RE can benefit from model-driven techniques to, for example, ensure consistency among
different kinds of requirements models, aid analysis, or automatically construct initial system or
architectural models from requirements.
Back to overview
T7 - How to run a Multi-Customer Software Engineering Capstone Course
Sunday September 28, 2014 (9:00 -18:00)
Location: Green Cube - Sala Contempla (4th Floor)
Chairs: Bernd Brügge, Stephan Krusche, Lukas Alperowitz
Summary: The organization of a multi-customer software engineering project course with real
customers from industry is a challenge for instructors. Traditionally, many instructors prefer projects
with simple problem statements and friendly customers recruited from the neighbor office to minimize
the effort when teaching the course. However, toy projects do not motivate students: their learning
experience is generally low and they become easily bored when creative aspects are not included. We
address the creative aspects of software development by incorporating informal modeling, prototyping
and the creation of trailers. To make sure that multiple increments of the systems are delivered to the
customer, we teach agile methods and continuous delivery. Agile methods have become mainstream
in industry, but many instructors are still struggling to incorporate them into their curriculum.
In this tutorial we present the preparation, the setup and the execution of a single-semester software
engineering project course with real customers. We introduce the key concepts that make our courses
successful and exciting for students, instructors, and the participating industry partners. In interactive
hands-on sessions we explain the rationale behind our course infrastructure and how we quickly setup
a project-based organization with flat staffing. We show how we incorporate techniques such as video-
based requirements engineering as well as the workflow we use for continuous delivery. To illustrate
our concepts, we use examples from more than 50 projects we have taught since 2008 involving over
400 students and 30 different industry partners.
Back to overview
T8. Open Modelica
Tuesday September 30, 2014 (9:00 -12:30)
Location: Green Cube - Sala Contempla (4th Floor)
Chairs: Peter Fritzson and Hans Vangeluwe
Summary: Object-Oriented modeling is a fast-growing area of modeling and simulation that provides
a structured, computer-supported way of doing mathematical and equation-based modeling. Modelica
is today the most promising modeling and simulation language in that it effectively unifies and
generalizes previous object oriented modeling languages and provides a sound basis for the basic
concepts.
The Modelica modeling language and technology is being warmly received by the world community in
modeling and simulation with major applications in virtual prototyping. It is bringing about a revolution
in this area, based on its ease of use, visual design of models with combination of lego-like predefined
model building blocks, its ability to define model libraries with reusable components, its support for
modeling and simulation of complex applications involving parts from several application domains, and
many more useful facilities. To draw an analogy, Modelica is currently in a similar phase as Java early
on, before the language became well known, but for virtual prototyping instead of Internet progra-
mming.
The tutorial presents an object-oriented component-based approach to computer supported
mathematical modeling and simulation through the powerful Modelica language and its associated
technology. Modelica can be viewed as an almost universal approach to high level computational
modeling and simulation, by being able to represent a range of application areas and providing
general notation as well as powerful abstractions and efficient implementations. The tutorial gives an
introduction to the Modelica language to people who are familiar with basic programming concepts. It
gives a basic introduction to the concepts of modeling and simulation, as well as the basics of object-
oriented component-based modeling for the novice, and an overview of modeling and simulation in a
number of application areas.
The tutorial has several goals:
•
Being easily accessible for people who do not previously have a background in modeling,
simulation.
•
Introducing the concepts of physical modeling, object-oriented modeling and component-based
modeling and simulation.
•
Giving an introduction to the Modelica language.
•
Demonstrating modeling examples from several application areas.
Back to overview
Sunday September 28, 2014
|
T1 |
AADLv2, a Domain Specific Language for the Modeling, the Analysis and the Generation of Real-Time Embedded Systems (morning) |
T4 |
Metamodeling, Model Processing and Simulation – Putting the Puzzle Pieces Together Based on Industrial Experiences (afternoon) |
T7 |
How to run a Multi-Customer Software Engineering Capstone Course (full day) |
Monday September 29, 2014
|
T2 |
Language Modeling Principles (morning) |
T3 |
Applying Model Driven Engineering Technologies in the Creation of Domain Specific Modeling Languages (afternoon) |
T5 |
How to megamodel diagrammatically: theory and practices (afternoon) |
Tuesday September 30, 2014
|
T6 |
Model-Driven Requirements Engineering (afternoon) |
T8 |
Open Modelica (morning) |