
Overview
TReMer+ is a tool for merging and consistency checking of distributed models (i.e., models developed by distributed teams).
The model merging framework in TReMer+ comes from an earlier conception of the tool, TReMer (Tool for Relationship-Driven Model Merging). The framework includes an operator for merging conceptual models in requirements modelling, and another for merging behavioural models in design and implementation. These operators have been described in the following papers, respectively:
- Mehrdad Sabetzadeh and Steve Easterbrook, "View
Merging in the Presence of Incompleteness and
Inconsistency". Requirements Engineering
Journal, Volume 11, Number 3, June
2006 [PDF]
[Publisher's Link]
- Shiva Nejati, Mehrdad Sabetzadeh, Marsha Chechik, Steve Easterbrook, and Pamela Zave, "Matching and Merging of Statecharts Specifications". 29th International Conference on Software Engineering (ICSE'07), Minneapolis, USA, May 2007. [PDF]
Details about the implementation of our merge operators can be found in the following papers:
- Mehrdad Sabetzadeh, Shiva Nejati, Steve Easterbrook, and Marsha Chechik, "TReMer: A Tool for Relationship-Driven Model Merging". Tools and posters track of Formal Methods 2006 (FM'06) Hamilton, Canada, August 2006. [PDF]. (No published proceedings.)
- Mehrdad Sabetzadeh, Shiva Nejati, Steve Easterbrook, and Marsha Chechik, "A Relationship-Driven Framework for Model Merging". Workshop on Modeling in Software Engineering (MiSE'07) at the 29th International Conference on Software Engineering, Minneapolis, USA, May 2007. [PDF]
- Mehrdad Sabetzadeh, Shiva Nejati, Sotirios Liaskos, Steve Easterbrook, and Marsha Chechik, "Consistency Checking of Conceptual Models via Model Merging". 15th IEEE International Requirements Engineering Conference (RE'07), New Delhi, India, October 2007. [PDF]. Talk [PDF]
Tool support for this approach is described in the following (upcoming) paper:
Mehrdad Sabetzadeh, Shiva Nejati,
Steve Easterbrook, and Marsha Chechik, "Global
Consistency Checking of Distributed Models with
TReMer+". 30th International Conference on
Software Engineering (ICSE'08), Leipzig,
Germany, May 2008. Formal Research
Demonstration. [PDF]
For consistency checking, TReMer+ makes use of CrocoPat, a tool developed by Dirk Beyer and Andreas Noack for querying and manipulating first order relations. The user interface component of TReMer+ is based on the graph visualization and layout technologies from JGraph.
Contributors
- Mehrdad Sabetzadeh (http://www.cs.toronto.edu/~mehrdad)
- Shiva Nejati (http://www.cs.toronto.edu/~shiva)
- Steve Easterbrook (http://www.cs.toronto.edu/~sme)
- Marsha Chechik (http://www.cs.toronto.edu/~chechik)
System Requirements
- Java 1.5 or better (TReMer+ does not work with Java 1.4 and earlier.)
-
- We have checked compatibility only with Sun's Java distribution for Linux and Windows, and Apple's Java distribution for Mac OS X. Mileage may vary with other Java distributions. If you cannot get TReMer+ to work on your platform, please let us know.
Download
- TReMer+ can be downloaded here (last modified: May 2007).
- To use TReMer+ for consistency checking, you also need to download and install CrocoPat 2.1.3 from here.
The source code for TReMer+ is available upon request under GNU GPL (General Public License).
Usage
- java -jar TReMerPlus.jar
The above invokes the graphical user interface of TReMer+. Through this interface you can create new or open existing projects. Within each project, you can specify models, build relationships between them, hypothesize and compute merges, and perform automatic consistency checking. The GUI currently supports state machines, simple UML domain models, and Entity-Relationship diagrams.
Examples and Case-Studies
Flash Demos:
Consistency Checking Performance
Bug Reports
Bug reports are very welcome. Please direct them to
Disclaimer: TReMer+ is provided with no warranty. Use at your own risk.