Invariants come from templates

We present a template mechanism which allows collective behavior and its invariants to be expressed in an abstract form. The mechanism supplements a view-based decomposition of distributed collaboration. Together templates and composition allow common idioms of distributed behavior to be specified and verified in an abstract form, and to be integrated in specifications. Two templates from a formal specification of Lamport's Paxos algorithm are given as examples.

[1]  César A. Muñoz,et al.  Structural Embeddings: Mechanization with Method , 1999, World Congress on Formal Methods.

[2]  Harold Ossher,et al.  Hyper/J/sup TM/: multi-dimensional separation of concerns for Java/sup TM/ , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

[3]  Stanley M. Sutton,et al.  N degrees of separation: multi-dimensional separation of concerns , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[4]  Stanley M. Sutton,et al.  Hyper/J™: multi-dimensional separation of concerns for Java™ , 2001, ICSE '02.

[5]  Heiko Krumm,et al.  Formal Behavioural Patterns for the Tool-assisted Design of Distributed Applications , 1997, DAIS.

[6]  Ralph-Johan Back,et al.  Decentralization of process nets with centralized control , 1983, PODC '83.

[7]  Leslie Lamport,et al.  Disk Paxos , 2003, Distributed Computing.

[8]  Rachid Guerraoui,et al.  Deconstructing paxos , 2003, SIGA.

[9]  Heiko Krumm,et al.  Compositional specification and structured verification of hybrid systems in cTLA , 1998, Proceedings First International Symposium on Object-Oriented Real-Time Distributed Computing (ISORC '98).

[10]  Ralph-Johan Back,et al.  Distributed cooperation with action systems , 1988, TOPL.

[11]  Leslie Lamport,et al.  The part-time parliament , 1998, TOCS.

[12]  Natarajan Shankar,et al.  Formal Verification for Fault-Tolerant Architectures: Prolegomena to the Design of PVS , 1995, IEEE Trans. Software Eng..