managing responsive environments with software agents

21
This article was downloaded by: [Duke University Libraries] On: 04 October 2014, At: 00:23 Publisher: Taylor & Francis Informa Ltd Registered in England and Wales Registered Number: 1072954 Registered office: Mortimer House, 37-41 Mortimer Street, London W1T 3JH, UK Applied Artificial Intelligence: An International Journal Publication details, including instructions for authors and subscription information: http://www.tandfonline.com/loi/uaai20 MANAGING RESPONSIVE ENVIRONMENTS WITH SOFTWARE AGENTS Flavio Soares Correa da Silva a & Wamberto Weber Vasconcelos b a Department of Computer Science , University of São Paulo , São Paulo, SP, Brazil b Department of Computing Science , University of Aberdeen , Aberdeen, United Kingdom Published online: 09 May 2007. To cite this article: Flavio Soares Correa da Silva & Wamberto Weber Vasconcelos (2007) MANAGING RESPONSIVE ENVIRONMENTS WITH SOFTWARE AGENTS, Applied Artificial Intelligence: An International Journal, 21:4-5, 469-488, DOI: 10.1080/08839510701253682 To link to this article: http://dx.doi.org/10.1080/08839510701253682 PLEASE SCROLL DOWN FOR ARTICLE Taylor & Francis makes every effort to ensure the accuracy of all the information (the “Content”) contained in the publications on our platform. However, Taylor & Francis, our agents, and our licensors make no representations or warranties whatsoever as to the accuracy, completeness, or suitability for any purpose of the Content. Any opinions and views expressed in this publication are the opinions and views of the authors, and are not the views of or endorsed by Taylor & Francis. The accuracy of the Content should not be relied upon and should be independently verified with primary sources of information. Taylor and Francis shall not be liable for any losses, actions, claims, proceedings, demands, costs, expenses, damages, and other liabilities whatsoever or howsoever caused arising directly or indirectly in connection with, in relation to or arising out of the use of the Content. This article may be used for research, teaching, and private study purposes. Any substantial or systematic reproduction, redistribution, reselling, loan, sub-licensing, systematic supply, or distribution in any form to anyone is expressly forbidden. Terms & Conditions of access and use can be found at http://www.tandfonline.com/page/terms- and-conditions

Upload: wamberto-weber

Post on 20-Feb-2017

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: MANAGING RESPONSIVE ENVIRONMENTS WITH SOFTWARE AGENTS

This article was downloaded by: [Duke University Libraries]On: 04 October 2014, At: 00:23Publisher: Taylor & FrancisInforma Ltd Registered in England and Wales Registered Number: 1072954 Registeredoffice: Mortimer House, 37-41 Mortimer Street, London W1T 3JH, UK

Applied Artificial Intelligence: AnInternational JournalPublication details, including instructions for authors andsubscription information:http://www.tandfonline.com/loi/uaai20

MANAGING RESPONSIVE ENVIRONMENTSWITH SOFTWARE AGENTSFlavio Soares Correa da Silva a & Wamberto Weber Vasconcelos ba Department of Computer Science , University of São Paulo , SãoPaulo, SP, Brazilb Department of Computing Science , University of Aberdeen ,Aberdeen, United KingdomPublished online: 09 May 2007.

To cite this article: Flavio Soares Correa da Silva & Wamberto Weber Vasconcelos (2007) MANAGINGRESPONSIVE ENVIRONMENTS WITH SOFTWARE AGENTS, Applied Artificial Intelligence: An InternationalJournal, 21:4-5, 469-488, DOI: 10.1080/08839510701253682

To link to this article: http://dx.doi.org/10.1080/08839510701253682

PLEASE SCROLL DOWN FOR ARTICLE

Taylor & Francis makes every effort to ensure the accuracy of all the information (the“Content”) contained in the publications on our platform. However, Taylor & Francis,our agents, and our licensors make no representations or warranties whatsoever as tothe accuracy, completeness, or suitability for any purpose of the Content. Any opinionsand views expressed in this publication are the opinions and views of the authors,and are not the views of or endorsed by Taylor & Francis. The accuracy of the Contentshould not be relied upon and should be independently verified with primary sourcesof information. Taylor and Francis shall not be liable for any losses, actions, claims,proceedings, demands, costs, expenses, damages, and other liabilities whatsoever orhowsoever caused arising directly or indirectly in connection with, in relation to or arisingout of the use of the Content.

This article may be used for research, teaching, and private study purposes. Anysubstantial or systematic reproduction, redistribution, reselling, loan, sub-licensing,systematic supply, or distribution in any form to anyone is expressly forbidden. Terms &Conditions of access and use can be found at http://www.tandfonline.com/page/terms-and-conditions

Page 2: MANAGING RESPONSIVE ENVIRONMENTS WITH SOFTWARE AGENTS

MANAGING RESPONSIVE ENVIRONMENTS WITHSOFTWARE AGENTS

Flavio Soares Correa da Silva & Department of Computer Science,University of Sao Paulo, Sao Paulo, SP, Brazil

Wamberto Weber Vasconcelos & Department of Computing Science,University of Aberdeen, Aberdeen, United Kingdom

& Responsive environments are physical surroundings whose components change their behaviorto accommodate the presence of people as well as other components. We describe a means to manageresponsive environments whereby each component is dynamically assigned a software agent. Soft-ware agents are autonomous and reactive=proactive programs that communicate via message-passing. Arbitrary functionalities can be encoded in such agents, reflecting the capabilities ofthe components they represent, as well as extending them. Ours is a flexible and scalable approachallowing the gradual population of environments with physical devices and their agents.

The notion of responsive environments is broad, encompassing essentiallyevery space capable of sensing and responding accordingly to entities thatinhabit them. These entities can be people, animals, or any sort of identifi-able objects. In this work we focus on a narrower class of responsive envir-onments, namely, those provided with ambient intelligence.

Ambient intelligence was recently characterized (Gaggioli 2005) asreferring to digital environments that are sensitive and responsive to the pres-ence of people. Their key features are intelligence and embedding. ‘‘Intelli-gence’’ here refers to the fact that the digital environment is able toanalyze its context, adapt itself to the people and objects that reside in it,learn from their behavior, and eventually recognize as well as express emotion.‘‘Embedding’’ means that miniaturized devices will become part of the invis-ible background of peoples’ activities, and that social interaction andfunctionality will move to the foreground.

The authors acknowledge the financial support of the International Exchange Programme of theRoyal Society of Edinburgh, United Kingdom, FAPESP–Brazil, and CNPq–Brazil. The authors thank theanonymous referees for their useful comments and suggestions.

Address correspondence to Wamberto Weber Vasconcelos, Department of Computing Science,University of Aberdeen, AB24 3UE Aberdeen, UK. E-mail: [email protected]

