Many persons have contributed to this thesis and I want to thank them for their support. First of all, I have to thank my advisor Prof. Alejandro Buchmann for his demanding questions, his continuous support, and his patience. Without his support this work would not have been possible. My co-advisor Prof. Mira Mezini managed to point me to the engineering issues, which considerably strengthened the statements made in this thesis. Current and past colleagues at database and distributed systems group at TU Darmstadt provided a wonderful working environment. Especially Mariano Cilia, Felix C. Gärtner, Gero Mühl, and Andreas Zeidler endured many discussions that helped me forming my ideas, and without Gero the whole Rebeca project wouldn't have started at all. Last but not least, I have to thank my family for all their patience and support. And it is always good to get a reminder once in a while where real life takes place. Publications Parts of this thesis are based on previous publications. Excerpts of Chapter 2 on the formal specification of event-based systems are published as joint work with Gero Mühl and Felix C. Gärtner [113, 114, 115]. The discussion about content-based filters and routing in the Rebeca notifications service is based on joint work with Gero Mühl [214, 216]. The basis for Chapter 3 was published together with Mira Mezini, Gero Mühl, Felix C. Gärtner, and Alejandro P. Buchmann [110, 111, 115]. Some of the routing and security issues are published in [117]. The disussion of scalability in Chapter 5 is motivated by joint work with Gero Mühl, Felix C. Gärtner, and Alejandro P. Buchmann [217]. A number of additional publications have been published during the time this thesis was prepared [