Interactive Systems Design, Specification, and Verification

This paper presents an example of how software architectures can encode temporal properties as well as the traditional structural ones. In the context of expressing concurrency control in groupware systems, the paper shows how a specification of temporal properties of the semi-replicated groupware architecture can be refined to three different implementations, each with different performance tradeoffs. This refinement approach helps in understanding the temporal properties of groupware applications, and increases confidence in the correctness of their implementation.