Using Model Driven Engineering to Reliably Automate the Measurement of Object-Oriented Software
McQuillan, Jacqueline A. (2011) 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: item control page