Font Size: a A A

A method for the specification, composition, and testing of distributed object systems

Posted on:1999-04-12Degree:Ph.DType:Dissertation
University:California Institute of TechnologyCandidate:Sivilotti, Paolo A. GFull Text:PDF
GTID:1468390014971252Subject:Computer Science
Abstract/Summary:
We present a specification methodology based on three fundamental operators from temporal logic: initially, next, and transient. From these operators we derive a collection of higher-level operators that are used for component specification. The novel aspect of our specification methodology is that we require that these operators be used in the following restricted manner: (1) A specification statement can refer only to properties that are local to a single component. (2) A single component must be able to guarantee unilaterally the validity of the specification statement for any distributed system of which it is a part. Specification statements that conform to these two restrictions we call certificates.;Another novel aspect of our methodology is the introduction of a new temporal operator that combines both safety and progress properties. The concept underlying this operator has been used implicitly before, but by extracting this concept into a first-class operator, we are able to prove several new theorems about such properties. We demonstrate the utility of this operator and of our theorems by using them to simplify several proofs.;The restrictions imposed on certificates are severe. Although they have pleasing consequences as described above, they can also lead to lengthy proofs of system properties that are not simple conjunctions. To compensate for this difficulty, we introduce collections of certificates that we call services. Services facilitate proof reuse by encapsulating common component interactions used to establish various system properties.;We experiment with our methodology by applying it to several extended examples. These experiments illustrate the utility of our approach and convince us of the practicality of component-based distributed system development.;The first restriction is motivated by our desire for these component specifications to be testable in a relatively efficient manner. We characterize a subset of certificates that can be translated into a testing harness by a simple parser with very little programmer intervention. The second restriction is motivated by our desire for a simple theory of composition: If a certificate is a property of a component, that certificate is also a property of any system containing that component.
Keywords/Search Tags:Specification, System, Component, Distributed, Methodology, Operators
Related items