Abstract
We give a semantics for Message Flow Graphs (MFGs), which play the role for interprocess communication that Program Dependence Graphs play for control flow in parallel processes. MFGs have been used to analyse parallel code, and are closely related to Message Sequence Charts and Time Sequence Diagrams in telecommunications systems. Our requirements are firstly, to determine unambiguously exactly what execution traces are specified by an MFG, and secondly, to use a finite-state interpretation. Our methods function for both asynchronous and synchronous communications. From a set of MFGs, we define a transition system of global states, and from that a Büchi automaton by considering safety and liveness properties of the system. In order easily to describe liveness properties, we interpret the traces of the transition system as a model of Manna-Pnueli temporal logic. Finally, we describe the expressive power of MFGs by mimicking an arbitrary Büchi automaton by means of a set of MFGs.
Similar content being viewed by others
References
Alpern, B. and Schneider, F. B.: Recognizing safety and liveness.Distributed Computing, 2:117–126, 1987.
Aggrawal, S. and Sabnani, K.: editors.Protocol Specification, Testing and Verification, VIII. Proceedings of the IFIP WG 6.1 Eighth International Symposium on Protocol Specification, Testing and Verification. North Holland, 1989.
Alpern, B. and Schneider, F. B.: Verifying temporal properties without temporal logic.ACM Transactions on Programming Languages, 11(1):147–167, 1989.
Benveniste, A. and Berry, G.: The synchronous approach to reactive and real-time systems. Research Report 581, IRISA, Rennes, France, 1991.
Berry, G. and Gonthier, G.: The Esterel synchronous programming language: Design, semantics, implementation. Rapport de Recherche 842, Institut National de Recherche en Informatique et en Automatique (INRIA), 1988.
Berry, G. and Gonthier, G.: The Esterel synchronous programming language: design, semantics, implementation.Science of Computer Programming, 19:87–152, 1992.
Benveniste, A. and Le Guernic, P.: Hybrid dynamical systems theory and the SIGNAL language.IEEE Transactions on Automatic Control, 35(5):535–546, May 1990.
Benveniste, A., Le Guernic, P. and Jacquemot, C.: Synchronous programming with events and relations: the SIGNAL language and its semantics.Science of Computer Programming, 16(2):103–149, Sep 1991.
Baeten, J. C. M. and Mauw, S.: Delayed choice: an operator for joining message sequence charts. In [HoL95]. 1995. To appear.
Cockburn, A. A. R. and Citrin, W.: An executable specification language for history-sensitive systems. Technical Report IBM RZ 2162, IBM Rüschlikon Research Laboratory, Zürich, 1991.
Cockburn, A. A. R., Citrin, W., Hauser, R. F. and Känel, J.: An environment for interactive design of communication architectures. In [LPU91], 1990.
CCITT.: Recommendation Z.120: Message Sequence Chart (MSC). CCITT, Geneva, 1992.
Cohen, D. and Dorn, N.: An experiment in analysing switch recovery procedures. In [DiG93], pages 23–34, 1993.
Clarke, E. M. and Kurshan, R. P.: editors.Computer Aided Verification: Proceedings of CAV'90, volume 531of Lecture Notes in Computer Science. Springer Verlag, 1991.
Courtiat, J.-P.: ESTELLE*: a powerful dialect of ESTELLE for OSI protocol description. In [AlS89a], 1988.
Courtiat, J.-P: Estelle and Petri nets: introducing a rendezvous mechanism in Estelle: Estelle. In M. Diaz, J.-P. Ansart, J.-P. Courtiat, P. Azéma, and V. Chari, editors,The Formal Description Technique Estelle, pages 175–203. North-Holland, 1989.
Diaz, M. and Groz, R.: editors.Formal Description Techniques, V. IFIP Transactions C-10, Proceedings of the Fifth International Conference on Formal Description Techniques. North-Holland, 1993.
Gotzhein, R.: Formal definition and representation of interaction points.Computer Networks and ISDN Systems, 25(1):3–22, Aug 1992.
Gotzhein, R.: Temporal logic and applications — a tutorial.Computer Networks and ISDN Systems, 24(3):203–218, May 1992.
Godefroid, P. and Wolper, P.: Using partial orders for the efficient verification of deadlock freedom and safety properties. In [ClK91], pages 332–341, 1992.
Hogrefe, D. and Leue, S.: editors.Formal Description Techniques, VII. Proceedings of the Seventh International Conference on Formal Description Techniques. Chapman & Hall, 1995.
Hoare, C. A. R.:Communicating Sequential Processes. Prentice-Hall International, 1985.
Hogrefe, D.: SDL and OSI: On the use of CCITT-SDL in the context of OSI. Habilitation Thesis, University of Hamburg, 1989.
Holzmann, G. J.:Design and Validation of Computer Protocols. Prentice-Hall International, 1991.
Inmos Ltd.:The Occam Programming Manual. Prentice-Hall International, 1984.
International Standards Organisation. Information Processing Systems — Open Systems Interconnection — Basic Reference Model. International Standard 7498, ISO, 1984.
International Standards Organisation. Estelle: A formal description technique based on an extended state transition model. Draft International Standard 9074, ISO/IFIP, 1987.
International Standards Organisation. Information Processing Systems — Open Systems Interconnection — LOTOS: A formal description technique based on the temporal ordering of observational behavior. International Standard 8807, ISO/IEC, 1988.
International Standards Organisation. Information Processing Systems — Open Systems Interconnection — Conformance Testing Methodology and Framework, Part 1: General Concepts. International Standard 9464, ISO, ISO/TC97/SC21, 1991.
International Standards Organisation. Revised Text of CD 10731, Information Processing Systems — Open Systems Interconnection — Service Conventions. ISO/IEC JTC 1/SC21 N 6341, ISO/IEC, Jan 1991.
Kurshan, R. P.: Automata-theoretic verification of communicating processes. Unpublished lecture notes. AT & T Bell Laboratories, Aug 1992.
Ladkin P. B.: Using tense logic to describe digital computing systems. Technical Report TR 110, Department of Computing Science, University of Stirling, 1993.
Lamport, L.: Applying finite-state methods to infinite-state systems.TLA Mailing List Note, 92-08-28, 1992.
Lamport, L.: The Temporal Logic of Actions.ACM Transactions on Programming Languages and. Systems, 16(3):872–923, May 1994.
Ladkin, P. B. and Leue, S.: Interpreting Message Sequence Charts. Technical Report TR 101, Department of Computing Science, University of Stirling, 1993.
Ladkin, P. B. and Leue, S.: What do Message Sequence Charts mean? In [TAU94], pages 301–316. 1994.
Ladkin, P. B. and Leue, S.: Four issues concerning the semantics of Message Flow Graphs. In [HoL95]. 1995.
Logrippo, L. Probert, R. L. and Ural, H.: editors.Protocol Specification, Testing and Verification, X. Proceedings of the IFIP WG 6.1 Tenth International Symposium on Protocol Specification, Testing and Verification. North Holland, 1991.
Ladkin, P. B. and Simons, B. B.: Compile-time analysis of communicating processes. Technical Report RJ 8488, IBM Almaden Research Center, Nov 1991.
Ladkin, P. B. and Simons, B. B.: Compile-time analysis of communicating processes. InProceedings of the Sixth ACM International Conference on Supercomputing, pages 248–259. ACM Press, 1992.
Ladkin, P. B. and Simons, B. B.: Static analysis of concurrent communicating loops. Technical Report RJ 8625, IBM Almaden Research Center, Feb 1992.
Larsen, K. G. and Skou, A.: editors.Computer Aided Verification: Proceedings of CAV'91, volume 575 ofLecture Notes in Computer Science. Springer Verlag, 1992.
Ladkin, P. B. and Simons, B. B.:Static Analysis of Interprocess Communication. Lecture Notes in Computer Science. Springer-Verlag, 1995. To appear.
Ladkin, P. B. and Simons, B. B.: Static deadlock analysis for CSP-type communications. In D. Fussell, editor,Responsive Computer Systems: Toward Integration of Fault-Tolerance and Real Time. Kluwer, 1995.
Mazurkiewicz, A.: Trace theory. In W. Brauer, W. Reisig, and G. Rozenberg, editors,Petri-Nets, Applications and Relationship to other Models of Concurrency, LNCS Vol. 255, volume LNCS 255 ofLecture Notes in Computer Science, pages 279–324. Springer Verlag, 1987.
Milner, R.:Communication and Concurrency. Prentice Hall International, 1989.
Manna, Z. and Pnueli, A.: A hierarchy of temporal properties. InProceedings of the 9th Annual ACM Symposium on Principles of Distributed Computing, pages 377–408. ACM Press, Aug 1990.
Manna, Z. and Pnueli, A.:The Temporal Logic of Reactive and Concurrent Systems: Specification. Springer-Verlag, 1992.
Mauw, S. and Reniers, M. A.: An algebraic semantics of basic message sequence charts.The Computer Journal, 37(4):269–277, 1994.
Rumbaugh, J., Blaha, M., Premerlani, W., Eddy, F. and Lorensen, W.:Object-Oriented Modeling and Design. Prentice Hall International, 1991.
Rushby, J. M. and von Henke, F.: Formal verification of algorithms for critical systems.IEEE Transactions on Software Engineering, 19(1):13–23, Jan 1993.
Selic, B. Gullekson, G. and Ward, P. T.Real-Time Object-Oriented Modelling. John Wiley & Sons, Inc., 1994.
Siemens, A. G.:EWSD Softwareentwicklungshandbuch (Software Development Handbook), Kapitel B, Register 6, SDL Diagramme. Siemens AG, München (Munich), 1988.
Spivey, J. M.:The Z Notation. Prentice-Hall International, 1989.
Tanenbaum, A. S.:Computer Networks. Prentice-Hall International, 2nd edition, 1989.
Tenney, R. L., Amer, P. D. and Uyar, M. Ü.: editors.Formal Description Techniques, VI. IFIP Transactions C, Proceedings of FORTE '93, the Sixth International Conference on Formal Description Techniques. North-Holland, 1994.
Thomas, W.: Automata on infinite objects. InHandbook of Theoretical Computer Science, chapter 4, pages 132–191. Elsevier Science Publishers B. V. (North-Holland), 1990.
Van Sinderen, M., Ferreira Pires, L. and Vissers, C. A.: Protocol design and implementation using formal methods.The Computer Journal, 35(5):478–491, 1992.
Wolper, P.: Temporal logic can be more expressive.Information and Control, 56:72–99, 1983.
Weinberg, H. B. and Zuck, L. D.: Timed Ethernet: Real-time formal specification of Ethernet. In W. R. Cleaveland, editor,CONCUR '92, volume 630 ofLecture Notes in Computer Science, pages 370–385. Springer Verlag, 1992.
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Ladkin, P.B., Leue, S. Interpreting Message Flow Graphs. Formal Aspects of Computing 7, 473–509 (1995). https://doi.org/10.1007/BF01211629
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/BF01211629