=Paper=
{{Paper
|id=None
|storemode=property
|title=Staged Evolution with Quality Gates for Model Libraries
|pdfUrl=https://ceur-ws.org/Vol-1008/paper7.pdf
|volume=Vol-1008
|dblpUrl=https://dblp.org/rec/conf/doceng/RothGLR13
}}
==Staged Evolution with Quality Gates for Model Libraries==
Staged Evolution with Quality Gates
for Model Libraries
Alexander Roth Andreas Ganser
RWTH Aachen University RWTH Aachen University
Ahornstr. 55 Ahornstr. 55
52074 Aachen, Germany 52074 Aachen, Germany
roth@se.rwth- ganser@swc.rwth-
aachen.de aachen.de
Horst Lichter Bernhard Rumpe
RWTH Aachen University RWTH Aachen University
Ahornstr. 55 Ahornstr. 55
52074 Aachen, Germany 52074 Aachen, Germany
lichter@swc.rwth- rumpe@se.rwth-
aachen.de aachen.de
ABSTRACT results of mapping objects from the real world to a higher
Model evolution is widely considered as a subject under re- level of abstraction [25].
search. Despite its role in research, common purpose con- These models are often formulated in UML for two rea-
cepts, approaches, solutions, and methodologies are missing. sons. First, because “for larger and distributed projects,
Limiting the scope to model libraries makes model evolution UML modeling is believed to contribute to shared under-
and related quality concerns manageable, as we show below. standing of the system and more effective communication” [5].
In this paper, we put forward our quality staged model Second, UML models frequently serve as inputs for code gen-
evolution theory for model libraries. It is founded on evo- eration, which helps prototyping, speeds up development,
lution graphs, which offer a structure for model evolution and supports generation of parts of the final system. This
in model libraries through evolution steps. These evolution reduces the risks of working at an inappropriate level of ab-
steps eventually form a sequence, which can be partitioned straction or to get lost in details.
into stages by quality gates. Each quality gate is defined by Since models are such essential assets in MDD, it is widely
a lightweight quality model and respective characteristics proposed to reuse models. This would decrease develop-
fostering reusability. ment time and increase software quality [22, 16]. Conse-
quently, models should be stored in model libraries, which
enable model management and allow for model reuse. A
Categories and Subject Descriptors challenge regarding model libraries is to provide models of
D.2.13 [Software Engineering]: Reusable Software—Do- high quality, since model quality is a matter of subjectivity
main engineering, Reusable libraries, Reuse models and hard to measure precisely [24]. Additionally, models in
libraries undergo changes over time. Altogether this puts an
Keywords extra burden on maintaining reusable models at high qual-
ity, which we investigate subsequently.
Model Evolution, Model Quality, Quality Gates, Model Li- We believe that evolution and quality in model libraries is
braries insufficiently supported and, to the best of our knowledge,
we could not find an approach enabling guided model evo-
1. INTRODUCTION lution. This is surprising, since model quality and evolution
Omnipresent computers have lead to increasing complex- have been a subject under research for a long time already
ity of programs and their development. In order to stay on (sec. 2). Most importantly, model evolution is generally un-
top of things, numerous approaches were proposed and one derstood as a goal that is achieved only if the model has
among them is Model-Driven Development (MDD). It en- been adapted guaranteeing the system’s integrity (sec. 2).
ables designing software by means of models, which are the In contrast, we believe that the understanding of quality
and evolution needs to shift, when considered for model li-
braries (sec. 3). But this requires a more formal approach
that supports evolution for model libraries (sec. 3.4) and
helps to partition model states into stages according to their
reusability (sec. 3.5). In this approach, each stage is sepa-
This work is licensed under the Creative Commons Attribution- rated by a gate, which is derived from a quality model and
ShareAlike 3.0 Unported License (CC BY-SA 3.0). To view a copy
of the license, visit http://creativecommons.org/licenses/by-sa/3.0/. respective characteristics focusing on reusability (sec. 4).
All in all, we contribute a stage model enhanced with qual-
DChanges 2013, September 10th, 2013, Florence, Italy. ity gates, which are defined by aspects of a quality model.
ceur-ws.org Volume 1008, http://ceur-ws.org/Vol-1008/paper7.pdf .
2. RELATED WORK model metrics and reviews.
Model evolution, as we will present, can be discussed Supporting quality dimensions, we employ the results by
closely related to model libraries and quality of models. In Lindland et al. [19]. They define syntactic, semantic, and
the following, we present the current understanding of model pragmatic quality as the cornerstones of their quality di-
evolution, model repositories, and model quality. However, mensions. Bansiya et al. describe that all of these quality
we intend to look at model evolution in model libraries and dimensions can influence each other [3]. We extended Lind-
will point out differences to the current understanding of land’s approach to take into account emotional quality.
model evolution. Multiple approaches exist to define UML model quality.
Evolution of models is often considered as a goal one is The most suitable for us is by Lange et al. [17]. They de-
trying to achieve automatically. A tool providing support for scribe model quality as a set of dimensions and identified two
that is MoDisco [6] (cf. AM3 [1]), which aims at support- primary use cases of models: maintenance and development.
ing evolution of legacy systems by model-driven approaches. For each of these, model characteristics, which can influence
That means, MoDisco is for re-engineering legacy software multiple model purposes, are derived from the proposed set
by means of models and starting a model driven development of dimensions. The characteristics have to be measured to
from gleaned models. In addition, issues of co-evolution are draw conclusions about the model’s quality. However, Mo-
discussed. However, we keep to plain model evolution and hagheghi et al. point out that measuring the presented char-
propose that it is aimless and cannot be achieved. Conse- acteristics is challenging [23]. These challenges are reduced
quently, it has to be guided in the right direction. when model evolution is considered for model libraries, since
Another tool providing support for model evolution and model quality can be limited to general quality.
co-evolution is COPE. It monitors evolution in an operation-
based manner and applies traced changes to other mod- 3. MODEL EVOLUTION
els [12]. Moreover, these traces can be stored in a library Evolution has been a subject under research for decades.
so they can be forwarded or applied to other models as In contrast to its roots in biology, evolution theories are
well. This is important as co-evolution is the focus of this rather new to computer science. While Lehman summarized
project. Our approach differs slightly, since we do not need observations on software evolution in the eighties [18], it is
to monitor changes in the long run and focus on quality questionable if these observations hold true for state-of-the-
aspects and stages that depend on the actions performed art software development. For example, Model Driven De-
on the models. But, some similarities between COPE and velopment (MDD) changed software development in a way
our approach can be found in regard of the stages underly- that some assumptions might need to be reconsidered. Con-
ing the approach. In the end, we need more formally defined sequently, we investigated interdisciplinarily and analyzed
stages, while COPE needs more formally defined operations. potential influences, bearing in mind that our area is model
These operations are derived from oodb-schema experience evolution in model libraries. We did so, to define this evo-
and object-oriented source code experience, i.e., refactoring, lution, its characteristics, and the underlying formalism.
and are overview over high-level operations or others. All
together, operations are seen as structural or non-structural 3.1 Influences of Model Libraries
primitives. For example, specialization, generalization, dele- Existing research in model evolution assumes that model
gation, or inheritance are such primitive operations. Others evolution happens within software systems and addresses ba-
are replacement and merge-split [13]. sically two concerns. On the one hand, collaboration is seen
Since we study evolution in model libraries, we need to as one cause initiating model evolution. This is due to dif-
discuss model management. Such systems offer mechanism ferent developers and modelers working on the same model
to query for models, resolve conflicts, and manage version- without a shared repository. As a consequence, these mod-
ing. As a consequence, aspects of co-evolution are usually els are less frequently reviewed leading to declining model
out of scope. For example, MOOGLE is a model search en- quality. On the other hand, integrity is seen to hamper
gine with advanced querying functionality and user-friendly model evolution, since adapted models need to preserve cer-
user interface support [20]. Second, ReMoDD aims at doc- tain constraints. One of these constraints might be that
umentary purpose by offering models to the modeling com- system’s integrity has to be preserved. In conclusion, these
munity [9]. Third, the “Model Repository” manages models two concerns define model evolution as a goal.
in a graph structure, holding, e.g., classes as vertices and as- Looking at model evolution in a context of model libraries
sociations as edges [28]. Fourth, AMOR is a model library and model reuse, the properties of model evolution change.
providing advanced conflict resolution and versioning sup- This is due to models examined by different modelers dis-
port [2]. None of these model libraries take model evolution regarding any environment and purely focusing on reusabil-
into consideration. Consequently, we have implemented our ity. Hence, the models are meant to provide solutions for
own model library, which offers model evolution support. problems preserving experience while ignoring any other in-
But evolution support, compared to versioning, makes tegrity. As a result, the models are supposed to not contain
sense only if a common understanding of model quality is technical details and maintain high quality. (cf. figure 1 left)
maintained. In conceptual modeling, quality is seen as a sub-
jective and rather social than a formally definable property 3.2 Lehman Laws in Model Evolution
lacking a common understanding and standards [24]. Moody The Lehman laws [18] offer four aspects which can be
explains that the main challenge in defining model quality is adapted to model evolution. First, model evolution is trig-
the absence of measurable dimensions. Fortunately, model gered, if a model needs to be changed. This might be due to
libraries limit the scope noticeably, so we can present an ap- changing requirements or bugs. Second, if no attempts are
proach to measure model quality in model libraries. It is undertaken to decrease model complexity, it will be less often
based on measurable quality dimensions and backed up by reused. The reason for that is mostly because the purpose of
the model is hazed. Third, model evolution is feedback reg- ing faults, adapting, improving a model, and preserving in-
ulated; hence, evolution happens after the model has been tegrity between models and source code [14]. Still, adaption
reviewed and deployed. Last, except for adaptions that are is one major influence on model evolution, even if model
necessary keep the mapping between a particular range of evolution is understood as undirected, infinite, and unpre-
the real world and the model itself, the quality of a model dictable [4, 7, 21]. Taking a closer look at this kind of evo-
is not influenced by a constant need for adaption. For in- lution, Judson et al. define three types [14]. Adaptive evo-
stance, models that provide a suitable solution might not be lution happens due to changes in requirements, and perfec-
changed but just reused. tive evolution comprises enhancements in the models design
As a consequence, models in a model library should fo- quality; corrective evolution summarizes error corrections.
cus on problem solving omitting technical aspects. In this These model evolution types characterize the reasons for
regard, the size of a model is of vital importance for its evolution rather than describing activities as in maintenance.
reusability. We basically consider the size of a model as the It is important to understand that model evolution is not
number of classes, attributes, and methods. To that end, maintenance, since maintenance changes models and thereby
large models are harder to reuse than small models. More- influences model evolution. In addition, maintenance is not
over, models that changed over time require reviews by other the only reason for model evolution. A model can evolve
modelers to maintain reusability. Finally, model evolution due to structural changes that are forced by, e.g., successive
does not inherit hidden evolution, i.e., changes in size always development and not sustainment.
impact the systems visibly [29]. Another important aspect is that model evolution rarely
happens without conflicts. Mens et al. subdivide these con-
3.3 Model Evolution in Model Libraries flicts into two types: evolutionary and composition con-
Since we limit model evolution to model libraries, we limit flicts [22]. Evolutionary conflicts are conflicts describing the
its start to the moment the model is added to a model li- change of the model’s behavior. This means, a property that
brary. Consequently, Lehman’s definition of evolution as “a holds in a model snapshot does not hold for its successor.
progressive and beneficial process of changes in evolving at- Composition conflicts result from co-evolution of referenced
tributes of an entity” [18] needs refinement. This means, models. In other words, if a model holds references to an-
progressive changes need to be considered as add, delete, other model, these references need to be verified.
rename, and retype operations with the semantics defined
in [12]. This correlates with Keienburg et al., who define 3.4 Model Evolution Graph
evolution as “proceeding an ordered list of model change A first step in formalizing model evolution in model li-
primitives on an existing component model and finally create braries is through structuring its progress. This can be
a new model version” [15]. Adapting this to model evolution achieved by adapting version graphs known from version
means that model evolution needs a definition of model ver- control systems to model evolution. Eventually, this suits
sions, we call model snapshots. Each time a model is changed as the foundation for tool support and a methodology.
in a model library, the model has evolved and has formed a Derived from version control graphs, a model evolution
new snapshot. We define two consecutive model snapshots graph represents a sequence of pairwise connected model
of the same model as an evolution step. A sequence of model snapshots. Each snapshot is contained in a vertex repre-
snapshots represents model evolution, in our terms. senting a model at a certain point in time as defined above.
An example for model evolution is depicted in figure 1. These vertices are labeled with unique version ids as known
It shows a class diagram modeling a jukebox. Starting in from version control systems. Moreover, each vertex has at
snapshot 1 the model is changed by applying rename, re- least two adjacent edges, which are labeled with transition
type, delete, or add operations. This results in a snapshot ids. A simple excerpt of a model evolution graph is depicted
2. Further changes then might lead to several more snap- in figure 1. It shows that a model starts in a snapshot labeled
shots and eventually the model will be in snapshot n. In this with a version id 1 and progresses to snapshot n. Usually,
example, some technical details, as the suffix DAO indicates, each transition is labeled as well, e.g., with σ1 .
spoiled snapshot 1 and should be removed first. Each edge in a model evolution graph represents a se-
quence of primitive operations applied to a model while pro-
gressing to the next snapshot. In more detail, these primitive
Jukebox operations are defined as τadd , τdelete , τrename , and τretype .
JukeboxDAO
discs play() credits They form a sequence of primitive operations through σi
pay()
discs: MediaSet being a word defined as σi ∈ {τadd , τdelete , τrename , τretype }∗ ,
credits[]: Credit where i ∈ N.
...
play() Now, formally defining the entire model evolution graph,
Medium Credit
pay() it comprises a tuple (EGmodel , s, t), where EGmodel = (V, E)
titles[]: String processPay()
is a graph with a vertex set V and an edge set E and s, t are
costs[]: Credit convertInput()
labeling functions. s : V → S is a function for some domain
S labeling each vertex. Each edge is labeled by the func-
Snapshot 1 Snapshot n
tion t : E → T , where T = {τadd , τdelete , τrename , τretype }∗ .
Altogether, this enables a definition of model evolution in
Figure 1: Model Evolution Example model libraries, which we define as a sequence of evolution
steps, which, in turn, are transitions in our model evolution
It is important to understand that model evolution is not graph. This means, model evolution in model libraries is a
solely based on adaptations and it is to be distinguished sequence of model snapshots; i.e., the evolution in figure 1
from maintenance, because maintenance focuses on correct- is the sequence (1, ..., n).
3.5 Model Evolution Stages τi τj
We conduced a small field study with an exemplary model
evolution, and participants said that model evolution graphs
should contain status information for each snapshot. Con-
sequently, a model evolution graph can be partitioned into start vague idM decent
idM
sequences of evolution steps with equal status information.
For example, the excerpt from figure 1 could show how a id
M
id
M M
model evolves by going through the snapshot 1 with status id
“vague” and being in snapshot n with status “decent”. fine
Rooting qualitative evaluations on “traffic lights” seemed
most reasonable to our participants. As a result, the number
of stages was chosen to be three, as it is intuitively obvious
what a model in “red”, “yellow” or “green” condition means τk
in terms of reusability. As a nice side effect, the cognitive
load of these three stages is negligible, since the number is
small and the semantics of the colors is obvious. We choose Figure 2: Model Evolution Stages
the names to be vague, decent, and fine.
A vaguely reusable model is indetermined with respect to P
it’s reusability and quality. Its label is “red”, i.e., the stage defined as Q := {vague, decent,Pfine}. is the collec-
is vague. This means, the model stays in the library for tion of input symbols defined as := Q × (T ∪ {idM })
further processing and is offered for reuse, but the modeler with T := {τadd , τdelete , τrename , τretype }. Moreover, q0 is the
needs to be cautious using this model. It might be that this defined starting state (q0 := vague) and F is the empty set
model holds some specific suffixes (cf. “DAO” in figure 1), (F := ∅) since evolution is not regarded finite. Finally, δ is
technology dependent elements, adapters for legacy use, or the transformation and defined as δ := δv ∪ δd ∪ δf , with
even errors. Despite all this uncleanliness, it was chosen
δv := {(vague, τi ) 7→ vague | τi ∈ T }
to be put in the library for reuse since it is thought to be
reusable in general. Due to these characteristics of “vague”, ∪ {(vague, idM ) 7→ decent},
every model put in the library starts in this stage. δd := {(decent, τj ) 7→ decent | τj ∈ T }
As the major issues are fixed, the model progresses to be ∪ {(decent, idM ) 7→ vague}
a decently reusable model. Its label is “yellow” now, i.e.,
the stage is decent. This means, the model does not hold ∪ {(decent, idM ) 7→ fine}, and
any specifics or errors and is reusable in general. Still, it δf := {(fine, τk ) 7→ fine | τk ∈ {τrename , τretype }}
might be, that certain care needs to be taken if a modeler ∪ {(fine, idM ) 7→ decent}
reuses this model, for example, the purpose does not per-
∪ {(fine, idM ) 7→ vague}
fectly match the intuition or a design decision is not clever.
Even the layout might not be very appealing or the qualita- A closer look at the transitions unveils that some non-
tive statements rely on assessments only but not on actual determinism is inherent in this automaton. First, transitions
experience while reusing this model. that go from the fine stage to another stage could represent
A finely reusable model is considered almost perfectly the same type of operations. Second, the identity operations
reusable and holds a “green” label indicating that the stage is are no hindrance between stages. This means, so far it is
fine. Now, the purpose is in line with the model and the qual- always possible to change the stage and this is why user
ity is most reasonable. Notwithstanding that, models most interaction based on quality assessments will be required
likely will not be reusably “out of the box”. This might be later. But first, an example should provide a better idea
due to a template mechanism that requires a modeler to fill how a model might progress through different stages.
in the optional parts or due to adaption that is required by
this particular reuse. If any operation other than renaming 3.7 Model Evolution in Action
or retyping is applied, the model looses it’s fine status. The above mentioned automaton is non-deterministic; so,
room is left for reasoning how this could be changed. We use
3.6 Model Evolution Automaton the example from figure 1 and demonstrate how it might un-
Taking into account the above mentioned reasoning and dergo evolution in a model library. This will set the reason-
operations, the formal model of the model evolution stages ing required for transition guards between stages and even-
can be transformed into an automaton as depicted in fig- tually demand a quality model for decision support.
ure 2. It shows, how a model is initially put in a vague As our jukebox from figure 1 was considered beneficial for
stage and that certain operations (τi ) can be performed our model library, it was extracted from its environment and
until an identity operation (idM ) moves the model to de- stored for reuse. Since most of the newly arriving models
cent stage and so forth. The considered operations com- are expected to be biased in one way or another, the initial
prise adding, deleting, renaming and retyping elements in stage of our jukebox model is vague. In our example this
the model. Their impact on the model is quite different, is very reasonable, because the model contains a suffix that
which limits the operations available on a model in fine indicates its purpose and spoils the cleanness of this model.
stage. This is, because adding or deleting elements in a Without going into detail with quality in modeling, we can
model in fine stage could alter the model
P entirely. say that this model can be improved.
More formally, the automaton (Q, , Z, δ, q0 , F ) com- As a modeler improved the model to a certain extent, it
prises the following elements: Q is the set of vertices and can progress to “decent” stage. In our example, a modeler
needs to remove the suffix DAO to make the model hold one Meta-Model
class with a clean name. This was achieved by a simple conformity
rename operation and now the model is free from technolog- Syntactic Quality Transformability
ical details. At this point, the modeler only needs to add,
e.g., a description and model can progress to “decent” stage.
Defect-Freeness
This means, it is all right but certainly not “fine”. Hence,
the design should be revised, though this model is reusable
in general. As a consequence, it is highly unlikely that it Semantic Validity
will be reused as it is. On the contrary, a modeler will most
likely need to apply further add, delete, rename, or retype Semantic Quality Completeness
Model Quality
operations, if the model is reused. For example, some de-
pendent classes, which obviously belong to this model, will
Model
Confinement
need to be designed. In our example, a Jukebox is useless
without a definition of a MediaSet.
As soon as the model matured further, it can progress to Understandability
“fine” stage. This will have needed that some modelers re-
viewed this model or some of them removing model issues. Pragmatic Quality Maintainability
Eventually, the gained snapshot might be like snapshot n
from figure 1. Mind that, this happened only with our de- Purpose
fault set of operations, which is mentioned above. The point Extraction
is, that this model came to a stage that is “fine” for reuse.
From now on, this model is valid in itself and can be reused Emotional
Appeal
by other modelers. Additionally, it might offer template Quality
support, which includes further modeling advise.
Since the quality of models and, likewise, template in-
Figure 3: Model Quality Dimensions
formation breaks easily, when, e.g., add or delete actions
are applied, only rename and retype actions are allowed in
“fine” staged models. This is due to add and delete oper-
First, focusing on reusability, it is sufficient to restrict syn-
ations altering the model in a way that might totally alter
tactic quality to be described by the following three charac-
the purpose and validity of that model. This is why these
teristics: Meta-model conformity describes the conformness
actions lower the stage immediately. But it depends on the
of the model to the abstract syntax specifying the model-
reasoning of a modeler to decide on the next stage. Most
ing language, i.e., the model is well-formed. Additionally,
likely, the model will only drop to a vague stage if it was split
transformability states that a generator, which understands
in two distinct parts, which need to be considered as “new”
the model’s syntax, can successfully transform a model into
in the model library. Otherwise, add and delete operations
another representation, e.g., source code. Finally, a model
will lead to “decent” stage.
is defect-free, if it does not contain any syntax errors. More-
From the above, we understand that some of the tran-
over, syntactic quality can be used for error prevention, and
sitions need a conscious decision whether the model pro-
error detection. Error correction is, however, not feasible,
gresses to another stage. In order to help modelers to take
due to uncertain modeler goals.
these decisions, a quality model would be beneficial. But it
Second, the extent to which the model describes the as-
is challenging to find such a model, since there is no precise
pect it should model, i.e., correspondence between a model
definition of reusability for model libraries, nor is there a
and its domain, is addressed by semantic quality. We sub-
common understanding of what a quality model for model
divide this dimension into: validity, completeness, and con-
libraries might be. This is why we investigated further and
finement. A model is of high validity if, and only if, ev-
found that this particular environment focusing on reusabil-
ery statement defined by the model is valid in the domain.
ity limits certain aspects extensively, so that we were able
Whenever a model includes an invalid statement from the
to propose a reasonable solution.
domain, it must be true that the advantage to simply re-
move this statement is higher than the drawbacks of adapt-
4. QUALITY MODEL FOR MODELS ing the whole model to the invalid statements. Furthermore,
Restricting models to evolve in model libraries, where only a model is complete if, and only if, there is no statement in
general characteristics such as model size, i.e., complexity, the domain not yet included in the model, such that its ben-
are of relevance, model quality becomes manageable. If a efit is higher than the drawback of adapting the model to
model conforms to these general quality characteristics, the this new statement. Third, if a model includes enough valid
model is considered to have a high quality in a model library statements about the domain to describe the intention or to
and is reusable. In the following, we present our quality solve a problem in a domain, the model is confine.
model focusing on model libraries and thereby resolving the Third, pragmatic quality addresses the correspondence
challenge of being hard to define and measure due to its between a modeler’s comprehension and a model. In other
highly subjective and relative nature [24]. words, the model must be understood by a modeler correctly.
Our quality model is based on the research of Lindland In model libraries, model comprehension can be reduced
et al. [19] and Lange et al. [16] and comprising four general to three characteristics: understandability, maintainability,
quality dimensions, namely syntactic, semantic, pragmatic, and purpose extraction. Understandability refers to the de-
and emotional quality; each of which can be subdivided as gree to which the modeler’s interpretation can be build from
shown in figure 3. the model. Maintainability addresses the degree to which a
modeler understood the model and is able to adapt it to dependencies are included, (b) adapters for legacy are re-
environmental changes. Finally, if the modeler’s extracted moved, and (c) the model has no errors. A model does not
purpose of a model corresponds to the purpose originally have to be semantically complete after passing this quality
defined, the purpose extraction is high. gate, because completeness is aimed for in decent stage.
Last, emotional quality addresses the correspondence be- When a model enters the decent stage, the staged evolu-
tween a user’s interpretation and his emotions. If a model is tion can be directed in two directions. First, if the modeler
appealing to modelers, it is more likely to be reused. Con- adapts the model to fit the initial purpose and is satisfied
sequently, such models have a high emotional quality. This with the chosen layout and solution, the model can be moved
model quality dimension is of importance in model libraries, to the fine stage by passing quality gate QG3. Since the next
since reuse depends on individual opinions about models. level of reusability is “green”, i.e., the model library may
This model quality dimension is mentioned for the sake of suggest this model to modelers for reuse, this quality gate
completeness (cf. “thumb up button” in figure 5) requires all quality characteristics to be fulfilled. Emotional
Each model quality dimension and especially the corre- quality, however, is not considered to be a requirement re-
sponding characteristics have to be measureable in order to garding the number of “likes”, instead it shows that modelers
enable qualitative statements about model quality in model agreed on the reuse of the model and its quality. Second, a
libraries. SDMetrics [26] and Genero et al. [11] provide model can be moved back to the vague stage due to errors in
metrics to measure defect-freeness, understandability, and the model, restructuring, or even unsuitability of the model
maintainability. Moreover, simplified model reviews can be for reuse by passing quality gate QG2, which requires that
used to measure semantic validity, completeness, confine- at least one of the requirements for QG1 is violated.
ment, and purpose extraction. Finally, meta-model confor- After a model has been labeled to be reusable by enter-
mity and transformability can be measured with existing val- ing the fine stage, different influences might lead to the loss
idators [27]. Note that appeal is not measured but tracked of its status. If the model requires adaption other than re-
with a counter, which counts the number of model reuses. naming or retyping, it has to be moved to decent or vague
stage depending on the type of adaption. Restructurings of
4.1 Quality Gates the model, which lead to model decomposition or even new
The staged model evolution aims at structuring and guid- models, require the model to be moved to the vague stage.
ing model evolution in model libraries. The structuring is This also holds true for bugs in the model, which are hard
achieved by partitioning model evolution in three stages. to fix or are not going to be fixed in the future. In any
The traversal of models through the stages highly depends other case of adaption, the model has to be moved to decent
on the modeler and his intention. However, stage traversal stage. In both cases, the model has to pass either quality
can be guided by introducing quality gates in order to make gate QG5 or QG4. Both require that at least one of the
qualitative statements about model quality in each stage requiremnts for QG3 is violated. This non-determinism is
and thereby derive its reusability. In the following, we sum- rooted in the adaptions required to be made to the model.
marize the staged model evolution approach as presented in E.g., if a model needs to be completely restructured, it is
section 3.5 and derive quality gates for the stage transition. moved to vague stage.
Generally, quality gates can be seen as metaphorical gates.
A model can pass a gate, if all requirements of this gate are 5. PROTOTYPE
fulfilled. Figure 4 illustrates the staged model and the cor-
Based on the staged model evolution, a software prototype
responding quality gates. The set of requirements for each
in Eclipse has been implemented and evaluated. The main
gate is derived from the quality model for model libraries.
focus of the prototype is guidance of the modeler through the
staged model evolution. Hence, a simplified representation
start vague QG1 decent of the staged model (cf. figure 4) was implemented and en-
hanced with some guidance to make the quality model work.
QG2 For example, model metrics and model reviews are included
4
G
to provide measures regarding the quality model introduced
Q
Q 3
G G above. In addition, wizards check and display the status of
5 Q
fine each quality gate, whenever the modeler intends to change
the current stage. An overview of the main elements of the
prototype is illustrated in figure 5.
Figure 4: Staged Model and Quality Gates The simplified representation of the stages (top of the fig-
ure) contains a representation for each stage colored with
Each model underlying the staged model evolution starts respect to its reusability status, i.e., vague is red, decent is
in the vague stage and is aiming at reaching the fine stage to yellow, and fine is green. The current stage and the transi-
be recommended for reuse in the model library. The main tions a modeler can choose to reach another stage are high-
goal of the vague stage is to remove all obstacles resulting lighted. This color encoding helps displaying the limited
from the fact that the model has been added to the model li- actions a modeler can perform in each stage (cf. figure 2)
brary or has been restructured from a previously fine model. and thereby increases guidance.
When all of these activities are finished and the modeler in- In addition to the three stages of the staged model evo-
tends to move the model to the decent stage, the model has lution, it is always possible that a model can become dep-
to pass the first quality gate QG1. The requirements of this recated. Then, the model is kept in its current stage and
quality gate are meta-model conformity, transformability, marked as deprected. The basket symbol in figure 5 allows
defect-freeness, semantical validity, and confinement. These the modeler to always mark the current model as depre-
requirements verify that (a) no prefixes and technological cated. Please note that once a model becomes deprecated,
Another benefit of this approach is a set of clear instruc-
tions as the result of applying the metrics. These instruc-
tions inform the modeler about steps that need to be done to
resolve the corresponding model metric violation. In combi-
nation with model reviews, which are required to be fulfilled
in order to move to another stage, this proactive quality
guidance approach provides non-obtrusive feedback to raise
model quality awareness and helps guiding modelers through
the staged model evolution.
6. CONCLUSION AND OUTLOOK
Despite a long history in model evolution research, there is
no holistic approach available supporting evolution in model
libraries. This is surprising, since models change in libraries
as well. Moreover, it is surprising because these circum-
stances ease a few obstacles. Evolution, in general, is con-
sidered as aimless, but model libraries would loose their ben-
efits quickly evolving unguided. Hence, evolution needs to
be guided in model libraries, which offers a clear direction of
evolution and provides opportunities to formalize and struc-
ture evolution in model libraries as we did above.
For structuring this evolution, we defined an evolution
graph and partitioned it based on model stages. These
stages serve as indicators for model reusability. We defined
these stages to be vague, decent, and fine and attribute them
with the colors red, yellow, and green respectively. This in-
tuitive stage model allows to define gates that need to be
fulfilled before passing to the next better stage.
In order to define quality gates to separate model stages,
we introduced a quality model, which defines simple means
Figure 5: Staged Model Evolution Prototype of quality assurance. This is possible, because model li-
braries limit possible quality attributes and, hence, keep the
scope of metrics small. All in all, we defined syntactic, se-
its stage cannot be changed anymore. mantic, and pragmatic quality and added emotional quality,
Besides the stage representation, the prototype contains which proved reasonable in our experiments.
a list of model metric values and model review reports to All together, we provided a foundation for quality staged
display information about the model quality. We separated model evolution in model libraries, which we implemented in
model metrics in two categories: model defects and model tool support providing guidance for this holistic approach.
smells. The first type of metrics indicates violations of met- Besides evaluation of this approach, a novel and altered
rics that are known to be errors, e.g., a new class is intro- kind of co-evolution is subject to current and future work.
duced without a class name. In contrast, model smells are Consider a model library that is more a knowledge base.
defined based on Fowler’s definition of smells [8]. But with It would certainly hold information how single models are
respect to the modeling domain, a smell refers to an improve- related to each other. For example, relationships could be
ment of the model, e.g., reducing the amount of classes to established between such models on different levels.
make the model more understandable. Moreover, we simpli- We created such a model library [10] and enhanced it with
fied model reviews to be easy to create and to correspond evolution support as presented here. The drawback of this
to the model quality characteristics. At this point, we ne- approach is that it only takes into account a single model
glect presenting the mapping of a model review to a model disregarding any crossing relationships. But how do these
quality characteristic, but point out the main idea of the relationships “co-evolve” as models evolve? Moreover, we
simplifed model reviews. A simpified model review for each analyze what happens if a model needs to split. This might
model quality characteristic is created by limiting the view happen, most likely, in fine stage and this is why the symbol
of the review to the necessary elements required to verify in our tool, which stands for this stage, is shaped slightly
the model characteristic. different. As the modeler hovers over this symbol, a splitting
The use of model metrics requires modelers to either man- arrow appears allowing to split this model in several parts.
ually apply them or an approach to automatically apply But the semantics and the consequences of what that would
model metrics and inform the modeler about the results. or could mean are still under research.
A major drawback of a manual approach is that metrics
will be forgotten over time and thus will not be applied.
Consequently, we followed the approach of proactive qual- 7. ACKNOWLEDGMENTS
ity guidance. This approach automatically calculates model We would like to thank all our anonymous reviewers for
metrics whenever a model has been changed and immedi- their comments and effort. Moreover, we would like to thank
ately displays metric violations, i.e., the modeler receives Andrej Dyck, Veit Hoffmann, and Matthias Vianden. It was
live feedback during modeling. always a great to have another intriguing discussion.
8. REFERENCES [15] F. Keienburg and A. Rausch. Using xml/xmi for tool
[1] F. Allilaire, J. Bezivin, H. Bruneliere, and F. Jouault. supported evolution of uml models. In HICSS 34,
Global Model Management in Eclipse GMT/AM3. In Proceedings of the Thirty-Four Annual Hawaii
Proceedings of the Eclipse Technology eXchange International Conference on System Sciences. IEEE
workshop (eTX) at the ECOOP 2006 Conference, Computer Society, Jan. 2001.
2006. [16] C. F. Lange and M. R. Chaudron. Managing model
[2] Altmanninger and Kappel. Amor towards adaptable quality in uml-based software development. Software
model versioning. In Proceedings of the 1st Technology and Engineering Practice, International
International Workshop on Model Co-Evolution and Workshop on, 0:7–16, 2005.
Consistency Management (MCCM’08), Toulouse, [17] C. F. J. Lange. Improving the quality of uml models
France, September 28-October 3, 2008, 2008. in practice. In Proceedings of the 28th international
[3] J. Bansiya and C. Davis. A hierarchical model for conference on Software engineering, ICSE ’06, pages
object-oriented design quality assessment. IEEE 993–996, New York, NY, USA, 2006. ACM.
Transactions on Software Engineering, 28:4–17, 2002. [18] M. Lehman. Programs, life cycles, and laws of
[4] L. C. Briand, Y. Labiche, L. O’Sullivan, and M. M. software evolution. Proceedings of the IEEE,
Sowka. Automated impact analysis of uml models. 68(9):1060 – 1076, sept. 1980.
Journal of Systems and Software, 79(3):339–352, [19] O. Lindland, G. Sindre, and A. Solvberg.
March 2006. Understanding quality in conceptual modeling.
[5] M. Chaudron, W. Heijstek, and A. Nugroho. How Software, IEEE, 11(2):42 –49, march 1994.
effective is UML modeling? Software and Systems [20] D. Lucredio, R. de M. Fortes, and J. Whittle.
Modeling, pages 1–10, 2012. MOOGLE: a metamodel-based model search engine.
[6] Eclipse. MoDisco. http://www.eclipse.org/MoDisco/. Software and Systems Modeling, 11:183–208, 2010.
[7] S. G. Eick, T. L. Graves, A. F. Karr, J. S. Marron, [21] N. H. Madhavji, J. Fernandez-Ramil, and D. Perry.
and A. Mockus. Does code decay? assessing the Software Evolution and Feedback: Theory and
evidence from change management data. IEEE Trans. Practice. John Wiley & Sons, 2006.
Software Eng., 27(1):1–12, 2001. [22] T. Mens, C. Lucas, and P. Steyaert. Supporting
[8] M. Fowler. Refactoring: Improving the Design of disciplined reuse and evolution of UML models. In
Existing Code (Object Technology Series). J. Bezivin and P.-A. Muller, editors, Proc. UML’98 -
Addison-Wesley Longman, Amsterdam, illustrated Beyond The Notation, volume 1618 of Lecture Notes
edition edition, 1999. in Computer Science, pages 378–392. Springer-Verlag,
[9] R. France, J. Bieman, and B. Cheng. Repository for 1999. Mulhouse, France.
Model Driven Development (ReMoDD). In [23] P. Mohagheghi and V. Dehlen. Existing model metrics
T. Kuehne, editor, Models in Software Engineering, and relations to model quality. In Proceedings of the
volume 4364 of LNCS, pages 311–317. Springer Berlin Seventh ICSE conference on Software quality,
/ Heidelberg, 2007. WOSQ’09, pages 39–45, Washington, DC, USA, 2009.
[10] A. Ganser and H. Lichter. Engineering Model IEEE Computer Society.
Recommender Foundations. In Modelsward 2013, [24] D. L. Moody. Theoretical and practical issues in
Proceedings of the 1st International Conference on evaluating the quality of conceptual models: current
Model-Driven Engineering and Software Development, state and future directions. Data Knowl. Eng.,
Barcelona, Spain,19.-21- February 2013, pages 55(3):243–276, Dec. 2005.
135–142, 2013. [25] R. Schuette and T. Rotthowe. The guidelines of
[11] M. Genero, M. Piattini, and C. Calero. Empirical modeling - an approach to enhance the quality in
validation of class diagram metrics. Empirical information models. In ER ’98: Proceedings of the 17th
Software Engineering, 2002. Proceedings. 2002 International Conference on Conceptual Modeling,
International Symposium n, pages 195–203, 2002. pages 240–254, London, UK, 1998. Springer-Verlag.
[12] M. Herrmannsdoerfer and D. Ratiu. Limitations of [26] SDMetrics. SDMetrics, http://www.sdmetrics.com/.
automating model migration in response to [27] W. Shen, K. J. Compton, and J. Huggins. A toolset
metamodel adaptation. In S. Ghosh, editor, Models in for supporting uml static and dynamic model
Software Engineering, volume 6002 of Lecture Notes in checking. In COMPSAC, pages 147–152. IEEE
Computer Science, pages 205–219. Springer Berlin Computer Society, 2002.
Heidelberg, 2010. [28] Uni-Leipzig. Eclipse Model Repository.
[13] M. Herrmannsdoerfer, S. D. Vermolen, and http://modelrepository.sourceforge.net/, Oct. 2012.
G. Wachsmuth. An extensive catalog of operators for [29] G. Xie, J. Chen, and I. Neamtiu. Towards a better
the coupled evolution of metamodels and models. In understanding of software evolution: An empirical
Proceedings of the Third international conference on study on open source software. In ICSM, pages 51–60.
Software language engineering, SLE’10, pages 163–182, IEEE, 2009.
Berlin, Heidelberg, 2011. Springer-Verlag.
[14] S. R. Judson, R. France, and D. L. Carver. Supporting
rigorous evolution of uml models supporting rigorous
evolution of uml models. In Engineering Complex
Computer Systems, 2004. Proceedings. Ninth IEEE
International Conference on, pages 128–137, 2004.