Engineering a DSL for Software Traceability Nikolaos Drivalos 1,2 , Dimitrios S. Kolovos 1 , Richard F. Paige 1 , and Kiran J. Fernandes 2 1 Department of Computer Science, University of York {nikos,dkolovos,paige}@cs.york.ac.uk 2 The York Management School, University of York kf501@york.ac.uk Abstract. The software artefacts at different levels of abstraction and at different stages of the development process are closely inter-related. For developers to stay in control of the development process, trace- ability information must be maintained. In this paper, we present the engineering of the Traceability Metamodelling Language (TML), a meta- modelling language dedicated to defining traceability metamodels. We present the abstract syntax of the language and its semantics, which are defined using a translational approach. Finally, we provide a case study that demonstrates the construction of a traceability metamodel that captures traceability information between two metamodels using TML. 1 Introduction A Model Driven Engineering process typically involves a number of models that capture different - but potentially overlapping - views of the system under de- velopment. Moreover, with the advent of Domain Specific Languages, it is not uncommon for more than one modelling languages to be used in the context of the same MDE process. In this context, establishing and maintaining traceability links between related models elements across different models is of paramount importance in order to maintain control of the overall process and reason about design decisions across multiple viewpoints and levels of abstractions. Following the discussion in [1], in [2] we argued that traceability information is a first-class MDE artefact and thus it should be maintained in the form of separate models that conform to semantically rich case-specific traceability meta- models and accompanying inter-model constraints. By applying this approach on a number of case studies - for each one of which we constructed a case- specific traceability metamodel and constraints - we have identified a number of reoccurring practices and patterns. In this work, we propose the novel Traceability Metamodelling Language (TML) that elevates core traceability concepts and patterns into first-class meta- modelling artefacts. We present the abstract syntax of the language, and specify its semantics using a translational approach in which TML models are auto- matically transformed to respective ECore [3] metamodels and accompanying constraints. D. Gaˇ sevi´ c, R. L¨ammel, and E. Van Wyk (Eds.): SLE 2008, LNCS 5452, pp. 151–167, 2009. c Springer-Verlag Berlin Heidelberg 2009