TY - JOUR

T1 - The algebra of recursive graph transformation language UnCAL

T2 - Complete axiomatisation and iteration categorical semantics

AU - Hamana, Makoto

AU - Matsuda, Kazutaka

AU - Asada, Kazuyuki

N1 - Funding Information:
We are grateful to Zhenjiang Hu and the members of the Bidirectional Graph Transformation Project at NII for various discussions on topics related to UnQL/UnCAL. We also acknowledge the stimulated discussion in the meeting of the Cooperative Research Project 'Logical Approach to Metaprogramming' (2013-2015) at RIEC, Tohoku University. We are especially grateful to Atsusi Ohori for his comments on relevance to object-oriented database. This work was supported in part by JSPS KAKENHI Grant Number 24300001 and 25540002 (Hamana), 15K15966 (Matsuda), 23220001, and 15H05706 (Asada).
Publisher Copyright:
© Copyright Cambridge University Press 2016.

PY - 2018/2/1

Y1 - 2018/2/1

N2 - 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.

AB - 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.

UR - http://www.scopus.com/inward/record.url?scp=84992035010&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=84992035010&partnerID=8YFLogxK

U2 - 10.1017/S096012951600027X

DO - 10.1017/S096012951600027X

M3 - Article

AN - SCOPUS:84992035010

SN - 0960-1295

VL - 28

SP - 287

EP - 337

JO - Mathematical Structures in Computer Science

JF - Mathematical Structures in Computer Science

IS - 2

ER -