An ontology for software component matching

Special Section on Fundamental Approaches to Software Engineering


Matching is a central activity in the discovery and assembly of reusable software components. We investigate how ontology technologies can be utilised to support software component development. We use description logics, which underlie Semantic Web ontology languages, such as OWL, to develop an ontology for matching requested and provided components. A link between modal logic and description logics will prove invaluable for the provision of reasoning support for component behaviour.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Szyperski C (2002) Component Software: Beyond Object-Oriented Programming, 2nd edn. Addison-Wesley, ReadingGoogle Scholar
  2. 2.
    Leavens G.T., Sitamaran M. (2000) Foundations of Component-Based Systems. Cambridge University Press, CambridgeGoogle Scholar
  3. 3.
    Moorman Zaremski A., Wing J.M. (1997) Specification matching of software components. ACM Trans. Softw. Eng. Methods 6(4): 333–369CrossRefGoogle Scholar
  4. 4.
    DAML-S Coalition. DAML-S Web Services Description for the Semantic Web. In: Horrocks, I., Hendler, J. (eds.) Proccedings of the First International Semantic Web Conference ISWC 2002, pp. 279–291. LNCS 2342, Springer, Berlin Heidelbery New York (2002)Google Scholar
  5. 5.
    Pahl C. (2003). An ontology for software component matching. In: Pezzè M. (eds). Proccedings of the Fundamental Approaches to Software Engineering FASE’2003, LNCS 2621, Springer, Berlin Heidelbery New York, pp. 6–21Google Scholar
  6. 6.
    W3C Semantic Web Activity: Semantic Web Activity Statement. (visited 06/12/2004) 2004Google Scholar
  7. 7.
    Baader F., McGuiness D., Nardi D., Schneider P.P. ed. (2003) The Description Logic Handbook. Cambridge University Press, CambridgeMATHGoogle Scholar
  8. 8.
    Schild, K. A Correspondence Theory for Terminological Logics: Preliminary Report. In Proccedings of the 12th International Joint Conference on Artificial Intelligence (1991)Google Scholar
  9. 9.
    Kozen D., Tiuryn J. (1990). Logics of programs. In: van Leeuwen J. (eds). Handbook of Theoretical Computer Science, vol. B, Elsevier, Amsterdam, pp. 789–840Google Scholar
  10. 10.
    Gastinger S., Hennicker R., Stabl R. (1995). Design of Modular Software Systems with Reuse. In: Broy M., Jähnichen S. (eds). KORSO – Methods, Languages, and Tools for the Construction of Correct Software, LNCS 1009, Springer, Berlin Heidelberg New York, pp. 112–127CrossRefGoogle Scholar
  11. 11.
    Meyer B. (1992) Applying design by contract. Computer 25(10): 40–51CrossRefGoogle Scholar
  12. 12.
    Inverardi, P., Tivoli, M. Software Architecture for Correct Components Assembly. In: Formal Methods for the Design of Computer, Communication and Software Systems: Software Architecture. LNCS Series, Springer, Berlin Heidelberg New York (2003)Google Scholar
  13. 13.
    Lara R., Roman D., Polleres A., Fensel D. (2004). A Conceptual Comparison of WSMO and OWL-S. In: Zhang L.-J., Jeckle M. (eds). European Conference on Web Services ECOWS 2004. LNCS 3250, Springer, Berlin Heidelberg New York, pp. 254–269Google Scholar
  14. 14.
    Reussner, R., Poernomo, I., Schmidt, H. Contracts and quality attributes for software components. In: Weck, W., Bosch, J., Szyperski, C. (eds.) Proccedings of the 8th International Workshop on Component-Oriented Programming WCOP’03 (2003)Google Scholar

Copyright information

© Springer-Verlag 2006

Authors and Affiliations

  1. 1.School of ComputingDublin City UniversityDublin 9Ireland

Personalised recommendations