<!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>Maximality-based Region Graph: a Novel Alternative</article-title>
      </title-group>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>MISC Laboratory, Constantine 2 University</institution>
          ,
          <addr-line>25000</addr-line>
          ,
          <country country="DZ">Algeria</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2014</year>
      </pub-date>
      <fpage>2</fpage>
      <lpage>4</lpage>
      <abstract>
        <p>- Timed automata with durational actions (daTA) are a form of timed automata that admit a more natural representation of durational actions and capturing true concurrency, with those additional benefits the kinds of properties to be verified on real-time systems will be enlarged. We present a novel approach to construct a region graph, based on the maximality semantics and preserving that specificity. More precisely, we renew the maximality capabilities on the region graph; we propose the MRG construction algorithm. We also describe an implementation of this construction (TaMaRG tool). The approach is illustrated by means a case study.</p>
      </abstract>
      <kwd-group>
        <kwd>- Real time systems</kwd>
        <kwd>Durational Action Timed Automata</kwd>
        <kwd>Maximality semantics</kwd>
        <kwd>Maximality-based region graph</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>Riadh MATMAT</p>
      <p>Ilham KITOUNI</p>
      <p>Souad GUELLATI</p>
      <p>D-Eddine SAIDOUNI,
1. INTRODUCTION
Nowadays, formal verification becomes
increasingly used in the industry as a part of the
design process. There is a growing need for
efficient tools dealing with real aspects of
systems.</p>
      <p>
        Model Checking [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] is one of the most
automated and powerful technique, used when
designing and debugging critical reactive
systems. It has been extended to real-time
systems in which quantitative (timed)
requirements are essential.
      </p>
      <p>
        In general, the system is firstly described using a
