Connected Communities from the standpoint of Multi-agent Systems
1
Connected Communities from the standpoint of Multi-agent Systems Abe MAMDANI, Jeremy PITT and Kostas STATHIS Intelligent and Interactive Systems Electrical and Electronic Engineering Department Imperial College of Science, Technology and Medicine Exhibition Road, LONDON SW7 2BT, UK fe.mamdani,j.pitt,
[email protected]
Received 31 January 1999
Abstract
We study the provision of software agents for connected communities, a class of applications aiming to enhance the way people interact and socialise in geographically co-located communities such as neighbourhoods. Following a number of experiments that we have carried out in this area, we propose a multi-agent architecture and we study how to instantiate it in order to design a speci c connected community system. We further report on the research challenges, the opportunities and risks raised by agent-based connected communities.
Keywords Social Computing, Connected Communities, Software Agents, Adaptive Interfaces, Information Dissemination.
x1
Introduction
With the introduction of computer internetworking, software has become one of the most eective and cheap means by which people communicate. A new generation of applications further challenge computer software to serve as the intermediary between people, to support and improve their social relations. Indeed, a number of such applications under the umbrella of social computing focus on the relations between people when workplace tasks are de ned via 14)
Abe MAMDANI, Jeremy PITT and Kostas STATHIS
2
software in organisations, when people learn and teach with computers, when governments devise policies over networks, when people interact in the context of modern community lifestyle. In this paper we focus on connected communities, a class of applications that aims to augment, and possibly improve, the way people interact and socialise in community environments such as neighbourhoods. Motivated by our participation in the Living Memory project , we are interested in connected communities intended to be used by the broad population, which provide members of the community who live and work in a particular locality to capture, share and preserve their collective memory. This idea is not as odd as it sounds, that we need computers to connect and share experiences with our next-door neighbour. Rather the focus is on the use of new technology to re-introduce an element of social cohesion back into a neighbourhood which may have been fragmented by the pace of social and technological change of the recent times . We study connected communities from the standpoint of multi-agent systems. Agents support the design of a connected community at two levels. The personal level allows us to personalise the community system to a user , to relate the user with information and places in the community, including the provision of navigation and mobility between places. The community level supports the creation of acquaintance groups, the pro-active emergence of voluntary roles, the exible execution of accepted, non-intrusive procedures, the integration of content created from multiple disparate sources, and the de facto social behaviour . The paper is structured as follows. In section 2 we present an architecture that supports both the personal and community levels using agents and models of users. We then describe in section 3 an interaction scenario showing how to instantiate the architecture to support the community system developed in , including a discussion on the opportunities, research challenges and risks raised by agent-based community systems. We conclude in section 4, where we summarise the main features of the multi-agent architecture under investigation. 9)
15, 3)
16)
15)
9)
x2
An architecture for connected communities
2.1 User spaces
A user of a connected community owns a user space shown in Figure 1.
Connected Communities from the standpoint of Multi-agent Systems
3
The user space holds memory content and a user model. The memory content holds hypermedia documents suitably structured according to the taste of the user. The model of the user is structured in terms of: user history { a log of events holding the actions of the user; user pro le { holds personal details, preferences, interests and needs of the user, each speci ed by suitable concepts, criteria and constraints; acquaintance model { relations describing the social links of the user with other members, places and activities in the connected community. Information in the user model are either described explicitly by the user, or deduced implicitly by what is recorded in the user history. In this way, we combine general descriptions of the user - according to the knowledge held in pro les and acquaintance models, with speci c information about the user obtained from what the user has actually done.
Fig. 1
The structure of user space
A user space is by default private. We introduce permissions on a user space to allow other members of the community to share and possibly manipulate memory local to a user: explore { lets other members to browse and play parts of hypermedia documents owned by a user; annotate { allows other members to annotate documents owned by a user; modify { permits other members of the system to create and rearrange documents owned by a user; copyright { prohibits duplicating documents owned by a user. It is the responsibility of a user to give the right permissions, so that dierent users can access part of the memory held in a user space.
2.2 User agents
In the community system that we develop agents are software components that manage the space of the user and act on a user's behalf, even if the
Abe MAMDANI, Jeremy PITT and Kostas STATHIS
4
user is not connected to the community system . We investigate an internal agent architecture in which an agent consists of a head and a body component , as shown in Figure 2. 13, 10)
7)
Fig. 2
The architecture of an agent
The head is a generic, domain independent component that allows the agent to communicate with the user and other agents, including the interactions of the agent with the environment. The head also contains the agent's current state, which when the agent is active, it contains domain independent knowledge and the progress of all interactions that the agent is currently engaged in. The body component is a domain dependent component that consists of a set of roles. Roles are components describing the tasks of the agent and a set of rules prescribing what an agent can or cannot do while playing a role within a speci c environment. Internally a role contains a private state and groups the tasks that the agent can perform. Private information within a role state are shared between dierent roles in the body by using the state of the agent speci ed in the head as a kind of shared memory.
2.3 Community as aggregation of users
The single agent architecture is combined with user spaces to build connected communities based on agents, as shown in Figure 3. The resulting architecture is based on the Dexter Reference Model , in that it distinguishes between three dierent layers: the presentation layer, the logical component layer and the physical data layer. The presentation layer abstracts away from the mechanisms used to visualise the community's electronic space, ranging from existing browsing techniques to more sophisticated 3D presentation systems for visualising the community's information landscape. The logical component layer de nes the logical entities and their interactions and includes components rep4)
Connected Communities from the standpoint of Multi-agent Systems
5
resenting user agents. The physical data layer de nes a database of containers storing the user spaces as the memory of the community system. As with the Dexter model, the storage layer does not dierentiate between data components, for example, text versus graphics, but focuses on how to store and access memory eectively and eciently using links.
Fig. 3
The Multi-agent Architecture
Two main points must be made here. Firstly, the separation between the different layers allows the developers of the community system to develop parts of the dierent layers independently and in a systematic way. Secondly, the logical organisation of our system suggests that community be interpreted here as the collection of individual experiences (diaries) residing in the private space of individual users. Our intuition here is that if individuals were not present, the idea of community and shared memories would not make sense. If we take the individual as the community unit, we can then use individuals as the basis for forming community groups. A group is either de ned statically - at the design phase of the system, or emerges dynamically - while the community system is being used. We focus at the connections within and between groups, in terms of the interactions between users and agents, with the aim of creating, sharing and manipulating memories in a collective manner. We represent a group as a composite user whose group space acts as the shared memory for the activities of the group. Figure 4 shows the formation of a simple group between two users and their agents, all sharing a group space managed by a group agent. To support
Abe MAMDANI, Jeremy PITT and Kostas STATHIS
6
Fig. 4
Formation of a group
the activities of a group we distinguish three possibilities. The rst involves the addition of a group leader role in an existing user agent to manage the shared space of the group. The second involves the creation of a new user agent that plays the group leader role and manages the shared space of the group. The third involves distributing responsibilities of group management to a subgroup of agents whose corresponding users are members of that group. A choice depends on domain speci c requirements of the application at hand.
2.4 Organisation of memory
An aspect of our architecture is that it supports collective memory, either through the hypermedia documents created or the personal and group histories held in the user model. Memory is derived from events within a history, which relate actions of a user (or of a user agent) to objects stored in the user space.
Fig. 5
Event-based memory organisation
As shown in Figure 5, part of the memory is derived from event occurrences holding metadata such as the owner, the context, the place, the time and the
Connected Communities from the standpoint of Multi-agent Systems
7
type of object that an action is referring to. The rest of the memory is the content of the objects, initiated by the actions held in events, including methods describing how these objects evolve, making the memory active and thus living. The event-based interpretation of memory has other advantages too. First, it supports semantic associations between content created and metadata represented as relations about the content. Second, events provide a natural way to describe narratives that support community stories and collective experiences represented as composite memory objects. Third, events describing memory annotations generate new versions of memory objects, expressing in this way the fact that memory is volatile and does not necessarily hold the permanent recording of an event. Finally, events provide a framework for active memory by associating rules to events that describe the behaviour of how the memory is sedimented.
x3
Connected communities based on agents
3.1 An interaction scenario
In order to support social cohesion of a community with agents, we are investigating dierent types of interaction scenarios. The one depicted in Figure 6 assumes that a community user is working as a teacher in a local school and is interested in gardening. Gardening is an interest speci ed explicitly in the user pro le, and as a result, it makes the user agent to look for related information on this topic, for example, by listening to the local news while the teacher is working. In this context, information broadcast by the local radio is managed by an information dissemination agent. The responsibility of this agent is to lter and retrieve news according to user pro les. As the user agent knows that the teacher is busy, collects possible information about gardening, telephones the teacher at work, and leaves a message in her answering machine. After the classroom, the teacher listens to her telephone messages and uses the system to explore the radio broadcast recommended by her agent. The agent navigates the teacher in the community's electronic space, the teacher listens to the message and, as the message is important, instructs the agent to contact all her gardening friends to let them know about the event. Many challenging aspects of a connected community are exempli ed with this scenario. First, how agents employ user models to link their users with information and other users. Secondly, the need for agents to navigate
Abe MAMDANI, Jeremy PITT and Kostas STATHIS
8
Fig. 6
An interaction scenario
users in the community's electronic space. Thirdly, how agents utilise existing technology in innovative ways to cause events taking place in the physical space of the community, thus supporting and possibly enhancing the social cohesion of the community. Finally, the scenario illustrates how information dissemination is supported by agents that lter, retrieve and search for information according to the user model. We discuss next the experiments that we have carried out to support the scenario.
3.2 An instance of a connected community
In we have instantiated the architecture presented in section 2 by viewing a community as a large group of simple or composite users. As shown in Figure 7, this group has a user space holding shared memories and information about the community. The shared community space is mainly managed by a community agent, a user agent designed to manage the community as a composite individual who owns the shared space. A yellow pages (YP) agent is also introduced to hold information about users and the agents owned by them, including the roles that these agents play on behalf of their users. When a user creates a new agent, the agent needs to register with the YP agent by providing the name of the user and the name of the agent. It is optional and application speci c the question of whether the agent should register the capabilities according to the roles it plays on behalf of the user. Registration of a role depends on 13, 10, 5, 8)
Connected Communities from the standpoint of Multi-agent Systems
9
whether the user wants to make this information public.
Fig. 7
An instance of an agent-based connected community
To deal with the issue of memory dissemination, the community system uses an information dissemination (ID) agent. This is connected to information sources of the community, and answers queries describing user pro les against documents received by information sources or by users. Three roles describe the ID agent: Search { to process user or agent queries expressed in the form keywords; Information Retrieval (IR) { to handle pro le queries by matching them against documents, including how to manage rapidly changing pro les and the time for which the documents are relevant; Information Filtering (IF) { to match new incoming documents against existing pro les. As argued in , IR and IF are two sides of the same coin. The way we interpret this in practice is by treating pro les the same way as documents. This assumption, tested by Kennaugh , shows that the resulting ID process identi es documents matching a pro le regardless of the order in which pro les and documents are received, thus improving the overall system performance. 1)
8)
3.3 Pro les and Acquaintance models
The ID agent relies on user pro les, de ned according to the sections proposed by the Open Pro ling Standard in , and augmented with an additional 6)
Abe MAMDANI, Jeremy PITT and Kostas STATHIS
10
section describing the interests of a user. An interest is either simple or complex. Simple interests are expressed by a set of positive and negative keywords, which in their simplest form are speci ed by at least one positive keyword. Complex interests contain organisations of simple interests according to topics and subtopics that are keywords themselves. Interests are then translated into boolean queries for the ID agent by the user agent. An individual pro le is then a set of queries de ning the relation of the user with the memory stored in the system. A translation from pro les to boolean queries based on keywords is presented in . The relation of the user with other users and agents is de ned in the user's acquaintance model (AM). This notion originates from early work in multiagent systems , to describe interesting agents that a software agent knows. In this paper we generalise this idea by allowing AMs to handle users and agents alike, and we include the places and the activites where such acquaintances are formed. The basic notion in our AM is that of a social circle. This is a data structure consisting of a set of nodes and a set of relations that link the various nodes. A circle is de ned by a node called the center, and a set of nodes called the acquaintances. A node in a circle can be either simple or complex. A simple node holds a node description, while a complex node is a (sub)circle itself. Nodes are classes of objects with values describing people (users), agents (user agents), places (locations within the physical space of the community), and activities (occurring as a result of people pursuing their interests in one or more community places). The center of a circle is associated with the rest of the nodes via relations. A relation describes the type of association between two nodes. A circle is then de ned either statically by the user, or dynamically by the user agent - through the actions recorded in the history of the user. The dynamic construction of a circle via agents allows us to support concepts such as gossip , especially in interactions occurring amongst agents. More generally, the circle-based organisation of an AM allows participants to contribute nodes (or sub-circles) from their AMs and build the AM of a group bottom-up, via interaction. An instance of what we call acquaintance models here have been applied by Halkias in . 5)
18)
12)
5)
3.4 The challenges ahead
Our work with developing connected communitysystems based on agents
Connected Communities from the standpoint of Multi-agent Systems
11
raises a number of open research questions. For example, in our experiments so far we have left open the question of how to personalise the system to a user according to the user actions. The important issue here is how an agent adapts by learning from the history held in the user model. An agent here must be able to distinguish between events changing properties in the user pro le, or in the acquaintance model, or in both. For this purpose, the agent must be able to keep one or more time windows of the user history, according to the dierent roles that the agent plays on behalf of the user. The role-based development of an agent begs for a systematic way of developing the multi-agent system. The opportunity here is that if roles are treated as components, we can combine pre-existing roles to specify new, emerging functionality. This in turn raises additional issues, for example, how to manage roles that may cause con icting behaviour. More generally, the component-oriented construction of agents is a property that will eventually help us to provide mechanisms for users that need to program their agents for a de nite or inde nite time. We are already considering how to program mobile agents residing in mobile devices used by mobile users of a connected community , and our results are quite encouraging. Interaction between users and agents is, in our mind, another great challenge for the designers of a connected community system. Here we need to address the issues of how to visualise agents, whether to attribute personality to agents, especially if the anthropomorphic presentation of agents is appropriate. We also need to visualise user-agent interactions, including interactions with user pro les and acquaintance models in ways suitable for lay users. In many situations we would also have to visualise agent-agent interactions and the underlying processes of the complete system environment, in order to give feedback to the user about what is happening in the system. Agents also play important roles in the managementof the physical layer, especially in the way information and memory is retrieved, labeled and managed in terms of links. A basis for the exploitation of memory in terms of hypermedia documents is a uni ed metadata model. Such a model needs to be combined with ontological and thesaurus information to improve retrieval, ltering and searching for memory content. Here agents play important roles also in the way memory is allocated and de-allocated, especially, when we consider the dynamic formation of groups. In the longer term, agents - unlike other software components - will 17)
Abe MAMDANI, Jeremy PITT and Kostas STATHIS
12
exhibit some level of intelligence, some form of self-initiated, self-determined goals. Along with the bene ts and research challenges of agent-based connected communities, therefore, come also the potential for social risk, for systems where control and privacy shifts from the hands of the users to the hands of autonomous software components. As argued in , none of these aspects of multi-agent systems technology is inevitable. All can be eliminated or minimised, but only if we consider the legal behaviour of the agents at the design, speci cation and implementation of our connected community systems. 11)
x4
Conclusion
We have investigated connected community systems from the standpoint of multi-agent systems, and illustrated how to organise agents to augment social interactions of an ordinary community. The resulting multi-agent architecture keeps the physical, logical and presentation layers distinct, thus allowing us to incorporate the speci c ethnographic requirements of a community system by adjusting appropriate layers. We have also shown how to use the architecture to personalise the community system, to relate users with information and places of the community, including support for navigation and mobility. Models of users based on pro les are combined with the role-based functionality of agents to support the creation of acquaintance groups, the pro-active emergence of voluntary roles, the exible execution of accepted, non-intrusive procedures, the integration of content created from multiple disparate sources, and the emerging social behaviour. In this context, we have further discussed the research challenges, the opportunities and the risks raised by agent-based connected communities. 9)
Acknowledgment
We acknowledge support of the LiMe (Living Memory) Project, part of the EU Esprit I-cubed LTR Programme, Project No. 25621; for information on LiMe contact Ingrid van der Zon at Philips Design,
[email protected]. We especially thank our colleagues at Imperial College: Bob Spence, Patrick Purcell, Alex Barabesi and Oscar de Bruijn, and our partners on LiMe: Queen Margaret University College Edinburgh, Philips Research, Philips Design, and the Domus Academy.
References 1) Belkin N. J. and Bruce Croft W., "Information Filtering and Information
Connected Communities from the standpoint of Multi-agent Systems
2) 3) 4) 5) 6) 7) 8) 9) 10) 11) 12) 13) 14) 15) 16) 17)
13
Retrieval: Two Sides of the Same Coin?", Communications of the ACM, Vol. 35(12), Pages 29 - 38, Dec. 1992. Carroll, J. M. and Rosson, M. B., "Developing the Blacksburg Electronic Village", Communications of the ACM, Vol. 39(12), Pages 69 - 74, Dec. 1996. Greenop D. and Williams D., "Community Networks: Local Information Infrastructure for the Next Millenium", British Telecommunications Engineering, Vol. 16, Oct. 1997. Halasz F. and Schwartz M., "The Dexter Hypertext Reference Model", Communications of the ACM, Vol. 37(2), Pages 31 { 39, Feb. 1994. Halkias K., Agent-based pro le management for Connected Community users, M.Sc thesis, Department of Computing, Imperial College of Science, Technology and Medicine, London, UK, Sep. 1998. Hensley, P., Metral, M., Shardanand, U., Converse, D. and Meyers, M., Proposal for an Open Pro ling Standard, W3 Consortium, June 1997 (available as http://www.w3.org/TR/NOTE-OPS-FrameWork.html). Heugeneden, H. (Ed), IMAGINE nal report, Esprit Project 5362, Siemens, Munich, Germany, 1993. Kennaugh, R. J., An Agent-based Information Dissemination System, M.Sc thesis, Department of Computing, Imperial College of Science, Technology and Medicine, London, UK, Sep. 1998. Living Memory Technical Annex, ESPRIT PROJECT 25621, 1997. Mamdani E. H. and Pitt J. V. and Stathis K., Deliverable D4.3: Design and implementation of a multi-agent system for LiMe, Living Memory/ESPRIT/I3/25621, Document no. LIME/IC/EHM+JVP+KS/98009. Norman D., "How Might People Interact with Agents", Communications of the ACM, Vol. 37(7), Pages 68 - 71, July 1994. Pinker, S., The Language Instinct, Penguin, 1994. Pitt J. V. and Mamdani E. H. and Stathis K., A Cooperative Information System for the Connected Community, Third International Conference on the Design of Cooperative Systems COOP'98, 2:72-76, F. Darses and P. Zarate (Eds), Cannes, France 1998. Schuler D., "Social Computing", Communications of the ACM, Vol. 37(1), Pages 28{29, Jan. 1994. Schuler D., "Community Networks: Building a New Participatory Medium", Communications of the ACM, Vol. 37(1), Pages 39{51, Jan. 1994. Soltysiak, S. and Crabtree, B., Knowing Me, Knowing You: Practical Issues in the Personalisation of Agent Technology, Third International Conference on the Practical Applications of Agents and Multi-agent Systems, PAAM'98, London 1998. Stathis, K., Pitt J. V. and MacKay P., Mobile Agents for Mobile Users in Connected Communities, In Proceedings of Workshop on Adaptive Design of Interactive Multimedia Presentations for Mobile Users, T. Rist (Ed), Sitges, Spain 1999.
14
Abe MAMDANI, Jeremy PITT and Kostas STATHIS
18) Wittig T. (Ed), ARCHON: An Architecture for Multi-agent Systems, Ellis Horwood Series in Arti cial Intelligence, 1992.