A Practical Example of Applying Attribute-Driven Design (ADD), Version 2.0
journal contributionposted on 01.02.2007 by William Wood
Any type of content formally published in an academic journal, usually following a peer-review process.
This report describes an example application of the Attribute-Driven Design (ADD) method developed by the Carnegie Mellon Software Engineering Institute. The ADD method is an approach to defining a software architecture in which the design process is based on the quality attribute requirements the software must fulfill. ADD follows a recursive process that decomposes a system or system element by applying architectural tactics and patterns that satisfy its driving quality attribute requirements. The example in this report shows a practical application of the ADD method to a client-server system. In particular, this example focuses on selecting patterns to satisfy typical availability requirements for fault tolerance. The design concerns and patterns presented in this report-as well as the models used to determine whether the architecture satisfies the architectural drivers-can be applied in general to include fault tolerance in a system. Most of the reasoning used throughout the design process is pragmatic and models how an experienced architect works.