Hostname: page-component-78c5997874-t5tsf Total loading time: 0 Render date: 2024-11-19T11:03:30.740Z Has data issue: false hasContentIssue false

The algebra of recursive graph transformation language UnCAL: complete axiomatisation and iteration categorical semantics

Published online by Cambridge University Press:  24 October 2016

MAKOTO HAMANA
Affiliation:
Department of Computer Science, Gunma University, Kiryu, Japan Email: [email protected]
KAZUTAKA MATSUDA
Affiliation:
Graduate School of Information Sciences, Tohoku University, Sendai, Japan Email: [email protected]
KAZUYUKI ASADA
Affiliation:
Department of Computer Science, University of Tokyo, Tokyo, Japan Email: [email protected]

Abstract

The aim of this paper is to provide mathematical foundations of a graph transformation language, called UnCAL, using categorical semantics of type theory and fixed points. About 20 years ago, Buneman et al. developed a graph database query language UnQL on the top of a functional meta-language UnCAL for describing and manipulating graphs. Recently, the functional programming community has shown renewed interest in UnCAL, because it provides an efficient graph transformation language which is useful for various applications, such as bidirectional computation.

In order to make UnCAL more flexible and fruitful for further extensions and applications, in this paper, we give a more conceptual understanding of UnCAL using categorical semantics. Our general interest of this paper is to clarify what is the algebra of UnCAL. Thus, we give an equational axiomatisation and categorical semantics of UnCAL, both of which are new. We show that the axiomatisation is complete for the original bisimulation semantics of UnCAL. Moreover, we provide a clean characterisation of the computation mechanism of UnCAL called ‘structural recursion on graphs’ using our categorical semantics. We show a concrete model of UnCAL given by the λG-calculus, which shows an interesting connection to lazy functional programming.

Type
Paper
Copyright
Copyright © Cambridge University Press 2016 

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

