|
|
Outils et Logiciels pour la Communication |
de Recherche |
|
|
Abstract: This paper introduces and formalizes a new variant of Timed Automata, called Time Labeled Scheduling Automata. A Time Labeled Scheduling Automaton is a single clock implementation model expressing globally the time constraints that a system has to meet. An algorithm is presented to show how a Time Labeled Scheduling Automaton can be synthesized from a minimal reachability graph derived from a high-level specification expressing the composition of different time constraints. It is shown how the reachability graph may be corrected before synthesizing the Time Labeled Scheduling Automaton to remove all its potentially inconsistent behaviors. Current applications of the model are the scheduling of interactive multimedia documents and a simple illustration is given in this area.
Keywords: Process Algebra, RT-Lotos, Timed Automata, Minimal Reachability Graph, Temporal Consistency, Time Labeled Scheduling Automata
Consider the example depicted in Fig.1a. The author of this multimedia scenario wishes to present three media called A, B and C respectively. The presentation durations of these media are respectively defined by the following time intervals: [3,6], [3,5] and [3,8]. This means that, for example, the presentation of media A should last at least 3 seconds and 6 seconds at the most. Thus, from the author's perspective, any value belonging to the time interval is acceptable.
![]()
specification example : exit type natural is ... endtype behavior hide sA, sBC, eAB, eC in ( ( (sA; delay(3,6) eAB{3}; stop) ||| (sBC; delay(3,8) eC{5}; stop) ) |[sBC, eAB]| (sBC; delay(3,5) eAB{2}; stop) ) |[sA, sBC]| (sA; latency(inf) sBC; stop) endspec Note that: - delay(d1,d2) means delay(d1)latency(d2-d1) - inf denotes infinity(a) (b)
The RT-Lotos specification is presented in Fig.1b, and the associated (minimal) reachability graph obtained with the rtl tool is presented in Fig.2a.
Deadlock states are not desirable and therefore, one wants to eliminate them by removing from the reachability graph all the paths starting from the initial state and leading to these deadlock states. Deadlock states are states without outgoing edges, which are not final states. Edges leading to those deadlock states and nowhere elsewhere are called inconsistent paths and removed. By removing all the inconsistent paths from the reachability graph (see Fig.3a) we ensure the scheduling of a consistent scenario applying the concept of controllability, that is, proposing a valid temporal interval inside which the scenario is consistent [13, 14].
A labeled transition system LTS(TLSA) is associated with each time labeled automaton TLSA. A state (s,µ) of LTS(TLSA), also called a configuration, is fully described by specifying the control state s of TLSA and the value µ Î D0^n of all timers of the automaton. The transitions of LTS(TLSA) correspond either to explicit transitions of TLSA, representing the occurrence of an action, or to implicit transitions representing the passage of time. The former are described by the transition successor rule and the latter by the time successor rule.
Assuming that we are in control state 1, transition 1 a¾® 3 is fired inside temporal window 0<=t1<=2. Coming from control state 1, transition 3 d¾® 5 is not enabled, because t2 = ^ and then W is false (see the definition of the firing window). Looking at enabling condition K of transition 3 c¾® 4, the first inequality is satisfied (0<=t1<=2), as well as the second one, since t2 = ^ (see the definition of the enabling condition). Transition 3 c¾® 4 will then be fired at time t3 = 3 - t1.
| F(si,sj,µ) = µ' where |
|
| G(si,µ, d) = µ' where |
|
The algorithm will first process each transition of the minimal reachability graph (labeled either by t or a Lotos action). It starts from the initial reachable configuration (s0,n0) in order to determine the earliest reachable configuration of each class of the minimal reachability graph. Then, it determines for each transition between two classes, the time progression between their earliest reachable configurations. Finally, it selects the transitions labeled by a Lotos action, defines their associated firing window and enabling condition, and groups them together in order to minimize the number of transitions, leading to the TLSA. These steps are recapitulated in the pseudo-code algorithm of Fig.7.
- Set the clocks of the earliest reachable configuration of initial class to 0.
- For each transition of the minimal reachability graph do:
- Evaluate the earliest reachable configuration of the reached class.
- Set the temporal valuation of the transition with the time elapsed from the earliest reachable configuration of the starting class until the earliest reachable configuration of the reached class.
- Add this temporal valuation to the history of the transitions leaving the reached class.
- End loop.
- For each Lotos transition do:
- Set firing window W with the temporal valuation of the transition plus the valuations of the temporal transitions fired into the current control state.
- Set enabling condition K according to the history of the transition.
- End loop
- Extract Lotos transitions and rename nodes with the number of their control state.
- Group transitions according to W and K.
Let a=(s,(na1,...,naN)) be the earliest reachable configuration of class A, with N=Nclock(s); for example, as depicted in Fig.8a, a=(2,(3+t1,3,3)) and A=2-(4.5 3 3).
before after (a) (b)
|
| With |
|
the solution is dm=3-t1 |
Let a=(s,(na1,...,naN) be the earliest reachable configuration of class A, with N=Nclock(s); for example, in Fig.9a, a=(2,(3+t1,3,3)) and A=2-(4.5 3 3). A Lotos transition from A to B means that time may progress within class A (unless A is an urgent class) before reaching class B by the occurrence of a Lotos action. Therefore, we are looking for the maximal value of dM, such that (na1 + dM, ..., naN + dM) belongs to the region of class A. In the example, this region is bounded by
before after (a) (b)
|
| With |
|
the solution is dM <= 3-t1 |
|
Some classes (such as 4-(6 5) in Fig.10) are reachable by two or more transitions. In these cases, the algorithm may determine distinct earliest reachable configurations. As a consequence, the minimal reachability graph nodes associated with these classes must be replicated as many times as there are distinct earliest reachable configurations; outgoing transitions are replicated as well.
Finally, in order to produce the TLSA, the algorithm selects the Lotos transitions. It adds to these transitions their respective firing window and enabling condition. The firing window has been defined previously, and the enabling condition corresponds to the firing window's history of the Lotos transitions that lead to the class where the current transition is enabled.
(a) (b) (c)
![]()
![]()
This document was translated from LATEX by HEVEA.