Lecture Notes in Computer Science, 2002, Volume 2379/2002, 83-119, DOI: 10.1007/3-540-45652-X_7

Product Line Architecture and the Separation of Concerns

Jay van Zyl

View Related Documents

Abstract

Software product lines present many benefits over the traditional methods of building systems. With the diverse implementation of product lines, organizations are faced with complex design constraints. Layered architectures assist with breaking down complexity through separating architectural elements based on their use and applicability. It is difficult to achieve high levels of reuse and productivity by focusing on one architectural style. This paper discusses three primary concepts, namely, the product line architecture, the separation continuum and application assembly. It starts by presenting a product line architectural view that shows how various concepts are separated based on abstraction. The separation continuum shows how vertical and horizontal layering can assist with separating user interface from business logic and data at an implementation level, and the separation of customer facing processes from infrastructure facing processes at a business or abstract level. An application assembly approach is discussed whereby a product line architecture is tied to the separation continuum, showing how high levels of productivity can be achieved when realizing product lines. The approach presented in this paper is still under development with implementation on a limited number of product lines only. It is intended that the content will provoke and stimulate the thinking and experimentation needed to deal with application assembly by means of having a product line architecture overlaid onto a separation continuum.

Keywords  product line - architecture - separation of concerns - separation continuum - patterns - software assembly

Fulltext Preview

Image of the first page of the fulltext document