semantic web services - UMBC ebiquity research group

Download Report

Transcript semantic web services - UMBC ebiquity research group

Agents Meet the
Semantic Web
in the Aether
Tim Finin
University of Maryland, Baltimore County
MATA’05, Montreal, 18 October 2004
tell
register
http://ebiquity.umbc.edu/event/html/id/111/
tell
register
Joint work with A. Joshi, Y. Yesha, Y. Peng & many students.
 http://creativecommons.org/licenses/by-nc-sa/2.0/
This work was partially supported by DARPA contract F30602-97-1-0215, NSF
grants CCR007080 and IIS9875433 and grants from IBM, Fujitsu and HP.
1
This talk
 How
we’ve found multiagent
systems and the semantic web
useful in mobile and pervasive
computing
 Illustrated using some recent
projects by colleagues and students
 Pointing out the lessons we’ve
learned
UMBC
an Honors University in Maryland
2
Multiagent systems paradigm
In this paradigm, agents are
(1) Distributed
(2) Autonomous


Self interested
Compete with other agents
(3) Social



Communicate to share information
Cooperate to share goals and tasks
Have beliefs about other agents (e.g., reputation)
(4) Intelligent

Use knowledge, reason, self-aware, …
UMBC
an Honors University in Maryland
3
Semantic Web Technology
The W3C’s semantic web effort produced standards for
programs to share ontologies (i.e., vocabulary) and
data & knowledge expressed in them.
 Built on Web and XML standards and have a sound
semantic model
 Key layers are

RDF: semantic networks
 RDFS: objects
 OWL: Web Ontology Language
 RuleML: rules and logic

 Semantic
UMBC
an Honors University in Maryland
interoperability!
4
(1) Trauma Pod
•DARPA project to enable unmanned medical systems to save
lives on the battlefield
•A portable Trauma Pod has no on-site human medical personnel
•A human surgeon teleoperates surgical manipulators supported
by automated robotic systems
2005: da Vinci Surgical Robot
UMBC
an Honors University in Maryland
2020: Automated Trauma Pod treats
wounded soldiers on the battlefield.
5
UMBC’s role in Trauma Pod
 Use
RFID tags to track location and use of tools and
supplies
 Monitor RFID events and message traffic; use workflow
models and object roles to
recognize what is happening
 Integrate with legacy supply
chain systems and medical
encounter and patient records
 Begin to transition these ideas
to medical training and nonmilitary use.
UMBC
an Honors University in Maryland
6
Trauma Pod Challenges
This is new work just starting but we know …
(1) The OR is a difficult environment for RFID
 Lots
of metal and fluids
 Noisy events
(2) Making sense of large streams of noisy, low
level, temporal data is hard
 We’re
exploring a two stage model
 Lower level: parse primitive events to identify higher
level ones
 Upper level: use a hidden markov model to recognize
domain relevant events
UMBC
an Honors University in Maryland
7
(2) Trading Agents

We’ve built an agent-based environment inspired by the
Trading Agent Competition (TAC)



A yearly forum for dynamic agent research since 1999
One task involves travel procurement -- agents buying and
selling goods for clients and scored on the cost and quality
of trip packages
TAC is organized around a central auction server
We opened up the system, allowing peer-to-peer
communication among agents as well various kinds of
mediator, auction, discovery, service provider agents …
 Goal: Evaluate the semantic web as a common
knowledge infrastructure

UMBC
an Honors University in Maryland
8
TAGA: Travel Agent Game inOwlAgentcities
for
Owl for
protocol
contract
Features
Technologies
Ontologies
descriptionhttp://taga.umbc.edu/ontologies/
enforcement
Open Market Framework
FIPA (JADE, April Agent Platform)
Motivation
Market dynamics
Auction theory (TAC)
Semantic web
Agent collaboration (FIPA &
Agentcities)
Owl for
modeling
trust
Auction Services
OWL message content
OWL Ontologies
Global Agent Community
Owl for
publishing
communicative
acts
travel.owl – travel concepts
fipaowl.owl – FIPA content lang.
auction.owl – auction services
tagaql.owl – query language
Semantic Web (RDF, OWL)
Web (SOAP,WSDL,DAML-S)
Internet (Java Web Start )
Owl for
representation
and reasoning
Owl for
negotiation
Report Direct Buy Transactions
Report Contract
Report Auction Transactions
Market Oversight
Agent
Bulletin Board
Agent
Customer
Agent
Report Travel Package
Auction Service
Agent
Proposal
Direct Buy
Web Service
Owl as a
Agents
content
FIPA platform
infrastructure services, including directory facilitators enhanced to use OWL-S for service discovery
language
Owl for
Owl for
authorization
service
policies
descriptions
Travel Agents
UMBC
an Honors University in Maryland
http://taga.umbc.edu/
9
What we learned

