Upgrade: Vol. V, issue 2, April 2004
Upgrade: Home Page
Upgrade: Editorial Information
Upgrade: Schedule
Upgrade: News
Upgrade: Latest Issue
Upgrade: Past Issues
Contact Upgrade
Upgrade: Search Page
Upgrade, The European Journal for the Informatics Professional
Interested in subscribing to our Newslist? Click here
Next issue (June 2004)
Electronic Signature & Digital Identity
Upgrade, Vol. V, issue no.2: cover page by Antonio Crespo Foix, © ATI 2004
Vol. V, issue no. 2,
April 2004

UML and Model Engineering 

 Published on behalf of CEPIS
by Novática (ATI, Spain)

Contents
Editions in other languages

Guest Editors:

Jesús García-Molina, Ana Moreira, and Gustavo Rossi

Contents
Editions in other languages
  • Italian, by Tecnoteca / ALSI (summary, abstracts and presentation online.)  **Now available**
  • Spanish, by Novática (full edition printed; summary, abstracts and presentation online.) **Now available**

Editorial Team of Upgrade

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

CEPIS (Council of European Professional Informatics Societies) promotes Upgrade

UPENET (UPGRADE European NETwork)

Novática, journal and magazine of ATI (Spain), publishes Upgrade

ALSI (Italy) promotes the Italian edition of Upgrade

Tecnoteca (Italy) promotes the Italian edition of Upgrade

SI (Swiss Informaticians Society) cooperates with Upgrade

EUCIP: European Certification of Informatics Professionals
 

Editorial Page

From the Editors' Desk
Monograph

UML and Model Engineering
Mosaic
  • UPGRADE european NETwork (UPeNET): paper from the Polish journal "Pro Dialog"
  • News Sheet



Editorial Page
From the Editors' Desk
The UPGRADE European Network: N przywitanie / Welcome! [PDF: 1 page, 236 KB]
The Editorial Team of UPGRADE
Abstract: The members of the Editorial Team of UPGRADE describe the aims and scope of the network of journals from CEPIS member societies (UPGRADE european NETwork, UPeNet), whose contents will enrich ours and offer a broader European view of ICT to our readership. The first journal to join in is Pro Dialog, 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.

Back to top of the page

Monograph: UML and Model Engineering
Guest Editors: Jesús García-Molina, Ana Moreira, and Gustavo Rossi

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.

An Introduction to UML Profiles [PDF: 8 pages, 203 KB]
Lidia Fuentes-Fernández and Antonio Vallecillo-Moreno
Abstract: UML (Unified Modeling Language) has become one of the most widely used standards for specifying and documenting information systems. However, the fact that UML is a general purpose notation may limit its suitability for modelling some particular domains, for which specialized languages may be more appropriate. UML provides a set of extension mechanisms to address this issue, which allow the customisation and extension of its own syntax and semantics in order to adapt to certain application domains. In this paper we examine the extension mechanisms which are used to define UML Profiles. We also discuss the usefulness and relevance of UML Profiles in the context of Model Driven Architecture (MDA®).

Aspect-Oriented Design with Theme/UML [PDF: 6 pages, 195 KB]
Siobhán Clarke
Abstract:
Aspect-oriented software development represents a set of emerging technologies that seek to extend the modularisation capabilities of existing software development paradigms. For example, those concerns that ‘crosscut’ a system (i.e., have an impact across multiple modules of the system) can be designed and programmed separately, to be later composed into a running system. In the object-oriented paradigm, there are many examples of crosscutting concerns that cannot be modularised – classic ones are transaction handling, distribution support and audit trails. There has been significant success in aspect-oriented programming languages that are based on extending object-oriented programming languages. This paper describes an approach to extending the UML to support the modularisation of a designer’s concerns, including crosscutting ones.

In Search of a Basic Principle for Model Driven Engineering [PDF: 4 pages, 195 KB]
Jean Bézivin
Abstract: In November 2000, the OMG (Object Management Group) made public the MDA™ (Model Driven Architecture) initiative, a particular variant of a new global trend called model engineering. The basic ideas of model engineering are germane to many other approaches such as generative programming, domain specific languages, model-integrated computing, software factories, etc. MDA may be defined as the realization of model engineering principles around a set of OMG standards like MOF (Meta Object Facility), XMI (XML Metadata Interchange), OCL (Object Constraint Language), UML (Unified Modeling Language), CWM (Common Warehouse Metamodel), SPEM (Software Process Engineering Metamodel), etc. Similarly to the basic principle “Everything is an object” that was important in the 80’s to set up the object-oriented technology, we suggest here, in model engineering, that the basic principle “Everything is a model” may be key to identifying the essential characteristics of this new trend.

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.