high level specification models (as timed Petri
net [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ], timed automata [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], the specification is
then translated to an abstract representation (as
region graph [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]). This latter is used in several
validation methods.
      </p>
      <p>
        Timed Automata (TA) [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] was proposed to
specify quantitative requirements expressed by
timed constraints [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], they are an extension of
finite state machine with a finite number (but
arbitrary) clocks in continuous time. TA is very
suitable for modeling and verifying real-time
systems. They stick a good balance between
expressiveness and tractability and they are
supported by different verification tools (e.g.,
KRONOS [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ] and UPPAAL [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]).
      </p>
      <p>In spite of this, the model suffers from many
problems (decidability, state space explosion...)
which is impeding its scalability.</p>
      <p>
        Many studies have pointed the interest of TA, its
underlying semantic is said the interleaving
semantics [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ].
      </p>
      <p>
        Decidability proof of the reachability problem in
TA model is based on a finite abstraction of the
set of the clock valuations. The result of this
abstraction is the region graph [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]; it is obtained
by the construction of a finite partition of all
valuations, with respect of clock constraints.
Partitions are also compatible with the
progression of time and reset.
      </p>
      <p>It’s obvious that in real world systems, actions
are not instantaneous and have durations. This
realistic characteristic is important in many
cases.</p>
      <p>
        Instead of the interleaving semantics, maximality
semantics has been proved necessary and
sufficient for carrying both the refinement
process and action durations [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ]. Accordingly,
models based on maximality semantics present
concurrent actions differently from choice [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ],
because of non atomicity of actions. These
models advocate modeling durational actions
without splitting them.
      </p>
      <p>Durational actions timed automata model (daTA)
was proposed as a timed automata coated by the
maximality semantics. daTA model allows to
carry durations of actions and to handle true
concurrency; which are realistic assumptions for
specifying timed systems.</p>
      <p>Indeed, to model duration of actions, every edge
of the automaton is annotated by constraints on
clocks. Implicitly constraints on the edges contain
the durations of actions, those that are already
started. In addition, other real-time aspects are
considered (like delaying the start and
deadlines). A single clock is reset on every edge;
it corresponds to the beginning of event (action).
The termination of an action will be captured by
information on locations of the automaton,
precisely on the destination location of transition.
In reality, the action duration is represented by
both in the constraints (guards) of the following
edges and on the next locations and that means
action is not over yet. To better understand these
principles, consider two actions, if their
executions are dependent, then one should
expect the termination of the other, this will be
realized by the use of the duration of the first
action in the guard of the second one. Otherwise
they are in concurrency (parallel executions).
See the example depicted Figure 1.</p>
      <p>
        Another important aspect of real-time systems is
the urgency (i.e., actions whose execution
cannot be delayed beyond a certain time bound).
In daTA model urgency is represented by
deadlines as proposed in [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ]. The original
proposition establishes results on timed safety
automata [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. This notification of action's urgency
is more natural and has the advantage to avoid a
lot of cases of time locks [28]. Indeed deadlines
replace invariants as time progress conditions
(TPC). Deadlines are clock constraints
associated directly with edges in the automaton.
Thus, in daTA, every state either allows time to
pass or allows actions to be executed (i.e., daTA
are time-reactive).
      </p>
      <p>Unfortunately, the region graph of TA doesn’t
contain information about durations or parallel
execution of actions; those limitations motivate
the development of Maximality based Region
Graph (MRG) from durational action timed
automata.</p>
      <p>Our contribution: In order to preserve all
achievements of the maximality semantics
namely duration of actions and true concurrency,
we will use the data model and information
concerned by the maximality when developing
the region graph. We are interested by the
preservation of the maximality semantics even
on the abstracted graph of executions of daTA.
The fundamental interest of this approach is to
propose a structure based on classical regions
for model checking and all other validation
requirements of concurrent real-time systems
(possibly distributed).In this paper we expand a
theory of region abstraction to capture novel
aspects which are relevant for verifying true
concurrency and resulting from the maximality
semantics.</p>
      <p>
        In fact for the model checking based on daTA
model, the range of proprieties to be verified is
enlarged to capture actions incompatibility, auto
concurrency and the concurrency degree
specification [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ].
      </p>
      <p>For this purpose we propose an algorithm for
generating Maximality-based Region Graph
(MRG). We also describe an implementation of
this algorithm, which allows the construction of
the MRG and its transformation into dotty
grammar. Finally, the tool is experimented by
means a case study in order to illustrate its
functionalities and to show its capabilities to deal
with real systems.</p>
      <p>Paper Outline: duration actions timed automata
are recalled in Section 2. Definition and
formalization of Maximality based Region Graph
are proposed in Section 3. Section 4 presents
the construction algorithm of MRG with an
illustrative example. Section 5 describes the
associated tool (TaMaRG) and the major
functionalities. Also, a case study is presented
and results are commented in this section,
namely sender parts of alternative bit protocol.
Section 6 concludes the paper and gives some
perspectives on future work.
2. TIMED AUTOMATA WITH DURATION</p>
      <p>
        OF ACTIONS
2.1. daTA model
The daTA model (durational actions timed
automata) [
        <xref ref-type="bibr" rid="ref24">24</xref>
        ] is a timed model defined by a
timed transition system over an alphabet
representing actions to be executed. This model
takes into account in the specification, the
duration of actions based on an intuitive idea:
temporal and structural non-atomicity of actions.
This model seems interesting and funneling
more and more research because it coats the
timed automata model by the maximality
semantics [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ].
      </p>
      <p>Illustrate this model by an example (Figure 1):
{∅} , ≔
S0 ≤
{ ≥ } , ≔</p>
      <p>S1 ≤ ≤
{ ≥ }</p>
      <p>S2
The duration associated to the action is
represented by constraints on the transitions and
in the target states of each one. In this sense,
any enabled transition represents the beginning
of the action execution. On the target state of
transition, a timed expression means that the
action is possibly under execution. From
operational point of view, each clock is
associated to an action. This clock is reset to 0
at the start of the action and will be used in the
construction of the temporal constraints as guard
of the transitions.</p>
      <p>Fig.1 presents a system of two consecutives
actions and , the clock is associated to the
action , on the locality the temporal formula
{ ≥ 1} represents the duration of the action
(which is important to distinguish from invariant
in timed automata).</p>
      <p>The end of an action execution is deduced
implicitly in the case of an action that it is
causally dependent. The action depends on ,
so the transition is guarded by constraint formed
by duration of and more time {1 ≤ ≤ 2}.
Starting from this, we can express different
possibilities of real time systems behaviour like
delaying execution of action or limiting its
offering time by manipulation clocks constraints.
Consider another example depicted by Figure 2;
the system consists of two concurrent
processes 1 and 2 synchronizing on an
action . The process 1 executes the action
followed by , while 2 executes then , and
suppose that actions , and have
respectively 10, 12 and 4 units of time as
durations.</p>
      <p>In daTA of Fig.2, from the state , the actions
and can comply in parallel, and each one can
finish only if its clock reaches a value equal to its
duration, from where duration condition set
{ ≥ 10, ≥ 12} .</p>
    </sec>
    <sec id="sec-2">
      <title>The guard of the action becomes ≥ 10 ∧</title>
      <p>≥ 12 . Once this latter is satisfied, can start
at any time in the enabling open interval
∈ [10,+ ∞ [, ∈ [12,+ ∞ [, the so called
enabling domain.</p>
      <p>
        Another concept of real time systems is urgency
in our proposal it’s represented as deadlines
[
        <xref ref-type="bibr" rid="ref8">8</xref>
        ][
        <xref ref-type="bibr" rid="ref17">17</xref>
        ].
      </p>
    </sec>
    <sec id="sec-3">
      <title>We also assume that ⇒ , this condition</title>
      <p>guarantees that if time cannot progress, at some
state at least one action is enabled from this
state.
2.2. Formalization</p>
    </sec>
    <sec id="sec-4">
      <title>In the following ℝ is the set of nonnegative real</title>
      <p>numbers. A clock takes values from ℝ . Given a
set ℋ of clocks, a clock valuation over ℋ is a
function assigning a non negative real number to
every clock. The set of valuations of ℋ noted</p>
    </sec>
    <sec id="sec-5">
      <title>V(ℋ ), is the set of total function from ℋ to ℝ . A</title>
      <p>valuation is a mapping on ℋ to ℝ . Let be a
clock, the valuation [ ← 0] resets clock to 0
and each other clock to ( ) . The valuation
+ maps every clock to ( ) + , ∈ ℝ .</p>
    </sec>
    <sec id="sec-6">
      <title>Clock constraints over ℋ are defined by the</title>
      <p>following grammar: ∷= | | ~ | ∧ ,
where ∈ ℋ , ∈ ℕ and ~ ∈ {&lt; ,&gt; ,≤ ,≥ }. The
satisfaction with respect to clock valuation
function written ⊨ means that according the
valuation function , evaluates to true.</p>
    </sec>
    <sec id="sec-7">
      <title>We use (ℋ ) to denote the set of clock</title>
      <p>constraints, ranged over by and also by .
We also use a subset of constraints where only
the atomic form of clocks comparison is allowed.</p>
    </sec>
    <sec id="sec-8">
      <title>This set is defined by (ℋ ) by the grammar:</title>
      <p>∷= ≥ , where ∈ ℋ and ∈ ℕ . This
subset represents condition duration over a finite
set of actions noted .
Definition2.1. A daTA is a
tuple = ( , ,ℋ , , ) over , where is a
finite set of states, ∈ is the initial state, ℋ is
a finite set of variables named clocks. ⊆ ×
(ℋ )× (ℋ )× × ℋ × is a finite set of
transitions.</p>
      <p>Given a transition = ( , , , , , ′) ∈ ,
represents an edge from location to ’ that
launch the execution of action a whenever guard
becomes true. In addition, deadline imposes
an urgency condition: the transition cannot be
delayed whenever is satisfied, is a clock to
be reset at this transition.</p>
    </sec>
    <sec id="sec-9">
      <title>Finally, : → 2 (ℋ ) is a maximality function</title>
      <p>which decorates each state by a set of timed
formula named action durations; these actions
are potentially in execution on it. ( ) = ∅
means that no action is yet started.</p>
      <p>We define Clock Label Occurrence : (ℋ ) →
2ℋ , as a function which gives clock names
occurred in a given timed formulas, recursively
by:
⎧
⎪
( ) = (
({ ~ }) = { }
) = ∅
⎨ ( ∧ ∧ … ∧ ) = ( )
⎪
⎩ ..</p>
      <p>Such as:</p>
      <p>∈ (ℋ ), ∈ ℋ ,∼∈ {&lt; ,&gt; ,≤ ,≥ }and ∈ ℕ .
It is a function which gives clock names occurred
in a given timed formulas.</p>
      <p>Definition2.2. The semantics of a daTA A is a
timed transition system = ( , ,→)
over ∪ ℝ . A state of (or configuration)
is a pair (s,v)such as s is a state of A and v is a
valuation over ℋ , where:
 = {( , ) | ∈ ∈ ℋ };
 = ( , ) such that ∀ ∈ ℋ , ( ) = 0 ;
 → ⊆ × ( ∪ ℝ ) × consist of the
discrete and continuous transitions.</p>
    </sec>
    <sec id="sec-10">
      <title>The discrete transition is defined for all ∈ by</title>
      <p>,,,,, ∈
1 = ⊨ .</p>
      <p>( ,) ⎯⎯ ( , [ ≔ ])
The continuous transition is defined for all ∈
∈ℝ ∀ ,
⊨ ( ) ,
where
ℝ
by
2 =</p>
      <p>
        ( , ) ⎯⎯ ( , )
( ) = ¬⋁( |∃ ∈ : = ( , , , , , ′)) is
the time progress condition in [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ].
,,,
Rule 1 states that an edge s ⎯⎯⎯ s′ defines a
discrete transition from current location
whenever the guard holds in current valuation
and clock is reset to 0. According to 2 , time
can progress in only when ( ) is true, that
is as long as no deadline of an edge leaving s
becomes true.
3. DEFINITION OF MAXIMALITY-BASED
      </p>
      <p>REGION GRAPH
Characterization of equivalent behavior using
the temporal maximality semantics and
verification by enumeration (model-checking)
must pass through abstractions of durational
actions timed automata, that both:
 Generate a finite graph (finite system
transitions);
 Preserve the degree of parallelism;
 Preserve the system properties.</p>
      <p>
        Several verification problems such as
reachability analysis, untimed language
inclusion, language emptiness as well as timed
bisimulation can be solved by techniques based
on the region abstraction [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ].
3.1. Clock regions
An infinite number of distinct valuations can
verify exactly the same guards in daTA. This
observation will serve us to analyze the daTA.
The restriction on clock constraints that define
the guards and deadlines are used to define a
finite number of equivalence classes of clock
valuations (called regions) that can unfold a
duration actions timed automata in a finite
automaton, called Maximality-based Region
Graph (MRG). This property allows algorithmic
assessments of the MRG. These valuations
correspond to those of the corresponding infinite
automaton.
      </p>
    </sec>
    <sec id="sec-11">
      <title>Notation: for ∈ ℋ , for any ( ) ∈ ℝ ,</title>
      <p>( ) denotes the fractional part of , and
⌊ ( ) ⌋ denotes the integral part of .</p>
      <p>Definition3.1. Let = ( , , ,ℋ , ) be a daTA.</p>
    </sec>
    <sec id="sec-12">
      <title>For ∈ ℋ , let be the largest integer c such</title>
      <p>that ( ≤ ) or ≤ is a sub-formula of some
clock constraint appearing in .</p>
      <p>The equivalence relation ≅ is defined over the
set of all clock interpretations for ℋ ; v ≅ v′ iff all
the following conditions hold:
i. For all ∈ ℋ , either ⌊ ( ) ⌋ and ⌊ ′( ) ⌋
are the same, or both ( ) and ( ) are
greater than .
ii. For all , ∈ ℋ
( ) ≤
and
( ) iff
′ ( ) ≤
iii. For all ∈ ℋ ( ) ≤ ,
( ) = 0 iff ′ ( ) = 0 .</p>
      <p>The equivalence relation ≅ is defined over the
set of all clock interpretations for ℋ . We will use
[ ] to denote the equivalence classes of V(ℋ ) to
with ( ) ≤
( ) ≤
′ ( ) .</p>
      <p>with
which</p>
      <p>belongs. It also clock regions denoted
by: = [ ] = { ′ ∈ (ℋ )| ≅ ′} .</p>
      <p>Example 3.1. Consider a daTA
and with = 2 and = 1.</p>
      <p>with two clocks
1
0
1</p>
      <p>2
The clock regions shown in Figure 3 are:
 14 open line segments: e.g. [0 &lt; =
&lt; 1];
 8 open regions: e.g.[0 &lt; &lt; &lt; 1] ;
 6 corner points: e.g. [ = 1, = 1] .
We call end-region the region satisfying the
following condition: ∀ , ∈ ℋ ⇒ &gt; . The end
region is open to infinity on all clocks region. It
does not have a successor region, in Figure 3
the end-region is [x &gt; 2, &gt; 1].
3.2. Successor function
Let and ′ be regions. The region ′ is a
successor of , noted ( ) = ′ iff ∀ ∈ ⇒
∃ ∈ ℝ and + ∈ ′.</p>
      <p>Now we are ready to define the
Maximalitybased Region Graph associated to a daTA
= ( , , ,ℋ , ) .
3.3. Regions Graph Coated of Maximality</p>
    </sec>
    <sec id="sec-13">
      <title>Let ( ) be a Maximality-based Region</title>
      <p>
        Graph of a daTA A. Similar to region automaton
[
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], a state of ( ) records the state of
the timed transition of , and the
equivalence class of the current values of
the clocks, but also it conserve the information
of actions under execution. It is of the form ( , )
with ∈ and is a clock region. The
Maximality-based Region Graph starts in some
state ( , ).
      </p>
      <p>According to the maximality semantics and the
daTA structure, each state of Maximality-based
Region Graph contains a set of clocks which
corresponds to events for actions under
executions. Those events are captured by timed
formulas initially on states of daTA (delivery by
function). The function ( , ) presented in
definition 3.2 ensures this feature.</p>
      <p>The transitions relation of ( ) is an
extension of transitions relation defined for a
region automaton. It has an edge from ( , ) to
( ′, ′), labeled with ( ), , , where is a
clock associate to the action and ( ) the
set of clock names corresponding to the actions
conditioning the execution of . This is effective
if in daTA a transition of the form
( , , , , , ) ∈ . As usual the transitions
relation can be defined using a successor
function over the clock regions and some
maximality functions.</p>
      <p>Definition3.2. Let = ( , , ,ℋ , ) be a daTA.
The Maximality-based Region Graph associated
to A is ( ) = , 0, , where:
ii.
iii.</p>
      <p>, is a set of states regions having the
form ( , ) with ∈ and is a region.</p>
      <p>= ( , ), is the initial state region,
where s is the initial state for and
= [ ( )]such as ∀ ∈ ℋ , ( ) = 0.</p>
      <p>∶ × → 2 ℋ , is a maximality
function assigning to each state region
( , ) a finite set of clocks representing
maximal event names. It’s defined
as: ( , ) = { | ≥ ∈ ( )}.
iv. The transition relation is defined by
two kinds of transitions:
 Passage of time. Each region ( , ) ,
where is not an end class, has an
edge to its successor ( , ( )).
Formally we write:
⊨ ( ) ∧ ( ) ⊨ ( )</p>
      <p>( , ) ( , ( ))
 Transition of . Given a region ( , ) , for
each transition = ( , , , , , ′ ) ∈ ,
there is an edge to ( , ′) where:
= [ ≔ 0 ], ⊨ and ⊨ ( ′) .</p>
      <p>This is formalized by the rule:
,,,
⎯⎯⎯ [ ≔ 0 ] ⊨ ( ′)
∧ ⊨ ∧</p>
      <p>( ),,
( , ) ⎯⎯⎯⎯⎯⎯⎯⎯ ( , [ ≔ 0 ])
4. Generating Maximality-based Region</p>
      <p>Graph
In this section we propose an algorithm which
constructs the Maximality-based Region Graph
for durational actions timed automata. It is based
on the successor function and maximality
semantics to create new regions by using the
daTA structure.
Output :Maximal-based Region Graph corresponding Ato
be the initial</p>
      <p>state region of MRG ;
calculate</p>
      <p>for each clock ∈ ℋ .
let
(P ←, ∅);
enqueue (P; l ); // = ( , )
while P not emptydo
= dequeue( ); // = ( , )
if is not end regionthen</p>
      <p>Switch type_region( )
if ⊨
case type_1: ’ =
case type_2 :’ =
case type_3 :’ =</p>
      <p>( ) ∧
= ( , )
add ′ to ;
add</p>
      <p>to ;
∶ → ′ ;
enqueue ( ; ′);
( ′) ≔ { | ≥
∈</p>
      <p>( )}
( ,
( ,
( ,
_1);
_2);
_3);
( ) ⊨
( ) then
end if
add to ;</p>
      <p>( ), ,
: ⎯⎯⎯⎯⎯⎯⎯⎯
add
to</p>
      <p>;
enqueue ( ; );
∈
;
( )}
The Algorithm: Initially the daTA is traversed so
as to find for each clock ∈ ℋ . This is
required for abstraction and ensuring finite
number of states regions in the MRG. After
creating initial state region of MRG, the
algorithm calculates the successor regions.
Regions are specified by one of three forms
(type_1, type_2, type_3).</p>
      <p>The function returns a successor of current
region. In this step the algorithm checking under
the successor region guard and TPC of daTA for
creating regions states and transitions, the
regions states are creating with keeping all
actions under execution, this is performed by the
function , the transitions are created either by
passage of time(delay transitions) or by actions
(discrete transitions).</p>
      <p>Delay transition is created if the current region
and its successor satisfies the TPC, while
discrete transitions is created if the region
satisfies the guard and satisfies the TPC, in this
case, we keep (on the transition) clock
associated with the action and clocks
corresponding to actions under execution. Recall
that those actions condition the launching of
current transition. This is performed by the
function .</p>
    </sec>
    <sec id="sec-14">
      <title>On states regions the function ( , ) is</title>
      <p>constructed, to capture the maximal events and
to ensure maximum information on concurrency.
The MRG generated by this algorithm
correspond to daTA of Figure 1, is represented
by Figure 4.
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14
15:
16:
17:
18:
19:
20:
21:
22:
23
24:
25:
26:
27:
5. Implementation and case studies
5.1. Implementation
TaMaRG is a tool for generating
Maximalitybased Region Graph from durational actions
timed automata. This tool has a graphical editor
to draw and edit daTA structure Figure 6. The
MRG-generator generates a maximality-based
region graph, and MRG-Dotty adaptor produces
a dot file type as showed in Figure 7. Its
functional view is sketched in Figure 5.
The input is a daTA of the intended behavior of
the system under verification, the output is an
MRG.</p>
      <p>The entire tool was implemented using java as
programming language.</p>
      <sec id="sec-14-1">
        <title>TaMaRG tool daTA MRG</title>
      </sec>
      <sec id="sec-14-2">
        <title>Graphical Editor</title>
      </sec>
      <sec id="sec-14-3">
        <title>MRG-Generator</title>
      </sec>
      <sec id="sec-14-4">
        <title>MRG-Dotty Adaptor</title>
        <p>
          5.2. Case studie
ABP Protocol: ABP (Alternating Bit Protocol) is
a connection-less protocol for transferring
messages in one direction between a pair of
protocol entities. It is a simple form of the Sliding
Window Protocol with a window size of 1 [
          <xref ref-type="bibr" rid="ref23">23</xref>
          ],
[
          <xref ref-type="bibr" rid="ref16">16</xref>
          ] .The name of this protocol stems from the
fact that each message is augmented with an
additional bit. This protocol uses one-bit
sequence number (which alternates between 0
and 1) in each message and an acknowledgment
to determine whether the message must be
retransmitted.
        </p>
        <p>The aim of this section is to illustrate the use of
daTA tool; we will focus on sender part.
The Model: The alternating bit protocol consists
of a sender S, a receiver R, a channel K from S
to R and a channel L from R to S, its architecture
is as follow:
The sender S and receiver R communicate via
the same lossy communications mediums (L and
K). So messages may be lost. The basic
principle is to stamp messages with a one bit
sequence number. When a protocol entity sends
message (either Data or Acknowledgment) with
sequence number b. The next message it
receives should be ¬b. If the sequence number
is not as expected, the protocol entity concludes
that the message has been lost and retransmits.
In this paper, we will focus on the sender part of
ABP protocol. To explain how the tool work.
The Sender Part of ABP Protocol: is responsible
for accepting messages from the application and
sending them via the Medium to the Receiver.
The daTA of sender is presented in Figure 6.
6. Conclusion
In this paper, we defined Maximality-based
Region Graph, also an algorithm generating
MRG structure from durational actions Timed
Automata (Timed Automata which are coated of
Maximality semantics) is presented. The interest
of MRG model comes from the fact that it
contains information about parallel execution of
actions. This allows verification of properties
related to true concurrency, in addition to those
associated to real-time systems.</p>
        <p>As perspective, we will complete this work by the
characterization of equivalent behaviors using
the temporal maximality bisimulation. Likewase
we aim at the reduction of the MRG size for
efficient verification by enumeration
(modelchecking).
7. References</p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>R.</given-names>
            <surname>Alur</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Courcoubetis</surname>
          </string-name>
          and
          <string-name>
            <given-names>D.</given-names>
            <surname>Dill</surname>
          </string-name>
          , “
          <article-title>ModelChecking in Dense Real- Time”</article-title>
          .
          <source>Information and Computation</source>
          ,
          <volume>104</volume>
          (
          <issue>1</issue>
          ) :
          <fpage>2</fpage>
          -
          <lpage>34</lpage>
          ,
          <year>1993</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>D.</given-names>
            <surname>Dill</surname>
          </string-name>
          ,“
          <article-title>A Theory of Timed Automata”</article-title>
          ,
          <source>In Theoretical Computer Science (TCS)</source>
          ,vol.
          <volume>126</volume>
          (
          <issue>2</issue>
          ), pp.
          <fpage>183</fpage>
          -
          <lpage>235</lpage>
          ,
          <year>1994</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>C.</given-names>
            <surname>Baier</surname>
          </string-name>
          ,
          <string-name>
            <surname>J-P. Katoen</surname>
          </string-name>
          ,“Principles of Model Checking”; The MIT Press Cambridge, Massachusetts, London,
          <source>England: ISBN 978-0-262-02649-9</source>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>H.</given-names>
            <surname>Bowman</surname>
          </string-name>
          ,
          <article-title>Time and action lock freedom properties for timed automata</article-title>
          .
          <source>In Proceedings of FORTE</source>
          <year>2001</year>
          ,
          <volume>119</volume>
          -
          <fpage>134</fpage>
          ,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>A.</given-names>
            <surname>Burns</surname>
          </string-name>
          , “
          <article-title>how to verify a safe real time: the application of model checking and timed automata to the production cell case study”, In Real time Systems journal</article-title>
          , vol.
          <volume>24</volume>
          (
          <issue>2</issue>
          ), pp.
          <fpage>135</fpage>
          -
          <lpage>152</lpage>
          ,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>R.</given-names>
            <surname>Alur</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Fix</surname>
          </string-name>
          , and
          <string-name>
            <given-names>T. A.</given-names>
            <surname>Henzinger</surname>
          </string-name>
          .
          <article-title>Eventclock automata: a determinizable class of timed automata</article-title>
          .
          <source>Theoretical Computer Science</source>
          ,
          <volume>211</volume>
          (
          <issue>1-2</issue>
          ):
          <fpage>253</fpage>
          -
          <lpage>273</lpage>
          ,
          <year>1999</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>H.</given-names>
            <surname>Bowman</surname>
          </string-name>
          and
          <string-name>
            <given-names>R.</given-names>
            <surname>Gomez</surname>
          </string-name>
          <article-title>: Concurrency Theory, Calculi and Automata for Modelling Untimed and Timed Concurrent Systems</article-title>
          . ISBN-
          <volume>10</volume>
          :
          <fpage>1</fpage>
          -
          <lpage>85233</lpage>
          -895-4 ISBN-
          <volume>13</volume>
          :
          <fpage>978</fpage>
          -1-
          <fpage>85233</fpage>
          -895-4 Springer-Verlag,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>T.A.</given-names>
            <surname>Henzinger</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X.</given-names>
            <surname>Nicollin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Sifakis</surname>
          </string-name>
          , &amp; S.Yovine, “
          <article-title>Symbolic model checking for realtime systems”</article-title>
          . Inf. &amp;
          <string-name>
            <surname>Comp</surname>
          </string-name>
          .,
          <volume>111</volume>
          (
          <issue>2</issue>
          ):
          <fpage>193</fpage>
          -
          <lpage>244</lpage>
          ,
          <year>1994</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>S.</given-names>
            <surname>Guellati</surname>
          </string-name>
          ,
          <string-name>
            <surname>I. Kitouni</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Matmat</surname>
          </string-name>
          and
          <string-name>
            <given-names>D.E.</given-names>
            <surname>Saidouni</surname>
          </string-name>
          , “
          <article-title>Timed Automata with Action Durations - From Theory to Implementation”</article-title>
          ,
          <source>In the 20th International Conference on Information and Software Technologies (ICIST</source>
          <year>2014</year>
          ), Kaunas, Lithuania,
          <string-name>
            <given-names>G.</given-names>
            <surname>Dregvaite and R. Damasevicius</surname>
          </string-name>
          (Eds.):
          <source>ICIST</source>
          <year>2014</year>
          , CCIS 465, pp.
          <fpage>94</fpage>
          -
          <lpage>109</lpage>
          ,
          <year>2014</year>
          . Springer International Publishing Switzerland
          <year>2014</year>
          .
          <article-title>(Accepted to be published).</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>G.</given-names>
            <surname>Behrmann</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>David</surname>
          </string-name>
          , and
          <string-name>
            <given-names>K.</given-names>
            <surname>Larsen.</surname>
          </string-name>
          “
          <article-title>A tutorial on Uppaal”</article-title>
          .
          <source>In SFM-RT</source>
          <year>2004</year>
          , LNCS
          <volume>3185</volume>
          ,pages
          <fpage>200</fpage>
          -
          <lpage>236</lpage>
          . Springer,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>H.</given-names>
            <surname>Bowman</surname>
          </string-name>
          and
          <string-name>
            <given-names>R.</given-names>
            <surname>Gomez</surname>
          </string-name>
          <article-title>: Concurrency Theory, Calculi and Automata for Modelling Untimed and Timed Concurrent Systems</article-title>
          . ISBN-
          <volume>10</volume>
          :
          <fpage>1</fpage>
          -
          <lpage>85233</lpage>
          -895-4 ISBN-
          <volume>13</volume>
          :
          <fpage>978</fpage>
          -1-
          <fpage>85233</fpage>
          -895-4 Springer-Verlag,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>R.</given-names>
            <surname>Barbuti</surname>
          </string-name>
          , N. De Francesco, L. Tesei :
          <article-title>Timed Automata with non-instantaneous Actions</article-title>
          .
          <source>Fundamenta Informaticae</source>
          <volume>46</volume>
          (
          <year>2001</year>
          )
          <fpage>1</fpage>
          -
          <lpage>15</lpage>
          1, IOS Press,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>J.F.</given-names>
            <surname>Groote</surname>
          </string-name>
          , J. Springintveld,“
          <article-title>Focus points and convergent process operators”. A proof strategy for protocol verification</article-title>
          ,
          <source>In Journal of Logic and Algebraic Programming</source>
          ,
          <volume>49</volume>
          (
          <issue>1</issue>
          /2):
          <volume>31</volume>
          {
          <fpage>60</fpage>
          },
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <surname>Holton</surname>
            ,
            <given-names>D. R. W.</given-names>
          </string-name>
          ,
          <article-title>“A PEPA Specification of an Industrial Production Cell”</article-title>
          ,
          <source>In The Computer Journal</source>
          , vol.
          <volume>38</volume>
          (
          <issue>7</issue>
          ), pp.
          <fpage>542</fpage>
          -
          <lpage>551</lpage>
          ,
          <year>1995</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>K.</given-names>
            <surname>Bouaroudj</surname>
          </string-name>
          , DE. Saidouni,
          <string-name>
            <surname>and I. Kitouni</surname>
          </string-name>
          , “
          <article-title>Testing Stochastic Systems Using MoVoS Tool: Case Studies”</article-title>
          . T. Skersys,
          <string-name>
            <given-names>R.</given-names>
            <surname>Butleris</surname>
          </string-name>
          , and R. Butkiene (Eds.):
          <source>ICIST</source>
          <year>2013</year>
          , CCIS 403, pp.
          <fpage>310</fpage>
          -
          <lpage>321</lpage>
          , Springer-Verlag Berlin Heidelberg,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>A.</given-names>
            <surname>Hessel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Larsen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Nielsen</surname>
          </string-name>
          , P. Pettersson, andA. Skou, “
          <article-title>Time-optimal real time test case generation using UPPAAL”</article-title>
          ,
          <string-name>
            <surname>In</surname>
            <given-names>FATES</given-names>
          </string-name>
          '
          <volume>03</volume>
          , Montreal,
          <year>October 2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>R.</given-names>
            <surname>Gómez</surname>
          </string-name>
          , “
          <article-title>Model-checking timed automata with deadlines with Uppaal”</article-title>
          .
          <source>Formal Aspects of Computing</source>
          , vol
          <volume>25</volume>
          (
          <issue>2</issue>
          ), pp
          <fpage>289</fpage>
          -
          <lpage>318</lpage>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>S.</given-names>
            <surname>Guellati</surname>
          </string-name>
          ,
          <string-name>
            <surname>I. Kitouni</surname>
          </string-name>
          , and
          <string-name>
            <given-names>D.E.</given-names>
            <surname>Saidouni</surname>
          </string-name>
          , “
          <article-title>Verification of durational action timed automata using UPPAAL”</article-title>
          ,
          <source>In International Journal of Computer Applications (IJCA)</source>
          , vol.
          <volume>56</volume>
          (
          <issue>11</issue>
          ), pp.
          <fpage>33</fpage>
          -
          <lpage>41</lpage>
          , Published by Foundation of Computer Science, New York, USA,
          <year>October 2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>S.</given-names>
            <surname>Yovine</surname>
          </string-name>
          , “
          <article-title>Kronos:A verification tool for real-time systems”</article-title>
          ,
          <source>InInternational Journal of SoftwareTools for Technology Transfer</source>
          ,
          <volume>1</volume>
          (
          <issue>1- 2</issue>
          ), pp.
          <fpage>123</fpage>
          -
          <lpage>133</lpage>
          ,
          <year>1997</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>D.E.</given-names>
            <surname>Saїdouni</surname>
          </string-name>
          , and
          <string-name>
            <given-names>N.</given-names>
            <surname>Belala</surname>
          </string-name>
          , “
          <article-title>Actions duration in timed models</article-title>
          ”
          <source>In Proceedings of International Arab Conference on Information Technology (ACIT'</source>
          <year>2006</year>
          ), December 19-21th
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <given-names>D. E.</given-names>
            <surname>Saïdouni</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. P.</given-names>
            <surname>Courtiat</surname>
          </string-name>
          , “
          <article-title>Prise en Compte des Durées d'Action dans</article-title>
          les Algèbres de Processus par l'Utilisation de la Sémantique de Maximalité” , In CFIP.
          <year>2003</year>
          , Hermes, France,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <given-names>S.</given-names>
            <surname>Tyszberowiez</surname>
          </string-name>
          , “
          <article-title>How to implement a safe real-time system : The OBSERV implementation of the production cell case study” In Real time Systems</article-title>
          , vol.
          <volume>15</volume>
          (
          <issue>1</issue>
          ), pp.
          <fpage>61</fpage>
          -
          <lpage>90</lpage>
          ,
          <year>1998</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23]
          <string-name>
            <surname>K.H. Talukder</surname>
          </string-name>
          ,“
          <article-title>Formal verification of the Alternating Bit Protocol”</article-title>
          ,
          <source>In 6th International Conference on computer &amp; Information Technology (ICCIT)</source>
          ,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [24]
          <string-name>
            <given-names>I.</given-names>
            <surname>Kitouni</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Hachichi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Bouaroudj</surname>
          </string-name>
          , and
          <string-name>
            <given-names>D.E.</given-names>
            <surname>Saidouni</surname>
          </string-name>
          , “
          <article-title>Durational Actions Timed Automata:Determinization and Expressiveness”</article-title>
          ,
          <source>In (IJAIS)</source>
          , vol.
          <volume>4</volume>
          (
          <issue>2</issue>
          ), pp.
          <fpage>1</fpage>
          -
          <lpage>11</lpage>
          ,Published by Foundation of Computer Science, New York, USA,
          <year>September 2012</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>