OWL is a good KR language for a reasonably
sophisticated MAS


OWL made it easy to mix content from different
ontologies unambiguously


Supporting partial understanding & extensibility
The use of OWL supported web integration


Integrates well with FIPA standards
Using information published on web pages and
integrating with web services via WSDL and SOAP
OWL has limitations: no rules, no default
reasoning, graph semantics, …

Some of which are being addressed
UMBC
an Honors University in Maryland
10
(3) An early agent policy
1 A robot may not injure a
human being, or, through
inaction, allow a human
being to come to harm.
2 A robot must obey the
orders given it by human
beings except where such
orders would conflict with
the First Law.
3 A robot must protect its
own existence as long as
such protection does not
conflict with the First or
Second Law.
UMBC
an Honors University in Maryland
- Handbook of Robotics, 56th
Edition, 2058 A.D.
11
(3) It’s policies all the way down
1 A robot may not injure
a human being, or,
through inaction, allow
a human being to come
 unlike DB access control & OS file permissions
to harm.
2 A robot must obey the
 Autonomous agents need “norms of
orders given it by hubehavior” to be followed by good citizens
man beings except
where such orders
 Enforcement is an issue, especially for
would conflict with the
policies involving obligations
First Law.
3 A robot must protect its
 So, it’s natural to worry about …
own existence as long
as such protection does
 How to resolve conflicts in policies
not conflict with the
 Dealing with failure to follow policies –
First or Second Law.
sanctions, reputation, etc.
- Handbook of Robotics,
 In
Asimov’s world, the robots couldn’t
always follow their policies
 Whether
policy engineering will be any easier
than software engineering
UMBC
an Honors University in Maryland
56th Edition, 2058 A.D.
12
Rei Policy Language






Rei is a declarative policy language for describing policies
over actions
 Reasons over domain dependent information
Currently represented in OWL + logical variables
Based on deontic concepts
 Permission, Prohibition, Obligation, Dispensation
Models speech acts
 Delegation, Revocation, Request, Cancel
Meta policies
 Priority, modality preference
Policy engineering tools
 Reasoner, IDE for Rei policies in Eclipse
UMBC
an Honors University in Maryland
13
Applications – past, present & future
 Coordinating
access in supply chain
1999
 Authorization
policies in a pervasive
2002
management system
computing environment
 Policies
for team formation, collaboration,
information flow in multi-agent systems
 Security in semantic web services
 Privacy and trust on the Internet
 Privacy in pervasive computing
2003
…
2004
…
environments
UMBC
an Honors University in Maryland
14
Ex: Security and Trust for
Semantic Web Services
 Semantic
web services are web services
described using OWL-S
Policies +
 Policy-based security infrastructure
Semantic
Web Services
 Advantages of using policies:
 Expressive -- can be over descriptions
of requester, service & context
 Authorization: Rules for access control
 Privacy: Rules for protecting information
 Confidentiality: Cryptographic characteristics of information exchanged
UMBC
an Honors University in Maryland
16
Example

Mary is looking for a reservation service



foaf description
Confidentiality policy
BravoAir is a reservation service


