Wins and Losses of Algebraic Transformations of Software Architectures

  • Authors:
  • H. M. Fahmy;R. C. Holt;James R. Cordy

  • Affiliations:
  • -;-;-

  • Venue:
  • Proceedings of the 16th IEEE international conference on Automated software engineering
  • Year:
  • 2001

Quantified Score

Hi-index 0.00

Visualization

Abstract

In order to understand, analyze and modify software, wecommonly examine and manipulate its architecture. Forexample, we may want to examine the architecture atdifferent levels of abstraction. We can view suchmanipulations as architectural transformations, and morespecifically, as graph transformations. In this paper, weevaluate relational algebra as a way of specifying andautomating the architectural transformations.Specifically, we examine Grok, a relational calculatorthat is part of the PBS toolkit. We show that relationalalgebra is practical in that we are able to specify many ofthe transformations commonly occurring during softwaremaintenance and, using a tool like Grok, we are able tomanipulate, quite efficiently, large software graphs; thisis a "win". However, this approach is not well suited toexpress some types of transforms involving patterns ofedges and nodes; this is a "loss". By means of a set ofexamples, the paper makes clear when the approach winsand when it loses.