Skip to main content
Log in

Interpreting Message Flow Graphs

  • Published:
Formal Aspects of Computing

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Alpern, B. and Schneider, F. B.: Recognizing safety and liveness.Distributed Computing, 2:117–126, 1987.

    Article  MATH  Google Scholar 

  2. 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.

  3. Alpern, B. and Schneider, F. B.: Verifying temporal properties without temporal logic.ACM Transactions on Programming Languages, 11(1):147–167, 1989.

    Article  MATH  Google Scholar 

  4. Benveniste, A. and Berry, G.: The synchronous approach to reactive and real-time systems. Research Report 581, IRISA, Rennes, France, 1991.

    Google Scholar 

  5. 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.

  6. Berry, G. and Gonthier, G.: The Esterel synchronous programming language: design, semantics, implementation.Science of Computer Programming, 19:87–152, 1992.

    Article  MATH  Google Scholar 

  7. 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.

    Article  MATH  Google Scholar 

  8. 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.

    Article  MATH  MathSciNet  Google Scholar 

  9. Baeten, J. C. M. and Mauw, S.: Delayed choice: an operator for joining message sequence charts. In [HoL95]. 1995. To appear.

  10. 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.

    Google Scholar 

  11. Cockburn, A. A. R., Citrin, W., Hauser, R. F. and Känel, J.: An environment for interactive design of communication architectures. In [LPU91], 1990.

  12. CCITT.: Recommendation Z.120: Message Sequence Chart (MSC). CCITT, Geneva, 1992.

    Google Scholar 

  13. Cohen, D. and Dorn, N.: An experiment in analysing switch recovery procedures. In [DiG93], pages 23–34, 1993.

  14. 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.

  15. Courtiat, J.-P.: ESTELLE*: a powerful dialect of ESTELLE for OSI protocol description. In [AlS89a], 1988.

  16. 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.

  17. 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.

  18. Gotzhein, R.: Formal definition and representation of interaction points.Computer Networks and ISDN Systems, 25(1):3–22, Aug 1992.

    Article  MATH  Google Scholar 

  19. Gotzhein, R.: Temporal logic and applications — a tutorial.Computer Networks and ISDN Systems, 24(3):203–218, May 1992.

    Article  MATH  Google Scholar 

  20. Godefroid, P. and Wolper, P.: Using partial orders for the efficient verification of deadlock freedom and safety properties. In [ClK91], pages 332–341, 1992.

  21. Hogrefe, D. and Leue, S.: editors.Formal Description Techniques, VII. Proceedings of the Seventh International Conference on Formal Description Techniques. Chapman & Hall, 1995.

  22. Hoare, C. A. R.:Communicating Sequential Processes. Prentice-Hall International, 1985.

  23. Hogrefe, D.: SDL and OSI: On the use of CCITT-SDL in the context of OSI. Habilitation Thesis, University of Hamburg, 1989.

  24. Holzmann, G. J.:Design and Validation of Computer Protocols. Prentice-Hall International, 1991.

  25. Inmos Ltd.:The Occam Programming Manual. Prentice-Hall International, 1984.

  26. International Standards Organisation. Information Processing Systems — Open Systems Interconnection — Basic Reference Model. International Standard 7498, ISO, 1984.

  27. International Standards Organisation. Estelle: A formal description technique based on an extended state transition model. Draft International Standard 9074, ISO/IFIP, 1987.

  28. 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.

  29. 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.

  30. 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.

  31. Kurshan, R. P.: Automata-theoretic verification of communicating processes. Unpublished lecture notes. AT & T Bell Laboratories, Aug 1992.

  32. Ladkin P. B.: Using tense logic to describe digital computing systems. Technical Report TR 110, Department of Computing Science, University of Stirling, 1993.

  33. Lamport, L.: Applying finite-state methods to infinite-state systems.TLA Mailing List Note, 92-08-28, 1992.

    Google Scholar 

  34. Lamport, L.: The Temporal Logic of Actions.ACM Transactions on Programming Languages and. Systems, 16(3):872–923, May 1994.

    Article  Google Scholar 

  35. Ladkin, P. B. and Leue, S.: Interpreting Message Sequence Charts. Technical Report TR 101, Department of Computing Science, University of Stirling, 1993.

  36. Ladkin, P. B. and Leue, S.: What do Message Sequence Charts mean? In [TAU94], pages 301–316. 1994.

  37. Ladkin, P. B. and Leue, S.: Four issues concerning the semantics of Message Flow Graphs. In [HoL95]. 1995.

  38. 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.

  39. Ladkin, P. B. and Simons, B. B.: Compile-time analysis of communicating processes. Technical Report RJ 8488, IBM Almaden Research Center, Nov 1991.

  40. 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.

  41. Ladkin, P. B. and Simons, B. B.: Static analysis of concurrent communicating loops. Technical Report RJ 8625, IBM Almaden Research Center, Feb 1992.

  42. Larsen, K. G. and Skou, A.: editors.Computer Aided Verification: Proceedings of CAV'91, volume 575 ofLecture Notes in Computer Science. Springer Verlag, 1992.

  43. Ladkin, P. B. and Simons, B. B.:Static Analysis of Interprocess Communication. Lecture Notes in Computer Science. Springer-Verlag, 1995. To appear.

  44. 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.

  45. 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.

  46. Milner, R.:Communication and Concurrency. Prentice Hall International, 1989.

  47. 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.

  48. Manna, Z. and Pnueli, A.:The Temporal Logic of Reactive and Concurrent Systems: Specification. Springer-Verlag, 1992.

  49. Mauw, S. and Reniers, M. A.: An algebraic semantics of basic message sequence charts.The Computer Journal, 37(4):269–277, 1994.

    Article  Google Scholar 

  50. Rumbaugh, J., Blaha, M., Premerlani, W., Eddy, F. and Lorensen, W.:Object-Oriented Modeling and Design. Prentice Hall International, 1991.

  51. 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.

    Article  Google Scholar 

  52. Selic, B. Gullekson, G. and Ward, P. T.Real-Time Object-Oriented Modelling. John Wiley & Sons, Inc., 1994.

  53. Siemens, A. G.:EWSD Softwareentwicklungshandbuch (Software Development Handbook), Kapitel B, Register 6, SDL Diagramme. Siemens AG, München (Munich), 1988.

    Google Scholar 

  54. Spivey, J. M.:The Z Notation. Prentice-Hall International, 1989.

  55. Tanenbaum, A. S.:Computer Networks. Prentice-Hall International, 2nd edition, 1989.

  56. 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.

  57. Thomas, W.: Automata on infinite objects. InHandbook of Theoretical Computer Science, chapter 4, pages 132–191. Elsevier Science Publishers B. V. (North-Holland), 1990.

  58. 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.

    Article  Google Scholar 

  59. Wolper, P.: Temporal logic can be more expressive.Information and Control, 56:72–99, 1983.

    Article  MATH  MathSciNet  Google Scholar 

  60. 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.

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF01211629

Keywords

Navigation