Abstract
Abstract: Reusable product line software architectures and supporting components are the focus of an increasing number of software organizations attempting to reduce software costs. One essential attribute of a product line architecture is that it effectively isolate the logical, or static, aspects of the application from any product specific variations in the physical architecture, or execution environment. A primary element of this isolation is hardware and low-level software (e.g. operating system) independence. This paper describes our experiences on developing object-oriented physical architectures for large-scale reusable embedded systems, and on various ways that physical architecture attributes can be designed for flexibility without introducing volatility into the application architecture.