Skip to main content

Modular Multiset Rewriting

  • Conference paper
  • First Online:
Book cover Logic for Programming, Artificial Intelligence, and Reasoning (LPAR 2015)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 9450))

Included in the following conference series:

Abstract

Rule-based languages are being used for ever more ambitious applications. As program size grows however, so does the overhead of team-based development, reusing components, and just keeping a large flat collection of rules from interfering. In this paper, we propose a module system for a small logically-motivated rule-based language. The resulting modules are nothing more than rewrite rules of a specific form, which are themselves just logic formulas. Yet, they provide some of the same features found in advanced module systems such as that of Standard ML, in particular name space separation, support for abstract data types, and parametrization (functors in ML). Our modules also offer essential features for concurrent programming such as facilities for sharing private names. This approach is directly applicable to other rule-based languages, including most forward-chaining logic programming languages and many process algebras.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. Abdallah, M.N.: Procedures in horn-clause programming. In: Shapiro, E. (ed.) ICLP 1986. LNCS, vol. 225, pp. 433–447. Springer, Heidelberg (1986)

    Chapter  Google Scholar 

  2. 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)

    Chapter  Google Scholar 

  3. Banâtre, J.-P., Le Métayer, D.: Programming by multiset transformation. Commun. ACM 36(1), 98–111 (1993)

    Article  Google Scholar 

  4. Bugliesi, M., Lamma, E., Mello, P.: Modularity in logic programming. J. Logic Program. 19–20(1), 443–502 (1994)

    Article  MathSciNet  Google Scholar 

  5. Cervesato, I., Lam, E.S.: Modular multiset rewriting in focused linear logic. In: Technical ReportCMU-CS-15-117, Carnegie Mellon University, Pittsburgh, PA (2015)

    Google Scholar 

  6. Cervesato, I., Scedrov, A.: Relating state-based and process-based concurrency through linear logic. Inf. Comput. 207(10), 1044–1077 (2009)

    Article  MATH  MathSciNet  Google Scholar 

  7. Cruz, F., Ashley-Rollman, M., Goldstein, S., Rocha, R., Pfenning, F.: Bottom-up logic programming for multicores. In: DAMP 2012 (2012)

    Google Scholar 

  8. Cruz, F., Rocha, R., Goldstein, S., Pfenning, F.: A linear logic programming language for concurrent programming over graph structures. In: ICLP 2014, Vienna, Austria (2014)

    Google Scholar 

  9. Fournet, C.: The join-calculus: a calculus for distributed mobile programming. Ph.D thesis, École Polytechnique, Palaiseau (1998)

    Google Scholar 

  10. Frühwirth, T.: Constraint Handling Rules. Cambridge University Press, Cambridge (2009)

    Book  MATH  Google Scholar 

  11. Gabbay, M.J., Mathijssen, A.: One-and-a-halfth-order Logic. J. Logic Comput. 18(4), 521–562 (2008)

    Article  MATH  MathSciNet  Google Scholar 

  12. Gallaire, H., Minker, J., Nicolas, J.M.: Logic and databases: a deductive approach. ACM Comput. Surv. 16(2), 153–185 (1984)

    Article  MATH  MathSciNet  Google Scholar 

  13. Girard, J.-Y.: Linear logic. Theor. Comput. Sci. 50, 1–102 (1987)

    Article  MATH  MathSciNet  Google Scholar 

  14. Grumbach, S., Wang, F.: Netlog, a rule-based language for distributed programming. In: Carro, M., Peña, R. (eds.) PADL 2010. LNCS, vol. 5937, pp. 88–103. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  15. Lam, E.S.L., Cervesato, I., Fatima, N.: Comingle: distributed logic programming for decentralized mobile ensembles. In: Holvoet, T., Viroli, M. (eds.) Coordination Models and Languages. LNCS, vol. 9037, pp. 51–66. Springer, Heidelberg (2015)

    Google Scholar 

  16. Laurent, O., Quatrini, M., Tortora de Falco, L.: Polarized and focalized linear and classical proofs. Ann.Pure Appl. Logic 134(2–3), 217–264 (2005)

    Article  MATH  MathSciNet  Google Scholar 

  17. Meseguer, J., Braga, C.O.: Modular rewriting semantics of programming languages. In: Rattray, C., Maharaj, S., Shankland, C. (eds.) AMAST 2004. LNCS, vol. 3116, pp. 364–378. Springer, Heidelberg (2004)

    Chapter  Google Scholar 

  18. Miller, D.: A proposal for modules in \(\lambda \)prolog. In: Dyckhoff, R. (ed.) ELP 1993. LNCS, vol. 798, pp. 206–221. Springer, Heidelberg (1994)

    Chapter  Google Scholar 

  19. Milner, R., Harper, R., MacQueen, D., Tofte, M.: The Definition of Standard ML - Revised. MIT Press, Cambridge (1997)

    Google Scholar 

  20. Sangiorgi, D., Walker, D.: The Pi-Calculus - a Theory of Mobile Processes. Cambridge University Press, Cambridge (2001)

    MATH  Google Scholar 

  21. Simmons, R.J.: Structural focalization. ACM Trans. Comput. Logic 15(3), 1–33 (2014)

    Article  MathSciNet  Google Scholar 

  22. Watkins, K., Pfenning, F., Walker, D., Cervesato, I.: Specifying properties of concurrent computations in CLF. In: LFM 2004, pp. 67–87. ENTCS 199, Cork, Ireland (2007)

    Google Scholar 

Download references

Acknowledgments

This paper was made possible by grants NPRP 09-667-1-100 (Effective Programming for Large Distributed Ensembles) and NPRP 4-341-1-059 (Usable automated data inference for end-users) from the Qatar National Research Fund (a member of the Qatar Foundation). The statements made herein are solely the responsibility of the authors.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Iliano Cervesato .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2015 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Cervesato, I., Lam, E.S.L. (2015). Modular Multiset Rewriting. In: Davis, M., Fehnker, A., McIver, A., Voronkov, A. (eds) Logic for Programming, Artificial Intelligence, and Reasoning. LPAR 2015. Lecture Notes in Computer Science(), vol 9450. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-662-48899-7_36

Download citation

  • DOI: https://doi.org/10.1007/978-3-662-48899-7_36

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-662-48898-0

  • Online ISBN: 978-3-662-48899-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics