SMML: Software Measurement
Modeling Language
Beatriz Mora, Félix García, Francisco Ruiz,
Mario Piattini
Department of Information Technologies & Systems
University of Castilla
–
La Mancha
2
Alarcos Group. OOPSLA’2008. DSM. SMML: Software Measurement Modeling Language
•
Introduction
•
Software Measurement Framework
•
SMML:Software 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
Contents
3
Alarcos Group. OOPSLA’2008. DSM. SMML: Software Measurement Modeling Language
•
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.
Introduction
4
•
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).
Introduction
Alarcos Group. OOPSLA’2008. DSM. SMML: Software Measurement Modeling Language
5
•
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.
Introduction
Alarcos Group. OOPSLA’2008. DSM. SMML: Software Measurement Modeling Language
Software Measurement Framework
Technological aspects
–
Adaptation to MDA
Domain
Metamodel (1)
M3
M2
M1
Conforms to
Conforms to
Software
Measurement
Metamodel
QVT Relations
Metamodel
Software
Measurement
Model (3)
Conforms to
Conforms to
QVT Relations
Model
Conforms to
Conforms to
Tranformation (4)
ECORE
Software Measurement
Model (target)
Domain Model
(2)
Alarcos Group. OOPSLA’2008. DSM. SMML: Software Measurement Modeling Language
15
•
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.
SMML (Software Measurement Modeling Language)
Alarcos Group. OOPSLA’2008. DSM. SMML: Software Measurement Modeling Language
17
SMML (Software Measurement Modeling Language)
Software Measurement Metamodel
Software Measures
Measurement Action
Characterization and Objectives
Measurement Approaches
Measurement Method
(from Measurement Approaches)
Base Measure
(from Software Measures)
1..n
1
1..n
1
uses
Measurement Function
(from Measurement Approaches)
0..n
0..n
0..n
0..n
uses
Derived Measure
(from Software Measures)
0..n
0..n
0..n
0..n
calculated with
0..n
0..n
0..n
0..n
uses
Type of Scale
(from Software Measures)
Information Need
(from Characterization and Obj ectives)
Indicator
(from Software Measures)
1..n
0..n
1..n
0..n
satisfies
Decision Criteria
(from Measurement Approaches)
Measurable Concept
(from Characterization and Obj ectives)
0..n
0..n
0..n
includes
0..n
1
1..n
1
1..n
is associated with
Unit of Measurement
(from Software Measures)
Scale
(from Software Measures)
1..n
1
1..n
1
belongs to
Analysis Model
(from Measurement Approaches)
1..n
1
1..n
1
calculated with
1..n
1..n
1..n
1..n
uses
Quality Model
kind
1..n
1..n
1..n
1..n
evaluates
Measurement Result
value
Measurement Approach
(from Measurement)
Attribute
(from Characterization and Obj ectives)
1..n
1..n
1..n
1..n
relates
Measure
(from Software Measures)
0..n
0..n
0..n
transformation
0..n
1..n
0..1
1..n
0..1
expressed in
1..n
1
1..n
1
has
0..n
1..n
0..n
1..n
defined for
1..n
0..n
1..n
0..n
uses
Entity Class
(from Characterization and Obj ectives)
0..n
0..n
0..n
includes
0..n
1
n
1
n
defined for
1
1..n
1
1..n
has
Measurement
LocationInTime
1
1
1
1
produces
1
n
1
n
performs
n
1
n
1
Is performed on
n
1
n
1
uses
Entity
(from Characterization and Obj ectives)
1..n
0..n
1..n
0..n
belongs to
n
1
n
1
Is performed on
0..n
0..n
composed of
Alarcos Group. OOPSLA’2008. DSM. SMML: Software Measurement Modeling Language
19
•
4
types
of
Measurement
Associations
have
been
identified
:
association,
nonnavigable
association,
aggregation
and
dependency
.
These
relationships
have
been
defined
in
the
Basic
package
.
SMML
–
Definition of an abstract syntax
Domain Definition Metamodel
Alarcos Group. OOPSLA’2008. DSM. SMML: Software Measurement Modeling Language
20
SMML
–
Definition of an abstract syntax
Basic package
Alarcos Group. OOPSLA’2008. DSM. SMML: Software Measurement Modeling Language
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
21
SMML
–
Definition of an abstract syntax
Characterization and objectives Package
Alarcos Group. OOPSLA’2008. DSM. SMML: Software Measurement Modeling Language
Characterization and Objectives:
this package includes the
constructors required to establish the scope and objectives of the
software measurement process
22
SMML
–
Definition of an abstract syntax
Software Measures Package
Alarcos Group. OOPSLA’2008. DSM. SMML: Software Measurement Modeling Language
Measures Software:
this package includes the constructors needed to
establish and to clarify the key elements in the definition of a software
measure
23
SMML
–
Definition of an abstract syntax
Measurement Approaches Package.
Alarcos Group. OOPSLA’2008. DSM. SMML: Software Measurement Modeling Language
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.
24
SMML
–
Definition of a concrete syntax
Alarcos Group. OOPSLA’2008. DSM. SMML: Software Measurement Modeling Language
25
SMML
–
Definition of semantics
Alarcos Group. OOPSLA’2008. DSM. SMML: Software Measurement Modeling Language
26
Case Study
Example of relational database measurement
1.
Incorporation of domain metamodel
2.
Creation of domain model
Alarcos Group. OOPSLA’2008. DSM. SMML: Software Measurement Modeling Language
27
Case 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
Alarcos Group. OOPSLA’2008. DSM. SMML: Software Measurement Modeling Language
28
Case Study
Example of relational database measurement
Definition of software measurement model
with
SMML
Relational
Schema
Size
__________
__________
__________
__________
__________
ISO
9126
____________
____________
_______
_____
____________
____________
____________
?
?
To know the
relational Schemes
maintainability
Maintainability
C
Ratio
:
Integers from zero
to Infinite
Table
Number of Tables
(
NT
)
To count
tables in
the
schema
Alarcos Group. OOPSLA’2008. DSM. SMML: Software Measurement Modeling Language
29
4.
Measurement execution
Case Study
Example of relational database measurement
Alarcos Group. OOPSLA’2008. DSM. SMML: Software Measurement Modeling Language
30
Case Study
Measurement model of PDQM (Portalweb Data Quality Model)
Alarcos Group. OOPSLA’2008. DSM. SMML: Software Measurement Modeling Language
31
•
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.
Conclusions
Alarcos Group. OOPSLA’2008. DSM. SMML: Software Measurement Modeling Language
32
•
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.
Future work
Alarcos Group. OOPSLA’2008. DSM. SMML: Software Measurement Modeling Language
Thank you
http://alarcos.inf

