A functional reformulation of UnCAL graph-transformations: Or, graph transformation as graph reduction

Research output: Chapter in Book/Report/Conference proceedingConference contribution

2 Citations (Scopus)

Abstract

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

Original languageEnglish
Title of host publicationPEPM 2017 - Proceedings of the 2017 ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation, co-located with POPL 2017
EditorsUlrik Pagh Schultz, Jeremy Yallop
PublisherAssociation for Computing Machinery, Inc
Pages71-82
Number of pages12
ISBN (Electronic)9781450347211
DOIs
Publication statusPublished - 2017 Jan 2
Event2017 ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation, PEPM 2017 - Paris, France
Duration: 2017 Jan 162017 Jan 17

Publication series

NamePEPM 2017 - Proceedings of the 2017 ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation, co-located with POPL 2017

Other

Other2017 ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation, PEPM 2017
CountryFrance
CityParis
Period17/1/1617/1/17

Keywords

  • Bisimulation
  • Functional languages
  • Graph transformation
  • Lazy evaluation
  • Regular trees
  • Termination

ASJC Scopus subject areas

  • Software
  • Computer Graphics and Computer-Aided Design
  • Computer Vision and Pattern Recognition

Fingerprint Dive into the research topics of 'A functional reformulation of UnCAL graph-transformations: Or, graph transformation as graph reduction'. Together they form a unique fingerprint.

Cite this