SMML: Software Measurement Modeling Language - PowerPoint PPT Presentation

About This Presentation
Title:

SMML: Software Measurement Modeling Language

Description:

Basic QVT-Relations Model (.qvt) Extended QVT-Relations Model (.qvt) QVT Transformation ... These relationships have been defined in the Basic package. ... – PowerPoint PPT presentation

Number of Views:77
Avg rating:3.0/5.0
Slides: 32
Provided by: GRUPOA8
Learn more at: http://www.dsmforum.org
Category:

less

Transcript and Presenter's Notes

Title: SMML: Software Measurement Modeling Language


1
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
Contents
  • 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

3
Introduction
  • 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
4
Introduction
  • 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
5
Introduction
  • 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
6
Software 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
7
Software Measurement Framework
Conceptual architecture
FMESP
7
Alarcos Group. OOPSLA2008. DSM. SMML Software
Measurement Modeling Language
8
Software 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
9
Software 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
10
Software 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
11
Software 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
12
Software 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
13
Software Measurement Framework
Technological aspects Technological enviroment
Textual Specification (.qvtext)
QVT-Relation Model (.qvt)
13
Alarcos Group. OOPSLA2008. DSM. SMML Software
Measurement Modeling Language
14
Software 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
15
SMML (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
16
SMML 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
17
SMML (Software Measurement Modeling Language)
Software Measurement Metamodel
17
Alarcos Group. OOPSLA2008. DSM. SMML Software
Measurement Modeling Language
18
SMML 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
19
SMML 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
20
SMML 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
21
SMML 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
22
SMML 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
23
SMML 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
24
SMML Definition of a concrete syntax
24
Alarcos Group. OOPSLA2008. DSM. SMML Software
Measurement Modeling Language
25
SMML Definition of semantics
25
Alarcos Group. OOPSLA2008. DSM. SMML Software
Measurement Modeling Language
26
Case Study
Example of relational database measurement
  1. Incorporation of domain metamodel
  2. Creation of domain model

26
Alarcos Group. OOPSLA2008. 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

27
Alarcos Group. OOPSLA2008. DSM. SMML Software
Measurement Modeling Language
28
Case Study
Example of relational database measurement
  • Definition of software measurement model with
    SMML

28
Alarcos Group. OOPSLA2008. DSM. SMML Software
Measurement Modeling Language
29
Case Study
Example of relational database measurement
  • 4. Measurement execution

Alarcos Group. OOPSLA2008. DSM. SMML Software
Measurement Modeling Language
30
Case Study
Measurement model of PDQM (Portalweb Data Quality
Model)
30
Alarcos Group. OOPSLA2008. DSM. SMML Software
Measurement Modeling Language
31
Conclusions
  • 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
32
Future 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
33
Thank you
  • http//alarcos.inf-cr.uclm.es/
  • Beatriz.mora_at_uclm.es

34
Software 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
35
Example
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
36
Example
Example of relational database measurement
36
Alarcos Group. OOPSLA2008. DSM. SMML Software
Measurement Modeling Language
37
Example
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
38
Example
Example of relational database measurement
38
Alarcos Group. OOPSLA2008. DSM. SMML Software
Measurement Modeling Language
39
Software 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
40
QVT-Relations
QVT-Relations Metamodel
40
Alarcos Group. OOPSLA2008. DSM. SMML Software
Measurement Modeling Language
41
Transformació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
Write a Comment
User Comments (0)
About PowerShow.com