Skip to main content Accessibility help
×
Home
Hostname: page-component-59b7f5684b-7j4dq Total loading time: 0.246 Render date: 2022-09-29T14:27:54.201Z Has data issue: true Feature Flags: { "shouldUseShareProductTool": true, "shouldUseHypothesis": true, "isUnsiloEnabled": true, "useRatesEcommerce": false, "displayNetworkTab": true, "displayNetworkMapGraph": false, "useSa": true } hasContentIssue true

A Linear Logic Programming Language for Concurrent Programming over Graph Structures

Published online by Cambridge University Press:  21 July 2014

FLAVIO CRUZ
Affiliation:
Carnegie Mellon University, Pittsburgh, PA 15213 (e-mail: fmfernan@cs.cmu.edu, seth@cs.cmu.edu, fp@cs.cmu.edu) CRACS & INESC TEC, Faculty of Sciences, University Of Porto, Rua do Campo Alegre, 1021/1055, 4169-007 Porto, Portugal (e-mail: ricroc@dcc.fc.up.pt)
RICARDO ROCHA
Affiliation:
CRACS & INESC TEC, Faculty of Sciences, University Of Porto, Rua do Campo Alegre, 1021/1055, 4169-007 Porto, Portugal (e-mail: ricroc@dcc.fc.up.pt)
SETH COPEN GOLDSTEIN
Affiliation:
Carnegie Mellon University, Pittsburgh, PA 15213 (e-mail: fmfernan@cs.cmu.edu, seth@cs.cmu.edu, fp@cs.cmu.edu)
FRANK PFENNING
Affiliation:
Carnegie Mellon University, Pittsburgh, PA 15213 (e-mail: fmfernan@cs.cmu.edu, seth@cs.cmu.edu, fp@cs.cmu.edu)

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.

Type
Regular Papers
Copyright
Copyright © Cambridge University Press 2014 

Access options

Get access to the full version of this content by using one of the access options below. (Log in options will check for institutional or personal access. Content may require purchase if you do not have access.)

References

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.Google Scholar
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).Google Scholar
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.Google Scholar
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.Google Scholar
Baelde, D. 2012. Least and greatest fixed points in linear logic. ACM Transactions on Computational Logic 13, 1, 144.CrossRefGoogle Scholar
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.Google Scholar
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.CrossRefGoogle Scholar
Betz, H., Raiser, F., and Frühwirth, T. W. 2010. A complete and terminating execution model for constraint handling rules. CoRR abs/1007.3829.Google Scholar
Cervesato, I., Pfenning, F., Walker, D., and Watkins, K. 2002. A concurrent logical framework ii: Examples and applications. Tech. rep.Google Scholar
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.Google Scholar
Dijkstra, E. W. 1959. A note on two problems in connexion with graphs. Numerische Mathematik 1, 1, 269271.CrossRefGoogle Scholar
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.Google Scholar
Girard, J.-Y. 1987. Linear logic. Theoretical Computer Science 50, 1, 1102.CrossRefGoogle Scholar
Gonzalez, J., Low, Y., and Guestrin, C. 2009. Residual splash for optimally parallelizing belief propagation. In Artificial Intelligence and Statistics (AISTATS).Google Scholar
Hodas, J. S. and Miller, D. 1994. Logic programming in a fragment of intuitionistic linear logic. Information and Computation 110, 3242.CrossRefGoogle Scholar
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.CrossRefGoogle Scholar
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.Google Scholar
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.Google Scholar
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.Google Scholar
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.Google Scholar
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.Google Scholar
marc Andreoli, J. 1992. Logic programming with focusing proofs in linear logic. Journal of Logic and Computation 2, 297347.CrossRefGoogle Scholar
Miller, D. 1985. An overview of linear logic programming. In Computational Logic. 1–5.Google Scholar
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.Google Scholar
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.CrossRefGoogle Scholar
Ullman, J. D. 1990. Principles of Database and Knowledge-Base Systems: Volume II: The New Technologies.Google Scholar
Watkins, K., Cervesato, I., Pfenning, F., and Walker, D. 2003. A concurrent logical framework i: Judgments and properties. Tech. rep.Google Scholar
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.Google Scholar
6
Cited by

Save article to Kindle

To save this article to your Kindle, first ensure coreplatform@cambridge.org is added to your Approved Personal Document E-mail List under your Personal Document Settings on the Manage Your Content and Devices page of your Amazon account. Then enter the ‘name’ part of your Kindle email address below. Find out more about saving to your Kindle.

Note you can select to save to either the @free.kindle.com or @kindle.com variations. ‘@free.kindle.com’ emails are free but can only be saved to your device when it is connected to wi-fi. ‘@kindle.com’ emails can be delivered even when you are not connected to wi-fi, but note that service fees apply.

Find out more about the Kindle Personal Document Service.

A Linear Logic Programming Language for Concurrent Programming over Graph Structures
Available formats
×

Save article to Dropbox

To save this article to your Dropbox account, please select one or more formats and confirm that you agree to abide by our usage policies. If this is the first time you used this feature, you will be asked to authorise Cambridge Core to connect with your Dropbox account. Find out more about saving content to Dropbox.

A Linear Logic Programming Language for Concurrent Programming over Graph Structures
Available formats
×

Save article to Google Drive

To save this article to your Google Drive account, please select one or more formats and confirm that you agree to abide by our usage policies. If this is the first time you used this feature, you will be asked to authorise Cambridge Core to connect with your Google Drive account. Find out more about saving content to Google Drive.

A Linear Logic Programming Language for Concurrent Programming over Graph Structures
Available formats
×
×

Reply to: Submit a response

Please enter your response.

Your details

Please enter a valid email address.

Conflicting interests

Do you have any conflicting interests? *