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.

9.7 The Development <strong>of</strong> POOSL 291<br />

is a weak bisimulation. Since (conf p<br />

1 ¥ conf p ¡ ¡ 1 ) , we have that £<br />

¢<br />

<br />

x¥ y¦ ¥ Sys<br />

(Sender Receiver)<br />

p ¢ <br />

Buffer¥ ¥ ¥ Sys<br />

Sysp ¥ Sys , and thus the protocol is observation equivalent<br />

to the 1-place buffer. Further, since conf p<br />

1 ,conf p ¡ ¡ 1 S<strong>Specification</strong>s we deduce from<br />

Lemma 1, given in Appendix B, that Reset(conf p<br />

1 ) = conf p<br />

1 and Reset(conf p<br />

2 ) = conf p<br />

2 . Hence<br />

Reset(conf p<br />

1 ) ¢ Reset(conf p<br />

2 ). From the definition <strong>of</strong> transformation equivalence it then<br />

follows that the protocol and the 1-place buffer are transformation equivalent.<br />

One would expect that a similar result could be proved if the protocol and the 1-place<br />

buffer were able to receive and deliver arbitrary data objects instead <strong>of</strong> only primitive<br />

data objects. However, it is not hard to find out that transformation equivalence and<br />

observation equivalence are too strong for this to be true. Developing equivalence<br />

relations that do establish the equivalence will be subject <strong>of</strong> future research.<br />

9.7 The Development <strong>of</strong> POOSL<br />

Each specification or design method is based upon a collection <strong>of</strong> method concepts.<br />

The development <strong>of</strong> a supporting formal specification language consists <strong>of</strong> selecting<br />

and combining appropriate language primitives. Together these primitives should<br />

be expressive enough to represent the method concepts in a natural way. Further,<br />

the combination <strong>of</strong> primitives should be consistent (the primitives should coexist in<br />

harmony). More precise, there has to exist a consistent interpretation <strong>of</strong> the primitives.<br />

Selecting language primitives that allow the natural representation <strong>of</strong> the method concepts<br />

is a complex task. The major problem is that in general there exists no one-to-one<br />

relation between concepts and primitives. It may take a number <strong>of</strong> primitives to express<br />

a single concept. On the other hand, a single primitive may be required to express<br />

different method concepts.<br />

Making sure that the selected primitives can be consistently interpreted is probably even<br />

more difficult. Primitives or combinations <strong>of</strong> them which seem to have an intuitive clear<br />

meaning, may appear to be a lot trickier than expected. During the development <strong>of</strong><br />

POOSL we found out that difficulties or obscurities <strong>of</strong>ten show up only at the moment<br />

one tries to describe the meaning <strong>of</strong> language primitives in very precise and detailed, that<br />

is formal, way. To solve encountered difficulties, alternative semantic interpretations<br />

or possible alternative language primitives have to be evaluated. A formal language<br />

description is then <strong>of</strong> great help. It provides a deep understanding <strong>of</strong> encountered<br />

problems and it aids in evaluating design alternatives in a systematic way.<br />

During the development <strong>of</strong> POOSL, lots <strong>of</strong> design problems were encountered and a<br />

large number <strong>of</strong> design decisions were taken. In Subsections 9.7.1–9.7.5 five <strong>of</strong> the more<br />

interesting problems are studied.

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

Saved successfully!

Ooh no, something went wrong!