SDL 2011
15th International Conference on
System Design Languages

July 5th - 7th, 2011, Toulouse, France

Tutorials of SDL 2011


Juha-Pekka Tolvanen, MetaCase

Title: How to implement Domain-Specific Modeling Languages: Hands-on

Duration: 2h

Abstract: Domain-Specific Modeling (DSM) offers a language-based approach to raise the level of abstraction in order to speed up development work. With DSM, the models are made up of elements representing concepts that are part of the problem domain rather than its implementation concepts. In many cases final products can be automatically generated from these high-level specifications.
   This tutorial will teach participants about Domain-Specific Modeling and code generation, where they can best be used (and where not), and how to apply them effectively to improve your software development. We start by introducing DSM and looking at how it differs from modeling languages like UML that focus more on the level of the code world. This is followed by real-life examples of DSM from various fields of software development. Industry experience reports and case data from companies will be used throughout the tutorial.
   The main part of the tutorial addresses the guidelines for implementing DSM: how to choose where to use it, how to identify the domain concepts and formalize them into a metamodel, different ways of building code generation, and how to integrate generated code with legacy or manually-written code. The language definition process reveals the characteristics of modeling languages that enable truly model-driven engineering in which working code is generated from models: a) the scope of the language is narrowed down to a particular domain; b) modeling language is based on the concepts of problem domain rather than solution domain (code); c) language minimizes the effort needed to create, update and check the models, and d) language supports communication with users and customers.



Maxime Perrotin, European Space Agency

Title: TASTE A real-time software engineering tool-chain

Duration: 1h

Abstract: TASTE stands for The ASSERT Set of Tools for Engineering, in reference to the European FP6 program where it finds its roots. It consists in an open-source tool-chain dedicated to the development of embedded, real-time systems. TASTE addresses the modelling and deployment of distributed systems containing heterogeneous software and hardware components; it focuses on the automation of tedious, error-prone tasks that usually make complex systems difficult to integrate and validate. The philosophy is to let the user only focus on his functional code, letting him write it in the language of his choice, may it be a modelling language or a low-level implementation language. TASTE tools are responsible for putting everything together, including drivers and communication means and ensuring that the execution at runtime is compliant with the specification of the system real-time constraints. To achieve this, TASTE relies on two simple modelling languages that give enough power to capture all the essential elements of a system that are required to generate the tasks, threads, and glue around the user functional code. These two languages are AADL and ASN.1. Once a set of carefully selected system properties has been captured using these two languages, the core of the system’s subcomponents can be developed using C, Ada, SDL (with RTDS or ObjectGEODE), SCADE, Simulink, VHDL, or any combination of these languages. Without any major overhead in the code, TASTE will produce binaries that can be directly executed on several supported targets including native Linux, Real-time Linux (Xenomai), Leon2/RTEMS and Leon2/ORK.

Last update: Jul 4th, 2011. Copyright © IRIT, Toulouse.