Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "SMML: Software Measurement Modeling Language Beatriz Mora, Félix García, Francisco Ruiz, Mario Piattini Department of Information Technologies & Systems."— Presentation transcript:

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 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 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 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 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

6 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. Alarcos Group. OOPSLA’2008. DSM. SMML: Software Measurement Modeling Language

7 7 Software Measurement Framework Conceptual architecture FMESP Alarcos Group. OOPSLA’2008. DSM. SMML: Software Measurement Modeling Language

8 Software Measurement Framework Technological aspects – Adaptation to MDA Domain Metamodel (1) M3 M2 M1 Conforms to Software Measurement Metamodel QVT Relations Metamodel Software Measurement Model (3) Conforms to QVT Relations Model Conforms to Tranformation (4) ECORE Software Measurement Model (target) Domain Model (2) Alarcos Group. OOPSLA’2008. 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. OOPSLA’2008. DSM. SMML: Software Measurement Modeling Language

10 10 Basic QVT-Relations Model (.qvt) Extended QVT-Relations Model (.qvt) QVT Transformation Software Measurement Model (Target) Measurement Execution Transformation Software Measurement Model (Source) Software Measurement Framework Technological aspects – QVT Relations transformation Alarcos Group. OOPSLA’2008. DSM. SMML: Software Measurement Modeling Language

11 Basic transformation SW Measurement Model source Transformation Extended transformation Domain Model SW Measurement Model target Input Output Software Measurement Framework Technological aspects – QVT Relations transformation Alarcos Group. OOPSLA’2008. DSM. SMML: Software Measurement Modeling Language

12 12 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. Textual specification (.qvtext) QVT-Relations Model (.qvt) Transformation Parse in Software Measurement Framework Technological aspects – Technological enviroment Alarcos Group. OOPSLA’2008. DSM. SMML: Software Measurement Modeling Language

13 13 Textual Specification (.qvtext) QVT-Relation Model (.qvt) Software Measurement Framework Technological aspects – Technological enviroment Alarcos Group. OOPSLA’2008. DSM. SMML: Software Measurement Modeling Language

14 14 The necessary steps to carry out the software measurement by using the SMF are explained below. 1.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). 2.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. 3.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. 4.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. Software Measurement Framework Technological aspects – Method Alarcos Group. OOPSLA’2008. DSM. SMML: Software Measurement Modeling Language

15 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

16 16 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. SMML – Definition of an abstract syntax Domain Definition Metamodel Alarcos Group. OOPSLA’2008. DSM. SMML: Software Measurement Modeling Language

17 17 SMML (Software Measurement Modeling Language) Software Measurement Metamodel Alarcos Group. OOPSLA’2008. DSM. SMML: Software Measurement Modeling Language

18 18 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. SMML – Definition of an abstract syntax Domain Definition Metamodel Alarcos Group. OOPSLA’2008. DSM. SMML: Software Measurement Modeling Language

19 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 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 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 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 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 24 SMML – Definition of a concrete syntax Alarcos Group. OOPSLA’2008. DSM. SMML: Software Measurement Modeling Language

25 25 SMML – Definition of semantics Alarcos Group. OOPSLA’2008. DSM. SMML: Software Measurement Modeling Language

26 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 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 28 Case Study Example of relational database measurement Definition of software measurement model with SMML Alarcos Group. OOPSLA’2008. DSM. SMML: Software Measurement Modeling Language

29 29 4. Measurement execution Case Study Example of relational database measurement Alarcos Group. OOPSLA’2008. DSM. SMML: Software Measurement Modeling Language

30 30 Case Study Measurement model of PDQM (Portalweb Data Quality Model) Alarcos Group. OOPSLA’2008. DSM. SMML: Software Measurement Modeling Language

31 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 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

33 Thank you http://alarcos.inf-cr.uclm.es/ Beatriz.mora@uclm.es

34 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 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 36 Example Example of relational database measurement Alarcos Group. OOPSLA’2008. DSM. SMML: Software Measurement Modeling Language

37 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 38 Example Example of relational database measurement Alarcos Group. OOPSLA’2008. DSM. SMML: Software Measurement Modeling Language

39 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 40 QVT-Relations QVT-Relations Metamodel Alarcos Group. OOPSLA’2008. DSM. SMML: Software Measurement Modeling Language

41 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


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

Similar presentations


Ads by Google