Software Engineering for Service-Oriented Systems and Autonomic Systems

Service-Oriented Computing is an emerging paradigm where services are understood as autonomous, platform-independent computational entities that can be described, published, categorised, discovered, and dynamically assembled for developing massively distributed, interoperable, evolvable systems and applications. In this course a model-driven approach to the development of service-oriented software systems is presented where foundational theories and techniques are integrated in a pragmatic software engineering approach. In particular, an introduction to modelling service-oriented systems in a diagrammatic style with UML is given and their formal foundations in terms of process algebra and automata are presented. It will be shown how mathematical models can be generated by model transformations and further used for qualitative and quantitative analysis of service-oriented software.