• No se han encontrado resultados

Beatriz Mora Rivas

N/A
N/A
Protected

Academic year: 2023

Share "Beatriz Mora Rivas "

Copied!
22
0
0

Texto completo

(1)

S S M M M M L L

S S o o f f t t w w a a r r e e M M e e a a s s u u r r e e m m e e n n t t M M o o d d e e l l i i n n g g L L a a n n g g u u a a g g e e

2010-05-24 Version.1.0.0

Beatriz Mora Rivas

(2)

1

SMML - Software Measurement Modeling Language

C C o o n n t t e e n n t t s s

1. Introduction ... 4

2. Installation ... 5

2.1. Requirements ... 5

2.2. Installation ... 5

3. SMML Graphical editor: Software Measurement Modeling Language ... 6

3.1. Language Metamodel ... 6

3.1.1.SMML Associations... 6

3.1.2.SMML Entities... 7

3.2. Language Constraints... 15

3.3. Editor Options... 16

4. Software Measurement Model Definition ... 17

4.1. SMML Editor ... 17

5. Release notes ... 20

5.1. SMML v.01.00.00 ... 20

6. References... 21

(3)

2

SMML - Software Measurement Modeling Language

F F i i g g u u r r e e s s C C o o n n t t e e n n t t s s

Figure 1. SMML Metamodel... 6

Figure 2. Wizard to create a new SMML diagram or SMML File ... 17

Figure 3. SMML File... 18

Figure 4. SMML Diagram... 19

(4)

3

SMML - Software Measurement Modeling Language

T T a a b b l l e e s s C C o o n n t t e e n n t t s s

Table 1. SMML associations ... 6

Table 2. Abstract Entities not Modelables in SMML ... 7

Table 3. Entity class element in SMML ... 7

Table 4. Base Measures element in SMML ... 8

Table 5. Derived Measure element in SMML ... 9

Table 6. Indicator element in SMML... 10

Table 7. Measurement Method element in SMML ... 11

Table 8. Condition element in SMML ... 11

Table 9. Measurement Method element in SMML ... 12

Table 10. Analysis Model element in SMML... 13

Table 11. Decision Criteria element in SMML ... 14

Table 12. Information Need element in SMML ... 14

Table 13. Measurable Concept element in SMML... 15

Table 14. Quality Model element in SMML ... 15

(5)

4

SMML - Software Measurement Modeling Language

1 1 . . I I n n t t r r o o d d u u c c t t i i o o n n

SMML is a language which permits software measurement models to be built in a simple and intuitive manner. The SMML development requires both domain knowledge and language development expertise (Mernik et al., 2005) (Mora et al., 2008).

(6)

5

SMML - Software Measurement Modeling Language

2 2 . . I I n n s s t t a a l l l l a a t t i i o o n n

2 2 . . 1 1 . . R R e e q q u u i i r r e e m m e e n n t t s s

- Eclipse Galileo: http://www.eclipse.org/galileo/ (Modelling Package)

2. 2 . 2. 2 . In I ns st ta a l l la l at ti io on n

• Install Eclipse Galileo (Modeling Package):

http://www.eclipse.org/downloads/

• SMML editor 1.0.0:

o http://alarcos.esi.uclm.es/smf/smml/

• SMTool 1.0.0.

o SMML editor has dependencies with SMTool. Besides no sense to use SMML separate. To maximize its use SMTool must be installed.

ƒ http://alarcos.esi.uclm.es/smf/smtool

(7)

6

SMML - Software Measurement Modeling Language

3 3 . . S S M M M M L L G G r r a a p p h h i i c c a a l l e e d d i i t t o o r r : : S S o o f f t t w w a a r r e e M M e e a a s s u u r r e e m m e e n n t t M M o o d d e e l l i i n n g g L L a a n n g g u u a a g g e e

3 3 . . 1 1 . . L L a a n n g g u u a a g g e e M M e e t t a a m m o o d d e e l l

In this section the SMML metamodel is presented.

Figure 1. SMML Metamodel

3. 3 .1 1. .1 1. . SM S MM M L L A As ss s oc o ci i at a ti io on ns s

The SMML associations are presented in the following table:

Table 1. SMML associations

Entity Graphic Element Association

Non navigable association

Dependency

(8)

7

SMML - Software Measurement Modeling Language

3. 3 .1 1. .2 2. . SM S MM M L L E En n ti t it ti ie e s s

The SMML entities are presented in the following tables.

There are two types of entities in SMML: entities not modelables an entities modelables.

• Entities not modelables: these entities are defined in the metamodel like abstract entities. Theses entities are shown in the Table 2.

