Elsevier

Information and Software Technology

Volume 91, November 2017, Pages 142-159
Information and Software Technology

A dedicated approach for model composition traceability

https://doi.org/10.1016/j.infsof.2017.07.002Get rights and content

Abstract

Context: Software systems are often too complex to be expressed by a single model. Recognizing this, the Model Driven Engineering (MDE) proposes multi-modeling approaches to allow developers to describe a system from different perspectives. In this context, model composition has become important since the combination of those partial representations is inevitable. Nevertheless, no approach has been defined for keeping track of the composition effects, and this operation has been overshadowed by model transformations.

Objective

This paper presents a traceability approach dedicated to the composition of models. Two aspects of quality are considered: producing relevant traces; and dealing with scalability.

Method

The composition of softgoal trees has been selected to motivate the need for tracing the composition of models and to illustrate our approach. The base principle is to augment the specification of the composition with the behavior needed to generate the expected composed model accompanied with a trace model. This latter includes traces of the execution details. For that, traceability is considered as a crosscutting concern and encapsulated in an aspect. As part of the proposal, an Eclipse plug-in has been implemented as a tool support. Besides, a comparative experiment has been conducted to assess the traces relevance. We also used the regression method to validate the scalability of the tool support.

Results

Our experiments show that the proposed approach allows generating relevant traces. In addition, the obtained results reveal that tracing a growing number of elements causes an acceptable increase of response time.

Conclusion

This paper presents a traceability approach dedicated to the composition of models and its application to softgoal trees. The experiment results reveal that our proposal considers the composition specificities for producing valuable traceability information while supporting scalability.

Introduction

Traceability consists in linking the software development artifacts to each other through specific relationships [1]. Its practice is recognized as an essential activity that enhances quality aspects of the final solution (e.g. efficiency, maintainability, ...). For example, functional coverage analysis can be achieved by exploring traceability relationships between requirements and their realizations [2]. Also, relations between design products and their implementations provide a support for optimizing maintenance tasks and analyzing impacts of changes [3], [4], [5].

Moreover, the complexity of current systems makes it essential to use a traceability support. The number of software artifacts is increasing significantly, traceability management helps mastering this complexity by exposing intrinsic relationships and by recording the life cycle of each artifact. However, this legitimate need for traceability practice and the various advantages it offers do not confer a wide scale use. This is due, essentially, to the additional cost of capturing and maintaining traceability links, and the divergence of interests between the links creators and users [6].

The requirements engineering community was the first to invest in traceability integration. Its purpose being to ensure that the requirements are well covered by the final product, traceability is presented as a support to such assessment. Thereafter, the traceability benefits have attracted the interest of Model Driven Engineering (MDE) researches. In this software engineering field, other aspects of traceability management have emerged. Those aspects depend in terms of traceability intentions (the users’ expectations by its practice) and the nature of the elements to be traced (model or non model artifacts). Essentially, two classes of traceability approaches were identified [7]: requirements traceability and model transformations traceability.

Indeed, in a Model Driven Development (MDD) process, the final system is obtained by transforming requirements towards solutions that realize them. These solutions are not directly produced through one shot operation, but they result from sequential transformations applied to the primary models. Accordingly, requirements traceability specifically addresses the management of relationships between requirements and the corresponding solutions. While model transformations traceability focuses on capturing the effects of executing model transformations against the managed models. Nevertheless, the model transformation operation does not constitute the only pillar of MDD. The composition operation is also of major importance as it supports multi-modeling approaches. Indeed, to reduce the complexity of the development activity, developers can describe the system by as many models as they want. These partial representations will be less complex than the global model. However, they need to be composed to deal with model validation and synchronization issues, and to better understand the interrelations between them.

Nonetheless, the composition of models remains a complex activity. In order to overcome this issue, traceability practice is presented as a significant solution. Indeed, traces expose the exact effects of executing the composition and help developer to better comprehend interrelations among managed models. Also, they provide a basis for validating the composition (e.g. each element of the composed model has to be connected with a traceability link which justifies its existence) and evolving models when changes occur (e.g. elements that are impacted by removing a given source model element can be retrieved from analyzing traceability links they are connected with). Taking full benefits of the aforementioned possible exploitations of traceability information implies the capture of expressive and interesting traces. However, given that existing transformation traceability supports disregard the composition features; their application to composition scenarios compromises the expressiveness of traces and leads to the production of traceability information almost worthless.

