<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Engineering Process Transformation to Manage (In)consistency</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>István Dávid</string-name>
          <email>istvan.david@uantwerpen.be</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Klaas Gadeyne</string-name>
          <email>klaas.gadeyne@flandersmake.be</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Joachim Denil</string-name>
          <email>joachim.denil@uantwerpen.be</email>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Hans Vangheluwe</string-name>
          <email>hans.vangheluwe@uantwerpen.be</email>
          <xref ref-type="aff" rid="aff3">3</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Flanders' Make</institution>
          ,
          <addr-line>Leuven</addr-line>
          ,
          <country country="BE">Belgium</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>University of Antwerp &amp; Flanders' Make</institution>
          ,
          <country country="BE">Belgium</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>University of Antwerp &amp; Flanders' Make</institution>
          ,
          <country country="BE">Belgium</country>
        </aff>
        <aff id="aff3">
          <label>3</label>
          <institution>University of Antwerp &amp; Flanders' Make, Belgium, McGill University</institution>
          ,
          <addr-line>Montréal</addr-line>
          ,
          <country country="CA">Canada</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Inconsistencies pose a severe issue to overcome in collaborative modeling scenarios, especially in settings with di erent domains involved. This is due to the signi cantly different formalisms employed that have overlapping semantic domains. A pertinent example are today's mechatronic and Cyber-Physical Systems. In this paper, we propose an approach for managing inconsistencies based on explicitly modeled linguistic and ontological properties. We argue that to fully understand the reasons of their occurrence and impact on the overall design, inconsistencies should be investigated in the context of the process they emerge in. For this purpose, we propose a language for modeling processes in conjunction with the properties of the engineered system. Characteristics of inconsistencies are identi ed in terms of process models and properties. A method for optimal selection of management techniques is provided. We demonstrate our ideas on a case study of a real mechatronic system.</p>
      </abstract>
      <kwd-group>
        <kwd>inconsistency management</kwd>
        <kwd>model-based design</kwd>
        <kwd>cyberphysical systems</kwd>
        <kwd>design space exploration</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. INTRODUCTION</title>
      <p>Collaborative modeling scenarios are vulnerable to model
inconsistencies. This is a consequence of the multiple views
on the same virtual product that give rise to outdated and
incorrect data. The problem is exacerbated when di erent
engineering domains are involved, as di erent engineering
domains use signi cantly di erent formalisms and paradigms
to model speci c parts of the system.</p>
      <p>
        Overlaps in the semantic domain of models have been
identi ed as the primary reason of model inconsistencies by
many authors [
        <xref ref-type="bibr" rid="ref21 ref27 ref33">27, 21, 33</xref>
        ]. For example, the safety property
of a mechatronic product translates to di erent concepts in
terms of its mechanical, electric and control simulation
models, and consequently, these concepts will overlap through
the property of safety.
      </p>
      <p>
        A signi cant amount of research has been dedicated to
solving semantic inconsistencies on the syntactic level (for
example [
        <xref ref-type="bibr" rid="ref2 ref6">2, 6</xref>
        ]). These approaches, however, are prone to
lose vital information during the approximation and
abstraction steps taken while translating semantic properties
to linguistic structures and parameters. We argue that
reasoning over explicitly modeled semantic properties suits the
problem of tackling inconsistencies better, as demonstrated
by Herzig et al [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ] and Vanherpen et al [
        <xref ref-type="bibr" rid="ref32">32</xref>
        ].
      </p>
      <p>
        Finkelstein [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ] hints that instead of just removing
inconsistencies, one should manage them. This entails reasoning
about the causes and sources of inconsistencies, their
evolution, interaction and impact on the overall design. We argue
that this can be best achieved by investigating
inconsistencies in the context of (i) the design process of the virtual
product, (ii) the modeling languages and transformations
used in the process, and (iii) the ontological and linguistic
properties of the virtual product that are manipulated
during the design. Explicit modeling of these concerns, along
with the interactions between them, especially between the
design activities and properties, enables better
understanding of how inconsistencies arise and ultimately, how they
should be managed, i.e. prevented, or detected and
subsequently resolved.
      </p>
      <p>
        In this paper we present an approach for inconsistency
management in the context of engineering processes.
Potential sources of inconsistencies are identi ed by
considering characteristics of the process model. Management of
inconsistencies is achieved by selecting the appropriate
techniques from a catalogue of management patterns and
applying them on the unmanaged process to achieve a managed
one. Typical patterns include re-ordering activities of a
process, ensuring property checks around inconsistency-prone
regions and using design contracts [
        <xref ref-type="bibr" rid="ref30">30</xref>
        ]. Since the same type
of inconsistency may be managed via di erent management
patterns, the selection of the most appropriate one should
happen through quanti ed cost measures. This problem is
translated to a constraint solving and optimization problem
which nds the best process alternative while managing
every potential source of inconsistencies. The concept is shown
in Figure 1.
There are two typical use cases of our approach: (i)
optimizing existing design processes by rst augmenting them
with language and property information and then solving
the constraint satisfaction and optimization problem; and
(ii) generating new processes from language and property
information. Both cases are realistic in complex
engineering scenarios and their occurrence typically depends on the
CMMI [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] level the engineering unit is situated on.
Contributions. The main contribution of this paper is an
approach for managing inconsistencies in complex
engineering processes, that includes
      </p>
      <p>A a formalism (i.e. a language and its semantics) for
modeling processes in relation with the properties of
the engineered system;
B a method for detecting inconsistencies and
identifying the most appropriate resolution technique based
on quanti ed cost measures;
C a prototype tool supporting our approach; and
D a case study of a real mechatronic system.</p>
      <p>The rest of the paper is organized as follows. In Section 2,
we present a motivating case study of an automated guided
vehicle. In Section 3 a formalism for modeling processes
with properties is presented. In Section 4 we characterize
inconsistencies in terms of the previously presented
formalism, identify typical inconsistency patterns, provide an
initial catalog for managing them and a method for selecting
the most appropriate inconsistency management technique
for single inconsistencies by multi-objective design space
exploration (DSE). Section 5 discusses the prototype tooling
supporting our approach. Finally, related approaches are
reviewed in Section 7, and Section 8 concludes our paper.</p>
    </sec>
    <sec id="sec-2">
      <title>CASE STUDY</title>
      <p>We use a case study of the design of an automated guided
vehicle (AGV) to motivate our work. The AGV is designed
to transport payload on a speci c trajectory between a set
of locations. The drivetrain is fully electrical, using a
battery for energy storage and two electric motors driving two
wheels. Being a complex mechatronic system, the
requirements of the AGV are speci ed by stakeholders of the di
erent involved domains, such as (i) mechanical requirements:
su cient room on the vehicle to place payload; (ii)
control requirements: following the de ned trajectory with a
given maximal tracking error; (iii) electrical requirements:
autonomous behavior, de ned as the number of times that
it needs to be able to perform the movement before needing
to recharge; (iv) product quality requirements: the previous
requirements should be achieved at a minimal cost.</p>
      <p>Figure 2 shows the conceptual geometric design of the
