Skip to main content

A Generic Module System for Web Rule Languages: Divide and Rule

  • Conference paper
Advances in Rule Interchange and Applications (RuleML 2007)

Abstract

An essential feature in practically usable programming languages is the ability to encapsulate functionality in reusable modules. Modules make large scale projects tractable by humans. For Web and Semantic Web programming, many rule-based languages, e.g. XSLT, CSS, Xcerpt, SWRL, SPARQL, and RIF Core, have evolved or are currently evolving. Rules are easy to comprehend and specify, even for non-technical users, e.g. business managers, hence easing the contributions to the Web. Unfortunately, those contributions are arguably doomed to exist in isolation as most rule languages are conceived without modularity, hence without an easy mechanism for integration and reuse. In this paper a generic module system applicable to many rule languages is presented. We demonstrate and apply our generic module system to a Datalog-like rule language, close in spirit to RIF Core. The language is gently introduced along the EU-Rent use case. Using the Reuseware Composition Framework, the module system for a concrete language can be achieved almost for free, if it adheres to the formal notions introduced in this paper.

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 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

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Abiteboul, S., Hull, R., Vianu, V.: Foundations of Databases. Addison-Wesley Publishing Co, Boston, MA, USA (1995)

    MATH  Google Scholar 

  2. Aßmann, U., Berger, S., Bry, F., Furche, T., Henriksson, J., Johannes, J.: Modular web queries—from rules to stores (submitted for publication, 2007)

    Google Scholar 

  3. Bergstra, J.A., Heering, J., Klint, P.: Module algebra. Journal of the ACM 37(2), 335–372 (1990)

    Article  MATH  MathSciNet  Google Scholar 

  4. Bowen, K.A., Kowalski, R.A.: Amalgamating language and metalanguage in logic programming. In: Clark, K., Tarnlund, S.A. (eds.) Logic Programming, Apic Studies in Data Processing, Academic Press, Inc, London (1983)

    Google Scholar 

  5. Brogi, A., Mancarella, P., Pedreschi, D., Turini, F.: Modular logic programming. ACM Trans. Program. Lang. Syst. 16(4), 1361–1398 (1994)

    Article  Google Scholar 

  6. Codish, M., Debray, S.K., Giacobazzi, R.: Compositional analysis of modular logic programs. In: Proc. ACM Symp. on Principles of Programming Languages (POPL), pp. 451–464. ACM Press, New York (1993)

    Chapter  Google Scholar 

  7. Giurca, A., Savulea, D.: An algebra of logic programs with applications in distributed environments. In: Annales of Craiova University. Mathematics and Computer Science Series, vol. XXVIII, pp. 147–159 (2001)

    Google Scholar 

  8. Henriksson, J., Aßmann, U., Heidenreich, F., Johannes, J., Zschaler, S.: How dark should a component black box be? The Reuseware Answer. In: ECOOP 2007. Proc. of the 12th International Workshop on Component-Oriented Programming (WCOP) co-located with 21st European Conf. on Object-Oriented Programming (to appear, 2007)

    Google Scholar 

  9. Henriksson, J., Johannes, J., Zschaler, S., Aßmann, U.: Reuseware – adding modularity to your language of choice. In: Proc. of TOOLS EUROPE 2007: Special Issue of the Journal of Object Technology (to appear, 2007)

    Google Scholar 

  10. Karali, I., Pelecanos, E., Halatsis, C.: A versatile module system for prolog mapped to flat prolog. In: Proc. ACM Symp. on Applied Computing (SAC), pp. 578–585. ACM Press, New York (1993)

    Google Scholar 

  11. Kifer, M., de Bruijn, J., Boley, H., Fensel, D.: A realistic architecture for the semantic web. In: RuleML, pp. 17–29 (2005)

    Google Scholar 

  12. Miller, D.: A theory of modules for logic programming. In: Proc. IEEE Symp. on Logic Programming, pp. 106–114. IEEE Computer Society Press, Los Alamitos (1986)

    Google Scholar 

  13. Sannella, D.T., Wallen, L.A.: A calculus for the construction of modular prolog programs. Journal of Logic Programming 12(1-2), 147–177 (1992)

    Article  MATH  MathSciNet  Google Scholar 

  14. Wirsing, M.: Structured algebraic specifications: A kernel language. Theoretical Computer Science 42(2), 123–244 (1986)

    Article  MATH  MathSciNet  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Adrian Paschke Yevgen Biletskiy

Rights and permissions

Reprints and permissions

Copyright information

© 2007 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Aßmann, U., Berger, S., Bry, F., Furche, T., Henriksson, J., Pătrânjan, PL. (2007). A Generic Module System for Web Rule Languages: Divide and Rule. In: Paschke, A., Biletskiy, Y. (eds) Advances in Rule Interchange and Applications. RuleML 2007. Lecture Notes in Computer Science, vol 4824. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-75975-1_6

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-75975-1_6

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-75974-4

  • Online ISBN: 978-3-540-75975-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics