BuiltInFIPA - gama-platform/gama GitHub Wiki

FIPA Skill

Extension: gama.extension.fipa

The FIPA skill offers primitives and built-in variables which enable agents to communicate with each other using the FIPA (Foundation of Intelligent Physical Agents) interaction protocol.

To use this skill, declare it in the species definition:

species my_species skills: [fipa] {
    ...
}

Variables

Variable Type Description
conversations list A list containing the current conversations of the agent (ended conversations are automatically removed)
accept_proposals list<modelable> List of 'accept_proposal' performative messages in the agent's mailbox
agrees list<modelable> List of 'agree' performative messages
cancels list<modelable> List of 'cancel' performative messages
cfps list<modelable> List of 'cfp' (call for proposal) performative messages
failures list<modelable> List of 'failure' performative messages
informs list<modelable> List of 'inform' performative messages
proposes list<modelable> List of 'propose' performative messages
queries list<modelable> List of 'query' performative messages
refuses list<modelable> List of 'refuse' performative messages
reject_proposals list<modelable> List of 'reject_proposal' performative messages
requests list<modelable> List of 'request' performative messages
requestWhens list<modelable> List of 'request-when' performative messages
subscribes list<modelable> List of 'subscribe' performative messages

Actions

cfp — Call for Proposal

Send a call for proposal to a list of agents.

Facet Type Description
to list<modelable> A list of receiver agents
content list<any> The content of the message (required, no facet name)
protocol string A string representing the name of the interaction protocol (default: "no_protocol")

request — Request

Send a request to another agent.

Facet Type Description
to list<modelable> A list of receiver agents
content list<any> The content of the message (required, no facet name)
protocol string A string representing the name of the interaction protocol (default: "no_protocol")

request_when — Request-When

Send a request-when to another agent.

Facet Type Description
to list<modelable> A list of receiver agents
content list<any> The content of the message (required, no facet name)
protocol string A string representing the name of the interaction protocol (default: "no_protocol")

subscribe — Subscribe

Subscribe to receive messages of a given type.

Facet Type Description
to list<modelable> A list of receiver agents
content list<any> The content of the message (required, no facet name)
protocol string A string representing the name of the interaction protocol (default: "no_protocol")

inform — Inform

Inform another agent about something.

Facet Type Description
to list<modelable> A list of receiver agents
content list<any> The content of the message (required, no facet name)
protocol string A string representing the name of the interaction protocol (default: "no_protocol")

query — Query

Query another agent for information.

Facet Type Description
to list<modelable> A list of receiver agents
content list<any> The content of the message (required, no facet name)
protocol string A string representing the name of the interaction protocol (default: "no_protocol")

reply — Reply

Reply to a message. This action should only be used to reply a message in a 'no-protocol' conversation and with a 'user-defined performative'. For performatives supported by GAMA (i.e., standard FIPA performatives), please use the action with the same name as the performative. For example, to reply with a 'request' performative, use request.

Facet Type Description
message modelable The message to be replied (required, no facet name)
performative string The performative of the replying message (required, no facet name)
content list<any> The content of the replying message (optional)

start_conversation — Start Conversation

Starts a conversation/interaction protocol.

Facet Type Description
to list<modelable> A list of receiver agents
content list<any> The content of the message (required, no facet name)
performative string A string representing the message performative
protocol string A string representing the name of the interaction protocol

end_conversation — End Conversation

Ends an existing conversation.

Facet Type Description
conversation_id string The ID of the conversation to end (required, no facet name)

Deprecated Actions

Deprecated Replacement
send Use start_conversation instead

See Also

⚠️ **GitHub.com Fallback** ⚠️