Tracing evolution changes of software artifacts through model synchronization
- ISSN: 10636773
- ISBN: 0769522130
- DOI: 10.1109/ICSM.2004.1357809
Abstract
Software evolution encompasses all activities related to engineering software, from its inception to retirement. Propagating change across software models that are altered due to maintenance activities is a first step towards maintaining consistency between architectural design, and implementation models. Model synchronization techniques initially presented within the context of model driven architecture provide an instrument for achieving change trace-ability and consistency. We present a framework whereby software artifacts at different levels of abstraction such as architecture diagrams, object models, and abstract syntax trees are represented by graph-based MOF compliant models that can be synchronized using model transformations. In such a framework model dependencies are implicitly encoded using transformation rules and an equivalence relation is used to evaluate when two models become synchronized.
Tracing evolution changes of software artifacts through model synchronization
through Model Synchronization ∗
Igor Ivkovic1 and Kostas Kontogiannis2
1Dept. of Electrical and Computer Engineering
University of Waterloo
Waterloo, ON N2L3G1 Canada
iivkovic@swen.uwaterloo.ca
2 Dept. of Electronic and Computer Engineering
Technical University of Crete
Chania, 3700 Greece
kkontog@softnet.tuc.gr
Abstract
Software evolution encompasses all activities related
to engineering software, from its inception to retirement.
Propagating change across software models that are al-
tered due to maintenance activities is a first step towards
maintaining consistency between architectural, design, and
implementation models. Model synchronization techniques
initially presented within the context of Model Driven Archi-
tecture provide an instrument for achieving change trace-
ability and consistency. In this paper, we present a frame-
work whereby software artifacts at different levels of ab-
straction such as architecture diagrams, object models, and
abstract syntax trees are represented by graph-based MOF
compliant models that can be synchronized using model
transformations. In such a framework model dependencies
are implicitly encoded using transformation rules and an
equivalence relation is used to evaluate when two models
become synchronized.
1. Introduction
One of the major problems the software industry is fac-
ing is the drift of software designs and architectural descrip-
tions from the source code that is constantly changed due
to evolution or maintenance activities. Evolution of soft-
ware includes modifications performed at all stages of the
software development lifecycle, from inception to retire-
ment. Such modifications are performed on a wide range
1 This work is funded in part by the IBM Canada Ltd. Laboratory,
Center for Advanced Studies (CAS) in Toronto.
of software artifacts ranging from those at a high level of
abstraction, such as business processes, to architecture, de-
sign, and source code-level artifacts, such as architecture
graphs, object models, and abstract syntax trees. Each
change that is performed in any of these models is not al-
ways carried out in a systematic fashion, and maintenance
problems occur when a change on one artifact is not con-
sistently mapped and applied to another artifact of a soft-
ware system. The complexity of each change mapping is
inherently compounded with decisions regarding potential
information loss or gain related to differing levels of ex-
pressiveness of assorted artifacts.
In this paper, we investigate the problem of synchro-
nization between software models when one is altered due
to evolution or maintenance activities. Furthermore, we
present a framework for what we refer to as Model-Driven
Software Evolution (MDSE) paradigm that is based on prin-
ciples of Model Driven Architecture (MDA) [7]. In this
context, our view of software is in terms of models, each at
a different level of abstraction (i.e., requirements, architec-
ture, design, implementation). Each such model conforms
to and is an instance of a corresponding metamodel. [17]
Our research is focused on metamodels that have a common
graph theoretical basis and are compliant with the Meta-
Object Facility (MOF) [10].
Model synchronization can be explicit or implicit. In
explicit approaches, the dependence relations between two
models are directly defined and encoded (i.e., through a
static table). These approaches are rigid as they require
the creation and maintenance of structures necessary to
track dependencies between models. For instance, relations
among models that are once established would need to be
updated every time a source or target model is changed. In
Proceedings of the 20th IEEE International Conference on Software Maintenance (ICSM’04)
1063-6773/04 $20.00 © 2004 IEEE
Sign up today - FREE
Mendeley saves you time finding and organizing research. Learn more
- All your research in one place
- Add and import papers easily
- Access it anywhere, anytime



