<!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>Real-Time Property Specific Reduction for Time Petri Net</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Ning Ge</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Marc Pantel</string-name>
          <email>Marc.Pantel@enseeiht.fr</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>LAAS-CNRS</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Avenue du Colonel Roche</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Toulouse Ning.Ge@laas.fr</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>University of Toulouse</institution>
          ,
          <addr-line>IRIT-CNRS 2 Rue Charles Camichel, Toulouse</addr-line>
        </aff>
      </contrib-group>
      <fpage>165</fpage>
      <lpage>179</lpage>
      <abstract>
        <p>This paper presents a real-time property specific reduction approach for Time Petri Net (TPN). It divides TPN models into sub-nets of smaller size, and constructs an abstraction of reducible ones, which exhibits the same property specific behavior, but has less transitions and states. This directly reduces the amount of computation needed to generate the whole state space. This method adapts well to the verification of real-time properties in asynchronous systems. It should be possible to apply similar methods to other families of properties.</p>
      </abstract>
      <kwd-group>
        <kwd>Real-time property specific reduction</kwd>
        <kwd>Time Petri net</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        The key issue that prevents a wide application of model checking in the industry
is the scalability with respect to the size of the target system. A realistic
system usually has thousands and even millions of states and transitions. Although
a huge part of impossible firing sequences of transitions are eliminated during
the building of system’s behavior, the interleaving of all others is still a very
large number that will easily lead to combinatorial state space explosion.
Classic verification methodologies usually encounter scalability issues very quickly
along with the growth of system scale, because they follow an implicit purpose:
many different kind of properties will be assessed relying on the same state space
graph (reachability graph). Indeed, once the reachability graph has been
generated, it can be reused to verify different kinds of properties, just by revising
the assessed logic formulas. This consideration requires to build the reachability
graph preserving precise and sufficient information for the assessment of
properties. The existing state space reduction methods, partial order reduction [
        <xref ref-type="bibr" rid="ref1 ref2">1,
2</xref>
        ], compositional reasoning [
        <xref ref-type="bibr" rid="ref3 ref4">3, 4</xref>
        ], symmetry [
        <xref ref-type="bibr" rid="ref5 ref6">5, 6</xref>
        ], abstraction techniques [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ],
onthe-fly model checking [
        <xref ref-type="bibr" rid="ref8 ref9">8, 9</xref>
        ], etc., usually follow the same philosophy to produce
a complete state space that preserves the mandatory semantics. These generic
reduction methods have effectively improved the efficiency of model checking
techniques. But their improvement is becoming more and more difficult. We
thus might put aside the universality of the semantics expressed in the state
space graph, and take into account property specific reduction methods.
      </p>
      <p>This work proposes a real-time property specific state space reduction
approach for Time Petri Net (TPN). It divides the TPN model into sub-nets of
smaller size, and constructs an abstraction of reducible sub-nets, which exhibit
the same property specific behavior, but has less transitions and states. The
real-time property specific behavior (called real-time behavior for short in the
following parts) of TPN sub-nets is an abstraction of the whole state-transition
traces that only preserves real-time behaviors from the viewpoint of
observations. This method adapts well to the verification of real-time properties in
asynchronous systems. It could be possible to apply similar methods to other
families of properties.</p>
      <p>This paper is organized as follows: Section 2 presents some related works;
Section 3 introduces real-time properties and Time Petri Net; Section 4 gives
an overview of property specific reduction methods; Section 5 defines two
realtime behavior regularities for this work; Section 6 details the proposed reduction
method; Section 7 provides experimental results; Section 8 discusses the behavior
coverage issue; Section 9 gives some concluding remarks.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Related Works</title>
      <p>
        Several existing works [
        <xref ref-type="bibr" rid="ref10 ref11 ref12 ref13">10–13</xref>
        ] defined reducible sub-net patterns for Petri nets,
Time Petri nets or Colored Petri nets, based on the idea of fusing redundant
places and transitions. They provide in fact simple behavior equivalent patterns.
The state space reduced by these patterns is rather limited.
      </p>
      <p>
        The idea of our approach is similar to the partial order reduction [
        <xref ref-type="bibr" rid="ref14 ref2">14, 2</xref>
        ] and
the state space abstraction techniques applied in the TINA toolset.
      </p>
      <p>The partial order reduction is usually used in asynchronous concurrent
systems, where most of the activities in different processes are performed
independently, without a global synchronization. Its main idea is to construct a reduced
state class graph by analyzing the dependencies between the transitions and
exploiting the commutativity of concurrently executed transitions, which result in
the same state when executed in different orders. A set of non-reducible
transitions are preserved in the reduced state class graph. The reduced behavior is a
subset of the behavior of the full state class graph. Compared to the partial order
reduction, the proposed property specific reduction exploits the commutativity
of TPN sub-nets, which result in the same property specific behavior.</p>
      <p>
        The TINA toolset provides various state space abstractions for TPN when
