Self-adaptation supporting multimedia interaction in large-scale real-time systems L. Provensi, F. Eliassen, and R. Vitenberg Department of Informatics, University of Oslo Verdione Project Self-adaptation Develop a platform that allows people who are distributed around the globe to interact with each other as though they were co-located Ability of a software system to automatically evaluate its internal state and external environment and modify its own behavior accordingly World Opera Opera houses spread all over the globe interact to perform distributed operas Each house controls a set of subsystems and services offered to the audience Sharing of real time media content in a highly heterogeneous environment Some examples of self-adaptive behavior for World Opera Dynamic adjustment of media quality according to network condition / device resources Automatic discovery and configuration of services for audience using mobile devices Management of media streams and exchange of media flows for other kinds of lightweight virtual representation Subtitles Problems with current frameworks for selfadaptation Scores Info Requirements Novel mechanisms for self-adaptation that are: • Flexible – can be customized according to the needs, of different stakeholders and executing environment; • Dynamically tunable – Performance and resource consumption can be controlled at runtime • Scalable – Decentralized management of adaptation services. • Do not consider the adaptation requirements of all stakeholders; • Scalability of a centralized manager in a dynamic and ultra-large adaptation domain; • Integration of technologies in a heterogeneous environment; • Do not allow reasoning about the adaptation process. Solution Outline Based on two new features that can be integrated into the self-adaptation mechanism: 1 Feedback Control Loop (FCL) design model The mechanism is designed as a set of interacting control functions (monitoring, analyzing, planning, effecting) that can be independently implemented and deployed. 2 Quality of Adaptation Qualitative properties of the control functions are exposed at runtime (response time, memory usage, etc.) and used to dynamically evaluate the efficiency of the adaptation mechanism. MW2 MW5 Adaptation Services Adaptation Services Analyze Middleware1 Adaptation Manager Analyze Plan Knowledge Base Execute A1 M R1 M Subscribe Adaptation Services D1 Monitor D2 MW1 Publish D6 C1 Knowledge Base Broker MW4 Publish Adaptation Services M MW3 Publish E D4 Adaptation Services D3 Centralized adaptation manager running on one middleware instance and executing all control functions D5 Publish E S1 Plan M E P Decentralized adaptation services running on several middleware instances and interacting remotely (e.g. using Publish/Subscribe )