SMML: Software Measurement Modeling Language Beatriz Mora, Félix García, Francisco Ruiz, Mario...
-
Upload
kathryn-barker -
Category
Documents
-
view
217 -
download
0
Transcript of SMML: Software Measurement Modeling Language Beatriz Mora, Félix García, Francisco Ruiz, Mario...
SMML: Software Measurement Modeling Language
Beatriz Mora, Félix García, Francisco Ruiz, Beatriz Mora, Félix García, Francisco Ruiz, Mario PiattiniMario Piattini
Department of Information Technologies & Systems
University of Castilla – La Mancha
2Alarcos 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
3Alarcos 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 toConforms 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 Objectives)
Indicator(from Software Measures)
1..n
0..n
1..n
0..n
satisfies
Decision Criteria(from Measurement Approaches)
Measurable Concept(from Characterization and Objectives)
0..n
0..n
0..n
includes
0..n
1
1..n
1
1..nis associated with
Unit of Measurement(from Software Measures)Scale
(from Software Measures)
1..n
1
1..n
1belongs 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
kind1..n 1..n1..n 1..n
evaluates
Measurement Result
value
Measurement Approach(from Measurement)
Attribute(from Characterization and Objectives)
1..n
1..n
1..n
1..n
relates
Measure(from Software Measures)
0..n 0..n0..n
transformation
0..n 1..n
0..1
1..n
0..1
expressed in
1..n
1
1..n
1
has
0..n1..n 0..n1..ndefined for 1..n
0..n
1..n
0..n
uses
Entity Class(from Characterization and Objectives)
0..n 0..n0..n
includes
0..n
1
n
1
n
defined for
1 1..n1 1..n
has
Measurement
LocationInTime
1
1
1
1
produces
1
n
1
n
performs
n
1
n
1Is performed on
n
1
n
1
uses
Entity(from Characterization and Objectives)
1..n
0..n
1..n
0..n
belongs to
n1 n1
Is performed on
0..n0..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
Description
name : Stringcontent : String
Measurement Element
name : String
Measurement Association
name : String
source
target
DependencyAggregation Association Association no navigable
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
Entity ClassAttribute
Quality Model
Information Need
Measurable Concept
Measurement Element
name : String
(from Basic)
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
Attribute(from Characterization and Objectives)
Measurescaleunit Of Measurement
Base Measure Derived Measure Indicator
Measurement Element
name : String
(from Basic)
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.
Measurement Approach(from Measurement Action)
Deriv ed Measure(from Software Measures)
Measurement Function
Base Measure(from Software Measures)
Measurement Method
Decision Criteria
Analysis Model Measure
scaleunit Of Measurement
(from Software Measures)
Indicator(from Software Measures)
Information Need(from Characterization and Objectives)
Measurement Element
name : String
(from Basic)
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
• 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