Software is a directed multigraph

  • Authors:
  • Robert Dąbrowski;Krzysztof Stencel;Grzegorz Timoszuk

  • Affiliations:
  • Institute of Informatics, Warsaw University, Warsaw, Poland;Institute of Informatics, Warsaw University, Warsaw, Poland;Institute of Informatics, Warsaw University, Warsaw, Poland

  • Venue:
  • ECSA'11 Proceedings of the 5th European conference on Software architecture
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

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.