Applied Artificial Intelligence, 21:469–488Copyright # 2007 Taylor & Francis Group, LLCISSN: 0883-9514 print/1087-6545 onlineDOI: 10.1080/08839510701253682

Dow

nloa

ded

by [

Duk

e U

nive

rsity

Lib

rari

es]

at 0

0:23

04

Oct

ober

201

4

Page 3: MANAGING RESPONSIVE ENVIRONMENTS WITH SOFTWARE AGENTS

We focus on the feature of intelligence. We concur with Ess (2004) inthat the development of modern computer science has followed two paral-lel paths, the first championed by (among others) Engelbart and his mottoaugment, not automate (Engelbart 1962), which led to outcomes as the wholearea of human-computer interaction, and the second pioneered by(among others) McCarthy (McCarthy et al. 1955), which led to the out-comes of the whole research program of artificial intelligence. These twopaths seem, at first glance, deemed never to come to a confluence, as wecould interpret that Engelbart’s view embeds the proposition that compu-ters are here to enhance and extend human-centric activities, whilst theartificial intelligence view looks for ways to replace humans in their activi-ties. It would not make sense to enhance and displace the same entity in asystem.

Contrary to this view, and in tune with the recent technological trend toconverge different lines of development, we outline in the present articleone possible way to combine coherently these two paths. Intelligent respon-sive environments provide an appropriate field of application for artificialintelligence tools and techniques—most remarkably distributed problemsolving and multi-agent systems—to enhance the interactions betweenhumans and digital devices (or, to be more precise, a responsive environ-ment equipped with digital devices).

Intelligent responsive environments are commonly aligned with the‘‘augmentation’’ approach to computer science. We emphasize, nonethe-less, the implicit goal in this field of research of treating environmentsas agents that sense and interpret events, devise plans and react basedon what has been sensed. Our work is an attempt to bridge the fieldsof intelligent responsive environments and multi-agent systems. Intelli-gent responsive environments pose specific design challenges, especiallythose related to the real-time management of asynchronous, multi-purpose, concurrent systems that must be coordinated based on incom-plete and partially reliable information, and which include humans asparticipants. Multi-agent systems, in turn, offer the possibility of incor-porating sophisticated patterns of behavior in the reactivity of environ-ments, based on complex reasoning and interaction between devicesand humans, as well as among different devices (and their softwarecounterparts).

In this article we present some concrete scenarios in which thesepatterns of behavior can be relevant, and propose a general architecturethat can be used to design intelligent responsive environments for thosescenarios. To make the architecture general-purpose, we abstract somespecificities related to sensors and actuators. Our goal is to design a genericarchitecture that can be instantiated to specific cases, so that any devicescan be easily ‘‘plugged in.’’

470 F. S. C. da Silva and N. W. Vasconcelos

Dow

nloa

ded

by [

Duk

e U

nive

rsity

Lib

rari

es]

at 0

0:23

04

Oct

ober

201

4

Page 4: MANAGING RESPONSIVE ENVIRONMENTS WITH SOFTWARE AGENTS

ILLUSTRATIVE SCENARIOS

