For example, for the design of agents that do not communicate by exchanging messages, the ProtocolBased Communication pattern can be omitted.
Join Kobo & start eReading today
We elaborate on a number of options in the pattern language when we present the various patterns. A pattern of the pattern language consists of the following parts: 1. The name of the pattern. A primary presentation that shows the elements and their relationships in the pattern. A description of the architectural elements with their specific properties.
Interface descriptions that specify how the elements are used with one another. An architecture rationale that explains the motivation for the design of the pattern. The pattern template we use is inspired by the approach for documenting architectural styles presented in . Virtual environment comprises a single data repository: State and five components— Synchronization, Dynamics, Perception Service, Action Service, and Communication Service. The repository contains data that is shared between the components of the virtual environment.
Data stored in the state repository typically includes an abstract representation of external resources and additional state related to the virtual environment. Examples of state related to external resources are a representation of the local topology of a network and data derived from a set of sensors. Examples of additional state are the representation of digital pheromones that are deployed on top of a network and virtual marks situated on the map of the physical environment.
Synchronization is responsible for synchronizing state of the virtual environment with state of particular external resources as well as state of the virtual environments on neighboring nodes. An example of the former is the topology of a dynamic network in which changes are reflected in a network abstraction maintained in the state of the virtual environment.
An example of the latter is the maintenance of a list of available resources that are shared among neighboring nodes. The synchronization component may pre-process the collected information before it updates the state of the virtual environment. A typical way to collect data in a distributed setting is by using a suitable middleware. This middleware supports the management of data collection in a mobile setting. Dynamics is responsible for maintaining processes in the virtual environment that happen independent of agents and external resources.
The dynamics component directly accesses the state of the virtual environment and maintains the state according to its application-specific definition.
A typical example is the maintenance process of digital pheromones. State changes resulting from updates by the dynamics component may trigger the synchronization component to update the state of the virtual environment on other nodes.
BE THE FIRST TO KNOW
A representation is a data structure that represents the sensed elements in a form that can be interpreted by an agent. The perception service supports selective perception. Selective perception enables an agent to direct its perception at the relevant aspects according to its current task. This facilitates better situation awareness and helps to keep processing of perceived data under control. To direct its perception an agent selects a set of foci.
Each focus of the set of selected foci is characterized by a particular perceptibility, but may have other characteristics too, such as an operating range and a resolution. Examples for a robot agent are a focus to observe nearby robots and a focus to locate the 3. Focus selection enables an agent to direct its perception for specific types of information.
When an agent invokes a sense request, the perception service collects the required information from the state repository of the virtual environment or from external resources via the Observe interface. A request from the state repository may trigger the synchronization component to update the state of the virtual environment with the state of the virtual environment on neighboring nodes.
The perception service can provide additional functions to pre-process raw data retrieved from external resources, such as sorting and integrating sensor data. Actions can be divided into two classes: actions that attempt to modify state of the virtual environment and actions that attempt to modify the state of external resources. An example of the former is an agent that drops a digital pheromone in a pheromone infrastructure that is maintained by the state repository of the virtual environment. An example of the latter is an agent that writes data in an external database.
An action that modifies the state of the virtual environment may trigger the synchronization component to update the state of the virtual environment with the state of the virtual environment on other nodes. The action service can provide additional functions to translate actions related to external resources to low-level operations. The Communication service is responsible for managing the communicative interactions among agents. It is responsible for collecting messages, it provides the necessary infrastructure to buffer messages, and it delivers messages to the appropriate agents.
An agent communication message typically consists of a header with the message performative inform, request, propose, etc. Such message descriptions enable a designer to express the communicative interactions between agents independent of the applied communication technology. However, to actually transmit the messages, the communication service makes use of a distributed communication system provided by an underlying middleware or communication framework.
The communication service translates message descriptions used by agents to communication primitives of the supporting communication system and vice versa.
Architecture-Based Design of Multi-Agent Systems | Danny Weyns | Springer
Depending on the application requirements, the communication service may provide specific communication services to enable the exchange of messages in a distributed setting, such as white and yellow page services. The state repository exposes two interfaces. The provided interface Update enables attached components to read state of the repository. Perception requests are delegated to the perception service. To collect data, the perception service requires the Read-Write interface that is provided by the state repository. To observe external resources, the perception service delegates requests to the abstract Observe interface that is provided by the underlying infrastructure.
The concrete operations provided by the Observe interface are application specific. To synchronize the state of the virtual environment with external resources, the synchronization component depends on the Synchronize interface that is provided by underlying infrastructure.
The concrete operations provided by the Synchronize interface are application specific.
- KUWAIT Country Studies: A brief, comprehensive study of Kuwait?
- A Concise Companion to Aboriginal History.
- The Mystery of the Stolen Painting (Greetings from Somewhere)?
To update the state of the virtual environment, the Synchronization component requires the Update interface that is provided by the state repository. To maintain dynamics in the virtual environment that happen independent of agents or external resources, the dynamics component requires the Update interface that is provided by the state repository. The Send-Receive interface of the virtual environment provides operations to an agent for exchanging messages with other agents.
The virtual environment delegates communication requests to the communication service. The communication service requires the Read-Write interface of the state repository to collect data for converting and sending the messages to the addressees. The communication service delegates the transmission of messages to the Transmit-Deliver interface that is provided by the underlying infrastructure.
The concrete operations provided by the Transmit-Deliver interface are application specific. The Transmit-Deliver interface passes incoming messages to the communication service which delivers the messages to the addressees via the Send-Receive interface. The Act interface of the virtual environment provides operations for agents to invoke actions.
The Act interface delegates actions to the action service. Actions that attempt to modify the state of external resources are delegated by the action service to the abstract Operate interface that is provided by the underlying infrastructure. The concrete operations provided by the Operate interface are application specific.
The shared data style results in low coupling among the components, improving modifiability changes in one element do not affect other elements or the changes have only a local effect , and reuse elements are not dependent on too many other elements. Low-coupled elements usually have clear and separate responsibilities, which makes the elements better to understand in isolation.
Decoupled elements do not require detailed knowledge about the internal structures and operations of the 3. Due to the concurrent access of the state repository, the shared data style requires special efforts to synchronize data access. Action service, perception service, and communication service provide operations corresponding to the various ways situated agents can access the virtual environment. The services use data local to the virtual environment and access external resources via the underlying infrastructure.
- Do or Die: An Inspector Green Mystery.
- Agent and Multi-Agent Systems: Technologies and Applications | torchbobentiopa.gq.
- Noetic Magic and the Coming Transformation in Human Consciousness.
Synchronization is responsible for synchronizing the state of the virtual environment with external resources and dynamics is responsible for activities private to the virtual environment. By separating the various concerns, the decomposition of the virtual environment yields a flexible modularization that can be tailored to a broad family of application domains. For instance, for applications in which agents interact via marks in the virtual environment but do not communicate via message exchange, the communication service can be omitted.
For applications in which there are no dynamic processes, the dynamics component can be omitted. Minimizing the overlap of functionality among modules helps the architect to focus on one particular aspect of the functionality of the virtual environment. It supports reuse, and it further helps to accommodate change and to update one component without affecting the others. Situated agent comprises a single data repository: Current Knowledge and three components: Perception, Decision Making, and Communication. We distinguish between shared state and internal state.
Both kinds of state can be further divided into static state and dynamic state. A typical example is a map of the environment. Examples are locally perceived objects in the environment and data about a temporal agreement for collaboration that is exchanged via messages. Internal state can be static or it can dynamically change over time.
Examples of internal static state are the various parameters of a behavior-based action selection mechanism. An agent can use such state to adapt its behavior over time, see, e. Perception is responsible for collecting runtime information from the virtual environment. The perception component supports selective perception, enabling an agent to direct its perception to its current tasks. Perception requests are triggered by the communication component or the decision making component.
A perception request includes a set of selected foci and a set of selected filters. The perception component uses the foci to sense the virtual environment for specific types of information. Sensing results in a representation of the sensed environment. A representation is a data structure that represents elements in the virtual environment or external resources. The perception component interprets the representation resulting in a percept. The selected set of filters reduces the percept according to the criteria specified by the filters before it updates the current knowledge.
We elaborate on perception when we discuss the selective perception pattern.
Related Architecture-Based Design of Multi-Agent Systems
Copyright 2019 - All Right Reserved