OWL-S description
Authorization policy
Only users belonging to the same project as John
can access the service
UMBC
an Honors University in Maryland
17
Mary
<!-- Mary's FOAF description -->
<foaf:Person rdf:ID="mary">
<foaf:name>Mary Smith</foaf:name>
<foaf:title>Ms</foaf:title>
<foaf:firstName>Mary</foaf:firstName>
<foaf:surname>Smith</foaf:surname>
<foaf:homepage
rdf:resource="http://www.somewebsite.com/marysmith.html"/>
<foaf:currentProject rdf:resource="
http://www.somewebsite.com/SWS-Project.rdf "/>
<sws:policyEnforced rdf:resource="&mary;ConfidentalityPolicy"/>
</foaf:Person>
</rdf:RDF>
UMBC
an Honors University in Maryland
18
Bravo Policy
<entity:Variable rdf:about="&bravo-policy;var1"/>
<entity:Variable rdf:about="&bravo-policy;var2"/>
<constraint:SimpleConstraint
rdf:about="&bravopolicy;GetJohnProject"
constraint:subject="&john;John"
constraint:predicate="&foaf;currentProject"
constraint:object="&bravo-policy;var2"/>
<constraint:SimpleConstraint
rdf:about="&bravopolicy;SameProjectAsJohn"
constraint:subject="&bravo-policy;var1"
constraint:predicate="&foaf;currentProject"
constraint:object="&bravo-policy;var2"/>
<deontic:Right rdf:about="&bravopolicy;AccessRight">
<deontic:actor rdf:resource="&bravopolicy;var1"/>
<deontic:action rdf:resource="&bravoservice;BravoAir_ReservationAgent"/>
<deontic:constraint rdf:resource="&bravopolicy;AndCondition1"/>
</deontic:Right>
………
<rdf:Description rdf:about="&bravoservice;BravoAir_ReservationAgent">
<!-- constraints combined -->
<constraint:And rdf:about="&bravo<sws:policyEnforced rdf:resource="&bravopolicy;AndCondition1"
policy;AuthPolicy"/>
constraint:first="&bravo-policy;GetJohnProject" </rdf:Description>
constraint:second="&bravopolicy;SameProjectAsJohn"/>
UMBC
an Honors University in Maryland
19
How it works
BravoAir
Web service
Mary
URL to foaf desc +
query request
<sws:policyEnforced rdf:resource =
"&bravo-policy;AuthPolicy"/>
Matchmaker
+ Reasoner
UMBC
an Honors University in Maryland
Bravo Service
OWL-S Desc
20
How it works
Mary’s query = Bravo Service ? YES
Extract Bravo’s policy
<deontic:Right rdf:about="&bravo-policy;AccessRight">
Does Mary meets Bravo’s policy ?
<deontic:actor
rdf:resource="&bravo-policy;var1"/>
<constraint:SimpleConstraint
Authorization enforcement complete
Mary
<deontic:action
rdf:aboutrdf:resource="&bravo-service;BravoAir_ReservationAgent"/>
= "&bravo-policy;GetJohnProject”
<deontic:constraint
rdf:resource="&bravo-policy;AndCondition1"/>
constraint:subject="&john;John"
</deontic:Right>
constraint:predicate="&foaf;currentProject"
constraint:object="&bravo-policy;var2"/>
<policy:Granting rdf:about="&bravo-policy;AuthGranting">
var2rdf:resource="&bravo-policy;var1"/>
= http://www.somewebsite.com/SWS-Project.rdf
<policy:to
<policy:deontic rdf:resource="&bravo-policy;AccessRight"/>
</policy:Granting>
<foaf:currentProject rdf:resource =
"http://www.somewebsite.com/SWS-Project.rdf"/>
BravoAir
Web service
<sws:AuthorizationPolicy rdf:about="&bravo-policy;AuthPolicy">
<constraint:SimpleConstraint
<policy:grants
rdf:resource="&bravo-policy;AuthGranting"/>
rdf:about="&bravo-policy;SameProjectAsJohn"
</sws:AuthorizationPolicy>
constraint:subject="&bravo-policy;var1"
<rdf:Descriptionconstraint:predicate="&foaf;currentProject"
rdf:about="&bravo-service;BravoAir_ReservationAgent">
constraint:object="&bravo-policy;var2"/>
<sws:policyEnforced rdf:resource="&bravo-policy;AuthPolicy"/>
</rdf:Description>
Is the constraint true when
var2 = http://www.somewebsite.com/SWS-Project.rdf
var1 = http://www.cs.umbc.edu/~lkagal1/rei/examples/swssec/MaryProfile.rdf
UMBC
an Honors University in Maryland
21
What we learned
 Declarative
