Specifying weak sets

We present formal specifications of a new abstraction, weak sets, which can be used to alleviate high latencies when retrieving data from a wide-area information system like the World Wide Web. In the presence of failures, concurrency, and distribution, clients performing queries may observe behavior that is inconsistent with the stringent semantic requirements of mathematical sets. For example, an element retrieved and returned to the client may be subsequently deleted before the query terminates. We chose to specify formally the behavior of weak sets because we wanted to understand the varying degrees of inconsistency clients might be willing to tolerate and to understand the trade off between providing strong consistency guarantees and implementing weak sets efficiently. Our specification assertion language uses a novel construct that lets us model reachability explicitly; with it, we can distinguish between the existence of an object and its accessibility. The specifications were instrumental in understanding the design space, and we are currently implementing the most permissive of the specifications in several types of Unix systems.

[1]  Hector Garcia-Molina,et al.  Consistency in a partitioned network: a survey , 1985, CSUR.

[2]  Aaas News,et al.  Book Reviews , 1893, Buffalo Medical and Surgical Journal.

[3]  Quintin Cutts,et al.  Persistent object systems , 2000, Softw. Pract. Exp..

[4]  John C. Reynolds,et al.  The craft of programming , 1981, Prentice Hall International series in computer science.

[5]  Jeannette M. Wing A TWO-TIERED APPROACH TO SPECIFYING PROGRAMS , 1983 .

[6]  Eugene J. Shekita,et al.  Cricket: A Mapped, Persistent Object Store , 1990, POS.

[7]  Mahadev Satyanarayanan,et al.  A Case for Dynamic Sets in Operating Systems. , 1994 .

[8]  Jeannette M. Wing,et al.  Specifications and Their Use in Defining Subtypes , 1995, ZUM.

[9]  L. Amsaleg,et al.  Eos, an environment for object-based systems , 1992, Proceedings of the Twenty-Fifth Hawaii International Conference on System Sciences.

[10]  David Maier,et al.  Development and Implementation of an Object-Oriented DBMS , 1987, Research Directions in Object-Oriented Programming.

[11]  Susan S. Owicki,et al.  Axiomatic Proof Techniques for Parallel Programs , 1975, Outstanding Dissertations in the Computer Sciences.

[12]  Stephen J. Garland,et al.  Larch: Languages and Tools for Formal Specification , 1993, Texts and Monographs in Computer Science.

[13]  Hector Garcia-Molina,et al.  Read-only transactions in a distributed database , 1982, TODS.

[14]  Brewster Kahle,et al.  An information system for corporate users: wide area information servers , 1991 .