Upload
jean-paul-calbimonte
View
91
Download
0
Embed Size (px)
Citation preview
Multi-agent interactions on the Web through Linked Data Notifications
Jean-Paul Calbimonte • Davide Calvaresi • Michael Schumacher
Institute of Information Systems
University of Applied Sciences and Arts Western Switzerland (HES-SO Valais-Wallis)
European Conference on Multi-Agent Systems EUMAS
Evry, December 2017
@jpcik
2
HES-SO: University of Applied Sciences and Arts Western Switzerland
Institute of Information Systems
3
Use Case: an example
wellbeing
monitoring
health
recommendations weather
information
point-of-care
restauration
services
point-of-interest
4
A Web of Agents
Agent
Agent
Agent
Agent
Agent
Agent
Agent
Web Standards?
Rich Semantics?
Decentralized?
Agent identifiers?
Metadata?
5
RequirementsR1: Standard and extensible messaging.
R2: Standard metadata.
R3. Asynchronous and distributed communication.
R4. Standard Web protocols.
R5. Web identifiers.
R6. Semantic representation.
• any type of data
• different formats
• representations
• Web standards
• participants, time constraints, performatives, conditions, etc.
• send and receive messages
• coordination
• no central entity
• Web Standards: HTTP
• not excluding others
• no commitments to a particular agent implementation
• URL/URI/IRIs
• unicity and de-referenceability.
• Web standards (e.g. OWL, RDF),
• extensibility and high expressiveness.
6
Linked Data Notifications• Recently endorsed W3C Recommendation
• Decentralized data interchange of notifications on the Web
• Generic and simple mechanism to send and consume data
• Based on the Linked Data principles • Use URIs to name things• Use HTTP URIs• Get relevant data by dereferencing a URI • URIs linked to other URIs
• Usage of RDF for data representation.
• Virtually any type of notifications
7
LDN: Basics
Notifications are
to/about itSends notifications
Exposes notifications through inbox
Creates notifications in inbox
SenderTarget
Consumer
Receiver
Consumes notifications
inbox
8
LDN: interactions
GET/HEAD
Sender
Target
Consumerinbox
GET/HEAD
inbox
Receiver
inbox
POST GET
notifications
9
LDN: example
GET/HEAD
Sender
Agent
Jean-Paul
Consumer
Agentinbox
Receiver
Agent
inbox
POST GET
notifications
http://w3id.org/people/jpcik/me
http://w3id.org/people/jpcik/inbox
{"message": "Your Talk
at EUMAS is at 11:00"}
Container of received
messages
Get all messages
Get one particular
message
10
HTTP-based communication
• LDN is entirely based on HTTP requests and responses
• Natural candidate for most types of exchanges
• Other protocols could be used in certain circumstances• e.g. WebSockets for push-subscriptions.
11
Agent Identification
• URIs (or IRIs) are used to identify all entities involved.• Agents identified with URIs
• de-referenceable to obtain more information • agent visibility• perception of agent’s environment can be enriched
GET http://example.org/agents/health-agent
• Response: • include metadata about the agent, • e.g. name, scope, endpoint, ontologies, etc.
• Each agent can provide an endpoint inbox• Not necessary located within the same environment
12
Endpoint Discovery
• An agent may advertise its inbox• e.g. JSON-LD message content:
• Indicates inbox location/other useful metadata• Discovery phase: first interaction between two agents that
wish to establish a conversation or initiate a negotiation
{
"@context": "http://www.w3.org/ns/ldp",
"@id": "http://example.org/agents/health-agent",
"inbox": "http://example.org/agents/health-agent/inbox"
}
13
RDF data representation• Any representation format and/or model. • LDN agents: use RDF as standard representation framework.
• use of URIs for identifiers• using extensible vocabularies• possible to attach explicit semantics
• Metadata annotations should be expressed in RDF,• i.e. sender, receiver, performative, protocol, date-time,
reply information, conversations, etc.
• e.g. (JSON-LD serialization) information about an agree message, indicating the sender agent, receiver, conversation information, etc.
{
"@id": "ex:agree_request1",
"ag:permormative": "ag:Agree",
"ag:sender": "ex:agent1",
"ag:receiver": "ex:agent2",
"ag:reply-to": "ex:agent3",
"ag:protocol": "ag:RequestWhen",
"ag:conversationId": "ex:conv321",
"ag:inReplyTo": "ex:conversation1",
"ag:ontology":
"http://example.org/ontology#",
"ag:content":
"..."
}
14
Sending agent notifications• LDN agent may POST notifications to an agent inbox endpoint• JSON-LD representation of a call for proposals agent message:
POST /agents/health-agent/inbox HTTP/1.1
Host: example.org
Content-Type: application/ld+json
{
"prov:generatedAtTime": "2017-09-14T04:00:00.000Z",
"@id": "ex:callForProposals1",
"@graph": [
{ "@id": "ex:cfp1",
"ag:permormative": "ag:CallForProposals",
"ag:sender": "ex:agent1", "ag:protocol": "ag:ContractNet",
"ag:ontology": "http://example.org/healthOntology#",
"ag:content": "..." }
],
"@context": {
"prov": "http://www.w3.org/ns/prov#", "ex": "http://example.org#",
"ag": "https://w3id.org/rdfagents/msg#"}
}
16
Interaction Protocols
• call for proposals made available to an agent inbox.
• accessed by the inbox owner / participants
• allows participants to respond to it by sending proposals
• proposals can be accepted by the initiator agent.
• all messages conform to an agreed RDF structure
• exchanged preferably through HTTP, with GET and POST
POST
GET
Inbox
Initiator Participant
call-for-proposals
propose
proposal
accept-proposal
GET
POST
POST
cfp
17
Publishing inbox elements
• Consumers may access an agent inbox • Obtain the messages available there through HTTP requests.
• GET over an inbox: return notification URIs• URIs for collections of notifications• URIs for individual notifications• Notification URIs referenced with LDP ldp:contains predicate.
• Security, privacy and ownership schemes should be enforced
18
Agent reasoning
• LDN adoption do not affect traditional reasoning engines
• Guarantee the retro-compatibility with already existing mechanisms
• Foster the development of new ones
• Increased capabilities due to the semantic expressiveness
• Simplified and extended interactions.
19
LDN for Agents: Challenges• Adoption of semantically rich messaging mechanisms (e.g. RDF-based)
among Agents on the Web.
• Usage of ontologies and vocabularies that link existing Web protocols (e.g. LDN) and Agent-communication standards (e.g. FIPA ACL).
• Definition and agreement of system-agnostic Agent communication primitives, based on existing MAS languages.
• Provision of agent discovery, selection and orchestration services, based on existing standards.
• Implementation and adoption of best practices of agent-based mechanisms for Web interactions.