Software architecture transformations

Fahmy Fahmy, Holt

2000 · 27 citations · 20 references

Concepts

Abstract

In order to understand and improve software, we commonly examine and manipulate its architecture. For example, we may want to examine the architecture at different levels of abstraction or zoom-in on one portion of the system. We may discover that the extracted architecture has deviated from our mental model of the software and hence we may want to repair it. The paper identifies the commonality between these architectural transformation actions, i.e., by manipulating the architecture in order to understand analyze, and modify the software structure, we are in fact performing graph transformations. We categorize useful architectural transformations and describe them within the framework of graph transformations. By describing them in a unified way, we gain a better understanding of the transformations and thus, can work towards modeling, specifying and automating them.

References

20