Software processes are software too
ICSE '87 Proceedings of the 9th international conference on Software Engineering
Algorithm 447: efficient algorithms for graph manipulation
Communications of the ACM
Sesame: A Generic Architecture for Storing and Querying RDF and RDF Schema
ISWC '02 Proceedings of the First International Semantic Web Conference on The Semantic Web
State of the art in testing components
QSIC '03 Proceedings of the Third International Conference on Quality Software
View Graphs for Analysis and Testing of Programs at Different Abstraction Levels
HASE '05 Proceedings of the Ninth IEEE International Symposium on High-Assurance Systems Engineering
Building up and Exploiting Architectural Knowledge
WICSA '05 Proceedings of the 5th Working IEEE/IFIP Conference on Software Architecture
Survey of graph database models
ACM Computing Surveys (CSUR)
Improving software quality by improving architecture management
Proceedings of the 13th International Conference on Computer Systems and Technologies
On architecture warehouses and software intelligence
FGIT'12 Proceedings of the 4th international conference on Future Generation Information Technology
On quick comprehension and assessment of software
Proceedings of the 14th International Conference on Computer Systems and Technologies
One Graph to Rule Them All Software Measurement and Management
Fundamenta Informaticae - Concurrency, Specification and Programming
Hi-index | 0.00 |
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.