Recognizing this, the paper presents a traceability management approach dedicated to the model composition operation. Our proposal is applied to model compositions specified with a rule based language. The principal is inspired from the work presented by Jouault [8] and it consists in allowing the composition to generate traces like other target elements. Hence, traces that expose the effects of applying the composition specification to the source models are constructed similarly and in parallel to the construction of the composed model elements.

Fig. 1 illustrates this idea. The basic artifact of the traces generation process is a preexisting specification that allows generating the composed model. The principle is to augment this specification with the behavior it needs to generate traceability information. After that, the execution of the resulting specification will produce two outputs: the default composed model, and the corresponding trace model. This latter conforms to a generic traceability metamodel that provides the concepts needed to express the expected traceability information. For implementing such mechanism, we consider traceability as a crosscutting concern that is encapsulated in an aspect. The application of this aspect (by means of a dedicated weaving process) weaves the traces generation patterns into the primary composition specification.

In previous works [9], [10], we presented the specialization of this traces generation process for the Epsilon Merging Language EML [11] and the ATLAS Transformation Language ATL [12]. We described the corresponding traces generation patterns as well as mechanisms to perform the weaving of these patterns into the composition specifications. The current paper focuses on the validation of the proposed traceability approach. By using the ComposeTracer plugin (i.e. the tool support we implemented for the proposed traceability approach) we realized different composition scenarios. After that, we calculated and compared the values taken by some appropriated metrics to validate the relevance of the generated traces. Also, we relied on a statistical method for analysis (i.e. linear regression) to predict the variation of response time depending on the number of elements to be traced. For convenience, we summarize the specific contributions of this paper in three points:

  • Composition of softgoal refinement trees which has been selected to demonstrate the need for a traceability approach dedicated to the model composition operation.

  • Implementation details of the tool supporting the proposed traceability approach.

  • Results of an empirical study that aims to assess the traces relevance and the scalability of the traceability support.

The remainder of this paper is structured as follows. In Section 2, we introduce our traceability approach. Section 3 presents an illustrative example that motivates the need for a dedicated composition traceability approach. Section 4 gives a background to traceability management and lists a set of requirements that have driven our approach. Section 5 provides an overview of our conceptual proposal. In Section 6, we explain implementation details of the ComposeTracer plug-in which supports the traces generation. Section 7 presents the validation of the proposal. Section 8 discusses our contributions to overcome some traceability challenges. Section 9 lists the related works. Finally, Section 10 summaries this paper and presents future work.

Section snippets

Overview of the proposed traceability approach

The aim of this section is to provide a global overview of our traceability approach dedicated to the composition of models. Basically, such approach for generating traces is applied on the composition of any type of software artifacts models (e.g. requirements models, design models, implementation models). However, given the type of traceability information produced by our approach and especially its granularity level, the proposed approach is mainly intended for analysts and designers.

Need for a dedicated model composition traceability approach: a motivating example

The aim of this section is to motivate the need for a traceability approach dedicated to the composition of models. The illustrative example we have chosen is the composition of softgoal trees. These latter allow representing refinements of Non-Functional Requirements (NFRs) under the NFR framework [13]. We selected this scenario because problems of handling separated softgoal trees are clearly identified in the literature [14], and admitting that traceability is a key factor to address them.

We

Traceability management for model composition

In this section, we present the main concepts related to traceability management in MDE. Thereafter, we introduce a set of requirements that must be met by a traceability approach dedicated to the composition of models.

Conceptual proposal

In this section, we describe first the metamodel that defines the traceability information to be captured (Section 5.1), and then we detail mechanisms that underpin the production of traces (Section 5.2).

The structuring of traceability information and the generation mechanisms are designed in such a way to satisfy the aforementioned requirements. These latter comprises some requirements that are specific to the model composition operation and generic ones that were derived from the analysis of

Overview of the tool support

In order to provide a proof of concept for our traceability approach, we have developed an eclipse plug-in called ComposeTracer as a tool support. It allows generating and visualizing traces that correspond to the execution of a composition specification. The fact that EMF is a base for a multitude of MDD tools prompted us to choose it as a development context of our plug-in. This is to provide a natural integration of the proposed solution in the basic MDD framework. Hence, ComposeTracer can

Validation

After presenting the implementation details, we introduce in this section a set of points for the validation of the proposed approach. The main objectives are:

  • To assess the relevance of the generated traces by means of some appropriate metrics (Traces relevance).

  • To discuss the extent to which our approach fits to the increase of elements to be traced (Scalability).

The validation follows a process inspired from Vara et al. [28]. It includes five steps: selection of application examples, design

Discussion

In what precedes, we presented the implementation of the ComposeTracer plug-in. This prototype served as a support to the realization of some experiments that have led to validate our approach. Indeed, we could assess the relevance of the generated traces and the scalability of the traceability support.

