<!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>Towards Agile Model-Based Systems Engineering</article-title>
      </title-group>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>Joachim Denil</institution>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Mcgill University</institution>
          ,
          <country country="CA">Canada</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>-Engineering organisations following a traditional development process often suffer from under-specified requirements and from poor responsiveness to changes in those requirements during the course of a project. Furthermore, these organizations need to deliver highly dependable products and decrease time-tomarket. In the software engineering community, Agile methods have been proposed to address similar issues. Pilot projects that apply agile approaches in Cyber-Physical Systems (CPS) engineering have reported some success. This position paper studies the challenges faced when adopting an agile process to design CPS. These challenges are broken down into their essential components and solutions are proposed, both pertaining to model/simulation management and to processes.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>I. INTRODUCTION</title>
      <p>With today’s fast pace of change and increasingly complex
requirements, new ways must be found to engineer systems
more quickly and with higher integrity. Traditional
waterfalllike life-cycles such as the “V” process suffer from poor
responsiveness to changes in the requirements of the system
under construction. These changes are a consequence of
legislative changes, changes in the market demand of the
customer, and company policy. Often, changes stem from
underspecified or even missing requirements. Rigid processes,
such as the “V” process, freeze the requirements of the system
throughout the design cycle. Consequently, wrong assumptions
or underspecified requirements are discovered very late in
the development cycle, for example, only once a full system
prototype is demonstrated to the customer. This results in
costly redesign.</p>
      <p>
        In response to similar problems, the software engineering
