07.01.2013 Views

Lecture Notes in Computer Science 3472

Lecture Notes in Computer Science 3472

Lecture Notes in Computer Science 3472

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

13 Real-Time and Hybrid Systems Test<strong>in</strong>g 363<br />

recX .P1 – process P1 that is recursive, i.e. it may have an <strong>in</strong>f<strong>in</strong>ite<br />

execution. Every free occurrence of X with<strong>in</strong> P1 represents<br />

a recursive call of the expression recX .P1.<br />

X – recursive call of the surround<strong>in</strong>g recursive process recX .P1.<br />

RTMonitor Example: We will now model the RTMonitor example accord<strong>in</strong>g<br />

to the constra<strong>in</strong>t graph given <strong>in</strong> Figure 13.2. An ACSR model of RT Monitor is<br />

shown <strong>in</strong> Figure 13.3. It does not use any actions as resources are not considered<br />

<strong>in</strong> this example. The model excessively uses the concept of temporal scopes to<br />

model the allowed time <strong>in</strong>tervals.<br />

RT Monitor = recX .((Start,1).PMA1 )<br />

PMA1<br />

PMA2<br />

PMB1<br />

PMB2<br />

Pok<br />

Pmiss<br />

Pearly<br />

= ∅ ∞ △ (Pos1,1)<br />

10 (Pearly , PMA2, NIL)<br />

= ∅ ∞ △ (Pos1,1)<br />

20<br />

(PMB1, Pmiss, NIL)<br />

= ∅ ∞ △ (Pos2,1)<br />

20 (Pearly , PMB2, NIL)<br />

= ∅ ∞ △ (Pos2,1)<br />

10<br />

(Pok, Pmiss, NIL)<br />

=(Passed, 1).X<br />

=(TimeOut,1).(Reset, 1).X<br />

=(TooF ast, 1).(Reset, 1).X<br />

Fig. 13.3. ACSR model of the real-time monitor example<br />

First, process RT Monitor is def<strong>in</strong>ed as a recursive process where the recursion<br />

is performed <strong>in</strong> subprocess Pok . RT Monitor is wait<strong>in</strong>g an unlimited<br />

time period for the occurrence of event (Start,1) and cont<strong>in</strong>ues then with process<br />

PMA1. Process PMA1 together with process PMA2 checks whether event<br />

(Pos1, 1) occurs with<strong>in</strong> time <strong>in</strong>terval [10, 30) and cont<strong>in</strong>ues then with process<br />

PMB1. If the event comes too early respectively too late, the correspond<strong>in</strong>g output<br />

events (T ooF ast, 1) or (TimeOut,1) are generated by process Pearly respectively<br />

Pmiss. After receiv<strong>in</strong>g an <strong>in</strong>put event (Reset, 1) process RT Monitor<br />

is recursively called. Analogous to PMA1 andPMA2, processes PMB1 and PMB2<br />

check whether event (Pos2, 1) occurs with<strong>in</strong> time <strong>in</strong>terval [20, 30). After that,<br />

control is taken over by process Pok that emits the output event (P assed, 1) and<br />

then recursively calls RT Monitor.<br />

The use of a process algebra like ACSR allows to abstract from the real<br />

application behavior by model<strong>in</strong>g only the dynamic aspects of <strong>in</strong>teraction. In<br />

case of ACSR these aspects of <strong>in</strong>teraction <strong>in</strong>clude events as well as resource<br />

consum<strong>in</strong>g actions. Mechanisms like temporal scope and time consum<strong>in</strong>g actions<br />

can express the temporal behavior of the application. ACSR does not support<br />

the model<strong>in</strong>g of numerical calculations or direct communication of parameters.<br />

Therefore, the use of ACSR is adequate <strong>in</strong> cases where the behavior of event<br />

communication and resource consum<strong>in</strong>g actions of concurrent processes are the<br />

only <strong>in</strong>terest<strong>in</strong>g aspects.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!