Software Is a Directed Multigraph

  • Robert Dąbrowski
  • Krzysztof Stencel
  • Grzegorz Timoszuk
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6903)

Abstract

The architecture of a software system is typically defined as 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. In this paper we propose a holistic model to organize knowledge of such architectures. This model is graph-based. It collects architectural artifacts as vertices and their relationships as edges. It allows operations like metric calculation, refactoring, bad smell detection and pattern discovery as algorithmic transformations on graphs. It is independent of development languages. It can be applied for both formal and adaptive projects. We have implemented prototype tools supporting this model. The artifacts are stored in a graph database. The operations are defined in a graph query language. They have short formulation and are efficiently executed by the graph database engine.

Keywords

architecture graph metric model software 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Angles, R., Gutiérrez, C.: Survey of graph database models. ACM Computing Surveys 40(1) (2008)Google Scholar
  2. 2.
    Beydeda, S., Gruhn, V.: State of the art in testing components. In: Proceedings of Third International Conference on Quality Software, pp. 146–153. IEEE Computer Society, Los Alamitos (2004)Google Scholar
  3. 3.
    Broekstra, J., Kampman, A., Harmelen, F.: Sesame: A generic architecture for storing and querying rdf and rdf schema. In: Proceedings of the First International Semantic Web Conference, pp. 54–68 (2002)Google Scholar
  4. 4.
    Dąbrowski, R., Stencel, K., Timoszuk, G.: Software is a directed multigraph (and so is software process). arXiv:1103.4056 (2011)Google Scholar
  5. 5.
    Derrick, J., Wehrheim, H.: Model transformations across views. Science of Computer Programming 75(3), 192–210 (2010)CrossRefMATHMathSciNetGoogle Scholar
  6. 6.
    Fleurey, F., Baudry, B., France, R., Ghosh, S.: A generic approach for automatic model composition. In: Proceeding of MoDELS Workshops, pp. 7–15 (2007)Google Scholar
  7. 7.
    Gossens, S., Belli, F., Beydeda, S., Dal Cin, M.: View graphs for analysis and testing of programs at different abstraction levels. In: Proceedings of the Ninth IEEE International Symposium on High-Assurance Systems Engineering, pp. 121–130. IEEE Computer Society, Los Alamitos (2005)CrossRefGoogle Scholar
  8. 8.
    Kruchten, P., Lago, P., van Vliet, H., Wolf, T.: Building up and exploiting architectural knowledge. In: Proceedings of the 5th Working IEEE/IFIP Conference on Software Architecture, pp. 291–292. IEEE Computer Society, Los Alamitos (2005)CrossRefGoogle Scholar
  9. 9.
    Kühne, T., Selic, B., Gervais, M.-P., Terrier, F. (eds.): ECMFA 2010. LNCS, vol. 6138. Springer, Heidelberg (2010)Google Scholar
  10. 10.
    Lassila, O., Swick, R.R.: Resource description framework (RDF) model and syntax specification. W3C Recommendation (1999)Google Scholar
  11. 11.
    Mens, T., Lanza, M.: A graph-based metamodel for object-oriented software metrics. Electronic Notes in Theoretical Computer Science 72(2), 57–68 (2002)CrossRefGoogle Scholar
  12. 12.
    Osterweil, L.: Software processes are software too. In: Proceedings of the 9th International Conference on Software Engineering, pp. 2–13. IEEE Computer Society, Los Alamitos (1987)Google Scholar
  13. 13.
    Prud’hommeaux, E., Seaborne, A.: SPARQL query language for RDF. W3C Recommendation (2008)Google Scholar
  14. 14.
    Hopcroft, J., Tarjan, R.: Algorithm 447: efficient algorithms for graph manipulation. Communications of the ACM 16, 372–378 (1973)CrossRefGoogle Scholar
  15. 15.
    Hasse, P., Broekstra, J., Eberhart, A., Volz, R.: A comparison of RDF query languages. The Semantic Web (2004)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Robert Dąbrowski
    • 1
  • Krzysztof Stencel
    • 1
  • Grzegorz Timoszuk
    • 1
  1. 1.Institute of InformaticsWarsaw UniversityWarsawPoland

Personalised recommendations