Skip to main content Accessibility help
×
×
Home

A Linear Logic Programming Language for Concurrent Programming over Graph Structures

  • FLAVIO CRUZ (a1) (a2), RICARDO ROCHA (a2), SETH COPEN GOLDSTEIN (a1) and FRANK PFENNING (a1)
Abstract

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.

Copyright
References
Hide All
Alvaro, P., Marczak, W., Conway, N., Hellerstein, J. M., Maier, D., and Sears, R. C. 2009. Dedalus: Datalog in time and space. Tech. Rep. UCB/EECS-2009-173, EECS Department, University of California, Berkeley. Dec.
Ashley-Rollman, M. P., Lee, P., Goldstein, S. C., Pillai, P., and Campbell, J. D. 2009. A language for large ensembles of independently executing nodes. In International Conference on Logic Programming (ICLP).
Ashley-Rollman, M. P., Rosa, M. D., Srinivasa, S. S., Pillai, P., Goldstein, S. C., and Campbell, J. D. 2007. Declarative programming for modular robots. In Workshop on Self-Reconfigurable Robots/Systems and Applications at IROS 2007.
Baader, F. and Siekmann, J. H. 1994. Handbook of logic in artificial intelligence and logic programming. Oxford University Press, Inc., New York, NY, USA, Chapter Unification Theory, 41–125.
Baelde, D. 2012. Least and greatest fixed points in linear logic. ACM Transactions on Computational Logic 13, 1, 144.
Betz, H. and Frühwirth, T. 2005. A linear-logic semantics for constraint handling rules. In Principles and Practice of Constraint Programming - CP 2005. Lecture Notes in Computer Science, vol. 3709. 137–151.
Betz, H. and Frühwirth, T. W. 2013. Linear-logic based analysis of constraint handling rules with disjunction. ACM Trans. Comput. Logic 14, 1 (Feb.), 1:1–1:37.
Betz, H., Raiser, F., and Frühwirth, T. W. 2010. A complete and terminating execution model for constraint handling rules. CoRR abs/1007.3829.
Cervesato, I., Pfenning, F., Walker, D., and Watkins, K. 2002. A concurrent logical framework ii: Examples and applications. Tech. rep.
De Koninck, L., Schrijvers, T., and Demoen, B. 2007. User-definable rule priorities for chr. In Proceedings of the 9th ACM SIGPLAN International Conference on Principles and Practice of Declarative Programming. PPDP '07. New York, NY, USA, 2536.
Dijkstra, E. W. 1959. A note on two problems in connexion with graphs. Numerische Mathematik 1, 1, 269271.
Ehrig, H. and Padberg, J. 2004. Graph grammars and petri net transformations. In Lectures on Concurrency and Petri Nets. Lecture Notes in Computer Science, vol. 3098. 496–536.
Girard, J.-Y. 1987. Linear logic. Theoretical Computer Science 50, 1, 1102.
Gonzalez, J., Low, Y., and Guestrin, C. 2009. Residual splash for optimally parallelizing belief propagation. In Artificial Intelligence and Statistics (AISTATS).
Hodas, J. S. and Miller, D. 1994. Logic programming in a fragment of intuitionistic linear logic. Information and Computation 110, 3242.
Hoffman, E. J., Loessi, J. C., and Moore, R. C. 1969. Construction for the solutions of the M queens problem. Mathematics Magazine 42, 2, 6672.
Isard, M., Budiu, M., Yu, Y., Birrell, A., and Fetterly, D. 2007. Dryad: distributed data-parallel programs from sequential building blocks. In European Conference on Computer Systems (EuroSys). 59–72.
Loo, B. T., Condie, T., Garofalakis, M., Gay, D. E., and Hellerstein, J. M. 2006. Declarative networking: Language, execution and optimization. In International Conference on Management of Data (SIGMOD). 97–108.
López, P., Pfenning, F., Polakow, J., and Watkins, K. 2005. Monadic concurrent linear logic programming. In Proceedings of the 7th ACM SIGPLAN International Conference on Principles and Practice of Declarative Programming. PPDP '05. New York, NY, USA, 3546.
Low, Y., Gonzalez, J., Kyrola, A., Bickson, D., Guestrin, C., and Hellerstein, J. M. 2010. Graphlab: A new framework for parallel machine learning. In Conference on Uncertainty in Artificial Intelligence (UAI). 340–349.
Malewicz, G., Austern, M. H., Bik, A. J. C., Dehnert, J. C., Horn, I., Leiser, N., and Czajkowski, G. 2010. Pregel: a system for large-scale graph processing. In International Conference on Management of Data (SIGMOD). 135–146.
marc Andreoli, J. 1992. Logic programming with focusing proofs in linear logic. Journal of Logic and Computation 2, 297347.
Miller, D. 1985. An overview of linear logic programming. In Computational Logic. 1–5.
Page, L. 2001. Method for node ranking in a linked database. US Patent 6,285,999. Filed January 9, 1998. Expires around January 9, 2018.
Raiser, F. and Frühwirth, T. W. 2011. Analysing graph transformation systems through constraint handling rules. Theory and Practice of Logic Programming 11, 1 (Jan.), 65109.
Ullman, J. D. 1990. Principles of Database and Knowledge-Base Systems: Volume II: The New Technologies.
Watkins, K., Cervesato, I., Pfenning, F., and Walker, D. 2003. A concurrent logical framework i: Judgments and properties. Tech. rep.
Watkins, K., Cervesato, I., Pfenning, F., and Walker, D. 2004. A concurrent logical framework: The propositional fragment. In Types for Proofs and Programs. Lecture Notes in Computer Science, vol. 3085. 355–377.
Recommend this journal

Email your librarian or administrator to recommend adding this journal to your organisation's collection.

Theory and Practice of Logic Programming
  • ISSN: 1471-0684
  • EISSN: 1475-3081
  • URL: /core/journals/theory-and-practice-of-logic-programming
Please enter your name
Please enter a valid email address
Who would you like to send this to? *
×

Keywords

Metrics

Altmetric attention score

Full text views

Total number of HTML views: 0
Total number of PDF views: 0 *
Loading metrics...

Abstract views

Total abstract views: 0 *
Loading metrics...

* Views captured on Cambridge Core between <date>. This data will be updated every 24 hours.

Usage data cannot currently be displayed