AGV. The design team chose a circular platform, with two
omniwheels in addition to the two driven wheels.
The design process needs to determine the sizing of the
different components (motors, battery, platform) and tune the
controller. This process is decomposed into multiple
dependent design steps, such as motor selection, battery
selection, platform-, controller-, and drivetrain design. The
process requires an interplay between di erent domain-speci c
engineering tools, such as CAD tools for platform design,
Simulink and Virtual.Lab Motion for multi-body
simulations employed during controller design, AMESim for
multiphysical simulations during drivetrain desing. Motor and
battery selection activities use databases maintained in
Excel les. Since these tools work with di erent modeling
formalisms, reasoning over the consistency of the system as a
whole properties poses a complex problem to overcome. By
explicitly modeling linguistic and ontological properties and
associating them with the engineering activities, patterns of
inconsistencies can be identi ed and handled.</p>
      <sec id="sec-2-1">
        <title>Running example</title>
        <p>As a running example, we use a segment of the process in the
case study shown in Figure 3. The example highlights how
inconsistencies can occur due to properties of the system
that interact with activities of an engineering process.</p>
        <p>Initially, components of the system, such as the battery,
are selected based on approximations and domain
expertise. The mass of the initially selected battery is considered
during the Mechanical design phase to identify the mass
constraints on other parts of the system. After the
mechanical design phase, the electrical model is designed in details.
This includes identifying the required capacity of the
battery by Simulating the electrical model, in order to ful ll the
autonomy requirement.</p>
        <p>Inconsistencies may arise when the Battery capacity
property is changed, because the Battery mass property depends
on it: batteries with bigger capacity are typically heavier.
As the capacity is changed, the mass becomes inconsistent
with the capacity. Should the inconsistency get unnoticed,
the engineered system will fail to meet the requirements.</p>
        <p>There are two important speci cities to this example that
motivate our work.</p>
        <p>First, inconsistencies occur due to the lack of explicitly
modeled information about how activities access system
properties. The key in identifying the above inconsistency is the
explicit modeling of the nature of interaction between
activities and properties, such as reading or modifying a property.
We refer to this information as intents of activities over (a
set of) properties.</p>
        <p>Second, state-of-the-art techniques typically reason about
inconsistencies in terms of linguistic model elements. The
dependency between the two properties is, however, not
persisted in any of the engineering models as it is an
interdomain relationship. To tackle this problem, we allow
modeling ontological properties as well, and linking them to
activities by intents.</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>A FORMALISM FOR MODELING PRO</title>
    </sec>
    <sec id="sec-4">
      <title>CESSES WITH SYSTEM PROPERTIES</title>
      <p>To model engineering processes with su cient semantics
for managing inconsistencies, we propose a formalism that
augments the process with the syntactic and semantic
properties that depict speci cities of the engineered system.</p>
      <p>
        We build our formalism on the Ftg+Pm [
        <xref ref-type="bibr" rid="ref25">25</xref>
        ] formalism,
