Integrating Measures and Redesigns in the Definition of Domain Specific Visual Languages

Integrating Measures and Redesigns in the Definition of Domain Specific Visual Languages

Esther Guerra (Universidad Carlos III de Madrid, Spain), Juan de Lara (Universidad Autónoma de Madrid, Spain) and Paloma Díaz (Universidad Carlos III de Madrid, Spain)
Copyright: © 2009 |Pages: 28
DOI: 10.4018/978-1-60566-006-6.ch006
OnDemand PDF Download:


The goal of this work is to facilitate the task of integrating measurement and redesign tools in modelling environments for Domain Specific Visual Languages (DSVLs), reducing or eliminating the necessity of coding. With this purpose, we have created a DSVL called SLAMMER that includes generalizations of some of the more used types of product metrics and frequent model manipulations, which can be easily customised for any other DSVL in a graphical way. The metric customisation process relies on visual patterns for the specification of the elements that should be measured in each metric type, while redesigns (as well as other actions) can be specified either personalizing generic templates or by means of graph transformation systems. The provided DSVL also allows creating new metrics, composing metrics, and executing actions guided by measurement values. The approach has been empirically validated by its implementation in a meta-modelling tool, which has been used for several DSVLs. In this way, together with the DSVL specification, a SLAMMER model can be provided containing a suite of metrics and actions that will become available in the final modelling environment. In this chapter we show a case study for a notation in the web engineering domain. As ensuring model quality is a key success factor in many computer science areas, even crucial in model-driven development, we believe that the results of this work benefit all of them by providing automatic support for the specification, generation and integration of measurement and redesign tools with modelling environments.
Chapter Preview


Diagrammatic notations are pervasive in software development, e.g. to specify, understand and reason about the system to be built. When the notations are constrained to a particular application domain, they are called Domain Specific Visual Languages (DSVLs) (Gray et al., 2004). These provide high-level, domain-specific, graphical primitives, having the potential to increase the user productivity for the specific modelling task. Being so restrictive they are less error-prone than general-purpose languages, and easier to learn.

DSVLs are frequently used in Model-Driven Software Development (MDSD) (Kent, 2002) as a means to capitalize the knowledge in a certain application domain. MDSD seeks increasing quality and productivity in software development by considering models as the primary asset, from which the application code is generated. Although its steep learning curve has been pointed out as one of its main disadvantages, its benefits outweigh the drawbacks, and the use of appropriate modelling tools can help developers to overcome this and other problems. Thus, many efforts are being currently spent in order to provide adequate tool support for the specification and generation of rich modelling environments for DSVLs (DSLTools, 2007; GMF, 2007; Lédczi et al., 2001; Pohjonen & Tolvanen, 2002) encompassing aspects of the MDSD process, such as facilities for code generation, reporting, formal verification, or quality assessment (Guerra et al., 2006), which is the topic of the present chapter.

Software quality is defined as “the totality of features and characteristics of a software product that bear on its ability to satisfy stated or implied needs” (ISO/IEC 9126, 1991). By stated needs we refer to explicit system requirements, mostly functional. Quality features of this type are product correctness, completeness and reliability, and the use of formal methods can help to achieve them. Implied needs are those ones that, although may be incomplete or not specified, if they are not present in the final product then this is considered to have less quality. Some features of this type are efficiency, usability, maintainability, extensibility or cohesion. Product metrics (Fenton, 1996) measure such features in order to control and improve the quality of software products. In this chapter, we are interested in generating tools to measure the quality of software system designs specified using any arbitrary (domain specific) visual notation. We will use the term “model quality” to refer to the quality properties of the software system that a model represents. Note that, as in MDSD code is generated from models, it is natural to lift up the mechanisms to check the quality and correctness of applications from code to models.

However, even if measurement is a key quality control activity in most engineering domains (Basili et al., 1994; Whitmire, 1997), this is sometimes neglected in Software Engineering. A factor that may attract a more widespread use is its support by tools, which is even more critical for automation-based processes such as MDSD. Its use helps detecting defects prior to implementation, saving time and budget. The problem is that adapting, implementing and integrating measurement mechanisms for the plethora of DSVLs and tools is costly and time-consuming, and usually does not take advantage of previous developments. Our goal is to reduce such cost, by making the customisation of measures for any kind of DSVL easy.

Additional techniques to enhance system quality from its very design are redesigns and design patterns. Redesigns are design modifications that do not change the functionality but improve model quality. This concept is similar to the concept of refactoring for code (Fowler, 1999). Design patterns (Gamma et al., 1995) are a catalog of best practices that can be applied in order to solve specific problems in software design. Again, the proliferation of notations and tools can hamper the automated application of redesigns and the use of patterns.

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