Supporting Coordination in Mobile Networks: a Middleware Approach (Ondersteuning van coördinatie in mobiele netwerken door middel van een middleware platform)

Abstract

Draadloze communicatie en de steeds groter wordende miniaturisering van computerapparaten, verhoogt de ontwikkeling en het gebruik van zogenaamde mobiele software toepassingen. Mobiele toepassingen voeren uit op knopen die zelf kunnen bewegen, terwijl ze draadloos verbonden blijven met het netwerk. Mobiele toepassingen worden gekenmerkt door (1) hun noodzaak om rekening te houden met hun fysische omgeving, typisch context genoemd; (2) hun noodzaak om om te gaan met dynamiek en onverwachte gebeurtenissen uit hun context. Deze thesis stelt ten eerste twee rogrammeerabstracties voor, views en rollen, die het ontwerpen en implementeren van mobiele toepassingen vergemakkelijken door tegemoet te komen aan de twee bovenstaande noden. Ten tweede, worden twee alternatieve implementatiestrategieën voor een middleware platform dat beide abstracties ondersteunt, voorgesteld en geëvalueerd. Ten derde wordt de bruikbaarheid van beide abstracties nagegaan in een industriële toepassing. De eerste abstractie, een view, is een automatisch onderhouden verzameling van data objecten, die kopieën of representaties zijn van data objecten verkregen van een aantal knopen in het netwerk. De middleware automatiseert het verzamelen van de data objecten van de knopen, en onderhoudt het view terwijl de data objecten en knopen continu veranderen. De tweede abstractie, een rol, bevat het gedrag van een component van de toepassing die deelneemt aan de uitvoering van een protocol. De middleware automatiseert het starten en onderhouden van een sessie van het protocol uitgevoerd tussen een aantal componenten, terwijl de deelnemers aan het protocol omwille van hun mobiliteit continu wijzigen. Twee implementatie strategieën voor een middleware platform ter ondersteuning van beide abstracties worden voorgesteld, respectievelijk voor mobiele en voor mobiele ad hoc netwerken. Beide strategieën worden analytisch en empirisch gevalideerd, om het effect van (soms oncontroleerbare) parameters na te gaan op bandbreedte-verbruik en betrouwbaarheid. De validatie toont aan dat beide implementaties praktisch bruikbaar zijn. De bruikbaarheid van de abstracties wordt nagegaan door ze toe te passen in een controle toepassing voor onbemande voertuigen. De voertuigen moeten automatisch ladingen verplaatsen in een magazijn of fabriek. Uitdagende problemen zoals vermijden van botsingen, vermijden van deadlock, en toewijzen van taken worden met behulp van het middleware platform opgelost. Dit levert sterke aanwijzingen op dat de abstracties en middleware het ontwikkelen van mobiele applicaties vereenvoudigen en versnellen.1 Introduction 1 1.1 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.3 Approach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.4 Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 1.5 Overview of the Text . . . . . . . . . . . . . . . . . . . . . . . . . 9 2 Background 11 2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.2 Communication Mechanisms for Coordination in Distributed Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.3 Modularising Coordination . . . . . . . . . . . . . . . . . . . . . 20 2.4 Scope of the Thesis . . . . . . . . . . . . . . . . . . . . . . . . . . 26 2.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 3 Objectplaces 33 3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 3.2 Concepts and Definitions . . . . . . . . . . . . . . . . . . . . . . 34 3.3 Basic Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 3.4 Composed Operations . . . . . . . . . . . . . . . . . . . . . . . . 40 3.5 Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 3.6 Related Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 3.7 Summary and Conclusion . . . . . . . . . . . . . . . . . . . . . . 44 4 Views 45 4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 4.2 Concepts and Definitions . . . . . . . . . . . . . . . . . . . . . . 48 4.3 Gathering and Maintaining View Content . . . . . . . . . . . . . 50 4.4 Constructing View Representations . . . . . . . . . . . . . . . . . 53 4.5 Object-Oriented Interface . . . . . . . . . . . . . . . . . . . . . . 54 4.6 Quality of Views . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 4.7 Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 4.8 Related Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 4.9 Summary and Conclusion . . . . . . . . . . . . . . . . . . . . . . 61 5 Roles 63 5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 5.2 Concepts and Definitions . . . . . . . . . . . . . . . . . . . . . . 66 5.3 Support for Interaction Session Setup and Maintenance . . . . . 69 5.4 Support for Design of a Role’s Behaviour . . . . . . . . . . . . . 78 5.5 Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 5.6 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 5.7 Related Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 5.8 Summary and Conclusion . . . . . . . . . . . . . . . . . . . . . . 92 6 Architecture and Implementation 93 6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 6.2 Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 6.3 Group Formation Implementation for Mobile Networks . . . . . . 102 6.4 Group Formation Implementation for Mobile Ad Hoc Networks . 105 6.5 Other Implementation Options . . . . . . . . . . . . . . . . . . . 126 6.6 Related Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 6.7 Summary and Conclusions . . . . . . . . . . . . . . . . . . . . . . 130 7 Application and Validation in AGV Control 131 7.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 7.2 AGV Control Application . . . . . . . . . . . . . . . . . . . . . . 132 7.3 Collision Avoidance . . . . . . . . . . . . . . . . . . . . . . . . . 139 7.4 Deadlock Avoidance . . . . . . . . . . . . . . . . . . . . . . . . . 154 7.5 Transport Assignment using Gradient Fields . . . . . . . . . . . . 162 7.6 Summary and Conclusion . . . . . . . . . . . . . . . . . . . . . . 167 8 Conclusions 169 8.1 Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 8.2 Open Problems and Future Work . . . . . . . . . . . . . . . . . . 172 A Collision Avoidance Protocol 191 A.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191 A.2 Invariant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192 A.3 Maintaining the Invariant . . . . . . . . . . . . . . . . . . . . . . 193 B Deadlock Prevention 197 B.1 Step 1: Building a wait-for graph . . . . . . . . . . . . . . . . . . 197 B.2 Step 2: Construction of deadlock zones . . . . . . . . . . . . . . . 198 B.3 Step 3: Preventing deadlock using zones . . . . . . . . . . . . . . 199 B.4 Ordering of the Nodes in a Zone . . . . . . . . . . . . . . . . . . 200 B.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201nrpages: 201+viiistatus: publishe

    Similar works

    Full text

    thumbnail-image

    Available Versions