Table 2. Abstract Entities not Modelables in SMML

Entity Attributes MeasurementElement Name

Measure

name status value unit scale

OperableMeasure

name status value unit scale MeasurementApproach name operation

• Entities modelables: these entities can be defined by the user by using SMML editor.

Theses entities are shown in the following tables

Table 3. Entity class element in SMML

Element Type Description Graphic Element

EntityClass Entity The collection of all entities that satisfy a given predicate

Name Attribute

Domain metamodel name which is being measured.

If this element is not well defined, the software measurement process can not be carried out.

measurementDomain Attribute

Root element name of the domain metamodel.

If this element is not well defined, the software measurement process can not be carried out.

attributes Association

An entity class has one or more attributes.

An attribute can only belong to one entity class.

(9)

8

SMML - Software Measurement Modeling Language

Table 4. Base Measures element in SMML

Element Type Description Graphic Element

BaseMeasure (is a Measure and

an OperableMeasure) Entity

A measure of an attribute that does not depend upon any other

measure, and whose measurement approach is a measurement method.

name Attribute Base Measure name.

status Attribute

Base Measure Status. This value can not modified by the user. Is

parameter used to carry out the software measurement process by mean of QVT transformations.

value Attribute

Base Measure value, that is, the result of applying the model in the software

measurement process by mean of SMTool.

unit Attribute

Base Measure unit.

The unit in Base measure is the domain entity which is going to be measured, for example: Table (to Count Tables), Attribute (to Count Attributes), etc.

If this element is not well defined, the base measure can not be calculated.

scale Attribute

Base Measure Scale:

- Integers - Double - Etc.

measurementMethodAssociation Association

Every base measure uses one

measurement method. Every

(10)

9

SMML - Software Measurement Modeling Language

Element Type Description Graphic Element

measurement method defines one or more base measures.

attributes Association

A measure is defined for one or more attributes. An attribute may have several associated measures.

Table 5. Derived Measure element in SMML

Element Type Description Graphic Element

DerivedMeasure (is a Measure and

an OperableMeasure) Entity

A measure that is derived from other base or derived measures, using a measurement function as measurement Approach.

name Attribute Derived Measure

Name

status Attribute

Derived Measure Status. This value can not modified by the user. Is parameter used to carry out the software measurement process by mean of QVT

transformations.

value Attribute Derived Measure

value.

unit Attribute Derived Measure

value.

scale Attribute

Derived Measure Scale:

- Integers - Double Etc.

measurementFunctionAssociation Association

Every derived measure is calculated with one measurement function. Every

(11)

10

SMML - Software Measurement Modeling Language

Element Type Description Graphic Element

measurement function may define one or more derived measures.

Attributes Association

A measure is defined for one or more attributes.

An attribute may have several associated measures.

Table 6. Indicator element in SMML

Element Type Description Graphic Element

Indicator (is a Measure) Entity

A measure that is derived from other measures using an analysis model as measurement approach.

name Attribute Indicator name

status Attribute

Indicator Status. This value can not modified by the user. Is parameter used to carry out the software measurement process by mean of QVT transformations.

value Attribute Indicator value.

unit Attribute Indicator unit.

scale Attribute

Derived Measure Scale:

- Integers - Double Etc.

analysisModelAssociation Association

Every indicator is calculated with one analysis model. Every analysis model may define one or more indicators.

informationNeedAssociation Association

An indicator may satisfy several information needs.

Every information need is satisfied by one or more indicator.

Attributes Association A measure is defined for one or more attributes. An

(12)

11

SMML - Software Measurement Modeling Language

Element Type Description Graphic Element

attribute may have several associated measures.

Table 7. Measurement Method element in SMML

Element Type Description Graphic Element

MeasurementMethod (is a Measurement

Approach) Entity

A measurement method is the measurement approach that defines a base measure.

Name Attribute Measurement

Method Name

operation Attribute

Measurement Method operation. The current version only supports the

measurement method operation

“COUNT”

Conditions Association

A measurement Method has one or more conditions. A condition can only belong to one

measurement method.

Table 8. Condition element in SMML

Element Type Description Graphic Element

Condition Entity Define a specific condition on the measurement method.

name Attribute Condition name

entityAttribute Attribute Attribute name of the domain metamodel which will be measured.

condition Attribute Condition value, the current version supports the

(13)

12

SMML - Software Measurement Modeling Language

Element Type Description Graphic Element

following values:

- “=”

- <>

- <

- >

- <=

- >=

value Attribute The value that must satisfy the Condition. If the entityAttribute is an String type the value must be set between quotes ‘value’.

Table 9. Measurement Method element in SMML

