• No results found

A Metamodel for Specifying Quality Models in Model-Driven Engineering

N/A
N/A
Protected

Academic year: 2022

Share "A Metamodel for Specifying Quality Models in Model-Driven Engineering"

Copied!
17
0
0

Laster.... (Se fulltekst nå)

Fulltekst

(1)

A Metamodel for Specifying

Quality Models in Model-Driven Engineering

Parastoo Mohagheghi, Vegard Dehlen

SINTEF ICT, Oslo, Norway

(2)

Motivation (1)

„ A quality model refers to a set of quality attributes (or goals, characteristics) and relations between them, with the goal of evaluating the quality of something.

„ Various quality models exists with their definition of quality attributes. Many of these attributes are related to the final product such as functionality, reliability and performance.

„ However, we assume that these properties are affected by the quality of intermediate artefacts such as models and software development methods.

„ With MDE, models can become the primary artefacts as well.

(3)

Motivation (2)

„ MDE promises:

„ Better abstraction techniques and separation of concerns ->

improved communication between stakeholders, improved software quality, and portability of solutions.

„ Generation of artefacts from models -> increased productivity, improved software quality, traceability between artefacts etc.

„ Questions we try to answer in the Quality in Model-Driven Engineering (QiM) at SINTEF are:

„ What quality goals are important in MDE, related to models and modelling techniques including languages, transformations and tools?

„ How to achieve these quality goals?

„ How to measure them?

(4)

Some related work on quality models

The ISO model

Static measures Measured on

running software Measured on real product

Six quality characteristics: Functionality, Reliability, Usability, Efficiency, Maintainability and Portability

high-level intermediate

primitive

(5)

Dromey’s approach; 3 main principles

1. Identify a set of high-level quality attributes for the product;

2. Identify the product components;

3. Identify and classify the most significant, tangible, quality-carrying properties for each component;

4. Propose a set of axioms for linking product properties to quality attributes;

5. Evaluate the model, identify its weaknesses and refine it.

(6)

Lindland et al. model on the quality of conceptual models

Syntactic quality

Semantic quality

Pragmatic quality

Syntactic correctness Formal syntax Syntax checking

Goals Means

Model properties Modeling activities

Feasible validity

Feasible completeness

Formal semantics modifiability

Consistency- checking

Statement insertion Statement deletion

Feasible comprehension

Executability Expressive economy

Structuredness

Inspection Visualization Animation Explanation Simulation Filtering

(7)

The purpose of defining a metamodel for quality models

„ The quality models share some attributes and differ in some, and also differ in their view. We use the Dromey’s constructive approach and extend it.

„ The quality model we are developing has several purposes:

„ It can be viewed as a kind of research programme to facilitate the understanding of the meaning of quality in the MDE context;

„ It provides a platform for collecting state-of-the-art and for classification and comparison of approaches to develop artifacts with higher quality in a MDE approach. Here we also include results of empirical studies;

„ It provides a means to integrate earlier quality models.

„ The elements of the quality model are defined in a metamodel. A metamodel can be viewed from three different perspectives:

„ As a set of building blocks and rules used to build models;

„ As a model of a domain of interest;

„ As an instance of another model.

(8)

Related work on metamodeling related to quality (1)

„ Wagner and Deissenboeck propose to define a

metamodel that enables defining quality attributes in a so- called base model, which may be extended later to

application-specific purpose models. They have identified some elements of the metamodel to be:

„ Purpose of the model; as being constructive, predictive or assessing;

„ View; as being either product, user, manufacturing or value-based;

„ Quality attribute such as defined in the ISO standards;

„ Technique; if a quality model focuses on a specific technique, for example inspections;

„ Abstractness, which is the detail of a model, for example being general or product-specific.

(9)

Related work on metamodeling related to quality (2)

„ The working session in the 2nd workshop on Quality in Modeling (QiM’07) proposed the following model for classifying quality attributes.

„ Inspired from ISO 9126;

„ Classifies quality into project, product, process and quality-in-use.

(10)

Elements of the qulaity metamodel

QualityFramework

QualityGoal

Practice Target

subgoals

* 1..*

QualityCarryingProperty

*

EvaluationMethod

*

Viewpoint

*

1..*

Purpose

*

* 1..*

*

supportingPractices

*

supportingProperties

*

isEvaluatedBy QCPAcheivedBy

isEvaluatedBy

*

QGAcheivedBy

RelatedTo isImplemented

Realizes

has

(11)

Tool Support

„ One of our goals has been to learn about metamodeling;

applied in the domain of software quality.

„ What elements are needed to define quality models?

„ Can we apply modelling to develop quality models?

„ Can we apply transformations to the developed quality models?

„ To achieve the following goals, we provide tool support for the metamodel. An early version of this tool has been

implemented on the Eclipse platform using the Graphical

Model Framework (GMF).

(12)

Example: Quality of Domain-Specific Languages (DSLs)

„ One of the promises of MDE has been automatic generation of

artifacts from models which apparently leads to increased productivity and cost savings.

„ However, it is often impossible to express enough detail in

transformations as required for automatic generation of code for a specific domain in standard modeling languages like UML. This customization is either done by developing profiles of standard modeling languages or developing Domain-Specific Languages (DSLs). -> small, focused, executable languages

„ Other promises of using DSLs or profiles are bridging the

communication gap between domain experts who are familiar with the domain concepts and technical experts.

„ In the MODELPLEX project, several DSLs are going to be developed and we want to evaluate their quality.

(13)

Quality goals

(14)

Achieving quality goals (1)

(15)

Achieving quality goals (2)

(16)

Conclusions and future work

„ We have applied metamodeling to quality models to define core elements and their relations.

„ -> helps understanding

„ The purpose is to use state of the art to identify quality goals in the context of MDE and develop models that relate these to practices and evaluation methods.

„ -> helps extracting concepts and evidence

„ Future work concentrates on:

„ Defining a quality model for DSLs and generate documentation and surveys from the model;

„ Defining a quality model for models that integrates state of the art.

„ Challenges:

„ Metamodeling and tool development may just be experimental.

„ Quality models do not get wide acceptance.

„ But: we hope to use the work as a step to identify quality goals in MDE in future projects.

(17)

Thank You!

Questions?

Referanser

RELATERTE DOKUMENTER

As we are providing automated service selection, the client should only be provided with one ser- vice that will be automatically invocated. It is however important to keep in mind

In the present case, UDFs are used both for extracting information from the turbulent velocity field for input to the model and for calculating the evaporation rate; the

− CRLs are periodically issued and posted to a repository, even if there are no changes or updates to be made. NPKI Root CA CRLs shall be published bi-weekly. NPKI at tier 2 and

Figure 4.2 illustrates this concept, where a common middleware can choose between MMHS (STANAG 4406) for communications over disadvantaged grids, regular HTTP/TCP for

This article describes work on developing quality models in model-based software development by identifying stakeholders and their purposes of modelling, specifying quality

These promises cover several of the quality goals identified in various quality models and researchers have also started work on specific quality issues in MDE such as

Putting all the related work together provides requirements for quality frameworks and a list of quality goals and characteristics for some aspects such as models and languages,

Section 2 presents some definitions of software quality, the different purposes of modeling, work on quality frameworks and characteristics of MDE that are important when defining