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