36 research outputs found

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

    No full text
    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

    How ants inspire software development

    No full text
    status: publishe

    ObjectPlaces: an environment for situated multi-agent systems

    No full text
    Situated multi-agent systems are MAS with an explicit representation of the environment, which agents can observe and in which agents can act. An appropriate middleware platform should support the construction and manipulation of such an environment. We require three properties from the environment: (1) observableness: an agent must be able to get a current view on its context; (2) activity: the environment updates the agent's current view; (3) dynamism: the environment can change without direct influence from the agents. ObjectPlaces is a tuplespace-like middleware that offers an event-based interface and a concept of dynamic objects to support these requirements.status: publishe

    Coordination Middleware for Decentralized Applications in Dynamic Networks

    No full text
    The Ph.D. work presented in this paper describes novel middleware abstractions for the support of decentralized applications in dynamic networks. Decentralized applications are characterized by the absence of an application component that has global control; a network is dynamic if its composition changes frequently and unexpectedly over time. In such a domain, application components are necessarily spread over the network nodes and need to coordinate among each other to achieve the application's functionality. The goal of the Ph.D. research is to support this coordination by suitable middleware abstractions. We describe two prototypes that were built with this goal in mind. First, a middleware supporting views, abstractions for representing and maintaining context information in a mobile ad hoc network is presented. A second middleware, that enables protocol-based interaction in mobile networks by supporting roles as a first order abstraction, is described. The application of this second middleware in a real world case study of automatic guided vehicle control is presented, showing its usefulness. Ongoing and further research in this area is discussed

    A Pheromone-Based Coordination Mechanism Applied in P2P

    No full text
    In this paper, we discuss the principle of synthetic pheromones, which we view as a high level coordination mechanism suitable for highly scalable, open and self-organized systems, of which peer to peer systems are an example. We present a stable abstraction for the application of synthetic pheromones, building on an existing coordination mechanism, objectspaces. The coordination principle is evaluated on the problem of search in a file-sharing P2P system

    to do or not to do: The Individual's Model for Emergent Task Allocation

    No full text
    status: publishe

    T.: Middleware for protocol-based coordination in dynamic networks

    No full text
    Pervasive and ad hoc computing applications are frequently deployed in dynamic networks. Due to mobility of the computing nodes, their unreliability, or a limited communication range, at any time a node may enter or leave an interaction between a group of application components. Middleware approaches have been proposed to deal with these dynamics, by supporting the dissemination (or gathering) of information in dynamic networks. In our experience however, applications frequently need to execute a complete protocol to coordinate. Existing middleware can then be used as a discovery mechanism, but offers no support for handling the protocol itself. This paper presents a middleware model that enables an easier implementation of distributed protocols that need to take into account the continuously changing context in the dynamic network. It uses roles as a first order abstraction, handles the distributed instantiation of roles in an interaction session, and maintains the session as nodes in the mobile network move. We describe our experience with applying the middleware in a case study on a system of automatic guided vehicles

    Middleware for Protocol-Based Coordination in Mobile Applications

    No full text
    In distributed mobile applications, component interaction is complicated by dynamics in the environment. ObjectPlaces middleware supports the development of interaction protocols in dynamic, mobile environments to facilitate component coordination. Distributed mobile applications offer application developers unprecedented flexibility because mobile network nodes move around freely while also staying connected to the wireless network. Distributed applications gain mobility at a price, however: because application components are deployed on mobile nodes, the components must contend with the context changes that a dynamic network entails. This is particularly challenging for coordination, which involves aligning distributed components ’ behavior to achieve an application’s overall requirements. This coordination is typically accomplished through a distributed protocol—that is, an exchange of multiple, related messages among application components on different nodes. In mobile applications, nodes continuously come and go and change interaction partners, complicating this exchange. For protocol-based coordination, existing middleware approaches—such as publish/subscribe systems or tuplespaces-based systems (see the "Related Work " sidebar)—support the initial interaction partner discovery, but don’t support interaction partner maintenance over prolonged interaction sessions or easy protoco
    corecore