Component Models for Semantic Web Languages

  • Jakob Henriksson
  • Uwe Aßmann
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5500)


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.


software engineering composition modularization semantic web 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    RIF Working Group - RIF. WWW Page (November 2008), (accessed November 6, 2008)
  2. 2.
    The AspectJ Project (October 2008),
  3. 3.
    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)Google Scholar
  4. 4.
    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)CrossRefGoogle Scholar
  5. 5.
    Aßmann, U.: Invasive Software Composition. Springer, New York (2003)CrossRefzbMATHGoogle Scholar
  6. 6.
    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)CrossRefGoogle Scholar
  7. 7.
    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)Google Scholar
  8. 8.
    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)CrossRefGoogle Scholar
  9. 9.
    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)Google Scholar
  10. 10.
    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)Google Scholar
  11. 11.
    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)CrossRefGoogle Scholar
  12. 12.
    Grau, B.C., Parsia, B., Sirin, E.: Combining OWL ontologies using \(\mathcal{E}\)-connections. Journal of Web Semantics 4(1), 40–59 (2006)CrossRefGoogle Scholar
  13. 13.
  14. 14.
    Boag, S., Chamberlin, D., et al.: XQuery 1.0: An XML Query Language. W3C Recommendation (January 23, 2007),
  15. 15.
    Borgida, A., Serafini, L.: Distributed Description Logics: Assimilating Information from Peer Sources. Journal of Data Semantics 1, 153–184 (2003)zbMATHGoogle Scholar
  16. 16.
    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)CrossRefGoogle Scholar
  17. 17.
    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)Google Scholar
  18. 18.
    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)CrossRefGoogle Scholar
  19. 19.
    Clark, J.: XSL transformations (XSLT) (November 1999),
  20. 20.
    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)Google Scholar
  21. 21.
    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)Google Scholar
  22. 22.
    Deursen, A., Klint, P., Visser, J.: Domain-specific Languages: An Annotated Bibliography. ACM SIGPLAN Notices 35(6), 26–36 (2000)CrossRefGoogle Scholar
  23. 23.
    Filman, R.E., Friedman, D.P.: Aspect-Oriented Programming is Quantification and Obliviousness. Technical Report 01.12 (2000)Google Scholar
  24. 24.
    Fowler, M.: MF Bliki: DomainSpecificLanguage (July 2008), (accessed July 2, 2008)
  25. 25.
    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)Google Scholar
  26. 26.
    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)Google Scholar
  27. 27.
    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)Google Scholar
  28. 28.
    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)CrossRefGoogle Scholar
  29. 29.
    Herrmann, S.: A Precise Model for Contextual Roles: The Programming Language ObjectTeams/Java. Applied Ontology 2(2), 181–207 (2007)Google Scholar
  30. 30.
    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)Google Scholar
  31. 31.
    Horridge, M., Patel-Schneider, P.F.: Manchester Syntax for OWL 1.1. In: International Workshop OWL: Experiences and Directions (OWLED 2008) (2008)Google Scholar
  32. 32.
    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)CrossRefGoogle Scholar
  33. 33.
    Kiselev, I.: Aspect-Oriented Programming with AspectJ. Sams, Indianapolis (2002)Google Scholar
  34. 34.
    Klyne, G., Carroll, J.J.: Resource Description Framework (RDF): Concepts and Abstract Syntax. W3C Recommendation, February 10 (2004),
  35. 35.
    Kozen, D.C.: Automata and Computability. Springer, New York (1997)CrossRefzbMATHGoogle Scholar
  36. 36.
    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)Google Scholar
  37. 37.
    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)Google Scholar
  38. 38.
    Krueger, C.W.: Software reuse. ACM Computing Surveys 24(2), 131–183 (1992)CrossRefGoogle Scholar
  39. 39.
    Madsen, O.L., Møller-Pedersen, B., Nygaard, K.: Object-Oriented Programming in the BETA Programming Language. Addison-Wesley, Reading (1993)Google Scholar
  40. 40.
    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)Google Scholar
  41. 41.
    Nilsson, U., Małuszyński, J.: Logic, Programming, and PROLOG. John Wiley & Sons, Inc., New York (1995)zbMATHGoogle Scholar
  42. 42.
    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)Google Scholar
  43. 43.
    Parnas, D.L.: On the Criteria to Be Used in Decomposing Systems into Modules. Communications of the ACM 15(12), 1053–1058 (1972)CrossRefGoogle Scholar
  44. 44.
    Patel-Schneider, P.F., Hayes, P., Horrocks, I.: OWL Web Ontology Language Semantics and Abstract Syntax. W3C Recommendation, February 10 (2004),
  45. 45.
    Schaffert, S.: Xcerpt: A Rule-Based Query and Transformation Language for the Web. Dissertation/Ph.D. thesis, Institute of Computer Science, LMU, Munich (2004)Google Scholar
  46. 46.
    Schaffert, S., Bry, F., Fuche, T.: Simulation Unification. Technical Report IST506779/Munich/I4-D5/D/PU/a1, Institute for Informatics, University of Munich (2005)Google Scholar
  47. 47.
    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)CrossRefGoogle Scholar
  48. 48.
    Steimann, F.: On the Representation of Roles in Object-Oriented and Conceptual Modelling. Data and Knowledge Engineering 35(1), 83–106 (2000)CrossRefzbMATHGoogle Scholar
  49. 49.
    Steimann, F.: The role data model revisited. Applied Ontology 2(2), 89–103 (2007)Google Scholar
  50. 50.
    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)CrossRefGoogle Scholar
  51. 51.
    Szyperski, C.: Component Software: Beyond Object-Oriented Programming. Addison-Wesley, New York (1998)Google Scholar
  52. 52.
    The COMPOST Consortium. The COMPOST system,
  53. 53.
    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)CrossRefGoogle Scholar
  54. 54.
    Wegner, P.: Varieties of Reusability. In: Proceedings of Workshop on Reusability in Programming, September 1983, pp. 30–44 (1983)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

  • Jakob Henriksson
    • 1
  • Uwe Aßmann
    • 1
  1. 1.Lehrstuhl Softwaretechnologie, Fakultät InformatikTechnische Universität DresdenGermany

Personalised recommendations