ImageNetDiff: Finding Differences in Models
Lawrence Cabac, Kolja Markwardt and Jan Schlüter
Department of Informatics, University of Hamburg, Germany
Abstract. In this paper we propose a method and present a tool as plugin for RE-
NEW that supports the process of discovery of differences in possibly conflicting
versions of all kinds of supported diagrams. These diagrams can be either semi-
formal UML diagrams, Petri net models or simple JHotDraw drawings. Instead
of searching for differences on the syntactical or even on the semantical level, we
choose to find differences on the visual level.
1 Introduction
During development of applications developers frequently encounter (and have to deal
with) differentand/or conflicting versions of model artifacts. Especiallyin shared projects
where modeling artifacts are shared through source code management systems (SCM)
such as the Concurrent Versions System (CVS) or Subversion conflicts frequently ap-
pear and have to be resolved manually by the developer. This is especially true for
Petri net-based applications, since here the models are the code base of the system and
are thus treated as usual code with all attributes, such as collective code ownership. In
the evaluation of the code (Petri nets) of other modeling artifacts the main problem is
the identification of the syntactical differences or equalities. However, on the one hand
formally it is very hard to verify graph equality and even harder to determine the min-
imum of parts that are different. The graphical representation, on the other hand, may
contain valuable hints for the mentioned problems but may also differ without change
in the syntax. The merging of changes is usually a manual task, even if only different
parts of the nets have been modified. In contrast, when text-based source code is used,
merging of non-conflicting concurrent changes is possible. To our knowledge no tools
exist so far that manages the merging to some extent or even supports the developer
in this task. Even if a string representation of the net code exists, usually this code is
not handleable by common tools such as diff [3] (or windiff). This means that models
in source code management systems are treated as binary files, even if the file repre-
sentaiton of the diagram (model) is text-based, such as XML – as with SVG (Scalable
Vector Graphics).
In this paper we propose a simple but efficient method that can simplify the task
of the discovery of differences under certain conditions. To this means we exploit the
graphicalrepresentation of the nets and transfer the problem to finding differences in the
visual image of the Models. We also present an implementation of the method as plugin
for RENEW [5, 6], a multi-formalism tool whose graphical engine is based on JHotDraw
(www.jhotdraw.org) and supports all kinds of modeling techniques (e.g.: Petri nets,
use case diagrams, sequence diagrams, class diagrams) and drawings (including import
Cabac L., Markwardt K. and Schlüter J. (2009).
ImageNetDiff: Finding Differences in Models.
In Proceedings of the 7th International Workshop on Modelling, Simulation, Verification and Validation of Enterprise Information Systems, pages
156-161
DOI: 10.5220/0002202101560161
Copyright
c
SciTePress