Modular and flexible software components can be useful for reuse across a class of domain-specific applications or product lines. By varying the composition of components suited to a particular product line, an assortment of applications can be developed to support differing operational needs. A top-down approach to the design components for a specific application may be effective, however a more evolutionary approach is needed to support the specification of components suited for a class of applications. In addition, such evolutionary approaches require support for the knowledge transfer that must occur from domain experts, who are not software experts, to skilled software engineers. By combining concepts from Software Product Line Development (SPLD) and other evolutionary design techniques, a new, use case-driven approach has been created called Component-Based Product Line Analysis and Design (C-PLAD). This approach was used to develop components in the domain of image-guided surge...
M. Brian Blake, Kevin Cleary, Sohan Ranjan, Luis I