policies can be used to model security,
trust and privacy constraints
 Reasonably expressive policy languages can be
encoded on OWL & translated to executable form.
 This enables policies over attributes and context
information available on the semantic web
 Policies are applicable at every level of the stack,
from MAC to APP
UMBC
an Honors University in Maryland
22
(4) Pervasive Computing
“The most profound technologies are those
that disappear. They weave themselves into
the fabric of everyday life until they are
indistinguishable from it ” – Mark Weiser
Think: writing, central heating, electric
lighting, water services, …
Not: taking your laptop to the beach, or
immersing yourself into a virtual reality
UMBC
an Honors University in Maryland
23
Motivation: moving from this
UMBC
an Honors University in Maryland
24
Motivation: to here
UMBC
an Honors University in Maryland
25
Motivation:
but not to
here
UMBC
an Honors University in Maryland
26
Representing and Reasoning about Context
CoBrA: a broker centric agent architecture
for supporting pervasive context-aware
systems
 Uses
SW ontologies to model context and
reason about devices, space, time, people,
preferences, meetings, etc.
 Uses logical inference to interpret context
and to detect and resolve inconsistent
knowledge
 Allows users to define policies controlling
how information about them is used and
shared
UMBC
an Honors University in Maryland
27
A Bird’s Eye View of CoBrA
UMBC
an Honors University in Maryland
28
A Typical CoBrA Use Case
Alice in Wonderland*
Alice enters a
conference room
The broker detects
Alice’s presence
B
Policy says,
“can share with any
agents in the room”
The broker negotiates
privacy policy with Alice


The broker builds
the context model
Web
B
The broker knows
Alice’s role and
intention
+
A
UMBC
an Honors University in Maryland
* Our intelligent meeting room
29
A Typical CoBrA Use Case
Alice in Wonderland
The broker informs
the subscribed agents
B
Web
B
UMBC
The projector agent
asks slide show info.
B
A
The broker acquires
the slide show info.
an Honors University in Maryland
The projector agent
wants to help Alice
The broker informs
the projector agent
The projector agent
sets up the slides
B
30
SOUPA Ontology provides common vocabulary
UMBC
an Honors University in Maryland
31
A Simple Spatial Model of UMBC
UMBC
an Honors University in Maryland
32
Where’s Harry?
UMBC
an Honors University in Maryland
33
Detecting Inconsistencies
UMBC
an Honors University in Maryland
34
Privacy Protection in CoBrA
Users define policies to permit or prohibit
the sharing of their information
 Policies are provided by personal agents
or published on web pages
 and use the SOUPA ontologies as well
as other SW assertions (e.g., FOAF,
schedules)
 The context broker follows user defined
policies when sharing information, unless
contravened by higher policies
UMBC

an Honors University in Maryland
35
The SOUPA Policy Ontology
UMBC
an Honors University in Maryland
36
Policy Reasoning Use Case
 The
speaker doesn’t want others to know the
specific room that he’s in, but is willing for others
to know he’s on campus
 He defines the following privacy policy

Share my location with a granularity >= “State”
 The
broker
isLocated(US) => Yes!
 isLocated(Maryland) => Yes!
 isLocated(UMBC) => Uncertain..
 isLocated(ITE-RM210) => Uncertain..

UMBC
an Honors University in Maryland
37
What we learned




FIPA and OWL were good for integrating
disparate components
Even when some of these were running on cell
phones!
OWL made it easy to mix content from different
ontologies unambiguously
The use of OWL made it easy to take advantage
of information published in XML on the web
 e.g., foaf information, privacy policy
UMBC
an Honors University in Maryland
38
(4) TIVO for Mobile Computing
A mobile computing vision and a problem
 Devices
“broadcast” information and service descriptions via short-range RF (802.11, Bluetooth, UWB, …)
 Moving people and devices can access this data, but
