The advent of wireless networking technologies in combination with the decreasing size of yet more powerful computing devices have led to the emergence of new applications to be deployed in mobile environments. Users equipped with mobile devices are able to spontaneously collaborate with each other in an ad-hoc manner. However, when deploying cooperative applications in mobile environments, one has to provide suitable means to cope with the characteristics of these environments. Due to the mobility of participants and the wireless networking technologies, mobile networks are more dynamic than fixed networks. As resources of mobile networks expose a temporary nature, failures of any kind are no longer the exceptional case. Suitable forward error-handling mechanisms which still allow for successful execution of an application in case of failure, as well as backward failure-recovery mechanisms, which avoid inconsistent system states, have to be integrated. In this thesis, an integrated approach of transactional support of ad-hoc collaborations with service discovery in mobile environments is presented. The objective is to ensure reliable support while respecting the autonomy of mobile devices. Ad-hoc collaborations are implemented as service compositions, specified as workflows. We present a service discovery protocol for ad-hoc scenarios which exploits the mobility of nodes: It adapts to the current context of nodes and thereby ensures high availability of information and decreases the number of messages if possible. On the other hand, it enables discovery and usage of remote services which are not in the direct vicinity of nodes. This protocol builds the foundation for ad-hoc collaboration, as composition at runtime is only possible, if services may be discovered in the first place. On the other hand, it allows for forward failure-handling, as it enables finding of alternatives. The core contribution of this thesis is an adaptive workflow management system: It explores transactional properties of services and employs semi-atomicity as the correctness criterion to allow for reliable yet autonomous coupling of services. Workflows are verified at runtime. If the verification fails, they are adapted during the execution to ensure correct termination in any case. Furthermore, the adaptive workflow management system enables autonomy to participating devices whenever possible, thus abandons from tight coupling of services to transaction phases. We prove that our approach produces optimal results regarding the autonomy of services. We present analytical and experimental evaluation results which confirm the applicability of our integrated approach: As opposed to existing pessimistic approaches which ensure correctness by tight coupling of components, it considerably increases the autonomy of services. In comparison to optimistic approaches, it allows for integration of diverse (i.e., non-compensatable) services by still ensuring correct execution in any case. In summary, our approach is a hybrid approach which ensures correctness in any case yet autonomous coupling of services whenever possible.
Das Aufkommen drahtloser Netzwerke in Kombination mit kleiner und gleichzeitig leistungsstärker werdenden Geräten ermöglicht neuartige Anwendungen für mobile Umgebungen. Benutzer, die über ein mobiles Gerät verfügen, können spontan mit anderen verfügbaren Teilnehmern kooperieren. In dieser Arbeit wird ein integrierter Ansatz zur transaktionalen Unterstützung von ad-hoc Kollaborationen und Dienstfindung vorgestellt. Zielsetzung dabei ist, die Unterstüzung verlässlich zu gestalten und trotzdem Autonomie der Teilnehmer zu gewährleisten. Spontane Kooperationen werden als komponierte Dienste implementiert, die als Workflows spezifiziert sind. Wir präsentieren ein Dienstfindungsprotokoll für mobile ad-hoc Szenarien, das die Mobilität der Knoten wie folgt ausnutzt: Es passt sich an die momentanen Gegebenheiten an, um Nachrichten einzusparen, und ermöglicht gleichzeitig Finden und Nutzen so genannter entfernter Dienste. Durch ein solches Protokoll wird die spontane Kollaboration erst ermöglicht: Teilnehmer können nur miteinander kooperieren, wenn sie sich auch finden; zum anderen ermöglicht es Fehlerbehandlung durch dynamisches Auffinden von Alternativen zur Laufzeit. Der entscheidende Beitrag dieser Arbeit ist ein adaptives Workflow Management System. Dieses nutzt transaktionale Eigenschaften von Diensten und verwendet Semi-Atomarität als Korrektheitskriterium, um zuverlässige und dennoch lose Kopplung von Diensten zu ermöglichen. Workflows werden zur Laufzeit verifiziert und ggf. adaptiert. Zusätzlich werden sie im Fehlerfall während der Ausführung angepasst, um in jedem Fall Korrektheit zu gewährleisten. Dienste werden so weit wie möglich autonom ausgeführt, d.h., man verzichtet auf strikte Kopplung von Ausführung von Diensten an Transaktionsphasen. In der Arbeit wird gezeigt, dass der vorgestellte Ansatz stets optimale Ergebnisse bezüglich der autonomen Ausführung der Dienste gewährleistet. Analytische und experimentelle Ergebnisse bestätigen die Vorteile unseres Ansatzes: Im Gegensatz zu pessimistischen Verfahren, die zwar korrekte Ausführung garantieren, allerdings auf Kosten der Unabhängigkeit der Teilnehmer, erhöht unser Ansatz die Autonomie der Teilnehmer beträchtlich. Im Vergleich zu optimistischen Ansätzen, ermöglicht unser Ansatz, verschiedene (auch nicht kompensierbare) Dienste zu integrieren, ohne dabei die Korrektheit der Ausführung zu beeinträchtigen. Zusammenfassend lässt sich sagen, dass unser Ansatz ist ein hybrider Ansatz ist, der Korrektheit in jedem Fall und Autonomie so weit wie möglich garantiert.