generating state class graphs, following the techniques proposed in [
        <xref ref-type="bibr" rid="ref15 ref9">15, 9</xref>
        ]. Depending
on the abstraction options, the construction can preserve the traces required by
the verification of markings, states, LTL, or ctl⇤ properties. This work relies on
the state class graph preserving markings to verify the real-time properties in
TPN. Even with this highest abstraction, the state space still rapidly increases
along with system scale. Therefore, more abstract state class graphs dedicated
to one type of properties (in our case real-time properties) is needed.
      </p>
    </sec>
    <sec id="sec-3">
      <title>Preliminaries</title>
      <p>
        Time Petri Net
Time Petri nets [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ] extends Petri Nets with timing constraints on the firing of
transitions. Here we use the formal definition of TPN from [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ] to explain its
syntax and semantics.
      </p>
      <p>Definition 1 (Time Petri Net). A Time Petri Net (TPN) T is a tuple
hP, T, •(.), (.)•, M0, (↵, )i, where:
– P = {p1, p2, ..., pm} is a finite set of places;
– T = {t1, t2, ..., tn} is a finite set of transitions;
– •(.) 2 (NP )T is the backward incidence mapping;
– (.)• 2 (NP )T is the forward incidence mapping;
– M0 2 NP is the initial marking;
– ↵ 2 (Q 0)T and 2 (Q 0 [ 1 )T are respectively the earliest and latest
firing time constraints for transitions.</p>
      <p>
        Following the definition of enabledness in [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ], a transition ti is enabled in a
marking M iff M •(ti) and ↵ (ti)  vi  (ti) (vi is the elapsed time since
ti was last enabled). There exist a global synchronized clock in the whole TPN,
and ↵ (ti) and (ti) correspond to the local clock of ti. The local clock of each
transition is reset to zero once the transition becomes enabled. The predicate
" Enabled(tk, M, ti) in the following equation is satisfied if tk is enabled by the
firing of transition ti from marking M , and false otherwise.
"Enabled(tk, M, ti) = (M
•(ti)+(ti)•
•(tk))^ ((M
•(ti) &lt; •(tk))_ (tk = ti)) (1)
      </p>
      <p>Time Petri Net is widely used to formally capture the temporal behavior of
concurrent real-time systems due to its easy-to-understand graphical notation
and the available analysis tools, such as TINA, INA, Roméo, etc.
3.2</p>
      <p>Real-Time Property Verification
The safety and reliability of real-time systems strongly depend on the satisfaction
of its real-time requirements, in both qualitative and quantitative aspects.</p>
      <p>
        Dwyer et al. initially proposed qualitative temporal property patterns for
finite-state verification in [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ]. Konrad created in [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ] mappings of quantitative
requirements into timed logics MTL, TCTL, and RTGIL, and defined a pattern
template to ease the reuse. From the viewpoint of property verification, the real-time
requirements expressed by Dwyer’s and Konrad’s patterns are not atomic. We
thus defined a minimal set of atomic patterns, which allows to specify the same
time requirements as Dwyer’s and Konrad’s patterns do, to ease the property
verification based on observers. We have defined 12 event-based and 4 state-based
observers and verified real-time requirements using the reachability assertions.
Some early results about the observer-based verification approach are presented
in [
        <xref ref-type="bibr" rid="ref21 ref22">21, 22</xref>
        ].
4
      </p>
    </sec>
    <sec id="sec-4">
      <title>Approach Overview</title>
      <p>Let’s first see an example benefiting from property specific reduction method.
Example 1 (Example of Property Specific Reduction). When generating the
reachability graph preserving markings for the TPN model in Fig. 1 by TINA,
it contains 177 states and 365 transitions. This system is identified as two
sub-nets A and B : A is the structure in dotted box, and B is the other parts. The
transition t4 is the only portal transition between A and B. From the viewpoint
of A through t4, A does not know the inner structure and inner behavior of B,
only two informations are observable: how many times t4 will be fired and the
time range for each firing occurrence of t4.</p>
      <p>
        B
We provide these informations based on the real-time property verification
method presented in the previous section. t4 is fired infinitely. The time ranges
for each firing occurrence are shown in Table 1. For each firing occurrence n
(n 2 N) of t4, the time range [tnmin, tnmax] is [5 + 17(n 1), 10 + 69(n 1)].
The behavior regularity in this case is that, except the first occurrence, the time
difference between current occurrence and the previous one is always in [
        <xref ref-type="bibr" rid="ref17">17, 69</xref>
        ].
      </p>
      <p>A sub-net B0 conforming to this regular pattern is constructed to replace
