Capturing Architectural Configurability: Variants, Options, and Evolution
André van der Hoek, Dennis M. Heimbigner, Alexander L. Wolf · 1999
Although meant to be relatively stable The architecture of a software system does, at times, change This simple get important observation immediately raises the question of how changes to an architecture should be captured Current architecture description languages are not well-suited for this purpose, but existing techniques from the discipline of configuration management can be adapted to provide a solution In particular, we propose a novel representation, called configurable software architecture, that extends the traditional notion of software architecture with the concepts of variants, options, and evolution We discuss the details of the representation, present an environment that allows the specification of configurable software architectures, and highlight a few of the opportunities that we believe arise once architectural configurability can be precisely captured.