Quality-Aware Model-Driven Service Engineering

Quality-Aware Model-Driven Service Engineering

Claus Pahl (Dublin City University, Ireland), Boškovic Marko (University of Oldenburg, Germany), Ronan Barrett (Dublin City University, Ireland) and Wilhelm Hasselbring (University of Kiel, Germany)
Copyright: © 2009 |Pages: 31
DOI: 10.4018/978-1-60566-006-6.ch016
OnDemand PDF Download:


Service engineering and service-oriented architecture as an integration and platform technology is a recent approach to software systems integration. Quality aspects ranging from interoperability to maintainability to performance are of central importance for the integration of heterogeneous, distributed service-based systems. Architecture models can substantially influence quality attributes of the implemented software systems. Besides the benefits of explicit architectures on maintainability and reuse, architectural constraints such as styles, reference architectures and architectural patterns can influence observable software properties such as performance. Empirical performance evaluation is a process of measuring and evaluating the performance of implemented software. We present an approach for addressing the quality of services and service-based systems at the model-level in the context of modeldriven service engineering. The focus on architecture-level models is a consequence of the black-box character of services.
Chapter Preview


With software services becoming a strategic capability for the software sector, a service engineering discipline needs to address service development problems based on suitably flexible modelling and composition support. An increasing need for flexibility in this area is caused by changing user requirements, evolving services, and varying deployment contexts. Software services are application that are provided ‘as-is’ at certain locations in order to be integrated into existing applications or composed to larger systems. Essential in this process are abstract descriptions or models of the service functionality and other service characteristics. This makes model-driven software development both a highly suitable, but actually also necessary framework to adequately develop service-based software systems. Composition and integration-oriented modelling has already been successfully utilised for model-driven services development. The high complexity of modern software makes its development costly and error-prone. Model-driven development (MDD) is an approach that deals with software complexity by making software models primary artefacts of the software development process. MDD utilises two aspects of models. Firstly, in various engineering disciplines, predictions about a software system can be made based on a model. Secondly, even complete implementations for different platforms and languages can be generated from models.

The aim of this chapter is to address quality aspects of model-driven service engineering. We address two specific facets of quality assurance for model-driven software development: the model-driven design and development of high-quality software and the identification of quality aspects in model-driven development. Some specific aspects that we discuss in the context of quality aspects in model-driven service development are:

  • modelling and architecture are concept that are closely linked in the context of model-driven development and service-oriented architecture,

  • patterns for the model-driven development of service architectures to structure models and to enhance the integration task,

  • model-based design and analysis of specific quality aspects for service-based systems.

We aim to demonstrate that model-driven architecture and design of this specific type of service-based software systems can yield high-quality software. Based on an analysis of the state of the art of service engineering and its platform and application requirements supported by a case study analysis, we identify the central quality aspect pertinent to services. This analysis is necessary in order to justify techniques for the quality-aware model-driven service engineering. Factors that impact the quality are:

  • network and platform characteristic impacting on for instance performance,

  • service-orientation to enhance interoperability and reusability,

  • evolution and change as inevitable factors impacting on maintainability.

Service engineering and service-oriented architecture as an integration and platform technology is a recent approach to service-based software systems integration. Quality aspects, however, have not been addressed in sufficient depth in this context. Our technical contribution is an architecture- and pattern-based model-driven service engineering framework that aims at high-quality models as well as quality implementations. While functionally oriented design patterns have been widely used to support the development of large-scale software systems, we combine a service-specific range of these patterns with distribution patterns, which directly impact service-specific quality aspects such as performance. We complement this architectural perspective with an empirical, model-driven performance evaluation technique. To provide trustworthy software, quality attributes have to be satisfied. Performance is a quality attribute that shows the degree to which a software system or its components meet the objectives for timeliness. Quality attributes such as performance are of central importance for the integration of heterogeneous, distributed service-based systems.

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