6,806 research outputs found

    An Expressive Language and Efficient Execution System for Software Agents

    Full text link
    Software agents can be used to automate many of the tedious, time-consuming information processing tasks that humans currently have to complete manually. However, to do so, agent plans must be capable of representing the myriad of actions and control flows required to perform those tasks. In addition, since these tasks can require integrating multiple sources of remote information ? typically, a slow, I/O-bound process ? it is desirable to make execution as efficient as possible. To address both of these needs, we present a flexible software agent plan language and a highly parallel execution system that enable the efficient execution of expressive agent plans. The plan language allows complex tasks to be more easily expressed by providing a variety of operators for flexibly processing the data as well as supporting subplans (for modularity) and recursion (for indeterminate looping). The executor is based on a streaming dataflow model of execution to maximize the amount of operator and data parallelism possible at runtime. We have implemented both the language and executor in a system called THESEUS. Our results from testing THESEUS show that streaming dataflow execution can yield significant speedups over both traditional serial (von Neumann) as well as non-streaming dataflow-style execution that existing software and robot agent execution systems currently support. In addition, we show how plans written in the language we present can represent certain types of subtasks that cannot be accomplished using the languages supported by network query engines. Finally, we demonstrate that the increased expressivity of our plan language does not hamper performance; specifically, we show how data can be integrated from multiple remote sources just as efficiently using our architecture as is possible with a state-of-the-art streaming-dataflow network query engine

    On sharing and synchronizing groupware calendars under android platform

    Get PDF
    (c) 2016 IEEE. Personal use of this material is permitted. Permission from IEEE must be obtained for all other users, including reprinting/republishing this material for advertising or promotional purposes, creating new collective works for resale or redistribution to servers or lists, or reuse of any copyrighted components of this work in other works.Sharing a calendar of tasks and events is a cornerstone in collaborative group work. Indeed, the individual work of the members of the group as well as the group work as a whole need the calendar to guide their activity and to meet the deadlines, milestones, deliverables of a project, etc. Additionally the members of the group should be able to work both offline and online, which arises when members of the group use smartphones and can eventually run out of Internet connection from time to time, or simply want to develop some activities locally. In the former case, they should have access to the calendar locally, while in the later case they should access the calendar online, shared by all members of the group. In both cases they should be able to see eventually the same information, namely the local calendars of the members should be synchronized with the group calendar. For the case of smartphones under Android system, one solution could be using the Google calendar, however, that is not easily tailorable to collaborative group work. In this paper we present an analysis, design and implementation of group work calendar that meets several requirements such as 1) sharing among all of members of the group, 2) synchronization among local calendars of members and global group calendar, 3) conflict resolution through a voting system, 4) awareness of changes in the entries (tasks, members, events, etc.) of the calendar and 5) all these requirements under proper privacy, confidentiality and security mechanisms. Moreover, we extend the sharing of calendars among different groups, a situation which often arises in enterprises when different groups need to be aware of other projects' development, or, when some members participate in more than one project at the same time.Peer ReviewedPostprint (author's final draft

    Systematic composition of distributed objects: Processes and sessions

    Get PDF
    We consider a system with the infrastructure for the creation and interconnection of large numbers of distributed persistent objects. This system is exemplified by the Internet: potentially, every appliance and document on the Internet has both persistent state and the ability to interact with large numbers of other appliances and documents on the Internet. This paper elucidates the characteristics of such a system, and proposes the compositional requirements of its corresponding infrastructure. We explore the problems of specifying, composing, reasoning about and implementing applications in such a system. A specific concern of our research is developing the infrastructure to support structuring distributed applications by using sequential, choice and parallel composition, in the anarchic environment where application compositions may be unforeseeable and interactions may be unknown prior to actually occurring. The structuring concepts discussed are relevant to a wide range of distributed applications; our implementation is illustrated with collaborative Java processes interacting over the Internet, but the methodology provided can be applied independent of specific platforms
    • …
    corecore