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.

326 Behaviour-Preserving Transformations<br />

cluster class ElevatorMotorControlModule shaftNr<br />

¡ ¡<br />

shaftNr)§ OWS¡ ecem© OverweightSensor(¡ ecos ¢<br />

communication channels osos emem ecem<br />

message interface<br />

behaviour specification<br />

ElevatorMotorImage(¡ EMI¡ shaftNr)§ ecem© mhmi<br />

Behaviour specification (OverweightSensor (¡ OWS¡ ¡ 0¡ ) § ecem© ecos ¢ ElevatorMotorImage<br />

(¡ EMI¡ ¡ 0¡ ) § ecem© mhmi ) § emem0© emem¥ osos0© osos is now transformed<br />

into ElevatorMotorControlModule (¡ 0¡ ) § emem0© emem¥ osos0© osos . The remaining instances<br />

are clustered in an analogous way.<br />

Here we end our sequence <strong>of</strong> transformations. Notice that we required each <strong>of</strong> the basic<br />

behaviour-preserving transformations defined in Section 10.4. An Instance Structure<br />

Diagram <strong>of</strong> the transformed elevator specification is presented in Figure 10.4. Observe<br />

that its structure precisely matches that <strong>of</strong> the Architecture Structure Diagram <strong>of</strong> Figure<br />

10.2.<br />

The careful reader may have noticed that the performed modification <strong>of</strong> the initial elevator<br />

specification is really a trivial one. Since the initial specification does not have<br />

any observable communication channels, it can never perform observable communication<br />

actions. Therefore any specification that is incapable <strong>of</strong> performing observable<br />

communication actions is transformation equivalent to it! The problem is that in a strict<br />

sense the elevator is wrongly modelled as a completely closed system. In reality, an<br />

elevator system is not closed at all. For example, it is externally observable whether a<br />

pair <strong>of</strong> elevator Doors (see Figure 10.1) is open or closed. It is also observable whether an<br />

AudibleAlarm is ringing or not. Observations such as these can be modelled by messages<br />

that are exchangable (with an external observer) through externally observable channels<br />

5 . The sequence <strong>of</strong> transformations on the initial elevator specification is still valid if<br />

this specification is extended with observable channels and messages. The resulting<br />

modification <strong>of</strong> the initial elevator specification has then become far from trivial.<br />

10.6 The Transformations as a Pro<strong>of</strong> System: Soundness<br />

and Completeness<br />

In Subsection 9.5.5 we have defined transformation equivalence in terms <strong>of</strong> weak bisimulations.<br />

Weak bisimulations provide a simple and elegant technique for proving POOSL<br />

specifications transformation equivalent. An example <strong>of</strong> this was given in Section 9.6 in<br />

which we proved the equivalence <strong>of</strong> a simple handshake protocol and a 1-place buffer.<br />

Now that we have defined the system <strong>of</strong> 15 behaviour-preserving transformations in<br />

Section 10.4 we have obtained another technique for proving transformation equivalence.<br />

For system specifications SSpec1 and SSpec2 we let SSpec1 ¢<br />

SSpec2 denote<br />

¡<br />

5 Modelling observations as communications is one <strong>of</strong> the key concepts <strong>of</strong> CCS [Mil80]. The idea is<br />

that the only way to observe a system is to communicate with it.

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

Saved successfully!

Ooh no, something went wrong!