Tutorials

Tutorial Title Schedule Abstract
T1 Effective Model Driven Engineering Patterns, Principles, and Practices in Action Monday morning, Oct 1
T2 Model-Driven Engineering for QoS Provisioning in Distributed Real-Time and Embedded Systems Monday afternoon, Oct 1
T3 From Rapid Functional Prototypes to Robust Implementations to Product-Lines: A Model-Driven Software Factory Approach Tuesday morning, Oct 2
T4 Putting MDA to Work on Eclipse with the AMMA Tool Suite Tuesday afternoon, Oct 2

The audience for tutorials will comprise industrial and academic researchers, developers, and practitioners, not necessarily familiar with or already working with models. As a result, tutorials both on basic and advanced topics related to modeling are available. Tutorials will last for half a day and will include presentations as well as interactive discussions and problem solving sessions.

Tutorials Selection Committee:
Jean Bèzivin, INRIA and University of Nantes, France
Jeff Gray, University of Alabama at Birmingham, USA (chair)
Ivan Kurtev, Twente University, Netherlands
Alfonso Pierantonio, University of L'Aquila, Italy
Gianna Reggio, Universita' di Genova, Italy
Antonio Vallecillo, University of Malaga, Spain

The Tutorial Chair can be contacted at gray[at]cis.uab.edu


T1: Effective Model Driven Engineering Patterns, Principles, and Practices in Action

Presenters:
Bruce Trask, MDE Systems
Angel Roman, MDE Systems

Schedule: Monday morning, October 1, 2007

Model Driven Engineering (MDE) brings together multiple technologies and critical innovations 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 development of Domain Specific Languages, Domain Specific Editors (including Domain Specific Visual Languages) 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 concepts 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 real world problems. Additionally, this tutorial will cover the exact details of how to leverage the Eclipse Modeling Framework (EMF), the Eclipse Graphical Editor Framework (GEF), and the Eclipse Graphical Modeling Framework (GMF), to support the development of these three areas. These three frameworks provide a unique and integrated platform in which to learn the basics of Model Driven Engineering in full application not just in theory. Conversely, Model Driven Engineering provides an effective context in which to learn how to apply the power of these integrated Eclipse Frameworks developed to support MDE.


T2: Model-Driven Engineering for QoS Provisioning in Distributed Real-Time and Embedded Systems

Presenter:
Aniruddha Gokhale, Vanderbilt University

Schedule: Monday afternoon, October 1, 2007

Distributed real-time and embedded (DRE) systems require multiple, simultaneous quality of service (QoS) properties, such as predictability, reliability and security. Assuring QoS properties for DRE systems is a hard problem due to the conflicting demands imposed by each dimension of QoS. On one hand DRE domain experts face substantial challenges in defining the desired QoS properties for different parts of their DRE systems since they must first understand the impact of individual QoS dimensions on each other at a conceptual level. On the other hand DRE system integrators face substantial challenges provisioning QoS properties on the platforms that host the DRE systems due to a lack of proper understanding of how choices of platform configurations they make will impact the overall QoS delivered to the system. Model-driven engineering (MDE) plays a vital role in addressing these challenges. Domain-specific modeling languages (DSMLs) associated with MDE tools provide intuitive abstractions of QoS properties to DRE domain experts, who can use them to express the QoS properties they desire for their systems. Analysis tools associated with the MDE frameworks can provide vital feedback to the domain experts on the severity of conflicts between the QoS dimensions. For the systems integrators, the same MDE framework can provide automated mechanisms to map the QoS properties defined in the problem space to platform configurations in the solution space. This tutorial will illustrate these features of MDE using the CoSMIC MDE framework. A number of case studies and short demonstrations will be used to illustrate the challenges and the solutions provided by MDE tools.


T3: From Rapid Functional Prototypes to Robust Implementations to Product-Lines: A Model-Driven Software Factory Approach

Presenter:
Vinay Kulkarni, Tata Research

Schedule: Tuesday morning, October 2, 2007

We describe an approach wherein one begins by capturing the functional specifications in the form of models and domain specific languages. An interpretive approach helps quickly build a functional prototype from these specifications, and helps derive correct functional specifications by iterating until all stakeholder concerns are satisfied. An architectural prototyping exercise is carried out in parallel to arrive at a solution architecture that meets the non-functional requirements. The desired solution architecture is then 'codified' ininto a set of models and model transformation specifications leading to a set of tools. We define a purpose-specific software factory instance wherein these tools transform the functional specifications in successive stages of refinement culminating in a complete implementation that conforms to the desired solution architecture. We share our experience of using this approach, over the last twelve years, to deliver several large enterprise applications on a variety of technology platforms and implementation architectures


T4: Putting MDA to Work on Eclipse with the AMMA Tool Suite

Presenters:
Mikaël Barbero, University of Nantes
Frédéric Jouault, INRIA and University of Alabama at Birmingham

Schedule: Tuesday afternoon, October 2, 2007

As part of the OMG process for issuing common recommendations, a Request For Information (RFI) has recently been issued on "MDA Tool Capabilities". The objective is to find what capabilities (e.g., functionalities, methodology definitions, and process guidance) of MDA tools the MDA user community currently use for their projects, and which new capabilities it would like to have. As part of the Eclipse foundation process, a new project called modeling (EMP, for Eclipse Modeling Project) has recently been created to foster the evolution and promotion of model-based development technologies within the Eclipse community. It does so by providing a unified set of modeling frameworks, tools, and standards implementations. This tutorial will investigate the multiple relations between the complementary OMG and Eclipse activities. There are modeling specifications on one hand, and open source tool solutions that may be deployed to implement the MDA approach on the other hand, which interact in many ways. Model-based and DSL-based practical solutions to software production and maintenance will be presented. The various aspects of using modeling solutions to implement forward and reverse engineering will be particularly discussed. The tutorial will concretely show how a set of Eclipse open source components (namely: KM3, ATL, AM3, AMW, TCS, MoDisco) can be used to find new solutions to difficult problems. These components are part of a modeling platform named AMMA (ATLAS Model Management Architecture). The tutorial will conclude by revisiting the application scope of model engineering, seven years after the initial proposal of the MDA approach by OMG.