The Architecture Based Design Method
January 2000 • Technical Report
Felix Bachmann, Len Bass, Gary Chastek, Patrick Donohoe, Fabio Peruzzi
This paper presents the Architecture Based Design (ABD) method for designing the high-level software architecture for a product line or long-lived system.
Software Engineering Institute
CMU/SEI Report Number
This paper presents the Architecture Based Design (ABD) method for designing the high-level software architecture for a product line or long-lived system. Designing an architecture for a product line or long-lived system is difficult because detailed requirements are not known in advance. The ABD method fulfills functional, quality, and business requirements at a level of abstraction that allows for the necessary variation when producing specific products. Its application relies on an understanding of the architectural mechanisms used to achieve this fulfillment.
The method provides a series of steps for designing the conceptual software architecture. The conceptual software architecture provides organization of function, identification of synchronization points for independent threads of control, and allocation of function to processors. The method ends when commitments to classes, processes and operating system threads begin to be made. In addition, one output of the method is a collection of software templates that constrain the implementation of components of different types. The software templates include a description of how components interact with shared services and also include "citizenship" responsibilities for components.