Quality-Driven Model Transformations: From Requirements to UML Class Diagrams

Quality-Driven Model Transformations: From Requirements to UML Class Diagrams

Silvia Abrahão (Valencia University of Technology, Spain), Marcela Genero (University of Castilla-La Mancha, Spain), Emilio Insfran (University of Castilla-La Mancha, Spain), José Ángel Carsí (Valencia University of Technology, Spain), Isidro Ramos (Valencia University of Technology, Spain) and Mario Piattini (University of Castilla-La Mancha, Spain)
Copyright: © 2009 |Pages: 25
DOI: 10.4018/978-1-60566-006-6.ch012
OnDemand PDF Download:


Model-Driven Architecture (MDA) is a software engineering approach that promotes the use of models and model transformations as primary development artifacts. Usually; there are several ways to transform a source model into a target model. Alternative target models may have the same functionality but may differ in their quality attributes (e.g.; understandability; modifiability). This chapter presents an approach to deal with quality-driven model transformations. Specifically; it focuses on a specific set of transformations to obtain UML class diagrams from a Requirements Model. A set of alternative transformations are identified; and the selection of the best alternative is done through a controlled experiment. The goal of the experiment is to empirically validate which alternative transformation produces the UML class diagram that is the easiest to understand. This evidence can be further used to define high-quality transformation processes; as it will be based on empirical knowledge rather than on common wisdom and the intuition of the researchers and developers.
Chapter Preview


Nowadays, the software development community is moving towards model-driven development processes whose goal is the development of software at a higher level of abstraction based on models and model transformations. Within this context, the Model-Driven Architecture (MDA) initiative (OMG, 2003) has attracted interest from both the research community and software practitioners. This approach comprises the use of models in all the steps of a software development project, until the delivery of the software on a given platform.

A MDA development process basically transforms a platform-independent model (PIM) into one or more platform-specific models (PSM), which are transformed into code (code model – CM). The CM is just the actual code generated from PSMs through transformation. Here, the goal is to decouple the way, in which software systems are currently defined, which is dependant on the technology they use (OMG, 2003).

A model transformation is a process of converting one model to another model. A model may be transformed to several alternative models that may have the same functionality but different quality attributes. For example, one model may be more reusable while another model may be more comprehensive to its stakeholders. Therefore, it is necessary to identify those transformations that produce models with the desired quality attributes.

To cope with the problem of selecting alternative transformations, this chapter presents an approach for quality-driven model transformations. The mechanisms to choose the appropriate alternatives can greatly differ depending on the nature and the domain of the transformations as well as the quality perspective that is chosen. We focus on a set of transformations defined to obtain UML class diagrams from a Requirements Model (Insfran, 2003). Assuring quality in representing the system’s conceptual model from requirements is particularly important, as the traceability between these models is not properly dealt with. Moreover, a conceptual model of good quality can help to minimize communication problems and misunderstandings of requirements among the stakeholders.

The quality perspective that we are interested in is the pragmatic quality1 (Lindland, Sindre & Sølvberg, 1994). This quality category addresses the comprehension aspect of the model from the stakeholders’ perspective. Pragmatic quality captures how the model has selected an alternative “from among the many ways to express a single meaning”, and it essentially deals with making the model easy to understand.

The comprehension goal specifies that all audience members (or interpreters) completely understand the statements in the model that are relevant to them. This is an import quality attribute since it is recognized as one of the main factors that influences maintainability (Selic, 2003) (Otero & Dolado, 2004) (Reinhartz-Berger & Dori, 2005) (Genero et al., 2005; 2007). A UML class diagram must first be understood before any desired changes to it can be identified, designed, or implemented. In terms of the Lindland et al. framework, improving pragmatic quality means increasing the degree of correspondence between the set of statements in the model and the set of statements that the user thinks the model presents (i.e., their understanding of the model).

Therefore, our main goal is to empirically evaluate which of the alternative transformations produces the UML class diagram that is easiest to understand. This evidence can be further used to define high-quality transformation processes, as it will be based on empirical knowledge rather than on common wisdom and the intuition of the researchers and developers.

The structure of the chapter is as follows. Section 2 presents the state-of-the-art for quality in model-driven development. Section 3 describes how UML class diagrams can be obtained from a Requirements Model using different transformation alternatives. This section also shows the definition of these transformations using QVT and their execution in a platform for model management called MOMENT. Section 4 describes the design and the results of the experiment carried out to empirically validate the selection of the alternative transformations according to the ‘understandability’ quality attribute. Section 5 describes our conclusions. Finally, section 6 presents a discussion on future research directions.

Complete Chapter List

