Object-Oriented Process Specification

The specification techniques put forward in [Schuman & Pitt 1987] are a variant on the “Z” notation, as promulgated by the Programming Research Group at Oxford [cf. Hayes 1987, Spivey 1988a & 1988b], which was in turn strongly influenced by VDM [Jones 1980, Bjorner & Jones 1982, Jones 1986]. The most obvious difference is our explicit commitment to the familiar “object-oriented” paradigm for structuring and decomposing complex systems. Such methods are already applied quite successfully in current software engineering practice, albeit mostly at the level of various program design languages (PDLs) or system implementation languages (SILs); we are seeking mainly to support and reinforce these same intuitions in the rather more abstract realm of formal specification.