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.5 A Computational Interleaving Semantics 283<br />

9.5.5 Transformation Equivalence and Semantic Function ¡ £¢¥¤<br />

In the previous chapters we have informally discussed the notion <strong>of</strong> behaviourpreserving<br />

transformation. A behaviour-preserving transformation takes a POOSL<br />

description (during simulation) and transforms it into another, equivalent one. To<br />

be able to prove the correctness <strong>of</strong> transformations, it is important to define the notion<br />

<strong>of</strong> equivalence in a precise mathematical manner. Our notion <strong>of</strong> equivalence is called<br />

transformation equivalence and is formally defined in this subsection.<br />

Each POOSL description consists <strong>of</strong> a fixed number <strong>of</strong> process instances and cluster<br />

instances. Instances communicate by exchanging messages over static channels. Some <strong>of</strong><br />

these channels are unobservable while others are observable. An unobservable channel<br />

is used for internal communication between the different instances only. Observable<br />

channels establish the link to the outer world. Transformation equivalence is based<br />

upon a notion <strong>of</strong> observation. The intuitive idea is to only distinguish between two<br />

specifications if the distinction can be detected by an external observer interacting with<br />

each <strong>of</strong> them. The only way to interact with a specification is by means <strong>of</strong> message<br />

passing over the specifications’ static channels.<br />

Over the past years many different equivalence relations based upon the notion <strong>of</strong><br />

observation have been proposed. Examples include observation equivalence [Mil89],<br />

trace equivalence (also called string equivalence), failures equivalence [Hoa85], testing<br />

equivalence [NH84] and branching equivalence [vGW96]. These equivalence relations<br />

differ in the way they discriminate among specifications. Next to equivalence relations,<br />

a number <strong>of</strong> different so-called preorders have been proposed. Examples include, but<br />

are not limited to, bisimulation divergence preorders [Wal88] and reduction preorders<br />

[BSS87]. A preorder relation can be regarded as a specification-implementation relation<br />

in the sense that it indicates that one specification is closer to an implementation than<br />

another specification.<br />

To be <strong>of</strong> practical use, equivalence relation as such is a notion that is not strong enough.<br />

In general equivalence relations do not benefit from the property that replacing a component<br />

<strong>of</strong> a specification by an equivalent one, yields a specification that is equivalent<br />

to the original. An equivalence relation satisfying such a property is called a congruence.<br />

In terms <strong>of</strong> languages, a congruence is an equivalence relation that is substitutive<br />

under all language constructors. We will call an equivalence relation that is substitutive<br />

under some, but not all, language constructors, a partial congruence 5 . All <strong>of</strong> the above<br />

mentioned equivalence relations are (partial) congruences.<br />

We have decided to base our notion <strong>of</strong> transformation equivalence upon one <strong>of</strong> the best<br />

known behavioural equivalences called observation equivalence [Mil89]. An advantage<br />

<strong>of</strong> observation equivalence is that it is quite strong. If two systems are known to be<br />

observation equivalent, then they are also equivalent under many 6 other equivalence<br />

5 An example <strong>of</strong> such a partial congruence is observation equivalence [Mil89]. Except for summation,<br />

observation equivalence is preserved by all combinators.<br />

6 An example <strong>of</strong> an equivalence relation that is (slightly) stronger than observation equivalence is

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

Saved successfully!

Ooh no, something went wrong!