In this section we illustrate the class of problems we focus on with ascenario. Let us consider the case of a bookstore where sensors (antennae)detect the presence of customers identified by some portable device, e.g.,a BluetoothTM-enabled (http://www.bluetooth.com) mobile phone orPDA, or a fidelity card with an active RFID (Radio Frequency IDentifi-cation) tag. In this scenario there are various sensors distributed amongthe shelves and sections of the bookstore which are able to detect thepresence of individual customers. The bookstore can associate the identifi-cation of customers with their profiling information, such as preferences,buying patterns, and so on.

With this infrastructure in place, the bookstore can provide customerswith a responsive environment that would adapt to maximize their well-being with a view to increasing sales. For instance, the device playing thebackground music should take into account the preferences of a customernext to it. Similarly, LCD displays scattered in the store show items based onthe customer nearby, the lights on the shop’s display window (showing newtitles) can be rearranged to reflect a customer’s preferences and interests,and so on.

In a bookstore, a customer will share the physical space with other cus-tomers. Hence, to make our scenario more realistic, the device must detectthe presence of more than one customer and adapt its behavior to accountfor these different customers. For instance, the device to play backgroundmusic must take into account the customers within hearing distance ofitself and play music that would please most customers, following somestrategy to optimize the experience of all customers. Likewise, a display unitshould show items that would be within the interests and preferences ofmost customers in its neighborhood (assuming there is a limit on thenumber of items the display unit can show), and that would not be offens-ive to any customer.

The bookstore setting is a representative of the scenarios we would liketo consider. Some other situations are:

. Multi-site organizations: Instead of customers visiting different depart-ments in a bookstore, we can have employees moving along differentpoints and buildings of a large organization. One can easily build up sce-narios in which pieces of information could be delivered to specificemployees at specific locations and specific moments. These pieces ofinformation could also be delivered in a multitude of modes, includinglocal environment customizations.

. Museums: Museums (e.g., art or history museums) typically have avariety of sections that could raise interest on information of a specific

Managing Environments with Software Agents 471

Dow

nloa

ded

by [

Duk

e U

nive

rsity

Lib

rari

es]

at 0

0:23

04

Oct

ober

201

4

Page 5: MANAGING RESPONSIVE ENVIRONMENTS WITH SOFTWARE AGENTS

sort. Different visitors, on the other hand, may be interested in differentforms of material, e.g., more formal and in-depth material, or lessdetailed and more superficial material. Visitors can be given personalelectronic assistants to provide them location-dependent informationbased on their profiles, but typically these personal devices have limitedmultimedia resources.

We would like to capture the most fundamental features of our aimedclass of scenarios. Some of these features are:

. A dynamic set of physical components: The components of the physical world(i.e., devices and humans) enter and leave the environment and moveabout.

. Components have disparate capabilities: A human without a personal device(PDA or mobile phone) cannot communicate directly with the environ-ment; a communal multimedia station can output information, but maynot be able to receive direct feedback from the environment.

. Asynchronous distributed computing: Each device operates asynchronouslyand independently of each other; moreover, there is no shared memoryand information is exchanged among the devices only via message-passing.

. Coordinated behavior: Devices can exchange messages and behave in acoordinated fashion. They can cooperate to optimize the attainabilityof their shared goals.

We explain next how our multi-agent architecture addresses all thesefeatures.

A MULTI-AGENT ARCHITECTURE FOR RESPONSIVEENVIRONMENTS

We focus on a class of systems broadly referred to as intelligent responsiveenvironments. These are systems consisting of loosely coupled componentssuch as sensors, antennae, display devices (possibly with multimediafeatures), digital cameras (for still and motion pictures), and so on, thatperceive the presence of humans in the physical space they are immersedin and modify their behavior to accommodate such presence. Our compo-nents may need to interact with each other and, if this is the case, they doso in an ad-hoc fashion via message exchange—no physical exclusivechannels exist among the components of our systems. We explain a meansto implement the ad-hoc communication among our components viapersistent tuple spaces.

472 F. S. C. da Silva and N. W. Vasconcelos

Dow

nloa

ded

by [

Duk

e U

nive

rsity

Lib

rari

es]

at 0

0:23

04

Oct

ober

201

4

Page 6: MANAGING RESPONSIVE ENVIRONMENTS WITH SOFTWARE AGENTS

In order to make our discussion more concrete, we shall employ theshopping precinct scenario described previously. Let us concentrate onthe case of a bookstore in which customers (humans) share a physical spacewith devices with distinct functionalities. In Figure 1 we show the actualphysical space as a rectangle (lower half of the diagram) in which humansand electronic devices coexist; the upper half of the diagram shows a‘‘cloud’’ in which the software counterpart of the physical componentsexist. Dotted lines connect the actual components with their digital coun-terparts. These lines, as we explain next, stand for various forms ofcommunication among the digital and physical components. We explainthe details of both the digital cloud and physical space, and also presentmeans to (semi-) automatically connect them.

In Figure 1 the cloud above the physical world represents the computa-tional counterpart of the physical world. Each component (human ordevice) has a corresponding software agent that represents its features,capabilities, and interests. A useful analogy here might be to consider thedigital cloud as a kind of operating system that manages and integratesexisting resources. We thus regard a responsive environment as a physicalspace whose (electronic and human) components are managed by softwareagents, that is, responsive environment ¼ physical worldþ software agents.

We represent actual customers (humans) inhabiting the physical space(rectangle) as ‘‘stick men.’’ Devices also share this physical space and we rep-resent them in a generic fashion as labeled squares. In our diagram we alsorepresent their area of action as dotted circles, these stand for the range ofthe sensors or how far their behavior or output reaches within the physical

FIGURE 1 Physical world and software agents.

Managing Environments with Software Agents 473

Dow

nloa

ded

by [

Duk

e U

nive

rsity

Lib

rari

es]

at 0

0:23

04

Oct

ober

201

4

Page 7: MANAGING RESPONSIVE ENVIRONMENTS WITH SOFTWARE AGENTS

space. Humans enter, move about, and leave physical spaces, interacting withdevices. This interaction may take many forms: for instance, customers mayapproach a screen that display items they might be interested in; customersapproach a sound station that plays music they might like; customers interactvia terminals, mobile phones or PDAs with their agents to find out what is onoffer in the shop for less than a certain amount, and so on. Devices becomeaware of humans through sensors (in the physical world); devices also havesoftware agents that provide them with extensible functionalities, one of whichis the management of their capabilities (e.g., devices that can only play music,multimedia devices or computers with touch screens).

Preliminary Definitions

We need to initially define some of our concepts to enable us to carryout our discussion in a more precise manner. The definitions in this sectionaim to provide us with a more compact and precise notation with which wecan explain and explore our scenarios. We shall first define the compo-nents of the physical world:

Definition 1. A component is a pair c ¼ hid, cati, where id is a uniqueidentifier and cat is a label depicting the category of the component,according to some ontology.

Components thus possess a unique identifier id, which is akin to theuniversal resource identifiers (URIs) of the WWW (Berners-Lee 2003)and that may depend on the specific physical space. The category cat isa concept of an associated ontology describing the component in a mostspecific fashion. Examples of such an ontology is FIPA’s (The Foundationfor Intelligent Physical Agents, http://www.fipa.org/) Device OntologySpecification (FIPA 2001) and W3C’s (The World Wide Web Consortium,http://www.w3c.org/) Composite Capabilities and Preferences Profilerecommendation (CC=PP) (W3C, 2004). We show a sample CC=PPtaxonomy in Figure 2. We shall denote a physical space generically as theset of components C ¼ fc1; . . . ; cng.

Components have assorted computing capabilities. The simplest kindof component, say a tag that identifies its bearer to a sensor, will simplystore their identifier and category; more sophisticated components, say aPC or a PDA, will possess more computing power that would enable themto carry out various tasks. We decided not to represent the components’capabilities for two reasons: i) these are only relevant to the componentitself and not to the environment as a whole, and ii) a sufficiently expressivemeans to represent all kinds of computing capabilities (including none)goes beyond the scope of this work.

474 F. S. C. da Silva and N. W. Vasconcelos

Dow

nloa

ded

by [

Duk

e U

nive

rsity

Lib

rari

es]

at 0

0:23

04

Oct

ober

201

4

Page 8: MANAGING RESPONSIVE ENVIRONMENTS WITH SOFTWARE AGENTS

The simplest components may not have the ability to communicate withother components, that is, they may lack the capabilities to prepare andsend messages to other components as well as to receive and process mes-sages from other components. We require that at least one component inour environments has a communication facility with the digital ‘‘cloud’’shown in Figure 1. We elaborate on the digital cloud and such communi-cation facility next. We shall denote a component that communicates withthe digital cloud as cc. We next define the software counterparts of ourphysical components: the agents.

Definition 2. A software agent is represented as the triple ag ¼ hid, cat,loci, where id and cat are as shown and loc represents a location of thephysical world.

The location loc provides the position in the physical environment ofthe actual component the agent represents. Distinct environments renderthemselves differently to being broken down into regions and points oflocation. We are not concerned here with how accurate the positioningof components are within the environment and different scenarios mayrequire different solutions. The actual components should provide theirlocation to their software agents in a manner we describe next.

Electronic Institutions

In addition to the minimalistic agent definition, we borrow from the workon electronic institutions (Esteva, 2003; Vasconcelos 2003) to fully define anexpressive class of multi-agent systems—these multi-agent systems comprisethe software layer of responsive environments. Electronic institutions (e-Insti-tutions, for short) have been proposed as a formalism with which one can

FIGURE 2 W3C CC=PP device taxonomy.

Managing Environments with Software Agents 475

Dow

nloa

ded

by [

Duk

e U

nive

rsity

Lib

rari

es]

at 0

0:23

04

Oct

ober

201

4

Page 9: MANAGING RESPONSIVE ENVIRONMENTS WITH SOFTWARE AGENTS

specify open and heterogeneous agent organizations. In the same way thatsocial institutions, such as a constitution of a country or the rules of a club,are somehow forged (say, in print or by common knowledge), the laws thatshould govern the interactions among heterogeneous agents can be definedby means of e-Institutions. Agents programmed in any language, using which-ever design principles or methodologies, can join in an e-Institution,adequately interact with other agents, and achieve individual and global goals.

