Tutorials
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
Presenters:
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.
Top
T2: Language-Driven Development
WITHDRAWN
Sunday, October 2, 2005
Presenters:
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.
Top
T3: Designing Software Product Lines with UML 2.0: From Use Cases to Pattern-Based Software Architectures
Monday, October 3, 2005
Presenter:
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.
Top
T4: Modeling and Analysis of Aspectual Requirements
Monday, October 3, 2005
Presenters:
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.
Top
T5: An Overview of UML 2.0
Tuesday, October 4, 2005
Presenter:
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.
Top
T6: Software Factories: Using Domain Specific Languages, Patterns, Frameworks and Tools to Assemble Applications
Tuesday, October 4, 2005
Presenter:
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.
Top
|