9 research outputs found

    KLAIM: A Kernel Language for Agents Interaction and Mobility

    Get PDF
    We investigate the issue of designing a kernel programming language for mobile computing and describe KLAIM, a language that supports a programming paradigm where processes, like data, can be moved from one computing environment to another. The language consists of a core Linda with multiple tuple spaces and of a set of operators for building processes. KLAIM naturally supports programming with explicit localities. Localities are first-class data (they can be manipulated like any other data), but the language provides coordination mechanisms to control the interaction protocols among located processes. The formal operational semantics is useful for discussing the design of the language and provides guidelines for implementations. KLAIM is equipped with a type system that statically checks access rights violations of mobile agents. Types are used to describe the intentions (read, write, execute, etc.) of processes in relation to the various localities. The type system is used to determine the operations that processes want to perform at each locality, and to check whether they comply with the declared intentions and whether they have the necessary rights to perform the intended operations at the specific localities. Via a series of examples, we show that many mobile code programming paradigms can be naturally implemented in our kernel language. We also present a prototype implementaton of KLAIM in Java

    KLAIM: a kernel language for agents interaction and mobility

    Full text link

    Context Aware Service Oriented Computing in Mobile Ad Hoc Networks

    Get PDF
    These days we witness a major shift towards small, mobile devices, capable of wireless communication. Their communication capabilities enable them to form mobile ad hoc networks and share resources and capabilities. Service Oriented Computing (SOC) is a new emerging paradigm for distributed computing that has evolved from object-oriented and component-oriented computing to enable applications distributed within and across organizational boundaries. Services are autonomous computational elements that can be described, published, discovered, and orchestrated for the purpose of developing applications. The application of the SOC model to mobile devices provides a loosely coupled model for distributed processing in a resource-poor and highly dynamic environment. Cooperation in a mobile ad hoc environment depends on the fundamental capability of hosts to communicate with each other. Peer-to-peer interactions among hosts within communication range allow such interactions but limit the scope of interactions to a local region. Routing algorithms for mobile ad hoc networks extend the scope of interactions to cover all hosts transitively connected over multi-hop routes. Additional contextual information, e.g., knowledge about the movement of hosts in physical space, can help extend the boundaries of interactions beyond the limits of an island of connectivity. To help separate concerns specific to different layers, a coordination model between the routing layer and the SOC layer provides abstractions that mask the details characteristic to the network layer from the distributed computing semantics above. This thesis explores some of the opportunities and challenges raised by applying the SOC paradigm to mobile computing in ad hoc networks. It investigates the implications of disconnections on service advertising and discovery mechanisms. It addresses issues related to code migration in addition to physical host movement. It also investigates some of the security concerns in ad hoc networking service provision. It presents a novel routing algorithm for mobile ad hoc networks and a novel coordination model that addresses space and time explicitly

    Coordinated collaboration for e-commerce based on the multiagent paradigm.

    Get PDF
    Lee Ting-on.Thesis (M.Phil.)--Chinese University of Hong Kong, 2000.Includes bibliographical references (leaves 116-121).Abstracts in English and Chinese.Acknowledgments --- p.iAbstract --- p.iiChapter 1 --- Introduction --- p.1Chapter 1.1 --- Roadmap to the Thesis --- p.5Chapter 2 --- Software Agents and Agent Frameworks --- p.7Chapter 2.1 --- Software Agent --- p.7Chapter 2.1.1 --- Advantages of Agent --- p.10Chapter 2.1.2 --- Roles of Agent --- p.11Chapter 2.2 --- Agent Frameworks --- p.13Chapter 2.3 --- Communication Services and Concepts --- p.15Chapter 2.3.1 --- Message Channel --- p.15Chapter 2.3.2 --- Remote Procedure Call --- p.16Chapter 2.3.3 --- Event Channel --- p.17Chapter 2.4 --- Component --- p.18Chapter 3 --- Related Work --- p.20Chapter 3.1 --- Collaboration Behaviors --- p.20Chapter 3.2 --- Direct Coordination --- p.22Chapter 3.3 --- Meeting-oriented Coordination --- p.23Chapter 3.4 --- Blackboard-based Coordination --- p.24Chapter 3.5 --- Linda-like Coordination --- p.25Chapter 3.6 --- Reactive Tuple Spaces --- p.26Chapter 4 --- Background and Foundations --- p.27Chapter 4.1 --- Choice of Technologies --- p.27Chapter 4.2 --- Jini Technology --- p.28Chapter 4.2.1 --- The Lookup Service --- p.29Chapter 4.2.2 --- Proxy --- p.31Chapter 4.3 --- JavaSpaces --- p.32Chapter 4.4 --- Grasshopper Architecture --- p.33Chapter 5 --- The CoDAC Framework --- p.36Chapter 5.1 --- Requirements for Enabling Collaboration --- p.37Chapter 5.1.1 --- Consistent Group Membership --- p.37Chapter 5.1.2 --- Atomic Commitment --- p.39Chapter 5.1.3 --- Uniform Reliable Multicast --- p.40Chapter 5.1.4 --- Fault Tolerance --- p.40Chapter 5.2 --- System Components --- p.41Chapter 5.2.1 --- Distributed Agent Adapter --- p.42Chapter 5.2.2 --- CollaborationCore --- p.44Chapter 5.3 --- System Infrastructure --- p.45Chapter 5.3.1 --- Agent --- p.45Chapter 5.3.2 --- Distributed Agent Manager --- p.46Chapter 5.3.3 --- Collaboration Manager --- p.46Chapter 5.3.4 --- Kernel --- p.46Chapter 5.4 --- Collaboration --- p.47Chapter 5.5.1 --- Global Collaboration --- p.48Chapter 5.5.2 --- Local Collaboration --- p.48Chapter 6 --- Collaboration Life Cycle --- p.50Chapter 6.1 --- Initialization --- p.50Chapter 6.2 --- Resouces Gathering --- p.53Chapter 6.3 --- Results Delivery --- p.54Chapter 7 --- Protocol Suite --- p.55Chapter 7.1 --- The Group Membership Protocol --- p.56Chapter 7.1.1 --- Join Protocol --- p.56Chapter 7.1.2 --- Leave Protocol --- p.57Chapter 7.1.3 --- Recovery Protocol --- p.59Chapter 7.1.4 --- Proof --- p.61Chapter 7.2 --- Atomic Commitment Protocol --- p.62Chapter 7.3 --- Uniform Reliable Multicast --- p.63Chapter Chapter 8 --- Implementation --- p.66Chapter 8.1 --- Interfaces and Classes --- p.66Chapter 8.1.1 --- The CoDACAdapterInterface --- p.66Chapter 8.1.2 --- The CoDACEventListener --- p.69Chapter 8.1.3 --- The DAAdapter --- p.71Chapter 8.1.4 --- The DAManager --- p.75Chapter 8.1.5 --- The CoDACInternalEventListener --- p.77Chapter 8.1.6 --- The CollaborationManager --- p.77Chapter 8.1.7 --- The CollaborationCore --- p.78Chapter 8.2 --- Messaging Mechanism --- p.79Chapter 8.3 --- Nested Transaction --- p.84Chapter 8.4 --- Fault Detection --- p.85Chapter 8.5 --- Atomic Commitment Protocol --- p.88Chapter 8.5.1 --- Message Flow --- p.89Chapter 8.5.2 --- Timeout Actions --- p.91Chapter Chapter 9 --- Example --- p.93Chapter 9.1 --- System Model --- p.93Chapter 9.2 --- Auction Lifecycle --- p.94Chapter 9.2.1 --- Initialization --- p.94Chapter 9.2.2 --- Resource Gathering --- p.98Chapter 9.2.3 --- Results Delivery --- p.100Chapter Chapter 10 --- Discussions --- p.104Chapter 10.1 --- Compatibility --- p.104Chapter 10.2 --- Hierarchical Group Infrastructure --- p.106Chapter 10.3 --- Flexibility --- p.107Chapter 10.4 --- Atomicity --- p.108Chapter 10.5 --- Fault Tolerance --- p.109Chapter Chapter 11 --- Conclusion and Future Work --- p.111Chapter 11.1 --- Conclusion --- p.111Chapter 11.2 --- Future Work --- p.112Chapter 11.2.1 --- Electronic Commerce --- p.112Chapter 11.2.2 --- Workflow Management --- p.114Bibliography --- p.116Publication List --- p.12

    Jada: coordination and communication for Java agents

    No full text
    . In this paper we are going to analyze mobile code issues in the perspective of Object Oriented systems in which thread migration is not supported. This means that both objects' code and data can be transmitted from a place to another but not the current execution state (if any) associated to the object. This is the case with the Java language which is often used in the Word Wide Webfor developing applets which are little applications downloaded on the fly and executed in the client machine. While this mechanism is quite useful for enhancing HTML documents with sound and animation, we think that this technology can give its best in the field of distributed-cooperative work, both in the perspective of Internet and Intranet connectivity. Java is indeed a concurrent, multithreaded language, but it offers little help for distributed programming. Thus, we introduce Jada, a coordination toolkit for Java where coordination among either concurrent threads or distributed Java objects is achiev..
    corecore