Quality in Model Driven Engineering

Quality in Model Driven Engineering

Teade Punter (Embedded Systems Institute, The Netherlands) and Jeroen Voeten (Eindhoven University of Technology, The Netherlands)
Copyright: © 2009 |Pages: 20
DOI: 10.4018/978-1-60566-006-6.ch002
OnDemand PDF Download:


This chapter argues that embedded systems design faces several challenges of which late integration and the difference in development productivity between disciplines are major ones. Model driven engineering (MDE) looks a promising approach to address these challenges. However, MDE is a new approach which has to be defined and implemented in close interaction by academia and industry the near future. We therefore provide a conceptual framework to understand the possibilities and the flaws in quality assurance in the MDE design flow.
Chapter Preview

Introduction To Embedded System’S Design

A. Embedded Systems

Model Driven Engineering as we deal with it in this chapter is related to embedded systems design. An embedded system is the information processing and controlling part that is embedded in another (the embedding) systems, e.g., a copier or MRI scanner. The embedded system plays a controlling or monitoring role in the embedding (or hosting) system. Typically, embedded systems communicate to their embedding systems by actuators and sensors, not by human communication. This makes embedded systems different from information systems. Nowadays, embedded systems can be found everywhere. For example in cars, copiers, cameras, cell phones.

Embedded systems are complex, because of for example, but not constrained to, their heterogeneity, concurrency and power constraints. One reason that they are complex is simply that they are big systems, e.g.,: the effort to develop them is huge, they contain many lines of code. Embedded systems are heterogeneous because they are built out of various components, including software processes, processors, accelerators, memories, busses and networks. To design a component, assumptions have to be made about other (heterogeneous) components in the system. Since embedded systems observe and control many parts of their embedding system, multiple processes have to run in parallel. This requires concurrent handling. Many embedded systems have limited power supplies such as batteries. Battery use stresses the importance of energy constraints in embedded systems. For example, because they are portable (like cell phones), are implanted in humans (like medical devices) or are used in isolated areas (like wireless detection devices).

Characterizing Embedded Systems Design

Embedded systems design aims at the design of complex information processing (sub)systems that will meet their requirements (functional as well as non-functional). The design should be done in a cost-effective way and should deliver the product in time (time-to-market). An embedded system design will therefore be judged by three main criteria: quality, effort and time. Because of the growing system complexity, a methodological approach or design flow is needed to meet these criteria. The design flow is the set of design activities (cf. method or development process, like Rational Unified Process (RUP)) needed to develop the system. An example of a design flow is the ordered set of activities: requirements definition, design and development, integration & testing and releasing, as shown in Figure 1.a. Other appearances of a design flow exist. For example, because of the experience that phases are not strictly separated but are intertwined (figure 1.b) or because of that other terminology is used for defining the phases (figure 1.c). Software tools are used to support the implementation of a design flow.

Embedded system design is often characterized as co-design of hardware and software (Wolf, 2003). For example, computer architecture provides designers with information about performance and energy consumption of processors. Knowledge about hardware components, and their cost, is needed to design software in a way that a cost-efficient system results that will meet its requirements. The embedding system might include involvement of other disciplines as well. Often disciplines are involved such as control engineering, electrical engineering and mechanical engineering. Taking more disciplines into account than software and hardware is denoted as multidisciplinary approach (Heemels & Muller, 2006). Each of these disciplines uses its own terminology, models of computation and tools. Knowledge about each of the disciplines and its interaction with other disciplines is needed to design embedding systems, such as a printer.

In this chapter, we focus on the design flow of embedded systems, more specifically: hardware and software co-design. This design flow will often be part of the development process of an embedding system. Therefore there will be an interaction of the design flow with multidisciplinary development. After having specified the (high-level and low-level) system requirements, the design phase starts which involves disciplines such as mechanical engineering, electrical engineering and software engineering. Although these disciplines are tightly coupled in the final system, their development is traditionally carried out in a rather mono-disciplinary and independent fashion, and the engineering results are delivered in a sequential way. Conventionally, first the mechanical subsystem is designed, then the hardware and finally the software.

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