<!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>Modeling Spatial Aspects of Safety-Critical Systems with FocusST</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Maria Spichkova</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Jan Olaf Blech</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Peter Herrmann</string-name>
          <email>herrmann@item.ntnu.no</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Heinz Schmidt</string-name>
          <email>heinz.schmidtg@rmit.edu.au</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Norwegian University of Science and Technology (NTNU)</institution>
          ,
          <addr-line>Trondheim</addr-line>
          ,
          <country country="NO">Norway</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>RMIT University</institution>
          ,
          <addr-line>Melbourne</addr-line>
          ,
          <country country="AU">Australia</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>This paper presents an approach for modeling and veri cation of components controlling behaviour of safety-critical systems in their physical environment. In particular, we introduce the modeling language FocusST that is centred on specifying time and space aspects. Veri cations can be carried out using the interactive semi-automatic proof assistant Isabelle. The approach is exempli ed by means of a railway system scenario.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>Many safety-critical systems (SCSs) consist of mobile units autonomously
moving in their physical environment. Modeling such systems requires not only the
de nition of the software part but also a speci cation of interactions with the
physical environment. In consequence, the models need to capture timing and
spatial aspects that should provide a basis for formal veri cation of safety
properties. In most cases, however, we do not need the whole representation of an
SCS but only those parts relevant to a concrete purpose. Thus, an appropriate
model should give an overview of core system properties and allow an e ective
inconsistencies funding, reducing modeling and veri cation e ort.</p>
      <p>For modeling SCSs suitably, it is essential to have a well developed theory
covering real-time and space requirements since mistreating or excluding them can
lead to speci cation errors due to di culties of choosing a correct abstraction.
Moreover, in many cases reasoning about time to represent a real-time system
makes the speci cation more readable (in comparison to an untimed
representation), simpli es the argumentation about its properties, and gives a formal basis
for veri cation. A suitable representation of SCSs should also make it possible
to model information ow not only in time but also in space, because the spatial
aspect may in uence the delays of interactions between subcomponents of the
system as well as between the system and the environment. This point is
important for cost reduction of interoperability testing at the integration phase of
the development process. Further, for a versatile application of a notation, the
selection of a suitable space-time coordinate system should be relatively free.</p>
      <p>
        The modeling language that we use in our approach is FocusST . It allows
us to create concise but easily understandable speci cations and is appropriate
for application of the speci cation and proof methodology presented in [
        <xref ref-type="bibr" rid="ref19 ref25">19, 25</xref>
        ].
