Abstractions for Software Architecture and Tools to Support Them
IEEE Transactions on Software Engineering - Special issue on software architecture
Dynamic structure in software architectures
SIGSOFT '96 Proceedings of the 4th ACM SIGSOFT symposium on Foundations of software engineering
Using object-oriented typing to support architectural design in the C2 style
SIGSOFT '96 Proceedings of the 4th ACM SIGSOFT symposium on Foundations of software engineering
A formal basis for architectural connection
ACM Transactions on Software Engineering and Methodology (TOSEM)
A Classification and Comparison Framework for Software Architecture Description Languages
IEEE Transactions on Software Engineering
Using Patterns to Model Variability in Product Families
IEEE Software
An Event-Based Architecture Definition Language
IEEE Transactions on Software Engineering
ABC/ADL: An ADL Supporting Component Composition
ICFEM '02 Proceedings of the 4th International Conference on Formal Engineering Methods: Formal Methods and Software Engineering
XVCL: XML-based variant configuration language
Proceedings of the 25th International Conference on Software Engineering
Acme: an architecture description interchange language
CASCON '97 Proceedings of the 1997 conference of the Centre for Advanced Studies on Collaborative research
ICSE '76 Proceedings of the 2nd international conference on Software engineering
Mae---a system model and environment for managing architectural evolution
ACM Transactions on Software Engineering and Methodology (TOSEM)
A customizable approach to full lifecycle variability management
Science of Computer Programming - Special issue: Software variability management
A comprehensive approach for the development of modular software architecture description languages
ACM Transactions on Software Engineering and Methodology (TOSEM)
Pattern-based Variability Management in Web Service Development
ECOWS '05 Proceedings of the Third European Conference on Web Services
Variability management in software product line engineering
Proceedings of the 28th international conference on Software engineering
Modeling Product Line Architectures through Change Sets and Relationships
ICSE '07 Proceedings of the 29th international conference on Software Engineering
A Case Study of Variation Mechanism in an Industrial Product Line
ICSR '09 Proceedings of the 11th International Conference on Software Reuse: Formal Foundations of Reuse and Domain Engineering
Issues in mapping change-based product line architectures to configuration management systems
Proceedings of the 13th International Software Product Line Conference
Language support for managing variability in architectural models
SC'08 Proceedings of the 7th international conference on Software composition
Hi-index | 0.00 |
Product Line Architecture (PLA) plays a central role in software product line development. In order to support architecture-level variability modeling, most architecture description languages (ADLs) introduce architectural variation elements, such as optional component, connector and interface, which must be customized during product derivation. Variation elements are many, and design and customization of PLA at the level of individual variation elements are difficult and error-prone. We observed that developers usually perceive architecture variability from the perspective of variant features or variant design decisions that are mapped into groups of architecture variation elements. In the paper, we describe heuristics to identify configurations of variation elements that typically form such groups. We call them variation constructs. We developed an architecture variability management method and a tool that allow developers to work at the variation construct level rather than at the level of individual variation elements. We have applied and evaluated the proposed method in the development and maintenance of a medium-size financial product line. Our experience indicates that by raising variability modeling from variation element to construct level, architecture design and customizations become more intuitive. Not only does our method reduce the design and customization effort, but also better ensures consistent configuration of architectural variation elements, avoiding errors.