A Linear Logic Programming Language for Concurrent Programming over Graph Structures

We have designed a new logic programming language called LM (Linear Meld) for programming graph-based algorithms in a declarative fashion. Our language is based on linear logic, an expressive logical system where logical facts can be consumed. Because LM integrates both classical and linear logic, LM tends to be more expressive than other logic programming languages. LM programs are naturally concurrent because facts are partitioned by nodes of a graph data structure. Computation is performed at the node level while communication happens between connected nodes. In this paper, we present the syntax and operational semantics of our language and illustrate its use through a number of examples.

[1]  Yuan Yu,et al.  Dryad: distributed data-parallel programs from sequential building blocks , 2007, EuroSys '07.

[2]  Dov M. Gabbay,et al.  Handbook of logic in artificial intelligence and logic programming (vol. 1) , 1993 .

[3]  D. Walker,et al.  A concurrent logical framework I: Judgments and properties , 2003 .

[4]  E. J. Hoffman,et al.  Constructions for the Solution of the m Queens Problem , 1969 .

[5]  Ion Stoica,et al.  Declarative networking: language, execution and optimization , 2006, SIGMOD Conference.

[6]  Siddhartha S. Srinivasa,et al.  Declarative Programming for Modular Robots , 2007 .

[7]  Jeffrey D. Uuman Principles of database and knowledge- base systems , 1989 .

[8]  Bart Demoen,et al.  User-definable rule priorities for CHR , 2007, PPDP '07.

[9]  Thom W. Frühwirth,et al.  A complete and terminating execution model for Constraint Handling Rules , 2010, Theory Pract. Log. Program..

[10]  James Cheney,et al.  Mechanized metatheory model-checking , 2007, PPDP '07.

[11]  Joseph Gonzalez,et al.  Residual Splash for Optimally Parallelizing Belief Propagation , 2009, AISTATS.

[12]  Joseph M. Hellerstein,et al.  GraphLab: A New Framework For Parallel Machine Learning , 2010, UAI.

[13]  Aart J. C. Bik,et al.  Pregel: a system for large-scale graph processing , 2010, SIGMOD Conference.

[14]  S. Carrière,et al.  (12) United States Patent Page (54) Method for Node Ranking in a Linked Database , .

[15]  Thom W. Frühwirth,et al.  Analysing graph transformation systems through constraint handling rules , 2010, Theory and Practice of Logic Programming.

[16]  JEAN-MARC ANDREOLI,et al.  Logic Programming with Focusing Proofs in Linear Logic , 1992, J. Log. Comput..

[17]  Edsger W. Dijkstra,et al.  A note on two problems in connexion with graphs , 1959, Numerische Mathematik.

[18]  Jeffrey D. Ullman,et al.  Principles of database and knowledge-base systems, Vol. I , 1988 .

[19]  Jessika Schulze,et al.  Handbook Of Logic In Artificial Intelligence And Logic Programming , 2016 .

[20]  Patrick Lincoln,et al.  Linear logic , 1992, SIGA.

[21]  Thom W. Frühwirth,et al.  A Linear-Logic Semantics for Constraint Handling Rules , 2005, CP.

[22]  Seth Copen Goldstein,et al.  A Language for Large Ensembles of Independently Executing Nodes , 2009, ICLP.

[23]  Dale Miller An Overview of Linear Logic Programming , 2003 .

[24]  Dale Miller,et al.  Logic Programming in a Fragment of Intuitionistic Linear Logic , 1994, Inf. Comput..

[25]  David Maier,et al.  Dedalus: Datalog in Time and Space , 2010, Datalog.

[26]  David Walker,et al.  A Concurrent Logical Framework: The Propositional Fragment , 2003, TYPES.

[27]  David Walker,et al.  A Concurrent Logical Framework II: Examples and Applications , 2003 .

[28]  Hartmut Ehrig,et al.  Graph Grammars and Petri Net Transformations , 2003, Lectures on Concurrency and Petri Nets.

[29]  Thom W. Frühwirth,et al.  Linear-Logic Based Analysis of Constraint Handling Rules with Disjunction , 2013, TOCL.

[30]  Frank Pfenning,et al.  Monadic concurrent linear logic programming , 2005, PPDP.

[31]  Jeffrey D. Ullman,et al.  Principles of Database and Knowledge-Base Systems, Volume II , 1988, Principles of computer science series.

[32]  David Baelde,et al.  Least and Greatest Fixed Points in Linear Logic , 2007, TOCL.

[33]  Marsha Chechik,et al.  Robust Vacuity for Branching Temporal Logic , 2010, TOCL.

[34]  Frank Pfenning,et al.  A concurrent logical framework I & II , 2003 .