On the progress of communication between two finite state machines
Information and Control
Parallel program design: a foundation
Parallel program design: a foundation
Tentative steps toward a development method for interfering programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
The temporal logic of reactive and concurrent systems
The temporal logic of reactive and concurrent systems
Eiffel: the language
Larch: languages and tools for formal specification
Larch: languages and tools for formal specification
ACM Transactions on Programming Languages and Systems (TOPLAS)
An introduction to assertional reasoning for concurrent systems
ACM Computing Surveys (CSUR)
ADL—an interface definition language for specifying and testing software
IDL '94 Proceedings of the workshop on Interface definition languages
Composition of assumption-commitment specifications in a UNITY style
TAPSOFT '93 Selected papers of the colloquium on Formal approaches of software engineering
Predicate transformers for reasoning about concurrent computation
Science of Computer Programming
Protocol specifications and component adaptors
ACM Transactions on Programming Languages and Systems (TOPLAS)
Object-oriented software construction (2nd ed.)
Object-oriented software construction (2nd ed.)
Client/server programming with Java and CORBA (2nd ed.)
Client/server programming with Java and CORBA (2nd ed.)
Inside distributed COM
On Communicating Finite-State Machines
Journal of the ACM (JACM)
A Theory of Interfaces and Modules - I: Composition Theorem
IEEE Transactions on Software Engineering
A class of synchronization systems that permit the use of large atomic blocks
CASCON '98 Proceedings of the 1998 conference of the Centre for Advanced Studies on Collaborative research
A Method for the Specification, Composition, and Testing of Distributed Object Systems
A Method for the Specification, Composition, and Testing of Distributed Object Systems
Composing Processes Using Modified Rely-Guarantee Specifications
Composing Processes Using Modified Rely-Guarantee Specifications
The specification and testing of quantified progress properties in distributed systems
ICSE '01 Proceedings of the 23rd International Conference on Software Engineering
Increasing client-side confidence in remote component implementations
Proceedings of the 8th European software engineering conference held jointly with 9th ACM SIGSOFT international symposium on Foundations of software engineering
A Tool for Testing Liveness in Distributed Object Systems
TOOLS '00 Proceedings of the Technology of Object-Oriented Languages and Systems (TOOLS 34'00)
Hi-index | 0.00 |
There are two aspects to the behavioral specification of an object in a distributed system: safety and liveness. This paper describes our component-based mechanism for specifying liveness. The specification of a distributed object is typically a syntactic definition of its interface (e.g., the method signatures). Several proposals exist for extending these syntactic definitions to provide behavioral information (e.g., preconditions and postconditions). However, many of these proposals have failed to address liveness properties. In this paper, we argue for the need to express such properties. Our approach is a simple extension of CORBA IDL. Our extension is guided by the "design-by-contract" philosophy of sequential systems. In particular, our approach is consistent with testing for contract violations and debugging. These activities are critical for the practical use of any specification methodology in real systems.