TReMer: A T ool for Re lationship-Driven Model Mer ging Mehrdad Sabetzadeh and Shiva Nejati Department of Computer Science, University of Toronto, Toronto, ON M5S 3G4, Canada. Email: {mehrdad,shiva}@cs.toronto.edu 1 Introduction Model management is a crucial activity in large-scale software development where de- velopment tasks are often distributed over different teams. To support flexible, coordi- nated work, these teams need to maintain partial models of the overall system, and un- derstand the relationships between these models. Models of a proposed system may be manipulated in various ways, and the results of these manipulations may be used by an- alysts to evolve the models. Model management aims to keep track of the relationships between a set of models as they evolve, and to describe the manipulations performed over them in terms of a set of predefined operators. Bernstein [2] identifies a number of useful operators on models, including Match, for finding correspondences between models, Diff, for finding differences between models, and Merge, for combining a set of models. Easterbrook et al. [3] extend these with several complementary operators including Slice, for producing a projection of a model based on a given criterion, and Split, for retrieving the models involved in building a composite one. In conventional approaches to software development, models and programs are treated as textual artifacts and are managed via version control systems, supported by a number of relatively simple textual operations, including cut and paste, and text based differencing. In model-driven software development [12], artifacts are expressed in well-defined notations, such as those comprising UML. The richer semantic basis of these notations gives rise to more sophisticated model operations, and hence a greater management challenge. In this extended abstract, we describe a tool, TReMer, for performing the merge operation in a model-driven development setting. Merge is arguably one of the most important model management operations and is useful as a way of consolidating a set of models to gain a unified perspective, to understand their interactions, or to perform various types of end-to-end analysis over them. TReMer draws on the theory developed in our earlier work [8, 9, 13, 6, 3] where we describe how a set of models can be merged w.r.t. known or hypothesized relationships between them. We treat model relationships as explicit artifacts. This treatment offers two major advantages: Firstly, it makes our tool adaptable to different modelling do- mains. In particular, as we will argue in the next section, explicit relationships make it possible to provide a unified merge framework for both structural and behavioural modelling domains. Secondly, explicit relationships facilitate the exploration of merge alternatives by allowing users to articulate each alternative in a precise way.