Model Transformation at Runtime for Dynamic Adaptation in Distributed Groupware
MetadataShow full item record
Adaptive distributed systems have the potential to revolutionize how humans and computers interact. They can enable software to adapt to dynamic human demands, as users change their focuses, goals, locations and devices. However, producing these systems is currently very challenging: developers must solve daunting user interface issues while mired in distributed systems problems. We present a new class of toolkit, intended to ease the development of adaptive distributed systems. Unlike existing alternatives, we provide a high-level programming model in which developers can easily specify runtime adaptations. Meanwhile, our toolkit automatically generates a fast and tunable implementation. Partial failures in the distributed system are reflected back into the high-level programming model. As a result, developers can remain insulated in their high-level model while building highly-dynamic, high-performance and failure-resistant applications. Our Fiia.Net toolkit relies on model transformation at runtime to bridge between the programmer's high-level model and the actual implementation of the distributed system. Our novel model transformation is the first that can practically maintain this transformation, and enables our toolkit to easily support user-driven adaptations, dynamic optimization and self-healing.