This methodology allows writing speci cations in a way that carrying out proofs
is quite simple and scalable to practical problems. In particular, a speci cation
of an SCS can be translated to a Higher-Order Logic and veri ed by the
interactive semi-automatic theorem prover Isabelle [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ] also applying its component
Sledgehammer [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. Sledgehammer employs resolution based rst-order automatic
theorem provers (ATPs) and satis ability modulo theories (SMT) solvers to
discharge goals arising in interactive proofs. Another advantage is a well-developed
theory of composition as well as the representation of processes within a
system [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ]. The collection of FocusST operators over timing aspects and their
properties speci ed and veri ed using the theorem prover Isabelle is presented
in the Archive of Formal Proofs [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ]. In this work we focus on modeling of spatial
aspects.
      </p>
      <p>
        Related Work: One of the most well-established models for the speci cation and
veri cation of real-time system design is timed automata, introduced by Alur
and Dill [
        <xref ref-type="bibr" rid="ref1 ref2">1, 2</xref>
        ]. A timed automaton is a nite automaton extended by real valued
clocks that are applied to measure the time elapsed since certain events occurred.
The clocks are used in so-called clock invariants that restrict the time, a timed
automaton may rest in a particular state without executing certain transitions.
Timed automata assume perfect continuity of clocks which may not suit the
purposes of the work presented here, especially if we deal with an embedded
system with instantaneous reaction times. Furthermore, they do not prevent
Zeno runs [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ], i.e., executing an in nite number of transitions in a nite period
of time. To solve this, the idea of robust model checking was introduced by
Puri [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ] and revised in other approaches, e.g., [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. In this paper, we suggest
another solution: We use asynchronous channels between timed automata and
argue about possibly in nite message sequences towards an automaton at some
time interval. This can be represented by using an in nite sequence of nite
time intervals as input for a timed automaton. Any timed transition system
can be discretised without loss of generality [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ]. For this reason, we apply a
discrete model of time where any granularity de ning the concrete meaning of
a time interval according to the system requirements can be used. We can even
switch from one time granularity to another using prede ned operators. A great
advantage of the proceeding is that it excludes Zeno runs.
      </p>
      <p>
        Related work regarding spatial aspects has been done with respect to logic
and tools. A process algebra like formalism for describing and reasoning about
spatial behavior has been introduced in [
        <xref ref-type="bibr" rid="ref10 ref11">10, 11</xref>
        ]. Process algebras come with a
clear and formal semantics de nition and are aimed towards the speci cation of
highly parallel systems. Here, disjoint logical spaces are represented in terms of
expressions by bracketing structures and carry or exchange concurrent processes.
Results on spatial interpretations can be found in [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ]. Many aspects of spatial
logic are in general undecidable. A quanti er-free rational fragment of ambient
logic (corresponding to regular language constraints), however, has been shown
to be decidable in [
        <xref ref-type="bibr" rid="ref26">26</xref>
        ]. Work on spatial model checking by ourselves is
presented in [
        <xref ref-type="bibr" rid="ref6 ref7">6, 7</xref>
        ]. Furthermore, this approach was coupled with the model-based
90
50
5
0
      </p>
      <sec id="sec-1-1">
        <title>AVehicle1</title>
      </sec>
      <sec id="sec-1-2">
        <title>AVehicle2</title>
        <p>AVehicle3
tr1
tr2
tr3
tr4
tr5
tr6</p>
        <p>
          RTrack
25
60
100
engineering technique Reactive Blocks [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ] such that reactive systems (e.g., SCS
controllers) can be developed using models and be checked for spatial properties
before generating executable code [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ].
        </p>
        <p>
          Scenario: Due to the well speci ed degrees of freedom enforced by rail tracks,
trains have been a popular target for veri cation work (see, e.g., [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ]). This makes
them also an appropriate target to introduce the main idea of modeling and
veri cation of spatial aspects. Here, we present a small example from this area
that is depicted in Fig. 1. A train RTrack shuttles on a rail track that is crossed
by three roads. On each road, an autonomous vehicle AVehicle is operating. All
four mobile units are characterized by a number of constraints on their location,
speed, movement direction, etc. To avoid collisions, the train sends a wait signal
to the respective AVehicle while passing one of the corresponding critical points
tri close to the crossings (1 i 6). If a critical point is ahead of a crossing in
the direction of the train, the wait signal expresses a time interval, for which the
AVehicle has to stop if it is heading towards the crossing and is far enough to
stop in due time. The time interval may depend on the speed of the train giving
it su cient time to pass the crossing. If a critical point is behind a crossing, wait
contains value 0 indicating that the vehicle may immediately continue moving.
The fact that an AVehicle is only stopped for a certain time interval at most,
provides a challenge on the space-related behavior since we have to guarantee
that the train already left the crossing when the time interval passed. This poses
the following questions: How should we model spatial properties of this system in
a readable way? Does this modeling technique allow formal veri cation of safety
properties? Is this model also appropriate to specify and verify a large number of
components, e.g., for the case that we have not three but one thousand AVehicle
components? In this paper we will answer these questions by presenting our
modeling approach in FocusST .
        </p>
        <p>
          Spatial Aspects in FocusST
The FocusST language was inspired by Focus [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ], a framework for formal
specication and development of interactive systems. In both languages, speci cations
are based on the notion of streams. However, in the original Focus input and
output streams of a component are mappings of natural numbers N to single
messages,whereas a FocusST stream is a mapping from N to lists of messages
within the corresponding time intervals. Moreover, the syntax of FocusST is
particularly devoted to specify spatial (S) and timing (T) aspects in a
comprehensible fashion, which is the reason to extend the name of the language by ST .
The FocusST speci cation layout also di ers from the original one: it is based
on human factor analysis within formal methods [
          <xref ref-type="bibr" rid="ref22 ref23">22, 23</xref>
          ].
        </p>
        <p>We specify every component using assumption-guarantee-structured
templates. This helps avoiding the omission of unnecessary assumptions about the
system's environment since a speci ed component is required to ful l the
guarantee only if its environment behaves in accordance with the assumption. In a
component model, one often has transitions with local variables that are not
changed. Also, outputs are often not produced, e.g., when a component gets
no input or some preconditions necessary to produce a nonempty output are
violated. In many formal languages this kind of invariability has to be de ned
explicitly in order to avoid underspeci ed component speci cations. To make our
formal language better understandable for programmers, we use in FocusST
socalled implicit else-case constructs. That means, if a variable is not listed in the
guarantee part of a transition, it implicitly keeps its current value. An output
stream not mentioned in a transition will be empty. Further, we do not require
to introduce auxiliary variables explicitly: The data type of a not introduced
variable is universally quanti ed in the speci cation such that it can be used
with any data value.</p>
        <p>The FocusST speci cations are a special form of timed automata that we
name Timed State Transition Diagrams (TSTDs). A TSTD can be described in
both diagram and textual form. For easier argumentation, we can further
represent it by a special kind of tables including a number of new operators that work
on time intervals. For a real-time system S with a syntactic interface (IS OS ),
where IS and OS are sets of timed input and output streams respectively, a
TSTD corresponds to a tuple (State; state0; IS ; OS ; !), in which State is a set
of states, state0 2 State is the initial state, and ! (State IS State OS )
represents the transition function of the TSTD.</p>
        <p>
          An input action for a TSTD is the set of current time intervals of the input
streams of the system, while the output action is the set of corresponding time
intervals of the output streams of the system. Focus distinguishes between weak
causal systems and strong causal systems (see [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ]). In the former case, the output
must be produced within the same time interval the input is consumed while in
the latter one the output has to be produced within a delay of at least one time
unit. The exact delay needs to be de ned according to the timing requirements
on the speci ed system.
        </p>
        <p>Spatial Aspects: In addition to the representation of timing properties in the
language, we de ne a special type of components specifying real objects that can
physically change their location in space, so-called sp-objects. Each sp-object is
associated with three special variables storing its current location (i.e., central
point of the object), speed and direction of movement. For simplicity, the variable
speed is de ned over the set of natural numbers N, while location is of type
Space and de nes a coordinate having two or tree dimensions according to the
system's needs. In our two-dimensional example, Space is a tuple of two Cartesian
coordinates xx and yy . Finally, direction is de ned over the type Directions
= f0; : : : ; 359g which represents the angle in the Cartesian coordinate system.
In comparison to the local variables declared within components, these three
variables are global and can be used to specify physical interaction of components
in a system.</p>
        <p>A system model may be constrained by restricting the directions and speed
of an sp-object. This allows us to verify whether the speci ed behaviour
excludes the possibility that the object enters restricted areas during time intervals
marked as dangerous, e.g., collisions with other sp-objects.</p>
        <p>FocusST speci cation: Figure 2 depicts the textual representation of the
spobject speci cation pattern for the component AVehicle introduced in the
scenario section of the introduction. This component is strong causal with a delay
of one time unit, and has the three input channels wait and tSpeed of type N as
well as tDir of type Directions declared in the interface part of the speci cation
using label \in". The ports tSpeed and tDir are used to notify changes of the
target speed and the target direction of the object. If AVehicle is too close to
a potential obstacle, e.g., the crossing with RTrack, it is signalled via the wait
port to stop for a number of time units. Thereafter it continues moving with the
previous speed. Label \out" de nes the output channel resp of type Event that
consists a single element event used to signal the start of motion by the vehicle.</p>
        <p>Let us name some of the operators used to specify time intervals in our
streams: hi denotes an empty list, i.e., a single time interval without any events,
and hx i a list consisting of the element x ; ft:l describes the rst element of a list
l ; si represents the i th time interval of the stream s.</p>
        <p>Empty brackets after the component's name mean that AVehicle does not
have any parameters. The component uses the local variable timer referring to
the current timer value (the special value 0 means that the timer is not active
while 1 indicates that it has to time out). By lspeed , we store the speed the
object carried before needing to stop. The variable timer is initially set to be 0
while the initial value of lspeed is not speci ed.</p>
        <p>The keyword \asm" lists the assumption, AVehicle demands from its
environment, i.e., speci ed using the FocusST operator msg1, at most one message
is received via each of the ports wait , tSpeed and tDir at any time interval.</p>
        <p>The section \gar" contains the transitions and other formulas. Here, variable
settings before executing (i.e. at some time interval t ) a transition are marked
by simple variable identi ers, e.g., timer , while the operator 0 refers to their
setting afterwards, e.g., timer 0 denotes the value of the timer variable at the time
local
init
asm
gar
Init1
in
out
spObject AVehicle ()
wait; tSpeed : N; tDir : Directions
resp : Event
timer; lspeed 2 N
timer = 0
msg1(wait) ^ msg1(tSpeed) ^ msg1(tDir)
resp0 = hi
8 t 2 N :
1 waitt = hi ^ timer = 0 !</p>
        <p>Upd(speed; tspeedt ) ^ Upd(direction; tDirt ) ^ Move()
: : :
3 waitt 6= hi ^ ft:waitt &gt; 0 ^ timer = 0 ! timer0 = ft:waitt ^ lspeed = speed ^ speed0 = 0
: : :
7 waitt = h0i ^ timer 6= 0 ! respt+1 = heventi ^ timer0 = 0 ^ speed0 = lspeed
interval t +1. The initial condition Init1 speci es that the output channel resp is
empty at the beginning. Formula 1 models a transition that if AVehicle does not
receive a wait-signal at the time interval t and its timer is inactive, the component
moves according its target direction and speed values. This is expressed by the
function Move() that updates the value of the variable location. The function
Upd de nes the updates of the variables speed and direction according to the
events in the input streams tSpeed and tDir at time interval t . Moreover, due to
the implicit else-case construct discussed above, the timer does not change its
value and the output stream resp is an empty list. Formula 3 speci es the start
of the timer if RTrack approaches the crossing. In this case, AVehicle receives a
number k &gt; 0 via the port wait . The timer is started by setting its variable to
k while the vehicle is stopped (speed 0 = 0) and the previous speed is stored in
the auxiliary variable lspeed . Transition 7 speci es that if AVehicle receives 0
via the port wait (i.e., it does not need to wait for the RTrack any more) while
its timer is active, the timer will be set o and, at the next time interval, the
event -signal will be sent indicating that the vehicle resumes moving again into
its target direction. We omit here the rest of the speci cation due to lack of
space.</p>
        <p>Fig. 3 shows the diagrammatic version of the TSTD for AVehicle. It contains
all transitions that we label with the same numbers as in the textual
representation. To increase readability of the graphical representation, we distinguish three
types of the transition labels by coloured representation: Inputs and constraints
on the current local variables' values are marked blue, outputs and changes of
general (non-spatial) local variables' values green, and changes of spacial aspects
black.
3</p>
      </sec>
    </sec>
    <sec id="sec-2">
      <title>Veri cation Constraints on Spatial Aspects</title>
      <p>We can restrict directions and speed of an sp-object by adding constraints.
Predicates are associated with every component. Per default, they are speci ed as
true but can be restricted to represent precise bounds of a component. To
calculate whether a collision of sp-objects is possible, we assign to each sp-object
a global constant rad that describes radius of the maximal space the object can
\cover" in the worst case. The maximal space the object can occupy at the time
t, is denoted by the variable rzone of the type Zone. This variable is de ned as
a tuple (minX ; minY ; maxX ; maxY ) of natural numbers which are calculated
according to the values of speed , location and rad . The rad value of a composite
component is de ned by analysing which space its subcomponents can occupy
in the worst case: S :rad = max (WCX ; WCY )=2 with WCX and WCY being
the maximum extensions of all of the subcomponents of S in direction x resp. y.</p>
      <p>We represent the set of all the components' constraints by a table, to
increase readability and to check schematically whether constraints on a composed
component correspond to the constraints on its subcomponents, e.g.,
8 S ; C : C 2 subcomp(S ) !
(S :rzone:minX S :C :rzone:minX ^ S :rzone:minY
(S :rzone:maxX</p>
      <sec id="sec-2-1">
        <title>S :C :rzone:maxX ^ S :rzone:maxY</title>
        <p>8 k ; S ; C : C 2 subcomp(S ) !
(k S :rzone:minX ! (k + S :C :rad)
S :C :location:xx )</p>
      </sec>
      <sec id="sec-2-2">
        <title>S :C :rzone:minY ) ^</title>
        <p>S :C :rzone:maxY )</p>
        <p>To analyse spatial properties, we need to specify the rules how the locations
of the objects can change over time. The location of the sp-object C at the
Component rad locationRestr speedRestr directionRestr
AVehicle1 2 location:xx = 25 speed &lt; 10 direction = 90 _ direction = 270
AVehicle2 2 location:xx = 60 speed &lt; 15 direction = 90 _ direction = 270
AVehicle3 2 location:xx = 100 speed &lt; 20 direction = 90 _ direction = 270
RTrack 4 location:yy = 50 direction = 0 _ direction = 180
beginning of the next time interval can be computed from its speed, direction
of movement and the current location. In particular, we specify a trajectory of
the object during a time interval t to be a straight line, thus, it can be
described by the coordinates of two locations, at the beginning of the current and
the next time interval: C :tr = [C :location; C :location0]. Then, we can describe
the space where the object C can be during the time interval t (let denote it
C :rzoneInterval ) by a set of coordinates:
f(a; b) j 9(a1; b1) 2 C :tr ^ a1</p>
        <p>C :rad
a
a1 + C :rad ^ b1</p>
        <p>C :rad
b
b1 + C :rad g
If C :speed = 0 holds, the component C does not move (i.e., C :location0 =
C :location) such that C :rzoneInterval describes the rzone space in this case.</p>
        <p>Restrictions on location, speed and direction can be speci ed both
pointwise and by using minimum and maximum limits, where a variable can have
any value within the de ned interval. Let us explain this by using the scenario
introduced in Sect. 1. Its spatial contraints are listed in Tab. 1. It is easy to
see from this table and Fig. 1 that the four mobile units can occupy 100 units
on the x coordinate and 85 units on the y coordinate. Thus, S :rad is assigned
with the value 50. By de ning an additional constraint for the space that can be
used by the overall example system S , we implicitly restrict the corresponding
constraints of its components, e.g.,
0
5</p>
      </sec>
      <sec id="sec-2-3">
        <title>S :rzone:minX ^ S :rzone:maxX</title>
        <p>S :rzone:minY ^ S :rzone:maxY
implies that for the component AVehicle1 holds not only location:xx = 25 but
also 7 location:yy 88 (taking its own value rad = 2 into account).
Representing the spatial aspect of a component as a pair of coordinates and a radius,
we specify possible collisions between two objects C1 and C2 during the time
interval t by PCollisiont (C1; C2). Thus, an important property for this system
is that collisions between the RTrack and AVehicle components are excluded,
i.e. for all t 2 N and i ; j 2 f1; 2; 3g the following holds</p>
        <p>:PCollisiont (RTrack ; AVehiclei ) ^ :PCollisiont (AVehiclei ; AVehiclej )
Since in our example, the AVehicle objects move on parallel roads, the property
on the right side holds trivially. If a possible collision is detected, the
corresponding case should be analysed carefully both on an abstract (logical) and
on a physical level: Due to our overapproximation of space, not every situation
labelled as possibly dangerous on the abstract level indeed corresponds to a
real physical collision but, on the other side, any real physical collision must be
detectable on the abstract level.</p>
        <p>
          We have used the interactive theorem prover Isabelle/HOL [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ] to analyse
whether collisions between the RTrack and AVehicle components are excluded.
For example, direction and location constraints together with behaviour speci
cations imply that the mobile units can collide, if we underspecify the coordinates
of the critical points tr1; : : : ; tr6 as well as the initial locations.
        </p>
        <p>Due to similarity of speci cations of separate components, the model of the
presented system is scalable not only for speci cation but also for veri cation
purposes. Even if we have not three but thousand AVehicle components, proofs
of their spatial behavioural properties can be reused or generated.
4</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Conclusions</title>
      <p>This paper presents the FocusST approach for modeling and veri cation of
safety-critical systems using speci cations based on time intervals and spatial
aspects. Several features have been demonstrated using an example system based
on interacting autonomous vehicles. We focus on timing and spatial aspects as
well as readability of the speci cations and ease of veri cation of core properties.
For the proofs, we have applied the interactive semi-automatic proof assistant
Isabelle.</p>
      <p>
        Our future research direction comprises work on the modeling levels for SCSs,
that re ect the idea of remote integration/interoperability testing in a virtual
environment [
        <xref ref-type="bibr" rid="ref24 ref5">5, 24</xref>
        ] as well as automatisation of proof generation for spatial
behavioural properties from the system model. Moreover, we want to combine
this veri cation technique with the modeled-based engineering tool Reactive
Blocks [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ] to facilitate the practical development of the control software for
space-aware SCSs.
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>R.</given-names>
            <surname>Alur</surname>
          </string-name>
          and
          <string-name>
            <given-names>D. L.</given-names>
            <surname>Dill</surname>
          </string-name>
          .
          <source>A Theory of Timed Automata. Theoretical Computer Science</source>
          ,
          <volume>126</volume>
          :
          <fpage>183</fpage>
          {
          <fpage>235</fpage>
          ,
          <year>1994</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>R.</given-names>
            <surname>Alur</surname>
          </string-name>
          and
          <string-name>
            <given-names>P.</given-names>
            <surname>Madhusudan</surname>
          </string-name>
          .
          <article-title>Decision Problems for Timed Automata: A Survey</article-title>
          .
          <source>In SFM</source>
          , pp.
          <volume>1</volume>
          {
          <issue>24</issue>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>P.</given-names>
            <surname>Behm</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Benoit</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Faivre</surname>
          </string-name>
          , and J.
          <string-name>
            <surname>-M. Meynadier</surname>
          </string-name>
          .
          <article-title>Meteor: A Successful Application of B in a Large Project</article-title>
          .
          <source>Formal Methods (FM'99)</source>
          , vol.
          <volume>1708</volume>
          of LNCS, Springer,
          <year>1999</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>J. C.</given-names>
            <surname>Blanchette</surname>
          </string-name>
          ,
          <string-name>
            <surname>S.</surname>
          </string-name>
          <article-title>Bohme</article-title>
          , and
          <string-name>
            <given-names>L. C.</given-names>
            <surname>Paulson</surname>
          </string-name>
          .
          <article-title>Extending Sledgehammer with SMT Solvers</article-title>
          .
          <source>Journal of Automated Reasoning</source>
          <volume>51</volume>
          (
          <issue>1</issue>
          ):
          <volume>109</volume>
          {
          <fpage>128</fpage>
          ,
          <year>2013</year>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>J. O.</given-names>
            <surname>Blech</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Spichkova</surname>
          </string-name>
          , I. Peake,
          <string-name>
            <given-names>H.</given-names>
            <surname>Schmidt</surname>
          </string-name>
          .
          <source>Cyber-Virtual Systems: Simulation, Validation &amp; Visualization. In 9th International Conference on Evaluation of Novel Approaches to Software Engineering (ENASE</source>
          <year>2014</year>
          ),
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>J. O.</given-names>
            <surname>Blech</surname>
          </string-name>
          and
          <string-name>
            <given-names>H.</given-names>
            <surname>Schmidt</surname>
          </string-name>
          . BeSpaceD:
          <article-title>Towards a Tool Framework and Methodology for the Speci cation and Veri cation of Spatial Behavior of Distributed Software Component Systems</article-title>
          . In arXiv.org, http://arxiv.org/abs/1404.3537,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>J. O.</given-names>
            <surname>Blech</surname>
          </string-name>
          and
          <string-name>
            <given-names>H.</given-names>
            <surname>Schmidt</surname>
          </string-name>
          .
          <article-title>Towards Modeling and Checking the Spatial and Interaction Behavior of Widely Distributed Systems</article-title>
          .
          <source>In Improving Systems and Software Engineering Conference</source>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>P.</given-names>
            <surname>Bouyer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Markey</surname>
          </string-name>
          , and
          <string-name>
            <given-names>O.</given-names>
            <surname>Sankur</surname>
          </string-name>
          .
          <article-title>Robust Model-checking of Timed Automata via Pumping in Channel Machines</article-title>
          .
          <source>Formal Modeling and Analysis of Timed Systems</source>
          , Springer,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <given-names>M.</given-names>
            <surname>Broy</surname>
          </string-name>
          and
          <string-name>
            <surname>K.</surname>
          </string-name>
          <article-title>St len</article-title>
          .
          <source>Speci cation and Development of Interactive Systems: Focus on Streams, Interfaces</source>
          , and Re nement. Springer,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <given-names>L.</given-names>
            <surname>Caires</surname>
          </string-name>
          and
          <string-name>
            <given-names>L.</given-names>
            <surname>Cardelli</surname>
          </string-name>
          .
          <article-title>A Spatial Logic for Concurrency (Part I)</article-title>
          .
          <source>Information and Computation</source>
          ,
          <volume>186</volume>
          (
          <issue>2</issue>
          ),
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <given-names>L.</given-names>
            <surname>Caires</surname>
          </string-name>
          and
          <string-name>
            <given-names>L.</given-names>
            <surname>Cardelli</surname>
          </string-name>
          .
          <article-title>A Spatial Logic for Concurrency (Part II)</article-title>
          .
          <source>Theoretical Computer Science</source>
          ,
          <volume>322</volume>
          (
          <issue>3</issue>
          ):
          <fpage>517</fpage>
          -
          <lpage>565</lpage>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <given-names>R.</given-names>
            <surname>Gomez</surname>
          </string-name>
          and
          <string-name>
            <given-names>H.</given-names>
            <surname>Bowman</surname>
          </string-name>
          .
          <article-title>E cient Detection of Zeno Runs in Timed Automata</article-title>
          .
          <source>Formal Modeling and Analysis of Timed Systems</source>
          , Springer,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13. F. Han,
          <string-name>
            <given-names>J. O.</given-names>
            <surname>Blech</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Herrmann</surname>
          </string-name>
          , and
          <string-name>
            <given-names>H.</given-names>
            <surname>Schmidt</surname>
          </string-name>
          .
          <article-title>Towards Verifying Safety Properties of Real-Time Probability Systems</article-title>
          . In Formal Engineering approaches to Software Components and
          <string-name>
            <surname>Architectures (FESCA),</surname>
            <given-names>EPTCS</given-names>
          </string-name>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <given-names>T.</given-names>
            <surname>Henzinger</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z.</given-names>
            <surname>Manna</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Pnueli</surname>
          </string-name>
          .
          <source>What Good are Digital Clocks? In Colloq. on Automata, Languages and Programming</source>
          , pp.
          <volume>545</volume>
          {
          <fpage>558</fpage>
          . Springer,
          <year>1992</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <given-names>D.</given-names>
            <surname>Hirschko</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Lozes</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Sangiorgi</surname>
          </string-name>
          .
          <article-title>Minimality Results for the Spatial Logics</article-title>
          .
          <source>In Foundations of Software Technology and Theoretical Computer Science, LNCS 2914</source>
          , Springer,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <given-names>F. A.</given-names>
            <surname>Kraemer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Slatten</surname>
          </string-name>
          and
          <string-name>
            <given-names>P.</given-names>
            <surname>Herrmann</surname>
          </string-name>
          .
          <article-title>Tool Support for the Rapid Composition, Analysis and Implementation of Reactive Services</article-title>
          .
          <source>Journal of Systems and Software</source>
          ,
          <volume>82</volume>
          (
          <issue>12</issue>
          ):
          <year>2068</year>
          {
          <year>2080</year>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <given-names>T.</given-names>
            <surname>Nipkow</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L. C.</given-names>
            <surname>Paulson</surname>
          </string-name>
          , and M. Wenzel. Isabelle/HOL |
          <article-title>A Proof Assistant for Higher-Order Logic</article-title>
          .
          <source>LNCS 2283</source>
          , Springer,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <given-names>A.</given-names>
            <surname>Puri</surname>
          </string-name>
          . Dynamical Properties of Timed Automata.
          <source>Discrete Event Dynamic Systems</source>
          ,
          <volume>10</volume>
          (
          <issue>1-2</issue>
          ):
          <volume>87</volume>
          {
          <fpage>113</fpage>
          ,
          <year>2000</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <given-names>M.</given-names>
            <surname>Spichkova</surname>
          </string-name>
          .
          <article-title>Speci cation and Seamless Veri cation of Embedded Real-Time Systems: FOCUS on Isabelle</article-title>
          .
          <source>PhD thesis</source>
          , TU Munchen,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <given-names>M.</given-names>
            <surname>Spichkova</surname>
          </string-name>
          . Focus on Processes.
          <source>Tech. Report TUM-I1115</source>
          , TU Munchen,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21.
          <string-name>
            <given-names>M.</given-names>
            <surname>Spichkova</surname>
          </string-name>
          .
          <source>Stream Processing Components: Isabelle/HOL Formalisation and Case Studies. In Archive of Formal Proofs, ISSN 2150-914x</source>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          22.
          <string-name>
            <given-names>M.</given-names>
            <surname>Spichkova</surname>
          </string-name>
          .
          <article-title>Human Factors of Formal Methods</article-title>
          .
          <source>In IADIS Interfaces and Human Computer Interaction (IHCI)</source>
          .
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          23.
          <string-name>
            <given-names>M.</given-names>
            <surname>Spichkova</surname>
          </string-name>
          .
          <article-title>Design of Formal Languages and Interfaces: \Formal" Does Not Mean \Unreadable"</article-title>
          .
          <source>Emerging Research</source>
          and
          <article-title>Trends in Interactivity and the Human-Computer Interface</article-title>
          .
          <source>IGI Global</source>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          24.
          <string-name>
            <surname>M. Spichkova</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          <string-name>
            <surname>Schmidt</surname>
            ,
            <given-names>and I.</given-names>
          </string-name>
          <string-name>
            <surname>Peake</surname>
          </string-name>
          .
          <article-title>From Abstract Modelling to Remote Cyber-Physical Integration/Interoperability Testing</article-title>
          .
          <source>In Improving Systems and Software Engineering Conference</source>
          .
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          25.
          <string-name>
            <surname>M. Spichkova</surname>
            ,
            <given-names>X.</given-names>
          </string-name>
          <string-name>
            <surname>Zhu</surname>
            , and
            <given-names>D.</given-names>
          </string-name>
          <string-name>
            <surname>Mou</surname>
          </string-name>
          .
          <article-title>Do We Really Need to Write Documentation for a System?</article-title>
          <source>In International Conference on Model-Driven Engineering and Software Development</source>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          26.
          <string-name>
            <given-names>S.</given-names>
            <surname>Dal Zilio</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Lugiez</surname>
          </string-name>
          , and
          <string-name>
            <given-names>C.</given-names>
            <surname>Meyssonnier</surname>
          </string-name>
          .
          <article-title>A Logic You Can Count on</article-title>
          .
          <source>In Symposium on Principles of programming languages, ACM</source>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>