|
Go back to
Tutorials Home |
T9: Model-Driven Engineering with Contracts,
Patterns, and Aspects |
Presenters: -
Jean-Marc Jezequel, IRISA
Date: Tuesday, March
18, afternoon (half day)
Level:
Intermediate
Attendees should have some basic
understanding of the UML and of object-oriented analysis and
design.
Abstract:
The ``non-functional''
aspects of a software application --- such as persistence,
fault tolerance, and quality of service --- should be separate
and untangled from the ``functional'' aspects of that
application. Furthermore, the specification of a
non-functional aspect should be separate from any
(platform-specific) implementation of that aspect. Languages
and tools are needed to map from the design or model of an
aspect to its ultimate implementation, for example, atop
middleware such as .NET or others.
The Unified Modeling
Language (UML) gives the software designer a rich set of views
on a model, and also provides many ways for the designer to
add non-functional annotations to a model. In this tutorial,
we will show how to organize models around the central notions
of (1) quality of service contracts for specifying
non-functional aspects and (2) aspects for describing how
those contracts can be implemented. Based on our experience in
previous projects, we will show how to model contracts in UML
with a small set of stereotypes, and how to represent aspects
and applications of design patterns at the meta-model level
using parameterized collaborations equipped with
transformation rules expressed in an extension of
OCL2.
The second part of this tutorial will present our
transformation-based approach, implemented in our UMLAUT
framework and tool, to build design-level aspect weavers. An
aspect weaver, based on a meta-level interpreter, reads a
Platform Independent Model (written in UML), processes the
various aspect applications as specified by the designers, and
then outputs a new Platform Specific Model (also in UML) that
can serve as the basis for application code generation.
Tutorial attendees will learn how to use UMLAUT for managing
aspects in their own model-centric software development
projects.
Biographies:
Prof. Jean-Marc
Jezequel received an engineering degree in Telecommunications
from the ENSTB in 1986, and a Ph.D. degree in Computer Science
from the University of Rennes, France, in 1989. He first
worked in the Telecommunications industry (at Transpac) on an
Intelligent Network project before joining the CNRS (Centre
National de la Recherche Scientifique) in 1991 as a
researcher. Since October 2000, Jean-Marc Jezequel has been a
professor at the University of Rennes. He is leading an INRIA
research team called Triskell (http://www.irisa.fr/triskell/),
working in the domain of object-oriented software engineering
for distributed computing systems and telecommunications. In
the general context of building and assembling reliable and
efficient components based on Aspect-Oriented Design ideas, he
is working on UMLAUT, a set of tools allowing the formal
manipulation of UML models. He is the author of two books
published by Addison-Wesley and more than 60 publications in
international journals and conferences.
|
Contact |
For additional information,
clarifications, questions, or special requirements, please
contact the AOSD 2003 Tutorial Chair: Eric Eide
(tutorials@aosd.net). |
| |
|