Abramsky, S. and Jung, A. (1994). Domain theory. In: Gabbay, D. and Maibaum, T.S.E. (eds.) Handbook of Logic in Computer Science, volume 3, Oxford University Press, 1168.Google Scholar
Aczel, P., Adámek, J., Milius, S. and Velebil, J. (2003). Infinite trees and completely iterative theories: A coalgebraic view. Theoretical Computer Science 300 (1–3) 145.CrossRefGoogle Scholar
Amadio, R.M. and Curien, P.-L. (1998). Domains and Lambda-Calculi. Cambridge University Press.CrossRefGoogle Scholar
Ariola, Z.M. and Blom, S. (1997). Cyclic lambda calculi. In: Abadi, M. and Ito, T. (eds.) Theoretical Aspects of Computer Software, LNCS, volume 1281, 77106.CrossRefGoogle Scholar
Ariola, Z.M. and Klop, J.W. (1996). Equational term graph rewriting. Fundamenta Informaticae 26 (3/4) 207240.CrossRefGoogle Scholar
Asada, K., Hidaka, S., Kato, H., Hu, Z. and Nakano, K. (2013). A parameterized graph transformation calculus for finite graphs with monadic branches. In: Proceedings of PPDP '13 73–84.Google Scholar
Baader, F. and Nipkow, T. (1998). Term Rewriting and All That. Cambridge University Press.CrossRefGoogle Scholar
Benton, N. and Hyland, M. (2003). Traced premonoidal categories. Theoretical Informatics and Applications 37 (4) 273299.CrossRefGoogle Scholar
Blanqui, F. (2000). Termination and confluence of higher-order rewrite systems. In: Bachmair, L. (ed.) Rewriting Techniques and Application (RTA 2000). Lecture Notes in Computer Science, Springer, 1833, 4761.CrossRefGoogle Scholar
Blanqui, F., Jouannaud, J.-P. and Okada, M. (2002). Inductive data type systems. Theoretical Computer Science 272 (1) 4168.CrossRefGoogle Scholar
Bloom, S.L. and Ésik, Z. (1993). Iteration Theories - The Equational Logic of Iterative Processes. EATCS Monographs on Theoretical Computer Science, Springer.Google Scholar
Bloom, S.L. and Ésik, Z. (1994). Solving polynomial fixed point equations. In: Proceedings of MFCS'94. Lecture Notes in Computer Science, 841, 52–67.CrossRefGoogle Scholar
Bloom, S.L., Ésik, Z. and Taubner, D. (1993). Iteration theories of synchronization trees. Information and Computation 102 (1) 155.CrossRefGoogle Scholar
Buneman, P. (2015). Database and programming: Two subjects divided by a common language? (invited talk). In: POPL'15 487–487.Google Scholar
Buneman, P., Davidson, S., Hillebrand, G. and Suciu, D. (1996). A query language and optimization techniques for unstructured data. In: Proceedings of ACM-SIGMOD'96 505–516.Google Scholar
Buneman, P., Davidson, S.B., Fernandez, M.F. and Suciu, D. (1997). Adding structure to unstructured data. In: Proceedings of ICDT '97 336–350.Google Scholar
Buneman, P., Fernandez, M.F. and Suciu, D. (2000). UnQL: A query language and algebra for semistructured data based on structural recursion. VLDB Journal 9 (1) 76110.CrossRefGoogle Scholar
Coquand, T. (1992). Pattern matching with dependent types. In: Proceedings of the 3rd Work. on Types for Proofs and Programs 66–79.Google Scholar
Corradini, A. and Gadducci, F. (1999). An algebraic presentation of term graphs, via gs-monoidal categories. Applied Categorical Structures 7 (4) 299331.CrossRefGoogle Scholar
Crole, R. (1993). Categories for Types. Cambridge Mathematical Textbook.Google Scholar
Ésik, Z. (1999a). Axiomatizing iteration categories. Acta Cybernetica 14 (1) 6582.Google Scholar
Ésik, Z. (1999b). Group axioms for iteration. Information and Computation 148 (2) 131180.CrossRefGoogle Scholar
Ésik, Z. (2000). Axiomatizing the least fixed point operation and binary supremum. In: Proceedings of Computer Science Logic 2000. Lecture Notes in Computer Science, 1862 302–316.Google Scholar
Ésik, Z. (2002). Continuous additive algebras and injective simulations of synchronization trees. Journal of Logic and Computation 12 (2) 271300.CrossRefGoogle Scholar
Fiore, M.P. and Campos, M.D. (2013). The algebra of directed acyclic graphs. In: Coecke, B., Ong, L. and Panangaden, P. (eds.) Computation, Logic, Games, and Quantum Foundations. Lecture Notes in Computer Science 7860, 37–51.CrossRefGoogle Scholar
Fischer, S., Kiselyov, O. and Shan, C. (2011). Purely functional lazy nondeterministic programming. Journal of Functional Programming 21 (4–5) 413465.CrossRefGoogle Scholar
Ghani, N., Lüth, C. and Marchi, F.D. (2005). Monads of coalgebras: Rational terms and term graphs. Mathematical Structures in Computer Science 15 (3) 433451.CrossRefGoogle Scholar
Gibbons, J. (1995). An initial-algebra approach to directed acyclic graphs. In: MPC'95 282–303.Google Scholar
Hagino, T. (1987). A typed lambda calculus with categorical type constructors. In: Pitt, D.H., Poign, A. and Rydeheard, D.E. (eds.) Category Theory in Computer Science'87. Lecture Notes in Computer Science, Springer-Verlag, 283 140157.CrossRefGoogle Scholar
Hamana, M. (2010). Initial algebra semantics for cyclic sharing tree structures. Logical Methods in Computer Science 6 (3) 123.Google Scholar
Hamana, M. (2012). Correct looping arrows from cyclic terms: Traced categorical interpretation in Haskell. In: Proceedings of FLOPS'12. Lecture Notes in Computer Science, 7294 136–150.Google Scholar
Hamana, M. (2015). Iteration algebras for UnQL graphs and completeness for bisimulation. In: Proceedings of Fixed Points in Computer Science (FICS'15). Electronic Proceedings in Theoretical Computer Science, 191 75–89.Google Scholar
Hamana, M. (2016). Strongly normalising cyclic data computation by iteration categories of second-order algebraic theories. In: Proceedings of Formal Structures for Computation and Deduction (FSCD'16), Leibniz International Proceedings in Informatics (LIPIcs), 52 1–18.Google Scholar
Hasegawa, M. (1997a). Models of Sharing Graphs: A Categorical Semantics of let and letrec , Ph.D. thesis, University of Edinburgh. Distinguished Dissertation Series, Springer-Verlag, 1999.Google Scholar
Hasegawa, M. (1997b). Recursion from cyclic sharing: Traced monoidal categories and models of cyclic lambda calculi. In: Proceedings of TLCA'97 196–213.CrossRefGoogle Scholar
Hidaka, S., Asada, K., Hu, Z., Kato, H. and Nakano, K. (2013a). Structural recursion for querying ordered graphs. In: Proceedings of ACM SIGPLAN ICFP'13, 305–318.CrossRefGoogle Scholar
Hidaka, S., Hu, Z., Inaba, K. and Kato, H. (2013b). GRoundTram: An integrated framework for developing well-behaved bidirectional model transformations. Progress in Informatics 10 131138.CrossRefGoogle Scholar
Hidaka, S., Hu, Z., Inaba, K., Kato, H., Matsuda, K. and Nakano, K. (2010). Bidirectionalizing graph transformations. In: Proceedings of ICFP 2010 205–216.Google Scholar
Hidaka, S., Hu, Z., Inaba, K., Kato, H., Matsuda, K., Nakano, K. and Sasano, I. (2011). Marker-directed optimization of UnCAL graph transformations. In: Proceedings of LOPSTR'11 123–138.Google Scholar
Immerman, N. (1987). Languages that capture complexity classes. SIAM Journal on Computing 16 (4) 760778.CrossRefGoogle Scholar
Joyal, A., Street, R. and Verity, D. (1996). Traced monoidal categories. Mathematical Proceedings of the Cambridge Philosophical Society 119 (3) 447468.CrossRefGoogle Scholar
Klop, J. (1980). Combinatory Reduction Systems, Ph.D. thesis, CWI, Amsterdam. volume 127 of Mathematical Centre Tracts.Google Scholar
Klop, J., Oostrom, V. and Raamsdonk, F. (1993). Combinatory reduction systems: Introduction and survey. Theoretical Computer Science 121 (1&2) 279308.CrossRefGoogle Scholar
Lambek, J. and Scott, P. (1986). Introduction to Higher Order Categorical Logic, Cambridge Studies in Advanced Mathematics, volume 7, Cambridge University Press.Google Scholar
Launchbury, J. (1993). A natural semantics for lazy evaluation. In: Proceedings of POPL'93 144–154.Google Scholar
MacAAAALane, S. (1965). Categorical algebra. Bulletin of the American Mathematical Society 71 (1) 40106.CrossRefGoogle Scholar
MacAAAALane, S. (1971). Categories for the Working Mathematician, Graduate Texts in Mathematics, volume 5, Springer-Verlag.Google Scholar
Matsuda, K. and Asada, K. (2015). Graph transformation as graph reduction: A functional reformulation of graph-transformation language UnCAL. Technical Report GRACE-TR 2015-01, National Institute of Informatics. Available at http://grace-center.jp/rsc_tr-html Google Scholar
Meertens, L.G.L.T. (1992). Paramorphisms. Formal Aspects Computing 4 (5) 413424.CrossRefGoogle Scholar
Milner, R. (1984). A complete inference system for a class of regular behaviours. Journal of Computer and System Sciences 28 (3) 439466.CrossRefGoogle Scholar
Milner, R. (1989). Communication and Concurrency. Prentice Hall.Google Scholar
Milner, R. (1996). Calculi for interaction. Acta Informatica 33 (8) 707737.CrossRefGoogle Scholar
Milner, R. (2005). Axioms for bigraphical structure. Mathematical Structures in Computer Science 15 (6) 10051032.CrossRefGoogle Scholar
Milner, R. (2006). Pure bigraphs: Structure and dynamics. Information and Computation 204 (1) 60122.CrossRefGoogle Scholar
Nakata, K. and Hasegawa, M. (2009). Small-step and big-step semantics for call-by-need. Journal of Functional Programming 19 (6) 699722.CrossRefGoogle Scholar
Nishimura, S. and Ohori, A. (1999). Parallel functional programming on recursively defined data via data-parallel recursion. Journal of Functional Programming 9 (4) 427462.CrossRefGoogle Scholar
Nishimura, S., Ohori, A. and Tajima, K. (1996). An equational object-oriented data model and its data-parallel query language. In: Proceedings of ACM SIGPLAN Object-Oriented Programming Systems, Languages & Applications (OOPSLA'96) 1–17.Google Scholar
Paterson, R. (2001). A new notation for arrows. In: Proceedings of ICFP'07 229–240.Google Scholar
Plotkin, G. (2012). An algebraic view of bigraphs. A talk at Milner Symposium 2012, University of Edinburgh.Google Scholar
Power, J. and Robinson, E. (1997). Premonoidal categories and notions of computation. Mathematical Structures in Computer Science 7 (5) 453468.CrossRefGoogle Scholar
Salomaa, A. (1966). Two complete axiom systems for the algebra of regular events. Journal of the ACM 13 (1) 158169.CrossRefGoogle Scholar
Sewell, P.M. (1995). The Algebra of Finite State Processes, Ph.D. thesis, University of Edinburgh. Dept. of Computer Science technical report CST-118-95, also published as LFCS-95-328.Google Scholar
Simpson, A.K. and Plotkin, G.D. (2000). Complete axioms for categorical fixed-point operators. In: Proceedings of LICS'00 30–41.Google Scholar
Staton, S. (2011). Relating coalgebraic notions of bisimulation. Logical Methods in Computer Science 7 (1) 152.Google Scholar
Winskel, G. (1993). The Formal Semantics of Programming Languages. The MIT Press.CrossRefGoogle Scholar
Yu, Y., Lin, Y., Hu, Z., Hidaka, S., Kato, H. and Montrieux, L. (2012). Maintaining invariant traceability through bidirectional transformations. In: Proceedings of International Conference on Software Engineering, ICSE 2012 540–550.Google Scholar