community has introduced more lightweight development or
iterative methods such as Scrum [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. These development
methods are now commonly referred to as Agile. The principles and
concerns for Agile practices in software engineering were
published in the Manifesto for Agile Software Development [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ].
The main principles of agility according to these authors are a
preference for: (a) individuals and interactions over processes
and tools, (b) working software over comprehensive
documentation, (c) customer collaboration over contract negotiation,
and (d) responding to change over following a plan.
      </p>
      <p>
        There is evidence that agile methods are more successful
than traditional methods. For example, a recent quantitative
analysis of development projects showed that agile methods
provide a statistically significant benefit to project success
factors of efficiency, stakeholder satisfaction and perception of
project performance [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. Unfortunately, agile software
methods cannot be transposed to the engineering context
without adaptation. For example, having a working system (i.e.,
corresponding to “compiled, working code” in the software
realm) amenable to end-user evaluation, after each iteration, is
typically infeasible. A possible alternative is to have working
models of the system [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. ‘Working model” means that
stakeholders must be able to meaningfully evaluate the system by
model-checking, (co-)simulating, etc. the model. Clearly, this
can only be achieved with appropriate tool support.
      </p>
      <p>In this position paper, we identify the ways in which agile
methods must be adapted to fit the model-based engineering of
Cyber-physical Systems (CPS) context and describe the
methods, techniques and tools needed to support these adaptations.</p>
      <p>Section II presents the state of the art in agile
engineering. Most of the literature on agility in the mechatronic,
software-intensive and CPS domains re-use the principles of
agile software development with little change. (and hence,
a software focus remains). We reflect on the original needs
for agility: to reduce the risk of building a wrong system.
Section III, identifies the main challenges of agile CPS For
each of these challenges, section IV investigates appropriate
model/simulation management and process solutions. Figure 1
serves as a map for the relationships between challenges and
solutions described in this paper. Finally, section V concludes.</p>
    </sec>
    <sec id="sec-2">
      <title>II. RELATED WORK</title>
      <p>
        Woodcock adapted the agile manifesto for systems
engineering [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. Recently, Bruce Douglass [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] adaptated the IBM
Harmony systems engineering methodology to be more agile.
In his approach, models replace code as the artifact produced
in an iteration and must be “executable.” Klein and Reinhart
provide mechatronic development companies with approaches
to incorporate agile methods and techniques in their current
processes [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. Two specific processes, a vertical and horizontal
process, combine techniques from agile with the traditional
gated processes in mechatronic engineering.
      </p>
      <p>
        In 2014, Tetra-pack undertook a pilot project to test the use
of agile methods in engineering [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. They combined a
Scrumlike process during the development phase with a traditional V
waterfall process for full system verification before releasing to
the customer. A key motivation for trying out an agile method
was to avoid losing customers due to delays and be able to
respond more quickly to new trends. Overall, they observed
better employee motivation and better work efficiency in the
project.
      </p>
      <p>
        [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] summarizes several studies on the use of agile methods
in aircraft systems integration at Johns Hopkins. The
CubeSat multi-mission bus demonstrator is engineered using five
engineering teams. They experienced that co-located teams
reduced communication complexity. Incremental test methods
allowed them to find problems early. [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] reports on three
case studies where agility is introduced in a non-software
environment at three different companies: Marel GRB, Saab,
and Andritz Hydro. The experience shows that it is possible
to use agile principles for electro-mechanical systems design.
      </p>
      <p>These approaches adapt agile processes without any extra
methods, techniques and tool support. In this paper we identify
several enabling techniques to help engineers being more agile
in the design of CPS.</p>
    </sec>
    <sec id="sec-3">
      <title>III. CHALLENGES OF AGILE CPS DESIGN</title>
      <p>
        In the following, we identify a number of challenges in
the design of Cyber-Physical Systems. CPS are characterised
by a tight integration and coordination between physical,
computational and network components [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. CPS can be seen
as the natural evolution of software intensive and mechatronic
systems to a higher complexity. Application domains include
medical devices, advanced automotive systems, aeronautics,
etc.
      </p>
      <p>
        a) High Risk in Engineering: : Engineers want to reduce
the risk of failure in both the product or the project [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. A
product fails because of problems such as reliability issues or
working with wrong, incomplete, or changing requirements.
The risk of changes in the requirements needs to be managed
and is the main driver to include agile principles into a design
process.
      </p>
      <p>b) Dependability Challenges: CPS must be dependable.
Dependability is a measure of the availability, reliability,
durability, safety and security of a system. Dedicated standards
address dependability in different domains. A well known
example is the ISO26262 standard addressing the functional
safety of an automotive system. Functional safety standards
impose a rigorous process with different phases on the product
developers.</p>
      <p>
        c) Sub-optimal Time To Market: Time to market (TTM)
is closely related to value creation as profit earned by a product
not only depends on engineering time and production cost but
also on its launch date [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]. Most engineers do not take this
into account when designing a system. It should be possible
to optimize a design process to take the full product value,
including TTM, into account.
      </p>
      <p>
        d) Heterogeneity Challenges: Several heterogeneity
challenges can be identified: (a) Due to the tight integration
between different physical, computation and communication
components, the design of CPS is heterogeneous as well. The
engineers, as experts in their own domain, work in
domainspecific “silos”, and may have a different vocabulary. It is
important that these different domain experts can
communicate and understand the cross-functional design issues, and
understand the interest of the other stakeholders in the system
under design [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. (b) The complexity of CPS also leads
to the use of multiple views on the system under design.
Multiple views address different concerns such as safety,
energy consumption, desired function, etc. This results in
sometimes unknown relations and dependencies between the
different views [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ]. (c) The problem is further exacerbated
by the use of different modelling formalisms. Each engineer
uses a dedicated set of most appropriate design languages, e.g.
Simulink diagrams for control engineering, 3D CAD models
for geometric engineering, etc. The dependencies between
the different silos and views are rooted in dependencies and
overlaps in the semantic domain of the models [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ], [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ].
(d) Another dimension of the heterogeneity is a consequence
of the difference in time to create or evaluate a model. 3D
models are much more labour-intensive to create compared
to a 1D model of the physics. Furthermore, computational
fluid dynamics simulations are much more computationally
demanding compared to the simulation of a causal plant model
in Simulink. (e) Finally, there can also be heterogeneity in
the levels of abstraction between the different artifacts. When
building a system, certain parts of the system may require more
detailed models than others, to attain a desired level of fidelity.
In case components are sourced from external suppliers, the
level of model detail may be imposed extrinsically.
      </p>
      <p>e) Intellectual Property: Internal and external suppliers
have a vested interest in the knowledge they build up through
defining models of their components. Therefore it is important
that methods, techniques and tools are able to protect this
intellectual property of the different stakeholders. Such protection
may impede certain kinds of full system evaluation however.</p>
    </sec>
    <sec id="sec-4">
      <title>IV. POSSIBLE SOLUTIONS</title>
      <p>In this section we look at the possible scientific solutions
for the presented challenges. Figure 1 serves as a map for the
relationships between the challenges and solutions.</p>
      <p>
        a) Show Working System to Customer at Regular
Intervals - Early System-Level Evaluation: To reduce the risk
of building a system with wrong assumptions or having to
start over when the requirements change during the design
process, the agile software community introduced the
principle of continuous delivery. Working software is frequently
produced and evaluated by the customer. This allows the
customer to identify wrong or unknown requirements early
in the design process. This is in contrast with the current
design processes in the CPS domain. Mostly, engineers use
rigid processes that only integrate the system very late in
the design cycle. System engineers introduce some process
steps to partially mend this issue. An example of this are the
construction of (physical) system prototypes. However,
building such a prototype is a costly and time-consuming activity.
Furthermore, even when standardised physical test benches
are available, system evaluation can be extremely expensive
and time-consuming while not providing the needed insights
into the unknown requirements and wrong assumptions [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ].
A translations of this principle for systems engineering is
early full system-level analysis. The analysis serves the same
need as the “working software” but can be completely virtual
using an evaluatable model. Because the evaluation occurs at
system-level, the system level properties are being analysed.
‘Evaluatable model” means that stakeholders must be able
to meaningfully evaluate the system by model-checking,
(co)simulating, etc. the model [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. Appropriate tool support is
required to achieve this.
      </p>
      <p>A particular challenge is dealing with the different types of
heterogeneity during the design of CPS. Below we describe
multiple of such possible solutions that deal with system-level
evaluation and heterogeneity.</p>
      <p>b) (Non-)fixed-length Sprints: Having “Evaluatable
models” early on in the process is only one part of the
agile solution. The other part is having these evaluations at
regular intervals in the design process of the CPS. Agile
software engineering introduces the concept of a fixed length
“sprint”. Within a sprint, a system fully realizing a set of
selected requirements is constructed that can be evaluated by
the different stake-holders.</p>
      <p>Requirements are chosen for inclusion in a sprint, based
on risk analysis. High-risk (critical to system operation, high
uncertainty, low confidence, . . . ) requirements are best
included as early as possible. Hidden and unknown dependencies
may occur between different requirements. It is important
that engineers have the methods, techniques and tools at
their disposal to chart these dependencies and the associated
risks. Two derived challenges arise. (a) Iteratively creating the
system, without an up-front choice of requirements to include
in each sprint, conflicts with the rigorous processes that
safety and other dependability standards prescribe. A possible
solution is to adhere to the safety process in the final sprint,
linking all information using traceability, or, incrementally
building the safety case(see later). (b) The time-heterogeneity
in creating and evaluating parts of the system has to be taken
into account during requirement selection and risk analysis.
Process optimisation might provide guidance (see later).</p>
      <p>
        c) Co-Simulation: CPS are designed using a
multitude of languages and tools. The agile approach requires
that these heterogeneous models are meaningfully combined
for full-system evaluation at the end of every sprint.
Cosimulation [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ] is a technique that allows coupling of
blackbox simulation units that do not expose all information in
the models. This protects intellectual property of internal
and external component suppliers. Co-simulation is an IP
protecting technique that allows coupling of black-box
simulation units. E.g. the Functional Mock-up Interface (FMI) is a
standard for coupling continuous-time simulation components.
However, FMI does not specify how to simulate the different
mock-up units together. A so-called master algorithm needs
to be used. A master algorithm reasons about the
coordination/communication between the different FMUs and how
to solve emerging global model artefacts such as algebraic
loops. Generic co-simulation algorithms exist [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ] as well as
techniques to generate an optimised orchestration [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ].
Coupling discrete-event models to continuous-time models is still
needed for FMI. Different solutions have been proposed [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ],
[
        <xref ref-type="bibr" rid="ref22">22</xref>
        ]. An overview of different methods and techniques for
co-simulation can be found in [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ].
      </p>
      <p>
        There are a number of challenges for co-simulation, e.g.
for proving the correctness of a co-simulation scenario or
combining units with different levels of detail. A scenario
can be correct in the computer science sense, the correct data
types are coupled, etc. In the mathematical and numerical
sense, correct numerical integration steps are selected. And
finally, adhering to the laws of physics, e.g. energy and
momentum are conserved. An example is the formal verification
approach in [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ]. A major challenge is dealing with
multiabstraction/purpose/precision components: how can we take
advantage of an FMU that contains different abstraction levels
in the black-box.
      </p>
      <p>
        d) Transform to a Common Formalism: Another
technique to couple heterogeneous models, is to transform all
components to a common formalism [
        <xref ref-type="bibr" rid="ref24">24</xref>
        ] which support model
evaluation. To bridge to cognitive gap between the original
design model and the automatically generated model in the
common formalism, back-annotation is required. Vangheluwe
identified DEVS as a common denominator for hybrid
modelling [
        <xref ref-type="bibr" rid="ref25">25</xref>
        ]. Another approach is to create a combination of
multiple formalisms. This implies, as with co-simulation, that
the coordination between the different formalisms is specified.
Fragment-based composition of different languages at both the
syntactic and semantic level remains a challenge.
      </p>
      <p>
        e) Partial Modelling: In the agile model based systems