only while in range

The data may be out of range when it’s needed
 Devices
must anticipate information need to cache
data when it’s available
Using user models, preferences, schedule, context, trust,
…
 Compute a dynamic utility function to create a “semantic”
cache replacement algorithm

UMBC
an Honors University in Maryland
39
MoGATU’s distributed belief model
MoGATU is a data management module for MANETs
 Devices send queries to peers


Ask its vicinity for reputation of untrusted peers that responded -trust a device if trusted before or if enough trusted peers trust it
Use answers from (recommended to be) trusted
peers to determine answer
 Update reputation/trust level for all responding
devices




Trust level increases for devices giving what becomes final answer
Trust level decreases for devices giving “wrong” answer
Each devices builds a ring of trust…
UMBC
an Honors University in Maryland
40
B: I know
where Bob is.
C: I know
where Bob is.
A: Where is Bob?
D: I know
where Bob is.
UMBC
an Honors University in Maryland
41
A: B, where is Bob? A: C, where is Bob? A: D, where is Bob?
UMBC
an Honors University in Maryland
42
B: A, Bob is home.
C:
A, Bob is at work.
D:
A, Bob is home.
UMBC
an Honors University in Maryland
43
A:
B: Bob at home,
C: Bob at work,
D: Bob at home
A: I have enough
trust in D. What
about B and C?
UMBC
an Honors University in Maryland
44
B: I am not sure.
C: I always do.
F: I do.
E: I don’t.
A: Do you trust C?
D: I don’t.
UMBC
an Honors University in Maryland
A:
I don’t care what C says.
I don’t know enough about B,
but I trust D, E, and F. Together,
they don’t trust C, so I won’t.
45
B: I do.
C: I never do.
F: I am not sure.
E: I do.
A: Do you trust B?
D: I am not sure.
UMBC
an Honors University in Maryland
A:
I don’t care what B says.
I don’t trust C,
but I trust D, E, and F. Together,
they trust B a little, so I will.
46
A: I trust B and D,
both say Bob is
home…
A:
Bob is home!
UMBC
an Honors University in Maryland
A:
Increase trust in B.
A:
Decrease trust in C.
A:
Increase trust in D.
47
What we learned



OWL was a good language for capturing user
profiles and the simple BDI models we needed
Any of several simple trust models increase the
accuracy of information
 Designing a good trust model depends on the
MANET assumptions
 As well as the level of cooperation and
honesty
Trading reputation information boosts the
performance of the algorithms
UMBC
an Honors University in Maryland
48
(5) Security in P2P Systems
 Peer-to-peer
systems are manifest at multiple
levels, such as ad hoc networking, file-sharing
applications, and multiagent systems,
 Recognizing “bad actors” in P2P systems is hard
Actors might be out of range, having trouble, low on
power, incompetent, uncooperative, or malicious
 P2P
systems can be subverted by the
introduction of malicious nodes
e.g.: blackhole routers that do not forward packets
 MANETS
Cross
UMBC
an Honors University in Maryland
offer additional challenges
layer effects can be subtle
49
Fostering cooperative behavior in MANETs
 Agent
recognizes good and bad
behavior in their neighbors

Kudos and accusations are signed
and shared
 Reputations
emerge from the
corroborated and unchallenged observations and
opinions at multiple layers (PHY, MAC, NW, … App)

Uncorroborated or false reports are noted too!
 Agents
use local policies, their own observations,
and global reputation to make decisions

On communication, services, tasks, grouping, etc.
UMBC
an Honors University in Maryland
50
Threats occur at every level
 MAC/PHY

RTS, CTS attacks – gain unfair share of bandwidth,
disruption
 Routing

attacks
gray holes, black holes, worm holes …
 Attacks

level attacks
on data traffic
Dropping, mangling or injecting data packets
 Application
vulnerabilities include resources that lie,
are poor reasoners, have dated information, …

Identities, reputations, trust evolution
UMBC
an Honors University in Maryland
51
Sophisticated attacks cross layers

Classical attacks are easy to detect using
thresholds



