On Architecture Warehouses and Software Intelligence

  • Robert Dąbrowski
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7709)

Abstract

By architecture of a software system we typically denote the knowledge about the organization of the system, the relationships among its components and the principles governing their design. By including artifacts coresponding to software engineering processes, the definition gets naturally extended into the architecture of a software system and process. This paper recalls theoretical model for representing architectural knowledge based on directed multi-graph, defines an architecture warehouse implementation of the model capable of representing the complete architecture of a software system and process, and shows how it can be harnessed to create a software intelligence layer providing software architects with a toolset for software analysis and visualisation. The reasoning is supported by examples depicting warehouse implementation and results obtained from its application to a sample software project.

Keywords

architecture graph intelligence metric model software warehouse 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Abreu, F.B., Carapuça, R.: Object-oriented software engineering: Measuring and controlling the development process. In: Proceedings of the 4th International Conference on Software Quality (1994)Google Scholar
  2. 2.
    Angles, R., Gutiérrez, C.: Survey of graph database models. ACM Comput. Surv. 40(1) (2008)Google Scholar
  3. 3.
    Broekstra, J., Kampman, A., van Harmelen, F.: Sesame: A generic architecture for storing and querying rdf and rdf schema. In: International Semantic Web Conference, pp. 54–68 (2002)Google Scholar
  4. 4.
    Chidamber, S.R., Kemerer, C.F.: A metrics suite for object oriented design. IEEE Transactions on Software Engineering 20, 476–493 (1994)CrossRefGoogle Scholar
  5. 5.
    Cormen, T.H., Stein, C., Rivest, R.L., Leiserson, C.E.: Introduction to Algorithms, 2nd edn. McGraw-Hill Higher Education (2001)Google Scholar
  6. 6.
    Dąbrowski, R., Stencel, K., Timoszuk, G.: Software Is a Directed Multigraph. In: Crnkovic, I., Gruhn, V., Book, M. (eds.) ECSA 2011. LNCS, vol. 6903, pp. 360–369. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  7. 7.
    Dabrowski, R., Stencel, K., Timoszuk, G.: Improving software quality by improving architecture management. In: Rachev, B., Smrikarov, A. (eds.) CompSysTech 2012, Ruse, Bulgaria, pp. 208–215. ACM (2012) ISBN: 978-1-4503-1193-9, http://doi.acm.org/10.1145/2383276.2383308
  8. 8.
    Derrick, J., Wehrheim, H.: Model transformations across views. Science of Computer Programming 75(3), 192–210 (2010)MathSciNetMATHCrossRefGoogle Scholar
  9. 9.
    Fleurey, F., Baudry, B., France, R.B., Ghosh, S.: A Generic Approach for Automatic Model Composition. In: Giese, H. (ed.) MODELS 2008. LNCS, vol. 5002, pp. 7–15. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  10. 10.
    Gossens, S., Belli, F., Beydeda, S., Cin, M.D.: View graphs for analysis and testing of programs at different abstraction levels. In: HASE, pp. 121–130 (2005)Google Scholar
  11. 11.
    Kruchten, P., Lago, P., van Vliet, H., Wolf, T.: Building up and exploiting architectural knowledge. In: WICSA, pp. 291–292 (2005)Google Scholar
  12. 12.
    Kühne, T., Selic, B., Gervais, M.-P., Terrier, F. (eds.): ECMFA 2010. LNCS, vol. 6138. Springer, Heidelberg (2010)Google Scholar
  13. 13.
    Mens, T., Lanza, M.: A graph-based metamodel for object-oriented software metrics. Electr. Notes Theor. Comput. Sci. 72(2), 57–68 (2002)CrossRefGoogle Scholar
  14. 14.
    Osterweil, L.J.: Software processes are software too. In: ICSE, pp. 2–13 (1987)Google Scholar
  15. 15.
    Prud’hommeaux, E., Seaborne, A.: Sparql query language for rdf. w3c recommendation (2008)Google Scholar
  16. 16.
    Roche, J.M.: Software metrics and measurement principles. SIGSOFT Softw. Eng. Notes 19, 77–85 (1994)CrossRefGoogle Scholar
  17. 17.
    van Hoorn, A., Waller, J., Hasselbring, W.: Kieker: a framework for application performance monitoring and dynamic software analysis. In: Kaeli, D.R., Rolia, J., John, L.K., Krishnamurthy, D. (eds.) ICPE, pp. 247–248. ACM (2012)Google Scholar
  18. 18.
    Vicknair, C., Macias, M., Zhao, Z., Nan, X., Chen, Y., Wilkins, D.: A comparison of a graph database and a relational database: a data provenance perspective. In: Proceedings of the 48th Annual Southeast Regional Conference, ACM SE, pp. 42:1–42:6. ACM, New York (2010)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Robert Dąbrowski
    • 1
  1. 1.Institute of InformaticsWarsaw UniversityWarsawPoland

Personalised recommendations