License: Creative Commons Attribution 3.0 Unported license (CC BY 3.0)
When quoting this document, please refer to the following
DOI: 10.4230/LIPIcs.ECOOP.2015.542
URN: urn:nbn:de:0030-drops-52374
URL: http://dagstuhl.sunsite.rwth-aachen.de/volltexte/2015/5237/
Go to the corresponding LIPIcs Volume Portal


Shinnar, Avraham ; Siméon, Jérôme ; Hirzel, Martin

A Pattern Calculus for Rule Languages: Expressiveness, Compilation, and Mechanization

pdf-format:
27.pdf (0.8 MB)


Abstract

This paper introduces a core calculus for pattern-matching in production rule languages: the Calculus for Aggregating Matching Patterns (CAMP). CAMP is expressive enough to capture modern rule languages such as JRules, including extensions for aggregation. We show how CAMP can be compiled into a nested-relational algebra (NRA), with only minimal extension. This paves the way for applying relational techniques to running rules over large stores. Furthermore, we show that NRA can also be compiled back to CAMP, using named nested-relational calculus (NNRC) as an intermediate step. We mechanize proofs of correctness, program size preservation, and type preservation of the translations using modern theorem-proving techniques. A corollary of the type preservation is that polymorphic type inference for both CAMP and NRA is NP-complete. CAMP and its correspondence to NRA provide the foundations for efficient implementations of rules languages using databases technologies.

BibTeX - Entry

@InProceedings{shinnar_et_al:LIPIcs:2015:5237,
  author =	{Avraham Shinnar and J{\'e}r{\^o}me Sim{\'e}on and Martin Hirzel},
  title =	{{A Pattern Calculus for Rule Languages: Expressiveness, Compilation, and Mechanization}},
  booktitle =	{29th European Conference on Object-Oriented Programming (ECOOP 2015)},
  pages =	{542--567},
  series =	{Leibniz International Proceedings in Informatics (LIPIcs)},
  ISBN =	{978-3-939897-86-6},
  ISSN =	{1868-8969},
  year =	{2015},
  volume =	{37},
  editor =	{John Tang Boyland},
  publisher =	{Schloss Dagstuhl--Leibniz-Zentrum fuer Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{http://drops.dagstuhl.de/opus/volltexte/2015/5237},
  URN =		{urn:nbn:de:0030-drops-52374},
  doi =		{10.4230/LIPIcs.ECOOP.2015.542},
  annote =	{Keywords: Rules, Pattern Matching, Aggregation, Nested Queries, Mechanization}
}

Keywords: Rules, Pattern Matching, Aggregation, Nested Queries, Mechanization
Collection: 29th European Conference on Object-Oriented Programming (ECOOP 2015)
Issue Date: 2015
Date of publication: 29.06.2015


DROPS-Home | Fulltext Search | Imprint | Privacy Published by LZI