In our adaptation of e-Institutions, we equate an agent’s category withits role. Roles within e-Institutions are abstractions that allow us to refer gen-erically to stereotypical behaviors of agents (Esteva 2003; Vasconcelos2003). For instance, agents taking up the role of a buyer in an e-Institutionaimed at representing an (virtual) auction room will each have theirspecific goods to buy and the highest price they are prepared to pay, butthey must all behave in the same fashion, sending their bids to the auctioneerand waiting for the outcome of that round of the auction. Roles are a usefulabstraction that allow practitioners to reduce the complexity of designingopen and heterogeneous multi-agent systems: Individual agents can begrouped together by means of their roles, thus facilitating the study andengineering of their interactions with agents adopting other roles, as wellas the goals the agents adopting each role should achieve.

We have decided against fully introducing e-Institutions in this paper;doing so would extend it substantially and would not necessarily makeour exposition clearer as readers might get ‘‘bogged down’’ in the technicaldetails. Instead, we just explain how e-Institutions are plugged into ourapproach and refer readers to Esteva (2003) for the formal details one-Institutions. We do so via the illustration in Figure 3: We show the setof components and agents as well as a sample e-Institution and a ‘‘zoom’’view of one of the parts of the e-Institution, explained next.

Rather than representing the observable behaviors of agents (i.e., thekinds and order of messages to be sent and received and their inter-relationships, how exceptions to the protocols are detected and reacted to,and so on) as part of the agent specification (e.g., as programs in arbitrary

FIGURE 3 Components, agents, and electronic institutions.

476 F. S. C. da Silva and N. W. Vasconcelos

Dow

nloa

ded

by [

Duk

e U

nive

rsity

Lib

rari

es]

at 0

0:23

04

Oct

ober

201

4

Page 10: MANAGING RESPONSIVE ENVIRONMENTS WITH SOFTWARE AGENTS

programming languages), we opt instead to specify these as an e-Institution,pictured as the upper-most box of Figure 3. This way, engineers have accessto a global account of the behaviors of all agents (in an abstract way providedby their roles=categories). It is easier to verify, analyse and change the beha-viors of agents using such global account than if we had to examine groupsof individual agents (implemented in assorted languages).

In Figure 3 we offer a sample e-Institution with its various componentsrepresented in a visual format. The boxes with round edges are the scenes:These are means to break down larger protocols into smaller ones with spe-cific purposes. For instance, in a market place, agents need to be admitted(following a protocol in which credit card details are requested and pro-vided), then agents may proceed to the auction room (or they may leave ifthey cannot find any goods that interest them). The initial scene (namedAdmission) is represented as a thicker box and the final scene (i.e., theDeparture scene) is represented as a double box. Scenes are connected viatransitions (represented as labeled triangles) and they can be seen as ‘‘meet-ing points’’ where agents synchronize their movements between scenes.

In Figure 3 we also show a ‘‘zoom’’ of a scene, in a visual format. Scenesare finite-state representations of protocols where the edges between statesare labeled with the message that should be sent at that point. The states ofscenes are represented as circles; in a scene there is a single initial state(represented as a circle drawn with a thicker line) and a final state (repre-sented as a double circle). Scenes may have various entry and exit points(represented, respectively, by black triangles pointing towards a state andtriangles pointing away from a state), indicating where agents may leavethe scene and come back.

Our multi-agent system which shall work as the ‘‘operating system’’ ofthe responsive environment can be engineered as follows. Given a set ofagents, engineers devise an e-Institution taking into account the categor-ies=roles of the agents; this task can be supported by tools and the resultinge-Institutions can be verified for different properties. Such e-Institutionswould address delegation of tasks among the agents (e.g., a fax machinetakes over the job of the printer, if the printer runs out of paper), negoti-ation (e.g., the agent of a device to play music must interact with the agentsof customers within its range to negotiate the music that pleases the mostthe largest subset of agents), and cooperation=collaboration (e.g., an agentlooking after the smoke detector double-checks with the agent lookingafter the room’s temperature if there is an increase in temperature).

Connecting the Physical World with Software Agents

Our approach consists in providing an extensible and flexible softwarelayer to manage the various components of a responsive environment. We

Managing Environments with Software Agents 477

Dow

nloa

ded

by [

Duk

e U

nive

rsity

Lib

rari

es]

at 0

0:23

04

Oct

ober

201

4

Page 11: MANAGING RESPONSIVE ENVIRONMENTS WITH SOFTWARE AGENTS

aim at environments in which physical components can appear, moveabout, and disappear continuously; hence, our proposed solution cannotbe a static one. We provide each component of a responsive environmentwith a software agent: a self-contained computer program that is autonomousand that can communicate with other agents (Wooldridge 2002). Agents areautomatically started, updated, and terminated as their components enter,move about, and leave the environment, respectively.

We want to make our exposition as concrete as possible to allow for thereproduction or adaptation of our ideas to similar scenarios. Rather thanconsidering software agents in the abstract, we describe, hopefully, with suf-ficient detail, a complete solution to implement them. Our architecture isbuilt around a blackboard, implemented as a Linda tuple space (Carrieroand Gelerneter 1989). Tuple spaces have been successfully embedded ina number of programming languages (e.g., PROLOG [SICStus 2006] andJAVA [Freeman et al., 1999]). Our solution is similar to the SPREADapproach (Couderc and Banaatre 2003) and the LIME (Picco et al.,1999) project, in that we also use a tuple space to facilitate ad-hoc com-munication among components, thus avoiding issues concerning com-munication channels, point-to-point message passing, and so on.

We show in Figure 4 a diagram detailing the digital cloud of Figure 1. InFigure 4 we show components (bottom rectangle), some of whichcommunicate with the digital cloud by writing entries on the tuple spaceand by reading=taking entries from it. The components that do not havecommunication capabilities must somehow be sensed by a component inthe ambient which, on its turn, communicates with the digital cloud.Components that cannot read=take entries from the digital cloud mustresort to other components to do so on their behalf. This provides an

FIGURE 4 Tuple space architecture.

478 F. S. C. da Silva and N. W. Vasconcelos

Dow

nloa

ded

by [

Duk

e U

nive

rsity

Lib

rari

es]

at 0

0:23

04

Oct

ober

201

4

Page 12: MANAGING RESPONSIVE ENVIRONMENTS WITH SOFTWARE AGENTS

indirect form of communication that accommodates devices with disparatecapabilities.

Infrastructure: Administrative Agents

We require a team of administrative agents to provide a basic infrastruc-ture for the digital cloud. The administrative agents, among other respon-sibilities, continuously roam the space looking for tuples that concernthem. Our architecture is bootstrapped with a team of administrativeagents and an empty tuple space.

The administrative agents can be in any number, but there must be atleast one of them (and its backup). If there is more than one of them, thenthey are exactly the same, that is, they possess the same functionalities.When a physical component cc is turned on (or alternatively, when it entersthe environment) it must be assigned a software agent to represent it in thedigital cloud. Its communication capabilities must allow it to write onto thespace the tuple hid, cat, loci. For instance, we can have a device writinga tuple such as h4533, antenna, tools departmenti or h843533, VGA,toiletries(south)i. The administrative agents take the entries off thespace and start up an agent (and a backup for it), if it has not already doneso. When an agent is successfully started, this is recorded as a tuple hid, cat,agent(on)i. We note the absence of the loc in the tuple: The agent for thecomponent is the only one in possession of this information.

