Communicating sequential processes
Communicating sequential processes
Observation equivalence as a testing equivalence
Theoretical Computer Science
Hierarchical correctness proofs for distributed algorithms
PODC '87 Proceedings of the sixth annual ACM Symposium on Principles of distributed computing
Introduction to the ISO specification language LOTOS
Computer Networks and ISDN Systems - Special Issue: Protocol Specification and Testing
Communication and concurrency
POPL '88 Proceedings of the 15th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Process algebra
Applications of process algebra
Applications of process algebra
Experimenting with process equivalence
Theoretical Computer Science - Selected papers of the International BCS-FACS Workshop on Semantics for Concurrency, Leicester, UK, July 1990
Programming with Specifications: An Introduction to Anna, a Language for Specifying ADA Programs
Programming with Specifications: An Introduction to Anna, a Language for Specifying ADA Programs
How to cook a temporal proof system for your pet language
POPL '83 Proceedings of the 10th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Trade-Offs in True Concurrency: Pomsets and Mazurkiewicz Traces
Proceedings of the 7th International Conference on Mathematical Foundations of Programming Semantics
The Linear Time - Branching Time Spectrum II
CONCUR '93 Proceedings of the 4th International Conference on Concurrency Theory
An Old-Fashioned Recipe for Real Time
Proceedings of the Real-Time: Theory in Practice, REX Workshop
A Modal Characterisation of Observable Machine-Behaviour
CAAP '81 Proceedings of the 6th Colloquium on Trees in Algebra and Programming
Structural Operational Semantics for Weak Bisimulations
Structural Operational Semantics for Weak Bisimulations
Compiler correctness for parallel languages
FPCA '95 Proceedings of the seventh international conference on Functional programming languages and computer architecture
Using a Protean Language to Enhance Expressiveness in Specification
IEEE Transactions on Software Engineering
Enhanced operational semantics: a tool for describing and analyzing concurrent systems
ACM Computing Surveys (CSUR)
Process Languages for Rooted Eager Bisimulation
CONCUR '00 Proceedings of the 11th International Conference on Concurrency Theory
An Automata-Theoretic Approach to Interprocedural Data-Flow Analysis
FoSSaCS '99 Proceedings of the Second International Conference on Foundations of Software Science and Computation Structure, Held as Part of the European Joint Conferences on the Theory and Practice of Software, ETAPS'99
Generating priority rewrite systems for OSOS process languages
Information and Computation
Hi-index | 0.00 |
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.