original sub-net B, as shown in Fig. 2. Sub-net A is kept as before. The
reachability graph of the reduced TPN only contains 3 states and 3 transitions, but
exhibits the same real-time behavior as before from the viewpoint of A.</p>
      <p>To summarize the main objective of this work from the above example, we
aim to find the regularity of the real-time behavior for the TPN sub-nets from
the viewpoint of observations. As we only observe TPN transitions, the real-time
behavior from the viewpoint of observed transitions concerns both the firing
occurrence times and the time range of each firing occurrence. A reducible
subnet must be independent of its surrounding behavioral context. It means that
Occurrence</p>
      <p>Time [timin, timax]</p>
      <p>Time Diff [timin
timi1n, timax
tima1x]
whether it is "knocked out" from the system or not, it will exhibit exactly the
same behavior whenever it is measured, in terms of occurrence times of the portal
transition and its time range of each firing occurrence.</p>
      <p>An overview of the approach is illustrated in Fig. 3. First, some reducible
sub-nets like A, B, and C are identified from the whole TPN model using the
Identification functions. These sub-nets contain either none incoming transition
and one unique outgoing transition such as A, denoted as one-way-out pattern; or
one incoming and one outgoing transitions such as B and C, denoted as generic
pattern. The regularity of real-time behaviors for each reducible sub-nets A, B
and C are searched using Reduction functions relying on observer-based property
verification method. If the regularity is founded, reduced sub-nets (A0, B0, and
C0) are constructed to replace the original ones after their soundness is assessed
by the Refinement functions, which also rely on the observer-based property
verification method. As the one-way-out pattern and the generic pattern rely on
different identification functions but similar reduction and refinement functions,
for the page limit, we only develop our discussion based on the one-way-out
pattern.
5</p>
    </sec>
    <sec id="sec-5">
      <title>Regularity of Real-Time Behavior</title>
      <p>The regularity of real-time behavior depends on the characteristics of a system.
Fig. 4 illustrates two possible regularities of real-time behavior from the
viewpoint of observed transitions. The TPN in Fig.4 (a) has 3 sub-nets: A, B and C.
A (resp. B) has a unique portal transition TA (resp. TB) to C, and produces
tokens via TA (resp. TB) periodically or sporadically. From the viewpoint of C,</p>
      <p>System
A</p>
      <p>A'</p>
      <p>B</p>
      <p>B'</p>
      <p>C'</p>
      <p>C
regardless the complex inner behaviors of the A and B, they can be seen as single
transitions that may fire regularly under a pattern to feed C by tokens. There
exists thus an opportunity to abstract and redefine this regularity to a reduced
TPN A0 (resp. B0) that may contains less states and transitions than the original
one.</p>
      <p>A TA
B TB
(a)</p>
      <p>C</p>
      <p>A'
