Abstract
Comingle is a logic programming framework aimed at simplifying the development of applications distributed over multiple mobile devices. Applications are written as a single declarative program (in a system-centric way) rather than in the traditional node-centric manner, where separate communicating code is written for each participating node. Comingle is based on committed-choice multiset rewriting and is founded on linear logic. We describe a prototype targeting the Android operating system and illustrate how Comingle is used to program distributed mobile applications. As a proof of concept, we discuss several such applications orchestrated using Comingle.
This work was made possible by grant JSREP 4-003-2-001, Effective Parallel and Distributed Programming via Join Pattern with Guards, Propagation and More, from the Qatar National Research Fund (a member of the Qatar Foundation). The statements made herein are solely the responsibility of the authors.
Chapter PDF
Similar content being viewed by others
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
Ashley-Rollman, M.P., Lee, P., Goldstein, S.C., Pillai, P., Campbell, J.D.: A Language for Large Ensembles of Independently Executing Nodes. In: Hill, P.M., Warren, D.S. (eds.) ICLP 2009. LNCS, vol. 5649, pp. 265–280. Springer, Heidelberg (2009)
Cruz, F., Rocha, R., Goldstein, S.C., Pfenning, F.: A linear logic programming language for concurrent programming over graph structures. In: ICLP 2014, Vienna, Austria (2014)
de Moura, L., Bjørner, N.S.: Z3: An Efficient SMT Solver. In: Ramakrishnan, C.R., Rehof, J. (eds.) TACAS 2008. LNCS, vol. 4963, pp. 337–340. Springer, Heidelberg (2008)
Dean, J., Ghemawat, S.: Mapreduce: simplified data processing on large clusters. In: OSDI 2004. USENIX Association (2004)
Frühwirth, T., Raiser, F.: Constraint Handling Rules: Compilation, Execution and Analysis (2011), BOD ISBN 9783839115916
New York Google. Chrome Racer, A Chrome Experiment (2013), http://www.chrome.com/racer
Google Inc. Google Web Toolkit, http://code.google.com/webtoolkit/
Kirby, B.T., Ashley-Rollman, M., Goldstein, S.C.: Blinky blocks: A physical ensemble programming platform. In: CHI 2011, pp. 1111–1116. ACM, New York (2011)
Lam, E.S.L., Cervesato, I.: Decentralized Execution of Constraint Handling Rules for Ensembles. In: PPDP 2013, Madrid, Spain, pp. 205–216 (2013)
Lam, E.S.L., Cervesato, I.: Optimized Compilation of Multiset Rewriting with Comprehensions. In: Garrigue, J. (ed.) APLAS 2014. LNCS, vol. 8858, pp. 19–38. Springer, Heidelberg (2014)
Lam, E.S.L., Cervesato, I.: Reasoning about Set Comprehension. In: SMT 2014 (2014)
Lam, E.S.L., Cervesato, I.: Comingle: Distributed Logic Programming for Decentralized Android Applications. Technical Report CMU-CS-15-101, Carnegie Mellon University (March 2015)
Merrill, D., Kalanithi, J.: Sifteo, Interactive Game Cubes (2009), https://www.sifteo.com/cubes
Stuckey, P.J., Sulzmann, M., Wazny, J.: Interactive Type Debugging in Haskell. In: Haskell 2003, pp. 72–83. ACM, New York (2003)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2015 IFIP International Federation for Information Processing
About this paper
Cite this paper
Lam, E.S.L., Cervesato, I., Fatima, N. (2015). Comingle: Distributed Logic Programming for Decentralized Mobile Ensembles. In: Holvoet, T., Viroli, M. (eds) Coordination Models and Languages. COORDINATION 2015. Lecture Notes in Computer Science(), vol 9037. Springer, Cham. https://doi.org/10.1007/978-3-319-19282-6_4
Download citation
DOI: https://doi.org/10.1007/978-3-319-19282-6_4
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-19281-9
Online ISBN: 978-3-319-19282-6
eBook Packages: Computer ScienceComputer Science (R0)