smml: software measurement modeling language beatriz mora, félix garcía, francisco ruiz, mario...

31
SMML: Software Measurement Modeling Language Beatriz Mora, Félix García, Francisco Ruiz, Beatriz Mora, Félix García, Francisco Ruiz, Mario Mario Piattini Piattini Department of Information Technologies & Systems University of Castilla – La Mancha

Upload: kathryn-barker

Post on 12-Jan-2016

220 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SMML: Software Measurement Modeling Language Beatriz Mora, Félix García, Francisco Ruiz, Mario Piattini Department of Information Technologies & Systems

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

Page 2: SMML: Software Measurement Modeling Language Beatriz Mora, Félix García, Francisco Ruiz, Mario Piattini Department of Information Technologies & Systems

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

Page 3: SMML: Software Measurement Modeling Language Beatriz Mora, Félix García, Francisco Ruiz, Mario Piattini Department of Information Technologies & Systems

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

Page 4: SMML: Software Measurement Modeling Language Beatriz Mora, Félix García, Francisco Ruiz, Mario Piattini Department of Information Technologies & Systems

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

Page 5: SMML: Software Measurement Modeling Language Beatriz Mora, Félix García, Francisco Ruiz, Mario Piattini Department of Information Technologies & Systems

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

Page 6: SMML: Software Measurement Modeling Language Beatriz Mora, Félix García, Francisco Ruiz, Mario Piattini Department of Information Technologies & Systems

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

Page 7: SMML: Software Measurement Modeling Language Beatriz Mora, Félix García, Francisco Ruiz, Mario Piattini Department of Information Technologies & Systems

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

Page 8: SMML: Software Measurement Modeling Language Beatriz Mora, Félix García, Francisco Ruiz, Mario Piattini Department of Information Technologies & Systems

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

Page 9: SMML: Software Measurement Modeling Language Beatriz Mora, Félix García, Francisco Ruiz, Mario Piattini Department of Information Technologies & Systems

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

Page 10: SMML: Software Measurement Modeling Language Beatriz Mora, Félix García, Francisco Ruiz, Mario Piattini Department of Information Technologies & Systems

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

Page 11: SMML: Software Measurement Modeling Language Beatriz Mora, Félix García, Francisco Ruiz, Mario Piattini Department of Information Technologies & Systems

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

Page 12: SMML: Software Measurement Modeling Language Beatriz Mora, Félix García, Francisco Ruiz, Mario Piattini Department of Information Technologies & Systems

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

Page 13: SMML: Software Measurement Modeling Language Beatriz Mora, Félix García, Francisco Ruiz, Mario Piattini Department of Information Technologies & Systems

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.

Page 14: SMML: Software Measurement Modeling Language Beatriz Mora, Félix García, Francisco Ruiz, Mario Piattini Department of Information Technologies & Systems

24

SMML – Definition of a concrete syntax

Alarcos Group. OOPSLA’2008. DSM. SMML: Software Measurement Modeling Language

Page 15: SMML: Software Measurement Modeling Language Beatriz Mora, Félix García, Francisco Ruiz, Mario Piattini Department of Information Technologies & Systems

25

SMML – Definition of semantics

Alarcos Group. OOPSLA’2008. DSM. SMML: Software Measurement Modeling Language

Page 16: SMML: Software Measurement Modeling Language Beatriz Mora, Félix García, Francisco Ruiz, Mario Piattini Department of Information Technologies & Systems

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

Page 17: SMML: Software Measurement Modeling Language Beatriz Mora, Félix García, Francisco Ruiz, Mario Piattini Department of Information Technologies & Systems

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

Page 18: SMML: Software Measurement Modeling Language Beatriz Mora, Félix García, Francisco Ruiz, Mario Piattini Department of Information Technologies & Systems

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

Page 19: SMML: Software Measurement Modeling Language Beatriz Mora, Félix García, Francisco Ruiz, Mario Piattini Department of Information Technologies & Systems

29

4. Measurement execution

Case Study

Example of relational database measurement

Alarcos Group. OOPSLA’2008. DSM. SMML: Software Measurement Modeling Language

Page 20: SMML: Software Measurement Modeling Language Beatriz Mora, Félix García, Francisco Ruiz, Mario Piattini Department of Information Technologies & Systems

30

Case Study

Measurement model of PDQM (Portalweb Data Quality Model)

Alarcos Group. OOPSLA’2008. DSM. SMML: Software Measurement Modeling Language

Page 21: SMML: Software Measurement Modeling Language Beatriz Mora, Félix García, Francisco Ruiz, Mario Piattini Department of Information Technologies & Systems

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

Page 22: SMML: Software Measurement Modeling Language Beatriz Mora, Félix García, Francisco Ruiz, Mario Piattini Department of Information Technologies & Systems

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

Page 23: SMML: Software Measurement Modeling Language Beatriz Mora, Félix García, Francisco Ruiz, Mario Piattini Department of Information Technologies & Systems

Thank you

http://alarcos.inf-cr.uclm.es/[email protected]

Page 24: SMML: Software Measurement Modeling Language Beatriz Mora, Félix García, Francisco Ruiz, Mario Piattini Department of Information Technologies & Systems

• 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

Page 25: SMML: Software Measurement Modeling Language Beatriz Mora, Félix García, Francisco Ruiz, Mario Piattini Department of Information Technologies & Systems

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

Page 26: SMML: Software Measurement Modeling Language Beatriz Mora, Félix García, Francisco Ruiz, Mario Piattini Department of Information Technologies & Systems

36

Example

Example of relational database measurement

Alarcos Group. OOPSLA’2008. DSM. SMML: Software Measurement Modeling Language

Page 27: SMML: Software Measurement Modeling Language Beatriz Mora, Félix García, Francisco Ruiz, Mario Piattini Department of Information Technologies & Systems

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

Page 28: SMML: Software Measurement Modeling Language Beatriz Mora, Félix García, Francisco Ruiz, Mario Piattini Department of Information Technologies & Systems

38

Example

Example of relational database measurement

Alarcos Group. OOPSLA’2008. DSM. SMML: Software Measurement Modeling Language

Page 29: SMML: Software Measurement Modeling Language Beatriz Mora, Félix García, Francisco Ruiz, Mario Piattini Department of Information Technologies & Systems

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

Page 30: SMML: Software Measurement Modeling Language Beatriz Mora, Félix García, Francisco Ruiz, Mario Piattini Department of Information Technologies & Systems

40

QVT-Relations

QVT-Relations Metamodel

Alarcos Group. OOPSLA’2008. DSM. SMML: Software Measurement Modeling Language

Page 31: SMML: Software Measurement Modeling Language Beatriz Mora, Félix García, Francisco Ruiz, Mario Piattini Department of Information Technologies & Systems

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