engineering approach, we advocate early and regular
fullsystem evaluation. However, to allow for simulation and
analysis of early models, one may need to fix certain design
choices while the most valuable action would be to defer this
choice. A possible solution is to explicitly model the deferment
or partiality of the design choice. This requires reasoning,
not about a single design, but about a set of designs. This
is called Partial Modeling [
        <xref ref-type="bibr" rid="ref26">26</xref>
        ] or Models with Holes. In
[
        <xref ref-type="bibr" rid="ref27">27</xref>
        ], the authors formalise partial models that support four
different annotations:(a) May partiality: the element may exist,
(b) Abs partiality: we do not know whether it is a set of
elements, (c) Var partiality: whether the element should be
merged with another element and (d) OW partiality referring
to the (in-)completeness of the model. Different operations
needed for design have been “lifted” to partial models, such
as verification [
        <xref ref-type="bibr" rid="ref26">26</xref>
        ] and model transformation [
        <xref ref-type="bibr" rid="ref28">28</xref>
        ].The above
techniques can be transposed to the architectural models used
in current engineering approaches. Extending the partiality
to other formalisms remains a challenge. E.g. in a model
of the physics, a component parameter may be replaced by
a distribution, resulting in a stochastic differential equation.
All operations, such as simulation and transformation should
be applied to a collection of models rather than to a single
model. This can drastically affect performance. Furthermore,
the trade-off between partial models and the implied
computational overhead should be supported by guidelines.
      </p>
      <p>f) Upper Ontologies: In a multi-view, multi-disciplinary
context, it is crucial that engineers are aware of when they
reason about identical concepts, even when they use their
own, domain-specific terminology and formalisms, (Upper)
ontologies allow for the high-level classification of real-world
entities as well as of relations between these entities. New
knowledge can be inferred by reasoning over these ontologies.</p>
      <p>
        g) Incremental Consistency Management: Because of
multi-view modelling approaches in the design of CPS, both
syntactic and semantic overlaps occur. After each sprint, it is
important to end up with a consistent system model. Therefore,
dedicated consistency management approaches are needed.
This can be supported by having a dedicated role in the team to
manage inconsistencies. Model inconsistency is a well known
problem in model-oriented approaches. Many solutions act on
the syntactic level, e.g. [
        <xref ref-type="bibr" rid="ref29">29</xref>
        ] On the semantic level, Qamar
