Abstract
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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
Jackson, M., Zave, P.: Distributed Feature Composition: A Virtual Architecture for Telecommunications Services. IEEE Transactions on Software Engineering XXIV(10), 831–847 (1998)
Juarez Dominguez, A.L.: Verification of DFC Call Protocol Correctness Criteria. MMath thesis, University of Waterloo, Waterloo, Canada (May 2005)
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)
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)
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)
Pachl, J.: Reachability Problems for Communicating Finite State Machines. University of Waterloo, Department of Computer Science Research Report (1982)
Padberg, J.: Basic Ideas for Transformations of Specification Architectures. Electronic Notes in Theoretical Computer Science 72(4) (2003)
Rensink, A.: Towards Model Checking Graph Grammars. In: Leuschel, Grumer, Presti, L. (eds.) 3rd Workshop on Automated Verification of Critical Systems (2003)
Ribeiro, L.: Parallel Composition and Unfolding Semantics of Graph Grammars. Ph.D. Thesis, TU Berlin (1996)
Ribeiro, L.: Parallel Composition of Graph Grammars. Journal of Applied Categorical Structures 7, 405–430 (1999)
Rozenberg, G. (ed.): Handbook of Graph Grammars and Computing by Graph Transformation, Foundations, vol. 1. World Scientific, Singapore (1997)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2006 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Langari, Z., Trefler, R. (2006). Formal Modeling of Communication Protocols by Graph Transformation. In: Misra, J., Nipkow, T., Sekerinski, E. (eds) FM 2006: Formal Methods. FM 2006. Lecture Notes in Computer Science, vol 4085. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11813040_24
Download citation
DOI: https://doi.org/10.1007/11813040_24
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-37215-8
Online ISBN: 978-3-540-37216-5
eBook Packages: Computer ScienceComputer Science (R0)