Tutorials

Home Calls Committees Program Co-located Events Registration Local Information Publicity / Contact

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)