which enables the usage of process models (\Pm") in
conjunction with the model of languages and transformations
(the formalism-transformation graph - \Ftg") used
throughout the process. As shown in Figure 4, languages and
transformations serve as a type system to the processes: objects
of the process are instances of languages of the Ftg; and
activities of the process realize transformations. Section 3.1
provides a brief overview on Ftg+Pm .
      </p>
      <p>We extend the above formalism by allowing explicit
modeling of properties in context of processes and languages. We
assume activities of an engineering process have a
meaningful purpose of enhancing the system. This purpose is
expressed as the intent of an activity with respect to a property
or a set of properties. Furthermore, we extend the process
model by enabling speci cation of costs of single activities.
Modeling costs enables reasoning over the managed process
candidates (as shown in Figure 1).</p>
      <p>The type system plays an important role in the
analysis of complex process models. Typing process objects by
languages and linking activities to transformations enables
reasoning about the MDE aspects of an engineering process
with models and model transformations as rst class
artifacts. Additionally, in deployed and enacted process
models, the language model serves as a basis for conformance
and validity checks. For the sake of conciseness, we refer to
the various elements of our formalism with slightly di erent
terminology. In our terms, a process model P M consists of
a set of processes P (equivalent to the Pm part of an
Ftg+Pm) that take
a language model LAN G as a type model (equivalent
to the FTG part of an Ftg+Pm), and relate to
a property model P ROP .</p>
      <p>In the following, we elaborate on the speci c parts of this
process model. First, we brie y present the foundations of
the Ftg+Pm formalism for typed processes; then we extend
processes with costs; nally we discuss the property model
in details.
3.1</p>
    </sec>
    <sec id="sec-5">
      <title>Typed processes based on the FTG+PM</title>
      <p>By the process p 2 P , we mean a 4-tuple (A; c; O; o)
consisting of
a set of activities (A);
a set of directed control relations between activities
( c 2 c : A 7! A);
a set of objects (O);
a set of directed data ow relations between activities
and objects ( o 2 o : A 7! O);
The control ow is a transitive relation, i.e. 8a1; a2; a3 2
A : c(a1; a2) ^ c(a2; a3) ) c(a1; a3), and the following
notation is used a3 2 c+(a1).</p>
      <p>The language model consists of modeling languages and
transformations, formally: LAN G = (L; T ), and serves as
a type system to processes, where languages type process
objects and transformations serve as speci cations to
activities. In the case study, for example, the models of the
mechanical design activity are typed by a CAD language, while
the activity itself realizes the transformation(s) required to
achieve the engineering goals during the mechanical design,
such as dimensioning the platform of the AGV, and
obtaining and executing a nite element simulation model. That
is, modelMech 2 O, and typeOf (modelMech) = CAD, where
CAD 2 L; additionally, typeOf (aMechDesign) 2 T .
3.2</p>
    </sec>
    <sec id="sec-6">
      <title>Costs</title>
      <p>We extend the de nition of activities by their costs. For the
sake of simplicity, we focus on costs constituting ratio scales,
i.e. for the cost c of activity a 2 A the following holds:
c(a) : a 7! R+:</p>
      <p>Costs serve as a basis for quantifying the di erences
between various process alternatives. In our current work, we
approximate costs by the transition time required for single
activities. Non-linear processes, i.e. the ones with directed
loops, are typical in engineering scenarios. In these cases,
the cost of a process is a non-deterministic value that can
be obtained by appropriate simulations.
3.3</p>
    </sec>
    <sec id="sec-7">
      <title>The property model</title>
      <p>By a property model P ROP we mean a tuple ( ; R)
consisting of
the set of linguistic and semantic properties ; and
the set of in uence relationships R between properties.</p>
      <p>Properties of the running example in Figure 3 are the
Battery mass and Battery capacity, while the dependency
between those is a relationship with a direction and a level
of precision. In the following, we rst elaborate on
properties (Section 3.3.1) and the in uence relationships between
them (Section 3.3.2); then we relate properties to processes
by formalizing intents (Section 3.3.3); and nally, we provide
a typing strategy for properties in terms of the Ftg+Pm
formalism (Section 3.3.4).
Properties capture qualitative and quantitative
characteristics of the modeled system. While linguistic properties
represent values of various types, ontological properties capture
system characteristics in terms of satisfaction constraints.
The way properties are checked, also depends on their types.
Checking a linguistic property means evaluating if the actual
value of the property is within a range of acceptance
criteria; checking an ontological property, on the other hand,
means evaluating if the property is satis ed or not. While
the former check is typically achieved by well-de ned
operators over the algebraic structures of the type of the property
(e.g. arithmetic operators over number values), the latter
type of checks typically involves simulations or model
checking tasks.</p>
      <p>For example, the battery mass property of the case study
is a linguistic one (persisted in the CAD model), while safety
and autonomy properties are semantic and can be checked
by simulations or model checking techniques.</p>
      <p>
        Explicitly modeling properties and their relationships
enables (i) reasoning over these speci cities, and (ii) fosters
communication of tacit knowledge, which is especially
important in the early phases of a multidisciplinary design
process [
        <xref ref-type="bibr" rid="ref32">32</xref>
        ]. In our approach, ontological and linguistic
properties are treated uniformly.
3.3.2
      </p>
      <sec id="sec-7-1">
        <title>Influence relationships</title>
        <p>Relationships between two properties are present if a change
in one property potentially in uences the other. In the case
study, properties Battery capacity and Current drawn could
be considered two properties with a relationship in between
(Figure 5): a change in the Battery capacity will have an
impact to the Current drawn and vica versa.
A relationship r is formally de ned as r 2 R = ( ij
; nm ; ), i.e.</p>
        <p>a set of in uencer (input) properties ij = f i:: j g,
a set of in uencee (output) properties nm = f m:: ng,
a level of precision</p>
        <p>2 fL1; L2; L3g.</p>
        <p>
          The three levels of precision are de ned in our previous work
[
          <xref ref-type="bibr" rid="ref10">10</xref>
          ] and are as follows.
        </p>
        <p>L1: the fact of in uence is known, its extent is not;
L2: sensitivity information between two values is
known;
L3: the relationship can be expressed using an exact
mathematical relationship.</p>
        <p>Figure 5 shows a pair of properties that mutually in uence
each other, albeit on di erent levels of precision. A change in
the Current drawn has an L3 in uence on the Battery
capacity as follows: BatteryCapacity R CurrentDrawn(t)dt.
The relationship in the other direction, however, cannot be
determined in such details and thus, only constitutes an L1
relationship. In the running example, the relationship
between the Battery mass and Battery capacity constitutes an
L2 relationship: increasing the capacity requires increasing
the battery mass, although the exact relation cannot be
provided as batteries come in various architectures.</p>
      </sec>
      <sec id="sec-7-2">
        <title>Acausal influence relationships</title>
        <p>Acausality provides compactness in terms of the notation of
relationships: it enables modeling of N-ary relationships in
a more convenient and readable fashion. Figure 6a shows
an N-ary in uence relationship, depicting a simple law of
physics: BatteryM ass + M otorM ass = T otalM ass. By
assigning value to two of the three properties, the third can
be automatically calculated. The same information can be
captured in an acuasal way as presented in Figure 6b.</p>
        <p>(a) Causal notation of an N-ary relationship.</p>
        <p>(b) Acausal notation of the same N-ary relationship.
In our approach, we allow using acausal relationships, but
translate them to the causal equivalent form when carrying
out analyses. Formally, given an acausal in uence
relationship r of level over a set of properties 0, the causality
assignment maps r = (;; 0; ) onto a set of relationships
R0 = h( 00; 000; )i; such that 0 = 00 S 000:</p>
        <p>The causal equivalent can be unambiguously determined
only in symmetric N-ary relationships, meaning any M
number of the N properties determine the remaining N M , e.g.
the one in Figure 6. In this case the causal equivalent will
consisist of MN causal relationships.</p>
      </sec>
      <sec id="sec-7-3">
        <title>Change scope of properties</title>
        <p>By a change scope of a property we mean a subset of
properties potentially a ected by a change in . Given
two properties 1 and 2 directly linked by a relationship
r( ij ; nm; ), the change set is de ned as follows.
j
2 2 ( 1) , ( 1 2 i ^ 2 2
nm)
That is, property 2 is in the change scope of property 1 i
1 is an input property and 2 is an output property of an
in uence relationship. In the running example, the Battery
mass property is in the change scope of Battery capacity.</p>
        <p>The change scope is a re exive and transitive relation, i.e.
respectively. We use the following notation for the transitive
closure of the change scope: 3 2 +( 1).
Intents capture the motivation of an activity with respect
to a property or a relationship of properties, such as reading
and modifying a property. An intent i 2 I is de ned by the
tuple (a; s; tI ), where</p>
        <p>We de ne four elementary intents for our approach: TI =
fread; modif y; check; contractg, the rst two being the
typically occurring intents in standard engineering activities,
while the latter two are speci c to activities related to
inconsistency management.</p>
        <p>As discussed in Section 2, the main rationale behind
explicitly modeling intents is that they carry valuable
information regarding inconsistencies in processes, which enables
reasoning about the origin and the potential management of
inconsistencies. The inconsistency in the running example is
possible to detect because of the exactly modeled pair of the
read-modify intents on properties that in uence each other
and activities that are control-dependent. In Section 4 we
formally characterize inconsistencies in terms of processes,
properties and intents.
3.3.4</p>
      </sec>
      <sec id="sec-7-4">
        <title>Typing of the property model</title>
        <p>Intents relate properties to processes. In order to handle
property models in a type-safe manner, however, properties
and relationships have to be related to the type system
dened by the language model as well.</p>
        <p>We handle elements of the property model as special
process objects that activities interact with. That is, following
the de nition of processes in Section 3.1:
8p 2 P 8s 2</p>
        <p>
          [ R : s 2 O(p);
8p 2 P 8i 2 I : i 2
o(p):
Consequently, both properties and relationships are typed
by appropriate languages, e.g. OWL languages [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ], for
modeling properties, or graphs, algebra and Forrester system
dynamics [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ] for modeling relationships.
        </p>
        <p>Intents are typed by an intent language TI , i.e.</p>
        <p>8 TI = fi1::ing : TI 2 LAN G:
This means the language of intents in our approach can
be aligned with the application domain of the problem at
hand. The intents used throughout this paper are rather
general and capture only access-change information over
system properties.</p>
      </sec>
    </sec>
    <sec id="sec-8">
      <title>MANAGING INCONSISTENCIES</title>
      <p>After presenting the process modeling formalism for
reasoning over inconsistencies in Section 3, we give a formal
characterization of unmanaged cases that may lead to
inconsistencies. We associate inconsistencies with changes in
properties that are shared among multiple activities.
Reasoning over such cases is enabled by explicitly modeled
intents of the activities over the properties. To manage
inconsistencies, we augment the original process with appropriate
management patterns.</p>
    </sec>
    <sec id="sec-9">
      <title>Formal characterization of unmanaged inconsistencies</title>
      <p>In the following, we identify cases when inconsistencies may
occur. We formalize this information in terms of pairs of
activities, the related properties and intents. Generally,
inconsistencies are introduced when an activity modi es a
property that is accessed by another activity. A more formal
de nition can be given by distinguishing between activities
situated in a sequential order and in parallel branches of a
process. By sequential and parallel activities we mean
8a1; a2 2 A : seq(a1; a2) , a2 2
8a1; a2 2 A : par(a1; a2) , a2 62
c+(a1);
c+(a1) ^ a1 62
c+(a2);
respectively. That is, two activities are said to be sequential
i one activity is transitively reachable from the other via
the control ow of the process. If no such relation exists (in
any direction), the activities are said to be parallel.
4.1.1</p>
      <sec id="sec-9-1">
        <title>Sequential case</title>
        <p>Given a pair of activities a1; a2 2 A : seq(a1; a2), property
is said to be exposed to a potential inconsistency due to
insu cient inconsistency management in the following case.
where IC denotes the set of unmanaged inconsistencies.
That is, property is exposed to a potential inconsistency
if activity a1 rst accesses it with a read intent and
subsequently activity a2 modif ies property 0, while property
is in the change scope of 0. The relation does not hold the
other way around, i.e. by rst modifying and subsequently
reading a property does not lead to inconsistencies.</p>
        <p>As a consequence of the re exivity of the change scope, the
above de nition applies on cases where the same property is
being read and modi ed as well.
The de nition is di erent from the one in the sequential
case in not being speci c about the type of intent i1. This
is because of the inconclusive ordering of a1 and a2 due to
their parallel relation. Since the two activities may access
the related properties in any order, the cases of potential
inconsistencies cannot be narrowed to a speci c ordering of
read-modify intent pairs. That is, inconsistencies may arise
if any of the two activities reads property , while the other
one modif ies 0.</p>
      </sec>
    </sec>
    <sec id="sec-10">
      <title>Patterns of inconsistency management</title>
      <p>We use four typical inconsistency management patterns in
our approach. This catalogue of patterns is, however,
extensible in the prototype tooling.
4.2.1</p>
      <sec id="sec-10-1">
        <title>Reordering and sequencing</title>
        <p>Reordering and sequencing aim to modify the control ow
in order to avoid inconsistencies.</p>
        <p>Given a sequential case, i.e. a1; a2 2 A : seq(a1; a2) )
2 IC, the reordering strategy would swap a1 and a2, i.e.
seq(a1; a2) ! seq(a2; a1), to utilize that the appropriate
order of read-modify intents does not lead to inconsistencies,
as shown in Section 4.1.1.</p>
        <p>In parallel cases, i.e. a1; a2 2 A : par(a1; a2) ) 2 IC,