Packet dropping, mangling, misrouting etc.
To evade detection attacker must stay under the
detection threshold (insignificant disruption)
More sophisticated attacks are possible



Launching attacks at multiple levels, e.g. combining
RTS attacks and packet drops
Any single attack signature might not suffice for
detection
Observations on a single layer in isolation will be
inconclusive
UMBC
an Honors University in Maryland
52
Cross-layer Analysis
Intrusion
Detection
Packet dropping,
Mangling, injection
Routing attacks,
disruptions
Unfair contention,
Jamming
UMBC
an Honors University in Maryland
Trust evolution, reputation management,
recourse
Application
Commendations
Accusations
(to other devices)
Transport
Link
MAC/PHY
Response
53
What we learned
A
neighborhood watch algorithm can be used to
detect bad actors in mobile ad hoc networks
 Using an active algorithm decreases false positive
at a modest decrease in throughput
Social reputation collected via voting is effective
 Other
techniques can be added, such as random
anonymous audits
Which techniques are applicable depends on the
communication assumptions (e.g., can messages
be “overheard”?)
UMBC
an Honors University in Maryland
54
Conclusions & final thoughts
(1) How do SW languages fit into
current agent technology?
(2) SW and might be a chance for us
to get some AI out of the lab
(3) Requirements for pervasive
computing applications motivate
agents and the SW
(3) How do we get there
UMBC
an Honors University in Maryland
55
How does SW fit into agent frameworks?

Most multiagent systems work assumes some
kind of infrastructure to support discovery,
communication, cooperation, etc.



Cougaar, KQML+KIF, CoABS Grid, FIPA, etc.
We found it easy to fit RDF & OWL into FIPA’s
framework and should fit well into others*
Big wins: (1) open, distributed, published
ontologies, (2) easy mixing of vocabulary, (3)
adoption path from RDF to OWL-lite to OWL
to …, (4) web standards compatible
UMBC
an Honors University in Maryland
* Your mileage may vary
56
Rethinking agent communication
The MAS paradigm inherited communication from
client-server systems – messages mediated by
middleware. As with people, there are other ways
 Agents “publish” beliefs, requests, and other
“speech acts” on web pages.
 Brokers “search” for and “index” published
content
 Agents “discover” what peers have published on
the web and browse for more details
 And comment on what they read…
 And others comment on what they said…
UMBC
an Honors University in Maryland
57
The symbol grounding problem
 Some
doubt human-like AI is unless
machines share our perception of
the world
 One solution to the “symbol
grounding problem” is to give
MIT’s Cog
robots human inspired senses
 This has proven hard!
 Maybe the Semantic Web is a way out of this
problem?
UMBC
an Honors University in Maryland
58
Solving the symbol grounding problem
 The
Web may be a common world that
both humans and machines can
understand.
 Confession: the web is more familiar and
real to me than much of the real world.
 Physical objects can be tagged
with low cost (e.g., $0.05)
transponders or RFID tags
encoding their URIs
UMBC
an Honors University in Maryland
59
How do we get there from here?
This semantic web emphasizes ontologies:
their development, use, mediation, evolution, ...
 It will take some time to really deliver on the
agent paradigm, either on the Internet or in a
pervasive computing environment.
 The development of complex systems is
basically an evolutionary process.
 Random search carried out by tens of thousands
of researchers, developers and grad students.

UMBC
an Honors University in Maryland
60
Climbing
Mount
Improbable
“The sheer height of the peak doesn't matter, so
long as you don't try to scale it in a single bound.
Locate the mildly sloping path and, if you have
unlimited time, the ascent is only as formidable
as the next step.”
UMBC
an Honors University in Maryland
-- Richard Dawkins, Climbing Mount
Improbable, Penguin Books, 1996.
61
T.T.T: things take time
 Prior
to the 1890’s, papers
were held together with
straight pens.
 The development of “spring
steel” allowed the invention
of the paper clip in 1899.
 It took about 25 years (!) for
the evolution of the modern
“gem paperclip”, considered
to be optimal for general
use.
UMBC
an Honors University in Maryland
62
http://ebiquity.umbc.edu/
UMBC
an Honors University in Maryland
63