This document discusses supporting architectural variability in software product lines. It begins with an overview of software product lines and product line architectures. It then discusses implementing variability at the architectural level using tactics and design patterns. Tactics aim to achieve certain quality attributes, and there are theories linking concerns to tactics and designs. Feature models can be used to represent relationships between tactics and design alternatives. Tactics can also be implemented using configuration options like in cloud computing platforms. Relating tactics to configuration options allows automatically deriving architectural designs based on quality attribute requirements.
Related topics: