Mechanisms for environments in multi-agent systems: Survey and opportunities <s> Environment-mediated interaction channels <s> The components of a loosely coupled system are typically designed to operate by generating and responding to asynchronous events. An event notification service is an application-independent infrastructure that supports the construction of event-based systems, whereby generators of events publish event notifications to the infrastructure and consumers of events subscribe with the infrastructure to receive relevant notifications. The two primary services that should be provided to components by the infrastructure are notification selection (i. e., determining which notifications match which subscriptions) and notification delivery (i.e., routing matching notifications from publishers to subscribers). Numerous event notification services have been developed for local-area networks, generally based on a centralized server to select and deliver event notifications. Therefore, they suffer from an inherent inability to scale to wide-area networks, such as the Internet, where the number and physical distribution of the service's clients can quickly overwhelm a centralized solution. The critical challenge in the setting of a wide-area network is to maximize the expressiveness in the selection mechanism without sacrificing scalability in the delivery mechanism. This paper presents SIENA, an event notification service that we have designed and implemented to exhibit both expressiveness and scalability. We describe the service's interface to applications, the algorithms used by networks of servers to select and deliver event notifications, and the strategies used to optimize performance. We also present results of simulation studies that examine the scalability and performance of the service. <s> BIB001 </s> Mechanisms for environments in multi-agent systems: Survey and opportunities <s> Environment-mediated interaction channels <s> Well adapted to the loosely coupled nature of distributed interaction in large-scale applications, the publish/subscribe communication paradigm has recently received increasing attention. With systems based on the publish/subscribe interaction scheme, subscribers register their interest in an event, or a pattern of events, and are subsequently asynchronously notified of events generated by publishers. Many variants of the paradigm have recently been proposed, each variant being specifically adapted to some given application or network model. This paper factors out the common denominator underlying these variants: full decoupling of the communicating entities in time, space, and synchronization. We use these three decoupling dimensions to better identify commonalities and divergences with traditional interaction paradigms. The many variations on the theme of publish/subscribe are classified and synthesized. In particular, their respective benefits and shortcomings are discussed both in terms of interfaces and implementations. <s> BIB002
Environment-mediated interaction channels are mechanisms to enable agents interacting and communicating in a flexible and uncoupled way. These mechanisms support the discovery of interaction partners and their subsequent interactions into a single mechanism. The constituent atoms of this mechanism are a repository to store the data being communicated (i.e. messages, tuples, events, or subscriptions) and the data itself. Creation and maintenance are algorithms and protocols to join and leave a multicast group, to access a tuple space, or to subscribe and unsubscribe to events. Agents use interaction channels to exchange messages, or to publish tuples and events. Name: Environment-mediated interaction channels. Motivations: Need to create flexible interaction channels to connect agents on the basis of runtime system situation. Constituent atoms: Message and subscription repositories. Creation and maintenance: Protocols to let agents join multicast groups, connect to tuple spaces, place subscriptions, or similar. Usage: Agents exploit interaction channels to easily send and receive messages. Examples: Multicast, Tuple-and Event-based interaction  BIB001  BIB002   A first example of interaction channels are infrastructures for multicast interactions, where data is sent to all the agents matching specific conditions  . In this context the environment provides a centralized and configurable message-box that decouples and mediates agent interactions. Besides exchanging messages, agents can also put 'filters' in the environment to configure the reception of messages that match specific criteria (e.g. all the messages from agents that provide a specified type of service). The environment is then responsible for sending the messages to suitable agents. Similarly, shared-memory and tuple-based approaches   belong to this category. Adopting this mechanism, agents leave data in repositories to be later retrieved via pattern matching. Also, event-based infrastructures can be considered as part of this category as they deliver information on the basis of a publish-subscribe schema BIB001  BIB002 . The event-dispatcher can be seen as an environmental abstraction able to notify agents about the activities of others.