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.
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
Antoniou, G., Van Harmelen, F.: A Semantic Web Primer (Cooperativer Information Systems). MIT Press, Cambridge (2004)
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)
Bass, L., Clements, P., Kazman, R.: Software Architecture in Practice. Addison-Wesley, Reading (2003)
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)
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)
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)
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)
Bosch, J.: Design & Use of Software Architectures. Addison-Wesley, Reading (2000)
Brooks, F.P.: The Mythical Man-Month, anniversary edition. Addison-Wesley, Reading, (1995)
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)
European commission research project. Marrying Ontology and Software Technology (MOST) (2009), Project Homepage: http://www.most-project.eu/
Favre, J.-M.: Languages evolve too! changing the software time scale. In: Eighth International Workshop on Principles of Software Evolution (IWPSE 2005) (2005)
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)
Horrocks, I., Sattler, U., Tobies, S.: Practical reasoning for very expressive description logics. Logic Journal of the IGPL 8, 239–264 (2000)
ISO/IEC/(IEEE). ISO/IEC 42010: International Standard Systems and software engineering - Recommended practice for architectural description of software-intensive systems (2007)
Jouault, F., Kurtev, I.: Transforming models with atl. In: Bruel, J.-M. (ed.) MoDELS 2005. LNCS, vol. 3844, pp. 128–138. Springer, Heidelberg (2006)
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)
Kruchten, P.: The 4+1 view model of architecture. IEEE Software 12(6), 42–50 (1995)
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/
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)
Motik, B., Shearer, R., Horrocks, I.: Hypertableau reasoning for description logics. Journal of Artificial Intelligence Research 36, 165–228 (2009)
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)
Object Management Group: MDA Guide V1.0.1 (2003)
Object Management Group: Meta Object Facility (MOF) 2.0 Query/View/Transformation Specification (July 2007)
OpenGALEN Foundation: Opengalen website, http://www.opengalen.org (last visited September 2010)
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)
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)
Siedersleben, J.: Moderne Software-Architektur. dpunkt.verlag (2004)
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)
TopQuadrant, Inc. Topbraid vendor website, http://www.topquadrant.com (last visited September 2010)
Stanford University. The protégé ontology editor and knowledge acquisition system, http://protege.stanford.edu/ (last visited September 2010)
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)
Völter, M.: Architecture as a language. IEEE Software 27(2), 56–64 (2010)
von Zitzewitz, A.: Erosion vorbeugen. Javamagazin, 28–33 (February 2007)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2010 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Bennicke, M., Lewerentz, C. (2010). Towards Managing Software Architectures with Ontologies. In: Engels, G., Lewerentz, C., Schäfer, W., Schürr, A., Westfechtel, B. (eds) Graph Transformations and Model-Driven Engineering. Lecture Notes in Computer Science, vol 5765. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-17322-6_13
Download citation
DOI: https://doi.org/10.1007/978-3-642-17322-6_13
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-17321-9
Online ISBN: 978-3-642-17322-6
eBook Packages: Computer ScienceComputer Science (R0)