Traceability in Model-Driven Software Development

Traceability in Model-Driven Software Development

Ståle Walderhaug (University of Tromsø, Norway), Erlend Stav (SINTEF ICT, Norway), Ulrik Johansen (SINTEF ICT, Norway) and Gøran K. Olsen (SINTEF ICT, Norway)
Copyright: © 2009 |Pages: 27
DOI: 10.4018/978-1-59904-699-0.ch006
OnDemand PDF Download:


This chapter introduces a tracability solution for use in a model-driven software development approach. It argues that a trace model based on a provided traceability metamodel will provide a flexible solution for all types of artifacts to be traced througout the lifetime of a software system. The proposed traceability solution is demonstrated in the BusCatcher example where traces are established and analyzed. The authors hope that the metamodel and solution design can assist researchers and tool vendors in the development of unified trace models and services for model-driven software development approaches. Only then can the full potential of traceability be achieved.
Chapter Preview
How can (trace) relations between the artifacts involved in a MDSD project be established, used and managed in order to improve control over the quality of artifacts throughout the lifetime of a software system?

This problem can be further broken down into three subproblems:

  • Artifact tools must create traceability information;

  • Transformation information must be shared with other tools; and

  • Services must be specified to improve software development process.

This chapter proposes a generic solution for traceability in MDSD that offers a metamodel and set of service specifications that is meant to cover both the specification and appliance of traceability. The core of the proposed traceability solution is a generic metamodel which can be used by a traceability manager to build a model of which artifacts and relations to trace, and which information to include in the traces. Further, the solution defines a set of extensions to the generic traceability metamodel. These extensions predefine reusable artifact and relation trace types, and are considered to be of common interests for various appliers of traceability. The predefined semantics of the extensions enable the development of tools with more predefined traceability support, and can also simplify and guide the development of trace models.

The objectives of this chapter are to:

  • Show the usefulness of a shared traceability solution in (model-based) software development projects;

  • Present a generic traceability solution for lifelong artifact traceability;

  • Propose a method for incorporating traceability into the development process and tools; and

  • Demonstrate the use of traceability services in an example.

The next section presents the background and the state of the art of traceability in software development. Then, a set of core traceability requirements and services are specified before a complete traceability solution is described. The described solution is used in a trivial example to demonstrate traceability concepts and services before remarks on future trends and concluding remarks are given.

Complete Chapter List

Search this Book:
Table of Contents
Pierre F. Tiako
Chapter 1
Alf Inge Wang, Carl-Fredrik Sørensen
This chapter presents a framework for differentiated process support in large software projects. Process support can be differentiated in different... Sample PDF
Differentiated Process Support for Large Software Projects
Chapter 2
Holger Giese, Stefan Henkler, Martin Hirsch, Vladimir Rubin, Matthias Tichy
Software has become the driving force in the evolution of many systems, such as embedded systems (especially automotive applications)... Sample PDF
Modeling Techniques for Software-Intensive Systems
Chapter 3
Jaroslav Král, Michal Žemlicka
Software intensive systems are systems strongly depending on supporting software. The software is typically large, complex, and it as a rule... Sample PDF
Service Orientation and Software-Intensive Systems
Chapter 4
Alf Inge Wang, Carl-Fredrik Sørensen, Hien Nam Le, Heri Ramampiaro, Mads Nygård, Reidar Conradi
This chapter describes a requirement analysis framework that may be used as a tool for developing client-server systems for mobile workers. The... Sample PDF
From Scenarios to Requirements in Mobile Client-Server Systems
Chapter 5
Gan Deng, Douglas C. Schmidt, Aniruddha Gokhale, Jeff Gray, Yuehua Lin, Gunther Lenz
This chapter describes our approach to model-driven engineering (MDE)-based product line architectures (PLAs) and presents a solution to address the... Sample PDF
Evolution in Model-Driven Software Product-Line Architectures
Chapter 6
Ståle Walderhaug, Erlend Stav, Ulrik Johansen, Gøran K. Olsen
This chapter introduces a tracability solution for use in a model-driven software development approach. It argues that a trace model based on a... Sample PDF
Traceability in Model-Driven Software Development
Chapter 7
Gerhard Chroust, Erwin Schoitsch
When designing a complex software-intensive system it is unavoidable to make some a-priori basic assumptions about its architecture. We introduce... Sample PDF
Choosing Basic Architectural Alternatives
Chapter 8
Rafael Capilla, Margarita Martínez, Francisco Nava, Cristina Muñoz
Virtual reality systems are a kind of complex software systems that need a lot of effort and resources during its development phase. Because rigid... Sample PDF
Architecting Virtual Reality Systems
Chapter 9
Kendra M.L. Cooper, Lirong Dai, Renee Steiner, Rym Zalila Mili
This chapter presents a survey of software architecture approaches. It is intended for a broad audience of students, practitioners, and researchers... Sample PDF
A Survey of Software Architecture Approaches
Chapter 10
Daniel G. Waddington, Nilabja Roy, Douglas C. Schmidt
As software-intensive systems become larger, more parallel, and more unpredictable the ability to analyze their behavior is increasingly important.... Sample PDF
Dynamic Analysis and Profiling of Multithreaded Systems
Chapter 11
James H. Hill, Douglas C. Schmidt, John M. Slaby
This chapter introduces the next generation of system execution modeling tools designed around modeldriven engineering (MDE) coupled with... Sample PDF
Evaluating Quality of Service for Enterprise Distributed Systems
Chapter 12
Jules White, Douglas C. Schmidt, Andrey Nechypurenko, Egon Wuchner
Model-driven development is one approach to combating the complexity of designing software intensive systems. A model-driven approach allows... Sample PDF
Reducing the Complexity of Modeling Large Software Systems
Chapter 13
Enis Afgan, Purushotham Bangalore, Jeff Gray
Grid computing environments are dynamic and heterogeneous in nature. In order to realize applicationspecific Quality of Service agreements within a... Sample PDF
A Domain-Specific Language for Describing Grid Applications
Chapter 14
Jeff Elpern, Sergiu Dascalu
Traditional software engineering methodologies have mostly evolved from the environment of proprietary, large-scale software systems. Here, software... Sample PDF
A Framework for Understanding the Open Source Revolution
Chapter 15
Syed Ahsan, Abad Shah
With the proliferation of Web, a tremendous amount of data is available to researchers and scientists in computational sciences, business... Sample PDF
Quality Metrics for Evaluating Data Provenance
Chapter 16
Krishnakumar Balasubramanian, Douglas C. Schmidt, Zoltán Molnár, Ákos Lédeczi
With the emergence of commercial-off-the-shelf (COTS) component middleware technologies software system integrators are increasing faced with the... Sample PDF
System Integration Using Model-Driven Engineering
About the Contributors