A Functional Reformulation of UnCAL Graph-Transformations Or, Graph Transformation as Graph Reduction

被引:4
作者
Matsuda, Kazutaka [1 ]
Asada, Kazuyuki [2 ]
机构
[1] Tohoku Univ, Sendai, Miyagi, Japan
[2] Univ Tokyo, Tokyo, Japan
来源
PROCEEDINGS OF THE 2017 ACM SIGPLAN WORKSHOP ON PARTIAL EVALUATION AND PROGRAM MANIPULATION (PEPM'17) | 2017年
关键词
Graph Transformation; Functional Languages; Lazy Evaluation; Bisimulation; Regular Trees; Termination;
D O I
10.1145/3018882.3018883
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
This paper proposes FUnCAL, a functional redesign of the graph transformation language UnCAL. A large amount of graph-structured data are widely used, including biological database, XML with IDREFs, WWW, and UML diagrams in software engineering. UnCAL is a language designed for graph transformations, i.e., extracting a subpart of a graph data and converting it to a suitable form, as what XQuery does for XMLs. A distinguished feature of UnCAL is its semantics that respects bisimulation on graphs; this enables us to reason about UnCAL graph transformations as recursive functions, which is useful for reasoning as well as optimization. However, there is still a gap to apply the program-manipulation techniques studied in the programming language literature directly to UnCAL programs, due to some special features in UnCAL, especially markers. In this paper, following the observation that markers can be emulated by tuples and lambda- abstractions, we transform UnCAL programs to a restricted class of usual (thus, marker-free) functional ones. By this translation, we can reason, analyze or optimize UnCAL programs as usual functional programs. Moreover, we introduce a type system for showing that a small modification to the usual lazy semantics is enough to run well-typed functional programs as finite-graph transformations in a terminating way.
引用
收藏
页码:71 / 82
页数:12
相关论文
共 40 条
[1]   Querying documents in object databases [J].
Abiteboul S. ;
Cluet S. ;
Christophides V. ;
Milo T. ;
Moerkotte G. ;
Siméon J. .
International Journal on Digital Libraries, 1997, 1 (1) :5-19
[2]  
[Anonymous], 2013, PROGR INFORM, P131
[3]  
Ariola Z. M., 1997, Theoretical Aspects of Computer Software. Third International Symposium, TACS '97. Proceedings, P77, DOI 10.1007/BFb0014548
[4]  
Ariola Z. M., 1996, Fundamenta Informaticae, V26, P207
[5]  
Bezivin J., 2006, LNCS, V3844, P120
[6]   UnQL: a query language and algebra for semistructured data based on structural recursion [J].
Buneman, P ;
Fernandez, M ;
Suciu, D .
VLDB JOURNAL, 2000, 9 (01) :76-110
[7]  
Buneman P., 1996, SIGMOD Record, V25, P505, DOI 10.1145/235968.233368
[8]  
Buneman P, 1997, LECT NOTES COMPUT SC, V1186, P336
[9]  
CONSENS MP, 1990, PROCEEDINGS OF THE NINTH ACM SIGACT-SIGMOD-SIGART SYMPOSIUM ON PRINCIPLES OF DATABASE SYSTEMS, P404, DOI 10.1145/298514.298591
[10]   An efficient algorithm for computing bisimulation equivalence [J].
Dovier, A ;
Piazza, C ;
Policriti, A .
THEORETICAL COMPUTER SCIENCE, 2004, 311 (1-3) :221-256