Advertisement

Towards Managing Software Architectures with Ontologies

  • Marcel Bennicke
  • Claus Lewerentz
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5765)

Abstract

Software architectures are key enabling assets within organizations that develop complex software systems. Among other purposes, software architectures are useful to maintain intellectual control over a software product. We propose a method to continuously check the consistency between a specified architecture model and structural information reverse engineered from the code. We develop criteria that a design language for architectures should fulfill and show that an ontology based description has substantial benefits over the standard modeling languages MOF/UML/OCL. Using ontologies allows the explicit modelling of architectural styles as well as concrete system structures in a single architecture design language. The resulting specifications are modular, compositional and evolvable. Using ontologies we can apply an ontology reasoner to implement consistency checks. Our method integrates previously separate checks such as checking for allowed dependencies and coding style into a single framework and enables more powerful and flexible analyses.

Keywords

Software Architecture Description Logic Relationship Type Mapping Rule Rule System 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Antoniou, G., Van Harmelen, F.: A Semantic Web Primer (Cooperativer Information Systems). MIT Press, Cambridge (2004)Google Scholar
  2. 2.
    Baader, F., Calvanese, D., McGuinness, D., Nardi, D., Patel-Schneider, P.F. (eds.): The Description Logic Handbook: Theory, Implementation and Applications. Cambirdge University Press, New York (2003)zbMATHGoogle Scholar
  3. 3.
    Bass, L., Clements, P., Kazman, R.: Software Architecture in Practice. Addison-Wesley, Reading (2003)Google Scholar
  4. 4.
    Becker-Pechau, P., Karstens, B., Lilienthal, C.: Automatisierte Softwareüberprüfung auf der Basis von Architekturregeln. In: Gruhn, V., Biel, B., Book, M. (eds.) Lecture Notes in Informatics (LNI) - Proceedings, Series of the Gesellschaft für Informatik (GI), pp. 27–38 (2006)Google Scholar
  5. 5.
    Bennicke, M., Baresel, A.: Establishing efficient code quality reviews to monitor external projects. In: Proceedings of International Conference on Maintenance Engineering (ICME), Chengdu, China (2006)Google Scholar
  6. 6.
    Berners-Lee, T., Hendler, J., Lassila, O.: The semantic web: a new form of web content that is meaningful to computers will unleash a revolution of new possibilities. Scientific American 284(5), 34–43 (2001)CrossRefGoogle Scholar
  7. 7.
    Bischofberger, W., Kühl, J., Löffler, S.: Sotograph - a pragmatic approach to source code architecture conformance checking. In: Oquendo, F., Warboys, B.C., Morrison, R. (eds.) EWSA 2004. LNCS, vol. 3047, pp. 1–9. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  8. 8.
    Bosch, J.: Design & Use of Software Architectures. Addison-Wesley, Reading (2000)Google Scholar
  9. 9.
    Brooks, F.P.: The Mythical Man-Month, anniversary edition. Addison-Wesley, Reading, (1995)Google Scholar
  10. 10.
    Clements, P., Bachmann, F., Bass, L., Garlan, D., Ivers, J., Little, R., Nord, R., Stafford, J.: Documenting Software Architectures: Views and Beyond. Addison-Wesley, Reading (2002)Google Scholar
  11. 11.
    European commission research project. Marrying Ontology and Software Technology (MOST) (2009), Project Homepage: http://www.most-project.eu/
  12. 12.
    Favre, J.-M.: Languages evolve too! changing the software time scale. In: Eighth International Workshop on Principles of Software Evolution (IWPSE 2005) (2005)Google Scholar
  13. 13.
    Grau, B.C., Horrocks, I., Motik, B., Parsia, B., Patel-Schneider, P.F., Sattler, U.: Owl 2: The next step for owl. Journal of Web Semantics 6(4), 309–322 (2008)CrossRefGoogle Scholar
  14. 14.
    Horrocks, I., Sattler, U., Tobies, S.: Practical reasoning for very expressive description logics. Logic Journal of the IGPL 8, 239–264 (2000)MathSciNetCrossRefzbMATHGoogle Scholar
  15. 15.
    ISO/IEC/(IEEE). ISO/IEC 42010: International Standard Systems and software engineering - Recommended practice for architectural description of software-intensive systems (2007)Google Scholar
  16. 16.
    Jouault, F., Kurtev, I.: Transforming models with atl. In: Bruel, J.-M. (ed.) MoDELS 2005. LNCS, vol. 3844, pp. 128–138. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  17. 17.
    Koschke, R., Simon, D.: Hierarchical reflexion models. In: Proc. of 10th Working Conference on Reverse Engineering (WCRE 2003), pp. 36–45. IEEE Computer Society, Los Alamitos (2003)Google Scholar
  18. 18.
    Kruchten, P.: The 4+1 view model of architecture. IEEE Software 12(6), 42–50 (1995)CrossRefGoogle Scholar
  19. 19.
    Motik, B., Grau, B.C., Horrocks, I., Wu, Z., Fokoue, A., Lutz, C.: Owl 2 web ontology language profiles (October 2009), http://www.w3.org/TR/owl2-profiles/
  20. 20.
    Motik, B., Sattler, U., Studer, R.: Query answering for owl-dl with rules. Journal of Web Semantics: Science, Services and Agents on the World Wide Web 3(1), 41–60 (2005)CrossRefGoogle Scholar
  21. 21.
    Motik, B., Shearer, R., Horrocks, I.: Hypertableau reasoning for description logics. Journal of Artificial Intelligence Research 36, 165–228 (2009)MathSciNetzbMATHGoogle Scholar
  22. 22.
    Murphy, G.C., Notkin, D., Sullivan, K.: Software reflexion models. bridging the gap between source and high-level models. In: Proc. of the Third ACM SIGSOFT Symposium on the Foundations of Software Engineering, pp. 18–28. ACM Press, New York (1995)CrossRefGoogle Scholar
  23. 23.
    Object Management Group: MDA Guide V1.0.1 (2003)Google Scholar
  24. 24.
    Object Management Group: Meta Object Facility (MOF) 2.0 Query/View/Transformation Specification (July 2007)Google Scholar
  25. 25.
    OpenGALEN Foundation: Opengalen website, http://www.opengalen.org (last visited September 2010)
  26. 26.
    Parreiras, F.S., Staab, S., Winter, A.: On marrying ontological and metamodeling technical spaces. In: Foundations of Software Engineering, The 6th Joint Meeting on European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering: Companion Papers (2007)Google Scholar
  27. 27.
    Sangal, N., Jordan, E., Sinha, V., Jackson, D.: Using dependency models to manage complex software archi-tecture. In: Proceedings of the 20th Annual ACM SIGPLAN Conference on Object Oriented Programming, Systems, Languages, and Applications, OOPSLA 2005, pp. 167–176. ACM Press, New York (2005)CrossRefGoogle Scholar
  28. 28.
    Siedersleben, J.: Moderne Software-Architektur. dpunkt.verlag (2004)Google Scholar
  29. 29.
    Sirin, E., Parsia, B., Grau, B., Kalyanpur, A., Katz, Y.: Pellet: A practical owl-dl reasoner. Web Semantics: Science, Services and Agents on the World Wide Web In Software Engineering and the Semantic Web 5(2), 51–53 (2007)CrossRefGoogle Scholar
  30. 30.
    TopQuadrant, Inc. Topbraid vendor website, http://www.topquadrant.com (last visited September 2010)
  31. 31.
    Stanford University. The protégé ontology editor and knowledge acquisition system, http://protege.stanford.edu/ (last visited September 2010)
  32. 32.
    Völter, M.: Software architecture: A pattern language for building sustainable software architectures (March 2005), http://www.voelter.de/data/pub/ArchitecturePatterns.pdf (last visited September 2010)
  33. 33.
    Völter, M.: Architecture as a language. IEEE Software 27(2), 56–64 (2010)CrossRefGoogle Scholar
  34. 34.
    von Zitzewitz, A.: Erosion vorbeugen. Javamagazin, 28–33 (February 2007)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2010

Authors and Affiliations

  • Marcel Bennicke
    • 1
  • Claus Lewerentz
    • 1
  1. 1.Brandenburg University of TechnologyCottbusGermany

Personalised recommendations