MoDELS / UML 2005



Travel information



Doctoral symposium

Educators symposium

Keynote speakers


Technical papers





Conference calls

Paper submission

Important dates

Previous editions



Tutorial Title Schedule Summary
T1 Model Driven Development with Eclipse Modeling Framework (EMF) Sun, Oct 2
T2 Language-Driven Development WITHDRAWN Sun, Oct 2
T3 Designing Software Product Lines with UML 2.0: From Use Cases to Pattern-Based Software Architectures Mon, Oct 3
T4 Modeling and Analysis of Aspectual Requirements Mon, Oct 3
T5 An Overview of UML 2.0 Tue, Oct 4
T6 Software Factories Tue, Oct 4

T1: Model Driven Development with Eclipse Modeling Framework (EMF)
Sunday, October 2, 2005
Vladimir Bacvanski, InferData, Austin
Petter Graf, InferData, Austin, USA

This tutorial teaches the participants how to use and extend the Eclipse Modeling Framework (EMF). Using a case study and numerous examples, the participants master the EMF framework as a generative tool for model driven development. The tutorial explores all aspects of EMF development, from creation of models for EMF, use of generators, Java Emitter Templates, concluding with an overview of model transformation technologies for EMF. The conceptual but also non-trivial practical skills gained in this tutorial will enable participants to effectively start developing their model driven applications. The skills apply both to practitioners who need to develop Eclipse tools, as well to researchers who will use Eclipse and EMF as a foundation for their experiments.


T2: Language-Driven Development WITHDRAWN
Sunday, October 2, 2005
Tony Clark, Xactium Limited
Andy Evans, Xactium Limited

Languages provide a unifying and ubiquitous abstraction for systems development. Just as Booch argued that Object-Orientation is based on the things we learn in Kindergarten, we argue that Languages are a more intuitive and powerful representation than Objects. We propose that the Language abstraction is set to become the next major paradigm shift in software development.

In this tutorial we describe how developers can gain siginificant productvity increases in the way they build systems by identifying, capturing and deploying tools that support the right languages for their business domain.

The ideas presented in this tutorial are based on many years experience of contributing to language standards within the Object Management Group, and experience of applying the ideas to large scale industrial projects.


T3: Designing Software Product Lines with UML 2.0: From Use Cases to Pattern-Based Software Architectures
Monday, October 3, 2005
Hassan Gomaa, George Mason University, USA

This tutorial addresses how to develop object-oriented requirements, analysis, and design models for software product lines (SPL) using the UML 2.0 notation. The emphasis throughout is on modeling commonality and variability among the family members of the product line. During requirements modeling, kernel, optional, and alternative use cases define the software functional requirements of the SPL. The feature model is developed to capture common and variable product line requirements, and how they relate to the use case model. During analysis, static models define kernel, optional, and variant classes and their relationships. In dynamic modeling, statecharts define the state dependent aspects of the SPL and interaction models describe the dynamic interaction between the objects that participate in each kernel, optional, and alternative use case. The tutorial then covers how to develop the component-based SPL architecture using the new UML 2.0 notation for structured classes and composite structure diagrams, which allows components, ports, and connectors to be depicted. The SPL architecture is built using software architectural structure and communication patterns. The tutorial is based on the speakers latest book, Designing Software Product Lines with UML: From Use Cases to Pattern-Based Software Architectures", Addison Wesley, 2005.


T4: Modeling and Analysis of Aspectual Requirements
Monday, October 3, 2005
Awais Rashid, Lancaster University, UK
Ana Moreira, Universidade Nova de Lisboa, Portugal

Aspect-oriented software development (AOSD) techniques have shown promise in dealing with broadly-scoped, crosscutting properties, i.e., the aspects. However, to date, most techniques have focused on design modelling of aspects and aspect-oriented programming technologies. Aspects, however, exist from the very early stages of problem analysis and hence, should be addressed during requirements engineering. This tutorial highlights the need to identify, model and analyse aspects during requirements engineering. It shows, with the help of practical examples, how to extend existing requirements models, e.g., use-case or viewpoint based models, with abstraction and composition support for aspects. The tutorial also describes how to analyse such models as well as the key role they play in a model-driven development (MDD) lifecycle. At the end of the tutorial, participants will have a clear understanding of:

  • the importance of aspects in the software development process;
  • the role of aspect-oriented concepts in requirements modelling and analysis;
  • techniques, tools and good practice guidelines for identifying, modelling, composing and analysing crosscutting properties at the requirements-level;
  • how aspect-oriented requirements models and their analysis drive development of solution domain models in a model-driven development approach.


T5: An Overview of UML 2.0
Tuesday, October 4, 2005
Bran Selic, IBM Software Group - Rational Software, Canada

The first major revision of the UML standard, UML 2.0, has recently been adopted by the Object Management Group. This version of the language was strongly influenced by the recent maturation of model-driven development (MDD) methods and technologies. The tutorial describes the major new features and capabilities of UML 2.0 with a full explanation of the rationale and design philosophy for each. The presenter is currently chairing the OMG team responsible for maintaining the standard.


T6: Software Factories: Using Domain Specific Languages, Patterns, Frameworks and Tools to Assemble Applications
Tuesday, October 4, 2005
Steve Cook, Microsoft Corporation, Cambridge, UK

Increasingly complex and rapidly changing requirements and technologies are making application development increasingly difficult. This tutorial explores this phenomenon, and presents the Software Factory pattern for building languages, patterns, frameworks and tools for specific domains, such as user interface construction or database design. We discuss the forces acting towards increasing industrialization of software development through delivery of knowledge and automation in context. We explore innovations, such as software product lines and model driven development, which reduce the cost of implementing the pattern, making it cost effective for narrower and more specialized domains, such as B2C application development and business process automation. We introduce the concept of the software schema, a network of viewpoints describing artifacts comprising the members of a family of software products, and we show how mappings between these viewpoints can be used to provide constraints supporting model transformation and self organizing processes. Examples and demonstrations are used throughout to illustrate the concepts.


Last updated: July 4, 2005