Abstract
We define a notation (specification language) for describing desired patterns of communication among components of a distributed system through multiport, unreliable channels. Our language specifies the network topology, and the kinds of information transmission desired. We give a polynomial-time algorithm for determining whether a specification is satisfiable; our algorithm can actually construct a protocol that achieves the specified exchange of information, optimized with respect to two possible criteria. Examples suggest that our method can automatically synthesize reasonably complex protocols.
Similar content being viewed by others
References
A. V. Aho, J. E. Hopcroft, and J. D. Ullman,The Design and Analysis of Computer Algorithms, Addison-Wesley, Reading, MA, 1984.
G. Bochmann, Finite-state description of communicating protocols,Computer Networks,2, 4, 1978.
G. Bochmann, A general transition model for protocols and communication services,IEEE Transactions on Communications,28, 4, 1980.
K. M. Chandy and J. Misra, How processes learn,Distributed Computing,1, 40, 1986.
A. Emmerson and E. Clarke, Using branching time logic to synthesize synchronization skeletons,Science of Computer Programming,2, 1982.
R. Fagin, J. Halpern, and M. Vardi, A model theoretic analysis of knowledge,Proc. 1984 Conf. on Foundations of Computer Science, 1984.
M. R. Garey and D. S. Johnson,Computers and Intractability: A Guide to the Theory of NP-Completeness, Freeman, San Francisco, 1979.
J. Guttag, Notes on type abstraction,Proc. Conf. on Specification of Reliable Software, 1979.
B. Hailpern and S. Owicki, Verifying network protocols using temporal logic,Proc. 1980 Symp. on Trends and Applications, 1980.
J. Halpern and Y. Moses, Knowledge and common knowledge in distributed environments,Proc. 1984 Conf. on Principles of Distributed Computing, 1984.
D. S. Johnson, Worst-case behavior of graph-coloring algorithms,Proc. 5th Southeastern Conf. on Combinatorics, Graph Theory, and Computing, 1974.
H. R. Lewis and C. H. Papadimitriou,Elements of the Theory of Computation, Prentice Hall, Englewood Cliffs, NJ, 1982.
P. Merlin, Specification and validation of protocols,IEEE Transactions on Communications,27, 11, 1979.
P. Merlin and D. Farber, Recoverability of communication protocols: implications of a theoretical study,IEEE Transactions on Communications,24, 1976.
G. Papageorgiou, The synthesis of communication protocols, Ph.D. Thesis, National Technical University of Athens (in Greek).
D. Schwabe, Formal techniques for the specification and verification of protocols, Ph.D. Thesis, University of California and Los Angeles, 1981.
R. Schwartz and P. Meliar-Smith, Temporal logic specifications of distributed systems,Proc. 2nd Int. Conf. on Distributed Computing Systems, 1981.
A. Tanenbaum,Computer Networks, Prentice Hall, Englewood Cliffs, NJ, 1981.
P. Wolper, Specifications and synthesis of communicating processes using an extended temporal logic,Proc. 1982 Conf. on Principles of Programming Languages, 1982.
P. Zafiropouloet al., Towards analyzing and synthesizing protocols,IEEE Transactions on Communications,28, 4, 1980.
Author information
Authors and Affiliations
Additional information
Communicated by Jeffrey Scott Vitter.
Research supported by the National Science Foundation. Presently at the University of California at San Diego.
Rights and permissions
About this article
Cite this article
Afrati, F., Papadimitriou, C.H. & Papageorgiou, G. The synthesis of communication protocols. Algorithmica 3, 451–472 (1988). https://doi.org/10.1007/BF01762126
Received:
Revised:
Issue Date:
DOI: https://doi.org/10.1007/BF01762126