Tool support for optimization-based architectural evaluation
Tariq Al-Naeem, Ian Gorton, Fethi Rabhi, Boualem Benatallah · 2005
Architecting enterprise applications is a complex design activity. This is especially true when considering the myriad of interdependent architectural decisions with an arbitrary number of alternatives that can be employed at each decision point. Further complexities stem from the fact that different alternatives often vary considerably in their support for different quality attributes. Existing software architecture evaluation approaches and tools lack the explicit consideration of design decision interdependencies, as they primarily focus on one decision in isolation. For this purpose, we have earlier developed the ArchDesigner approach to help determining the optimal mix of architectural alternatives. This paper discusses an architectural evaluation support tool that implements the ArchDesigner approach. The novelty of this tool is in its support for evaluating combinations of alternatives against one other, and not only alternatives belonging to one decision. It treats the architectural evaluation problem as a search problem and leverages optimization techniques for evaluating candidate application architectures.