A Practical Approach to Incremental Specification

The object-oriented specification of concurrent and distributed systems has tended to emphasise the aspect of substitutability at the expense of code reuse. A variety of constraints has been imposed in order to guarantee substitutability in one form or another. This paper argues that the incremental development of software specifications needs to consider substitutability in the context of code reuse. Further, the common approach of starting with an abstract specification and then progressively refining it (in some general way) means that many existing substitutability constraints are too strong. In the context of Coloured Petri Nets, we advocate the use of three specific forms of refinement — type refinement, subnet refinement, and node refinement. These have weaker demands for substitutability, namely that every (complete) refined behaviour has a corresponding abstract behaviour, but not necessarily vice versa. An examination of case studies in the literature suggests that this approach is applicable in practice.

[1]  Jonathan Billington,et al.  Designing and Verifying a Communications Gateway Using Coloured Petri Nets and Design/CPN , 1996, Application and Theory of Petri Nets.

[2]  Stanley B. Zdonik,et al.  Inheritance as an Incremental Modification Mechanism or What Like Is and Isn't Like , 1988, ECOOP.

[3]  Kurt Jensen,et al.  Coloured Petri Nets: Basic Concepts, Analysis Methods and Practical Use. Vol. 2, Analysis Methods , 1992 .

[4]  Wolfgang Reisig,et al.  Petri Nets in Software Engineering , 1986, Advances in Petri Nets.

[5]  Luca Cardelli,et al.  Operations on Records , 1989, Mathematical Foundations of Programming Semantics.

[6]  Anne Lohrli Chapman and Hall , 1985 .

[7]  Antoni Diller,et al.  Z - an introduction to formal methods , 1990 .

[8]  Peter Huber,et al.  Design/CPN?: A Reference Manual , 1992 .

[9]  Daniel Floreani,et al.  The Interconnection of Tactical Packet Radio Networks and BISDN , 1996 .

[10]  John W. Lamp,et al.  The Incremental Modelling of the Z39.50 Protocol with Object Petri Nets , 1999, Application of Petri Nets to Communication Networks.

[11]  W Emde GRUNDLAGEN UND ANWENDUNGEN DER RAS-W , 1991 .

[12]  Oscar Nierstrasz,et al.  Regular types for active objects , 1993, OOPSLA '93.

[13]  Wil M. P. van der Aalst,et al.  Life-Cycle Inheritance: A Petri-Net-Based Approach , 1997, ICATPN.

[14]  Lucia Pomello,et al.  Observation equivalences for the semantics of inheritance , 1999, FMOODS.

[15]  Charles Lakos,et al.  On the Abstraction of Coloured Petri Nets , 1997, ICATPN.

[16]  Glynn Winskel,et al.  Petri Nets, Algebras, Morphisms, and Compositionality , 1987, Inf. Comput..

[17]  Howard Bowman,et al.  On behavioural subtyping in LOTOS , 1997 .

[18]  Bernd Baumgarten,et al.  Petri-Netze - Grundlagen und Anwendungen , 1990 .

[19]  Charles Lakos,et al.  Composing Abstractions of Coloured Petri Nets , 2000, ICATPN.

[20]  簡聰富,et al.  物件導向軟體之架構(Object-Oriented Software Construction)探討 , 1989 .

[21]  Yasumasa Fujii,et al.  Colored Petri Nets Based Modelling and Simulation of the Static and Dynamic Allocation Policies of the Asynchronous Bandwidth in the Fieldbus Protocol , 1999, Application of Petri Nets to Communication Networks.

[22]  David Robson,et al.  Smalltalk-80: The Language and Its Implementation , 1983 .