|
Chief Editor: Rafael Fernández Calvo, Madrid (Spain), <rfcalvo AT ati DOT es> Associate Editors: François Louis Nicolet, Zürich (Switzerland), <nicolet AT acm DOT org>, and Roberto Carniel, Udine (Italy), <rcarniel AT dgt DOT uniud DOT it> (E-mail addresses written with anti-spamming disguise) Acrobat Reader is required to display PDF files |
|
| Monograph UML and Model Engineering |
Mosaic
|
Presentation
UML: The Standard
Object Modelling Language
[HTML]
[PDF: 3 pages, 162 KB]
(includes a list of Useful
References for those interested in knowing more about matters
related
to UML, Unified Modeling Language.)
Jesús García-Molina, Ana Moreira, and Gustavo Rossi -
Guest Editors
Abstract: The guest editors introduce the monograph, that includes a
series of papers that reflect the state of the art of UML (Unified
Modeling Language). These papers illustrate different aspects of UML,
ranging from use cases to UML formalization, meta-modelling, profile
definition, model quality, model engineering and MDA (Model Driven
Architecture.) As usual, a list of
Useful References is also included for those interested in knowing more
about this subject.
The
Object Constraint Language for UML 2.0 – Overview and Assessment [PDF:
4 pages, 179 KB]
Heinrich
Hussmann and Steffen Zschaler
Abstract:
In parallel to the release of UML 2.0 (Unified Modeling Language), also
a new version of the Object Constraint Language (OCL) has been
published. OCL is a language for precise textual description of
constraints which apply to the graphical UML models. The new OCL 2.0
standard goes far beyond the previous language, not so much in features
but mainly in the approach chosen for laying much more precise and
formal foundations for the language. This paper, authored by members of
the OCL 2.0 team, gives an overview of the new aspects of OCL 2.0 and
also provides a critical discussion of a few selected aspects of the
language.
On
the Nature of Use Case-Actor Relationships [PDF: 7 pages, 193 KB]
Gonzalo
Génova-Fuster and Juan Llorens-Morillo
Abstract: Use case
diagrams are one of the key concepts in the Unified Modeling Language
(UML), but their semantics and notation have some gaps that lead to
frequent misunderstandings among practitioners, even about very basic
questions. In this paper we address some issues regarding the
relationships in which use cases and actors may take part, presently
defined in UML as associations. The multiplicity of these associations,
the ambiguities of a use case being associated with several actors and,
finally, the very nature of these relationships lead us to propose a
different approach from the currently accepted one.
Using
Refactoring and Unification Rules to Assist Framework Evolution
[PDF:
7 pages, 215 KB]
Mariela I.
Cortés, Marcus Fontoura, and Carlos J.P. de Lucena
Abstract: Although
object-oriented software development has experienced the benefits of
using frameworks, a thorough understanding of how to change them to
meet evolving requirement needs is still the object of research.
Therefore framework development is very expensive, not only because of
the intrinsic difficulty related to capturing the domain theory, but
also because of the lack of appropriate methods and techniques to
support the evolution and redesign of the framework architecture. This
paper proposes the use of refactoring and unification rules to assist
framework evolution. The approach is illustrated through the JUnit
(Java Unit) testing framework.
Jesús
García-Molina received his PhD degree in Science from
the Universidad de Murcia, Spain, in 1987. He is a professor in the
Computer Science Department of the Universidad de Murcia and Dean of
the Computer Science Faculty. He has been a pioneer of object
technology in Spain. His current research interests include
object-oriented analysis and design, process modelling, model
engineering and components and architecture specification. He is an
editor of the “Object Technology” technical section of Novática,
working alongside Gustavo Rossi. <jmolina AT um DOT es>
Ana Moreira is a PhD in Formal Methods from the University of Stirling, Scotland, UK, 1994. She received a research masters degree from the Faculty of Science and Technology of the Universidade Nova de Lisboa, Portugal, 1991. Since 1995 she has been an Assistant Professor in the Department of Computer Science of the same faculty and university, where she lectures on “Advanced Topics in Software Engineering”. She is a researcher at the Informatics and Information Technology Centre (CITI). She has published a great many papers on subjects related to software engineering and formal methods. She is a co-editor of the upcoming IEEE Software Proceedings special issue on Early Aspects and is a member of the editorial board for the Springer-Verlag journals “Software and Systems Modelling” and also the upcoming “Transactions on Aspect-Oriented Software Development”. She has been a member of the ECOOP and UML Program Committees for several years and is a member of the pUML (precise UML) steering committee. She is conference chair for UML 2004. <amm AT di DOT fct DOT unl DOT pt>
Gustavo Rossi has a doctorate from PUC-Rio, Brazil. He is a full professor of Universidad de La Plata, Argentina. He has been working in the field of object-orientation since the early 90s and has delivered a great many courses on this subject. His research interests are centred on adaptable web applications, and more particularly the patterns and frameworks used in those applications. He is an editor of the “Object Technology” technical section of Novática, working alongside Jesús García-Molina. <gustavo AT sol DOT info DOT unlp DOT edu DOT ar>
(E-mail addresses written with anti-spamming disguise.)
UPGRADE
european NETwork
(UPeNET)
In addition to the founding journal Novática,
the first journal to join this network of publications from CEPIS
member societies has been Pro Dialog, a Polish journal
from which we publish an article chosen by its editor, Andrzej Marciniak.
Pro Dialog is coedited by the
CEPIS Polish Society PTI-PIPS
(Polskie Towarzystwo Informatyczne
–
Polish Information Processing Society) and the Poznan University of
Technology, Institute of Computing Science, in happy coincidence with the
official incorporation of Poland to the European Union.
During
the 1980s the Object-Oriented
(OO) paradigm became increasingly accepted as the best way to produce
high quality software. By the end of the decade a large number of
different methods and notations existed, fragmenting the user community
and setting factions against each other in a ‘methods war’ [1].
Industry convergence, led by three of the main contenders, brought
about the unification of many similar modelling languages with minor
differences in their expressive power. The end result was the Unified Modeling Language (UML), a
widely supported modelling language intended for general purpose use.
The methods of the three main leaders – Jim Rumbaugh, Grady Booch and Ivar Jacobson –
contributed greatly to the formulation of this new language, aided by
contributions from major software companies.
In
1997 UML became an OMG (Object
Management Group) standard and since then it has become the de facto
language for visualizing, specifying, and documenting the different
models created in software development projects.
UML
has had a great impact on the
software community in both the area of research and the area of
practice. Its success has been impressive, as its use throughout the
world for building applications in different domains and of different
sizes testifies. Almost all industrial development environments (for
example, Microsoft, IBM, Borland, as well as non-proprietary
development environments) integrate UML modelling tools.
UML
does not have formal semantics. Its
UML model elements were initially defined in precise English text and
were later supplemented with a static object-oriented metamodel and
declarative constraints. Many researchers have been investigating this
issue. Currently, when precision is required, OCL (Object Constraint
Language) is used together with UML to add formality to software
models.
2 Research Areas Related to UML
The
main objectives when developing UML
have been to obtain a simple but expressive language permitting the use
of modelling applications in different domains. The language should
also yield models that are readable both by persons (the main users)
and by computers (to allow automatic code generation).
In
order to combine simplicity with
applicability, UML incorporates a set of extension mechanisms to define
profiles. A UML profile can adapt them to a particular domain such as
web applications, business modelling, CORBA (Common Object Request
Broker Architecture), etc. Readability is achieved by a set of visual
diagrams for representing the models. Finally, code generation requires
a formal definition of UML, the semantics of which are provided by a
metamodel expressed in a metalanguage called MOF. Profile definition
and UML formalization are two areas which have been intensively
researched in recent years.
Unified
Process (UP) is a framework
developed by Rational for defining UML based processes. In recent years
many software processes based on UP have been defined; case-driven,
incremental, iterative and architecture-centred processes. One of the
most widely known and influential processes is the RUP (Rational
Unified Process) defined by Rational, the company which originally
developed UML (before being acquired by IBM at the end of 2002.)
Nowadays,
the definition of UML-based
process and modelling techniques such as use case and business
modelling are receiving a great deal of attention, both from industry
and academia. Modelling with use cases has been one of the most widely
accepted techniques. However, as Booch pointed
out [2], only a small percentage of the developer
community uses UML, and most projects only use the language to document
design decisions rather than for reasoning about systems which is when
it can be of most use. The emergence of UML is proof that modelling and
design have been recognised as key factors in the production of quality
software. Paradoxically we are witnessing at the same time the
emergence of the Agile Software Development movement [3].
This movement – which considers that code and people are more valuable
than processes, models and documentation – has its roots in the ideas
of eXtreme Programming (XP) [4].
With the MDA (Model Driven Architecture) initiative promoted by the OMG, a new development paradigm has emerged that is model-centred rather than code-centred. It aims to facilitate reuse by creating an ordered spectrum of refinements in Platform Independent Models (PIM) and Platform Specific Models (PSM). The consistency of the refinement steps is guaranteed by UML profiles. Model Engineering is an area which is becoming increasingly more important both in academia and industry; there are already a great many software development environments which incorporate model transformation tools. The underlying idea is to free programmers from the task of writing any code which can be automatically generated from models.
The
increasing importance of model engineering has prompted research into
such areas as model quality and evaluation, profile definition, formal
transformation approaches, and the development of transformation tools.
UML has evolved rapidly since its creation. As Booch [2] points
out, UML has improved its modelling power and precision but has not
changed in its essential nature. In October 2003, the OMG adopted the
UML 2.0 standard, with the aim, among others, to provide a solid base
for MDA via a simplified mechanism for creating profiles. It also
incorporates support for component based development, with improved
relationship modelling and more rigorously and precisely defined state
machine diagrams. Sequence diagrams and behaviour modelling have also
been improved.
3
Content of This Monograph
This monograph aims to present a series of papers that reflect the state of the art of UML. These papers illustrate different aspects of UML, ranging from use cases to UML formalization, meta-modelling, profile definition, model quality, model engineering and MDA. As we stated earlier, profiles constitute the standard mechanism for extending UML and creating customized profiles for a particular domain.
Lidia
Fuentes-Fernández and Antonio
Vallecillo-Moreno in their work “An Introduction to UML Profiles”
describe a set of steps to create a profile and argue the importance of
profiles in MDA. In “Aspect-Oriented
Design with Theme/UML”,
Siobhán
Clarke presents her Theme
approach to aspect-oriented design.
In
his paper “In
Search of a Basic Principle for Model Driven Engineering”, Jean Bézivin,
a pioneer of model engineering and an expert in MDA, offers an
interesting look at the essential features of this new software
development paradigm.
Heinrich Hussmann and Steffen Zschaler
present the new OCL standard in their paper “The Object Constraint Language for UML 2.0
– Overview and Assessment”.
Jan Jürjens, in his paper “Developing Security-Critical Applications with UMLsec. A Short Walk-Through”, analyses the problems of creating high-quality critical systems and shows how using UML modelling can help solve them, while presenting a tool to support his proposed approach.
Use
case relationships have given rise to a great deal of confusion because
they do not have precise semantics. The paper “On the Nature of Use Case-Actor
Relationships”, by Gonzalo
Génova-Fuster and
Juan
Llorens-Morillo, reveals that relationships between actors and
use cases are also imprecisely and ambiguously defined, and they
propose a solution.
Marcela Genero, Mario Piattini-Velthuis, José-Antonio Cruz-Lemus, and Luis Reynoso, in their paper “Metrics for UML Models”, offer a vision of the state of the art of metrics for measuring quality of some basic UML diagrams (such as class, state and use case diagrams) and OCL expressions.
Mariela I. Cortés, Marcus Fontoura, and Carlos J.P. de
Lucena, in their paper “Using Refactoring and Unification Rules to
Assist Framework Evolution”, use UML-F, a UML designed for
describing frameworks, to present two techniques aimed at facilitating
framework maintenance and evolution.
For readers who would like to pursue the subject of this monograph further, the guest editors have collected the following non-exhaustive list of references.
| Last updated on April 30th, 2004 | by the Editorial
Team of
Upgrade |