Title :
Constructive protocol specification using Cicero
Author :
Huang, Yen-Min ; Ravishankar, Chinya V.
Author_Institution :
IBM Corp., Research Triangle Park, NC, USA
fDate :
4/1/1998 12:00:00 AM
Abstract :
This paper describes Cicero, a set of language constructs to allow constructive protocol specifications. Unlike other protocol specification languages, Cicero gives programmers explicit control over protocol execution, and facilitates both sequential and parallel implementations, especially for protocols above the transport-layer. It is intended to be used in conjunction with domain-specific libraries, and is quite different in philosophy and mode of use from existing protocol specification languages. A feature of Cicero is the use of event patterns to control synchrony, asynchrony, and concurrency in protocol execution, which helps programmers build robust protocol implementations. Event-pattern driven execution also enables implementers to exploit parallelism of varying grains in protocol execution. Event patterns can also be translated into other formal models, so that existing verification techniques may be used
Keywords :
distributed processing; protocols; specification languages; Cicero; asynchrony; concurrency; event patterns; language constructs; protocol execution; protocol specification; protocol specification languages; synchrony; Communication system control; Debugging; Fault tolerance; Libraries; Network synthesis; Programming profession; Specification languages; Testing; Throughput; Transport protocols;
Journal_Title :
Software Engineering, IEEE Transactions on