Skip to main content
×
×
Home

Strategic port graph rewriting: an interactive modelling framework

  • MARIBEL FERNÁNDEZ (a1), HÉLÈNE KIRCHNER (a2) and BRUNO PINAUD (a3)
Abstract

We present strategic port graph rewriting as a basis for the implementation of visual modelling tools. The goal is to facilitate the specification and programming tasks associated with the modelling of complex systems. A system is represented by an initial graph and a collection of graph rewrite rules, together with a user-defined strategy to control the application of rules. The traditional operators found in strategy languages for term rewriting have been adapted to deal with the more general setting of graph rewriting, and some new constructs have been included in the strategy language to deal with graph traversal and management of rewriting positions in the graph. We give a formal semantics for the language, and describe its implementation: the graph transformation and visualisation tool Porgy.

Copyright
References
Hide All
Agha, G.A., Meseguer, J. and Sen, K. (2006). PMaude: Rewrite-based specification language for probabilistic object systems. Electronic Notes in Theoretical Computer Science 153 (2) 213239.
Andrei, O. (2008). A Rewriting Calculus for Graphs: Applications to Biology and Autonomous Systems. PhD thesis, Institut National Polytechnique de Lorraine.
Andrei, O., Fernández, M., Kirchner, H., Melançon, G., Namet, O. and Pinaud, B. (2011). PORGY: Strategy-driven interactive transformation of graphs. In: Echahed, R. (ed.) Proceedings of the 6th International Workshop on Computing with Terms and Graphs, Open Publishing Association, Electronic Proceedings in Theoretical Computer Science, vol. 48, 54–68.
Andrei, O. and Kirchner, H. (2008). A rewriting calculus for multigraphs with ports. In: Proceedings of RULE'07, Electronic Notes in Theoretical Computer Science, vol. 219, 67–82.
Andrei, O. and Kirchner, H. (2009). A higher-order graph calculus for autonomic computing. In: Lipshteyn, M., Levit, V. E., McConnell, R. M. (eds.) Graph Theory, Computational Intelligence and Thought, Golumbic Festschrift, Lecture Notes in Computer Science, vol. 5420, Springer, 1526.
Auber, D., Archambault, D., Bourqui, R., Delest, M., Dubois, J., Lambert, A., Mary, P., Mathiaut, M., Mélançon, G., Pinaud, B., Renoust, B. and Vallet, J. (2017). TULIP 5. In: Alhajj, R. and Rokne, J. (eds.) Encyclopedia of Social Network Analysis and Mining, Springer, 128.
Balasubramanian, D., Narayanan, A., van Buskirk, C.P. and Karsai, G. (2006). The Graph Rewriting and Transformation Language: GReAT. Electronic Communications of the European Association for the Study of Science and Technology 1.
Balland, E., Brauner, P., Kopetz, R., Moreau, P.-E. and Reilles, A. (2007). Tom: Piggybacking rewriting on java. In: Baader, F. (ed.) Rewriting Techniques and Applications, Lecture Notes in Computer Science, vol. 4533, Springer, 3647.
Barendregt, H. (1981). The Lambda Calculus, Its Syntax and Semantics, College Publications, North Holland.
Barendregt, H., van Eekelen, M., Glauert, J., Kennaway, J.R., Plasmeijer, M. and Sleep, M. (1987). Term graph rewriting. In: Proceedings of PARLE, Parallel Architectures and Languages Europe, Lecture Notes in Computer Science, vol. 259-II, Eindhoven, The Netherlands: Springer-Verlag, 141–158.
Bentea, L. and Ölveczky, P.C. (2012). A probabilistic strategy language for probabilistic rewrite theories and its application to cloud computing. In: Recent Trends in Algebraic Development Techniques, 21st International Workshop, Salamanca, Spain, June 7–10, 2012, Revised Selected Papers, 7794.
Borovanský, P., Kirchner, C., Kirchner, H., Moreau, P.-E. and Ringeissen, C. (1998). An overview of ELAN. Electronic Notes in Theoretical Computer Science 15, 5570.
Bourdier, T., Cirstea, H., Dougherty, D.J. and Kirchner, H. (2009). Extensional and intensional strategies. In: Proceedings of the 9th International Workshop on Reduction Strategies in Rewriting and Programming, Electronic Proceedings in Theoretical Computer Science, vol. 15, 1–19.
Bournez, O. and Hoyrup, M. (2003). Rewriting logic and probabilities. In: Nieuwenhuis, R. (ed.) Proceedings of the 14th International Conference on Rewriting Techniques and Applications, Valencia, Spain, June 9–11, 2003, Lecture Notes in Computer Science, vol. 2706, Springer, 61–75.
Bournez, O. and Kirchner, C. (2002). Probabilistic rewrite strategies. Applications to ELAN. In: Tison, S. (ed.) Proceedings of the 13th Rewriting Techniques and Applications Conference, Lecture Notes in Computer Science, vol. 2378, Springer, 252–266.
Brandes, U. and Wagner, D. (2004). Analysis and visualization of social networks. In: Jünger, M. and Mutzel, P. (eds.) Graph Drawing Software, Mathematics and Visualization, Berlin Heidelberg: Springer, 321340.
Bravenboer, M., Kalleberg, K.T., Vermaas, R. and Visser, E. (2008). Stratego/XT 0.17. A language and toolset for program transformation. Science of Computer Programming 72 (1–2) 5270.
Bunke, H. (1982). Attributed programmed graph grammars and their application to schematic diagram interpretation. IEEE Transactions on Pattern Analysis and Machine Intelligence 4 (6) 574582.
Colvin, J., Monine, M.I., Faeder, J.R., Hlavacek, W.S., Von Hoff, D.D. and Posner, R.G. (2009). Simulation of large-scale rule-based models. Bioinformatics 25 (7) 910917.
Corradini, A., Duval, D., Echahed, R., Prost, F. and Ribeiro, L. (2017). The pullback-pushout approach to algebraic graph transformation. In: deLara, J. Lara, J. and Plump, D. (eds.) Graph Transformation, Cham: Springer International Publishing, 319.
Corradini, A., Montanari, U., Rossi, F., Ehrig, H., Heckel, R. and Löwe, M. (1997). Algebraic approaches to graph transformation – part I: Basic concepts and double pushout approach. In: Handbook of Graph Grammars and Computing by Graph Transformations, Volume 1: Foundations, Chapter 3, World Scientific, 163246.
Courcelle, B. (1990). Graph Rewriting: An Algebraic and Logic Approach. In: van Leeuwen, J. (ed.) Handbook of Theoretical Computer Science, Volume B: Formal Models and Semantics, Elsevier and MIT Press, 193242.
Danos, V., Feret, J., Fontana, W., Harmer, R., Hayman, J., Krivine, J., Thompson-Walsh, C. and Winskel, G. (2012). Graphs, rewriting and pathway reconstruction for rule-based models. In: fuer Informatik, S. D. L.-Z. (ed.) IARCS Annual Conference on Foundations of Software Technology and Theoretical Computer Science, LIPIcs, vol. 18, Hyderabad, India, 276288.
Danos, V., Feret, J., Fontana, W., Harmer, R. and Krivine, J. (2007). Rule-based modelling of cellular signalling. In: Caires, L. and Vasconcelos, V. (eds.) Concurrency Theory, Lecture Notes in Computer Science, vol. 4703, Berlin, Heidelberg: Springer, 1741.
Danos, V. and Laneve, C. (2004). Formal molecular biology. Theoretical Computer Science 325 (1) 69110.
Dijkstra, E.W. (1982). Selected Writings on Computing – A Personal Perspective, Texts and Monographs in Computer Science, Springer>.
Ehrig, H., Engels, G., Kreowski, H.-J. and Rozenberg, G. (1997a). Handbook of Graph Grammars and Computing by Graph Transformations, vol. 1–3, World Scientific.
Ehrig, H., Heckel, R., Korff, M., Löwe, M., Ribeiro, L., Wagner, A. and Corradini, A. (1997b). Algebraic approaches to graph transformation – part II: Single pushout approach and comparison with double pushout approach. In: Handbook of Graph Grammars and Computing by Graph Transformations, Volume 1: Foundations, Chapter 4, World Scientific, 247312.
Ehrig, H., Pfender, M. and Schneider, H.J. (1973). Graph-grammars: An algebraic approach. In: Proceedings of the 14th Annual Symposium on Switching and Automata Theory, Iowa City, Iowa, USA, October 15–17, 167–180.
Ermel, C., Rudolf, M. and Taentzer, G. (1997). The AGG approach: Language and environment. In: Ehrig, H., Engels, G., Kreowski, H.-J. and Rozenberg, G. (eds.) Handbook of Graph Grammars and Computing by Graph Transformations, Volume 2: Applications, Languages, and Tools, World Scientific, 551603.
Faeder, J., Blinov, M. and Hlavacek, W. (2009). Rule-based modeling of biochemical systems with bionetgen. In: Maly, I.V. (ed.) Systems Biology, Methods in Molecular Biology, vol. 500, Humana Press, 113167.
Fernández, M., Kirchner, H., Mackie, I. and Pinaud, B. (2014). Visual modelling of complex systems: Towards an abstract machine for PORGY. In: Beckmann, A., Csuhaj-Varjú, E. and Meer, K. (eds.) Computability In Europe, Language, Life, Limits, vol. 8493, Budapest, Hungary: Springer International Publishing, 183193.
Fernández, M., Kirchner, H. and Namet, O. (2012). A strategy language for graph rewriting. In: Vidal, G. (ed.) Logic-Based Program Synthesis and Transformation, Lecture Notes in Computer Science, vol. 7225, Berlin, Heidelberg: Springer, 173188.
Fernández, M., Kirchner, H. and Pinaud, B. (2014). Strategic port graph rewriting: An interactive modelling and analysis framework. In: Bosnacki, D., Edelkamp, S., Lluch-Lafuente, A. and Wijs, A. (eds.) Proceedings of the 3rd Workshop on GRAPH Inspection and Traversal Engineering, Grenoble, France, 5th April 2014, Electronic Proceedings in Theoretical Computer Science, vol. 159, 15–29.
Fernandez, M., Kirchner, H., Pinaud, B. and Vallet, J. (2018). Labelled graph strategic rewriting for social networks. Journal of Logical and Algebraic Methods in Programming 96 (C) 1240.
Fernández, M. and Mackie, I. (1999). A calculus for interaction nets. In: Proceedings of Principles and Practice of Declarative Programming, Paris Lecture Notes in Computer Science, vol. 1702, Springer.
Fischer, T., Niere, J., Torunski, L. and Zündorf, A. (2000). Story diagrams: A new graph rewrite language based on the unified modeling language and java. In: Ehrig, H., Engels, G., Kreowski, H.-J. and Rozenberg, G. (eds.) Theory and Application of Graph Transformations, Berlin, Heidelberg: Springer, 296309.
Geiß, R., Batz, G.V., Grund, D., Hack, S. and Szalkowski, A. (2006). GrGen: A fast SPO-based graph rewriting tool. In: Proceedings of the International Conference on Graph Transformation, Lecture Notes in Computer Science, vol. 4178, Springer, 383–397.
Goodman, N.D. (2013). The principles and practice of probabilistic programming. In: Proceedings of the 40th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Rome, Italy, January 23–25, 399–402.
Goodman, N.D., Mansinghka, V.K., Roy, D.M., Bonawitz, K. and Tenenbaum, J.B. (2008). Church: A language for generative models. In: Proceedings of the 24th Conference in Uncertainty in Artificial Intelligence, Helsinki, Finland, July 9–12, 220–229.
Habel, A., Müller, J. and Plump, D. (2001). Double-pushout graph transformation revisited. Mathematical Structures in Computer Science 11 (5) 637688.
Habel, A. and Plump, D. (2001). Computational completeness of programming languages based on graph transformation. In: Proceedings of the 4th International Conference on Foundations of Software Science and Computation Structures, Lecture Notes in Computer Science, vol. 2030, Springer, 230–245.
Hanus, M. (1997). Curry: A multi-paradigm declarative language (system description). In: Proceedings of the 12th Workshop Logic Programming, Munich.
Jones, S. L.P. (2003). Haskell 98 Language and Libraries: The Revised Report, Cambridge University Press.
Kejẑar, N., Nikoloski, Z. and Batagelj, V. (2008). Probabilistic inductive classes of graphs. The Journal of Mathematical Sociology 32 (2) 85109.
Kennaway, R. (1987). On ‘on graph rewritings.’ Theoretical Computer Science 52 (1–2) 3758.
Kirchner, C., Kirchner, F. and Kirchner, H. (2008). Strategic computations and deductions. In: Benzmüller, C., Brown, C. E., Siekmann, J., Statman, R. Reasoning in Simple Type Theory, Studies in Logic and the Foundations of Mathematics, vol. 17, College Publications, 339364.
Kirchner, H. (2015). Rewriting strategies and strategic rewrite programs. In: Logic, Rewriting, and Concurrency, Festschrift Symposium in Honor of José Meseguer, Lecture Notes in Computer Science, Springer.
Krause, C. and Giese, H. (2012). Probabilistic graph transformation systems. In: Ehrig, H., Engels, G., Kreowski, H. and Rozenberg, G. (eds.) Proceedings of the 6th International Conference on Graph Transformations, Bremen, Germany, September 24–29, Lecture Notes in Computer Science, vol. 7562, Springer, 311–325.
Kumar, N., Sen, K., Meseguer, J. and Agha, G. (2003). Probabilistic rewrite theories: Unifyoing models, logics and tools. Technical Report UIUCDCS-R-2003-2347, Dept of Computer Science, Univeristy of Illinois at Urbana Champaign.
Kwiatkowska, M., Norman, G. and Parker, D. (2011). PRISM 4.0: Verification of probabilistic real-time systems. In: Gopalakrishnan, G. and Qadeer, S. (eds.) Proceedings of the 23rd International Conference on Computer Aided Verification, Lecture Notes in Computer Science, vol. 6806, Springer, 585–591.
Lafont, Y. (1990). Interaction nets. In: Proceedings of the 17th ACM Symposium on Principles of Programming Languages, ACM Press, 95–108.
Lippi, S. (2002). in2: A graphical interpreter for interaction nets. In: Proceedings of the 13th International Conference on Rewriting Techniques and Applications (RTA '02), London, UK, Springer-Verlag, 380–386.
Löwe, M. (1993). Algebraic approach to single-pushout graph transformation. Theoretical Computer Science 109 181224.
Löwe, M. (2010). Graph rewriting in span-categories. In: Ehrig, H., Rensink, A., Rozenberg, G. and Schürr, A. (eds.) Proceedings of the 5th International Conference on Graph Transformations, Enschede, The Netherlands, September 27–October 2, Berlin, Heidelberg: Springer, 218–233.
Löwe, M., Korff, M. and Wagner, A. (1993). An algebraic framework for the transformation of attributed graphs. In: Sleep, M.R., Plasmeijer, M.J. and van Eekelen, M. C. J.D. (eds.) Term Graph Rewriting, Chichester, UK: John Wiley and Sons Ltd., 185199.
Lucas, S. (2005). Strategies in programming languages today. Electronic Notes in Theoretical Computer Science 124 (2) 113118.
Martí-Oliet, N., Meseguer, J. and Verdejo, A. (2005). Towards a strategy language for Maude. Electronic Notes in Theoretical Computer Science 117 417441.
Martí-Oliet, N., Meseguer, J. and Verdejo, A. (2008). A rewriting semantics for Maude strategies. Electronic Notes in Theoretical Computer Science 238 (3) 227247.
Namet, O. (2011). Strategic Modelling with Graph Rewriting Tools. PhD thesis, King's College London.
Nickel, U., Niere, J. and Zündorf, A. (2000). The FUJABA environment. In: Proceedings of the International Conference on Software Engineering 742–745.
Orejas, F. and Lambers, L. (2010). Symbolic attributed graphs for attributed graph transformation. Electronic Communication of the European Association of Software Science and Technology 30 133.
Pfaltz, J.L. and Rosenfeld, A. (1969). Web grammars. In: Walker, D.E. and Norton, L.M. (eds.) Proceedings of the 1st International Joint Conference on Artificial Intelligence, Washington, DC, May 1969, William Kaufmann, 609–620.
Pfeffer, A. (2001). IBAL: A probabilistic rational programming language. In: Proceedings of the 17th International Joint Conference on Artificial Intelligence, Seattle, Washington, USA, August 4–10, 733–740.
Pinaud, B., Melançon, G. and Dubois, J. (2012). PORGY: A visual graph rewriting environment for complex systems. Computer Graphics Forum 31 (3) 12651274.
Pinto, J.S. (2000). Sequential and concurrent abstract machines for interaction nets. In: Tiuryn, J. (ed.) Proceedings of Foundations of Software Science and Computation Structures, Lecture Notes in Computer Science, vol. 1784, Springer-Verlag, 267–282.
Plasmeijer, M.J. and van Eekelen, M. C. J.D. (1993). Functional Programming and Parallel Graph Rewriting, Addison-Wesley.
Plotkin, G.D. (2004). A structural approach to operational semantics. Journal of Logic and Algebraic Programming 60–61 17139.
Plump, D. (1998). Term graph rewriting. In: Ehrig, H., Engels, G., Kreowski, H.-J. and Rozenberg, G. (eds.) Handbook of Graph Grammars and Computing by Graph Transformations, Volume 2: Applications, Languages, and Tools, World Scientific, 361.
Plump, D. (2009). The graph programming language GP. In: Bozapalidis, S. and Rahonis, G. (eds.) Algebraic Informatics CAI, Lecture Notes in Computer Science, vol. 5725, Springer, 99122.
Plump, D. (2011). The design of GP 2. In: Escobar, S. (ed.) Proceedings of the 10th International Workshop on Reduction Strategies in Rewriting and Programming, Novi Sad, Serbia, 29 May, Electronic Proceedings in Theoretical Computer Science, vol. 82, 1–16.
Plump, D. and Steinert, S. (2009). The semantics of graph programs. In: Proceedings of the 10th International Workshop on Rule-Based Programming, Brasília, Brazil, 28th June, 27–38.
Raoult, J. (1984). On graph rewritings. Theoretical Computer Science 32 124.
Rensink, A. (2003). The GROOVE Simulator: A tool for state space generation. In: Applications of Graph Transformations with Industrial Relevance, Lecture Notes in Computer Science, vol. 3062, Springer, 479485.
Schürr, A., Winter, A.J. and Zündorf, A. (1997). The PROGRES approach: Language and environment. In: Ehrig, H., Engels, G., Kreowski, H.-J. and Rozenberg, G. (eds.) Handbook of Graph Grammars and Computing by Graph Transformations, Volume 2: Applications, Languages, and Tools, World Scientific, 479546.
Smith, A.M., Xu, W., Sun, Y., Faeder, J.R. and Marai, G. (2012). Rulebender: Integrated modeling, simulation and visualization for rule-based intracellular biochemistry. BMC Bioinformatics 13 (8).
Terese (2003). Term Rewriting Systems. In: Bezem, M., Klop, J.W. and de Vrijer, R. (eds.) Cambridge University Press.
Thiemann, R., Sternagel, C., Giesl, J. and Schneider-Kamp, P. (2010). Loops under strategies ... continued. In: Proceedings of the International Workshop on Strategies in Rewriting, Proving, and Programming, Electronic Proceedings in Theoretical Computer Science, vol. 44, 51–65.
Ullman, J. (1976). An algorithm for subgraph isomorphism. Journal of the ACM 23 (1) 3142.
Vallet, J., Kirchner, H., Pinaud, B. and Melançon, G. (2015). A visual analytics approach to compare propagation models in social networks. In: Rensink, A. and Zambon, E. (eds.) Proceedings of the Graphs as Models, London, UK, 11–12 April, Electronic Proceedings in Theoretical Computer Science, vol. 181, 65–79.
Visser, E. (2001). Stratego: A language for program transformation based on rewriting strategies. System description of Stratego 0.5. In: Proceedings of the International Conference on Rewriting Techniques and Applications, Lecture Notes in Computer Science, vol. 2051, Springer-Verlag, 357–361.
Visser, E. (2005). A survey of strategies in rule-based program transformation systems. Journal of Symbolic Computation 40 (1) 831873.
Wenskovitch, J.E., Harris, L.A., Tapia, J.-J., Faeder, J.R. and Marai, G.E. (2014). Mosbie: A tool for comparison and analysis of rule-based biochemical models. BMC Bioinformatics 15 (1).
Recommend this journal

Email your librarian or administrator to recommend adding this journal to your organisation's collection.

Mathematical Structures in Computer Science
  • ISSN: 0960-1295
  • EISSN: 1469-8072
  • URL: /core/journals/mathematical-structures-in-computer-science
Please enter your name
Please enter a valid email address
Who would you like to send this to? *
×

Metrics

Full text views

Total number of HTML views: 0
Total number of PDF views: 0 *
Loading metrics...

Abstract views

Total abstract views: 0 *
Loading metrics...

* Views captured on Cambridge Core between <date>. This data will be updated every 24 hours.

Usage data cannot currently be displayed