In addition to scalability, we are also interested in two other significant traceability challenges [25]: configuration and portability. But since we have not validated experimentally the

Related work

This section briefly presents related works that fit under the transformation traceability field. We recall that the expressiveness of the generated traces is compromised because existing works consider the composition of models as a specific case of model transformations. Indeed, no relevant concept is defined for the merging behavior. The workaround is the definition of the corresponding expressive data for specifying the link type, but this supposes that the traceability support provides a

Conclusion and future work

Although traceability management issues in MDE are widely studied, and that many related contributions have been proposed, we did not find any traceability solution dedicated to the model composition operation. The only possible option would be to apply the existing transformation traceability supports to trace composition scenarios. Nevertheless, exploiting such solutions leads to expressiveness and reusability problems.

To address these limitations, our approach can automatically generate

References (48)

  • M. Andries et al.

    Graph transformation for specification and programming

    Sci. Comput. Program.

    (1999)
  • G. Spanoudakis et al.

    Software traceability: a roadmap

    Handbook of Software Engineering and Knowledge Engineering

    (2004)
  • S. Walderhaug et al.

    Traceability in model-driven software development

    Des. Softw. Intensive Syst.

    (2008)
  • J. Cleland-Huang et al.

    Event-based traceability for managing evolutionary change

    IEEE Trans. Softw. Eng.

    (2003)
  • A. von Knethen et al.

    Quatrace: A tool environment for (semi-) automatic impact analysis based on traces

    19th International Conference on Software Maintenance (ICSM 2003)

    (2003)
  • B. Amar et al.

    Trace transformation reuse to guide co-evolution of models

    ICSOFT 2010 - Proceedings of the Fifth International Conference on Software and Data Technologies, Volume 2

    (2010)
  • N. Aizenbud-Reshef et al.

    Model traceability

    IBM Syst. J.

    (2006)
  • I. Galvão et al.

    Survey of traceability approaches in model-driven engineering

    11th IEEE International Enterprise Distributed Object Computing Conference (EDOC 2007

    (2007)
  • F. Jouault

    Loosely coupled traceability for ATL

    European Conference on Model Driven Architecture, Traceability Workshop ECMDA-TW

    (2005)
  • Y. Laghouaouta et al.

    A graph based approach to trace models composition

    J. Softw. JSW

    (2014)
  • Y. Laghouaouta et al.

    On the use of graph transformations for model composition traceability

    IEEE 8th International Conference on Research Challenges in Information Science, RCIS 2014

    (2014)
  • D.S. Kolovos et al.

    Merging models with the epsilon merging language (EML)

    9th International ConferenceModel Driven Engineering Languages and Systems, MoDELS 2006

    (2006)
  • F. Jouault et al.

    Transforming models with ATL

    Satellite Events at the MoDELS 2005 Conference

    (2005)
  • L. Chung et al.

    Non-Functional Requirements in Software Engineering

    (2000)
  • B. Wei et al.

    A formalism for extending the NFR framework to support the composition of the goal trees

    17th Asia Pacific Software Engineering Conference, APSEC 2010

    (2010)
  • R. Laleau et al.

    A Survey of Non-Functional Requirements in Software Development Process

    Technical Report TR-LACL-2008-7

    (2008)
  • S. Supakkul et al.

    A UML profile for goal-oriented and use case-driven representation of NFRs and FRs

    Third ACIS International Conference on Software Engineering, Research, Management and Applications (SERA 2005)

    (2005)
  • D.S. Kolovos et al.

    Eclipse development tools for epsilon

    Eclipse Summit Europe, Eclipse Modeling Symposium

    (2006)
  • C. Jeanneret et al.

    A reference process for model composition

    The 2008 AOSD Workshop on Aspect-Oriented Modeling

    (2008)
  • T.T.T. Nguyen

    Codèle: Une Approche de Composition de Modèles Pour la Construction de Systèmes à Grande Échelle

    (2008)
  • D. Kolovos et al.

    The Epsilon Book

    (2015)
  • D.S. Kolovos et al.

    On-demand merging of traceability links with models

    European Conference on Model Driven Architecture (ECMDA) workshop on traceability

    (2006)
  • R.F. Paige et al.

    Rigorous identification and encoding of trace-links in model-driven engineering

    Softw. Syst. Model.

    (2011)
  • N. Drivalos et al.

    Towards rigorously defined model-to-model traceability

    European Conference on Model Driven Architecture, Traceability Workshop ECMDA-TW

    (2008)
  • View full text