Advantages of Formal Specifications: A Case Study of Replication in Lotus Notes
We show the advantages of formal specifications for distributed systems. We avoid contrived toy examples. Instead we focus on object replication in Lotus Notes, a popular groupware product, for which an informal specification already exists.
We base our formal specification on higher-order multiset rewriting. Using this formalism, we detect an error in the original specification, eliminate redundant and overly restrictive data structures, and expose the natural parallelism of the replication algorithm.
As a result we end up with a specification of the replication algorithm which is “more correct”, leaner, and more widely usable. Indeed, the scope of the algorithm now includes parallel implementations, which may conceivably serve as the basis for highly available object servers on the Internet.
Keywordsformal specifications multiset rewriting distributed algorithms Lotus Notes refinement and transformation of specifications.
Unable to display preview. Download preview PDF.
- J-P. Banâtre and D. Le Métayer. Programming by multiset transformation. Communications of the ACM, (1), 1993.Google Scholar
- G. Berry and G. Boudol. The chemical abstract machine. Theoretical Computer Science, 1992.Google Scholar
- M. Bourgois. Specifying a distributed and reflective implementation of LO in higher-order gamma. In Proceedings of the Geneva Coordination Workshop. To be published. IC Press, 1995.Google Scholar
- C. Hankin, D. Le Métayer, and D. Sands. A calculus of gamma programs. In Languages and Compilers for Parallel Computing, 5th International Workshop (LNCS 757), Springer Verlag, 1992.Google Scholar
- L. Kawell, S. Beckhardt, T. Halvorsen, R. Ozzie, and I. Greif. Replicated document management in a group communication system. In CSCW’88 Portland, Oregon.Google Scholar
- D. Le Métayer. Higher-order multiset programming. In DIMACS workshop on specification of parallel algorithms. American Mathematical Society, 1994.Google Scholar