Beschreibung
In the last decade, we have observed a massive trend towards a new generation of data-intensive systems which impacted the way we design our systems. Modern software architectures increasingly promote the design of distributed systems. These software architectures commonly also favor asynchronous processing to achieve qualities such as high availability. In consequence, data is only eventually consistent, and eventual consistency poses a number of tough concurrency-related challenges to software architects and developers. The research question of this thesis is: How can safe eventually consistent systems be architected in a targeted way? We propose a novel software architecture design methodology together with a novel asynchronous transaction processing model that is more suitable for the requirements of modern software architectures. Our evaluation results show that our solution is effective, as the occurrence of severe concurrency anomalies can be avoided. Further, practitioners participating in our studies perceive our design methodology to be useful. Altogether, our evaluation results indicate that our solution has the potential to be adopted by practitioners at broad scale.