Defining, analysing and implementing communication protocols using attribute grammars
- 1 March 1990
- journal article
- Published by Association for Computing Machinery (ACM) in Formal Aspects of Computing
- Vol. 2 (1) , 359-392
- https://doi.org/10.1007/bf01888235
Abstract
A new approach to describing communication protocols is introduced. In the style of a formal language, the protocol is considered as the set of all legal sequences of symbols that can be exchanged by the communicating processes. Although context free grammars cannot adequately describe such sequences, it is shown that attribute grammars may be used. Examples are given which show that common protocol features such as interleaving, windowing and flow control can be described by attribute grammars. It is shown how deadlock-proneness of a protocol can be formalised as a property of its attribute grammar specification, and the undecidability of deadlock-proneness for arbitrary grammars is proved. An algorithm is given for determining whether a protocol is deadlock-prone in the decidable case. A method of automatically implementing protocols from their specifications is described. The implementation takes the form of a pair of communicating attributed pushdown automata. These are based on LR(0) parsers, with attribute evaluation being performed in parallel with the parse; attribute values are used to help direct the parse. Consideration is also given to the handling of errors.Keywords
This publication has 17 references indexed in Scilit:
- Introduction to the ISO specification language LOTOSPublished by Elsevier ,2003
- Modular Attribute GrammarsThe Computer Journal, 1990
- An introduction to Estelle: A specification language for distributed systemsComputer Networks and ISDN Systems, 1987
- Regular right-part attribute grammarsACM SIGPLAN Notices, 1984
- Attribute coupled grammarsACM SIGPLAN Notices, 1984
- Extended Attribute GrammarsThe Computer Journal, 1983
- Compiler construction using attribute grammarsACM SIGPLAN Notices, 1982
- Attributed translationsJournal of Computer and System Sciences, 1974
- A note on reliable full-duplex transmission over half-duplex linksCommunications of the ACM, 1969
- Semantics of context-free languagesTheory of Computing Systems, 1968