Issue No.05 - September/October (2008 vol.23)
J. Andrés Díaz-Pace , Carnegie Mellon University
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/MIS.2008.78
A software architecture is a blueprint that captures the main design decisions for a system. When designing an architecture, the architect normally evaluates multiple solutions, making a balance among architectural patterns that affect several quality attributes (for example, performance, modifiability, and so on). In this exploration of the design space, the architectural knowledge directs the search toward a good-enough solution. Although decision-making still relies on the architect's expertise, a novel architectural design theory has been recently developed to move more systematically from quality attributes to architectural decisions. In this content, we describe a framework called DesignBots to search for design alternatives, in which the concepts of that theory are mapped to a hierarchical and mixed-initiative planning model. Essentially, quality-attribute scenarios are considered as goals achievable by combinations of patterns that are instantiated by the planning engine. This approach fosters the development of proactive assistants to support architectural design activities.
architectural design framework, AI planning, tool support, quality attributes
J. Andrés Díaz-Pace, "Exploring Alternative Software Architecture Designs: A Planning Perspective", IEEE Intelligent Systems, vol.23, no. 5, pp. 66-77, September/October 2008, doi:10.1109/MIS.2008.78