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.

10.7 On the Fundamental Limitations <strong>of</strong> Transformational Design 327<br />

that SSpec1 can be transformed into SSpec2 by a finite sequence <strong>of</strong> behaviour-preserving<br />

transformations6 . Such a finite sequence <strong>of</strong> transformations is called a pro<strong>of</strong> <strong>of</strong> theorem<br />

SSpec1 ¢<br />

SSpec2. The system <strong>of</strong> transformations can thus be considered a pro<strong>of</strong> system<br />

¡<br />

for proving transformation equivalence between system specifications7 . We know that<br />

this system is sound in the sense that SSpec1 ¢<br />

SSpec2 implies SSpec1 ¡ ¢<br />

SSpec2 for ¡<br />

all SSpec1 and SSpec2. In other words, the pro<strong>of</strong> system can only produce true theorems.<br />

But can all true theorems be produced by the pro<strong>of</strong> system? Stated otherwise, is the<br />

pro<strong>of</strong> system complete? Does SSpec1 ¢<br />

SSpec2 imply SSpec1 ¡ ¢<br />

SSpec2 for all<br />

¡<br />

SSpec1 and SSpec2. Unfortunately, the answer to this question is negative. Although<br />

the specifications <strong>of</strong> the handshake protocol and the 1-place buffer <strong>of</strong> Section 9.6 are<br />

transformation equivalent, there exist no sequence <strong>of</strong> transformations that transforms<br />

the former specification into the latter one8 . The problem <strong>of</strong> incompleteness is not simply<br />

solved by adding more transformations to the pro<strong>of</strong> system. Proposition 6 <strong>of</strong> Appendix<br />

B states that the incompleteness result is fundamental; there just does not exist a sound<br />

and complete pro<strong>of</strong> system for transformation equivalence!<br />

Of course we have constructed the system <strong>of</strong> transformations with a certain degree <strong>of</strong><br />

completeness in mind. The initial goal was to <strong>of</strong>fer a complete system for the introduction,<br />

modification and deletion <strong>of</strong> boundaries and channels in Instance Structure<br />

Diagrams. Thus, the transformation <strong>of</strong> a 1-place buffer into a handshake protocol was<br />

not part <strong>of</strong> this goal. Nevertheless, we found out that even this limited goal is not<br />

attainable. More concrete, from Proposition 7 in Appendix B it follows that whatever<br />

sound pro<strong>of</strong> system we are using, there will always be transformations that are allowed<br />

by 6 with uncomputable condition NoComChange but that can not be proved with the<br />

chosen pro<strong>of</strong> system 9 .<br />

In a theoretical sense we have thus not been able to attain our initial goal. This is a<br />

disappointing result. However, the initial goal could not be attained in the first place.<br />

In a practical sense we feel that we have created a transformation system that is able<br />

to tackle many complex real-life systems. The only practical shortcoming we have<br />

discovered up till now is the absence <strong>of</strong> a computable predicate NoComChange¡ ¡ that<br />

allows the application <strong>of</strong> 6 in (most descent) cases <strong>of</strong> weak distribution. The search for<br />

such a predicate is still going on.<br />

10.7 On the Fundamental Limitations <strong>of</strong> Transformational<br />

Design<br />

Transformational design [Cam89, Mid93, Pir92, Pav92, Bol92, Fea87, Par90] is a design<br />

approach that starts from an initial abstract specification. From this abstract specification<br />

an implementation model is derived by repeatedly applying behaviour-preserving<br />

6 The congruence properties as stated in Proposition 4 may be applied too.<br />

7 In this pro<strong>of</strong> system we will only allow transformations with computable transformation conditions.<br />

8 There does not exist a transformation that splits a single processes into two communicating ones.<br />

9 Notice that the 6 with condition NoComChange is not allowed in any pro<strong>of</strong> system.

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

Saved successfully!

Ooh no, something went wrong!