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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Abiteboul, S., Hull, R., Vianu, V.: Foundations of Databases. Addison-Wesley Publishing Co, Boston, MA, USA (1995)
Aßmann, U., Berger, S., Bry, F., Furche, T., Henriksson, J., Johannes, J.: Modular web queries—from rules to stores (submitted for publication, 2007)
Bergstra, J.A., Heering, J., Klint, P.: Module algebra. Journal of the ACM 37(2), 335–372 (1990)
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)
Brogi, A., Mancarella, P., Pedreschi, D., Turini, F.: Modular logic programming. ACM Trans. Program. Lang. Syst. 16(4), 1361–1398 (1994)
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)
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)
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)
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)
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)
Kifer, M., de Bruijn, J., Boley, H., Fensel, D.: A realistic architecture for the semantic web. In: RuleML, pp. 17–29 (2005)
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)
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)
Wirsing, M.: Structured algebraic specifications: A kernel language. Theoretical Computer Science 42(2), 123–244 (1986)
Author information
Authors and Affiliations
Editor information
Rights 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)