the sequencing strategy would try every possible order of the
activities and eventually select the one that leads to the most
optimal process, i.e. par(a1; a2) ! seq(a1; a2) _ seq(a2; a1).</p>
        <p>Reordering and sequencing are easy-to-apply and
inexpensive patterns as they do not require introducing additional
management activities. Both patterns work well in simple
cases; in more complex processes, however, both patterns
tend to introduce other inconsistencies.
4.2.2</p>
      </sec>
      <sec id="sec-10-2">
        <title>Property check</title>
        <p>Property checking is used to ensure no inconsistencies are
introduced on speci c sections of the process. A special
activity acheck is added to the process that accesses the
unmanaged properties with a check intent. If the result of the
check is satisfactory, the process continues with the
subsequent activities; in the case of a failed check, however, the
process would fall back to the latest point where the
inconsistency is not yet present and facilitate a re-iteration loop.</p>
        <p>The property check pattern is a typically expensive
management pattern as it introduces directed loops in the design
processes and therefore, makes processes inherently
nondeterministic.
4.2.3</p>
      </sec>
      <sec id="sec-10-3">
        <title>Contracts</title>
        <p>
          In a contract-based approach [
          <xref ref-type="bibr" rid="ref32">32</xref>
          ], the stakeholders would
agree on acceptance criteria of speci c properties before
executing speci c design activities. A special activity acontract
is added to the process to represent the contract
negotiation phase. The activity accesses the unmanaged properties
with a contract intent. The contract is respected during the
activities, thus providing means to avoid inconsistencies.
4.2.4
        </p>
      </sec>
      <sec id="sec-10-4">
        <title>Assumptions</title>
        <p>A less rigorous approach to contracts is also possible by
making an educated guess about the shared properties. In the
parallel case: a1; a2 2 A : par(a1; a2) ) 2 IC, one of
the parallel activities makes assumptions about the
properties that will be modi ed by the other activity. However,
these assumptions need to be checked once the process
rejoins both branches. The bene t of the pattern is that only
one of the branches has to be re-executed if the assumption
proves to be invalid, i.e. an inconsistency may occur.
4.3</p>
      </sec>
    </sec>
    <sec id="sec-11">
      <title>Process optimization</title>
      <p>Since multiple management patterns can be applied for the
same type of inconsistency with varying bene ts, we
formalize the process rewriting problem as a constraint solving and
optimization problem as follows.</p>
      <p>minimize</p>
      <p>p
subject to
cost(p)
jICj = 0;
v(p) = 1:
where v(p) : p 2 P 7! B is the indicator function of the
validity (i.e. well-formedness) of a process p. We also demand
a fully managed process (jICj = 0). We solve the problem
by model transformation based multi-objective design space
exploration (DSE) as shown in Figure 7.
The exploration mechanism takes the original unmanaged
process and the property model as an input and produces an
optimal managed process as a series of model transformations
applied on the original process. (The property model is left
intact as it re ects domain knowledge and as such, typically
should not be changed because of a single process.) The
exploration process is guided by mandatory constraints and
optimality objectives.
The purpose of using model transformations is twofold. We
use them to augment the process with inconsistency
management techniques, but also for rewriting the process into a
better performing process. An example for the latter one is
parallelizing as many activities as possible. Of course, this
will a ect the applicable inconsistency management
techniques, and therefore, the execution and evaluation of these
transformations must be achieved in a coupled way.</p>
      <sec id="sec-11-1">
        <title>Management transformations</title>
        <p>Transformation rules aiming to augment the process with
inconsistency management techniques, are derived from the
inconsistency patterns (Section 4.1) and management
patterns (Section 4.2). A transformation rule is de ned as
9 ic 2 IC : ic(!</p>
        <p>P M ) ^</p>
        <p>P M ))
! apply(m0(ic(!</p>
        <p>P M ))); m0 2 M:
That is, if an inconsistency pattern ic is detected on a
subset ! of the process model P M , and there is no
corresponding management pattern m detected for the same subset of
elements, then an appropriate management pattern m0 is
applied to the inconsistency.</p>
      </sec>
      <sec id="sec-11-2">
        <title>General transformations</title>
        <p>The overall goal of our approach is to nd better processes,
with respect to a goal function, that create correct
products. Apart from the transformations speci c to
inconsistency management, therefore, we also use transformations
that manipulate the structure of processes, such as adding
and removing control ow between activities, arranging
activities into sequences or parallel branches, etc. There is
no restriction on how far the exploration strategy can go
in restructuring the process, as it is determined in the
exploration phase by considering that every inconsistency has
to be managed. By making certain activities parallel, more
linguistic and semantic overlap exists at the same instant in
the process and thus making the process more vulnerable to
inconsistencies.</p>
        <p>Note that certain applications of this pattern are not
usable. For example, the parallelization of a design activity
cannot be parallelized with the subsequent simulation of the
created model.
4.3.2</p>
      </sec>
      <sec id="sec-11-3">
        <title>Constraints and objectives</title>
        <p>Constraints and objectives are used to guide the exploration
process and evaluate the solution candidates. As de ned
previously, we constrain the set of solutions to processes
that are valid and have no unmanaged inconsistencies.</p>
        <p>As the objective function, the cost of the process is used.
Since the cost of non-linear processes (i.e. the ones featuring
directed cyclic graphs) is not deterministic, simulations of
various kinds can be used to obtain the cost, such as event
queueing networks or discrete event simulations.</p>
      </sec>
    </sec>
    <sec id="sec-12">
      <title>5. PROTOTYPE TOOL SUPPORT</title>
      <p>We support our approach with a prototype tool that
allows (i) modeling processes with the aspects and semantics
presented in Section 3; and (ii) augmenting processes with
inconsistency management patterns, while identifying the
optimal managed process.1
5.1</p>
    </sec>
    <sec id="sec-13">
      <title>Process modeling</title>
      <p>
        As a rst step, the initial process has to be modeled along
