  Diversity is prevalent in modern software systems. Several system variants
exist at the same time in order to adapt to changing user requirements.
Additionally, software systems evolve over time in order to adjust to
unanticipated changes in their application environment. In modern software
development, software architecture modeling is an important means to deal with
system complexity by architectural decomposition. This leads to the need of
architectural description languages that can represent spatial and temporal
variability. In this paper, we present delta modeling of software architectures
as a uniform modeling formalism for architectural variability in space and in
time. In order to avoid degeneration of the product line model under system
evolution, we present refactoring techniques to maintain and improve the
quality of the variability model. Using a running example from the automotive
domain, we evaluate our approach by carrying out a case study that compares
delta modeling with annotative variability modeling.