Element Type Description Graphic Element

MeasurementFunction Entity

A measurement function is the measurement approach that defines a derived measure.

name Attribute Measurement

Function name

operation Attribute Measurement Function operation, the current version supports the following operation:

- + - - - / - *

This operation defines the operation applied between the two

operable measures.

m1 op m2

m1 Attribute The first operable measure (base or derived measure) selected to calculate the Derived Measure value.

m2 Attribute The second

operable

(14)

13

SMML - Software Measurement Modeling Language

Element Type Description Graphic Element

measure (base or derived measure) selected to calculate the Derived Measure value.

Table 10. Analysis Model element in SMML

Element Type Description Graphic Element

AnalysisModel Entity

An analysis model is the measurement approach that defines an indicator.

name Attribute Analysis Model name

operation Attribute

Measurement Function operation, the current version supports the following operation:

- + - - - / - *

This operation defines the operation applied between the two operable measures.

m1 op m2

interpretation Attribute

Analysis Model Interpretation, that is, the Analysis Model result. This value is obtained by analyzing the criteria decisions.

m1 Association

The first operable measure (base or derived measure) selected to calculate the Indicator value.

m2 Association

The second operable measure (base or derived measure) selected to calculate the Indicator value.

(15)

14

SMML - Software Measurement Modeling Language

Element Type Description Graphic Element

criteriaDecisions Association

An analysis model uses one or more decision criteria.

Every decision criteria is used in one or more analysis models.

Table 11. Decision Criteria element in SMML

Element Type Description Graphic Element

DecisionCriteria Entity

Thresholds, targets, or patterns used to determine the need for action or further investigation, or to describe the level of confidence in a given result.

The Decision Criteria establishes the Analysis Model interpretation.

If the Indicator value is between min and max value, the Analysis Model interpretation is the min and max value descriptor.

name Attribute Decision Criteria name minValue Attribute Decision Criteria min value.

maxValue Attribute Decision Criteria max value.

descriptor Attribute Decision Criteria descriptor.

Table 12. Information Need element in SMML

Element Type Description Graphic Element

InformationNeed Entity Insight necessary to manage objectives, goals, risks, and problems.

name Attribute Information Need name

measurableConceptAssociation Association

An information need is related to one measurable concept. A measurable concept is associated with one or more information needs.

(16)

15

SMML - Software Measurement Modeling Language

Table 13. Measurable Concept element in SMML

Element Type Description Graphic Element

MeasurableConcept Entity Abstract relationship between attributes of entities and information needs.

name Attribute Measurable Concept name

attributes Association A Measurable concept relates one or more attributes. An Attribute is related with one or more measurable concepts.

Table 14. Quality Model element in SMML

Element Type Description Graphic Element

QualityModel Entity

The set of measurable concepts and the

relationships between them which provide the basis for specifying quality

requirements and evaluating the quality of the entities of a given entity class.

Name Attribute Quality Model name

measurableConceptsAssociation Association

A quality model evaluates one or more measurable concepts. A measurable concept is evaluated by one or more quality models.

entityClassAssociation Association

A quality model is defined for a certain entity class. An entity class may have several quality models associated

3. 3 . 2. 2 . La L a n n gu g ua ag ge e C Co on ns st tr ra ai in n t t s s

- Only one element “EntityClass” can be defined in the diagram.

- Only one element “InformationNeed” can be defined in the diagram.

- Only one “EntityClass” element can be defined in the diagram.

- The MinValue attribute must be smaller than Maxvalue attribute of the DecisionCriteria element.

(17)

16

SMML - Software Measurement Modeling Language

3 3 . . 3 3 . . E E d d i i t t o o r r O O p p t t i i o o n n s s

- The smml diagram can be validated.

(18)

17

SMML - Software Measurement Modeling Language

4 4 . . S S o o f f t t w w a a r r e e M M e e a a s s u u r r e e m m e e n n t t M M o o d d e e l l D D e e f f i i n n i i t t i i o o n n

In this section, the steps necessary to define a SMML model is presented.

4. 4 . 1. 1 . SM S MM ML L E Ed di it t or o r

Software Measurement Modelling Language (SMML) (Mora et al., 2008) is a language which belongs to the SMF and supports the definition of software measurement models.

The Software Measurement Metamodel (SMM) (García et al., 2007) has been used in order to develop SMML. This metamodel is derived from the Software Measurement Ontology (SMO) (García et al., 2006) and defines the abstract syntax of SMML. The set of icons which form a part of the language have been created and/or selected in order to facilitate the definition of software measurement models by software engineers. The usage of general purpose languages to define domain measurement models is thus avoided.

