SMML Software Measurement Modeling Language Beatriz Mora Flix
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
Contents • 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 2 Alarcos Group. OOPSLA’ 2008. DSM. SMML: Software Measurement Modeling Language
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. OOPSLA’ 2008. DSM. SMML: Software Measurement Modeling Language
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). 4 Alarcos Group. OOPSLA’ 2008. DSM. SMML: Software Measurement Modeling Language
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. OOPSLA’ 2008. DSM. SMML: Software Measurement Modeling Language
Software Measurement Framework Technological aspects – Adaptation to MDA M 3 ECORE Conforms to M 2 Software Measurement Metamodel Conforms to QVT Relations Metamodel Conforms to Software Measurement Model (3) M 1 Conforms to QVT Relations Model Conforms to Domain Metamodel (1) Conforms to Domain Model (2) Tranformation (4) Software Measurement Model (target) Alarcos Group. OOPSLA’ 2008. DSM. SMML: Software Measurement Modeling Language
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. OOPSLA’ 2008. DSM. SMML: Software Measurement Modeling Language
SMML (Software Measurement Modeling Language) Software Measurement Metamodel 17 Alarcos Group. OOPSLA’ 2008. DSM. SMML: Software Measurement Modeling Language
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. OOPSLA’ 2008. DSM. SMML: Software Measurement Modeling Language
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. OOPSLA’ 2008. DSM. SMML: Software Measurement Modeling Language
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. OOPSLA’ 2008. DSM. SMML: Software Measurement Modeling Language
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. OOPSLA’ 2008. DSM. SMML: Software Measurement Modeling Language
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. OOPSLA’ 2008. DSM. SMML: Software Measurement Modeling Language
SMML – Definition of a concrete syntax 24 Alarcos Group. OOPSLA’ 2008. DSM. SMML: Software Measurement Modeling Language
SMML – Definition of semantics 25 Alarcos Group. OOPSLA’ 2008. DSM. SMML: Software Measurement Modeling Language
Case Study Example of relational database measurement 1. Incorporation of domain metamodel 2. Creation of domain model 26 Alarcos Group. OOPSLA’ 2008. DSM. SMML: Software Measurement Modeling Language
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. OOPSLA’ 2008. DSM. SMML: Software Measurement Modeling Language
Case Study Example of relational database measurement Definition of software measurement model with SMML 28 Alarcos Group. OOPSLA’ 2008. DSM. SMML: Software Measurement Modeling Language
Case Study Example of relational database measurement 4. Measurement execution 29 Alarcos Group. OOPSLA’ 2008. DSM. SMML: Software Measurement Modeling Language
Case Study Measurement model of PDQM (Portalweb Data Quality Model) 30 Alarcos Group. OOPSLA’ 2008. DSM. SMML: Software Measurement Modeling Language
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. 31 Alarcos Group. OOPSLA’ 2008. DSM. SMML: Software Measurement Modeling Language
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. 32 Alarcos Group. OOPSLA’ 2008. DSM. SMML: Software Measurement Modeling Language
Thank you http: //alarcos. inf-cr. uclm. es/ Beatriz. mora@uclm. es
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. OOPSLA’ 2008. DSM. SMML: Software Measurement Modeling Language
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. OOPSLA’ 2008. DSM. SMML: Software Measurement Modeling Language
Example of relational database measurement 36 Alarcos Group. OOPSLA’ 2008. DSM. SMML: Software Measurement Modeling Language
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. OOPSLA’ 2008. DSM. SMML: Software Measurement Modeling Language
Example of relational database measurement 38 Alarcos Group. OOPSLA’ 2008. DSM. SMML: Software Measurement Modeling Language
Software Measurement Framework Technological aspects – QVT Relations transformation Textual Specification (. qvtext) QVT-Relation Model (. qvt) Transformation Parse in Textual Specificacion (. qvtext) QVT-Relation Model (. qvt) 39 Alarcos Group. OOPSLA’ 2008. DSM. SMML: Software Measurement Modeling Language
QVT-Relations Metamodel 40 Alarcos Group. OOPSLA’ 2008. DSM. SMML: Software Measurement Modeling Language
Transformación QVT-Relations • Transformation Model: los modelos de entrada. § § • Relation Domain: checkonly domain de la transformación, uno por cada modelo de entrada: § • el modelo de medición (incluido en QVT-Relation básico) el modelo del dominio: atributos name y uri del modelo. 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. OOPSLA’ 2008. DSM. SMML: Software Measurement Modeling Language
- Slides: 31