ZUM ’98: The Z Formal Specification Notation

The specification language Z has been designed to describe data and functional aspects of systems, but it does not define a semantics for specifications in a distributed setting. Process algebras, on the other hand, concentrate on the behaviour of communicating agents. For this reason the combination of Z with a process algebra recently got a lot of attention. In this paper we summarise and categorise the different approaches and identify pitfalls and shortcomings in existing combinations. Thereby we give an overview over the many possible answers to the question: ‘What is the behavioural semantics of a Z specification?’