Each administrative agent has a ‘‘dormant’’ backup agent: at regularintervals the backup agent sends a message checking that the active admin-istrative agent is alive and well. We endow the active administrative agentwith a thread that answers these messages. If anything has gone wrong, thenthe backup agent takes over the duties of the active agent and becomes thenew active agent. The new active agent must initially start a backup copy ofitself, thus perpetuating the active=dormant arrangement.

Software Agents for Physical Components

Once a software agent is started by the team of administrative agents, itfollows a process of sensing the environment, updating its internal modelof the world, and then acting upon the world, much like the usual behaviorof reactive agents (Wooldridge 2002). However, our agents sense theenvironment by checking for tuples in the space. These tuples are writtenon the space by the physical counterpart. For instance, if a componentmoves about it writes a tuple hagent(id), cat, new location (locnew)i; ifa sensor detects a person in its vicinity it writes the tuple hagent(id),cat, detect(person)i, and so on. Likewise, the agents change theirenvironment by writing tuples on the space that are aimed at their physical

Managing Environments with Software Agents 479

Dow

nloa

ded

by [

Duk

e U

nive

rsity

Lib

rari

es]

at 0

0:23

04

Oct

ober

201

4

Page 13: MANAGING RESPONSIVE ENVIRONMENTS WITH SOFTWARE AGENTS

counterparts. For instance, an agent representing a sound station may needto send a tuple such as hcomponent(id), cat, play(Bach)i.

The decoupling of hardware and software capabilities has two advan-tages. First, new devices (with arbitrary functionalities) can be added at willwithout requiring special software to manage them: all we need to do is tomake sure their agents write adequate tuples on the space for them.Second, new software agents can be introduced without having to changeneither the hardware nor its configuration. The point of contact betweencomponents and agents is the tuple space; new functionalities both inthe hardware and software can be captured and harnessed by designingnew kinds of tuples and an order in which they are written onto and read=taken from the space.

We can associate a different kind of software agent to each category ofcomponents expected in the physical environment. Alternatively, we canoffer a generic agent that follows the process: read=take relevant tuples,process tuples and update internal state(s), write out adequate tuples,etc. In this case, the variability stems from different ways of implementingthe processing of tuples. We show in Figure 5 a generic kind of agent imple-mented in SICStus PROLOG (SICstus 2006). We chose PROLOG as aprogramming language because of its terse syntax and precise semantics.A goal of this work is to precisely capture the semantics of a class of com-putational solutions to the problem of managing responsive environments.

Predicate main=3 (lines 1–3) is called when the agent is started.The administrative agent ensures that appropriate values for Id, Cat, andLoc (obtained from the tuple space, having been written by a physical

FIGURE 5 Generic agent in PROLOG.

480 F. S. C. da Silva and N. W. Vasconcelos

Dow

nloa

ded

by [

Duk

e U

nive

rsity

Lib

rari

es]

at 0

0:23

04

Oct

ober

201

4

Page 14: MANAGING RESPONSIVE ENVIRONMENTS WITH SOFTWARE AGENTS

component) are passed to the predicate. The initialise=3 predicate usesId and Cat to build the initial model Model. This predicate is responsible,for instance, for retrieving the profile of a customer or a description of thefeatures of a PC or PDA, and using these to build an initial model for theagent to work on.

Predicate loop=2 (lines 4–10) defines the main flow of execution, con-tinuously checking for any terminating condition (e.g., when a componentleaves the environment or is turned off) in clause 1 (lines 4–5). The secondclause (lines 6–10) checks the space for new tuples written to the agent,processes them, updates the model, and then writes out tuples. Predicatetake tuples=2 (line 7) uses the agent identification Id to take all thosetuples aimed at the agent and stores them as a list in Ts. Predicateprocess=7 uses Id, Loc, Model, and Ts and obtains a new location NewLoc

(which may be the same as Loc if the component has not moved), updatesthe model in light of the new tuples giving rise to NewModel, and preparesin OutTs a (possibly empty) list of tuples that are to be written out onto thespace—this predicate must have access to the e-Institution specification toguarantee that the agent follows the prescribed protocol. Line 9 showsthe predicate write tuples=1 that writes out the list of tuples OutTs

onto the space. Finally, in line 10, predicate loop=2 is recursively invokedwith the appropriate new arguments.

ENGINEERING RESPONSIVE ENVIRONMENTS

We are interested in how one could engineer responsive environments.Some of the tasks for which we would like to provide support are thedesign, implementation, verification, and analysis and deployment of soft-ware to manage a physical space. In this section we propose and justify amethodology for engineering responsive environments.

Ultimately particular devices (and their features and capabilities) willhave to be considered in the design of responsive environments. However,we would like to study a complete class of solutions and thus we need tomove away from manufacturers’ specificities, but we still want to keep thediscussion realistic. We thus employ a more abstract and flexible descrip-tion of devices using ontologies.

From Physical Components to Software Agents

We propose an automatic means to provide the software counterparts tophysical components. When a new component with communication capabili-ties enters the environment, then it writes an entry onto the space requestingits agent counterpart to the administrative agent, as explained previously.Those components without communication capabilities, however, follow an

Managing Environments with Software Agents 481

Dow

nloa

ded

by [

Duk

e U

nive

rsity

Lib

rari

es]

at 0

0:23

04

Oct

ober

201

4

Page 15: MANAGING RESPONSIVE ENVIRONMENTS WITH SOFTWARE AGENTS

indirect route to get their corresponding agents. Upon being detected (andrecognized, if possible) by devices with sensing features, these sensing deviceswrite onto the tuple space the information on the detected component. If thedetected component already has an agent, then its agent will simply update itslocation, otherwise the administrative agent will start up an agent for thecomponent. The sensing devices must be able to communicate with the tuplespace or, alternatively, to communicate with a device that is able to communi-cate with the tuple space.

A Concrete Negotiation Protocol

Physical entities within the region of reach of an interactive device havecorresponding software agents that exchange messages in order to reachmultiple goals. Basically, the goals to be reached are individual goals ofthe agents, plus general goals of the organization whose existence justifiesthe construction of systems like the ones we are studying.

For example, in a bookstore, software agents of customers can havegoals to maximize the comfort of the customers whose interests they rep-resent and to provide the customers with information in the most usefulformat, whereas the bookstore can have goals to sell as many books as poss-ible and to ensure that customers will come back in the future.

The ability to reach the goals can be ensured by means of the designof appropriate plans and message exchange protocols for the agents.These plans and protocols can be as sophisticated as necessary in orderto capture the complexity and multiplicity of behaviors of the agents thatcan be needed for each specific problem at hand. Our work is focusedon providing systems engineers with the appropriate tools to build, cali-brate and revise plans and communication protocols as easily as possible,and to implement those plans and protocols efficiently in the softwareagents.

