McQuillan, Jacqueline A.
Using Model Driven Engineering to
Reliably Automate the Measurement
of Object-Oriented Software.
PhD thesis, National University of Ireland Maynooth.
Software metrics have many important uses in software engineering, for example,
assessing software quality or estimating the cost and effort of developing software.
Many metrics have been proposed and new metrics continue to appear in the
literature. Many of these metrics are incomplete, ambiguous and open to a variety
of different interpretations making it difficult to create general metric tools. Furthermore,
everytime a new software metric is defined the tools need to be updated
to include the new metric. This makes it difficult to perform independent validation
of empirical results and to investigate how different metrics relate to each other.
Model Driven Engineering (MDE) is an emerging approach to software development
in which models are the primary focus. In this model-oriented approach,
design artifacts such as Unified Modelling Language (UML) diagrams as well as
implementation artifacts such as program code are considered as different models
of a software system. Working at the model level provides a whole new set of constructs
to be measured and recent research has moved towards new model-based
metrics. Some of these new metrics and many existing metrics are applicable to a
number of different models of a software system. In order to provide assurance that
the same concepts are being measured from different software models, metrics need
to be specified in a generic way that is not dependent on the particular model.
This thesis describes the development, implementation and testing of an MDEbased
approach to the measurement of software models. This approach involves
specifying software metrics using the Object Constraint Language (OCL) and a
measurement metamodel and transforming all other models to this canonical metamodel.
Using this approach only a single definition of a software metric is required
and can be applied to different models of a software system thus helping to provide
assurance that the same concepts are being measured from the different models.
Furthermore, this approach eliminates the need for manual implementation of metrics
tools as it supports the automatic generation of a measurement tool from the
metric definition. Finally, to ensure that this approach is reliable this thesis develops
testing techniques for the domain of MDE and applies them to the measurement
approach. These techniques are fundamental to the approach, including validation
of the underlying measurement metamodel, model transformations and automatically
generated measurement tool.
The main contributions of the work presented in this thesis are: a Meta Object
Facility (MOF)-compliant measurement metamodel for coupling and cohesion metrics;
the definition of standardised transformations from the UML and Java to this
metamodel; testing techniques for use within the MDE, specifically approaches for
analysing and testing metamodels, metamodel-based software and model transformations.
Repository Staff Only(login required)
||Item control page