ECOOP /
Tutorial 19
UML Design Metrics: Formalizing and Automating Collection with OCL
| Topic | Software metrics, object-oriented software engineering, experimental software engineering |
| Goal | Present a novel approach, both formal and pragmatic, to evaluate the complexity of UML designs |
| Style | Concepts, exercises and demonstration |
Abstract
In this tutorial we will present an approach that solves the metrics ill-definition problem. The UML meta-model is used as context and OCL operations defined on it are used in a compositional fashion to express design metrics.
The metrics applicability limitations are defined with OCL pre-conditions. The metrics result itself is formally defined with OCL post-conditions.
The outcome is an elegant, precise and straightforward way to define metrics that may help to overcome several current problems. Besides, it is a natural approach since we are using object technology to define metrics on object technology itself.
To illustrate this approach, we will present several examples taken from well-known metric sets. A demonstration of the validation of a design metrics set using this approach will be performed. A library of basic OCL functions for composition of OO metrics will be made available to all tutorial participants. Automation of metrics collection will be shown using this approach.
The tutorial schedule will be the following:
- Motivation and Introduction
- UML Meta-Model
- OCL Syntax and Semantics
- Expressing metrics with OCL
- Case study
- Demonstration
- Conclusions and explanation of delivery package
Presenter Profile
Fernando Brito e Abreu
Fernando Brito e Abreu holds a
PhD on Computer Science and a MSc on Telecommunications and Computer
Engineering, both from the Lisbon Technical University (http://www.ist.utl.pt).
He is currently
professor of object-oriented design and programming at the Lisbon New University
(http://di.fct.unl.pt) and integrates the
international team of professors that deliver the EMOOSE – European Master on
Object Orientation and Software Engineering, created in the scope of the
European Commission ALFA Program (http://www.emn.fr/emoose).
He leads a research team on QUantitative Approaches on Software Engineering And
Reengineering (http://ctp.di.fct.unl.pt/QUASAR).
He is author or co-author of around 40 communications on workshops, conferences
and symposiums and of more than 20 papers on scientific and technical journals.
He has participated in the organization of around 20 conferences worldwide, as
program committee member, panel member, session chairman, steering committee
member and organizing committee member, including general chair. He has also
promoted a series of workshops such as the ECOOP’s QAOOSE – Quantitative
Approaches in Object-Oriented Software Engineering (http://www.ecoop.tu-darmstadt.de/workshops/10.phtml).
He is a member of the Editorial Board of the Software Quality Professional
journal (http://sqp.asq.org), published by the
American Society for Quality (http://www.asq.org/),
and a reviewer for the IEEE Transactions on Software Engineering (http://www.computer.org/tse/).
He is the author of the MOOD and MOOD2 (Metrics for Object Oriented Design) and
he first proposed the meta-level formalization of metrics using OCL, a formal
language that is part of the UML standard.
He has taught tutorials on object oriented design, software metrics, software
quality and software engineering project management on several international
conferences.
Details
Attendees are expected to have a fair background knowledge of object-oriented design notions with UML and general software engineering
knowledge, including some expose to software metrics. This tutorial is an evolution of the one presented at ECOOP'2002 held in Malaga last June (http://www.ecoop2002.lcc.uma.es/)
| Presenter(s) |
Fernando Brito e Abreu, (Lisbon New University)
|
Date Duration |
Monday, 21
half day
|
| Level |
intermediate
|
| Targeted Audience |
- Software engineers, software quality managers and project managers interested in implementing mechanisms for assessing and controlling the evolution of designs and teams using UML.
- Researchers interested in the topics of experimental software engineering, namely in the scope of object-oriented software engineering.
|
|