The specification and testing of quantified progress properties in distributed systems

There are two basic parts to the behavioral specification of distributed systems: safety and progress. In earlier work, we developed a tool to monitor progress properties of CORBA components specified using the temporal operator transient. In this paper, we address the specification and testing of transient properties that are quantified (over both bounded and unbounded domains). We categorize typical quantifications that arise in practical systems and discuss possible implementation strategies. We define functional transients, a subclass of quantified transient properties that can be monitored in constant space and time. We outline the design and implementation of a tool for testing these properties in CORBA components.

[1]  Martín Abadi,et al.  Composing Specifications , 1989, REX Workshop.

[2]  David S. Rosenblum Adequate Testing of Component-Based Software , 1997 .

[3]  Michael Schatz,et al.  Implementing assertions for java , 1998 .

[4]  K. Mani Chandy,et al.  Parallel program design - a foundation , 1988 .

[5]  A. Udaya Shankar,et al.  An introduction to assertional reasoning for concurrent systems , 1993, CSUR.

[6]  Zohar Manna,et al.  The Temporal Logic of Reactive and Concurrent Systems , 1991, Springer New York.

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

[8]  Bowen Alpern,et al.  Defining Liveness , 1984, Inf. Process. Lett..

[9]  John L. Bruno,et al.  jContractor: A Reflective Java Library to Support Design by Contract , 1999, Reflection.

[10]  Laks V. S. Lakshmanan,et al.  Constraint-Based Multidimensional Data Mining , 1999, Computer.

[11]  Paolo A. G. Sivilotti A method for the specification, composition, and testing of distributed object systems , 1997 .

[12]  Paolo A. G. Sivilotti,et al.  A tool for testing liveness in distributed object systems , 2000, Proceedings. 34th International Conference on Technology of Object-Oriented Languages and Systems - TOOLS 34.

[13]  R. Kramer iContract - The Java(tm) Design by Contract(tm) Tool , 1998 .

[14]  Paolo A. G. Sivilotti,et al.  Composing Processes Using Modified Rely-Guarantee Specifications , 1996 .

[15]  Paolo A. G. Sivilotti,et al.  The specification of distributed objects: liveness and locality , 1999, CASCON.

[16]  Cynthia Della Torre Cicalese,et al.  Behavioral Specification of Distributed Software Component Interfaces , 1999, Computer.

[17]  Cliff B. Jones,et al.  Tentative steps toward a development method for interfering programs , 1983, TOPL.

[18]  Sankar Gowri Sivaprasad Larch/CORBA: Specifying the Behavior of CORBA-IDL Interfaces , 1995 .