When Cyborgs Meet: Building Communities of Cooperating Wearable Agents[J1] Steve Fickas, Gerd Kortuem, Jay Schneider, Zary Segall, Jim Suruda University of Oregon Deschutes Hall Eugene, OR 97403 USA {fickas,kortuem,jay,zs,jfs}@cs.uoregon.edu ABSTRACT This paper ... Keywords Wearable computing, personal agents, ... 1 INTRODUCTION Our modern world/society is characterized by an ever increasing ubiquity/pervasiveness of electronic communication technologies like phone and email. Despite this fact, most human interactions still occur when we physically meet other people. Every day, we encounter a large number of people - friends, colleagues and strangers alike. At places like coffee shops, grocery stores, and offices we interact with people to trade news, tell stories, gossip or exchange goods and services. Often we use these situations1 to pursue our own goals. For example, we purchase items, coordinate schedules, or make other arrangements when we meet other people. Wearable computers provide a chance to augment such human every-day interactions and to advance cooperation (Why? Features of wearables: always on, always active, senses environment, proactive - ability to support user during every-day life, ability to act as user's extension and surrogate ) In this paper, we investigate how wearable devices can be used during physical encounters of individuals to support cooperation. In particular and in contrast to most previous research, we are interested in how this technology can be used to enable cooperation during encounters of people with selfish and conflicting goals, such that cooperation leads to mutually beneficial results.[J2] The notion of Cyborgs and communities of Cyborgs has been around at least as long as wearable computers have become feasible. Still, today's wearable computers are mostly used in isolation as an advanced form of productivity tool. This trend is best exemplified by the Remembrance Agent []. More recently, researchers have started to look at collaborative wearable system [CMU, UW, Uoregon]. However, all of these systems are designed for a narrow purpose and for interaction of only two wearable users. In contrast, our emphasis is on large scale communities of wearable users where people interact and cooperate in may ways and for a variety of reasons. In this paper, we introduces the notion of a Wearable Community2 as a collection of wearable users who cooperate during physical encounters to their mutual benefit (through automated interchange of information). In a wearable community, wearable computers act as agents on behalf of and in the interest of their 'owners' by interacting with other people's wearable agents[J3]. Purpose/Benefit? The rest of this paper is organized as follows. In the next section, we start by laying out a theoretical framework of cooperation in wearable communities. In Section 3, we describe a simple form of wearable community in which wearable agents cooperate by trading tasks. In Section 4, we then describe the design and initial implementation of WALID[J4], a wearable computer system for building wearable communities. In Section 5, we report on the WALID simulator, an interactive simulator for evaluating the behavior of large numbers of independent wearable agents in a wearable community. 2 WEARABLE COMMUNITIES A Wearable Community is a collection of cooperating wearable computers. It is based on three fundamental concepts: Agents: each wearable computer acts as a personal agent on behalf of its user. Encounters: wearable users encounter each other as they move around in space. Agent Negotiation: an automated exchange of information between agents during an encounter. 1. We will now discuss these concepts in more detail. 2.1 Wearable Agents We call any wearable computer that exhibits autonomous behavior and acts on behalf and in the interest of its user by interacting with its environment a wearable agent (agent for short). Agents are: - goal-oriented: An agent is goal directed and will perform a broad array of tasks for the user, ranging from personal scheduling and task planning, to providing hardware services in foreign locales. Also: finding people with similar interests. An agent acts according to rules defined by its user. - independent and opportunistic: Wearable agents are designed by independent designers with the goal to benefit their designers and to pursue differing goals. We do not require nor assume that agents will a priori be cooperative, share information, or negotiate for a single global goal. The more complex the considerations that the computer takes into account, the more justified we are in considering our computer an "agent", who acts as our surrogate in an automated encounter. However, our notion of an "agent" has a limited scope. A wearable agent is fully controlled and monitored by the user. Agents exhibit predictability, consistency, narrowness of purpose (they have no emotions, no humor, and no fears). Agents are not intended to simulate humans, but are simple machines that act according to rules set by their creators. 2.2 Encounters We define an encounter between individuals as a situation where 1. these individuals are in close physical proximity to each other; 2. the wearable computers of these individuals have discovered each other's presence; and 3. these computers are able to communicate. This definition does not say anything about how wearable computer discover each other, nor how close they have to come in order to do so. Many different technologies have been used in the past for proximity sensing, including infrared transmitters and near-field radios. Similarly, this definition does not say whether discovery and communication are independent functions or can be combined into one. The later would be possible with wireless ad hoc networks, future short-range wireless networks like Bluetooth and Home RF, or Personal Area Networks [Zimmerman 1996]. Encounters have several important properties: * Encounters can occur between two, three or more individuals. * Encounters are reflexive/mutual: if user A encounters user B, then user B encounters user A. * Encounters are situations with a time duration, not momentary events: encounters can be short and last only a few seconds, or they can be long-lasting going on for hours. For example, the encounter between two individuals passing each other in a hallway might last just a few seconds. On the other hand, two or more people in a lengthy meeting encounter each other for the full duration of that meeting. * Encounters are non-transitive: if user A encounters user B, and users B encounters user C, then user A does not necessarily encounter user C. * An encounter occurs even if no data is transferred between the involved parties.[J5] 2.3 Agent Negotiation An encounter between individuals is a chance for an automated interaction of their respective agents in form of agent negotiation. Negotiation denotes the process of several agents searching for an agreement. Agreement can be about price, meeting place, joint actions, joint objective. The search process may involve the exchange of information, the relaxation of initial goals, mutual concessions, lies or threats. Negotiations are defined by protocols and strategies. Negotiation Protocols. A negotiation protocol is the set rules governing the high-level behavior of interacting agents - offers and counter-offers, threats, promises, concessions, etc. Negotiation protocols are high-level protocols, dealing not with the mechanism of communication but with its content. A protocol specifies the kinds of deals agents can make, as well as sequences of offers and counter-offers that are allowed. Negotiation Strategies. A strategy is the way an agent behaves in an interaction. The protocol specifies the rules of the interaction, but the exact deals that an agent proposes are the result of a strategy that his designer has put into it. By appropriately adjusting the protocol by which agents interact, it is possible to influence the private strategies that wearable users put in their machines. Certain strategies simply become the best for users to adopt Using this technique it is possible to ensure certain desirable attributes for the community as a whole, such as efficiency. The key idea of protocols is that wearable system designers agree upon the rules of interaction, in the same way that they agree on any kind of standardization. As has been shown by [4], that it is possible to define protocols in a way that 'forces' members of a wearable community to adopt certain strategies, assuming that they are basically interested in their own goals. Furthermore, it has been shown that by appropriately defining protocols, we can guarantee properties for the entire wearable community, for example global optimality. In the word of Rosenschein and Zlotkin []: "Protocols create a 'social environment' for machines with provably optimal, beneficial behavior." 2.4 Usage Scenarios and User Benefits Automated interaction between wearable agents can occur in many different domains.[J6] 2.4.1 Scheduling a Meeting Our first usage scenario involves a meeting between a small group of people, such as a visit to a construction site by architects, contractors, and owners who use their wearable computers for automatically setting up the next meeting. The role of the agents here is to handle the interaction with other agents, and to coordinate time and other resources with others. 2.4.2 Auction at a Swap Meet Our second usage scenario is a swap meet, a flea market-like event where people come together in order to buy and sell rare and unusual items. One of the difficulties of swap meets is to find the person who sells the item that one is interested in. A wearable agent could function as matchmaker: by trading lists of items people want to buy or sell, it could alert us to the presence of someone who sells a precious item we have been looking for for a long time. Furthermore, our wearable agent could not only find items, but also hold or bid in automated auctions with offers and counteroffers. 2.4.3 Task Trading Our third usage scenario involves automated trading of tasks and to-do items. There is often a great deal of redundancy in the tasks performed by differing individuals. This can be seen in the workplace when two persons from the same office meet each other in line at the Post Office and shortly thereafter picking up lunch. . Another case of this occuring is when two drivers working for independant delivery services meet each other at several stops along their routes. This occurance of redundancy creates an opportunity for both parties to more efficiently accomplish their goals, through task sharing and trading. [J7] The tasks that are negotiated can take a wide variety of forms, both physical and virtual. A trade could be "if you take my books back to the library, I'll pick up your copies from the printers" or "I'll handle all outgoing communications through my currently unused T-1 line if you process the data received." Although it is beyond the range of the initial work in this field trades such as "I'll handle all visual data analysis if you pick up my dry cleaning" are also possible. Task sharing and trading requires the agents involved to negotiate. In the following section, we will describe this task trading scenario in more detail. In particular, we describe how this scenario can be formulized in order to model the behavior of task-trading wearable agents. 3 AGENT NEGOTIATION IN AN OPPORTUNISTIC TASK ORIENTED DOMAIN We are interested in describing and analyzing the behavior of wearable agents in a community, for example to prove or disprove properties like efficiency, stability, simplicity, distribution, and symmetry (page 20).[J8] 3.1 Task Oriented Agent Domains The domain used for our current project is limited to a subset of the Task Oriented Domain (TOD) as described in [?]. A Task Oriented Domain is one in which agents are not required to negotiate, but in which it might be beneficial to do so. Every agent has all of the tools needed to accomplish their goals and each agent's goals are independent. However, it is possible to achieve a higher level of success (e.g. accomplishing all the goals in a shorter period of time) through negotiation. The TOD we are using is differs from the norm in that it allows for ubiquitous computing. In this Ubiquitous Task Oriented Domain (UTOD) the agents operate in an opportunistic fashion. These agents take advantage of their current context, both physical and virtual, to decide if and with whom they will negotiate. Their current context also will affect the expected worth of bargaining as per [2]. The agents involved in task sharing and trading originate from a variety of uncontrolled sources. Maximizing its personal goals is assumed an agent's sole motivation. These agents can and will use strategies in which they will lie, cheat, or steal to maximize their benefits. A primary goal of modeling agent negotiation in a UTOD is to find a set of rules for the negotiation environment where the honest agent will perform as well as the dishonest one. These rules for the negotiating environment in game theory are referred to as the protocol. As protocol designers, it is in our best interest to protect the honest agent. Honest agents are needed to accomplish the goal of the protocol designers - global optimality. [4] A protocol that is globally optimal is one in which it can be proven that maximal efficiency will be derived by all parties negotiating under this protocol. When tasks are being assigned by a single organization or when negotiations occur between agents working towards a joint goal this is the sole issue. This is not the only concern when the parties in the negotiation are ambivilent towards each other goals. In cases where the agents are concerned only with their own unshared goals, protocol design aimed at global optimality can be restricted by the concept of Individual Rationality. Individual Rationality means that any deal an agent will consider must offer utility that is at least as good as the utility prior to the negotiations. It is also important that the protocol implemented in a UTOD be stable. A stable protocol is one in which rational agents have no motivation to stray from the optimal strategies. It is also important to limit the complexity of the optimal strategies. If this is not done the efficiency of the system can be severely degraded by the complexity of the negotiation strategy. We will discuss and account for this complexity later as the cost of negotiation.[J9] 3.2 The Modified Postman Domain The class of TOD domain we are using for our agents is a variation on the postman domain. The traditional postman domain is described in [4] as: "Agents have to deliver sets of letters to mailboxes, which are arranged on a weighted graph G=G(V,E). There is no limit to the number of letters that can fit in a mailbox. After delivering all letters agents must return to the starting point (the post office.) Agents can exchange letters at no cost while they are at the post office prior to delivery. Task Set: The set of all addresses in the graph, namely V. If address x is in an agent's task set, it means that he has at least one letter to deliver to x. Cost Function: The cost of a subset of addresses X Í V, i.e., c(X), is the length of the minimal path that starts at the post office, visits all members of X, and ends at the post office." Our variation differs from the traditional postman domain in that it allows n postmen and m post offices (n >= m), and uses the UTOD where negotiations can occur at any vertex, not just the post office. The domain also allows negotiation to occur in a continuous fashion, allowing for opportunistic negotiations along the edges of the graph. The model we have implemented in the modified-postman domain is described as follows: G'=G'(V',E'), V'={v1, v2...vn} with m agents. Each agent has starting vertex {v1, v2...vm} and task set {s1, s2...sm} and must return to starting vertex {v1, v2,...vm}. Each agent m1 negotiates with agent m2 when their locations are within distance d of each other. The negotiation protocol we are using is the Product Maximizing Mechanism (PMM) as presented in [4]. We chose this protocol as it satisfies all of Nash's criteria in [2]. In short, this means PMM provides a efficient solution that is in Nash equilibrium when both parties negotiating have full knowledge of the other parties task set and starting vertex. The PMM protocol is a two-step protocol. In the first step both parties disclose their task sets. In the second step each party proposes a deal (division of tasks) that is pareto-optimal and individually rational (see [2] for more information on these terms.) The deal that is selected is the deal that has the highest utility when the utility to agent 1 and agent 2 are multiplied. Using the WALID simulator (described in Section 5) we can test this system using n agents and compute the benefits accrued through negotiation. We can also add agents and determine average utility benefit as more agents are added to the simulation. This allows us to show a saturation point and to see what the expected utility gain is when an additional agent is added to the graph. As the agents in this task are wearable users, we have also implemented a Cost of Negotiation (CoN). CoN is a constant value subtracted from the utility of a new task set in step 2 of PMM. This value relates to the human cost of changing the wearable user's task set. In the postman domain tasks relate to traveling to physical locations. By adding a CoN value, we prevent the wearable user from pointlessly trading tasks and spinning in place. 4 IMPLEMENTATION / APARATUS Figure 1. Wearable Agent System Architecture So far we have discussed the notion of wearable agents in theory. We now discuss how to build a wearable agent. In order to function as a wearable agent, a mobile device must implement the following functions: Device Discovery: A wearable agent must be able to detect the presence of other nearby agents. Communication: A wearable agent must be able to establish a communication link with nearby devices. Negotiation: A wearable agent must be able to perform automated negotiations. To explore our concept of wearable agents we are developing the WALID system (Wearable Augmented task-List Interchange Device). WALID is an experimental prototype that is currently under construction. It consists of a Via wearable computer with access to a Metricom wireless campus-wide network. The computers is equipped with a simple radio transmitter that sends out and receives beacon signals. These signals can be used to determine which other devices are in the immediate vicinity (the transmission range is about 6-10 feet). We constructed the radio transmitters from radio packet controllers from Radiomatrix [Radiomatrix 1998]. Figure 1 shows an early prototype without casing. The final design is much smaller, fitting comfortably in a pager case including 9V battery. The architecture of WALID is divided up into four layers as shown in Figure 2. * The communication layer: * The service layer is based on Jini, Sun's network plug-and-play architecture [Sun 1998]. The main function of the service layer is to discover device functionality of nearby computers during an encounter. * The middle layer is divided up into two components: the task list which stores the personal user data, and a negotiator component. * The top layer is the user interface and contains functions for task list editing and monitoring of the negotiator. * In the following sections, we will give a brief run down of these components. 4.1 Device Discovery * We use radio-frequency transmitters Figure 2. Wearable Computer and Radio Beacon * 4.2 Communication The main function of WALID's service layer is to establish a communication link between WALID devices and to give them mutual access to each other's functionality. Our solution for connecting WALID devices in an ad hoc manner is based on Jini, Sun's network plug-and-play architecture. Jini provides simple mechanisms to plug devices together to form an impromptu community -- a community put together without any planning, installation, or human intervention. Each WALID device implements a Jini service ReadProfile() which when called returns the complete profile. Using standard Jini procedures, this service publishes its capabilities and availability by registering a service advertisement with the lookup service, which is Jini's version of a service trader. The Service advertisement contains a service handle and an offer descriptor. A WALID device (the client) that wants to gain access to services of co-located devices (the servers) has to follow a two step procedure. The first step consists of locating the lookup services of all co-located devices. In Jini, this is done by broadcasting a multicast request throughout a network. In turn, lookup services of all devices that receive such a request answer back to let the client know that they are able and willing to provide information about services that have registered with them. The client now queries each device lookup service by supplying a service template.3. In response, it receives a collection of matching service proxies. These service proxies, which are moved dynamically across the network, are then used to call the remote services.4 Since users and their devices constantly move around in space, WALID devices do not form long-lasting stable configurations. Thus, having discovered a service and having gained access to it through its service proxy is not a guarantee that a service is usable. In between the time a service was discovered and the attempt by a client to access it, the distance between both devices might be large enough so that they are out of range. If this is the case and the service cannot be reached, the service proxy is simply discarded. The role of client and server as described above is not fixed. Each WALID device is at the same time client and server. Upon request, each device makes its service available to other devices, and each device also requests other access to remote services. 5 A SIMULATOR FOR MODELING LARGE COMMUNITIES OF NEGOTIATING WEARABLE COMPUTERS The WALID simulator is designed to model a large number of wearable agents in an interactive environment. It currently provides support for a task-oriented domains, but is intended to be used in a more general sense for future projects. The WALID simulator was designed to create a computing environment that simulates real world circumstances with ubiquitous wearable computing. This was created as a tool to demonstrate the opportunistic agent negotiation system detailed above. Before deciding to develop the WALID simulator, we found that creating a ubiquitous wearable computing environment on a large scale was impractical from both an equipment and personnel standpoint. An initial attempt was made to create this environment using supplementary wearable equipment including wearables, laptops and palm-pilots but the multi-platform development issues quickly made it clear that this was not a viable channel of research. This led us to the conclusion that we needed to develop a simulator, until a large ubiquitous wearable environment is available for user testing. We also found that many of the other traditional benefits of developing test simulations apply to the WALID simulator. A glowing example of these benefits is the ability to generate exact statistical data from the simulation. Using this data and the ability to re-run the tests with a continuos number of users up to n , we are able to find exact asymptotic boundaries for benefits accrued through adding negotiating wear-sims to a WALID simulation. Figure 3. WALID Simulator Wear-sims are generic agents that operated in the WALID system . Wear-sims are given task-lists that describe their goals. In the current implementation, these goals are to go to a specified location and perform a null-operation. This was done as it accurately reflects the postman domain being simulated. Future scenarios will include more complex wear-sim activities that must occur at a specified location or a range of locations in order to accomplish wear-sim goals. Wear-sims in the WALID world operate in a customizable map space. This map is only limited in number of vertices by memory and processor speed. The WALID map does restrict the edges allowing them only in the cardinal directions (North, South, East and West.) All edges in WALID maps are of uniform length 1. The length requirement does not a restrict what graphs are possible, as dummy vertices may be used to create an effective edges of any dimension. The wear-sims dynamically determine the path to accomplish their goals at the start of the simulation. This is done using the brute force iterative deepening algorithm where viable. We are implementing a secondary search system that will find a good path that is not necessarily optimal when the graph is too large for a complete search. This secondary search is currently in development and will be implemented shortly. Negotiation is an event that takes place whenever two or more wear-sims are within distance d of each other. Wear-sims keep separate lists of tradable and untradable tasks. An example of a tradable task in the implemented domain is to return a book to the library. An untradable task in the implemented domain would be to return home after a user has finished all tasks. When wear-sims negotiate they use the PMM system described above. The expected utility is determined by recalculating the costs to all parties involved in the negotiations, using the search methods listed above. When a trade of tasks is successfully made the wear-sims replace their old task-list with the new negotiated one and continue along their journey. Figure 3 show two wear-sims during a chance encounter in a UTOD. Both wear-sims have a set of destination goals that require a visit. The large window (left) shows the current map they are operating under and the wear-sims locations. The two smaller windows (upper & lower right) show the deals proposed by each wear-sim. As the protocol requires the deals offered to be individually rational after the CoN is applied at least one of the deals offered (if any are offered) will be accepted. The upper right window in Figure 3 shows the new set of tasks after the negotiation has concluded.[J10] WALID maps and task-lists are created using a XML like file format. This allows for easy creation, human readability and leaves open the potential for expansion. The WALID source code is written in Java for cross platform use and ease of modification. The source code is available at: Error! Bookmark not defined. 6 DISCUSSION AND RELATED WORK The notion of Cyborgs and communities of Cyborgs has been around at least as long as wearable computers have become feasible. Still, today wearable computers are mostly used in isolation as an advanced form of productivity tool as exemplified by the Remembrance Agent. More recently, researchers have started to look at collaborative wearable system. For example, CMU, UW Uoregon However, these systems are designed for a narrow purpose and for interaction of only two wearable users. ... Few researchers have focused on communities of mobile users. One example is the Groupwear system that is based on interactive nametags (called "thinking tags") and assist conversation between people by informing users how much they have in common with regard to a set of precompiled background information [Borovy 1996; Borovy et al 1998a; Borovy et al. 1998b]. Our emphasis, however, is on the automated goal-oriented negotiation between agents. 7 CONCLUSION AND OUTLOOK In the preceding sections we have done three things: first, we have laid out a theoretical framework for building communities of cooperating wearable agents. Second, we described the initial implementation of a wearable agent device called WALID; finally we described a simulator which we use to develop and analyze negotiation protocols and strategies. We see wearable communities as a way to spur cooperation between individual with disparate and conflicting goals. There are many areas for future work on the WALID system. The first is to create hooks for more complex tasks operations to be performed by the wear-sims. Second, the communications range d should be taken out of the central system and added to the agent definition along with other restrictions and requirements on communication to better simulate real wearable communications. Finally, the domain and negotiation protocol should be taken out of the core of the simulation to allow ease of replacement. There are several areas for future work such as agents that misrepresenting their tasks in step 1. of the negotiation protocol. Other values should be tested for the CoN to try to find an accurate value and how it relates to real world costs. Other protocols (for example Sum Maximizer) should be tested and compared to PMM, as PMM assures an efficient solution but not a globally optimal one. The WALID simulation values should be compared to the values determined in real world wearable testing. Finally other domains in the TOD should be tested and research should expand to non-TOD domains. We are now pursuing continued research in the directions opened up this paper, including the completion of the implementation of WALID. REFERENCES [1] John Von Neumann and Oskar Morgenstern. Theory of Games and Economic Behavior. Princeton University Press, Princeton, 1947. [2] John F. Nash . The Bargaining Problem. Econometricia, 28:155-162, 1950. [3] John F. Nash . Two-person cooperative games. Econometricia, 21:128-140, 1953. [4] Jeffrey S. Rosenschein and Giliad Zlotkin. Rules of Encounter, Designing Conventions for Automated Negotiation among Computers. MIT Press, Cambridge Massachusetts, 1994. [Belotti and Bly 1996] Belotti, V. and Bly, S. (1996) Walking Away from the Desktop Computer: Distributed Collaboration and Mobility in a Product Design Team. In Proceedings of CSCW '96, ACM Press. [Bauer, 1998] Martin Bauer, Timo Heiber, Gerd Kortuem, Zary Segall. A Collaborative Wearable System with Remote Sensing. Proceedings Second International Symposium on Wearable Computers, Oct 19-20, 1998, Pittsburgh, PA [Borovoy 1996] Borovoy, R. MacDonald, M. Martin, F. and Resnik, M. Things that blink: Computationally augmented name tags. IBM Systems Journal 35, 3 & 4, 1996. [Borovoy 1998a] Borovoy, R., Martin, F. Resnick, M. and Silverman, B. (1998a) GroupWear: Nametags that Tell About Relationships. CHI '98 Summary, ACM Press. [Borovoy 1998b] Borovoy, R., Martin, F., Vemuri, S., Resnick, M., Silverman, B. and Hancock, C. (1998b) Meme Tags and Community Mirrors: Moving from Conferences to Collaboration. In Proceedings of CSCW '98, ACM Press. [Dourish and Bly 1992] Dourish, P. and Bly, S. (1992) Portholes: Supporting Awareness in a Distributed Work Group. In Proceedings of CHI 92, ACM Press. [Greenberg 1996] Greenberg, S. (1996) Peepholes: Low Cost Awareness of One's Community. In CHI '96 Companion, pp. 206-207, ACM Press. [Holmquist 1998] Holmquist, L.E. Supporting Group Awareness with IPAD:s - Inter-Personal Awareness Devices. Workshop paper, Workshop on Handheld CSCW, ACM CSCW '98 Seattle, USA. [Holmquist et al 1999] Holmquist, L.E., Falk, J. and Wigström, J. Supporting Group Awareness with Inter-Personal Awareness Devices. In Error! Bookmark not defined. Special Issue on Hand-Held CSCW, Springer Verlag, 1999. [Kortuem et al, 1998] Gerd Kortuem, Zary Segall, Martin Bauer. Context-Aware, Adaptive Wearable Computers as Remote Interfaces to 'Intelligent' Environments. Proceedings Second International Symposium on Wearable Computers, Oct 19-20, 1998, Pittsburgh, PA. [Kortuem et al, 1999] Gerd Kortuem, Martin Bauer, Timo Heiber, Zary Segall. Netman: The Design of a Collaborative Wearable Computer System. ACM/Baltzer Journal on Mobile Networks and Applications (MONET), 1999. [Iwatani 1998] Iwatani, Y. (1998) Love: Japanese Style. In Wired News, 11 June 1998. URL: Error! Bookmark not defined. [Radiomatrix 1998] http://www.radiomatrix.co.uk [Rhodes 1997] Rhodes, B. The wearable remembrance agent: A system for augmented memory. Proceedings of the First International Symposium on Wearable Computers (ISWC'97), Cambridge, MA, October 1997. [Sun 1998] www.javasoft.com/products/jini [Tollmar et al 1996] Tollmar, K., Sandor, O and Shömer, A. Supporting Social Awareness @Work, Design and Experience. In Proceedings of CSCW 96, ACM Press. [vCard 1996] VERSIT Consortium, "vCard - The Electronic Business Card Version 2.1", http://www.imc.org/pdi/vcard-21.txt, September 18, 1996 [Want et al 1992] Want, R., Hopper, A., Falcao, V. and Gibbons, J. The Active Badge Location System. In ACM Transactions on Information Systems, Vol. 10 (1), 1992 [Whittaker 1994) Whittaker, S., Frohlich, D. and Daly-Jones, O. Informal Workplace Communication: What Is It Like and How Can We Support It? In Proceedings of CHI 94, ACM Press. [Whittaker 1997] Whittaker, S., Swanson, J. Kucan, J., and Sidner C, "TeleNotes: managing lightwieght interactions in the desktop," ACM Transactions on Computer-Human Interaction, Vol 4, No.2 (June) pp137-168. [Zimmerman 1996] T. G. Error! Bookmark not defined.. Personal Area Networks: Near-field intrabody communication, IBM Systems Journal, Vol. 35, No. 3&4, 1996 1 - some of them carefully arranged, many spontaneous, unexpected and unplanned - 2 Maybe: 'Wearable Federation' 3 The client filters out responses from devices that are not in the immediate vicinity using the information from the radio transmitter. This step would not be necessary if we used a true short-range wireless network. 4 The ability of moving service proxies, i.e. compiled Java code, across the network on-demand, distinguishes Jini from other static trader architectures. [J1] Is it possible to mention untrusted agents in the title? [J2] I like this line a lot [J3]phraseing is awkward [J4]Would the name PROEM possibly be better for the Wearable system. I'm afraid that over using WALID might be confusing to the reader. It would also give us a foreshadowing into the Proem system that would also run on the WALID simulator. [J5] An encounter does require a handshake doesn't it? [J6] Most of our domains are rather limited. It might be important to note that these same rules of negotion apply to all sorts of negotiations and will be used in cases when two computer controlled cars both want to change lanes into the same spot, which one gets to go first. The example in Zlotkin of airplane landing priority is a good example of a widely difering domain that follows the same rules (the two planes negotiation with "each other" by way of the air traffic control tower.) [J7]Change/addition [J8] I'm not sure I can follow this intro. The problem is the stuff on page 20 was very much B.S.. We want efficency but that is covered by wanting Global Optimality. We want stability, simplicity as well but distribution relates to implementation not to the interaction mechanism. Symmetry is bogus as well (and not applicable.) Perhaps a better statement would be: We are interested in describing and analyzing the behavior of wearable agents in a community, for example to prove or disprove properties like global optimality, stability, simplicity in an individally rational environment. [J9] Embelishment [J10]Discussion of Figure 3 hopefully illustrating the WALID simulator better. 9 1