Affirmation / Ehrenwörtliche Erklärung I hereby declare that I have written the following thesis without the inadmissible assistance of third parties and using only the indicated sources and aids. All instances in which outside sources were used have been marked accordingly. This work has not been presented to any test authority in its current or in a similar form. Hiermit versichere ich, die vorliegende Doktorarbeit ohne Hilfe Dritter und nur mit den an-gegebenen Quellen und Hilfsmitteln angefertigt zu haben. Alle Stellen, die aus den Quellen entnommen wurden, sind als solche kenntlich gemacht worden. Diese Arbeit hat in gleicher oder ähnlicher Form noch keiner Prüfungsbehörde vorgelegen. Darmstadt, March 2013 Benjamin Schmeling Acknowledgments My sincere thanks go to Prof. Dr. Mira Mezini and Prof. Dr. Tai for their support and guidance during my Ph.D. work as well as to my colleague Anis Charfi for his advice, guidance and help throughout the rendering of this Ph.D. thesis. He contributed much of his time in fruitful discussion with me about new ideas and their realization. I am also grateful for the excellent support from SAP Research and my colleague Steffen Heinzl for the many valuable discussions on my Ph.D. thesis, and in this regard I would also like to thank Mohamed Aly, Heiko Witteborg, Francesco Novelli and all the other colleagues. My students Rainer Thome, Marko Martin and Ajay Sagar contributed to the work described in this thesis by implementing parts of the modeling tool and code generator in the context of their theses. A well-deserved word of appreciation is also in order for Evelyn Nichols for her efforts to improve my English. Finally, I extend my profound gratitude to my family for their unwavering support throughout my studies, which ultimately helped to make their successful conclusion and this thesis a reality. I authored this paper while working as a research associate at SAP Research, during which time I contributed to projects PREMIUM|Services (01IA08003A) and InDiNet (01IC10S04A) which were partially funded by the German Federal Ministry of Education (BMBF). Hence, I thank the BMBF for its financial support. Abstract In software development, two types of concerns must generally be addressed: functional and non-functional ones. Functional concerns relate to the main or core functionality of a software, whereas non-functional concerns represent quality characteristics of the same. It is widely accepted that the two types of concerns should be strictly separated from one another to increase maintainability, understandability and reusability of a software. In component-based software systems, this strict separation of concerns results in the implementation of the respective concerns as functional as well as non-functional components. From the current perspective, web services are the prevalent technology for implementing such component-based software systems. They adhere to open standards and describe a well-defined interface which is strictly separated from the implementation of the ser...