Software Engineering Institute Carnegie Mellon

SEI Architecture Expert Design Assistant (ArchE)

Challenges

Quality attributes such as performance and modifiability are driving forces that influence the “shape” of a software architecture. Most architects and designers do not possess the requisite depth and bread of quality attribute knowledge. Therefore architects and designers need tool support that will

  • provide quality attribute knowledge at a depth and breadth that is not reasonable for an architect to have
  • aid in making tradeoffs between quality attributes
  • provide detailed analyses of particular quality attribute options

Overview

The Architecture Expert (ArchE) tool is an assistant to the architect. It embodies quality attribute theories; techniques for converting an architectural description into an appropriate quality attribute model; techniques for evaluating the quality attribute model to determine a predicted response in given situations; and the ability to input legacy designs.

Benefits

ArchE suggests alternative design choices that would benefit an architectural design in view of quality attribute requirements and it enables architects and designers to quickly explore these alternatives in of view of their impact on quality attribute requirements.

Who Would Benefit

Software architects and software designers.

Description

ArchE uses three different types of input: (1) the quality attribute requirements for the system being designed, (2) the set of features that the system should support, and (3) any legacy design.

From the features, ArchE abstracts a set of responsibilities that the system under design will compute. The quality attribute requirements also imply certain responsibilities. The legacy design includes responsibilities as well. From these sources, ArchE constructs a representation of the responsibilities and the dependencies among them. In one type of dependency, one responsibility may need to be computed prior to another. In another type of dependency, one responsibility may be decomposed into several other responsibilities.

The architect interacts with ArchE to identify the dependencies among the responsibilities. The architect also interacts with ArchE to provide properties such as the execution time that the quality attribute models of ArchE require in order to predict quality attribute behavior.

ArchE then creates an initial architecture and shows the architect this initial architecture, how well it satisfies the quality attribute requirements, and a series of suggestions for improvements to the architecture (based on the use of architectural tactics). The architect selects an option, and ArchE applies it to the architecture, calculates how well the revised architecture satisfies the quality attribute requirements, and so forth.

This process continues until the architect is satisfied with the current design.

Recently, we have developed a collaborative infrastructure called the ArchE Reasoning Framework Interface that allows third parties to contribute reasoning frameworks to ArchE.

Availability

ArchE is distributed free of charge by the SEI for non-commercial use only. The SEI will work with a customer architecture or design team to apply ArchE to the problem.

Additional Information

Contact us for additional details on the Architecture Expert Design Assistant (ArchE).