<!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>Architectural and Analytic Integration of Cyber-Physical System Models</article-title>
      </title-group>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>Ivan Ruchkin Institute for Software Research Carnegie Mellon University Pittsburgh</institution>
          ,
          <addr-line>PA 15213</addr-line>
          ,
          <country country="US">USA</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>-Modeling methods for Cyber-Physical Systems (CPS) originate in various engineering fields, and are difficult to use together due to their heterogeneity. Inconsistencies between mutually oblivious models and analyses often lead to implicit design errors, which may cause catastrophic failures of critical CPS. Such consistency issues are not fully solved by the state-of-the-art integration methods, which lack generality, formal guarantees, and effectiveness. To overcome these limitations and achieve better integration, this paper outlines a two-level integration approach based on architectural views and analysis contracts. In particular, this paper proposes languages and algorithms to specify and verify important integration properties, such as correct analysis execution and rich consistency of architectural views. According to the results to date, this approach shows promise in detection and prevention of implicit errors, which would be difficult to fix otherwise.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>I. INTRODUCTION</title>
      <p>
        Modern software systems are growing more distributed,
autonomous, and embedded in physical world [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. Such systems
are increasingly important because they offer socioeconomic
benefits beyond classic embedded systems. For example, fully
automated self-driving cars promise dramatic reductions in
the accident rate [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. Such systems are often called
CyberPhysical Systems (CPS)1because they are combine software
with complex physical dynamics.
      </p>
      <p>
        Safety-critical CPS are difficult but important to engineer
correctly. To tackle complex analog and digital processes, CPS
design and quality assurance rely on model-driven engineering
from various scientific and engineering fields, such as artificial
intelligence, control theory, and mechanical design. This
diversity of methods leads to complex and heterogeneous models
that are hard to combine for one system’s design. For example,
at least six distinct models of computation may need to
coexist in a single system model [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
      </p>
      <p>
        Failure to combine multidisciplinary modeling methods
properly may lead to miscommunication and inconsistencies,
which turn into design errors and ultimately system failures
[
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. In this paper, such issues are generally called the Problem
of Modeling Methods Integration (MMI) – absence of
integration leading to erroneous designs. Although partial solutions
to the MMI problem exist, CPS community has not yet
developed general, effective, and practical ways to integrate
1Such systems are also sometimes referred to as autonomous robotics and
mechatronics.
      </p>
      <p>
        CPS modeling and design methods [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. As a result,
safetycritical CPS are prone to implicit errors that take a substantial
amount of time, effort, and funds to discover and fix. For
example, the GM ignition switch recall was caused by an
unexpected interaction between the mechanical and electrical
designs of the ignition switch, leading to failures, loss of lives,
and expensive recalls [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ].
      </p>
      <p>
        One of the approaches to the MMI problem focuses on
choosing an appropriate component abstraction (a“view”) for
each CPS formalism, using annotated graphs as an underlying
notation [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. This approach takes advantage of flexibility of
graph annotations to support custom models and a variety of
consistency verification methods. Despite its advantages, the
architectural approach currently has several significant
limitations. First, model-view relations are informal and require
substantial manual effort to be created and updated throughout
the engineering process. Another limitation is that consistency
is fragile due to frequent algorithmic changes to models (we
call these algorithms analyses). Finally, consistency properties
have limited expressiveness confined solely to the architectural
level, incapable of expressing richer properties.
      </p>
      <p>
        This paper introduces the two-level integration approach
that overcomes the above limitations. One level of abstraction
is the architectural view level that represents the aspects of
each model that are relevant for integration. The other level
is the analysis level that focuses on algorithms that change
models and infer information from them. Combining these two
levels leads to a holistic treatment of CPS modeling integration
issues. In particular, this research makes the following major
contributions to the field of cyber-physical systems:
A Formalization of, and automated support for, CPS
modelview relations – a formalism and algorithms for
automated creation and updating of model-view relations,
even for models that are not structured based on
components, e.g., hybrid programs [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. Preliminary work
(Sec. V) shows that automation of model-view relations
is feasible and provides auxiliary modeling benefits, such
as component-based analysis and reuse of models.
      </p>
      <sec id="sec-1-1">
        <title>B A framework for automated analysis-driven change in</title>
        <p>CPS models – a language for specifying analysis
dependencies with formal contracts, and an algorithm for
sound ordering and execution of analyses. Preliminary
work shows that this framework prevents modeling errors challenging to analyze behavioral planning, which in important
that occur due to incorrect ordering of analysis execution. to CPS, in signal-flow control models.</p>
        <p>
          C A method for domain-specific specification and verifica- The field of hybrid systems aims to combine discrete and
tion of CPS model consistency and analytic soundness – continuous system dynamics. A common model is a hybrid
aua language to express model-specific CPS properties, and tomaton [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ] that combines continuous differential equations
an algorithm to verify such properties. This language in- with discrete state jumps. Although hybrid systems have
encorporates model-specific terms beyond the architectural joyed success in symbolic and numeric analysis, hybrid models
level, and can used in Contributions A and B. Preliminary are notoriously complex and have limited scalability, and thus
work demonstrates that this language can detect integra- have to be applied selectively in practice. Another limitation is
tion errors that would not have been detectable purely at that hybrid models lack typical modularity mechanisms [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ],
the level of architectural views. and hence are difficult to combine with common models in
All three elements of the approach will be implemented software and systems engineering.
in popular architecture modeling languages and environments, B. Integration Approaches
and validated on realistic academic and industrial case studies
to show effectiveness and generality of the approach.
        </p>
        <p>Next section gives more background on CPS modeling
methods and existing work that addresses the MMI problem.</p>
        <p>Sec. III contains more detail on the MMI problem, and Sec. IV
presents the two-level approach to MMI. The last section
discusses research completed to date and concludes the paper.</p>
      </sec>
    </sec>
    <sec id="sec-2">
      <title>II. BACKGROUND AND RELATED WORK</title>
      <p>A modeling method is a cohesive set of formalisms,
algorithms, and processes to represent, design, and analyze a
system towards satisfaction of certain properties. CPS engineering
combines various modeling methods to address systemic
properties like safety, stability, schedulability, security, and others.</p>
      <p>The work related to this research can be split into two
categories: individual CPS modeling methods that can be
supported by an integration approach, and CPS model integration
approaches that can be seen as alternative solutions to the MMI
problem.</p>
      <sec id="sec-2-1">
        <title>A. Modeling Methods for Cyber-Physical Systems</title>
        <p>
          Modeling methods for CPS differ depending on a scientific
field where they originate. Since CPS engineering revolves
around the boundary between discrete digital and continuous
physical worlds, one of the most important characteristics of
modeling methods is their treatment of potentially continuous
phenomena, such as time and space. On the one hand of
this spectrum are classic software engineering models like
statecharts and process algebras [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ]. These models are easier to
compose and verify using such techniques as model checking.
However, their treatment of continuous quantities is very
limited and not satisfactory for CPS [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ] A special place
among discrete formalisms is taken by architectural models
such as UML, SysML, and AADL [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ]. These models include
flexible elements such as profiles, types, and annexes to allow
specialization and extension, making architectural models
particularly suitable to be a foundation of CPS integration.
        </p>
        <p>
          On the other hand of the spectrum are classic control models
written in differential or difference equations [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ] and their
engineering counterparts like Simulink [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ]. Although these
models are well-suited for traditional control settings like
physical process control, it is increasingly difficult to apply
such models to complex intelligent systems. For instance, it is
Currently there are two major ways of addressing the MMI
problem. One is to create a single language or formal system
with universal semantics that would hopefully serve as a lingua
franca of all CPS modeling methods. Such solutions often
lead to very complex descriptions and quick explosion of state
space [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ], thus becoming inapplicable to large systems. The
second way is to preserve the diversity and heterogeneity of
models through model integration. The rest of this section
reviews several such frameworks.
        </p>
        <p>
          Software and systems engineering have a significant
heritage in compositional methods, some of which have been
adapted to CPS. One strand of research composes components
using contracts [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ]: each component has an interface with
a formal contract. This approach works well for distributed
development of systems, but is often inappropriate for
crosscutting qualities like safety and security. Another way to
compose system parts is by unifying components through their
behavior relations [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ]. This is practical when behaviors are
known and easily specified, which, however, is not always the
case for complex systems. The work in this paper uses
wellknown contract-based reasoning at a novel level of analyses.
        </p>
        <p>
          Ptolemy II [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ] is a platform for rich simulation of diverse
models of computation. It can be used to co-simulate
heterogeneous models like state machines, Petri nets, and timed
automata. Although this is a promising integration method for
hands-on engineering, it does not provide strong theoretical
guarantees (like those behind formal verification). Another
obstacle is that not every CPS model has a well-defined
computation model: some models are more declarative than
imperative, for example logical and functional models. The
two-level integration approach incorporates modeling
methods and verification regardless of how definable models of
computation are.
        </p>
        <p>
          Another approach to the MMI problem is based on logical
integration through metamodels and formal semantics, such
as in OpenMETA and CyPhyML [
          <xref ref-type="bibr" rid="ref19">19</xref>
          ]. This method provides
strong theoretical guarantees and practical engineering support
when a metamodel is known. However, there is little guidance
for models that do not have explicit metamodels, or whose
metamodels are too computationally complex and only partial
integration is possible. Another limitation is that metamodel
integration does not directly support verification of changes to
models. Our research, on the other hand, does not depend on
explicit metamodels and provides structured change support
that can augment metamodel integration.
        </p>
        <p>
          Prior work on architecture-based CPS model consistency
defined a vocabulary of CPS terms, and used it to check
structural consistency [
          <xref ref-type="bibr" rid="ref20">20</xref>
          ]. It however does not address the question
of how model-view relations are created and maintained,
leaving it to error-prone and expensive manual effort. Prior
work on analysis contracts offers limited, bounded verification
with Alloy and focuses on openness of runtime models [
          <xref ref-type="bibr" rid="ref21">21</xref>
          ].
In contrast, our work on analysis contracts advances that
state of the art through an extensible contracts language with
theoretically defined semantics and verification mechanisms.
        </p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>III. PROBLEM: MODELING METHOD INTEGRATION</title>
      <p>
        As mentioned in Sec. I, the Modeling Method Integration
(MMI) problem is caused by a critical lack of integration
between CPS modeling methods that leads to design errors and
ensuing substantial operational losses. Consider for example
a self-driving car that autonomously navigates through an
urban environment, supported by intelligent infrastructure,
such as smart traffic signals [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ]. All aspects of the car
design – electrical, mechanical, thermal, power, control, and
communication – need to be properly aligned and, ideally,
verified before manufacturing in order to ensure safety and
acceptable performance of the system. If modeling methods
that address these aspects invalidate each other, it is likely
that difficult-to-find discrepancies would be introduced into
the design.
      </p>
      <p>
        Some parts of the MMI problem have been successfully
addressed in related research. For example, architectural
integration abstractions have been used to represent model
structure and behavior, check consistency, and compose
independent components [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ]. Model integration properties can
be expressed as parametric constraints over sets of views [
        <xref ref-type="bibr" rid="ref24">24</xref>
        ].
      </p>
      <p>
        However, several important integration issues have not been
resolved. One of them is the informality of relations between
heterogeneous models and their integration-level
representations (such as views). These relations may be easier to
establish and maintain for component-based models, such as
Simulink and Verilog. However, some CPS models do not have
native support for components. For example, hybrid programs
are difficult to componentize [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] because they formally are
sequences of potentially non-deterministic discrete jumps and
continuous evolutions. Traditionally, such fuzzy model-view
relations are handled by an engineer’s judgment and insight,
which is an effort-intensive and error-prone way.
      </p>
      <p>
        Another aspect of the MMI problem is that system designs
undergo constant change. It is increasingly common to use
automated tools and algorithms to analyze and augment
models. We call such tools and algorithms analyses. Analyses are
based on theories and methods from diverse engineering and
scientific domains. For example, in the domain of real-time
processor scheduling, thread-to-processor allocation via
binpacking and processor frequency scaling [
        <xref ref-type="bibr" rid="ref25">25</xref>
        ] are analyses that
derive a more optimal architecture of a real-time system. If
analyses change models locally, it is impractical to maintain
consistency in a traditional way: for every local change, many
global properties may need to be re-verified before another
local change can be made. Besides, analyses often make
implicit assumptions about the system and its environment,
and it’s important to verify these assumptions – otherwise
analytic results may be incorrect.
      </p>
      <p>
        Finally, some model consistency properties and analytic
assumptions need to be expressed not only in terms of
architectural elements (components and connectors), but also in
domain- and model-specific terms (e.g., current battery cell
charge [
        <xref ref-type="bibr" rid="ref25">25</xref>
        ]) that are not defined in architectural models. Often
such terms are too semantically low-level, and fully defining
them in architectural views would be impractical because one
would have to “import” the full detailed semantics of a model,
thus defeating the purpose of integration abstractions.
      </p>
      <p>
        To clarify the expressiveness issue, consider an
assumption of the frequency scaling analysis – behavioral
deadlinemonotonicity of threads on each processor [
        <xref ref-type="bibr" rid="ref25">25</xref>
        ]. That is, if a
thread preempts another, it should have a smaller deadline. To
express this statement logically, in addition to the architectural
concepts (threads, processors, bindings, and deadlines) we
refer to the non-architectural concept of thread preemption.
In this case, preemption is modelled as a logical predicate
CanPrmpt over a pair of threads that holds iff the first
thread preempts the second at the (implicitly modeled) current
moment of time. Then the assumption can be written as:
8t1; t2 2 T t1 6= t2 ^ CPUBind(t1) = CPUBind(t2) :
G (CanPrmpt(t1; t2) =)
      </p>
      <p>
        Dline(t1) &lt; Dline(t2));
(1)
where T is the set of all threads in the system; CPUBind(t)
is the processor that thread t executes on; G (P ) is a global
modality in linear temporal logic (LTL) [
        <xref ref-type="bibr" rid="ref26">26</xref>
        ] requiring that
predicate P holds at all times; and Dline(t) is the offline
deadline of thread t. We need to systematically and scalably
interpret and verify statements like the above, and the existing
frameworks fall short of doing so.
      </p>
      <sec id="sec-3-1">
        <title>A. Challenges</title>
        <p>
          The MMI problem can be encountered in a variety of
engineering settings outside of CPS. For example, traditional
software engineering uses several notations and reasoning
styles, and sometimes their interoperability is required [
          <xref ref-type="bibr" rid="ref27">27</xref>
          ].
It is however in the CPS context that this problem becomes
particularly challenging due to several reasons:
        </p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>No single discipline in CPS owns a full solution. Het</title>
      <p>erogeneous methods need to, as least partially, reconcile
conflicting paradigms to achieve practical integration.
Correct integration often depends upon satisfaction of
implicit assumptions. Many engineers do not challenge
the assumptions of their discipline, and aren’t aware of
the assumptions in other disciplines. Discovering such
assumptions and their violations is therefore a difficult
task with unpredictable outcomes.</p>
    </sec>
    <sec id="sec-5">
      <title>Usually models and source code of safety-critical CPS</title>
      <p>cannot be found on popular collaborative websites such
as GitHub. Conducting an evaluative case study of
integration methods requires overcoming organizational and
legal barriers to access protected systems.</p>
      <p>Nevertheless, it is possible to improve CPS modeling
method integration. The next section presents a two-level
approach to the MMI problem.</p>
    </sec>
    <sec id="sec-6">
      <title>IV. APPROACH: ARCHITECTURAL AND</title>
      <p>ANALYTIC INTEGRATION</p>
      <p>The overall scheme of the two-level integration approach
is shown in Fig. 1. Consider two heterogeneous models to be
integrated. The models are not completely independent, and
there exists some relationship between them. This relationship
is however too complex to express or verify directly. Instead,
we create architectural view abstractions with
integrationrelevant information for each model. The views need to be
general enough to accommodate different formalisms (e.g.,
hybrid programs or Simulink) and CPS application domains
(e.g., avionics or transportation).</p>
      <p>To support systematic change of models, analyses are
considered first-class entities. Analyses read and change views,
which propagate the changes to models. Analyses often have
their applicability limited by assumptions. If an analysis’
assumptions are not satisfied, this analysis may produce an
incorrect result should not be executed. Some analyses have
guarantees – statements that should hold after an analysis is
executed. If this is not the case, the changes made by this
analysis should be rolled back. Since some analyses modify
the same set of views, input-output dependencies arise and
have to be resolved.</p>
      <p>
        The view level is used to mediate complex interaction
between analyses and models. An view is an architectural model
with components, connectors, and properties that are defined in
a particular architectural style – a custom vocabulary of
architectural elements. Using views for integration requires creating
and maintaining two kinds of relations: view-view and
modelview. The former is more straightforward because views are
specified in ADLs that have generally homogeneous structure
of components and connectors. Therefore this relationship can
be maintained using a number of well-established techniques
such as model transformation [
        <xref ref-type="bibr" rid="ref28">28</xref>
        ] or synchronization [
        <xref ref-type="bibr" rid="ref29">29</xref>
        ].
      </p>
      <p>
        Model-view relations, on the other hand, require a more
special link between views and potentially less structured
models. A view needs to abstract out some semantics and
structure of a model. We use view-model mappings and
transformations to automatically support model-view relations.
These mappings and transformations have to be customized to
the particular formalism in order to be effective. The approach
takes advantage of the flexibility of architectural styles to
support customization and tailor transformation algorithms.
For instance, the hybrid program view [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] describes which
component “owns” how each hybrid program variable.
      </p>
      <p>
        Another function of the view level is establishing
consistency between models through their views. That is done by
specifying and verifying consistency rules, which take form
of constraints over multiple views and can be verified with
constraint solving [
        <xref ref-type="bibr" rid="ref30">30</xref>
        ]. Properties that contain model-specific
terms like CanPrmpt (see Eq. 1) require more sophisticated
verification methods, such as model checking or theorem
proving.
      </p>
      <sec id="sec-6-1">
        <title>B. Analysis Level</title>
        <p>The analysis level automates sound execution of
modelbased analyses, which depends on correct ordering and
satisfaction of assumptions and guarantees. The language of
analysis contracts facilitates soundness checking. Every analysis is
accompanied by its contract C that specifies inputs I, outputs
O, assumptions A, and guarantees G of the analysis, in short
C (I; O; A; G).</p>
        <p>Correct analysis ordering is one where all analyses go in
order of their dependencies. For example, if analysis A1 depends
on analysis A22, then A2 should be executed before A1. For
instance, a CPU scheduling analysis, which determines the
voltage required by CPUs, should be followed by a battery
design analysis, which uses the voltage as a requirement. A
sound sequence of analyses is built by creating an analysis
dependency graph and selecting any topological ordering
that ends with the desired analysis. The only exception for
this method is when there are cyclical dependencies, which
requires more sophisticated methods of dependency resolution.
Assumption and guarantee verification is done in the same way
as consistency property verification on the view level.</p>
        <p>The two-level integration approach demonstrated in Fig. 1
has the following advantages:</p>
        <p>By combining architectural and analytic perspectives, it
incorporates a large body of prior work and offers diverse
opportunities to integrate modeling methods.</p>
      </sec>
    </sec>
    <sec id="sec-7">
      <title>2That is, one of A2 outputs is one of A1 inputs.</title>
    </sec>
    <sec id="sec-8">
      <title>Important but subtle integration properties that span mul</title>
      <p>tiple domains and formalisms can now be expressed and
verified at an appropriate abstraction level, thanks to
Contribution C.</p>
      <p>The bottom-up philosophy behind the approach enables
adding new modeling methods without up-front planning,
in contrast with existing top-down approaches that are
dependent on specific formalisms.</p>
      <p>The approach also has several limitations:</p>
      <p>It may be difficult to provide integration for incomplete
and informal models, which often require unique
formalizations and algorithms.</p>
      <p>The scalability of formal verification techniques depends
on carefully designed abstractions and high-quality tools,
which may not always be available.</p>
      <p>It may be impractical to invest into an up-front formal
integration of views and analyses in CPS projects that do
not use many heterogeneous modeling methods.</p>
      <p>To summarize, the two-level approach is promising to make
CPS modeling method integration more effective and less
effortful. The next section presents preliminary evidence that
supports this claim.</p>
    </sec>
    <sec id="sec-9">
      <title>V. RESULTS TO DATE This section describes two significant results: architectural views for hybrid programs and the analysis contracts framework.</title>
      <sec id="sec-9-1">
        <title>A. Architectural Views for Hybrid Programs</title>
        <p>
          The hybrid program modeling method, based on hybrid
programs (HP) and differential dynamic logic (dL) [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ], is
particularly difficult to integrate with other modeling methods,
in part due to HP expressiveness and lack of support for
modularity. Each hybrid program contains fragments of various
concerns, from the physical environment of the system to the
type of sensing and actuation. These fragments are highly
intertwined with each other across many statements of the
program. Specification of interacting components, e.g., a robot
and an obstacle, is also dispersed through the body of a HP.
Leading to poor HP modularity, these issues inspired work on
creating an architectural abstraction of hybrid programs [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ].
        </p>
        <p>To incorporate hybrid programs into the approach, we
defined an architectural HP view, which defines how
architectural elements are transformed into hybrid programs. That
enabled high-level design and reasoning about HPs and at the
same time eliminated manual effort of model-view consistency
maintenance. An architectural HP view, which contains
actors HPA, composers CPR, and connectors HPC , can be
transformed into a single HP via transformation functions
of CPR and HPC . Given a view, it is possible to reuse
its parts and express its properties in dL, thus the level
of abstraction is elevated to components and systems from
individual statements. I have also defined an analysis to check
whether a view has a proper compositional structure, e.g.,
whether an actor violates the laws of causality by manipulating
variables of another actor outside existing connectors.</p>
        <p>
          This work on architectural abstractions for hybrid programs
towards Contribution A, implemented as a plugin to
AcmeStudio [
          <xref ref-type="bibr" rid="ref31">31</xref>
          ], demonstrated feasibility of automated maintenance
of model-view relationship. It opens future research directions
in construction of integration tools and investigation of
theoretical soundness for HP view analyses.
        </p>
      </sec>
      <sec id="sec-9-2">
        <title>B. Analysis Contracts Framework</title>
        <p>
          This work investigated theoretical and practical aspects of
using analysis contracts for integration (towards
Contribution B) [
          <xref ref-type="bibr" rid="ref25">25</xref>
          ]. Theoretical goals were designing the syntax
and semantics for contracts and devising algorithms that
ensure sound execution of analyses. Practical goals included
formalization of existing domains beyond the original one
(thread scheduling) and creation of an extensible framework
for analysis execution and contract verification.
        </p>
        <p>
          Towards the theoretical goals, analysis contracts as
quadruples C (see Sec. IV above for details). Their semantics is
described over verification domains – collections of sets and
functions that describe the essential elements of a technical
domain. Towards the practical goal, the ACTIVE tool [
          <xref ref-type="bibr" rid="ref32">32</xref>
          ] was
designed and implemented3 to support correct execution of
analyses in an AADL environment OSATE2 [
          <xref ref-type="bibr" rid="ref33">33</xref>
          ].
        </p>
        <p>
          This research showed that analysis contracts are suitable
for detection and prevention of integration errors in several
domains: threads scheduling, battery scheduling [
          <xref ref-type="bibr" rid="ref25">25</xref>
          ], sensor
trustworthiness, reliability, and control [
          <xref ref-type="bibr" rid="ref34">34</xref>
          ]. This work
demonstrated the improvements in effectiveness and cost-efficiency
in CPS modeling method integration.
        </p>
        <p>This paper outlined the two-level integration approach for
CPS modeling methods. The next steps in this research are
finalizing the design of the integration property language
(Contribution C), and conducting case studies of model integration
in realistic academic and industrial cyber-physical systems,
such as NASA Europa Orbiter 4 and Carnegie Mellon Andy
Rover 5. Candidates for case studies would be systems with
diverse modeling and analytic artifacts that can be used to
validate effectiveness and generality of the approach.</p>
      </sec>
    </sec>
    <sec id="sec-10">
      <title>ACKNOWLEDGEMENTS</title>
      <p>I thank my advisor David Garlan for his guidance and
support. I thank Dionisio De Niz, Sagar Chaki, Bradley
Schmerl, Ashwini Rao, and other collaborators for contributing
to this research. I am also grateful to anonymous reviewers for
their helpful comments and suggestions.</p>
      <p>This work is funded and supported by the National Science
Foundation under Grant CNS-0834701, by the National
Security Agency, and by the Department of Defense under Contract
No. FA8721-05-C-0003 with Carnegie Mellon University for
the operation of the Software Engineering Institute, a federally
funded research and development center.</p>
      <p>3Available at github.com/bisc/active
4nasa.gov/europa
5lunar.cs.cmu.edu</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>R.</given-names>
            <surname>Rajkumar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>I.</given-names>
            <surname>Lee</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Sha</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Stankovic</surname>
          </string-name>
          , “
          <article-title>Cyber-physical systems: The next computing revolution</article-title>
          ,
          <source>” in 2010 47th ACM/IEEE Design Automation Conference (DAC)</source>
          ,
          <year>2010</year>
          , pp.
          <fpage>731</fpage>
          -
          <lpage>736</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>Paul</given-names>
            <surname>Gao</surname>
          </string-name>
          , Russel Hensley, and Andreas Zielke, “
          <article-title>A road map to the future for the auto industry,” McKinsey Quarterly</article-title>
          , Oct.
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>P.</given-names>
            <surname>Derler</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E. A.</given-names>
            <surname>Lee</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A. L.</given-names>
            <surname>Sangiovanni-Vincentelli</surname>
          </string-name>
          , “
          <article-title>Addressing Modeling Challenges in Cyber-Physical Systems</article-title>
          ,” EECS Department, University of California, Berkeley, Tech. Rep. UCB/EECS-2011-17, Mar.
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>J.</given-names>
            <surname>Sztipanovits</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X.</given-names>
            <surname>Koutsoukos</surname>
          </string-name>
          , G. Karsai,
          <string-name>
            <given-names>N.</given-names>
            <surname>Kottenstette</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Antsaklis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Gupta</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Goodwine</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Baras</surname>
          </string-name>
          , and
          <string-name>
            <given-names>S.</given-names>
            <surname>Wang</surname>
          </string-name>
          , “
          <article-title>Toward a Science of Cyber-Physical System Integration,”</article-title>
          <source>Proceedings of the IEEE</source>
          , vol.
          <volume>100</volume>
          , no.
          <issue>1</issue>
          , pp.
          <fpage>29</fpage>
          -
          <lpage>44</lpage>
          , Jan.
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>M.</given-names>
            <surname>Wolf</surname>
          </string-name>
          and E. Feron, “
          <string-name>
            <surname>What Don'T We Know About CPS Architectures</surname>
          </string-name>
          <article-title>?</article-title>
          ”
          <source>in Proceedings of the 52Nd Annual Design Automation Conference</source>
          , ser.
          <source>DAC '15</source>
          . New York, NY, USA: ACM,
          <year>2015</year>
          , pp.
          <volume>80</volume>
          :
          <fpage>1</fpage>
          -
          <lpage>80</lpage>
          :
          <fpage>4</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>A.</given-names>
            <surname>Valukas</surname>
          </string-name>
          , “Report to Board of Directors of General Motors Company Regarding Ignition Switch Recalls,” Jenner &amp; Block, Tech. Rep., May
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>P.</given-names>
            <surname>Fradet</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Metayer</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Perin</surname>
          </string-name>
          , “
          <article-title>Consistency Checking for Multiple View Software Architectures,”</article-title>
          <source>Software Engineering ESEC/FSE 99</source>
          , vol.
          <volume>1687</volume>
          , pp.
          <fpage>410</fpage>
          -
          <lpage>428</lpage>
          ,
          <year>1999</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>A.</given-names>
            <surname>Platzer</surname>
          </string-name>
          , “
          <article-title>Differential Dynamic Logic for Hybrid Systems</article-title>
          ,
          <source>” Journal of Automated Reasoning</source>
          , vol.
          <volume>41</volume>
          , no.
          <issue>2</issue>
          , pp.
          <fpage>143</fpage>
          -
          <lpage>189</lpage>
          , Aug.
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>J.</given-names>
            <surname>Magee</surname>
          </string-name>
          and
          <string-name>
            <given-names>J.</given-names>
            <surname>Kramer</surname>
          </string-name>
          , Concurrency: State Models &amp;
          <article-title>Java Programs</article-title>
          . Wiley, Apr.
          <year>1999</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>E. A.</given-names>
            <surname>Lee</surname>
          </string-name>
          , “CPS Foundations,”
          <source>in Proceedings of the 47th Design Automation Conference</source>
          , ser.
          <source>DAC '10</source>
          . New York, NY, USA: ACM,
          <year>2010</year>
          , pp.
          <fpage>737</fpage>
          -
          <lpage>742</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>P. H.</given-names>
            <surname>Feiler</surname>
          </string-name>
          and
          <string-name>
            <given-names>D. P.</given-names>
            <surname>Gluch</surname>
          </string-name>
          ,
          <article-title>Model-Based Engineering with AADL: An Introduction to the SAE Architecture Analysis</article-title>
          &amp;
          <string-name>
            <surname>Design Language</surname>
          </string-name>
          , 1st ed. Upper Saddle River, NJ:
          <string-name>
            <surname>Addison-Wesley</surname>
            <given-names>Professional</given-names>
          </string-name>
          , Oct.
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>J.</given-names>
            <surname>Dabney</surname>
          </string-name>
          and
          <string-name>
            <given-names>T. L.</given-names>
            <surname>Harman</surname>
          </string-name>
          ,
          <source>Mastering SIMULINK 2</source>
          . Upper Saddle River,
          <string-name>
            <given-names>N.J.: Prentice</given-names>
            <surname>Hall</surname>
          </string-name>
          ,
          <year>1998</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>R.</given-names>
            <surname>Alur</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T. A.</given-names>
            <surname>Henzinger</surname>
          </string-name>
          , and H. Wong-toi,
          <source>“Symbolic Analysis of Hybrid Systems</source>
          ,”
          <year>1997</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>I.</given-names>
            <surname>Ruchkin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Schmerl</surname>
          </string-name>
          , and
          <string-name>
            <given-names>D.</given-names>
            <surname>Garlan</surname>
          </string-name>
          , “
          <article-title>Architectural Abstractions for Hybrid Programs</article-title>
          ,”
          <source>in Proceedings of the 18th International ACM SIGSOFT Symposium on Component-Based Software Engineering</source>
          , ser.
          <source>CBSE '15</source>
          . New York, NY, USA: ACM,
          <year>2015</year>
          , pp.
          <fpage>65</fpage>
          -
          <lpage>74</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>R.</given-names>
            <surname>Mateescu</surname>
          </string-name>
          , “
          <article-title>Model Checking for Software Architectures,” in Software Architecture</article-title>
          . Springer Berlin Heidelberg, Jan.
          <year>2004</year>
          , no.
          <issue>3047</issue>
          , pp.
          <fpage>219</fpage>
          -
          <lpage>224</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <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>
          , vol.
          <volume>18</volume>
          , no.
          <issue>3</issue>
          , pp.
          <fpage>217</fpage>
          -
          <lpage>238</lpage>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>A.</given-names>
            <surname>Rajhans</surname>
          </string-name>
          and
          <string-name>
            <given-names>B. H.</given-names>
            <surname>Krogh</surname>
          </string-name>
          , “Compositional Heterogeneous Abstraction,”
          <source>in Proceedings of the 16th International Conference on Hybrid Systems: Computation and Control</source>
          , ser.
          <source>HSCC '13</source>
          . New York, NY, USA: ACM,
          <year>2013</year>
          , pp.
          <fpage>253</fpage>
          -
          <lpage>262</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>C.</given-names>
            <surname>Ptolemaeus</surname>
          </string-name>
          , System Design, Modeling, and
          <article-title>Simulation using Ptolemy Ii</article-title>
          . Ptolemy.org, Sep.
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>J.</given-names>
            <surname>Sztipanovits</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Bapty</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Neema</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Howard</surname>
          </string-name>
          , and
          <string-name>
            <given-names>E</given-names>
            .
            <surname>Jackson</surname>
          </string-name>
          , “
          <article-title>OpenMETA: A Model and Component-Based Design Tool Chain for Cyber-Physical Systems,” in From Programs to Systems The Systems Perspective in Computing (FPS</article-title>
          <year>2014</year>
          ). Grenoble, France: Springer, Apr.
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <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>View Consistency in Architectures for Cyber-Physical Systems</article-title>
          ,” in
          <source>2011 IEEE/ACM International Conference on Cyber-Physical Systems (ICCPS)</source>
          ,
          <year>Apr</year>
          .
          <year>2011</year>
          , pp.
          <fpage>151</fpage>
          -
          <lpage>160</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <surname>M.-Y. Nam</surname>
          </string-name>
          , D. de Niz, L. Wrage, and L. Sha, “
          <article-title>Resource allocation contracts for open analytic runtime models,”</article-title>
          <source>in Proc. of the 9th International Conference on Embedded Software, ser. EMSOFT '11</source>
          . New York, NY, USA: ACM,
          <year>2011</year>
          , pp.
          <fpage>13</fpage>
          -
          <lpage>22</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <given-names>D.</given-names>
            <surname>Millward</surname>
          </string-name>
          , “
          <article-title>Smart traffic lights to stop speeders,” The Telegraph</article-title>
          , May
          <year>2011</year>
          . [Online]. Available: http://www.telegraph.co.uk/motoring/ news/8521769/Smart-traffic
          <article-title>-lights-to-stop-speeders</article-title>
          .html
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23]
          <string-name>
            <given-names>A.</given-names>
            <surname>Rajhans</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Bhave</surname>
          </string-name>
          ,
          <string-name>
            <given-names>I.</given-names>
            <surname>Ruchkin</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>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Platzer</surname>
          </string-name>
          , and
          <string-name>
            <given-names>B.</given-names>
            <surname>Schmerl</surname>
          </string-name>
          , “
          <article-title>Supporting Heterogeneity in Cyber-Physical Systems Architectures,”</article-title>
          <source>IEEE Transactions on Automatic Control</source>
          , vol.
          <volume>59</volume>
          , no.
          <issue>12</issue>
          , pp.
          <fpage>3178</fpage>
          -
          <lpage>3193</lpage>
          , Dec.
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [24]
          <string-name>
            <given-names>A.</given-names>
            <surname>Rajhans</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Bhave</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Loos</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Krogh</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Platzer</surname>
          </string-name>
          , and
          <string-name>
            <given-names>D.</given-names>
            <surname>Garlan</surname>
          </string-name>
          ,
          <article-title>Using Parameters in Architectural Views to Support Heterogeneous Design and Verification, 2011, submitted for publication.</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          [25]
          <string-name>
            <given-names>I.</given-names>
            <surname>Ruchkin</surname>
          </string-name>
          , D. De Niz,
          <string-name>
            <given-names>S.</given-names>
            <surname>Chaki</surname>
          </string-name>
          , and
          <string-name>
            <given-names>D.</given-names>
            <surname>Garlan</surname>
          </string-name>
          , “
          <article-title>Contract-based Integration of Cyber-physical Analyses,”</article-title>
          <source>in Proceedings of the 14th International Conference on Embedded Software, ser. EMSOFT '14</source>
          . New York, NY, USA: ACM,
          <year>2014</year>
          , pp.
          <volume>23</volume>
          :
          <fpage>1</fpage>
          -
          <lpage>23</lpage>
          :
          <fpage>10</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          [26]
          <string-name>
            <given-names>A.</given-names>
            <surname>Pnueli</surname>
          </string-name>
          , “
          <article-title>The temporal logic of programs</article-title>
          ,
          <source>” in 18th Annual Symposium on Foundations of Computer Science</source>
          ,
          <year>1977</year>
          , Oct.
          <year>1977</year>
          , pp.
          <fpage>46</fpage>
          -
          <lpage>57</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          [27]
          <string-name>
            <surname>D. D. Ruscio</surname>
            , I. Malavolta,
            <given-names>H.</given-names>
          </string-name>
          <string-name>
            <surname>Muccini</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          <string-name>
            <surname>Pelliccione</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Pierantonio</surname>
          </string-name>
          , “
          <article-title>Model-Driven Techniques to Enhance Architectural Languages Interoperability</article-title>
          ,” in Fundamental Approaches to Software Engineering. Springer Berlin Heidelberg,
          <year>2012</year>
          , no.
          <issue>7212</issue>
          , pp.
          <fpage>26</fpage>
          -
          <lpage>42</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          [28]
          <string-name>
            <given-names>M.</given-names>
            <surname>Kessentini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Sahraoui</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Boukadoum</surname>
          </string-name>
          , “
          <article-title>Model Transformation as an Optimization Problem,”</article-title>
          <source>in Model Driven Engineering Languages and Systems</source>
          . Springer Berlin Heidelberg,
          <year>2008</year>
          , no.
          <issue>5301</issue>
          , pp.
          <fpage>159</fpage>
          -
          <lpage>173</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          [29]
          <string-name>
            <given-names>Z.</given-names>
            <surname>Diskin</surname>
          </string-name>
          , “
          <article-title>Algebraic Models for Bidirectional Model Synchronization,” in Model Driven Engineering Languages and Systems, ser</article-title>
          .
          <source>Lecture Notes in Computer Science</source>
          . Springer Berlin Heidelberg,
          <year>2008</year>
          , no.
          <issue>5301</issue>
          , pp.
          <fpage>21</fpage>
          -
          <lpage>36</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref30">
        <mixed-citation>
          [30]
          <string-name>
            <given-names>P.</given-names>
            <surname>Kaufmann</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Kronegger</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Pfandler</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Seidl</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Widl</surname>
          </string-name>
          , “
          <article-title>A SAT-Based Debugging Tool for State Machines</article-title>
          and Sequence Diagrams,” in
          <source>Software Language Engineering</source>
          . Springer International Publishing, Sep.
          <year>2014</year>
          , no.
          <issue>8706</issue>
          , pp.
          <fpage>21</fpage>
          -
          <lpage>40</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref31">
        <mixed-citation>
          [31]
          <string-name>
            <given-names>B.</given-names>
            <surname>Schmerl</surname>
          </string-name>
          and
          <string-name>
            <given-names>D.</given-names>
            <surname>Garlan</surname>
          </string-name>
          , “AcmeStudio: Supporting
          <string-name>
            <surname>Style-Centered Architecture</surname>
            <given-names>Development</given-names>
          </string-name>
          ,”
          <source>in Proceedings of the 26th International Conference on Software Engineering</source>
          , ser.
          <source>ICSE '04</source>
          . Washington, DC, USA: IEEE Computer Society,
          <year>2004</year>
          , pp.
          <fpage>704</fpage>
          -
          <lpage>705</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref32">
        <mixed-citation>
          [32]
          <string-name>
            <given-names>I.</given-names>
            <surname>Ruchkin</surname>
          </string-name>
          , D. De Niz,
          <string-name>
            <given-names>S.</given-names>
            <surname>Chaki</surname>
          </string-name>
          , and
          <string-name>
            <given-names>D.</given-names>
            <surname>Garlan</surname>
          </string-name>
          , “
          <article-title>ACTIVE: A Tool for Integrating Analysis Contracts,” in 5th Analytic Virtual Integration of Cyber-Physical Systems Workshop</article-title>
          , Rome, Italy, Dec.
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref33">
        <mixed-citation>
          [33]
          <string-name>
            <given-names>P.</given-names>
            <surname>Feiler</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Wrage</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Delange</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Siebel</surname>
          </string-name>
          , “OSATE [Github],”
          <year>2015</year>
          . [Online]. Available: https://github.com/osate
        </mixed-citation>
      </ref>
      <ref id="ref34">
        <mixed-citation>
          [34]
          <string-name>
            <given-names>I.</given-names>
            <surname>Ruchkin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Rao</surname>
          </string-name>
          ,
          <string-name>
            <surname>D. De Niz</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          <string-name>
            <surname>Chaki</surname>
            , and
            <given-names>D.</given-names>
          </string-name>
          <string-name>
            <surname>Garlan</surname>
          </string-name>
          , “
          <article-title>Eliminating Inter-Domain Vulnerabilities in Cyber-Physical Systems: An Analysis Contracts Approach,”</article-title>
          <source>in Proc. of the First ACM Workshop on CyberPhysical Systems</source>
          Security &amp;
          <string-name>
            <surname>Privacy (CPS-SPC</surname>
            <given-names>)</given-names>
          </string-name>
          , Denver, Colorado,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>