SMML: Software Measurement Modeling Language

beansproutscompleteΛογισμικό & κατασκευή λογ/κού

13 Δεκ 2013 (πριν από 3 χρόνια και 7 μήνες)

98 εμφανίσεις

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