Search this Book:
Table of Contents
Colin Atkinson
Jörg Rech, Christian Bunse
Jörg Rech, Christian Bunse
Chapter 1
Ariadi Nugroho
Many studies have been carried out to investigate what makes up good quality software. Some of the early models that define the quality of software... Sample PDF
Managing the Quality of UML Models in Practice
Chapter 2
Teade Punter, Jeroen Voeten
This chapter argues that embedded systems design faces several challenges of which late integration and the difference in development productivity... Sample PDF
Quality in Model Driven Engineering
Chapter 3
Examples and Evidence  (pages 57-77)
Sowmya Karunakaran
This chapter aims at highlighting the increased development productivity and quality that can be achieved by Model Driven Software Development... Sample PDF
Examples and Evidence
Chapter 4
Anna E. Bobkowska
Successful realization of the model-driven software development visions in practice requires high quality models. This chapter focuses on the... Sample PDF
Integrating Quality Criteria and Methods of Evaluation for Software Models
Chapter 5
Heiko Koziolek, Steffen Becker, Ralf Reussner, Jens Happe
Techniques from model-driven software development are useful to analyse the performance of a software architecture during early development stages.... Sample PDF
Evaluating Performance of Software Architecture Models with the Palladio Component Model
Chapter 6
Esther Guerra, Juan de Lara, Paloma Díaz
The goal of this work is to facilitate the task of integrating measurement and redesign tools in modelling environments for Domain Specific Visual... Sample PDF
Integrating Measures and Redesigns in the Definition of Domain Specific Visual Languages
Chapter 7
Measuring Models  (pages 147-169)
Martin Monperrus, Jean-Marc Jézéquel, Joël Champeau, Brigitte Hoeltzener
Model-Driven Engineering (MDE) is an approach to software development that uses models as primary artifacts, from which code, documentation and... Sample PDF
Measuring Models
Chapter 8
Tom Mens, Gabriele Taentzer, Dirk Müller
In this chapter, we explore the emerging research domain of model-driven software refactoring. Program refactoring is a proven technique that aims... Sample PDF
Model-Driven Software Refactoring
Chapter 9
Michael Wahler
Class models are typically specified at a high level of abstraction and subsequently refined with textual constraints to obtain higher maturity... Sample PDF
A Pattern Approach to Increasing the Maturity Level of Class Models
Chapter 10
Miroslaw Staron
Introducing Model Driven Software Development (MDSD) into industrial projects is rarely done as a “green field” development. The usual path is to... Sample PDF
Transitioning from Code-Centric to Model-Driven Industrial Projects: Empirical Studies in Industry and Academia
Chapter 11
Antonio Bucchiarone, Davide Di Ruscio, Henry Muccini, Patrizio Pelliccione
When engineering complex and distributed software and hardware systems (increasingly used in many sectors, such as manufacturing, aerospace... Sample PDF
From Requirements to Java Code: An Architecture-Centric Approach for Producing Quality Systems
Chapter 12
Silvia Abrahão, Marcela Genero, Emilio Insfran, José Ángel Carsí, Isidro Ramos, Mario Piattini
Model-Driven Architecture (MDA) is a software engineering approach that promotes the use of models and model transformations as primary development... Sample PDF
Quality-Driven Model Transformations: From Requirements to UML Class Diagrams
Chapter 13
Pankaj Kamthan
As software systems become ever more interactive, there is a need to model the services they provide to users, and use cases are one abstract way of... Sample PDF
A Framework for Understanding and Addressing the Semiotic Quality of Use Case Models
Chapter 14
Stefan Wagner, Florian Deissenboeck, Stefan Teuchert, Jean-François Girard
In model-driven software development as much as in classical code-driven development maintenance costs make up the bulk of the total life cycle... Sample PDF
Assuring Maintainability in Model-Driven Development of Embedded Systems
Chapter 15
Tibor Farkas
Premium quality and innovation are the cornerstones of the leading positions of car manufacturers and suppliers in the world market. The permanently... Sample PDF
Quality Improvement in Automotive Software Engineering Using a Model-Based Approach
Chapter 16
Claus Pahl, Boškovic Marko, Ronan Barrett, Wilhelm Hasselbring
Service engineering and service-oriented architecture as an integration and platform technology is a recent approach to software systems... Sample PDF
Quality-Aware Model-Driven Service Engineering
Chapter 17
Sven Abels, Wilhelm Hasselbring, Niels Streekmann, Mathias Uslar
This chapter introduces model-driven integration in complex information systems by giving two practical examples. It relies on the experiences the... Sample PDF
Model-Driven Integration in Complex Information Systems: Experiences from Two Scenarios
Chapter 18
Jane M.C. Oh
This chapter examines the experience of using model-based design in the context of development of critical software. The software is being developed... Sample PDF
High-Quality Software Models of the Mid-Infrared Instrument for the James Webb Space Telescope
About the Contributors