Skip to main content

Measuring UML models

By Freddy Allilaire (INRIA), Rémi Schnekenburger (CEA LIST)
May 2007

This use case shows how to use and integrate a model transformation service in a UML Modeler to compute and generate quality measures on UML models.

Keywords

UML Modeler, UML 2, Measures.

Overview

This use case presents how the Papyrus UML Modeler could be used to compute and generate quality measures on UML models. Papyrus is a dedicated tool for UML2 graphical modelling developed mainly by CEA LIST. This open source tool is based on the Eclipse environment.

The figure below presents an example of UML Class Diagram made with Papyrus. Measures will be generated and computed on this working example:

Sample of UML 2 Class Diagram

Sample of UML 2 Class Diagram

The generation of measures on a UML model allows to perform several investigations. For example measuring the various models may bring interesting insight into the consideration of these models. Furthermore comparing similar measures applied to models of various origins may bring interesting observations.

From a UML Class Diagram, the following measures are available and will be computed when the ATL service “Generate Measures” will be executed:

Others and more complex measures could be easily added and implemented by modifying the corresponding ATL transformation. To see how to configure and run the “Measuring UML models” ATL service, please take a look to the User Guide.

The computed metrics will be displayed in 3 different representations: Tabular HTML, SVG Bar Chart, and SVG Pie Chart. The figures below present the sample results generated from our working example:

 

 

None at the current time.

References

  1. Hoare, C.A.R Monitors: An Operating System Structuring Concept Communications of the ACM, Vol. 17, No. 10. October 1974, pp. 549-557
  2. Dijkstra, E. W. Cooperating Sequential Processes. In programming Languages (Ed. F. Genuys), Academic Press, New York.

Download

Papyrus, an open-source graphical modeler tool for UML2 and based on Eclipse.

 

 

 

This user guide explains how to configure and launch the ATL service in Papyrus.

 

 

 

Acknowledgement

The present work is being supported by the Usine Logicielle project of the System@tic Paris Region Cluster.

Back to the top