[t!,t"]
[t#,t$]
[tm,tn]
….</p>
      <p>C
(b)</p>
      <p>B'
….</p>
      <p>[ti,tj]
[tp,tq]
[tx,ty]</p>
      <p>When the observation is performed on a TPN transition, the regularity of
its firing occurrence is either finite or infinite. The time range of each firing
occurrence can be measured using observers if the time ranges are bounded.</p>
      <p>Fig. 4 (b) shows two kinds of possible regularity. Assume that we observe the
firing time of transitions TA and TB for each firing occurrence. The occurrence
of TA/TB can be either finite (A) or infinite (B). An infinity observer can be
added on a transition to check its infinity. Each occurrence Ti has a bounded
time range [timin, timax]. These ranges are derived by adding BCET (Best Case
Execution Time) and WCET (Worst Case Execution Time) observers on TA and
TB.</p>
      <p>Finite Firing Occurrence If the occurrence is finite, the sub-net A can be
represented by a finite sequential section of transitions Tseq = {Ti} (i 2 N)
with adapted time range [Ti.min, Ti.max], where Ti.min = timin timi1n, and
Ti.max = timax tima1x and t0min = t0max = 0. It is possible that the regularity
of A contains several control modes that lead to several branches with finite
sequential transitions.</p>
      <p>Infinite Firing Occurrence If the occurrence is infinite, as we focus on
finitestate systems, the states in sub-net B must be finite. In other words, there must
exist a repeating pattern in B. Depending on system’s behavior, there are several
possible repeating patterns, such as single loop pattern, nested loop pattern, etc.
In this paper, we only discuss one of them: the pattern that is composed of an
eventual finite sequential section of transitions Tseq = {Ti} (i 2 N) and a loop
section of transitions Tloop = {Tj } (j 2 N). The other patterns are under study.
Therefore, for now, if the system does not behave the infinite regularity with an
eventual sequential section and a loop section, it is considered as non-reducible.
6</p>
      <p>
        Real-Time Property Specific Reduction
The property specific state space reduction method follows three steps
(functions): identification, reduction and refinement, which rely on the real-time
property specification and observer-based verification approaches presented in [
        <xref ref-type="bibr" rid="ref21 ref22">21,
22</xref>
        ]. This section details the algorithms for the above functions for the
one-wayout pattern.
6.1
      </p>
      <p>Identification Function for One-Way-Out Pattern
We first define a symbolic system to ease the discussion:
– t+ and t : for a given transition t, represent respectively the outgoing and
incoming arcs of t.
– p+ and p : for a given place p, represent respectively the outgoing and
incoming arcs of p.
– TR(N) and PR(N): for a given TPN N , represent respectively the sets of
reducible transitions and places.</p>
      <p>We distinguish the reducible and non-reducible TPN structure. Non-reducible
elements include those structures directly associated with properties, including
observer structures, structures directly linked to observers and places/transitions
referred to by reachability assertions. The other parts are considered as reducible.</p>
      <p>Before performing property specific reduction, some property-irrelevant
structures can be directly removed from the reducible net. They are the
structures that have causality to the observers. The exact causality can be measured
using the reachability graph of the whole system. The paradox exists here: if
the whole reachability graph can be generated, we may not need any
reduction method. Therefore, to ensure the safety of the removal, we rely on the
dependency analysis in TPN as a over-approximation. The detailed dependency
algorithm is trivial thus will not be presented here. Now assume the set of TR(N)
and PR(N) are available after the removal.
Identification function F(N ) = &lt;A, Tout&gt; identifies, for a given TPN N , the
enclosed sub-net A that could be possibly reduced (necessary condition), and
the unique portal outgoing transition Tout:
– A is a connected graph, A ⇢ N , Tout 2 A
– 8 p 2 A, (p 2 PR(N)) ^ (p+ ⇢ A) ^ (p ⇢ A)
– 8 t 2 A, (t 2 TR(N)) ^ (t ⇢ A)
– (Tout 2 A) ^ (To+ut \ A 6= ; )
6.2</p>
      <p>Reduction Function
Reduction function G(A, t) = &lt;NS, NL&gt; extracts, for a given sub-net A and
the outgoing portal transition t, the behavioral equivalent sequential section NS
for the finite cases, or an eventual sequential section NS and the loop section NL
for the infinite cases. It first checks the infinity of t in sub-net A using an infinity
observer. In both cases, the bounding time range [timin, timax] is measured using
predefined BCET and WCET observers for the ith firing occurrence of t.
Building Sequential Section In the finite case, there is only a sequential
section NS. The set of sequential transitions Tseq = {Ti} (i 2 N) in NS is built
using [timin, timax]. Each transition Ti in Tseq is associated with a time range
[Ti.min, Ti.max]. The algorithm for building NS from A using the transition t is
described in Algo. 1. Initially, tomin and t0max are set as 0. NS starts from an initial
place with one token. Whether ti has occurred is checked using tHasOcc(i)
function relying on an occurrence observer. For each occurrence (i) of fired t,
a pair of BCET and WCET observers are added to t in the sub-net A to compute
the timin and timax. Then the time range [Ti.min, Ti.max] is associated to the
transition Ti. Ti is added in NS, and an associated new place without token is
also added in NS.</p>
      <p>Data: A, t
Result: NS
tomin := 0, t0max := 0 ;
NS.add(new Place(1)) ;
i := o ;
while tHasOcc(i++) do
timin := getOccBCET(A,t,i) ;
timax := getOccWCET(A,t,i) ;
Ti.min = timin timi1n ;
Ti.max = timax tima1x ;</p>
      <p>NS.add(Ti, new Place(0)) ;
end</p>
      <sec id="sec-5-1">
        <title>Algorithm 1: Building Sequential Section</title>
        <p>Building Loop Section In the infinite case, the key issue is to identify the
firing occurrence of t that divides the sequential section NS and the loop section
NL. The Algo. 2 is proposed to build the NS and NL sections by searching for the
loop starting transition (loopStartIndex) and the length of loop (loopLength).</p>
        <p>Data: A, t, occT hreshold, loopT hreshold
Result: NS, NL
t0min := 0, t0max := 0 ;
NS.add(new Place(1)) ;
occ := 0 ;
while occ++  occThreshold do
tomcicn := getOccBCET(A,t,occ); tomcacx := getOccWCET(A,t,occ) ;
for loopStartIndex = 0; loopStartIndex &lt; occ; loopStartIndex ++ do
for loopLength = 1; loopLength  occ - loopStartIndex; loopLength ++
do
match : = 0 ;
for index = loopStartIndex; index  occ - loopLength; index++ do
if isSame(&lt;timnidnex, timnadxex&gt;,
&lt;timnidnex+loopLength, tindex+looplength&gt;) then</p>
        <p>max
match++ ;
end
else break;
end
if match loopThreshold then
for k = 1; k &lt; loopStartIndex; k++ do</p>
        <p>Tk.min = tkmin tkmin1; Tk.max = tkmax
NS.add(Tk, new Place(0)) ;
tkma1x ;
end
for k = loopStartIndex; k &lt; loopStartIndex + loopLength; k++
do</p>
        <p>Tk.min = tkmin tkmin1; Tk.max = tkmax
NL.add(Tk, new Place(0)) ;
NL.connect(lastPlace, TloopStartIndex) ;
tkma1x ;
end
return ;
end
end
end
end</p>
      </sec>
      <sec id="sec-5-2">
        <title>Algorithm 2: Building Loop Section</title>
        <p>As the firing occurrence of t is infinite, an occurrence bound value is
predefined as occT hreshold to stop the algorithm. As the Identification function
F(N ) uses necessary conditions, the identified sub-net A is considered as
nonreducible if the loop section cannot be found using occT hreshold. Another bound
value loopT hreshold judges whether the loopStartIndex and the loopLength are
found. If the loop pattern holds for loopT hreshold times, it is considered that
this division of NS and NL is statistically correct. It is obvious that no matter
how big the loopT hreshold is, the assurance cannot reach 100%, because the
loop execution is infinite. In order to make sure that the reduced net refines
exactly the same behavior as before, a pre-check (refinement function) must be
performed before accepting the reduced structure.
6.3</p>
        <p>Refinement Function
The refinement function verifies the behavioral equivalence between the reduced
sub-net and the original one. Fig. 5 shows the principle of this function:
comparing the time range of each firing occurrence between the nets B and B0. It is
realized by adding time interval observers between the transition TB in B and
the transitions Ti in B0. Although the firing occurrence is infinite, under the
repeating pattern, the number of Ti is finite. If the refinement fails, it means
the system does not fit the behavior regularity, and thus the reduction method
cannot be applied.</p>
        <p>B</p>
        <p>TB
occ1
occ2
occi
observer
check
….</p>
        <p>[ti,tj]</p>
        <p>T1
[tp,tq]
T2
[tx,ty]
Ti</p>
        <p>B'</p>
        <p>
          It is possible that the observed time range do not fully refine the original
behavior because of possible "time holes" in this range. For example, a transition
can fire during [
          <xref ref-type="bibr" rid="ref10 ref15">10,15</xref>
          ] or [
          <xref ref-type="bibr" rid="ref20">20,30</xref>
          ], but never during ]15,20[. If [
          <xref ref-type="bibr" rid="ref10">10,30</xref>
          ] is directly
used as the time range, the original real-time behavior of the system is extended.
Therefore a detailed observation must be introduced to detect the time holes.
        </p>
        <p>For a given observed range [min, max] of transition T , at its ith occurrence,
the assertion checkk "exist Ti between k and k+1 " will be checked for all min 
k &lt; max. If checkk. If the check does not pass, the time range will be broken into
two sections: [min, k] and [k+1,max]. To be more general, if checkk1 , checkk2 , ...
checkkn do not pass, the final refined equivalent time ranges of this occurrence
will become [min, k1], [k1 + 1, k2], ..., [kn + 1, max]. Accordingly, the sequential
transition of the equivalent sub-net will be refined to a sub-structure which
contains branches representing all possible firing time range after removing those
impossible ranges. An example in Fig. 6 (a) shows that the transition T in the
reduced sub-net A exhibits a firing time range [t3, t4]. But there exists time
holes on this time range, and thus the real time behavior is [t3, t03] [ [t04, t4],
where t03 &lt; t04. The transition T should be replaced by the sub-range structure
(grey part in Fig. 6 (b)).</p>
        <p>A
[t!,t"]
[t#,t$]</p>
        <p>T
….
[tm,tn]
(a)</p>
        <p>C</p>
        <p>C
A'
[0,0]
[t#,t#']
[t!,t"]
[0,0]
[t$',t$]
….</p>
        <p>[tm,tn]</p>
        <p>
          (b)
To experiment the property specific reduction method, we use an avionic case
study investigated by M. Lauer et al. [
          <xref ref-type="bibr" rid="ref23">23</xref>
          ], which is a part of a flight
management system (FMS). The FMS consists of two units, a control display unit and a
computer unit. The control display unit provides human/machine interface for
data entry and information display. The computer unit provides both
computing platform Integrated Modular Avionics (IMA) and various interfaces to other
avionics. The communication between modules is implemented by Avionic Full
DupleX(AFDX ). FMS uses redundant implementation of its functions.
        </p>
        <p>The latency requirement is assessed in the case study. It depends on the
functional chain in Fig. 7. At any time, the pilot can request some information
on a given waypoint. The KU1 (Keyboard and Cursor Control Unit ) controls
the physical device used by the pilot to enter his requests. When KU1 receives a
request (req1), it broadcasts wpid1 and wpid2 to the Flight Managers FM1 and
FM2 respectively. The FMs manage the flight plan, i.e., the trajectory between
successive waypoints. When a request occurs, both query the NDB (Navigation
Database) by sending query1 (resp. query2) to retrieve the static information
on the waypoint such as the latitude and the longitude. The NDB separately
answers each FM by sending a message answer1 (resp. answer2) containing the
expected data. Upon reception of this message, each FM computes two
complementary dynamic data: the distance to the waypoint, and the ETA (Estimated
Time of Arrival ). These data (wpInf o1 and wpInf o2 resp.) are periodically
sent to respective MFDs (Multi Functional Display) which periodically
elaborate the pages to be displayed on the screens. The KU1, FMs, NDB , MFDs are
asynchronous functional modules.</p>
        <p>req1</p>
        <p>KU1
wpId1
wpId2</p>
        <p>FM1
FM2
query1
query2</p>
        <p>NDB
NDB
answer1
answer2</p>
        <p>FM1
FM2
wpInfo1
wpInfo2</p>
        <p>MFD1
MFD2
disp1
disp2</p>
        <p>The latency requirement guarantees that the system responds quick enough
to a request. It corresponds to the time elapsed between pilot’s request (req1) and
the first occurrence of the display signal depending on req1 (disp1). Therefore,
the real-time property here is the worst case time (WCT) and best case time (BCT)
between req1 and the first occurrence of disp1 depending on req1.</p>
        <p>We model the functional chain in TPN. The WCT and BCT observers are added
respectively to the TPN. A binary search algorithm is used to search for the
bound values. The computation results (verified under MacOS 10.6.8 with a
processor 2.4 GHz Intel Core 2 Duo) are shown in Table 2. The WCT (resp. BCT)
is 450.4 (reps. 75.2) ms. By applying the reduction approach, the state space
is significantly reduced. Take the WCT for example, compared to the verification
time 278.313 s before reduction, the verification time is reduced to 2.484 s.
answerP NDB!P 1 answerP 1 !... answer2 ND!B1 answer1 FM! 1 wpInfo1 MFD!1 disp1</p>
        <p>Before apply this reduction method, the state space begins to explode even
the NDB number is 2 under the test environment. By increasing P from 1 to 11,
we give out the state/transition number, reduction time, model checking (MC)
time and solving time after applying the reduction method in Table 3. The
reduction result is prominent. The solving time is almost linear with respect
to the system’s scale. This case study shows that after reduction, the explosive
systems can be analyzed, if the systems conform to the behavioral regularities.
This method turns the combination problem of O(N · M ) into a
divide-andconquer problem of O(tiden + n · N + M · N 0), where
– N is the state unfolding complexity of the target sub-net,
– M is the complexity of the other parts of the TPN,
– N 0 is the state unfolding complexity of the reduced sub-net, 1  N 0  N .</p>
        <p>It is expected that 1  N 0 ⌧ N if the system conforms to the behavioral
regularity.
– tiden is the time for identification, it is O(NS2), where NS is the number of
places and transitions in the TPN system.
– n is unfolding times of A by the reduction, refinement and cavity detection
• Finite case reduction: 2NB4 · Aobs, NB is the defined bound value of
occurrence times, Aobs is the unfolding time of A with observer.
• Infinite case reduction: 2NB4 · Aobs, NB is the defined bound value of
occurrence times.
• Refinement: (nS + nL) · Aobs, nS is the length of sequential section, nL
is the length of loop section.</p>
        <p>nSP+nL</p>
        <p>i=1
• Cavity Detection:
(maxi
mini) · Aobs</p>
        <p>This method relies on the observers, it may thus take time to search for the
bound values of time ranges. In some cases, if the system does not conform to the
behavioral regularity, it can only be known after performing the reduction and
refinement methods. As our purpose is to reduce the state space of model
checking, the trade-off between computation time and the state space is acceptable,
except that the computation time is out of the predefined thread-hold value.
This is then an engineering problem.
9</p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>Conclusion</title>
      <p>This paper proposes a real-time property specific reduction approach for TPN
based model checking. We illustrate the reduction method for the one-way-out
pattern. More generic pattern with one incoming portal transition and one
outgoing transition uses different identification function, but similar reduction and
refinement functions. This method makes the verification more scalable for
systems conforming to some behavioral regularities. It makes a trade-off between
the state space and the solving time, and allows to verify large scale systems
that will easily encounter combinatorial explosion problem, especially for the
asynchronous real-time systems. The case study shows that after reduction, the
explosive systems can be analyzed, if the systems conform to the behavioral
regularities. The reduction and refinement functions rely on the real-time
property specification and observer-based verification approaches. For now, we have
defined two behavioral regularities for the finite and infinite firing occurrence,
and provided reduction methods for the pattern with an eventual sequential
section and a loop section. Other real-time behavioral regularities are under study.
Similar approaches can be studied to reduce the state space for verifying other
families of properties.</p>
    </sec>
    <sec id="sec-7">
      <title>Acknowledgment</title>
      <p>This work was funded by the FUI P and OpenETCS projects. We also wish to thank
Michaël Lauer and Frédéric Boniol for the sharing of the avionic case study.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Valmari</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>A stubborn attack on state explosion</article-title>
          . In: Computer-Aided Verification, Springer (
          <year>1991</year>
          )
          <fpage>156</fpage>
          -
          <lpage>165</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Godefroid</surname>
            , P., van Leeuwen,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hartmanis</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Goos</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wolper</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>Partialorder methods for the verification of concurrent systems: an approach to the stateexplosion problem</article-title>
          . Volume
          <volume>1032</volume>
          . Springer Heidelberg (
          <year>1996</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Misra</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chandy</surname>
            ,
            <given-names>K.M.:</given-names>
          </string-name>
          <article-title>Proofs of networks of processes</article-title>
          .
          <source>Software Engineering, IEEE Transactions on (4)</source>
          (
          <year>1981</year>
          )
          <fpage>417</fpage>
          -
          <lpage>426</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Grumberg</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Long</surname>
            ,
            <given-names>D.E.</given-names>
          </string-name>
          :
          <article-title>Model checking and modular verification</article-title>
          .
          <source>ACM Transactions on Programming Languages and Systems (TOPLAS) 16(3)</source>
          (
          <year>1994</year>
          )
          <fpage>843</fpage>
          -
          <lpage>871</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Clarke</surname>
            ,
            <given-names>E.M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Enders</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Filkorn</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jha</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Exploiting symmetry in temporal logic model checking</article-title>
          .
          <source>Formal Methods in System Design</source>
          <volume>9</volume>
          (
          <issue>1</issue>
          -2) (
          <year>1996</year>
          )
          <fpage>77</fpage>
          -
          <lpage>104</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Emerson</surname>
            ,
            <given-names>E.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sistla</surname>
            ,
            <given-names>A.P.</given-names>
          </string-name>
          :
          <article-title>Symmetry and model checking. Formal methods in system design 9(1-2</article-title>
          ) (
          <year>1996</year>
          )
          <fpage>105</fpage>
          -
          <lpage>131</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Clarke</surname>
            ,
            <given-names>E.M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Grumberg</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Long</surname>
            ,
            <given-names>D.E.</given-names>
          </string-name>
          :
          <article-title>Model checking and abstraction</article-title>
          .
          <source>ACM Transactions on Programming Languages and Systems (TOPLAS) 16(5)</source>
          (
          <year>1994</year>
          )
          <fpage>1512</fpage>
          -
          <lpage>1542</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Holzmann</surname>
          </string-name>
          , G.:
          <article-title>On-the-fly model checking</article-title>
          .
          <source>ACM Computing Surveys (CSUR) 28(4es)</source>
          (
          <year>1996</year>
          )
          <fpage>120</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Berthomieu</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ribet</surname>
            ,
            <given-names>P.O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vernadat</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <article-title>The tool tina - construction of abstract state spaces for Petri nets and time Petri nets</article-title>
          .
          <source>International Journal of Production Research</source>
          <volume>42</volume>
          (
          <issue>14</issue>
          ) (
          <year>2004</year>
          )
          <fpage>2741</fpage>
          -
          <lpage>2756</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Sloan</surname>
            ,
            <given-names>R.H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Buy</surname>
            ,
            <given-names>U.</given-names>
          </string-name>
          :
          <article-title>Reduction rules for time Petri nets</article-title>
          .
          <source>Acta Informatica</source>
          <volume>33</volume>
          (
          <issue>7</issue>
          ) (
          <year>1996</year>
          )
          <fpage>687</fpage>
          -
          <lpage>706</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Berthelot</surname>
          </string-name>
          , G.: Transformations et analyse de réseaux de Petri:
          <article-title>application au protocoles</article-title>
          . Rapports de recherche / Université de Paris-Sud,
          <article-title>Laboratoire de recherche en informatique</article-title>
          .
          <source>LRI</source>
          (
          <year>1983</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Berthelot</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          , et al.:
          <article-title>Checking properties of nets using transformations</article-title>
          .
          <source>In: Advances in Petri Nets 1985</source>
          . Springer (
          <year>1986</year>
          )
          <fpage>19</fpage>
          -
          <lpage>40</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Haddad</surname>
            ,
            <given-names>S.:</given-names>
          </string-name>
          <article-title>A reduction theory for coloured nets</article-title>
          . In Rozenberg, G., ed.:
          <source>Advances in Petri Nets 1989. Volume 424 of Lecture Notes in Computer Science</source>
          . Springer Berlin Heidelberg (
          <year>1990</year>
          )
          <fpage>209</fpage>
          -
          <lpage>235</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Clarke</surname>
            ,
            <given-names>E.M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Grumberg</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Peled</surname>
            ,
            <given-names>D.A.</given-names>
          </string-name>
          :
          <article-title>Model checking</article-title>
          . MIT press (
          <year>1999</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Berthomieu</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vernadat</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <article-title>State class constructions for branching analysis of time Petri nets</article-title>
          .
          <source>In: Tools and Algorithms for the Construction and Analysis of Systems</source>
          . Springer (
          <year>2003</year>
          )
          <fpage>442</fpage>
          -
          <lpage>457</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Merlin</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Farber</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Recoverability of communication protocols-implications of a theoretical study</article-title>
          .
          <source>Communications, IEEE Transactions on 24(9)</source>
          (
          <year>1976</year>
          )
          <fpage>1036</fpage>
          -
          <lpage>1043</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Cassez</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Roux</surname>
            ,
            <given-names>O.H.</given-names>
          </string-name>
          :
          <article-title>Structural translation from time Petri nets to timed automata</article-title>
          .
          <source>JSS</source>
          <volume>79</volume>
          (
          <issue>10</issue>
          ) (
          <year>October 2006</year>
          )
          <fpage>1456</fpage>
          -
          <lpage>1468</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Berthomieu</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Diaz</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Modeling and verification of time dependent systems using time Petri nets</article-title>
          .
          <source>IEEE Trans. Softw. Eng</source>
          .
          <volume>17</volume>
          (
          <issue>3</issue>
          ) (
          <year>March 1991</year>
          )
          <fpage>259</fpage>
          -
          <lpage>273</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <surname>Dwyer</surname>
            ,
            <given-names>M.B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Avrunin</surname>
            ,
            <given-names>G.S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Corbett</surname>
            ,
            <given-names>J.C.</given-names>
          </string-name>
          :
          <article-title>Patterns in property specifications for finite-state verification</article-title>
          .
          <source>In: Proceedings of the 21st International Conference on Software Engineering. ICSE '99</source>
          ,
          <string-name>
            <surname>ACM</surname>
          </string-name>
          (
          <year>1999</year>
          )
          <fpage>411</fpage>
          -
          <lpage>420</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <surname>Konrad</surname>
            , S., Cheng,
            <given-names>B.H.</given-names>
          </string-name>
          :
          <article-title>Real-time specification patterns</article-title>
          .
          <source>In: Proceedings of the 27th international conference on Software engineering, ACM</source>
          (
          <year>2005</year>
          )
          <fpage>372</fpage>
          -
          <lpage>381</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21.
          <string-name>
            <surname>Ge</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pantel</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Time properties verification framework for UML-MARTE safety critical real-time systems</article-title>
          .
          <source>In: Modelling Foundations and Applications</source>
          . Springer (
          <year>2012</year>
          )
          <fpage>352</fpage>
          -
          <lpage>367</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          22.
          <string-name>
            <surname>Ge</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pantel</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Crégut</surname>
            ,
            <given-names>X.</given-names>
          </string-name>
          :
          <article-title>Formal specification and verification of task time constraints for real-time systems</article-title>
          .
          <source>In: Leveraging Applications of Formal Methods, Verification and Validation. Applications and Case Studies</source>
          . Springer (
          <year>2012</year>
          )
          <fpage>143</fpage>
          -
          <lpage>157</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          23.
          <string-name>
            <surname>Lauer</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Une méthode globale pour la vérification d'exigences temps réel - Application à l'Avionique Modulaire Intégrée</article-title>
          .
          <source>PhD thesis</source>
          , INPT (juin
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>