Formal Modeling of Communication Protocols by Graph Transformation

  • Zarrin Langari
  • Richard Trefler
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4085)


Formal modeling is a crucial first step in the analysis of safety critical communication protocols such as IP Telephony. These protocols are notoriously resistant to formal modeling due to their sheer size and complexity. We propose using graph transformation, a straight forward, visual approach to do this. In experiments with Distributed Feature Composition (DFC) protocol and its implementation in BoxOs, we find that graph transformation offers several key advantages over naive methods in modeling the dynamic evolution of a reactive communication protocol. The generated model closely follows the way in which communication protocols are typically separated into three levels: the first describing local features or components, the second characterizing interactions among components, and the third showing the evolution of the component set. The graph transformation semantics described here follows this scheme, enabling a clean separation of concerns when describing a protocol. Using DFC semantics one can easily focus on individual telephones, features, and communication structures without reference to components not directly of interest. This separation is a key to being able to deal with even modestly sized communication protocols. Graph transformation is also a powerful formalism, allowing for very expressive and accurate modeling of the systems under study. Finally, the relative ease of using this semantics is demonstrated, and likely avenues for further use are outlined.


Communication Protocol Production Rule Graph Transformation Connection Point Graph Grammar 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Amla, N., Emerson, E.A., Namjoshi, K., Trefler, R.: Abstract Patterns of Compositional Reasoning. In: Proc. CONCUR, 14th International Conference on Concurrency Theory, Marseille, France, September 2003, pp. 423–438 (2003)Google Scholar
  2. 2.
    Andries, M., Engles, G., Habel, A., Hoffmann, B., Kreowski, H.-J., Kuske, S., Plump, D., Schürr, A., Taentzer, G.: Graph Transformation for Specification and Programming. Science of Computer Programming 34(1), 1–54 (1999)MATHCrossRefMathSciNetGoogle Scholar
  3. 3.
    Baldan, P., Corradini, A., König, B.: Verifying Finite-State Graph Grammars: an Unfolding-Based Approach. In: Gardner, P., Yoshida, N. (eds.) CONCUR 2004. LNCS, vol. 3170, pp. 83–98. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  4. 4.
    Baldan, P., Corradini, A., Montanari, U., Rossi, F., Ehrig, H., Löwe, M.: Concurrent Semantics of Algebraic Graph Transformations. In: Rozenberg (ed.) Handbook of Graph Grammars and Computing by Graph Transformation, Concurrency, Parallelism, and Distribution, vol. 3, pp. 107–185. World Scientific, Singapore (1999)Google Scholar
  5. 5.
    Baldan, P., König, B., Rensink, A.: Summary 2: Graph Grammar Verification through Abstraction. In: König, B., Montanari, U., Gardner, P. (eds.): Graph Transformations and Process Algebras for Modeling Distributed and Mobile Systems, number 04241 in Dagstuhl Seminar Proceedings. Internationales Begegnungs- und Forschungszentrum (IBFI), Schloss Dagstuhl, Germany (2005)Google Scholar
  6. 6.
    Baresi, L., Heckel, R.: Tutorial Introduction to Graph Transformation: A Software Engineering Perspective. In: Corradini, A., Ehrig, H., Kreowski, H.-J., Rozenberg, G. (eds.) ICGT 2002. LNCS, vol. 2505, pp. 402–429. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  7. 7.
    Bond, G., Cheung, E., Purdy, K.H., Zave, P., Ramming, J.C.: An Open Architecture For Next-Generation Telecommunication Services. ACM Transactions on Internet Technology IV(1), 83–123 (2004)CrossRefGoogle Scholar
  8. 8.
    Bousquet, L., Gaudoin, O.: Telephony Feature Validation against Eventuality Properties and Interaction Detection based on Statistical Analysis of the Time to Service. In: ICFI 2005, Eight International Conference on Feature Interactions in Telecommunications and Software Systems, Leicester, UK (2005)Google Scholar
  9. 9.
    Corradini, A., Heckel, R., Montanari, U.: Graphical Operational Semantics. In: Rolim, J.D.P., et al. (eds.) ICALP 2000, Workshop on Graph Transformation and Visual Modeling Techniques. Carleton Scientific (2000)Google Scholar
  10. 10.
    Ehrig, H., Heckel, R., Korff, M., Löwe, M., Ribeiro, L., Wagner, A., Corradini, A.: Algebraic Approaches to Graph Transformation Part II: Single Pushout Approach and Comparison with Double Pushout. In: Rozenberg (ed.) Handbook of Graph Grammars and Computing by Graph Transformation, Foundations, vol. 1, pp. 247–312. World Scientific, Singapore (1997)CrossRefGoogle Scholar
  11. 11.
    Engels, G., Heckel, R.: From Trees to Graphs: Defining The Semantics of Diagram Languages with Graph Transformation. In: Rolim, J.D.P., et al. (eds.) ICALP 2000. Workshop on Graph Transformation and Visual Modeling Techniques, Geneva, Switzerland, pp. 373–382. Carleton Scientific (2000)Google Scholar
  12. 12.
    Gurevich, Y.: Abstract State Machines: An Overview of The Project in Foundations of Information and Knowledge Systems. In: Seipel, D., Turull-Torres, J.M.a. (eds.) FoIKS 2004. LNCS, vol. 2942, pp. 6–13. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  13. 13.
    Heckel, R.: Compositional Verification of Reactive Systems Specified by Graph Transformation. In: Astesiano, E. (ed.) ETAPS 1998 and FASE 1998. LNCS, vol. 1382, pp. 138–153. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  14. 14.
    Hoffman, B., Minas, M.: A Generic Model for Diagram Syntax and Semantics. In: Proc. ICALP 2000 Workshop on Graph Transformation and Visul Modeling Techniques, Geneva, Switzerland. Carleton Scientific (2000)Google Scholar
  15. 15.
    Jackson, M., Zave, P.: Distributed Feature Composition: A Virtual Architecture for Telecommunications Services. IEEE Transactions on Software Engineering XXIV(10), 831–847 (1998)CrossRefGoogle Scholar
  16. 16.
    Juarez Dominguez, A.L.: Verification of DFC Call Protocol Correctness Criteria. MMath thesis, University of Waterloo, Waterloo, Canada (May 2005)Google Scholar
  17. 17.
    Ghafari, N., Trefler, R.: Piecewise FIFO Channels are Analyzable. In: Emerson, E.A., Namjoshi, K.S. (eds.) VMCAI 2006. LNCS, vol. 3855, pp. 252–266. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  18. 18.
    Kuske, S.: A Formal Semantics of UML State Machines Based on Structured Graph Transformation. In: Gogolla, M., Kobryn, C. (eds.) UML 2001. LNCS, vol. 2185, pp. 241–256. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  19. 19.
    Morvan, C., Stirling, C.: Rational Graphs Trace Context-Sensitive Languages. In: Sgall, J., Pultr, A., Kolman, P. (eds.) MFCS 2001. LNCS, vol. 2136, p. 548. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  20. 20.
    Pachl, J.: Reachability Problems for Communicating Finite State Machines. University of Waterloo, Department of Computer Science Research Report (1982)Google Scholar
  21. 21.
    Padberg, J.: Basic Ideas for Transformations of Specification Architectures. Electronic Notes in Theoretical Computer Science 72(4) (2003)Google Scholar
  22. 22.
    Rensink, A.: Towards Model Checking Graph Grammars. In: Leuschel, Grumer, Presti, L. (eds.) 3rd Workshop on Automated Verification of Critical Systems (2003)Google Scholar
  23. 23.
    Ribeiro, L.: Parallel Composition and Unfolding Semantics of Graph Grammars. Ph.D. Thesis, TU Berlin (1996)Google Scholar
  24. 24.
    Ribeiro, L.: Parallel Composition of Graph Grammars. Journal of Applied Categorical Structures 7, 405–430 (1999)MATHCrossRefMathSciNetGoogle Scholar
  25. 25.
    Rozenberg, G. (ed.): Handbook of Graph Grammars and Computing by Graph Transformation, Foundations, vol. 1. World Scientific, Singapore (1997)Google Scholar
  26. 26.
    Taentzer, G.: Distributed Graph Transformation with Application to Visual Design of Distributed Systems. In: Rozenberg (ed.) Handbook of Graph Grammars and Computing by Graph Transformation, Concurrency, Parallelism, and Distribution, vol. 3, pp. 269–340. World Scientific, Singapore (1999)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Zarrin Langari
    • 1
  • Richard Trefler
    • 1
  1. 1.David R. Cheriton School of Computer ScienceUniversity of WaterlooCanada

Personalised recommendations