creates a dependency modelling language to map the semantic
dependencies between different artifacts in a project [
        <xref ref-type="bibr" rid="ref30">30</xref>
        ].
Herzig et al. create a Baysian inference mechanism to identify
possible semantic overlaps in models [
        <xref ref-type="bibr" rid="ref31">31</xref>
        ]. Vanherpen et al.
reason with upper ontologies to map the different semantic
overlaps in a project [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ]. In an agile context, lightweight
solutions to consistency management are needed. The above
methods can be incremental and combined with learning
approaches and ontology-based reasoning.
      </p>
      <p>h) Cross-functional Teams: Traditional engineering
processes put individual engineering disciplines in distinct silos
with communication structured along well-defined hand-offs.
This discourages and interferes with interactions across
disciples that could help detect and resolve conflicts early. An agile
approach uses cross-functional teams to leverage the different
skill sets and perspectives effectively during development.
This works well in software development, as the different
skills are closely aligned. Code is after all the common
semantic domain. The challenge to adopting this approach in
engineering is that the languages, tools and cultures of the
different disciplines are quite distinct making collaboration
difficult, even if the participants are all in the same room.
Some form of mediation is required.</p>
      <p>
        i) Automatic Abstraction: When combining component
models to arrive at an evaluatable full-system model, there are
likely to be mismatches in the abstraction levels of the different
components. When evaluating such heterogeneous systems,
automatic abstraction techniques can help in creating a finite
model that can be checked using formal verification techniques
such as [
        <xref ref-type="bibr" rid="ref32">32</xref>
        ]. Commonly, some of the component models
require costly computation as they can be used for evaluating
many different properties. In certain cases, for example during
design-space exploration, one is only interested in a subset
of these properties. Model abstraction, surrogate modelling,
or meta-modelling (not to be confused with the language
engineering term) are techniques to derive a simplified model
from a more complex model while trying to maintain fidelity
with respect to a subset of the properties.
      </p>
      <p>
        j) Validity Frames: To rapidly create virtual prototypes
of a system, designers often use components from model
libraries or of-the-shelf models that are provided by the
supplier of the component. This virtual systems composition
mimics its physical-world assembly counter-part. The topic of
physical component reuse for system design is well known
in engineering. Component catalogues shows all the
properties and usage constraints of each component, enabling the
engineer to make an informed decision. Reuse of models is
treacherous however. During the act of modelling, the modeller
makes a conscious choice about which properties are taken
into account and which properties or phenomena are neglected.
This depends on the modellers intent and what is of interest at
that point in the design process. Reuse of a model thus not only
depends on the model itself but also on the specific intents that
the modeller had during the design process. Zeigler identified
this problem in [
        <xref ref-type="bibr" rid="ref33">33</xref>
        ]. He introduced the Experimental Frame
to model the context in which a model can be observed
and experimented with. The experimental frame in Zeigler’s
book is further defined using three main components. (a) The
generator describes the allowable inputs to the model, (b) The
transducer to processes the output coming from the generator
and the model, e.g. integrates the output or takes the mean.
(c) The acceptor accepts or rejects the model. Note that a
model can have multiple experimental frames and a frame can
be valid for multiple models. Several authors have discussed
the experimental frame and its relation to the M&amp;S process,
e.g. [
        <xref ref-type="bibr" rid="ref34">34</xref>
        ]. The concept of the experimental frame is however
hard to implement, use as a contract for model selection,
validate or calibrate models. In [
        <xref ref-type="bibr" rid="ref35">35</xref>
        ], the authors extended
the experimental frames to the more general concept of
purpose-drive frames where the validity and calibration frame
are just two frames that specify the information needed for
meaningful reuse of models and reproducibility of calibration
and validation. Reasoning with these frames is still an open
area of research. Furthermore, reusable models libraries have
to be constructed taking these frames into account.
      </p>
      <p>
        k) Contracts: To allow for concurrent design (co-design)
of different parts of a system, interfaces and overlaps in
the semantic domain such as resource consumption, need to
be negotiated. Contract-based approaches in the context of
CPS allow a formalisation of such co-design using assume
and guarantee contracts. Under the assumed conditions,
the component promises to fulfill the guaranteed properties.
Benveniste et al. describe the mathematical foundations of
refinement, composition and conjunction operators on
contracts [
        <xref ref-type="bibr" rid="ref36">36</xref>
        ]. Vanherpen et al. extend the contract approach with
upper ontologies (see earlier) to meaningfully reason about the
content of contracts between different domains [
        <xref ref-type="bibr" rid="ref37">37</xref>
        ].
Examples of contracts between control engineers and deployment
engineers can be found in [
        <xref ref-type="bibr" rid="ref38">38</xref>
        ]. Contracts are desirable as
they simplify integration and verification. They might however
introduce too much rigidity in the development process as they
need to be formalised and negotiated. A challenge is thus to
employ contracts without compromising agility.
      </p>
      <p>
        l) Process Optimisation: To allow for shorter
time-tomarket, processes should be optimised, for example
performing independent tasks concurrently. This optimisation should
take (in)consistency and the trade-off between value and
optimised product into account. Queueing Network process
performance can help to create optimal processes, by means
of process simulation, similar to [
        <xref ref-type="bibr" rid="ref39">39</xref>
        ]. The calibration of these