with the languages and properties. Our tool provides a
graphical modeling environment for this purpose, implemented
using the Sirius framework [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. Figure 8 presents an excerpt
from the process model of the case study, relevant for the
running example discussed in Section 2.
The Mechanical design activity is modeled as a manual one,
executed by the mechanical engineer. During the activity,
the Battery mass property is accessed with a read intent.
The cost of the activity re ects the approximate time
required for executing it, i.e. 1.0 hour. Later in the process,
the Simulate electrical model automated activity modi es
the Battery capacity property which in uences the Battery
mass, as a consequence of the latter one being in the change
scope of the former one. It is the explicit modeling of intents
what enables identifying the potential inconsistency.
5.2
      </p>
    </sec>
    <sec id="sec-14">
      <title>Management of inconsistencies</title>
      <p>
        In the next phase the design space exploration is executed
which includes
1The tool is available under the EPL licence at https://
github.com/david-istvan/icm. The detailed case study is
available at https://github.com/david-istvan/agv.
matching the process model against the patterns of the
inconsistency catalogue;
applying patterns of the inconsistency management
catalogue on the process; and
selecting the best tting management pattern based
on cost simulations.
For design space exploration, the VIATRA-DSE framework
[
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] is used. The inconsistency and management catalogues,
as well as cost models are fully extensible, i.e. new
inconsistency and management patterns can be formalized by the
appropriate graph query and transformation languages, and
costs can be evaluated using other approaches than the ones
presented here.
      </p>
      <sec id="sec-14-1">
        <title>5.2.1 Inconsistency catalogue</title>
        <p>
          Patterns of inconsistencies are captured by graph queries
over the input model. In our prototype tool, we use the
VIATRA Query Language (formerly EMF-IncQuery) [
          <xref ref-type="bibr" rid="ref31">31</xref>
          ]
for this purpose. Listing 1 presents the inconsistency pattern
matched on the running example.
        </p>
        <p>The pattern re ects the left-hand side (LHS) of the
general transformation rule in Section 4.3.1. In Line 7,
properties p1 2 R+(p2) and activities a2 2 c(a1) accessing the
two properties with the respective read and modify intents
are identi ed. Subsequently, in Lines 8-9, the number of
applied inconsistency management patterns is determined. In
case there is no management pattern applied (Line 10), the
pattern is matched and the match set requires an
inconsistency management pattern to be applied.
1 pattern unmanagedReadModify (
2 a1: Activity , p1: Property , a2: Activity , p2 : Property )
3 {
4 find readModifySharedProperty (a1 , p1 , a2 , p2 );
5 checks == count find checkProperty (a2 , _, p2 );
6 contracts == count find contract (_ , a1 , p1 );
7 check ( checks + contracts ==0);
8 }</p>
        <p>Listing 1: The read-modify inconsistency pattern.
5.2.2</p>
      </sec>
      <sec id="sec-14-2">
        <title>Management catalogue</title>
        <p>
          Management patterns are captured as model
transformations over the model. In accordance with Section 4.3.1,
the LHS of the transformation rules consist of the
previously de ned inconsistency patterns; while the right-hand
side (RHS) de nes how the speci c inconsistency should be
handled by using one of the management patterns described
in Section 4.2. Allowed LHS-RHS combinations are
specied in terms of VIATRA Model Transformations [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ], that
enable directly reusing the previously de ned graph queries
as the LHS.
5.2.3
        </p>
      </sec>
      <sec id="sec-14-3">
        <title>Cost simulations</title>
        <p>As discussed in Section 3.2, cost of a process is not
deterministic in most cases. We support our approach by two types of
cost simulations in the prototype tooling. In xed iteration
simulations, the loops of the design process are identi ed
and simulated with a xed amount of iterations resulting in
a process cost as follows
8p 2 P : c(p) =</p>
        <p>c(ai)n(ai):
i=jA(p)j</p>
        <p>X
1
Loops are detected by a graph pattern matcher. If a loop is
detected between two activities, the costs of activities in the
loop are weighted by the number of iterations N and added
to the sum cost. The parameter is to be set by a domain
expert. In our experiments, we used 3{5 iterations as the
typical values.</p>
        <p>
          In event queueing network (EQN) based stochastic
simulations [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ], the decision of re-iterating over a loop is
simulated with sampling from a probabilistic distribution. We
carried out our early experiments using the SimEvents
toolbox [
          <xref ref-type="bibr" rid="ref26">26</xref>
          ]. While stochastic simulations o er more precise
results in terms of simulating the costs, they are also more
demanding in terms of computation power and time.
5.3
        </p>
      </sec>
    </sec>
    <sec id="sec-15">
      <title>Results of the case study</title>
      <p>After exploring the space of alternative solutions and
ranking them based on costs, the managed process is obtained.
Figure 10 presents a managed alternative to the running
example in Figure 8. As an allow-and-resolve type
inconsistency technique, property checking is executed after the
location of the potential inconsistency. The manual
CheckBatteryMass activity accesses the potentially inconsistent
property Battery mass with a check intent. Subsequently, a
decision node is added to the control ow to enable a
backward loop in case the check fails (NO) and to proceed if the
check succeeds (OK ). The pattern also introduces a loop
that enables arbitrary re-iterations, which is the main
contributor to the increased process cost. As opposed to this,
an alternative reusing the technique of contract based design
would not require such loops, but the management activity
itself would be more elaborate as the contract negotiation
phase requires stakeholders from multiple domains.</p>
      <p>The real challenge of applying inconsistency management
patterns in an orchestrated way, so that their application
does not give rise to new unmanaged inconsistencies, is
tackled by using a heuristic or exhaustive search through the
state space. Applying our approach to the whole process of
the case study resulted in a fully managed process with
reasonable increase in costs. In our simulations, we measured
up to 10% cost reduction while fully managing the process
with two types of inconsistencies.</p>
    </sec>
    <sec id="sec-16">
      <title>DISCUSSION</title>
      <p>
        The results described in this paper serve as the
foundations to a comprehensive inconsistency management
framework. The approach, in its current form tackles two
important problems in engineering practice. First, as presented in
the previous sections, combining the notion of processes with
inconsistencies sheds light on complex cases of
inconsistencies that are otherwise not detectable nor manageable.
Second, our approach enables expressing tacit domain
knowledge explicitly and thus making it reusable across di erent
processes (projects), at least partially, which is a typical
concern in companies on CMMI levels 3 and above. [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] In order
to enhance the reusing of domain knowledge, techniques of
ontological reasoning will be investigated.
      </p>
      <p>In the following, we discuss the required extensions to the
current work in order to develop an inconsistency
management framework.
6.1</p>
    </sec>
    <sec id="sec-17">
      <title>Complex cost models and resources</title>
      <p>
        As the primary research direction, we will extend the
formalism in Section 3 with more complex cost models and the
notion of resources. In our current approach, cost is a
onedimensional performance metric of the process, estimated
from the development time. In real settings, however, di
erent types of costs may be used to capture the performance of
the process and thus providing a basis for optimization, e.g.
queueing time, delay or processing volume [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ]. By
incorporating the notion of resources, the optimization problem will
get extended by job scheduling aspects [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. Resources pose
additional constraints on process re-engineering in terms of
the feasibility of the process.
6.2
      </p>
    </sec>
    <sec id="sec-18">
      <title>Advanced solution techniques</title>
      <p>
        The multi-objective nature of our DSE approach
(Section 4.3) scales well with introducing additional dimensions
to the underlying formalism discussed above. A known
limitation of DSE based approaches is, however, the potentially
missed global optimum of the input problem. We plan to
address this limitation by translating the inconsistency
management problem to more complex solution methods, such
as heuristic algorithms [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ] and genetic algorithms [
        <xref ref-type="bibr" rid="ref34">34</xref>
        ] that
have been successfully applied in resource constrained
process optimization.
6.3
      </p>
    </sec>
    <sec id="sec-19">
      <title>Tooling aspects</title>
      <p>
        The current version of the prototype tool supports the
modeling phase of process engineering, but to achieve a
comprehensive inconsistency management framework, the
execution phase (i.e. the design phase of the virtual product)
has to be supported as well. For this purpose, the process
model will be enacted by using model transformations to
provide the operational semantics. The explicitly modeled
formalisms/tools enable automated support for tool
interoperability, with the potentially reusing integration
frameworks such as OSLC [
        <xref ref-type="bibr" rid="ref29">29</xref>
        ].
      </p>
    </sec>
    <sec id="sec-20">
      <title>RELATED WORK</title>
      <p>
        Inconsistency management is a well-studied topic in the
domains of software engineering, mechatronic design and
cyber-physical systems, due to the typically multi-view and
often multi-paradigm approach to system design. Persson
et al [
        <xref ref-type="bibr" rid="ref27">27</xref>
        ] identify consistency between the various views of
cyber-physical system design as one of the main challenges in
design of such complex systems. This is due to relations
between views, with respect to their semantic relations, process
and operations which often overlap. Our technique embraces
these ideas and addresses the problem of inconsistencies by
explicitly modeling semantic properties and relating them
to engineering processes.
      </p>
      <p>
        Other approaches also acknowledge the role of semantic
techniques in inconsistency management, and try to relate
semantic concepts to the linguistic concepts of modeling.
Hehenberger et al [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ] organize structural design elements
and their relations into a domain ontology to identify
inconsistencies. A limited set of semantic properties are expressed
with linguistic concepts which enables reasoning over
semantic overlaps to a su cient extent. Similarly, Chechik et al [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]
introduce the notion of approximate properties: linguistic
properties expressed as graph patterns which are accurate
enough to appropriately approximate a semantic property.
Approximate properties suitable to implement smart
locking mechanisms in collaborative model-based design as they
introduce a trade-o between the computational resources
to obtain or check a property, and the accuracy of the
results. As opposed to these, our approach makes semantic
properties rst-class artifacts and relates them to processes,
instead of linguistic model elements, which enables
management of a richer class of inconsistencies.
      </p>
      <p>
        Ontologies have been used for inconsistency management
by Kovalenko et al [
        <xref ref-type="bibr" rid="ref24">24</xref>
        ] to support automated detection of
defects between domain-speci c models. Similarly,
Feldmann et al [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] use the OWL language in conjunction with
a SysML-based approach to formally represent the design
of a production system and evaluate the compatibility of
domain-speci c models in a collaborative setting. These
approaches are complementary to ours: incorporating
relationships between ontological properties for reasoning over
inconsistencies is a planned extension to our work.
      </p>
      <p>
        As opposed to the above techniques, inconsistency
management in collaborative modeling is more frequently
addressed on the linguistic level. Qamar et al [
        <xref ref-type="bibr" rid="ref28">28</xref>
        ] approach
inconsistency management by making inter- and intra-model
dependencies explicit. Dependencies are direct results of
semantic overlaps and are used to notify stakeholders about
possible inconsistencies when dependent properties change.
Our approach introduces an indirection between models and
properties by relating them to speci c activities that
during working over models also access properties with speci c
intents. Blanc et al [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] approach the detection of
inconsistencies from a model operation based point of view, where
models are stored as sequences of change events and
inconsistencies are expressed in terms of CRUD operations.
Our approach generalizes this approach by introducing
intents that are analogous with model operations, but they
express change operations in terms of activities and
properties. Egyed et al [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] investigates the impact of single
inconsistencies on the whole system by introducing the notion of
change impact based scopes. Scopes are used to carry out
resolution steps on the required regions of the models and
thus enhancing the e ciency of the inconsistency
management framework. We carry out a similar scope detection and
management on the property model of our approach.
Speci c technical challenges of collaborative modeling have been
addressed by state-of-the-art techniques, such [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] for
comparing and merging models and EMFStore [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] for model
persistence. These techniques can serve as an
implementational basis for improving our tool.
8.
      </p>
    </sec>
    <sec id="sec-21">
      <title>CONCLUSIONS</title>
      <p>In this paper we presented an approach for managing
inconsistencies in complex engineering settings from a
processoriented view. A modeling formalism has been provided to
reason about how inconsistencies arise in processes and how
they impact the overall design. For this purpose, the
notion of intents has been de ned as the explicitly modeled
relationship between activities of processes and properties
of the engineered system. We support the automated
process of inconsistency management by a prototype tool built
on Eclipse technologies. Finally, the approach has been
evaluated over a case study of a real mechatronic system using
our prototype tool.</p>
    </sec>
    <sec id="sec-22">
      <title>Acknowledgments</title>
      <p>The authors wish to thank Andras Szabolcs Nagy for his
dedicated help with the VIATRA-DSE engine; Tamas
Szabo for his critical and constructive comments; and Kristof
Berx for his insights on the case study. This work has been
partially carried out within the framework of the Flanders
Make project MBSE4Mechatronics (grant nr. 130013) of the
agency for Innovation by Science and Technology in
Flanders (IWT-Vlaanderen).
9.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>H.</given-names>
            <surname>Abdeen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Varro</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Sahraoui</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. S.</given-names>
            <surname>Nagy</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Debreceni</surname>
          </string-name>
          ,
          <string-name>
            <surname>A.</surname>
          </string-name>
          <article-title>Hegedus, and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Horvath</surname>
          </string-name>
          <article-title>. Multi-objective optimization in rule-based design space exploration</article-title>
          .
          <source>In Proceedings of the 29th ACM/IEEE Int. Conf. on Automated software engineering</source>
          , pages
          <volume>289</volume>
          {
          <fpage>300</fpage>
          . ACM,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>C.</given-names>
            <surname>Adourian</surname>
          </string-name>
          and
          <string-name>
            <given-names>H.</given-names>
            <surname>Vangheluwe</surname>
          </string-name>
          .
          <article-title>Consistency Between Geometric and Dynamic Views of a Mechanical System</article-title>
          .
          <source>In Proc. of the 2007 Summer Computer Simulation Conf., SCSC '07</source>
          , pages
          <issue>31:1</issue>
          {
          <issue>31</issue>
          :
          <fpage>6</fpage>
          , San Diego,
          <year>2007</year>
          . Society for Computer Simulation Int.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>C.</given-names>
            <surname>Artigues</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Demassey</surname>
          </string-name>
          , and
          <string-name>
            <given-names>E.</given-names>
            <surname>Neron</surname>
          </string-name>
          .
          <article-title>Resource-Constrained Project Scheduling: Models, Algorithms, Extensions and Applications</article-title>
          . ISTE,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>S.</given-names>
            <surname>Bechhofer</surname>
          </string-name>
          . OWL:
          <article-title>Web ontology language</article-title>
          .
          <source>In Encyclopedia of Database Systems</source>
          , pages
          <year>2008</year>
          {
          <year>2009</year>
          . Springer,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>G.</given-names>
            <surname>Bergmann</surname>
          </string-name>
          ,
          <string-name>
            <surname>I. David</surname>
          </string-name>
          ,
          <string-name>
            <surname>A.</surname>
          </string-name>
          <article-title>Hegedus, A</article-title>
          . Horvath,
          <string-name>
            <given-names>I.</given-names>
            <surname>Rath</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z.</given-names>
            <surname>Ujhelyi</surname>
          </string-name>
          , and
          <string-name>
            <given-names>D.</given-names>
            <surname>Varro</surname>
          </string-name>
          . VIATRA 3:
          <string-name>
            <given-names>A</given-names>
            <surname>Reactive Model</surname>
          </string-name>
          <article-title>Transformation Platform</article-title>
          .
          <source>In Theory and Practice of Model Transformations</source>
          , pages
          <volume>101</volume>
          {
          <fpage>110</fpage>
          . Springer,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>A.</given-names>
            <surname>Bhave</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Krogh</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Garlan</surname>
          </string-name>
          , and
          <string-name>
            <given-names>B.</given-names>
            <surname>Schmerl</surname>
          </string-name>
          .
          <article-title>Multi-domain modeling of cyber-physical systems using architectural views</article-title>
          .
          <source>AVICPS</source>
          <year>2010</year>
          , page 43.
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>X.</given-names>
            <surname>Blanc</surname>
          </string-name>
          ,
          <string-name>
            <surname>I. Mounier</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Mougenot</surname>
          </string-name>
          , and
          <string-name>
            <given-names>T.</given-names>
            <surname>Mens</surname>
          </string-name>
          .
          <article-title>Detecting model inconsistency through operation-based model construction</article-title>
          .
          <source>In Software Engineering</source>
          ,
          <year>2008</year>
          .
          <source>ICSE '08. ACM/IEEE 30th Int. Conf. on</source>
          , pages
          <volume>511</volume>
          {
          <fpage>520</fpage>
          , May
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>M.</given-names>
            <surname>Chechik</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Dalpiaz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Debreceni</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Horko</surname>
          </string-name>
          ,
          <string-name>
            <surname>I. Rath</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Salay</surname>
          </string-name>
          , and
          <string-name>
            <given-names>D.</given-names>
            <surname>Varro</surname>
          </string-name>
          .
          <article-title>Property-Based Methods for Collaborative Model Development</article-title>
          .
          <source>In Proc. of 3rd Int. Workshop on The Globalization of Modeling Languages (GEMOC</source>
          <year>2015</year>
          ),
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>CMMI</given-names>
            <surname>Product</surname>
          </string-name>
          <article-title>Team</article-title>
          .
          <source>CMMI for Development, Version</source>
          <volume>1</volume>
          .3,
          <string-name>
            <surname>Tech</surname>
          </string-name>
          . Rep. CMU/SEI-2010
          <source>-TR-033</source>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <surname>I. David</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Denil</surname>
          </string-name>
          , and
          <string-name>
            <given-names>H.</given-names>
            <surname>Vangheluwe</surname>
          </string-name>
          .
          <article-title>Towards inconsistency management by process-oriented dependency modeling</article-title>
          .
          <source>In Proc. of 9th Int. Workshop on Multi-Paradigm Modeling</source>
          , pages
          <volume>32</volume>
          {
          <fpage>41</fpage>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>C.</given-names>
            <surname>Debreceni</surname>
          </string-name>
          ,
          <string-name>
            <given-names>I.</given-names>
            <surname>Rath</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Varro</surname>
          </string-name>
          ,
          <string-name>
            <surname>X. De Carlos</surname>
            ,
            <given-names>X.</given-names>
          </string-name>
          <string-name>
            <surname>Mendialdua</surname>
            , and
            <given-names>S.</given-names>
          </string-name>
          <string-name>
            <surname>Trujillo</surname>
          </string-name>
          .
          <source>Automated Model Merge by Design Space Exploration. In 19th Int. Conf. on Fundamental Approaches to Software Engineering</source>
          ,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>Eclipse</given-names>
            <surname>Foundation. EMFStore Website</surname>
          </string-name>
          . http://eclipse.org/emfstore/. Acc:
          <fpage>2016</fpage>
          -07-19.
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>Eclipse</given-names>
            <surname>Foundation</surname>
          </string-name>
          . Sirius Website. https://eclipse.org/sirius/. Accessed:
          <fpage>2016</fpage>
          -07-19.
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>A.</given-names>
            <surname>Egyed</surname>
          </string-name>
          .
          <article-title>Automatically detecting and tracking inconsistencies in software design models</article-title>
          .
          <source>Software Engineering</source>
          ,
          <source>IEEE Trans. on</source>
          ,
          <volume>37</volume>
          (
          <issue>2</issue>
          ):
          <volume>188</volume>
          {
          <fpage>204</fpage>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>S.</given-names>
            <surname>Feldmann</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Kernschmidt</surname>
          </string-name>
          , and
          <string-name>
            <given-names>B.</given-names>
            <surname>Vogel-Heuser</surname>
          </string-name>
          .
          <article-title>Combining a SysML-based Modeling Approach and Semantic Technologies for Analyzing Change In uences in Manufacturing Plant Models</article-title>
          .
          <source>Procedia fCIRPg</source>
          ,
          <volume>17</volume>
          :
          <fpage>451</fpage>
          {
          <fpage>456</fpage>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>A.</given-names>
            <surname>Finkelstein</surname>
          </string-name>
          .
          <article-title>A foolish consistency: Technical challenges in consistency management</article-title>
          .
          <source>In Database and Expert Systems Applications</source>
          , volume
          <volume>1873</volume>
          <source>of LNCS</source>
          , pages
          <volume>1</volume>
          {
          <fpage>5</fpage>
          . Springer,
          <year>2000</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>J. W.</given-names>
            <surname>Forrester</surname>
          </string-name>
          .
          <source>Principles of Systems</source>
          . Productivity Press,
          <year>1968</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>D.</given-names>
            <surname>Gross</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Shortle</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Thompson</surname>
          </string-name>
          , and
          <string-name>
            <given-names>C.</given-names>
            <surname>Harris</surname>
          </string-name>
          . Fundamentals of Queueing Theory. Wiley,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>P.</given-names>
            <surname>Hehenberger</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Egyed</surname>
          </string-name>
          , and
          <string-name>
            <given-names>K.</given-names>
            <surname>Zeman</surname>
          </string-name>
          .
          <article-title>Consistency Checking of Mechatronic Design Models</article-title>
          .
          <source>In 30th Computers and Information in Engineering Conf.</source>
          , volume
          <volume>3</volume>
          , pages
          <fpage>1141</fpage>
          {
          <fpage>1148</fpage>
          .
          <string-name>
            <surname>ASME</surname>
          </string-name>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>S. J.</given-names>
            <surname>Herzig</surname>
          </string-name>
          and
          <string-name>
            <given-names>C. J.</given-names>
            <surname>Paredis</surname>
          </string-name>
          .
          <article-title>Bayesian Reasoning Over Models</article-title>
          .
          <source>In 11th Workshop on Model Driven Engineering, Veri cation and Validation MoDeVVa</source>
          <year>2014</year>
          , pages
          <fpage>69</fpage>
          {
          <fpage>78</fpage>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <given-names>S. J.</given-names>
            <surname>Herzig</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Qamar</surname>
          </string-name>
          , and
          <string-name>
            <given-names>C. J.</given-names>
            <surname>Paredis</surname>
          </string-name>
          .
          <article-title>An approach to identifying inconsistencies in model-based systems engineering</article-title>
          . Procedia Computer Science,
          <volume>28</volume>
          :
          <fpage>354</fpage>
          {
          <fpage>362</fpage>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <given-names>Improvement</given-names>
            <surname>Skills Consulting Ltd</surname>
          </string-name>
          . Measuring Process Performance. https://ianjseath. les.wordpress. com/
          <year>2009</year>
          /04/measuring-processes.pdf,
          <year>2008</year>
          . Acc.:
          <fpage>2016</fpage>
          -07-19.
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23]
          <string-name>
            <given-names>R.</given-names>
            <surname>Kolisch</surname>
          </string-name>
          and
          <string-name>
            <given-names>S.</given-names>
            <surname>Hartmann</surname>
          </string-name>
          .
          <article-title>Heuristic Algorithms for the Resource-Constrained Project Scheduling Problem: Classi cation</article-title>
          and
          <source>Computational Analysis</source>
          , pages
          <volume>147</volume>
          {
          <fpage>178</fpage>
          .
          <string-name>
            <surname>Springer</surname>
            <given-names>US</given-names>
          </string-name>
          , Boston, MA,
          <year>1999</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [24]
          <string-name>
            <given-names>O.</given-names>
            <surname>Kovalenko</surname>
          </string-name>
          , E. Serral,
          <string-name>
            <given-names>M.</given-names>
            <surname>Sabou</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F. J.</given-names>
            <surname>Ekaputra</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Winkler</surname>
          </string-name>
          , and
          <string-name>
            <given-names>S.</given-names>
            <surname>Bi</surname>
          </string-name>
          .
          <article-title>Automating CrossDisciplinary Defect Detection in Multi-Disciplinary Engineering Environments</article-title>
          .
          <source>In Knowledge Engineering and Knowledge Management</source>
          , pages
          <volume>238</volume>
          {
          <fpage>249</fpage>
          . Springer,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          [25]
          <string-name>
            <given-names>L.</given-names>
            <surname>Lucio</surname>
          </string-name>
          , S. Musta z, J. Denil,
          <string-name>
            <given-names>H.</given-names>
            <surname>Vangheluwe</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Jukss</surname>
          </string-name>
          . FTG+
          <article-title>PM: An Integrated Framework for Investigating Model Transformation Chains</article-title>
          . In SDL 2013:
          <article-title>Model-Driven Dependability Engineering</article-title>
          , volume
          <volume>7916</volume>
          <source>of LNCS</source>
          , pages
          <volume>182</volume>
          {
          <fpage>202</fpage>
          . Springer,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          [26]
          <string-name>
            <given-names>MathWorks</given-names>
            <surname>Inc. SimEvents Website</surname>
          </string-name>
          . mathworks.com/ products/simevents. Acc.:
          <fpage>2016</fpage>
          -07-19.
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          [27]
          <string-name>
            <given-names>M.</given-names>
            <surname>Persson</surname>
          </string-name>
          , M. Torngren,
          <string-name>
            <given-names>A.</given-names>
            <surname>Qamar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Westman</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Biehl</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Tripakis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Vangheluwe</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Denil</surname>
          </string-name>
          .
          <article-title>A Characterization of Integrated Multi-View Modeling in the Context of Embedded and Cyber-Physical Systems</article-title>
          . In EMSOFT, pages
          <volume>1</volume>
          {
          <fpage>10</fpage>
          . IEEE,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          [28]
          <string-name>
            <given-names>A.</given-names>
            <surname>Qamar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C. J.</given-names>
            <surname>Paredis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Wikander</surname>
          </string-name>
          , and
          <string-name>
            <given-names>C.</given-names>
            <surname>During</surname>
          </string-name>
          .
          <article-title>Dependency modeling and model management in mechatronic design</article-title>
          .
          <source>Journal of Computing and Inf</source>
          . Science in Engineering,
          <volume>12</volume>
          (
          <issue>4</issue>
          ):
          <fpage>041009</fpage>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          [29]
          <string-name>
            <given-names>M.</given-names>
            <surname>Saadatmand</surname>
          </string-name>
          and
          <string-name>
            <given-names>A.</given-names>
            <surname>Bucaioni. OSLC Tool</surname>
          </string-name>
          <article-title>Integration and Systems Engineering { The Relationship between the Two Worlds</article-title>
          .
          <source>2014 40th EUROMICRO Conference on Software Engineering and Advanced Applications</source>
          , pages
          <volume>93</volume>
          {
          <fpage>101</fpage>
          ,
          <string-name>
            <surname>Aug</surname>
          </string-name>
          .
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref30">
        <mixed-citation>
          [30]
          <string-name>
            <given-names>A.</given-names>
            <surname>Sangiovanni-Vincentelli</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Damm</surname>
          </string-name>
          , and
          <string-name>
            <given-names>R.</given-names>
            <surname>Passerone</surname>
          </string-name>
          . Taming Dr. Frankenstein:
          <article-title>Contract-Based Design for Cyber-Physical Systems</article-title>
          .
          <source>European Journal of Control</source>
          ,
          <volume>18</volume>
          (
          <issue>3</issue>
          ):
          <volume>217</volume>
          {
          <fpage>238</fpage>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref31">
        <mixed-citation>
          [31]
          <string-name>
            <given-names>Z.</given-names>
            <surname>Ujhelyi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Bergmann</surname>
          </string-name>
          ,
          <string-name>
            <surname>A.</surname>
          </string-name>
          <article-title>Hegedus, A</article-title>
          .
          <string-name>
            <surname>Horvath</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          <string-name>
            <surname>Izso</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          <string-name>
            <surname>Rath</surname>
            ,
            <given-names>Z.</given-names>
          </string-name>
          <string-name>
            <surname>Szatmari</surname>
            , and
            <given-names>D.</given-names>
          </string-name>
          <string-name>
            <surname>Varro</surname>
          </string-name>
          .
          <article-title>EMF-IncQuery: An integrated development environment for live model queries</article-title>
          .
          <source>Science of Computer Programming, 98, Part</source>
          <volume>1</volume>
          :
          <fpage>80</fpage>
          {
          <fpage>99</fpage>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref32">
        <mixed-citation>
          [32]
          <string-name>
            <given-names>K.</given-names>
            <surname>Vanherpen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Denil</surname>
          </string-name>
          ,
          <string-name>
            <surname>I. David</surname>
          </string-name>
          , P. De Meulenaere,
          <string-name>
            <given-names>P.</given-names>
            <surname>Mosterman</surname>
          </string-name>
          , M. Torngren,
          <string-name>
            <given-names>A.</given-names>
            <surname>Qamar</surname>
          </string-name>
          , and
          <string-name>
            <given-names>H.</given-names>
            <surname>Vangheluwe</surname>
          </string-name>
          .
          <article-title>Ontological Reasoning for Consistency in the Design of Cyber-Physical Systems</article-title>
          . In CPSWeek workshop proceedings,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref33">
        <mixed-citation>
          [33]
          <string-name>
            <given-names>R.</given-names>
            <surname>Wagner</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Giese</surname>
          </string-name>
          , and
          <string-name>
            <given-names>U.</given-names>
            <surname>Nickel</surname>
          </string-name>
          .
          <article-title>A plug-in for exible and incremental consistency management</article-title>
          .
          <source>Proc. of the Int. Conf. on the UML, page 93</source>
          ,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref34">
        <mixed-citation>
          [34]
          <string-name>
            <surname>M. B. Wall</surname>
          </string-name>
          .
          <article-title>A Genetic Algorithm for Resource-constrained Scheduling</article-title>
          .
          <source>PhD thesis</source>
          , Cambridge, MA, USA,
          <year>1996</year>
          . AAI0598050.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>