Download:
|
by Jerry James, Ambuj K. Singh
http://www.cs.ucsb.edu/~jerry/Kan/Papers/dcca7.ps.gz
Add To MetaCart
Abstract:
We describe the design of Kan, a Java-based distributed system whose goal is to study, design, and implement dependable distributed objects for multithreaded applications. Dependability in this context denotes both fault-tolerance and support for formal specification and verification of system components. The first criterion is achieved through logging and forward recovery, and dynamic replication and migration of both objects and threads. The second criterion is achieved through a compositional proof methodology: properties of individual objects are proved in isolation, and then composed to derive the properties of the entire system. The system is based on a concurrent object model that extends the Java programming language with the constructs of asynchronous method calls, nested atomic actions, and guards.
Citations
|
864
|
Distributed Snapshots: Determining Global States of Distributed Systems
– Chandy, Lamport
- 1985
|
|
765
|
The temporal logic of actions
– Lamport
- 1994
|
|
502
|
Composing Specifications
– Abadi, Lamport
- 1993
|
|
369
|
A survey of rollback-recovery protocols in message-passing systems
– Elnozahy, Johnson, et al.
- 1996
|
|
183
|
The Java Language Specification. The Java Series
– Gosling, Joy, et al.
- 1996
|
|
182
|
Chandy and Jayadev Misra. Parallel Program Design: A Foundation
– Mani
- 1988
|
|
179
|
The performance of consistent checkpointing
– Elnozahy, Johnson, et al.
- 1992
|
|
88
|
Message Logging: Pessimistic, Optimistic, and Causal
– Alvisi, Marzullo
- 1995
|
|
75
|
Programming Distributed Systems
– Bal
- 1990
|
|
67
|
Now you may compose temporal logic specifications
– Barringer, Kuiper, et al.
- 1984
|
|
46
|
Object-oriented specification of reactive systems
– Jarvinen, Kurki-Suonio, et al.
- 1990
|
|
32
|
Compositional refinement of interactive systems
– Broy
- 1992
|
|
26
|
Composition: A way to make proofs harder
– Lamport
- 1998
|
|
20
|
Reasoning about Java classes
– Jacobs, Berg, et al.
- 1998
|
|
14
|
Java does not distribute
– Brose, Lhr, et al.
- 1997
|
|
9
|
A proof system for the parallel object-oriented language POOL
– Boer
- 1990
|
|
6
|
Adaptive checkpointing in message passing distributed systems
– Baldoni, Hélary, et al.
- 1997
|
|
6
|
A foundation for modular reasoning about safety and progress properties of state-based concurrent programs
– Collette, Knapp
- 1997
|
|
6
|
Survey of backward error recovery techniques for multicomputers based on checkpointing and rollback
– Deconinck, Vounckx, et al.
- 1998
|
|
6
|
Incremental specification with joint actions: The RPC-memory specification problem
– Kurki-Suonio
- 1996
|
|
5
|
A communication infrastructure for a fault-tolerant distributed real-time system
– Kopetz
- 1995
|
|
2
|
Java resists transparent distribution
– Brose, Lhr, et al.
- 1997
|
|
2
|
Compositional proofs for concurrent objects
– James, Singh
- 1997
|
|
2
|
A Node as a Real-Time Object
– Kopetz
- 1996
|
|
1
|
Seuss: What the doctor ordered
– Alvisi, Joshi, et al.
- 1997
|