Developing Security-Critical Applications with UMLsec. A Short Walk-Through [PDF: 7 pages, 251 KB]
Jan Jürjens
Abstract:
Developing high-assurance security-critical systems is difficult and there are many well-known examples of security weaknesses exploited in practice. Thus a sound methodology supporting secure systems development is urgently needed. We give an overview over an extension of UML, called UMLsec, that allows expressing security-relevant information within the diagrams in a system specification. We present tool-support which has been developed for the UMLsec approach. We explain the methodology at the hand of a simple example.

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.

Metrics for UML Models [PDF: 6 pages, 184 KB]
Marcela Genero, Mario Piattini-Velthuis, José-Antonio Cruz-Lemus, and Luis Reynoso
Abstract: Due to the important role played by models obtained in the early stages of the development of Object-Oriented (OO) systems, special attention has been paid to the quality of such models in recent years. While it is commonly believed that UML (Unified Modeling Language) is an aid to building better quality software systems, we need to have quantitative and objective measurement instruments to gather empirical evidence of this. The idea that the use of metrics for UML models can help designers make better decisions is also gaining importance in the field of software measurement, which has led to an increasing demand for metrics for UML models in recent years. The main aim of this paper is, therefore, to present a broad overview of the most relevant proposals related to metrics for UML models at a conceptual level, to give researchers and practitioners a broader insight into the work already done and still to be carried out in the field of UML model quality. This paper will hopefully also give researchers a more comprehensive view of the direction OO measurement is taking.

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.

Back to top of the page

Guest Editors

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.)
Back to top of the page

Mosaic [PDF: 6 pages, 373 KB]

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.

Parallel Programming Support System for Transputers – Educational Software
Mikolaj Szczepanski and Rafal Walkowiak
Abstract: This paper describes Parallel Programming Support Software (PPSS), which enables the creation and execution of parallel programs on transputer systems. The software is made up of two parts. The first element is WWW based server software for controlling the compilation and execution of parallel programs. The purpose of the second element is to support the parallel program preparation process. The following elements were considered: a graphical editor for generating processor and process architectures, graphical support for gathering software and hardware parameters, process allocation support, a code editor with on-line help about procedures supporting parallel programming, and checking modules for communication calls. A basic knowledge of parallel systems and access to Internet on the WWW level enables parallel computing with the help of PPSS. The initial tests carried out in the winter semester of 2000 at our Parallel Laboratory showed that use of PPSS led to a significant reduction of time needed for project preparation, and solved problems concerning exclusive access to parallel computing environments. Using PPSS, students were able to obtain more advanced results in the design of parallel algorithms and parallel processing. The system was prepared by four graduate students of computer science as their thesis.

News Sheet
In this issue we publish news about:
Back to top of the page


Monograph: UML and Model Engineering

Presentation

UML: The Standard Object Modelling Language [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 
 
1 Introduction: What is UML?

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.


References

[1] I. Jacobson. “Time for a cease-fire in the methods war”, Journal Object-Oriented Programming, July 1993
[2] G. Booch. “Growing the UML”, Software and System Modelling, 1 (2), pp. 157–160, December, 2002.
[3] The AgileAlliance: <http://www.agilealliance.org/home>.
[4] “eXtreme Programming”, Upgrade, Vol. III, issue no. 2, <http://www.upgrade-cepis.org/issues/2002/2/upgrade-vIII-2.html>.

Back to top of the page

Useful References on Wireless Networks

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.

Web Sites

Books
Conferences
Journald
Back to top of the page

Last updated on April 30th, 2004 by the Editorial Team of Upgrade

Copyright policy:

  1. Copyright © CEPIS 2004. All rights reserved.
  2. Abstracting of the articles included in UPGRADE is permitted with credit to the source. For copying, reprint, or republication permission, write to the editors.
  3. Unauthorized access to pages, or parts thereof,  in this website reserved exclusively for persons authorized by UPGRADE is expressly prohibited. Any unauthorized access may be prosecuted according to the law.