cr.uclm.es/
Beatriz.mora@uclm.es
•
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.
Software Measurement Framework
Technological aspects
–
QVT Relations transformation
Alarcos Group. OOPSLA’2008. DSM. SMML: Software Measurement Modeling Language
35
•
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
Example
Example of relational database measurement
Alarcos Group. OOPSLA’2008. DSM. SMML: Software Measurement Modeling Language
36
Example
Example of relational database measurement
Alarcos Group. OOPSLA’2008. DSM. SMML: Software Measurement Modeling Language
37
•
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.
Example
Example of relational database measurement
Alarcos Group. OOPSLA’2008. DSM. SMML: Software Measurement Modeling Language
38
Example
Example of relational database measurement
Alarcos Group. OOPSLA’2008. DSM. SMML: Software Measurement Modeling Language
39
Textual Specification
(.qvtext)
QVT

Relation Model
(.qvt)
Transformation
Parse in
Textual Specificacion
(.qvtext)
QVT

Relation Model
(.qvt)
Software Measurement Framework
Technological aspects
–
QVT Relations transformation
Alarcos Group. OOPSLA’2008. DSM. SMML: Software Measurement Modeling Language
40
QVT

Relations
QVT

Relations Metamodel
Alarcos Group. OOPSLA’2008. DSM. SMML: Software Measurement Modeling Language
41
•
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.
Transformación QVT

Relations
Alarcos Group. OOPSLA’2008. DSM. SMML: Software Measurement Modeling Language
Comments 0
Log in to post a comment