SMF provides a reference framework for the measurement of any kind of model. SMF follows the MDE principles in which software measurement models (SMM) and domain models (models of the entities to be measured) are the core artefacts of the measurement process. As a result, SMF ensures that the measurement process is carried out in a consistent and more productive manner by providing companies with the necessary infrastructures and methodology. The figure below shows how the measurement of any kind of model is supported by the SMF framework. The architecture has been organized into the following conceptual MOF-based metadata levels: Meta-Metamodel Level (M3), Metamodel Level (M2) and Model Level (M1).
The measurement of models is carried out by following the steps:
- Creation or incorporation of the domain metamodel: the measurement is made in a specific domain and this domain must be defined according to its metamodel. For instance, if the model to be measured is a UML model, the UML metamodel must be incorporated into the repository. The domain metamodel must be represented with Ecore, which is MOF compliant.
- Creation or incorporation of the domain model: this must be defined according to its corresponding domain metamodel (created or included in the first step).
- Creation of measurement model: the measurement model is created according to the Software Measurement Metamodel (SMM), a key integrated part of SMF. This constitutes the source model and contains all the information about the software measurement process.
- Measurement execution: the automatic measurement execution is carried out through a model transformation in which the target measurement model is obtained from the two source models (the measurement model and the domain model). The target measurement model is obtained by extending the source measurement model with the results of the measurements. As can observed in the figure shows below, the applied metamodel to define transformation is QVT, whose metamodel is MOF compliant too. Besides, In summary, by means of this framework, any software entity in any domain which has a metamodel associated with it (for example UML, E/R models, Relational schemas, Requirements models, etc.) can be measured. This is achieved by using a common metamodel (SMM) to represent software measurement models and by using model transformations.
Overview of SMF
One of the main objectives of the SMF framework is to facilitate the work of the potential users (measurement engineers, measurement experts, etc.) when they aim to define measurement models, and to apply them to the measurement of software entity attributes. This is achieved through the application of the Software Engineering black box principle, which implies that users are not required to have any knowledge of the internal workings of the SMF, owing to the automatic model transformations of the MDE paradigm which are automated in the framework.
Therefore, as is illustrated above, one of the key steps is the definition of software measurement models. The Software Measurement Modelling Language has been developed to support this task, and is the main focus of this paper. This language is intended to play a fundamental role in the SMF, as it facilitates the user with the definition of the measurement models by using a graphical notation, a task which, until now, had to be done by directly instantiating the software measurement metamodel in a textual manner. SMML (Software Measurement Modeling Software)
incorporates all the necessary constructors to represent software measurement models of any type of entity, i.e, measurements of processes, projects and products.
SMF is supported by SMTool
which automates the generic measurements of any software domain. The tool is composed of two main components which have been developed by using the Eclipse
- A Model Transformation Engine, which supports the management and transformation of the models by means of QVT. The models and metamodels managed by the engine must be ECORE compliant.
- A Graphical Editor which supports the SMML.
Juan Andrada. Alarcos Research Group - ESI, University of Castilla la Mancha, Spain -
* Optimized for 1024x768 or higher. Firefox 2+, Internet Explorer 7+ or Google Chrome.