23.08.2015 Views

Here - Agents Lab - University of Nottingham

Here - Agents Lab - University of Nottingham

Here - Agents Lab - University of Nottingham

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

to ensure that messages that form part <strong>of</strong> the same conversation 1 are interpretedas such. This section provides a brief overview <strong>of</strong> ACRE’s capabilities. For furtherinformation, it is presented in some detail in [1].The principal components <strong>of</strong> ACRE are as follows:– Protocol Manager (PM): A component that is shared amongst all agentsresiding on the same agent platform, the PM accesses online protocol repositoriesand downloads protocol definitions at the request <strong>of</strong> agents.– Conversation Manager (CM): Each agent has its own CM, which is responsiblefor monitoring all its communication so as to group individual messagesinto conversations. Messages are compared to known protocol definitions andexisting conversations to ensure that they are consistent with the availabledescriptions <strong>of</strong> how communication should be structured.– ACRE/Agent Interface (AAI): Unlike the PM and CM, the AAI is notplatform-independent, with its implementation dependent on the frameworkand/or AOP language being employed. The AAI serves as the API to theCM and PM: agents can perceive and act upon the ACRE components.Additionally, the wider ACRE ecosystem provides an XML format for definingcustom interaction protocols, a standard for the organisation <strong>of</strong> online protocolrepositories and a suite <strong>of</strong> tools to aid developers in communication handling.These tools include a graphical protocol designer, a runtime conversation debugger,a GUI to manage and explore protocol repositories and a runtime protocolview to show what protocols have been loaded on an agent platform.ACRE’s representation <strong>of</strong> protocols uses FSMs where transitions betweenstates are activated by the sending and receiving <strong>of</strong> messages. An example <strong>of</strong>this can be seen in Figure 3. <strong>Here</strong>, the conversation is begun by a message beingsent that matches any <strong>of</strong> the transitions emanating from the initial “Start” state.When this occurs, the variables (prefixed by the ? character) are bound to thevalues contained in the message itself. This will, for example, fix the name <strong>of</strong> theconversation initiator (bound to the ?player variable) and the other participant(?broker) so that subsequent messages must be sent to and from those agents.If a message fails to match the specification <strong>of</strong> the relevant protocol, the CMwill raise an error to make the agent aware <strong>of</strong> this. This feature is not readilyavailable in existing AOP languages, as these typically depend on event triggersto positively match an expected message, with unrecognised or malformedmessages being silently ignored if they match no rule.From an AOP developer’s point-<strong>of</strong>-view, ACRE facilitates the implementation<strong>of</strong> interaction protocols by automatically checking messages against knownprotocols and conversations, providing information about the state <strong>of</strong> conversationsas well as making available a set <strong>of</strong> actions that operate on them. Theinformation available includes the participants in a conversation, the conversationstate, the messages that make up the conversation history and the protocol1 In this work we draw a distinction between protocols, which define how a series<strong>of</strong> related messages should be structured and conversations, which are individualinstances <strong>of</strong> agents following a protocol.87

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!