23.08.2013 Views

Specification of Reactive Hardware/Software Systems - Electronic ...

Specification of Reactive Hardware/Software Systems - Electronic ...

Specification of Reactive Hardware/Software Systems - Electronic ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

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

298 Process Part <strong>of</strong> POOSL<br />

and<br />

(ch1?n1; ch2?n2; ch3?n3) interrupt ch?n<br />

Both statements can be expressed, without the explicit use <strong>of</strong> the abort operator respectively<br />

the interrupt operator:<br />

and<br />

(ch1?n1; (ch2?n2; (ch3?n3 or ch?n)) or ch?n) or ch?n<br />

(ch1?n1; m2) or (ch?n; m1)<br />

where m1¥ m2 and m3 are methods defined as<br />

m1()() (ch1?n1; m2) or (ch?n; m1)<br />

m2()() (ch2?n2; m3) or (ch?n; m2)<br />

m3()() (ch3?n3) or (ch?n; m3)<br />

It is clear that modelling <strong>of</strong> aborts and interrupts this way gets very cumbersome and<br />

leads to unreadable specifications. Now consider statements<br />

and<br />

( do true then m()() od ) abort ch?n<br />

( do true then m()() od ) interrupt ch?n<br />

In case <strong>of</strong> the abort, the executing process repeatedly executes method m until it is<br />

aborted by the arrival <strong>of</strong> message n. An occurrence <strong>of</strong> the abort does not only abort<br />

the infinite loop, it can even abort the execution <strong>of</strong> method m. In case <strong>of</strong> the interrupt,<br />

the execution <strong>of</strong> the loop as well the possible execution <strong>of</strong> method m are both resumed<br />

after message n has been received. Further, each interrupt occurrence can be followed<br />

by another one. It is quite impossible to specify such complex behaviour in a reasonable<br />

fashion without the use <strong>of</strong> the abort operator or the interrupt operator.<br />

The formalisation <strong>of</strong> the abort operator did not cause any difficulties. On the other hand,<br />

finding an elegant semantic interpretation <strong>of</strong> the interrupt operator appeared to be a lot<br />

more difficult.<br />

The interrupt operator is formalised by rules (m’) ¡ ¡ (r’) <strong>of</strong> the labeled transition system.<br />

Of these, rules (o’) ¡ ¡ (r’) may appear to be more complicated than necessary. Consider<br />

for example rule (o’):

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

Saved successfully!

Ooh no, something went wrong!