Title: SMML: Software Measurement Modeling Language
1SMML Software Measurement Modeling Language
- Beatriz Mora, Félix García, Francisco Ruiz, Mario
Piattini
Department of Information Technologies
Systems University of Castilla La Mancha
2Contents
- Introduction
- Software Measurement Framework
- SMMLSoftware Measurement Modeling Language
- Definition of an abstract syntax
- Definition of a concrete syntax
- Definition of the semantics
- Case Study
- To COUNT TABLES in a Relational DDBB
- Conclusions and future works
3Introduction
- Measurement is an important factor in the process
life cycle due to the fact that it controls
issues and lacks during software maintenance and
development. In fact, measurement has become a
fundamental aspect of Software Engineering. - The great diversity in the kinds of entities
which are candidates for measurement in the
context of the software processes involves
providing companies with a suitable and
consistent reference for the definition of their
software measurement models along with the
necessary technological support to integrate the
measurement of the different kinds of entities.
3
Alarcos Group. OOPSLA2008. DSM. SMML Software
Measurement Modeling Language
4Introduction
- With the objective of satisfying the exposed
necessities, it is interesting to consider the
MDE paradigm in which software measurement models
(SMM) are the principal elements of the
measurement process. - The availability of a language which allows us to
represent software measurement models might be
important in decision making and in process
improvement. - It is thus of interest to consider the use of
Domain Specific Languages (DSLs) such as the
Software Modeling Measurement Language (SMML).
Alarcos Group. OOPSLA2008. DSM. SMML Software
Measurement Modeling Language
5Introduction
- Objective
- We present the Software Measurement Modeling
Language (SMML) which permits software
measurement models to be created. - This language has been done by using the Software
Measurement Metamodel (SMM) (Garcia et al, 2007)
as the Domain Definition Metamodel (DDMM). - This language belongs to the Software Measurement
Framework (SMF). SMF permits to measure any type
of software entity.
5
Alarcos Group. OOPSLA2008. DSM. SMML Software
Measurement Modeling Language
6Software Measurement Framework
- The Software Measurement Framework (SMF) permits
us to measure any type of software entity. - In this framework, any kind of software entity
represented by its corresponding metamodel in any
domain can be measured with a common Software
Measurement metamodel and QVT transformations. - SMF has three fundamental elements (these
elements have all been adapted to the MDE
paradigm and to MDA) - conceptual architecture
- technological aspects
- method.
6
Alarcos Group. OOPSLA2008. DSM. SMML Software
Measurement Modeling Language
7Software Measurement Framework
Conceptual architecture
FMESP
7
Alarcos Group. OOPSLA2008. DSM. SMML Software
Measurement Modeling Language
8Software Measurement Framework
Technological aspects Adaptation to MDA
M3
ECORE
Conforms to
Conforms to
Conforms to
Domain Metamodel (1)
Software Measurement Metamodel
QVT Relations Metamodel
M2
Conforms to
Conforms to
Conforms to
Software Measurement Model (3)
QVT Relations Model
Domain Model (2)
Tranformation (4)
M1
Software Measurement Model (target)
Alarcos Group. OOPSLA2008. DSM. SMML Software
Measurement Modeling Language
9Software Measurement Framework
Technological aspects QVT Relations
transformation
- The QVT Relations model is the transformation
needed to perform the measurement. - Due to the fact that the proposal is about
generic measurement, it is very important that
the QVT model is obtained in a generic way. The
MDE paradigm and MDA technology are applied for
this reason. - This transformation is obtained automatically
from the previous QVT transformation - The QVT Relations model, called the extended or
final QVT Relations model, is obtained from a QVT
transformation, where there are two source
models the basic or initial QVT Relations model
(which conforms to the QVT Relations metamodel)
and the Software Measurement model (previously
defined).
Alarcos Group. OOPSLA2008. DSM. SMML Software
Measurement Modeling Language
10Software Measurement Framework
Technological aspects QVT Relations
transformation
Basic QVT-Relations Model (.qvt)
Software Measurement Model (Source)
QVT Transformation
Extended QVT-Relations Model (.qvt)
Measurement Execution Transformation
Software Measurement Model (Target)
10
Alarcos Group. OOPSLA2008. DSM. SMML Software
Measurement Modeling Language
11Software Measurement Framework
Technological aspects QVT Relations
transformation
Basic transformation
Input
Output
Transformation
SW Measurement Model source
Extended transformation
Domain Model
SW Measurement Model target
Alarcos Group. OOPSLA2008. DSM. SMML Software
Measurement Modeling Language
12Software Measurement Framework
Technological aspects Technological enviroment
- MOMENT MOment manageMENT.
- From a functional point of view, MOMENT has two
components - OCL query execution (MOMENT-OCL)
- QVT Transformations (MOMENT-QVT).
- In order to carry out a QVT transformation in
MOMENT, a transformation textual specification
or, its equivalent QVT Relations model can be
used. This model conforms to the QVT Relations
metamodel and it is possible to obtain it by
parsing the textual specification.
Parse in
12
Alarcos Group. OOPSLA2008. DSM. SMML Software
Measurement Modeling Language
13Software Measurement Framework
Technological aspects Technological enviroment
Textual Specification (.qvtext)
QVT-Relation Model (.qvt)
13
Alarcos Group. OOPSLA2008. DSM. SMML Software
Measurement Modeling Language
14Software Measurement Framework
Technological aspects Method
- The necessary steps to carry out the software
measurement by using the SMF are explained below. - Incorporation of domain metamodel the
measurement is made in a specific domain. This
domain must be defined according to its metamodel
(it is situated in the M2 level and it conforms
to the Ecore meta-metamodel). - Creation of measurement model the measurement
model is created according to the Software
Measurement metamodel which is integrated in SMF.
This first model is the source model, so the
results are therefore still not defined, i.e. the
Measurement Action package from the Software
Measurement metamodel is still not instantiated. - Creation of domain model which is defined
according to its corresponding domain metamodel
(created in the first step). The domain models
are the entities whose attributes are measured by
calculating the measurements defined in the
corresponding measurement models. Examples of
domain models are the UML models (use cases,
class diagrams, etc.), or the E/R models. - Measurement execution the measurement execution
is carried out through QVT transformation, in
which, the measurement model is obtained by
starting from the two source models (the
measurement model and the domain model) where the
results are defined, i.e. the Measurement
Action package is instantiated. The target
measurement model is the extension of the source
measurement model. The measurement results are
calculated by running OCL queries on the domain
model.
14
Alarcos Group. OOPSLA2008. DSM. SMML Software
Measurement Modeling Language
15SMML (Software Measurement Modeling Language)
- SMML is a language which permits software
measurement models to be built. - This language has been done by using the Software
Measurement Metamodel (SMM) as the Domain
Definition Metamodel (DDMM). - The task of the SMML is to facilitate the
definition of software measurement models, which
is the starting point in the generic software
measurement process. - The Software Measurement Metamodel (SMM) which is
derived from the Software Measurement Ontology
(SMO) defines the abstract syntax of SMML. - The Software Measurement Metamodel supports the
graphical language to represent the software
measurement models.
15
Alarcos Group. OOPSLA2008. DSM. SMML Software
Measurement Modeling Language
16SMML Definition of an abstract syntax
Domain Definition Metamodel
- In order to develop SMML, a Domain Definition
Metamodel is therefore necessary. - The Software Measurement Metamodel (SMM) exists,
which is derived from the Software Measurement
Ontology (SMO). (Garcia et al, 2006). - This metamodel is the Domain Definition Metamodel
used to define the abstract syntax of SMML. - The Software Measurement Metamodel includes the
packages which are alignments with the
sub-ontologies of SMO - Basic this basic package has been defined in
order to identify and to establish the general
features of the constructor necessary to define
measurement model - Characterization and Objectives this package
includes the constructors required to establish
the scope and objectives of the software
measurement process - Measures Software this package includes the
constructors needed to establish and to clarify
the key elements in the definition of a software
measure - Measurement Approaches this package includes the
constructors needed to generalize the different
approaches used by the three kinds of measures
to obtain their respective measurement results. - Measurement Action (Not included) this package
includes the results of the measurement process.
16
Alarcos Group. OOPSLA2008. DSM. SMML Software
Measurement Modeling Language
17SMML (Software Measurement Modeling Language)
Software Measurement Metamodel
17
Alarcos Group. OOPSLA2008. DSM. SMML Software
Measurement Modeling Language
18SMML Definition of an abstract syntax
Domain Definition Metamodel
- All of the elements identified in the ontology
(Measure, Information need, Measurable concept,
etc.) are potential elements of the Software
Measurement Metamodel on which the SMML language
is based. - The relationships which exist in the ontology do
not correspond with the relationships which are
necessary for the language. All of the
Measurement Metamodel packages maintain the
original definition of SMO with the exception of
the basic package, which has had to be adapted to
represent the measurement relationships in SMML.
18
Alarcos Group. OOPSLA2008. DSM. SMML Software
Measurement Modeling Language
19SMML Definition of an abstract syntax
Domain Definition Metamodel
- 4 types of Measurement Associations have been
identified association, nonnavigable
association, aggregation and dependency. These
relationships have been defined in the Basic
package.
19
Alarcos Group. OOPSLA2008. DSM. SMML Software
Measurement Modeling Language
20SMML Definition of an abstract syntax
Basic package
Basic this basic package has been defined in
order to identify and to establish the general
features of the constructor necessary to define
measurement model
20
Alarcos Group. OOPSLA2008. DSM. SMML Software
Measurement Modeling Language
21SMML Definition of an abstract syntax
Characterization and objectives Package
Characterization and Objectives this package
includes the constructors required to establish
the scope and objectives of the software
measurement process
21
Alarcos Group. OOPSLA2008. DSM. SMML Software
Measurement Modeling Language
22SMML Definition of an abstract syntax
Software Measures Package
Measures Software this package includes the
constructors needed to establish and to clarify
the key elements in the definition of a software
measure
22
Alarcos Group. OOPSLA2008. DSM. SMML Software
Measurement Modeling Language
23SMML Definition of an abstract syntax
Measurement Approaches Package.
Measurement Approaches this package includes the
constructors needed to generalize the different
approaches used by the three kinds of measures
to obtain their respective measurement results.
23
Alarcos Group. OOPSLA2008. DSM. SMML Software
Measurement Modeling Language
24SMML Definition of a concrete syntax
24
Alarcos Group. OOPSLA2008. DSM. SMML Software
Measurement Modeling Language
25SMML Definition of semantics
25
Alarcos Group. OOPSLA2008. DSM. SMML Software
Measurement Modeling Language
26Case Study
Example of relational database measurement
- Incorporation of domain metamodel
- Creation of domain model
26
Alarcos Group. OOPSLA2008. DSM. SMML Software
Measurement Modeling Language
27Case Study
Example of relational database measurement
- 3. Creation of software measurement model.
- Quality Model ISO 9126
- Measurable concept Maintainability
- Information need To know Shemes Maintainability
- Entity Class Relational Schema
- Attribute Size
- Base measure NT (Number of tables)
- Unit tables
- Scale Integers from zero to infinite
- Measurement method Number of Tables in the Scheme
27
Alarcos Group. OOPSLA2008. DSM. SMML Software
Measurement Modeling Language
28Case Study
Example of relational database measurement
- Definition of software measurement model with
SMML
28
Alarcos Group. OOPSLA2008. DSM. SMML Software
Measurement Modeling Language
29Case Study
Example of relational database measurement
Alarcos Group. OOPSLA2008. DSM. SMML Software
Measurement Modeling Language
30Case Study
Measurement model of PDQM (Portalweb Data Quality
Model)
30
Alarcos Group. OOPSLA2008. DSM. SMML Software
Measurement Modeling Language
31Conclusions
- SMML permits software measurement models to be
defined in a manner which is easy and intuitive
for the user. - SMML is a complete language, with a clear
syntactic and semantic definition and a solid
ontological base. It, moreover, fulfils the
following requirements of a DSL it is usable, it
conforms, and it is orthogonal, supportable and
simple. - SMML allows users to represent measurement models
in various domains. - This language plays a fundamental role in SMF as
it allows users to define the measurement models
which are the input for the software measurement
process. The visual representation of the
measurement models mean that SMF is a more usable
and intuitive framework for the user. In other
words, it makes the measurement process more
comfortable.
Alarcos Group. OOPSLA2008. DSM. SMML Software
Measurement Modeling Language
32Future work
- Among related future works, one important work is
that of the extension of SMMM with the
Measurement Approach package hierarchy included
in the Software Metrics Meta-Model 25 (OMG). - Now, a DSL editor (by using GMF) is created, a
future work is to integrate the editor with the
SMF in order to obtain an automatic process by
using only one tool (Software Measurement Tool). - We shall, moreover, test the usability of the
language through a series of experiments based on
the ISO 9126 standard. Our study will focus on
usability and maintainability. Our idea is to
select a group of modeling experts and to test
the usability of this new language on them in
order to define measurement models.
Alarcos Group. OOPSLA2008. DSM. SMML Software
Measurement Modeling Language
33Thank you
- http//alarcos.inf-cr.uclm.es/
- Beatriz.mora_at_uclm.es
34Software Measurement Framework
Technological aspects QVT Relations
transformation
- The extended QVT Relations model extends the
basic QVT Relations model with the following
aspects - Transformation Model? this label indicates the
source models - Measurement model this model is already defined
in the basic QVT-Relation model, Because is
always the same. - Domain model this model needs to be defined.
This information is taken from the Software
Measurement model which contains all the
measurement information. - Relation Domain ? it is necessary to define the
checkonly domain rules. There are two, one for
each source model - Software Measurement model The checkonly domain
of the measurement model is already defined in
the basic QVT Relations model. - Domain model It is only necessary to define
checkonly domain of the domain model. - Function this contains the necessary OCL queries
to carry out the measurement. These OCL queries
are the implementations of the Measurement
Action package defined in the Software
Measurement Metamodel.
Alarcos Group. OOPSLA2008. DSM. SMML Software
Measurement Modeling Language
35Example
Example of relational database measurement
- The extended QVT Relations model was needed to
carry out the fourth step. This transformation is
obtained automatically The extended elements are
detailed below - Transformation Model the target model is the
relational databases domain model. - Relation Domain the checkonly domain of the
relational schema domain is indicated
35
Alarcos Group. OOPSLA2008. DSM. SMML Software
Measurement Modeling Language
36Example
Example of relational database measurement
36
Alarcos Group. OOPSLA2008. DSM. SMML Software
Measurement Modeling Language
37Example
Example of relational database measurement
- Function this contains the OCL queries with
which to perform the measurement, in this case,
the queries necessary to implement the count
element of type X measurement method where X is
Table.
37
Alarcos Group. OOPSLA2008. DSM. SMML Software
Measurement Modeling Language
38Example
Example of relational database measurement
38
Alarcos Group. OOPSLA2008. DSM. SMML Software
Measurement Modeling Language
39Software Measurement Framework
Technological aspects QVT Relations
transformation
Textual Specification (.qvtext)
QVT-Relation Model (.qvt)
Transformation
Parse in
39
Alarcos Group. OOPSLA2008. DSM. SMML Software
Measurement Modeling Language
40QVT-Relations
QVT-Relations Metamodel
40
Alarcos Group. OOPSLA2008. DSM. SMML Software
Measurement Modeling Language
41Transformación QVT-Relations
- Transformation Model los modelos de entrada.
- el modelo de medición (incluido en QVT-Relation
básico) - el modelo del dominio atributos name y uri del
modelo. - Relation Domain checkonly domain de la
transformación, uno por cada modelo de entrada - Sólo hay que indicar el checkonly domain del
modelo de dominio ya que el del modelo de
medición ya está definido en el modelo
QVT-Relation básico. - Function función que contiene las consultas OCL
necesarias para la ejecución de la medición.
41
Alarcos Group. OOPSLA2008. DSM. SMML Software
Measurement Modeling Language