Simulating software architecture evolution in ARAMIS

Growing and changing requirements make software architecture evolution inevitable in real world software systems. Software architects have to assess, improve and ensure the quality of software systems during their evolution. Evolving software systems is a complex and expensive process, that has to planned accurately. However, tool support that sustains architecture is rarely available. With this master thesis we present an approach for simulation and evaluation of software architecture evolution. It assists architects in planning and reasoning about software architecture evolution. Our approach is based on finding target architectures by simulating changes that will be applied to the architecture using evolution operators. It uses the Architecture Analysis and Monitoring Infrastructure (ARAMIS), a tool-supported framework for run-time monitoring, communication integrity validation, evaluation and visualization of the behavior view of software architectures. With our approach we map the monitored behavior of a software system onto its evolved prescriptive architecture as resulted during simulation. Furthermore, our solution permits to describe benefits and costs of the simulated evolution variants and thus support their comparison using various evolution strategies that can be flexibly defined and applied.

Project information



Thesis for degree:



Artjom Göringer