As a concrete example, we present here the means to implementvery simple plans and a specific, also very simple, procedure for agentsto exchange messages. Despite the simplicity of our plans and protocol,the overall observable behavior of the resulting system can be surprisinglycomplex.

Our protocol is as follows: We assume that within the neighborhood ofan interactive device there can be agents of two sorts: customer proxies, whichare named agc1, agc2,. . ., agcn, and only one device proxy, named agd. Thedevice proxy represents the interactive device. Any time a customer gets suf-ficiently close to the interactive device to be detected and identified by it,his=her corresponding proxy agent migrates to the device’s region.

In our simplified scenario, the gestures of the customers are not sensed,and the amount of time each customer stays close to a device is not tracked

482 F. S. C. da Silva and N. W. Vasconcelos

Dow

nloa

ded

by [

Duk

e U

nive

rsity

Lib

rari

es]

at 0

0:23

04

Oct

ober

201

4

Page 16: MANAGING RESPONSIVE ENVIRONMENTS WITH SOFTWARE AGENTS

either. The only information we take into account is the popping up of cus-tomer proxies within the range of devices, and whether they stay there forsome time.

Consider a collection of attributes to which numerical values corre-spond, and that can be used to classify the contents to be presented inan interactive device. For example, we can take into account only two attri-butes to classify books—price range and age of customers that can haveinterest in a book—and classify every book in a bookstore according tothese two numeric values. If a pair hprice; agei is written in a public area,agent agd can read this pair, select the set of books corresponding to thispair, and start showing them.

Assume that each customer proxy agci also has a pair hpriceci ; agecii thatcharacterizes the preference of the customer it represents, i.e., if that cus-tomer were alone in the bookstore, (s)he would very much like to see at alltimes the display of the books corresponding to hpriceci ; agecii. A customerproxy surrounding a device, in this case, can have the capability of rewritingthe pair hprice; agei being read by the device, according to a strategy thatimproves monotonically its individual satisfaction, without moving abruptlyaway from what was being shown prior to its arrival, which represented thepreferences of the community of agents that surrounded the device priorto its arrival.

The communication among the customer proxies can occur throughthe pair hprice; agei. For example, agents can take turns to rewrite this pairin a round-robin fashion. The strategy for agents to bring the pair closerto their preferences without disrupting a previously existing state of stabilitycan be implemented as a tuple of numerical values within the real interval[0, 1], corresponding to each attribute used to classify the contents to beshown by a device. In our concrete case, we have for each agent agci a cor-responding pair hDp

ci ;Dacii;D

pci ;D

aci 2 ½0; 1�. Every time the agent agci is granted

the right to update the pair hprice; agei, it does so in the following way:

. price price þ Dpci � ðpriceci � priceÞ

. age age þ Daci � ðageci � ageÞ

The relative sensitivity of each agent with respect to each attribute usedto determine the contents to be shown in the interactive devices can becalibrated empirically through the parameters Dj

ci . The result of a customerapproaching a device, in this case, is that the contents shown in that deviceare gradually adjusted to the interests of that agent, without disregardingthe tastes and interests of the other customers who were close to the deviceprior to the arrival of this last customer.

Intuitively, it is as if the attributes of contents generated an Euclideanspace, the actual contents being shown were located as a point in that

Managing Environments with Software Agents 483

Dow

nloa

ded

by [

Duk

e U

nive

rsity

Lib

rari

es]

at 0

0:23

04

Oct

ober

201

4

Page 17: MANAGING RESPONSIVE ENVIRONMENTS WITH SOFTWARE AGENTS

space, each customer agent had the point of its most preferred contentsalso located in that same space, and the tuple hD1

ci ;D2ci ; . . . Dn

cii of attri-bute-related parameters determined the power of agent agci to attract thecontents being shown to its preferences.

In Figure 6 we have a graphical representation of how it works. We havethree customers, whose agents are named agc1, agc2 and agc3. Consideringonly price and age, let us assume that the most preferred contents for agc1 isgiven by h10; 10i, the most preferred contents for agc2 is given by h20; 20i,and the most preferred contents for agc3 is given by h10; 20i. Let us alsoassume that the parameters related to agent agc1 are h0:5; 0:2i, the para-meters related to agent agc2 are h0:8; 0:5i, and the parameters related toagent agc3 are h0:2; 0:7i. Let us finally assume that initially only the cus-tomer represented by agc1 was close to the display showing products, whichmade it show precisely the contents related to point h10; 10i.

As soon as the customers represented by agc2 and agc3 approach the dis-play, their influence starts to update the contents being presented in thedisplay. Agent agc2 ‘‘pushes’’ the contents towards h20; 20i with the strengthprovided by its relative parameters, then agent agc3 ‘‘pushes’’ the contentstowards h10; 20i with the relative strength provided by its own parameters,and then agent agc1 ‘‘pushes’’ the contents back towards h10; 10i with thestrength provided by its relative parameters, and so on repeatedly. The con-tents actually being shown are the ones captured asynchronously by thedevice, among the possibilities resulting from the ‘‘trajectory’’ of what isto be shown generated by these values. In Figure 6, we see a line represent-ing this trajectory, from the initial situation with only agc1 close to the

FIGURE 6 Dynamics of negotiation as a function.

484 F. S. C. da Silva and N. W. Vasconcelos

Dow

nloa

ded

by [

Duk

e U

nive

rsity

Lib

rari

es]

at 0

0:23

04

Oct

ober

201

4

Page 18: MANAGING RESPONSIVE ENVIRONMENTS WITH SOFTWARE AGENTS

display until the stable closed polygon that characterizes the ‘‘orbit’’ ofcontents that attend the interests of all three agents.

RELATED WORK

A general appraisal of the field of ambient intelligence, written by aresearcher whose major contributions are connected to artificial intelli-gence and multi-agent systems, can be found in Shadboldt (2003). Anothergeneral appraisal of ambient intelligence can be found in Aarts (2004), inwhich five ‘‘key technology features’’ are listed, viz., 1) embedded: multipledevices are integrated into the environment; 2) context aware: the environ-ment, as an agent, recognizes its human inhabitants, their activities, andcontext; 3) personalized: the environment can adjust itself to the needsand interests of individual inhabitants; 4) adaptive: the environment canchange in response to what is going on; 5) anticipatory: the environmentcan infer desires, intentions, and future actions of its inhabitants. In Miskeret al. (2004b, a) we have the notion of ‘‘ambient mediated’’ interactionbetween humans and software agents, which is akin to our approach.Human inhabitants of a responsive space are generally interested in the ser-vices that the space can provide to it, and would rather have access to thoseservices automatically. It is expected, therefore, that humans consider irrel-evant whether those services are the outcome of coordinated actions of asociety of software agents. The interactions among software agents, betweenagents and the environment are, in that project, carefully constrained totightly controlled protocols. Our work extends their results by giving roomto more sophisticated patterns of interaction.