SMML is a DSL with a clear syntactic and semantic definition due to its ontological foundation, with a clear syntactic and semantic definition and a solid ontological base. Besides, SMML fulfils the following general 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.

As stated in the previous section, SMML 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 aims to make SMF a more usable and intuitive framework for the user. In other words, this intends to do the measurement process more comfortable.

Figure 2. Wizard to create a new SMML diagram or SMML File

SMML Editor is a graphical editor which supports the SMML. This SMML editor has been created by using the Eclipse Graphical Modeling Framework (GMF), which provides a generative

(19)

18

SMML - Software Measurement Modeling Language

component and runtime infrastructure for developing graphical editors based on EMF (Eclipse Modeling Framework) and GEF (Graphical Editing Framework). This has facilitated to create the SMML editor from the Software Measurement Metamodel (SMM) which was previously defined in EMF. The EMF project is a modeling framework and code generation facility for building tools and other applications based on a structured data model. From a model specification described in XMI, EMF provides tools and runtime support to produce a set of Java classes for the model, along with a set of adapter classes that enable viewing and command-based editing of the model, and a basic editor.

SMML Editor supports two types of files (see Figure 2):

• SMML File: this file (with .smml extension) is an instance of SMML Metamodel and it can be edited with “SMML Model editor” (see Figure 3).This editor is a SMML version of Reflective Ecore Model Editor included in EMF. From this file an instance of SMML diagram file can be obtained.

Figure 3. SMML File

• SMML diagram: this is the graphical representation of the SMML file, it is written in xmi and it has smml_diagram extension (see Figure 4). This file can be edited with the

“SMML Diagram editing”, which permit to define the software measurement models in an easy manner. These models will be used to execute the measurement process.

(20)

19

SMML - Software Measurement Modeling Language

Figure 4. SMML Diagram

(21)

20

SMML - Software Measurement Modeling Language

5 5 . . R R e e l l e e a a s s e e N N o o t t e e s s 5 5 . . 1 1 . . S S M M M M L L v v . . 0 0 1 1 . . 0 0 0 0 . . 0 0 0 0

• Initial version.

(22)

21

SMML - Software Measurement Modeling Language

6 6 . . R R e e f f e e r r e e n n c c e e s s

García, F., Bertoa, M. F., Calero, C., Vallecillo, A., Ruíz, F., Piattini, M. y Genero, M. (2006).

Towards a consistent terminology for software measurement. Information and Software Technology 48 (8)(8): 631-644

García, F., Serrano, M., Cruz-Lemus, J., Ruiz, F. y Piattini, M. (2007). Managing Software Process Measurement: A Metamodel-Based Approach. Information Sciences 177: 2570–2586.

Mernik, M., Heering, J. y Sloane, A. M. (2005). When and how to develop domain-specific languages. ACM Computing Surveys (CSUR) Volume 37(4): 316-344.

Mora, B., García, F., Ruiz, F. y Piattini, M. (2008). SMML: Software Measurement Modeling Language. The 8th OOPSLA Workshop on Domain-Specific Modeling, Nashville (Tennessee) USA, University of Alabama at Birmingham. Department of Computer and information Sciences, http://www.dsmforum.org/events/DSM08/Papers/9-Mora.pdf.

Mora, B., Ruiz, F., Garcia, F. y Piattini, M. (2008). SMML: Software Measurement Modeling Language, Department of Computer Science. University of Castilla - La Mancha,

http://www.uclm.es/dep/tsi/pdf/SMML_Software_Measurement_Modeling_Language.pdf.

Referencias

Documento similar

points used hereafter [3] (Figure 2): A ant is the area of the anterior corneal surface [1,2,4]; A post is the area of the posterior corneal surface [1,2,4]; CV is the total

It is interesting to observe that these figures, derived from a numerical search as defined by the algorithm, are indeed quite intuitive and further confirm the results from

• Photometric parallaxes derived for dwarfs based on models or semi-empirical.

This is the most important result derived from this study, since it allows to build vertical turbulence profiles using day time ground layer profiles obtained

Using unperturbed neural stem cells (NSCs) derived from a murine conditional model of loss-of-function of RING1B, we unveil roles of RING1B in cell proliferation,

Nutrients derived from penguin colonies and other marine vertebrates altered the trophic interactions of communities within microbial mats, as well as the relative abundance and

Up 4 U directly increased the proliferation rate of endothelial cells, stimulated migration and tube formation, sprouting of endothelial cells and potentiated the proliferative

Technical efficiency is estimated by the implementation of the Shephard’s input or output distance functions, while allocative efficiency is derived as a residual between cost