Abstract
Intelligent applications and agents on the Semantic Web typically need to be specified with, or interact with specifications written in, many different kinds of formal languages. Such languages include ontology languages, data and metadata query languages, as well as transformation languages. As learnt from years of experience in development of complex software systems, languages need to support some form of component-based development. Components enable higher software quality, better understanding and reusability of already developed artifacts. Any component approach contains an underlying component model, a description detailing what valid components are and how components can interact. With the multitude of languages developed for the Semantic Web, what are their underlying component models? Do we need to develop one for each language, or is a more general and reusable approach achievable? We present a language-driven component model specification approach. This means that a component model can be (automatically) generated from a given base language (actually, its specification, e.g. its grammar). As a consequence, we can provide components for different languages and simplify the development of software artifacts used on the Semantic Web.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
RIF Working Group - RIF. WWW Page (November 2008), http://www.w3.org/2005/rules/wiki/RIF_Working_Group (accessed November 6, 2008)
The AspectJ Project (October 2008), http://www.eclipse.org/aspectj/
Apel, S., Batory, D.: How AspectJ is Used: An Analysis of Eleven AspectJ Programs. Technical Report MIP-0801, Department of Informatics and Mathematics, University of Passau, Germany (2008)
Aßmann, U.: Composing Frameworks and Components for Families of Semantic Web Applications. In: Bry, F., Henze, N., Małuszyński, J. (eds.) PPSWR 2003. LNCS, vol. 2901, pp. 1–15. Springer, Heidelberg (2003)
Aßmann, U.: Invasive Software Composition. Springer, New York (2003)
Aßmann, U.: Reuse in Semantic Applications. In: Eisinger, N., Małuszyński, J. (eds.) Reasoning Web 2005. LNCS, vol. 3564, pp. 290–304. Springer, Heidelberg (2005)
Aßmann, U., Bartho, A., Drabent, W., Henriksson, J., Wilk, A.: Composition Framework and Typing Technology Tutorial. Technical Report IST506779/Dresden/I3-D14/D/PU/b1, Technical University of Dresden (2008)
Aßmann, U., Berger, S., Bry, F., Furche, T., Henriksson, J., Johannes, J.: Modular Web Queries—From Rules to Stores. In: Meersman, R., Tari, Z., Herrero, P. (eds.) OTM-WS 2007, Part II. LNCS, vol. 4806, pp. 1165–1175. Springer, Heidelberg (2007)
Bao, J., Caragea, D., Honavar, V.: Towards Collaborative Environments for Ontology Construction and Sharing. In: International Symposium on Collaborative Technologies and Systems (CTS 2006), pp. 99–108 (2006)
Batory, D., Lofaso, B., Smaragdakis, Y.: JTS: Tools for Implementing Domain-Specific Languages. In: Proceedings of the 5th International Conference on Software Reuse, pp. 143–153. IEEE, Los Alamitos (1998)
Bergel, A., Ducasse, S., Nierstrasz, O.: Classbox/J: Controlling the Scope of Change in Java. In: OOPSLA 2005: Proceedings of the 20th annual ACM SIGPLAN conference on Object oriented programming, systems, languages, and applications, pp. 177–189. ACM, New York (2005)
Grau, B.C., Parsia, B., Sirin, E.: Combining OWL ontologies using \(\mathcal{E}\)-connections. Journal of Web Semantics 4(1), 40–59 (2006)
Berners-Lee, T.: The semantic web (May 2001), http://www.sciam.com/article.cfm?articleID=00048144-10D2-1C70-84A9809EC588EF21
Boag, S., Chamberlin, D., et al.: XQuery 1.0: An XML Query Language. W3C Recommendation (January 23, 2007), http://www.w3.org/TR/xquery/
Borgida, A., Serafini, L.: Distributed Description Logics: Assimilating Information from Peer Sources. Journal of Data Semantics 1, 153–184 (2003)
Bravenboer, M., Visser, E.: Concrete Syntax for Objects: Domain-Specific Language Embedding and Assimilation without Restrictions. In: OOPSLA 2004: Proceedings of the 19th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, pp. 365–383. ACM Press, New York (2004)
Bry, F., Schaffert, S.: A Gentle Introduction into Xcerpt, a Rule-based Query and Transformation Language for XML. In: Proceedings of International Workshop on Rule Markup Languages for Business Rules on the Semantic Web, Sardinia, Italy, June 14 (2002)
Bry, F., Schaffert, S.: The XML Query Language Xcerpt: Design Principles, Examples, and Semantics. In: Chaudhri, A.B., Jeckle, M., Rahm, E., Unland, R. (eds.) NODe-WS 2002. LNCS, vol. 2593, pp. 295–310. Springer, Heidelberg (2003)
Clark, J.: XSL transformations (XSLT) (November 1999), http://www.w3.org/TR/xslt
Cuenca Grau, B., Horrocks, I., Kazakov, Y., Sattler, U.: Just the Right Amount: Extracting Modules from Ontologies. In: Proceedings of the Sixteenth International World Wide Web Conference (WWW 2007) (2007)
Dennis, J.B.: Modularity. In: Advanced Course on Software Engineering. Lecture Notes in Economics and Mathematical Systems, vol. 81, pp. 128–182. Springer, Heidelberg (1973)
Deursen, A., Klint, P., Visser, J.: Domain-specific Languages: An Annotated Bibliography. ACM SIGPLAN Notices 35(6), 26–36 (2000)
Filman, R.E., Friedman, D.P.: Aspect-Oriented Programming is Quantification and Obliviousness. Technical Report 01.12 (2000)
Fowler, M.: MF Bliki: DomainSpecificLanguage (July 2008), http://www.martinfowler.com/bliki/DomainSpecificLanguage.html (accessed July 2, 2008)
Henriksson, J.: A Lightweight Framework for Universal Fragment Composition – with an Application in the Semantic Web (to appear). PhD thesis, Technical University of Dresden (December 2008)
Henriksson, J., Heidenreich, F., Johannes, J., Zschaler, S., Aßmann, U.: Extending Grammars and Metamodels for Reuse – The Reuseware Approach. IET Software, Special Issue on Language Engineering (2007)
Henriksson, J., Johannes, J., Zschaler, S., Aßmann, U.: Reuseware – Adding Modularity to Your Language of Choice. Proceedings of TOOLS EUROPE 2007: Special Issue of the Journal of Object Technology (2007)
Henriksson, J., Pradel, M., Zschaler, S., Pan, J.Z.: Ontology Design and Reuse with Conceptual Roles. In: Calvanese, D., Lausen, G. (eds.) RR 2008. LNCS, vol. 5341, pp. 104–118. Springer, Heidelberg (2008)
Herrmann, S.: A Precise Model for Contextual Roles: The Programming Language ObjectTeams/Java. Applied Ontology 2(2), 181–207 (2007)
Hofer, C., Ostermann, K., Rendel, T., Moors, A.: Polymorphic Embedding of DSLs. To appear in Proceedings of the 7th International Conference on Generative Programming and Component Engineering (GPCE 2008). ACM Press, New York (2008)
Horridge, M., Patel-Schneider, P.F.: Manchester Syntax for OWL 1.1. In: International Workshop OWL: Experiences and Directions (OWLED 2008) (2008)
Kiczales, G., Lamping, J., Menhdhekar, A., Maeda, C., Lopes, C., Loingtier, J.-M., Irwin, J.: Aspect-Oriented Programming. In: Akşit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 220–242. Springer, Heidelberg (1997)
Kiselev, I.: Aspect-Oriented Programming with AspectJ. Sams, Indianapolis (2002)
Klyne, G., Carroll, J.J.: Resource Description Framework (RDF): Concepts and Abstract Syntax. W3C Recommendation, February 10 (2004), http://www.w3.org/TR/rdf-concepts/
Kozen, D.C.: Automata and Computability. Springer, New York (1997)
Kristensen, B.B., Madsen, O.L., Møller-Pedersen, B., Nygaard, K.: Abstraction mechanisms in the BETA programming language. In: POPL 1983: Proceedings of the 10th ACM SIGACT-SIGPLAN symposium on Principles of programming languages, pp. 285–298. ACM, New York (1983)
Kristensen, B.B., Madsen, O.L., Møller-Pedersen, B., Nygaard, K.: Syntax Directed Program Modularization. In: Degano, P., Sandewall, E. (eds.) Interactive Computing Systems (1983)
Krueger, C.W.: Software reuse. ACM Computing Surveys 24(2), 131–183 (1992)
Madsen, O.L., Møller-Pedersen, B., Nygaard, K.: Object-Oriented Programming in the BETA Programming Language. Addison-Wesley, Reading (1993)
McIlroy, D.M.: Mass-Produced Software Components. In: Buxton, J.M., Naur, P., Randell, B. (eds.) Software Engineering Concepts and Techniques (1968 NATO Conference of Software Engineering), pp. 88–98. NATO Science Committee, Brussels (1969)
Nilsson, U., Małuszyński, J.: Logic, Programming, and PROLOG. John Wiley & Sons, Inc., New York (1995)
Pan, J.Z., Serafini, L., Zhao, Y.: Semantic Import: An Approach for Partial Ontology Reuse. In: Proc. of the ISWC 2006 Workshop on Modular Ontologies (WoMO) (2006)
Parnas, D.L.: On the Criteria to Be Used in Decomposing Systems into Modules. Communications of the ACM 15(12), 1053–1058 (1972)
Patel-Schneider, P.F., Hayes, P., Horrocks, I.: OWL Web Ontology Language Semantics and Abstract Syntax. W3C Recommendation, February 10 (2004), http://www.w3.org/TR/owl-semantics/
Schaffert, S.: Xcerpt: A Rule-Based Query and Transformation Language for the Web. Dissertation/Ph.D. thesis, Institute of Computer Science, LMU, Munich (2004)
Schaffert, S., Bry, F., Fuche, T.: Simulation Unification. Technical Report IST506779/Munich/I4-D5/D/PU/a1, Institute for Informatics, University of Munich (2005)
Smaragdakis, Y., Batory, D.S.: Mixin Layers: an Object-Oriented Implementation Technique for Refinements and Collaboration-Based Designs. Software Engineering and Methodology 11(2), 215–255 (2002)
Steimann, F.: On the Representation of Roles in Object-Oriented and Conceptual Modelling. Data and Knowledge Engineering 35(1), 83–106 (2000)
Steimann, F.: The role data model revisited. Applied Ontology 2(2), 89–103 (2007)
Stuckenschmidt, H., Klein, M.: Structure-Based Partitioning of Large Concept Hierarchies. In: McIlraith, S.A., Plexousakis, D., van Harmelen, F. (eds.) ISWC 2004. LNCS, vol. 3298, pp. 289–303. Springer, Heidelberg (2004)
Szyperski, C.: Component Software: Beyond Object-Oriented Programming. Addison-Wesley, New York (1998)
The COMPOST Consortium. The COMPOST system, http://www.the-compost-system.org
Van Wyk, E., Krishnan, L., Schwerdfeger, A., Bodin, D.: Attribute Grammar-based Language Extensions for Java. In: Ernst, E. (ed.) ECOOP 2007. LNCS, vol. 4609, pp. 575–599. Springer, Heidelberg (2007)
Wegner, P.: Varieties of Reusability. In: Proceedings of Workshop on Reusability in Programming, September 1983, pp. 30–44 (1983)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2009 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Henriksson, J., Aßmann, U. (2009). Component Models for Semantic Web Languages. In: Bry, F., Małuszyński, J. (eds) Semantic Techniques for the Web. Lecture Notes in Computer Science, vol 5500. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-04581-3_5
Download citation
DOI: https://doi.org/10.1007/978-3-642-04581-3_5
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-04580-6
Online ISBN: 978-3-642-04581-3
eBook Packages: Computer ScienceComputer Science (R0)