|
ABSTRACT
Standard specification languages have very limited abilities to define new operations on processes. We introduce the concept of a Protean specification language, with general definitional facilities supported by the appropriate theory. Protean languages allow elegant, readable, and useful specifications at all levels of abstraction. A good Protean specification language will admit methods of verifying that one specification is a refinement of another. We sketch a family of Protean specification languages (with references to the full details) which allow a vast amount of expressive power in defining operations, but nonetheless have all the essential theoretical and specification power of CCS and ACP.We illustrate these techniques by presenting several specifications of the job of protecting an arbitrary server by a checkpoint/backup scheme. The high-level specification of the protected server simply says, “It does everything it did before, and it doesn't crash.” The middle-level specification describes checkpointing cleanly and abstractly, without prescribing any particular implementation. The low-level specification is fairly close to an implementation. We show the high- and medium-level specifications equivalent by bisimulation relation techniques, and the medium- and low-level specifications equivalent by equational reasoning using automatically-generated equations. We also show that the operations expressing checkpointing behavior are not definable in standard process algebras.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
Abr87
|
|
| |
ABV92
|
Luca Aceto, Bard Bloom, and Frits Vaandrager. Turning SOS rules into equations. In Proceedings of LICS '92, pages 113-124. IEEE Computer Society Press, 1992.
|
| |
AL91
|
|
| |
Bae90
|
|
| |
BB87
|
|
 |
BIM88
|
B. Bloom , S. Istrail , A. R. Meyer, Bisimulation can't be traced, Proceedings of the 15th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.229-239, January 10-13, 1988, San Diego, California, United States
[doi> 10.1145/73560.73580]
|
| |
BK92
|
|
| |
Blo89
|
Bard Bloom. Ready Simulation, Bisimulation, and the Semantics of CCS-Like Languages. PhD thesis, Massachusetts Institute of Technology, August 1989.
|
| |
Blo93
|
|
| |
BM92
|
|
| |
BW90
|
|
| |
Hoa85
|
|
 |
LT87
|
|
| |
Luc90
|
|
| |
Mil81
|
|
| |
Mil89
|
|
 |
MP83
|
|
| |
PP88
|
G.D. Plotkin and V.R. Pratt. Teams can see pomsets. Manuscript available as pub/pp.tex by anonymous FTP from Boole.Stanford.EDU, October 1988.
|
| |
vG93
|
|
| |
vGW89
|
Rob van Glabbeek and W. P. Weijland. Branching time and abstraction in bisimulation semantics. In G. X. Ritter, editor, Information Processing 89: Proceedings of the IFIP 11th World Computer Congress, pages 613-618. North-Holland, August 1989. TUM report I9052 (- SFB-Bericht Nr. 342/29/90 A) and CWI report CS-R9120.
|
| |
WBB92
|
Sam Weber, Bard Bloom, and Geoffrey Brown. Compiling Joy to silicon: A verified silicon compilation scheme. In Tom Knight and John Savage, editors, Proceedings of the Advanced Research in VLSI and Parallel Systems Conference, pages 79- 98. 1992.
|
|