models requires historical data.
      </p>
      <p>
        m) Incremental Safety: A way to allow for a more agile
process with safety support is the incremental creation of the
safety goals and corresponding cases. Incrementally creating
this should deliver evidence after each sprint that the new
safety goals are verified, Furthermore, it should also provide
evidence that the safety cases corresponding to previously
selected safety goals are still valid. Kokaly et al. provide
a model management approach to allow for such reuse of
assurance cases when a system evolves [
        <xref ref-type="bibr" rid="ref40">40</xref>
        ].
      </p>
      <p>n) Traceability: Traceability keeps track of relationships
between all the different artifacts, including requirements,
design, tests, etc. during system development. Traceability
is needed to create the assurance cases needed for safety
and other dependability standards. It also gives the end-user
feedback within the view/formalism he/she is familiar with.
Trace management becomes increasingly important as the
system design becomes more and more iterative with models
at different levels of abstraction. Techniques such as impact
analysis depend on the availability of traces.</p>
    </sec>
    <sec id="sec-5">
      <title>V. CONCLUSIONS</title>
      <p>In this position paper we analysed some of the different
challenges related to reducing the risk of failure in the design
process of Cyber-Physical Systems: changing and unknown
requirements, dependability of the system, sub-optimal
timeto-market, heterogeneity and intellectual property. Drawing
inspiration from successful Agile approaches in software
engineering, we proposed a scala of scientific solutions and, in
turn, their related challenges.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>Pete</given-names>
            <surname>Deemer</surname>
          </string-name>
          , Gabrielle Benefield, Craig Larman, and
          <string-name>
            <given-names>Bas</given-names>
            <surname>Vodde</surname>
          </string-name>
          .
          <source>The scrum primer v.1</source>
          .2. Available at: http://goodagile.com/scrumprimer/scrumprimer.pdf [Accessed May 2017],
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>Kent</given-names>
            <surname>Beck</surname>
          </string-name>
          , Mike Beedle, Arie Van Bennekum,
          <string-name>
            <surname>Alistair</surname>
            <given-names>Cockburn</given-names>
          </string-name>
          , Ward Cunningham, Martin Fowler, James Grenning, Jim Highsmith, Andrew Hunt,
          <string-name>
            <given-names>Ron</given-names>
            <surname>Jeffries</surname>
          </string-name>
          , et al.
          <source>The agile manifesto</source>
          .
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>Pedro</given-names>
            <surname>Serrador</surname>
          </string-name>
          and
          <article-title>Jeffrey K Pinto</article-title>
          .
          <article-title>Does agile work? - a quantitative analysis of agile project success</article-title>
          .
          <source>International Journal of Project Management</source>
          ,
          <volume>33</volume>
          (
          <issue>5</issue>
          ):
          <fpage>1040</fpage>
          -
          <lpage>1051</lpage>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>Hzael</given-names>
            <surname>Woodcock</surname>
          </string-name>
          .
          <article-title>The agile manifesto reworked for systems engineering</article-title>
          .
          <source>Technical report, IBM</source>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>Bruce</given-names>
            <surname>Powel Douglass</surname>
          </string-name>
          .
          <article-title>Agile Systems Engineering</article-title>
          . Morgan Kaufmann,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <surname>Thorsten</surname>
            <given-names>P.</given-names>
          </string-name>
          <string-name>
            <surname>Klein</surname>
            and
            <given-names>Gunther</given-names>
          </string-name>
          <string-name>
            <surname>Reinhart</surname>
          </string-name>
          .
          <article-title>Approaches for Integration of Agile Procedures into Mechatronic Engineering of Manufacturing Systems</article-title>
          , pages
          <fpage>225</fpage>
          -
          <lpage>230</lpage>
          . Springer International Publishing,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>Bettina</given-names>
            <surname>Buchel</surname>
          </string-name>
          .
          <article-title>How to build an agile beast</article-title>
          .
          <source>Technical report</source>
          , IMD,
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>Robert</given-names>
            <surname>Carlson</surname>
          </string-name>
          and Richard Turner.
          <article-title>Review of agile case studies for applicability to aircraft systems integration</article-title>
          .
          <source>Procedia Computer Science</source>
          ,
          <volume>16</volume>
          :
          <fpage>469</fpage>
          -
          <lpage>474</lpage>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <surname>Tho</surname>
          </string-name>
          <article-title>´rd´ıs Reynisdo´ttir. Scrum in mechanical product development: Case study of a mechanical product development team using scrum</article-title>
          .
          <source>Technical report</source>
          , Chalmers University of Technology, Sweden,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <surname>Edward</surname>
            <given-names>A</given-names>
          </string-name>
          <string-name>
            <surname>Lee</surname>
          </string-name>
          .
          <article-title>Cyber physical systems: Design challenges</article-title>
          .
          <source>In 2008 11th IEEE International Symposium on Object Oriented Real-Time Distributed Computing (ISORC)</source>
          , pages
          <fpage>363</fpage>
          -
          <lpage>369</lpage>
          . IEEE,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <surname>Lynne</surname>
            <given-names>P</given-names>
          </string-name>
          <string-name>
            <surname>Cooper.</surname>
          </string-name>
          <article-title>A research agenda to reduce risk in new product development through knowledge management: a practitioner perspective</article-title>
          .
          <source>Journal of Engineering and Technology Management</source>
          ,
          <volume>20</volume>
          (
          <issue>1-2</issue>
          ):
          <fpage>117</fpage>
          -
          <lpage>140</lpage>
          ,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <surname>Benjamin</surname>
            <given-names>D</given-names>
          </string-name>
          <string-name>
            <surname>Lee</surname>
          </string-name>
          and
          <article-title>Christiaan JJ Paredis</article-title>
          .
          <article-title>Accounting for the duration of analyses in design process decisions</article-title>
          .
          <source>SAE International Journal of Materials and Manufacturing</source>
          ,
          <volume>3</volume>
          (
          <fpage>2010</fpage>
          -01-0908):
          <fpage>512</fpage>
          -
          <lpage>522</lpage>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <surname>Estelle</surname>
            <given-names>Frey</given-names>
          </string-name>
          , Egon Ostrosi, Lionel Roucoules, and
          <article-title>Samuel Gomes. Multi-domain product modelling: from requirements to CAD and simulation tools</article-title>
          . In International Conference on Engineering Design, ICED'
          <volume>09</volume>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <surname>Ahsan</surname>
            <given-names>Qamar</given-names>
          </string-name>
          ,
          <source>Christiaan JJ Paredis</source>
          , Jan Wikander, and
          <string-name>
            <given-names>Carl</given-names>
            <surname>During</surname>
          </string-name>
          .
          <article-title>Dependency modeling and model management in mechatronic design</article-title>
          .
          <source>Journal of Computing and Information Science in Engineering</source>
          ,
          <volume>12</volume>
          (
          <issue>4</issue>
          ):
          <fpage>041009</fpage>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <surname>Magnus</surname>
            <given-names>Persson</given-names>
          </string-name>
          , Martin To¨rngren, Ahsan Qamar, Jonas Westman, Matthias Biehl, Stavros Tripakis, Hans Vangheluwe, and
          <string-name>
            <given-names>Joachim</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>
          .
          <source>In Proceedings of the Eleventh ACM International Conference on Embedded Software, page 10</source>
          . IEEE Press,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <surname>Ken</surname>
            <given-names>Vanherpen</given-names>
          </string-name>
          , Joachim Denil, Istva´n Da´vid, Paul De Meulenaere, Pieter J Mosterman, Martin Torngren, Ahsan Qamar, and
          <string-name>
            <given-names>Hans</given-names>
            <surname>Vangheluwe</surname>
          </string-name>
          .
          <article-title>Ontological reasoning for consistency in the design of cyber-physical systems</article-title>
          .
          <source>In Cyber-Physical Production Systems, Workshop on</source>
          , pages
          <fpage>1</fpage>
          -
          <lpage>8</lpage>
          . IEEE,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>N.</given-names>
            <surname>Pedersen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Lausdahl</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Sanchez</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Larsen</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Madsen</surname>
          </string-name>
          .
          <article-title>Distributed co-simulation of embedded control software with exhaust gas recirculation water handling system using into-cps</article-title>
          .
          <source>Technical report, under review</source>
          ,
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18] Cla´udio Gomes, Casper Thule, David Broman,
          <string-name>
            <given-names>Peter</given-names>
            <surname>Gorm Larsen</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Hans</given-names>
            <surname>Vangheluwe</surname>
          </string-name>
          . Co-simulation:
          <article-title>State of the art</article-title>
          .
          <source>CoRR, abs/1702.00686</source>
          ,
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <surname>Jens</surname>
            <given-names>Bastian</given-names>
          </string-name>
          , Christop Clauß, Susann Wolf, and
          <string-name>
            <given-names>Peter</given-names>
            <surname>Schneider</surname>
          </string-name>
          .
          <article-title>Master for co-simulation using fmi</article-title>
          .
          <source>In Proceedings of the 8th International Modelica Conference; March 20th-22nd; Technical Univeristy; Dresden; Germany, number 63</source>
          , pages
          <fpage>115</fpage>
          -
          <lpage>120</lpage>
          . Linko¨ping University Electronic Press,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <surname>Bert</surname>
            <given-names>Van Acker</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Joachim Denil</surname>
          </string-name>
          , Hans Vangheluwe, and Paul De Meulenaere.
          <article-title>Generation of an optimised master algorithm for fmi cosimulation</article-title>
          .
          <source>In Proceedings of the Symposium on Theory of Modeling</source>
          &amp; Simulation
          <string-name>
            <surname>: DEVS Integrative M&amp;S Symposium</surname>
          </string-name>
          , DEVS '
          <volume>15</volume>
          , pages
          <fpage>205</fpage>
          -
          <lpage>212</lpage>
          . SCS,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <given-names>David</given-names>
            <surname>Broman</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Christopher</given-names>
            <surname>Brooks</surname>
          </string-name>
          , Lev Greenberg,
          <article-title>Edward A Lee, Michael Masin</article-title>
          , Stavros Tripakis, and
          <string-name>
            <given-names>Michael</given-names>
            <surname>Wetter</surname>
          </string-name>
          .
          <article-title>Determinate composition of fmus for co-simulation</article-title>
          .
          <source>In Proc. 11th ACM International Conference on Embedded Software, page 2</source>
          . IEEE,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <surname>Joachim</surname>
            <given-names>Denil</given-names>
          </string-name>
          , Bart Meyers, Paul De Meulenaere, and
          <string-name>
            <given-names>Hans</given-names>
            <surname>Vangheluwe</surname>
          </string-name>
          .
          <article-title>Explicit semantic adaptation of hybrid formalisms for fmi co-simulation</article-title>
          .
          <source>In Proceedings of the Symposium on Theory of Modeling</source>
          &amp; Simulation
          <string-name>
            <surname>: DEVS Integrative M&amp;S Symposium</surname>
          </string-name>
          , DEVS '
          <volume>15</volume>
          , pages
          <fpage>99</fpage>
          -
          <lpage>106</lpage>
          . SCS,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23]
          <string-name>
            <surname>Luiza</surname>
            <given-names>Gheorghe</given-names>
          </string-name>
          , Faouzi Bouchhima, Gabriela Nicolescu, and
          <string-name>
            <given-names>Hanifa</given-names>
            <surname>Boucheneb</surname>
          </string-name>
          .
          <article-title>A formalization of global simulation models for continuous/discrete systems</article-title>
          .
          <source>In Proceedings of the 2007 Summer Computer Simulation Conference</source>
          , pages
          <fpage>559</fpage>
          -
          <lpage>566</lpage>
          . SCS,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [24]
          <string-name>
            <surname>Pieter</surname>
            <given-names>J.</given-names>
          </string-name>
          <string-name>
            <surname>Mosterman</surname>
            and
            <given-names>Hans</given-names>
          </string-name>
          <string-name>
            <surname>Vangheluwe</surname>
          </string-name>
          .
          <article-title>Guest editorial: Special issue on computer automated multi-paradigm modeling</article-title>
          .
          <source>ACM Trans. Model. Comput. Simul.</source>
          ,
          <volume>12</volume>
          (
          <issue>4</issue>
          ):
          <fpage>249</fpage>
          -
          <lpage>255</lpage>
          ,
          <year>October 2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          [25]
          <string-name>
            <given-names>Hans</given-names>
            <surname>Vangheluwe</surname>
          </string-name>
          .
          <article-title>Devs as a common denominator for multi-formalism hybrid systems modelling</article-title>
          .
          <source>In IEEE International Symposium on Computer-Aided Control System Design (ed. Andras Varga)</source>
          , IEEE Computer Society Press, Anchorage, Alaska, sept.
          <year>2000</year>
          , pages
          <fpage>129</fpage>
          -
          <lpage>134</lpage>
          ,
          <year>2000</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          [26]
          <string-name>
            <surname>Michais</surname>
            <given-names>Famelis</given-names>
          </string-name>
          , Rick Salay, and
          <string-name>
            <given-names>Marsha</given-names>
            <surname>Chechik</surname>
          </string-name>
          .
          <article-title>Partial models: Towards modeling and reasoning with uncertainty</article-title>
          .
          <source>In Software Engineering (ICSE)</source>
          ,
          <year>2012</year>
          34th International Conference on, pages
          <fpage>573</fpage>
          -
          <lpage>583</lpage>
          . IEEE,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          [27]
          <string-name>
            <surname>Rick</surname>
            <given-names>Salay</given-names>
          </string-name>
          , Michalis Famelis, and
          <string-name>
            <given-names>Marsha</given-names>
            <surname>Chechik</surname>
          </string-name>
          .
          <source>Language Independent Refinement Using Partial Modeling</source>
          , pages
          <fpage>224</fpage>
          -
          <lpage>239</lpage>
          . Springer Berlin Heidelberg, Berlin, Heidelberg,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          [28]
          <string-name>
            <surname>Michalis</surname>
            <given-names>Famelis</given-names>
          </string-name>
          , Rick Salay, Alessio Di Sandro, and
          <string-name>
            <given-names>Marsha</given-names>
            <surname>Chechik</surname>
          </string-name>
          .
          <source>Transformation of Models Containing Uncertainty</source>
          , pages
          <fpage>673</fpage>
          -
          <lpage>689</lpage>
          . Springer Berlin Heidelberg, Berlin, Heidelberg,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          [29]
          <string-name>
            <given-names>Alexander</given-names>
            <surname>Egyed</surname>
          </string-name>
          .
          <article-title>Instant consistency checking for the uml</article-title>
          .
          <source>In Proceedings of the 28th international conference on Software engineering</source>
          , pages
          <fpage>381</fpage>
          -
          <lpage>390</lpage>
          . ACM,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref30">
        <mixed-citation>
          [30]
          <string-name>
            <given-names>Ahsan</given-names>
            <surname>Qamar</surname>
          </string-name>
          .
          <article-title>Model and dependency management in mechatronic design</article-title>
          .
          <source>PhD thesis</source>
          , KTH,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref31">
        <mixed-citation>
          [31]
          <string-name>
            <surname>Sebastian</surname>
            <given-names>JI</given-names>
          </string-name>
          <article-title>Herzig and Christiaan JJ Paredis</article-title>
          .
          <article-title>Bayesian reasoning over models</article-title>
          .
          <source>In MoDeVVa@MoDELS</source>
          , pages
          <fpage>69</fpage>
          -
          <lpage>78</lpage>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref32">
        <mixed-citation>
          [32]
          <string-name>
            <surname>Robert</surname>
            <given-names>A Thacker</given-names>
          </string-name>
          , Kevin R Jones, Chris J Myers, and
          <string-name>
            <given-names>Hao</given-names>
            <surname>Zheng</surname>
          </string-name>
          .
          <article-title>Automatic abstraction for verification of cyber-physical systems</article-title>
          .
          <source>In International Conference on Cyber-Physical Systems</source>
          , pages
          <fpage>12</fpage>
          -
          <lpage>21</lpage>
          . ACM,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref33">
        <mixed-citation>
          [33]
          <string-name>
            <given-names>B. P.</given-names>
            <surname>Zeigler</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Praehofer</surname>
          </string-name>
          , and
          <string-name>
            <given-names>T. G.</given-names>
            <surname>Kim</surname>
          </string-name>
          .
          <source>Theory of Modelling and Simulation, Integrating Discrete Event and Continuous Complex Dynamic Systems. Academic Press, 2 edition</source>
          ,
          <year>2000</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref34">
        <mixed-citation>
          [34]
          <string-name>
            <surname>Mamadou</surname>
            <given-names>K.</given-names>
          </string-name>
          <string-name>
            <surname>Traore</surname>
            ´ and
            <given-names>Alexandre</given-names>
          </string-name>
          <string-name>
            <surname>Muzy</surname>
          </string-name>
          .
          <article-title>Capturing the dual relationship between simulation models and their context</article-title>
          .
          <source>Simulation Modelling Practice and Theory</source>
          ,
          <volume>14</volume>
          (
          <issue>2</issue>
          ):
          <fpage>126</fpage>
          -
          <lpage>142</lpage>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref35">
        <mixed-citation>
          [35]
          <string-name>
            <surname>Joachim</surname>
            <given-names>Denil</given-names>
          </string-name>
          , Stefan Klikovits, Pieter Mosterman, Antonio Vallecillo, and
          <string-name>
            <given-names>Hans</given-names>
            <surname>Vangheluwe</surname>
          </string-name>
          .
          <article-title>The experimental model and the validity frame in M&amp;S</article-title>
          .
          <source>In Proceedings of the Symposium on Theory of Modelling and Simulation</source>
          ,
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref36">
        <mixed-citation>
          [36]
          <string-name>
            <surname>Albert</surname>
            <given-names>Benveniste</given-names>
          </string-name>
          , Benoit Caillaud, Dejan Nickovic, Roberto Passerone,
          <string-name>
            <surname>Jean-Baptiste</surname>
            <given-names>Raclet</given-names>
          </string-name>
          , Philipp Reinkemeier,
          <string-name>
            <surname>Alberto</surname>
            <given-names>SangiovanniVincentelli</given-names>
          </string-name>
          , Werner Damm, Thomas Henzinger, and Kim G. Larsen.
          <article-title>Contracts for System Design</article-title>
          .
          <source>Research Report RR-8147</source>
          , INRIA,
          <year>November 2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref37">
        <mixed-citation>
          [37]
          <string-name>
            <surname>Ken</surname>
            <given-names>Vanherpen</given-names>
          </string-name>
          , Joachim Denil, Paul De Meulenaere, and
          <string-name>
            <given-names>Hans</given-names>
            <surname>Vangheluwe</surname>
          </string-name>
          .
          <article-title>Ontological reasoning as an enabler of contract-based codesign</article-title>
          . In International Workshop on Design, Modeling, and
          <article-title>Evaluation of Cyber Physical Systems</article-title>
          , pages
          <fpage>101</fpage>
          -
          <lpage>115</lpage>
          . Springer,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref38">
        <mixed-citation>
          [38]
          <string-name>
            <surname>Patricia</surname>
            <given-names>Derler</given-names>
          </string-name>
          ,
          <article-title>Edward A Lee, Martin To¨rngren, and Stavros Tripakis</article-title>
          .
          <article-title>Cyber-physical system design contracts</article-title>
          .
          <source>In Cyber-Physical Systems (ICCPS)</source>
          , International Conference on, pages
          <fpage>109</fpage>
          -
          <lpage>118</lpage>
          . IEEE,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref39">
        <mixed-citation>
          [39]
          <string-name>
            <surname>Istva</surname>
          </string-name>
          <article-title>´n Da´vid, Joachim Denil</article-title>
          , Klaas Gadeyne, and
          <string-name>
            <given-names>Hans</given-names>
            <surname>Vangheluwe</surname>
          </string-name>
          .
          <article-title>Engineering process transformation to manage (in)consistency</article-title>
          .
          <source>In COMMitMDE)</source>
          , pages
          <fpage>7</fpage>
          -
          <lpage>16</lpage>
          ,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref40">
        <mixed-citation>
          [40]
          <string-name>
            <surname>Sahar</surname>
            <given-names>Kokaly</given-names>
          </string-name>
          , Rick Salay, Valentin Cassano, Tom Maibaum, and
          <string-name>
            <given-names>Marsha</given-names>
            <surname>Chechik</surname>
          </string-name>
          .
          <article-title>A Model Management Approach for Assurance Case Reuse due to System Evolution</article-title>
          .
          <source>In Proc. of MODELS'16</source>
          ,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>