Hostname: page-component-8448b6f56d-xtgtn Total loading time: 0 Render date: 2024-04-24T10:07:05.243Z Has data issue: false hasContentIssue false

Strategic port graph rewriting: an interactive modelling framework

Published online by Cambridge University Press:  02 August 2018

MARIBEL FERNÁNDEZ
Affiliation:
King's College London, Department of Informatics, Strand Campus, London WC2B 4BG, UK
HÉLÈNE KIRCHNER
Affiliation:
Inria, 200 avenue de la Vieille Tour, 33405 Talence, France
BRUNO PINAUD
Affiliation:
University of Bordeaux, LaBRI CNRS UMR5800, 33405 Talence Cedex, France

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.

Type
Paper
Copyright
Copyright © Cambridge University Press 2018 

Access options

Get access to the full version of this content by using one of the access options below. (Log in options will check for institutional or personal access. Content may require purchase if you do not have access.)

References

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.Google Scholar
Andrei, O. (2008). A Rewriting Calculus for Graphs: Applications to Biology and Autonomous Systems. PhD thesis, Institut National Polytechnique de Lorraine.Google Scholar
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.Google Scholar
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.Google Scholar
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.Google Scholar
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.Google Scholar
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.Google Scholar
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.Google Scholar
Barendregt, H. (1981). The Lambda Calculus, Its Syntax and Semantics, College Publications, North Holland.Google Scholar
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.Google Scholar
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.Google Scholar
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.Google Scholar
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.Google Scholar
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.Google Scholar
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.Google Scholar
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.Google Scholar
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.Google Scholar
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.Google Scholar
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.Google Scholar
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.Google Scholar
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.Google Scholar
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.Google Scholar
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.Google Scholar
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.Google Scholar
Danos, V. and Laneve, C. (2004). Formal molecular biology. Theoretical Computer Science 325 (1) 69110.Google Scholar
Dijkstra, E.W. (1982). Selected Writings on Computing – A Personal Perspective, Texts and Monographs in Computer Science, Springer>..>Google Scholar
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.Google Scholar
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.Google Scholar
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.Google Scholar
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.Google Scholar
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.Google Scholar
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.Google Scholar
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.Google Scholar
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.Google Scholar
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.Google Scholar
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.Google Scholar
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.Google Scholar
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.Google Scholar
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.Google Scholar
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.Google Scholar
Habel, A., Müller, J. and Plump, D. (2001). Double-pushout graph transformation revisited. Mathematical Structures in Computer Science 11 (5) 637688.Google Scholar
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.Google Scholar
Hanus, M. (1997). Curry: A multi-paradigm declarative language (system description). In: Proceedings of the 12th Workshop Logic Programming, Munich.Google Scholar
Jones, S. L.P. (2003). Haskell 98 Language and Libraries: The Revised Report, Cambridge University Press.Google Scholar
Kejẑar, N., Nikoloski, Z. and Batagelj, V. (2008). Probabilistic inductive classes of graphs. The Journal of Mathematical Sociology 32 (2) 85109.Google Scholar
Kennaway, R. (1987). On ‘on graph rewritings.’ Theoretical Computer Science 52 (1–2) 3758.Google Scholar
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.Google Scholar
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.Google Scholar
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.Google Scholar
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.Google Scholar
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.Google Scholar
Lafont, Y. (1990). Interaction nets. In: Proceedings of the 17th ACM Symposium on Principles of Programming Languages, ACM Press, 95–108.Google Scholar
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.Google Scholar
Löwe, M. (1993). Algebraic approach to single-pushout graph transformation. Theoretical Computer Science 109 181224.Google Scholar
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.Google Scholar
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.Google Scholar
Lucas, S. (2005). Strategies in programming languages today. Electronic Notes in Theoretical Computer Science 124 (2) 113118.Google Scholar
Martí-Oliet, N., Meseguer, J. and Verdejo, A. (2005). Towards a strategy language for Maude. Electronic Notes in Theoretical Computer Science 117 417441.Google Scholar
Martí-Oliet, N., Meseguer, J. and Verdejo, A. (2008). A rewriting semantics for Maude strategies. Electronic Notes in Theoretical Computer Science 238 (3) 227247.Google Scholar
Namet, O. (2011). Strategic Modelling with Graph Rewriting Tools. PhD thesis, King's College London.Google Scholar
Nickel, U., Niere, J. and Zündorf, A. (2000). The FUJABA environment. In: Proceedings of the International Conference on Software Engineering 742–745.Google Scholar
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.Google Scholar
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.Google Scholar
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.Google Scholar
Pinaud, B., Melançon, G. and Dubois, J. (2012). PORGY: A visual graph rewriting environment for complex systems. Computer Graphics Forum 31 (3) 12651274.Google Scholar
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.Google Scholar
Plasmeijer, M.J. and van Eekelen, M. C. J.D. (1993). Functional Programming and Parallel Graph Rewriting, Addison-Wesley.Google Scholar
Plotkin, G.D. (2004). A structural approach to operational semantics. Journal of Logic and Algebraic Programming 60–61 17139.Google Scholar
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.Google Scholar
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.Google Scholar
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.Google Scholar
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.Google Scholar
Raoult, J. (1984). On graph rewritings. Theoretical Computer Science 32 124.Google Scholar
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.Google Scholar
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.Google Scholar
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).Google Scholar
Terese (2003). Term Rewriting Systems. In: Bezem, M., Klop, J.W. and de Vrijer, R. (eds.) Cambridge University Press.Google Scholar
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.Google Scholar
Ullman, J. (1976). An algorithm for subgraph isomorphism. Journal of the ACM 23 (1) 3142.Google Scholar
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.Google Scholar
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.Google Scholar
Visser, E. (2005). A survey of strategies in rule-based program transformation systems. Journal of Symbolic Computation 40 (1) 831873.Google Scholar
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).Google Scholar