The Intelligent Inhabited Environments research group at the Univer-sity of Essex explicitly proposes, as we do, the construction of intelligentresponsive environments through the coupling of the physical world and vir-tual worlds inhabited by software agents. Their test bed—the iDorm experi-ment, which is a student dormitory facility to serve a single student,equipped with a host of sensors and effectors that can monitor the activitiesin it and respond accordingly—only allows for single-occupant scenarios andhence theirs is a restricted form of interaction among the software agents.This contrasts with our approach and proposed test cases, in which we neces-sarily must take into account multiple occupants of a single space, complexinteractions among their proxy agents, and even among proxy agents andother agents that may exist in the informational space without having neces-sarily a physical counterpart, thus leading to more complex patterns of inter-action among agents and among agents, human, and the environment.Some recent results from the Intelligent Inhabited Environments groupcan be found in Callaghan et al. (2004), and Hagras et al. (2004).

Managing Environments with Software Agents 485

Dow

nloa

ded

by [

Duk

e U

nive

rsity

Lib

rari

es]

at 0

0:23

04

Oct

ober

201

4

Page 19: MANAGING RESPONSIVE ENVIRONMENTS WITH SOFTWARE AGENTS

Another research work related to ours has been gradually reported in aseries of papers (Busetta et al. 2003b; Busetta and Zancanaro 2002; Busettaet al. 2003a; Kuflik et al. 2004; Busetta et al. 2004). Similar to our work,those researchers propose a framework in which software agents can nego-tiate based on their capabilities and goals and on context dependent infor-mation, e.g., information arising from sensors. Those authors, however,also prefer not to consider the possibility of multiple human users sharingthe same output, in which case this output should be of use to all concur-rent users, or more convoluted negotiation protocols (their approach isbasically first-come-first-served). The testbed proposed by those authors,nonetheless, is noteworthy: an active, context aware arts museum(http://peach.itc.it/). Our proposal should be applicable to their scen-ario with great effectiveness, since active museums match perfectly with theabstract setting we have taken into account.

In our work we have focused specifically on intelligent responsive envir-onments which require sophisticated intelligent behavior and interactionamong the software agents that constitute them. A similar approach isexplored in Vizzari (2004), but our work differs in the way we accountfor spatial interaction: In that work physical location rules the interactionsamong intelligent software agents (viz., the ‘‘situatedness’’ of agents [Weynsand Holvoet 2004], whereas in our work physical location is an attribute of‘‘spaceless’’ information agents, who interact through a tuple space.

CONCLUSIONS, DISCUSSION, AND FUTURE WORK

In this article we presented intelligent responsive environments viewedfrom the perspective of multi-agent systems, expanding our previous work(Correa da Silva and Vasconcelos 2005). We presented some concrete sce-narios in which intelligent responsive environments are appropriate, and inwhich complex patterns of reasoning and interaction between digitaldevices and humans, as well as among digital devices (and their softwarecounterparts), are useful to implement the desired functionalities. Thissuggests that multi-agent systems can greatly contribute to their designand implementation.

We have introduced a generic architecture to build intelligent respon-sive environments supported by multi-agent systems. The raison d’etre of ageneric architecture is reuse: One builds a generic architecture if it canbe used in different instances of a class of problems. The class of problemswe have in mind is outlined through a small collection of representativecases. We have stressed throughout the article that these two areas—intelli-gent responsive environments and multi-agent systems—challenge and sup-port each other with interesting problems and useful technical andconceptual tools to design and implement concrete systems.

486 F. S. C. da Silva and N. W. Vasconcelos

Dow

nloa

ded

by [

Duk

e U

nive

rsity

Lib

rari

es]

at 0

0:23

04

Oct

ober

201

4

Page 20: MANAGING RESPONSIVE ENVIRONMENTS WITH SOFTWARE AGENTS

Our architecture has been successfully implemented as a proof-of-concept prototype: a PC with an off-the-shelf BluetoothTM USB adaptor(our sensor) detected BluetoothTM-enabled mobile phones within its rangeand delivered music and=or video clips via the PC. The owners of mobilephones had to previously register their profile with preferred genres andartists=groups, and any dislikes. This information was stored in a database towhich software agents representing the humans had access. This implemen-tation has been reported in Aitken (2006). We used JADE (JAVATM AgentDevelopment Framework, http://jade.tilab.com/) to run agents communi-cating via JavaSpaces (Freeman et al. 1999), defining a lightweight computa-tional environment (Weyns et al. 2005) via freely available technologies.However, instead of the negotiation protocol explained previously, we experi-mented with richer user-modeling techniques (Masthoff and Gatt 2006).

Our future work concerns adding an explicit normative layer to the societyof agents managing the components of the responsive environment. Thenorms, such as permissions, prohibitions, and obligations, would guide indi-vidual agents’ behaviors ensuring that global (social) goals would be met.We shall adapt the distributed framework introduced in Garcıa-Camino et al.(2006a) and incorporate the approach described in Garcıa-Camino et al.(2006b) to update normative states of a society of agents, as these interact.With such normative components in place, we can provide tools to helpengineers design and verify their agent-based solutions to responsiveenvironments, along the lines of the work reported in Vasconcelos (2004).

REFERENCES

Aarts, E. 2004. Ambient intelligence: A multimedia perspective. IEEE Intell. Systs. 19(1):12–19.Aitken, C. 2006. Designing Software Agents to Manage Responsive Environments. B.Sc. Honors Computing

Project Report, Department of Computing Science, University of Aberdeen, United Kingdom,available at http://www.csd.abdn.ac.uk/� wvasconc/aitken_chris.pdf.

Berners-Lee, T. 2003. Naming and Addressing: URIs, URLs. . . . http://www.w3c.org/Addressing/.Busetta, P. and M. Zancanaro. 2002. Open Social Agent Architecture for Distributed Multimedia. Technical

Report 0212-20, Istituto Trentino di Cultura, Trento, Italy. Presented at the AAMAS’03 Int’l Work-shop on Agents at Work, available at http://sra.itc.it/tr/BZ02.pdf.

Busetta, P., M. Merzi, S. Rossi, and M. Zancanaro. 2003a. Group communication for real-time rolecoordination and ambient intelligence. In Procs. Int’l Workshop on AI in Mobile Systems (AIMS’-03), Seattle,Washington, U.S.A. Electronic version available at http://dit.unitn.it/� srossi/ubiComp.pdf.

Busetta, P., M. Merzi, S. Rossi, and F. Legras. 2003b. Intra-role coordination using group communi-cation: A preliminary report. In: Lecture Notes in Artificial Intelligence, LNAI, volume 2922,Springer-Verlag, Berlin.

Busetta, P., T. Kuflik, M. Merzi, and S. Rossi. 2004. Service delivery in smart environments by implicitorganizations. In Procs. 1st Int’l Conf. on Mobile & Ubiquitous Systems (MobiQuitous’04), Boston,Massachusetts U.S.A. IEEE Comp. Society.

Callaghan, V., G. Clarke, M. Colley, J. Chin, and F. Doctor. 2004. Inhabited intelligent environments. BTTech. Journal 22(3):233–247.

Carriero, N. and D. Gelernter. 1989. Linda in context. Comm. of the ACM 32(4):444–458.Correa da Silva, F. S. and W. W. Vasconcelos. 2005. Agent-based management of responsive environments

Volume 3673 of Lecure Notes in Artificial Intelligence. Springer-Verlag. An extended version

Managing Environments with Software Agents 487

Dow

nloa

ded

by [

Duk

e U

nive

rsity

Lib

rari

es]

at 0

0:23

04

Oct

ober

201

4

Page 21: MANAGING RESPONSIVE ENVIRONMENTS WITH SOFTWARE AGENTS

appears as tech. report AUCS=TR0502, Dept. of Computing Sc., Univ. of Aberdeen, at http://

www.csd.abdn.ac.uk/� wvasconc/pubs/resp_envs.pdf.

Couderc, P. and M. Banaatre. 2003. Ambient computing applications: An experience with the SPREADapproach. In Procs. of the 36th Hawaii Int’l Conf. on System Sciences (HICSS’03). IEEE Comp Soc.

Engelbart, D. C. 1962. Augmenting Human Intellect: A Conceptual Framework. Stanford Research InstituteTechnical Report AFOSR-3233.

Ess, C. 2004. Computer-mediated communication and human computer interaction. The Blackwell Guideto Philosophy of Computing and Information, ed. Luciano Floridi, Oxford, UK: Blackwell.

Esteva, M. 2003. Electronic Institutions: From Specification to Development. Ph.D. thesis, Universitat Politec-nica de Catalunya (UPC). IIIA monography Vol. 19, available at http://www.iiia.csic.es/

� marc/phd.pdf.zip.

FIPA. 2001. Device Ontology Specification. Foundation for Physical Agents document available athttp://www.fipa.org/specs/fipa00091/XC00091C.pdf.

Freeman, E., S. Hupfer, and K. Arnold. 1999. JavaSpaces: Principles, Patterns and Practice. Addison-Wesley.Gaggioli, A. 2005. Optimal experience in ambient intelligence. In: Ambient Intelligence, eds. G. Riva,

F. Vatalaro, F. Davide, and M. Alca~nni. IOS Press, New York, USA.Garcıa-Camino, A., J.-A. Rodrıguez-Aguilar, C. Sierra, and W. Vasconcelos. 2006a. A distributed architec-

ture for norm-aware agent societies. In Procs. Int’l Workshop on Declarative Agent Languages & Tech-nologies (DALT 2005), LNAI, volume 3904, Springer.

Garcıa-Camino, A., J.-A. Rodrıguez-Aguilar, C. Sierra, and W. Vasconcelos. 2006b. A rule-based approachto norm-oriented programming of electronic institutions. ACM SIGecom Exchanges 5(5):33—40.

Hagras, H., V. Callaghan, M. Colley, G. Clarke, A. Pounds-Cornish, and H. Duman. 2004. Creating anambient intelligence environment using embedded agents. IEEE Intell. Systs. 19(6):12–20.

Kuflik, T., P. Busetta, L. Penserini, P. Bresciani, and M. Zancanaro. 2004. Personalized information deliv-ery in dynamic museum environment by implicit organizations of agents. In Procs. Workshop onEnvirons. for Personalized Info. Access, Gallipoli, Italy. Available at http://www.di.uniba.it/

avi2004/e4pia/EPIA2004_proceedings.pdf.

Masthoff, J. and A. Gatt. 2006. In pursuit of satisfaction and the prevention of embarrassment: Affectivestate in group recommender systems. User Modeling and User-Adapted Interaction, in press.

McCarthy, J., M. L. Minsky, N. Rochester, and C. Shannon. 1955. A Proposal for the Dartmouth SummerResearch Project on Artificial Intelligence. http://www-formal.stanford.edu/jmc/history/dart-

mouth/dartmouth.html.

Misker, J. M., C. J. Veenman, and L. J. Rothkrantz. 2004a. Adaptive user support in agent based dynamicenvironments. In Advances in Pervasive Computing. Austrian Computer Society.

Misker, J. M., C. J. Veenman, and L. J. Rothkrantz. 2004b. Groups of collaborating users and agents inambient intelligent environments. In Proc. 3rd Int’l Joint Conf. on Autonomous Agents & Multi-AgentSystems (AAMAS004), volume 3. ACM Press.

Picco, G., A. Murphy, and G.-C. Roman. 1999. LIME: Linda meets mobility. In Procs. of the 21st Int’l Conf.on Software Eng. (ICSE 1999), ACM Press.

Shadbolt, N. 2003. Ambient intelligence. IEEE Intell. Syst. 18(4):2–3.SICStus. 2006. SICStus Prolog. Swedish Institute of Computer Science. http://www.sics.se/isl/

sicstuswww/site/ index.html, viewed on 10 Jan 2006 at 9.27 GMT.Vasconcelos, W. W. 2003. Expressive global protocols via logic-based electronic institutions. In Procs. 2nd

Int’l Joint Conf. on Autonomous Agents & Multi-Agent Systems (AAMAS 2003), ACM Press.Vasconcelos, W. W. 2004. Norm verification and analysis of electronic institutions. In Procs. Declarative

Agent Languages and Technologies (DALT 2004), LNAI, volume 3476. Springer.Vizzari, G. 2004. Dynamic Interaction Spaces and Situated Multi-Agent Systems: from a Multi-Layered Model to a

Distributed Architecture. Ph.D. Thesis. Universita degli Studi di Milano-Bicocca, Milan, Italy.W3C. 2004. Composite Capabilities=Preferences Profile Public Home Page. World Wide Web Consortium

document available at http://www.w3c.org/Mobile/CCPP/.Weyns, D. and T. Holvoet. 2004. A formal model for situated multi-agent systems. Fund. Informaticae 63:1–34.Weyns, D., M. Schumacher, A. Ricci, M. Viroli, and T. Holvoet. 2005. Environments in multiagent

systems. The Knowledge Engineering Review 20(2):127—141.Wooldridge, M. 2002. An Introduction to MultiAgent Systems. England, U.K.: John Wiley & Sons Ltd.

488 F. S. C. da Silva and N. W. Vasconcelos

Dow

nloa

ded

by [

Duk

e U

nive

rsity

Lib

rari

es]

at 0

0:23

04

Oct

ober

201

4