1 agents meet the semantic web in the aether tim finin university of maryland, baltimore county...
TRANSCRIPT
11
Agents Meet the Agents Meet the Semantic WebSemantic Webin the Aetherin the Aether
Tim FininUniversity of Maryland, Baltimore
County
MATA’05, Montreal, 18 October 2004
http://ebiquity.umbc.edu/event/html/id/111/
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.
tell
register
tell
register
UMBCUMBCan Honors University in an Honors University in
MarylandMaryland 22
This talkThis talk
How we’ve found How we’ve found multiagent multiagent systemssystems and the and the semantic websemantic web useful in mobile and pervasive useful in mobile and pervasive computingcomputing
Illustrated using some recent Illustrated using some recent projects by colleagues and projects by colleagues and studentsstudents
Pointing out the lessons we’ve Pointing out the lessons we’ve learnedlearned
UMBCUMBCan Honors University in an Honors University in
MarylandMaryland 33
Multiagent systems paradigmMultiagent systems paradigmIn this paradigm, agents areIn this paradigm, agents are(1) Distributed(1) Distributed(2) Autonomous(2) Autonomous Self interestedSelf interested Compete with other agentsCompete with other agents
(3) Social(3) Social Communicate to share informationCommunicate to share information Cooperate to share goals and tasksCooperate to share goals and tasks Have beliefs about other agents (e.g., Have beliefs about other agents (e.g.,
reputation)reputation)
(4) Intelligent(4) Intelligent Use knowledge, reason, self-aware, …Use knowledge, reason, self-aware, …
UMBCUMBCan Honors University in an Honors University in
MarylandMaryland 44
Semantic Web TechnologySemantic Web Technology The W3C’s semantic web effort produced The W3C’s semantic web effort produced
standards for programs to share ontologies (i.e., standards for programs to share ontologies (i.e., vocabulary) and data & knowledge expressed in vocabulary) and data & knowledge expressed in them.them.
Built on Web and XML standards and have a Built on Web and XML standards and have a sound semantic modelsound semantic model
Key layers areKey layers are RDF:RDF: semantic networks semantic networks RDFS:RDFS: objects objects OWL:OWL: Web Ontology Language Web Ontology Language RuleMLRuleML: rules and logic: rules and logic
Semantic interoperability!Semantic interoperability!
UMBCUMBCan Honors University in an Honors University in
MarylandMaryland 55
(1)(1) Trauma Pod Trauma Pod
2005: da Vinci Surgical Robot 2005: da Vinci Surgical Robot 2005: da Vinci Surgical Robot 2005: da Vinci Surgical Robot 2020: Automated Trauma Pod 2020: Automated Trauma Pod treats wounded soldiers on the treats wounded soldiers on the
battlefield. battlefield.
2020: Automated Trauma Pod 2020: Automated Trauma Pod treats wounded soldiers on the treats wounded soldiers on the
battlefield. battlefield.
•DARPA project to enable unmanned medical systems to DARPA project to enable unmanned medical systems to save lives on the battlefieldsave lives on the battlefield
•A portable Trauma Pod has no on-site human medical A portable Trauma Pod has no on-site human medical personnelpersonnel
•A human surgeon teleoperates surgical manipulators A human surgeon teleoperates surgical manipulators supported by automated robotic systemssupported by automated robotic systems
•DARPA project to enable unmanned medical systems to DARPA project to enable unmanned medical systems to save lives on the battlefieldsave lives on the battlefield
•A portable Trauma Pod has no on-site human medical A portable Trauma Pod has no on-site human medical personnelpersonnel
•A human surgeon teleoperates surgical manipulators A human surgeon teleoperates surgical manipulators supported by automated robotic systemssupported by automated robotic systems
UMBCUMBCan Honors University in an Honors University in
MarylandMaryland 66
UMBC’s role in Trauma PodUMBC’s role in Trauma PodUse RFID tags to track loca-Use RFID tags to track loca-tion and use of tools and tion and use of tools and suppliessupplies
Monitor RFID events and mes-Monitor RFID events and mes-sage traffic; use workflow sage traffic; use workflow models and object roles to models and object roles to recognize what is happeningrecognize what is happening
Integrate with legacy supply Integrate with legacy supply chain systems and medical chain systems and medical encounter and patient encounter and patient recordsrecords
Begin to transition these Begin to transition these ideas to medical training and ideas to medical training and non-military use.non-military use.
UMBCUMBCan Honors University in an Honors University in
MarylandMaryland 77
Trauma Pod ChallengesTrauma Pod ChallengesThis is new work just starting but we know …This is new work just starting but we know …
(1) The OR is a difficult environment for RFID(1) The OR is a difficult environment for RFID Lots of metal and fluidsLots of metal and fluids Noisy eventsNoisy events
(2) Making sense of large streams of noisy, (2) Making sense of large streams of noisy, low level, temporal data is hardlow level, temporal data is hard We’re exploring a two stage modelWe’re exploring a two stage model Lower level: parse primitive events to identify Lower level: parse primitive events to identify
higher level oneshigher level ones Upper level: use a hidden markov model to Upper level: use a hidden markov model to
recognize domain relevant eventsrecognize domain relevant events
UMBCUMBCan Honors University in an Honors University in
MarylandMaryland 88
(2)(2) Trading Agents Trading Agents We’ve built an agent-based environment inspired We’ve built an agent-based environment inspired
by the Trading Agent Competition (TAC)by the Trading Agent Competition (TAC) A yearly forum for dynamic agent research since 1999A yearly forum for dynamic agent research since 1999 One task involves travel procurement -- agents buying One task involves travel procurement -- agents buying
and selling goods for clients and scored on the cost and selling goods for clients and scored on the cost and quality of trip packagesand quality of trip packages
TAC is organized around a central auction serverTAC is organized around a central auction server We opened up the system, allowing peer-to-peer We opened up the system, allowing peer-to-peer
communication among agents as well various communication among agents as well various kinds of mediator, auction, discovery, service kinds of mediator, auction, discovery, service provider agents …provider agents …
Goal: Evaluate the semantic web as a common Goal: Evaluate the semantic web as a common knowledge infrastructureknowledge infrastructure
UMBCUMBCan Honors University in an Honors University in
MarylandMaryland 99
TAGA: Travel Agent Game in Agentcities
http://taga.umbc.edu/
TechnologiesTechnologiesFIPA FIPA (JADE, April Agent Platform)(JADE, April Agent Platform)
Semantic Web Semantic Web (RDF, OWL)(RDF, OWL)
Web Web (SOAP,WSDL,DAML-S)(SOAP,WSDL,DAML-S)
Internet Internet (Java Web Start )(Java Web Start )
FeaturesFeaturesOpen Market FrameworkOpen Market Framework
Auction ServicesAuction Services
OWL message contentOWL message content
OWL OntologiesOWL Ontologies
Global Agent CommunityGlobal Agent Community
MotivationMotivationMarket dynamicsMarket dynamicsAuction theory (TAC)Auction theory (TAC)Semantic webSemantic webAgent collaboration (FIPA Agent collaboration (FIPA & Agentcities)& Agentcities)
Travel Agents
Auction Service Agent
Customer Agent
Bulletin BoardAgent
Market Oversight Agent
Request
Direct Buy
Report Direct Buy Transactions
BidBid
CFP
Report Auction Transactions
Report Travel Package
Report Contract
Proposal
Web Service Agents
OntologiesOntologieshttp://taga.umbc.edu/ontologies/http://taga.umbc.edu/ontologies/
travel.owl travel.owl – travel concepts– travel concepts
fipaowl.owl fipaowl.owl – FIPA content lang.– FIPA content lang.
auction.owl auction.owl – auction services– auction services
tagaql.owl tagaql.owl – query language– query language
FIPA platform infrastructure services, including directory facilitators enhanced to use OWL-S for service discovery
Owl for representation and reasoning
Owl for service
descriptions
Owl for negotiatio
n
Owl as a content languag
e
Owl for publishing
communicative acts
Owl for contract
enforcement
Owl for modeling trust
Owl for authorization policies
Owl for protocol
description
http://taga.umbc.edu/
UMBCUMBCan Honors University in an Honors University in
MarylandMaryland 1010
What we learnedWhat we learned OWL is a good KR language for a reasonably OWL is a good KR language for a reasonably
sophisticated MASsophisticated MAS Integrates well with FIPA standardsIntegrates well with FIPA standards
OWL made it easy to mix content from OWL made it easy to mix content from different ontologies unambiguouslydifferent ontologies unambiguously Supporting partial understanding & extensibilitySupporting partial understanding & extensibility
The use of OWL supported web integrationThe use of OWL supported web integration Using information published on web pages and Using information published on web pages and
integrating with web services via WSDL and SOAPintegrating with web services via WSDL and SOAP OWL has limitations: no rules, no default OWL has limitations: no rules, no default
reasoning, graph semantics, …reasoning, graph semantics, … Some of which are being addressedSome of which are being addressed
UMBCUMBCan Honors University in an Honors University in
MarylandMaryland 1111
(3)(3) An early agent policy An early agent policy11 A robot may not injure a A robot may not injure a
human being, or, through human being, or, through inaction, allow a human inaction, allow a human being to come to harm.being to come to harm.
22 A robot must obey the A robot must obey the orders given it by human orders given it by human beings except where beings except where such orders would such orders would conflict with the First conflict with the First Law.Law.
33 A robot must protect its A robot must protect its own existence as long as own existence as long as such protection does not such protection does not conflict with the First or conflict with the First or Second Law.Second Law.- Handbook of Robotics, 56th Edition, 2058 A.D.
UMBCUMBCan Honors University in an Honors University in
MarylandMaryland 1212
(3)(3) It’s policies all the way It’s policies all the way downdown
In Asimov’s world, the robots couldn’t always follow their policies unlike DB access control & OS file
permissionsAutonomous agents need “norms of behavior” to be followed by good citizens
Enforcement is an issue, especially for policies involving obligations
So, it’s natural to worry about … How to resolve conflicts in policies Dealing with failure to follow policies –
sanctions, reputation, etc. Whether policy engineering will be any
easier than software engineering
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 hu-man beings except where such orderswould 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.
- Handbook of - Handbook of Robotics, 56th Edition, Robotics, 56th Edition, 2058 A.D.2058 A.D.
UMBCUMBCan Honors University in an Honors University in
MarylandMaryland 1313
Rei Policy LanguageRei Policy Language Rei is a declarative policy language for describing Rei is a declarative policy language for describing
policies over actionspolicies over actions Reasons over domain dependent informationReasons over domain dependent information
Currently represented in OWL + logical variablesCurrently represented in OWL + logical variables Based on deontic conceptsBased on deontic concepts
Permission, Prohibition, Obligation, DispensationPermission, Prohibition, Obligation, Dispensation Models speech actsModels speech acts
Delegation, Revocation, Request, CancelDelegation, Revocation, Request, Cancel Meta policiesMeta policies
Priority, modality preferencePriority, modality preference Policy engineering toolsPolicy engineering tools
Reasoner, IDE for Rei policies in EclipseReasoner, IDE for Rei policies in Eclipse
UMBCUMBCan Honors University in an Honors University in
MarylandMaryland 1414
Applications – past, present & Applications – past, present & futurefuture
Coordinating access in Coordinating access in supply chain supply chain management systemmanagement system
Authorization policies in a Authorization policies in a pervasive pervasive computing environmentcomputing environment
Policies for team formation, Policies for team formation, collaboration, information flow in collaboration, information flow in multi-agent systemsmulti-agent systems
Security in Security in semantic web servicessemantic web services Privacy and trust on the Privacy and trust on the InternetInternet Privacy in Privacy in pervasive computing pervasive computing
environmentsenvironments
1999
2002
2003…
2004…
UMBCUMBCan Honors University in an Honors University in
MarylandMaryland 1616
Ex: Security and Trust forEx: Security and Trust forSemantic Web ServicesSemantic Web Services
Semantic web services are web services Semantic web services are web services described using OWL-Sdescribed using OWL-S
Policy-based security infrastructurePolicy-based security infrastructure Advantages of using policies:Advantages of using policies:
Expressive -- can be over descriptionsExpressive -- can be over descriptionsof requester, service & contextof requester, service & context
Authorization: Rules for access controlAuthorization: Rules for access control Privacy: Rules for protecting informationPrivacy: Rules for protecting information Confidentiality: Cryptographic character-Confidentiality: Cryptographic character-
istics of information exchangedistics of information exchanged
Policies +Semantic
Web Services
UMBCUMBCan Honors University in an Honors University in
MarylandMaryland 1717
ExampleExample
Mary is looking for a reservation Mary is looking for a reservation serviceservice foaffoaf description description ConfidentialityConfidentiality policy policy
BravoAir is a reservation serviceBravoAir is a reservation service OWL-SOWL-S description description AuthorizationAuthorization policy policy
Only users belonging to the same project as Only users belonging to the same project as John can access the serviceJohn can access the service
UMBCUMBCan Honors University in an Honors University in
MarylandMaryland 1818
MaryMary
<!-- Mary's FOAF description --><!-- Mary's FOAF description --><foaf:Person rdf:ID="mary"><foaf:Person rdf:ID="mary"><foaf:name>Mary Smith</foaf:name><foaf:name>Mary Smith</foaf:name>
<foaf:title>Ms</foaf:title><foaf:title>Ms</foaf:title><foaf:firstName>Mary</foaf:firstName><foaf:firstName>Mary</foaf:firstName><foaf:surname>Smith</foaf:surname><foaf:surname>Smith</foaf:surname><foaf:homepage <foaf:homepage rdf:resource="http://www.somewebsite.com/marysmith.html"/>rdf:resource="http://www.somewebsite.com/marysmith.html"/><foaf:<foaf:currentProjectcurrentProject rdf:resource=" rdf:resource=" http://www.somewebsite.com/SWS-Project.rdf "/>http://www.somewebsite.com/SWS-Project.rdf "/>
<sws:<sws:policyEnforcedpolicyEnforced rdf:resource="&mary;ConfidentalityPolicy"/>rdf:resource="&mary;ConfidentalityPolicy"/>
</foaf:Person></foaf:Person>
</rdf:RDF></rdf:RDF>
UMBCUMBCan Honors University in an Honors University in
MarylandMaryland 1919
Bravo PolicyBravo Policy<entity:Variable rdf:about="&bravo-policy;var1"/>
<entity:Variable rdf:about="&bravo-policy;var2"/>
<constraint:SimpleConstraint
rdf:about="&bravo-policy;GetJohnProject"
constraint:subject="&john;John"
constraint:predicate="&foaf;currentProject"
constraint:object="&bravo-policy;var2"/>
<constraint:SimpleConstraint
rdf:about="&bravo-policy;SameProjectAsJohn"
constraint:subject="&bravo-policy;var1"
constraint:predicate="&foaf;currentProject"
constraint:object="&bravo-policy;var2"/>
<!-- constraints combined -->
<constraint:And rdf:about="&bravo-policy;AndCondition1"
constraint:first="&bravo-policy;GetJohnProject"
constraint:second="&bravo-policy;SameProjectAsJohn"/>
<deontic:Right rdf:about="&bravo-policy;AccessRight"><deontic:actor rdf:resource="&bravo-policy;var1"/><deontic:action rdf:resource="&bravo-service;BravoAir_ReservationAgent"/><deontic:constraint rdf:resource="&bravo-policy;AndCondition1"/>
</deontic:Right>
………
<rdf:Description rdf:about="&bravo-service;BravoAir_ReservationAgent"><sws:policyEnforced rdf:resource="&bravo-policy;AuthPolicy"/>
</rdf:Description>
UMBCUMBCan Honors University in an Honors University in
MarylandMaryland 2020
How it worksHow it works
Bravo Service OWL-S Desc
URL to foaf desc + query request <sws:policyEnforced rdf:resource
= "&bravo-policy;AuthPolicy"/>
BravoAirWeb service
Mary
Matchmaker+ Reasoner
UMBCUMBCan Honors University in an Honors University in
MarylandMaryland 2121
How it worksHow it worksMary’s query = Bravo Service ? YESExtract Bravo’s policyDoes Mary meets Bravo’s policy ?Authorization enforcement complete
<deontic:Right rdf:about="&bravo-policy;AccessRight"><deontic:actor rdf:resource="&bravo-policy;var1"/><deontic:action rdf:resource="&bravo-
service;BravoAir_ReservationAgent"/><deontic:constraint rdf:resource="&bravo-
policy;AndCondition1"/></deontic:Right>
<policy:Granting rdf:about="&bravo-policy;AuthGranting"><policy:to rdf:resource="&bravo-policy;var1"/><policy:deontic rdf:resource="&bravo-policy;AccessRight"/>
</policy:Granting>
<sws:AuthorizationPolicy rdf:about="&bravo-policy;AuthPolicy"><policy:grants rdf:resource="&bravo-policy;AuthGranting"/>
</sws:AuthorizationPolicy>
<rdf:Description rdf:about="&bravo-service;BravoAir_ReservationAgent"><sws:policyEnforced rdf:resource="&bravo-policy;AuthPolicy"/>
</rdf:Description>
Mary BravoAirWeb service
<constraint:SimpleConstraint rdf:about="&bravo-policy;SameProjectAsJohn" constraint:subject="&bravo-policy;var1" constraint:predicate="&foaf;currentProject" constraint:object="&bravo-policy;var2"/>
Is the constraint true when var2 = http://www.somewebsite.com/SWS-Project.rdfvar1 = http://www.cs.umbc.edu/~lkagal1/rei/examples/sws-sec/MaryProfile.rdf
<foaf:currentProject rdf:resource = "http://www.somewebsite.com/SWS-Project.rdf"/>
<constraint:SimpleConstraint rdf:about = "&bravo-policy;GetJohnProject” constraint:subject="&john;John" constraint:predicate="&foaf;currentProject" constraint:object="&bravo-policy;var2"/>
var2 = http://www.somewebsite.com/SWS-Project.rdf
UMBCUMBCan Honors University in an Honors University in
MarylandMaryland 2222
What we learnedWhat we learned Declarative policies can be used to model Declarative policies can be used to model
security, trust and privacy constraintssecurity, trust and privacy constraints Reasonably expressive policy languages can Reasonably expressive policy languages can
be encoded on OWL & translated to be encoded on OWL & translated to executable form.executable form.
This enables policies over attributes and This enables policies over attributes and context information available on the context information available on the semantic websemantic web
Policies are applicable at every level of the Policies are applicable at every level of the stack, from MAC to APPstack, from MAC to APP
UMBCUMBCan Honors University in an Honors University in
MarylandMaryland 2323
(4)(4) Pervasive Pervasive ComputingComputing
“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
UMBCUMBCan Honors University in an Honors University in
MarylandMaryland 2424
Motivation: moving from this
UMBCUMBCan Honors University in an Honors University in
MarylandMaryland 2525
Motivation: to hereMotivation: to here
UMBCUMBCan Honors University in an Honors University in
MarylandMaryland 2626
Motivation:Motivation:but not tobut not toherehere
UMBCUMBCan Honors University in an Honors University in
MarylandMaryland 2727
Representing and Reasoning about Context
CoBrACoBrA: a broker centric agent : a broker centric agent architecture for supporting pervasive architecture for supporting pervasive context-aware systemscontext-aware systems Uses SW ontologies to model context Uses SW ontologies to model context
and reason about devices, space, time, and reason about devices, space, time, people, preferences, meetings, etc.people, preferences, meetings, etc.
Uses logical inference to interpret Uses logical inference to interpret context and to detect and resolve context and to detect and resolve inconsistent knowledgeinconsistent knowledge
Allows users to define policies Allows users to define policies controlling how information about them controlling how information about them is used and sharedis used and shared
UMBCUMBCan Honors University in an Honors University in
MarylandMaryland 2828
A Bird’s Eye View of CoBrAA Bird’s Eye View of CoBrA
UMBCUMBCan Honors University in an Honors University in
MarylandMaryland 2929
A Typical CoBrA Use CaseA Typical CoBrA Use Case
Alice enters a conference room
The broker negotiatesprivacy policy with Alice
The broker detects Alice’s presence
B
Policy says, “can share with any agents in the room”
AB
The broker buildsthe context model
Web
The broker knows Alice’s role and
intention
+
Alice in Wonderland*Alice in Wonderland*
* Our intelligent meeting room
UMBCUMBCan Honors University in an Honors University in
MarylandMaryland 3030
A Typical CoBrA Use CaseA Typical CoBrA Use Case
The projector agent wants to help Alice
The broker informsthe subscribed agents
B A
The projector agentasks slide show info.
B
The broker acquires the slide show info.
BWeb
The broker informs the
projector agent
B
The projector agent sets up the slides
Alice in WonderlandAlice in Wonderland
UMBCUMBCan Honors University in an Honors University in
MarylandMaryland 3131
SOUPA Ontology provides common SOUPA Ontology provides common vocabularyvocabulary
UMBCUMBCan Honors University in an Honors University in
MarylandMaryland 3232
A Simple Spatial Model of UMBC
UMBCUMBCan Honors University in an Honors University in
MarylandMaryland 3333
Where’s Harry?
UMBCUMBCan Honors University in an Honors University in
MarylandMaryland 3434
Detecting InconsistenciesDetecting Inconsistencies
UMBCUMBCan Honors University in an Honors University in
MarylandMaryland 3535
Privacy Protection in CoBrAPrivacy Protection in CoBrA
Users define policies to permit or Users define policies to permit or prohibit the sharing of their informationprohibit the sharing of their information Policies are provided by personal Policies are provided by personal
agents or published on web pagesagents or published on web pages and use the SOUPA ontologies as well and use the SOUPA ontologies as well
as other SW assertions (e.g., FOAF, as other SW assertions (e.g., FOAF, schedules)schedules)
The context broker follows user defined The context broker follows user defined policies when sharing information, policies when sharing information, unless contravened by higher policiesunless contravened by higher policies
UMBCUMBCan Honors University in an Honors University in
MarylandMaryland 3636
The SOUPA Policy Ontology
UMBCUMBCan Honors University in an Honors University in
MarylandMaryland 3737
Policy Reasoning Use CasePolicy Reasoning Use Case
The speaker doesn’t want others to know The speaker doesn’t want others to know the specific room that he’s in, but is willing the specific room that he’s in, but is willing for others to know he’s on campusfor others to know he’s on campus
He defines the following privacy policyHe defines the following privacy policy Share my location with a granularity >= “State”Share my location with a granularity >= “State”
The broker The broker isLocated(US) => Yes!isLocated(US) => Yes! isLocated(Maryland) => Yes!isLocated(Maryland) => Yes! isLocated(UMBC) => Uncertain..isLocated(UMBC) => Uncertain.. isLocated(ITE-RM210) => Uncertain..isLocated(ITE-RM210) => Uncertain..
UMBCUMBCan Honors University in an Honors University in
MarylandMaryland 3838
What we learnedWhat we learned
FIPA and OWL were good for integrating FIPA and OWL were good for integrating disparate componentsdisparate components
Even when some of these were running on Even when some of these were running on cell phones!cell phones!
OWL made it easy to mix content from OWL made it easy to mix content from different ontologies unambiguouslydifferent ontologies unambiguously
The use of OWL made it easy to take The use of OWL made it easy to take advantage of information published in XML advantage of information published in XML on the webon the web e.g., foaf information, privacy policye.g., foaf information, privacy policy
UMBCUMBCan Honors University in an Honors University in
MarylandMaryland 3939
(4)(4) TIVO for Mobile TIVO for Mobile ComputingComputing
A mobile computing vision and a problemA mobile computing vision and a problemDevices “broadcast” information and service Devices “broadcast” information and service descrip-tions via short-range RF (802.11, descrip-tions via short-range RF (802.11, Bluetooth, UWB, …) Bluetooth, UWB, …)
Moving people and devices can access this data, Moving people and devices can access this data, but only while in rangebut only while in range The data may be out of range when it’s neededThe data may be out of range when it’s needed
Devices must anticipate information need to Devices must anticipate information need to cache data when it’s availablecache data when it’s available Using user models, preferences, schedule, Using user models, preferences, schedule,
context, trust, …context, trust, … Compute a dynamic utility function to create a Compute a dynamic utility function to create a
“semantic” cache replacement algorithm“semantic” cache replacement algorithm
UMBCUMBCan Honors University in an Honors University in
MarylandMaryland 4040
MoGATU’s distributed belief MoGATU’s distributed belief modelmodel
MoGATU is a data management module for MANETsMoGATU is a data management module for MANETs Devices send queries to peersDevices send queries to peers
Ask its vicinity for reputation of untrusted peers that responded Ask its vicinity for reputation of untrusted peers that responded -- trust a device if trusted before or if enough trusted peers trust -- trust a device if trusted before or if enough trusted peers trust itit
Use answers from (recommended to be) trusted Use answers from (recommended to be) trusted peers to determine answerpeers to determine answer
Update reputation/trust level for all responding Update reputation/trust level for all responding devicesdevices Trust level increases for devices giving what becomes final Trust level increases for devices giving what becomes final
answeranswer Trust level decreases for devices giving “wrong” answerTrust level decreases for devices giving “wrong” answer
Each devices builds Each devices builds a ring of trusta ring of trust……
UMBCUMBCan Honors University in an Honors University in
MarylandMaryland 4141
A: Where is Bob?
C: I know where Bob is.
D: I know where Bob is.
B: I know where Bob is.
UMBCUMBCan Honors University in an Honors University in
MarylandMaryland 4242
A: D, where is Bob?A: C, where is Bob?A: B, where is Bob?
UMBCUMBCan Honors University in an Honors University in
MarylandMaryland 4343
C: A, Bob is at work.
D:A, Bob is home.
B: A, Bob is home.
UMBCUMBCan Honors University in an Honors University in
MarylandMaryland 4444
A:B: Bob at home,C: Bob at work,D: Bob at home
A: I have enoughtrust in D. Whatabout B and C?
UMBCUMBCan Honors University in an Honors University in
MarylandMaryland 4545
A: Do you trust C?
C: I always do.
D: I don’t.
B: I am not sure.
E: I don’t.
F: I do.
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.
UMBCUMBCan Honors University in an Honors University in
MarylandMaryland 4646
A: Do you trust B?
C: I never do.
D: I am not sure.
B: I do.
E: I do.
F: I am not sure.
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.
UMBCUMBCan Honors University in an Honors University in
MarylandMaryland 4747
A: I trust B and D,both say Bob is
home…
A:Increase trust in D.
A:Decrease trust in C.
A:Increase trust in B.
A:Bob is home!
UMBCUMBCan Honors University in an Honors University in
MarylandMaryland 4848
What we learnedWhat we learned
OWL was a good language for capturing OWL was a good language for capturing user profiles and the simple BDI models we user profiles and the simple BDI models we neededneeded
Any of several simple trust models increase Any of several simple trust models increase the accuracy of informationthe accuracy of information Designing a good trust model depends on Designing a good trust model depends on
the MANET assumptionsthe MANET assumptions As well as the level of cooperation and As well as the level of cooperation and
honestyhonesty Trading reputation information boosts the Trading reputation information boosts the
performance of the algorithmsperformance of the algorithms
UMBCUMBCan Honors University in an Honors University in
MarylandMaryland 4949
(5)(5) Security in P2P Systems Security in P2P Systems Peer-to-peer systems are manifest at multiple Peer-to-peer systems are manifest at multiple
levels, such as ad hoc networking, file-sharing levels, such as ad hoc networking, file-sharing applications, and multiagent systems, applications, and multiagent systems,
Recognizing “bad actors” in P2P systems is Recognizing “bad actors” in P2P systems is hardhardActors might be out of range, having trouble, low on Actors might be out of range, having trouble, low on power, incompetent, uncooperative, or maliciouspower, incompetent, uncooperative, or malicious
P2P systems can be subverted by the P2P systems can be subverted by the introduction of malicious nodesintroduction of malicious nodese.g.: blackhole routers that do not forward packetse.g.: blackhole routers that do not forward packets
MANETS offer additional challengesMANETS offer additional challengesCross layer effects can be subtleCross layer effects can be subtle
UMBCUMBCan Honors University in an Honors University in
MarylandMaryland 5050
Fostering cooperative behavior in Fostering cooperative behavior in MANETsMANETs
Agent recognizes good and badAgent recognizes good and badbehavior in their neighborsbehavior in their neighbors Kudos and accusations are signedKudos and accusations are signed
and sharedand shared Reputations emerge from theReputations emerge from the
corroborated and unchallenged observations corroborated and unchallenged observations and opinions at multiple layers (PHY, MAC, and opinions at multiple layers (PHY, MAC, NW, … App)NW, … App) Uncorroborated or false reports are noted too!Uncorroborated or false reports are noted too!
Agents use local policies, their own Agents use local policies, their own observations, and global reputation to make observations, and global reputation to make decisionsdecisions On communication, services, tasks, grouping, etc.On communication, services, tasks, grouping, etc.
UMBCUMBCan Honors University in an Honors University in
MarylandMaryland 5151
Threats occur at every Threats occur at every levellevel
MAC/PHY level attacks MAC/PHY level attacks RTS, CTS attacks – gain unfair share of bandwidth, RTS, CTS attacks – gain unfair share of bandwidth,
disruptiondisruption Routing attacks Routing attacks
gray holes, black holes, worm holes …gray holes, black holes, worm holes … Attacks on data trafficAttacks on data traffic
Dropping, mangling or injecting data packetsDropping, mangling or injecting data packets Application vulnerabilities include resources Application vulnerabilities include resources
that lie, are poor reasoners, have dated that lie, are poor reasoners, have dated information, …information, … Identities, reputations, trust evolutionIdentities, reputations, trust evolution
UMBCUMBCan Honors University in an Honors University in
MarylandMaryland 5252
Sophisticated attacks cross Sophisticated attacks cross layerslayers
Classical attacks are easy to detect using Classical attacks are easy to detect using thresholdsthresholds Packet dropping, mangling, misrouting etc.Packet dropping, mangling, misrouting etc. To evade detection attacker must stay under the To evade detection attacker must stay under the
detection threshold (insignificant disruption)detection threshold (insignificant disruption) More sophisticated attacks are possibleMore sophisticated attacks are possible
Launching attacks at multiple levels, e.g. Launching attacks at multiple levels, e.g. combining RTS attacks and packet dropscombining RTS attacks and packet drops
Any single attack signature might not suffice for Any single attack signature might not suffice for detectiondetection
Observations on a single layer in isolation will be Observations on a single layer in isolation will be inconclusiveinconclusive
UMBCUMBCan Honors University in an Honors University in
MarylandMaryland 5353
Cross-layer AnalysisCross-layer Analysis
ApplicationApplication
TransportTransport
LinkLink
MAC/PHYMAC/PHY
CommendationsCommendationsAccusationsAccusations
(to other devices)(to other devices)
CommendationsCommendationsAccusationsAccusations
(to other devices)(to other devices)
Routing attacks,Routing attacks,disruptionsdisruptions
Routing attacks,Routing attacks,disruptionsdisruptions
Unfair contention,Unfair contention,JammingJamming
Unfair contention,Unfair contention,JammingJamming
IntrusionDetectionIntrusionDetection
ResponseResponse
Packet dropping,Packet dropping,Mangling, injectionMangling, injectionPacket dropping,Packet dropping,
Mangling, injectionMangling, injection
Trust evolution, reputation management,Trust evolution, reputation management,recourserecourse
Trust evolution, reputation management,Trust evolution, reputation management,recourserecourse
UMBCUMBCan Honors University in an Honors University in
MarylandMaryland 5454
What we learnedWhat we learned
A neighborhood watch algorithm can be used A neighborhood watch algorithm can be used to detect bad actors in mobile ad hoc to detect bad actors in mobile ad hoc networksnetworks
Using an active algorithm decreases false Using an active algorithm decreases false positive at a modest decrease in throughputpositive at a modest decrease in throughput
Social reputation collected via voting is effectiveSocial reputation collected via voting is effective Other techniques can be added, such as Other techniques can be added, such as
random anonymous auditsrandom anonymous auditsWhich techniques are applicable depends on the Which techniques are applicable depends on the communication assumptions (e.g., can communication assumptions (e.g., can messages be “overheard”?)messages be “overheard”?)
UMBCUMBCan Honors University in an Honors University in
MarylandMaryland 5555
Conclusions & final Conclusions & final thoughtsthoughts
(1) How do SW languages fit into current agent (1) How do SW languages fit into current agent technology?technology?
(2) SW and might be a chance for us to get some (2) SW and might be a chance for us to get some AI out of the labAI out of the lab
(3) Requirements for pervasive computing (3) Requirements for pervasive computing applications motivate agents and the SWapplications motivate agents and the SW
(3) How do we get there(3) How do we get there
UMBCUMBCan Honors University in an Honors University in
MarylandMaryland 5656
How does SW fit into agent How does SW fit into agent frameworks?frameworks?
Most multiagent systems work assumes some Most multiagent systems work assumes some kind of infrastructure to support discovery, kind of infrastructure to support discovery, communication, cooperation, etc.communication, cooperation, etc. Cougaar, KQML+KIF, CoABS Grid, FIPA, etc.Cougaar, KQML+KIF, CoABS Grid, FIPA, etc.
We found it easy to fit RDF & OWL into FIPA’s We found it easy to fit RDF & OWL into FIPA’s framework and should fit well into others*framework and should fit well into others*
Big wins: (1) open, distributed, published Big wins: (1) open, distributed, published ontologies, (2) easy mixing of vocabulary, (3) ontologies, (2) easy mixing of vocabulary, (3) adoption path from RDF to OWL-lite to OWL to adoption path from RDF to OWL-lite to OWL to …, (4) web standards compatible…, (4) web standards compatible
* Your mileage may * Your mileage may varyvary
UMBCUMBCan Honors University in an Honors University in
MarylandMaryland 5757
Rethinking agent communicationRethinking agent communicationThe MAS paradigm inherited communication The MAS paradigm inherited communication from client-server systems – messages from client-server systems – messages mediated by middleware. As with people, mediated by middleware. As with people, there are other waysthere are other ways Agents “publish” beliefs, requests, and other Agents “publish” beliefs, requests, and other
“speech acts” on web pages.“speech acts” on web pages. Brokers “search” for and “index” published Brokers “search” for and “index” published
contentcontent Agents “discover” what peers have published Agents “discover” what peers have published
on the web and browse for more detailson the web and browse for more details And comment on what they read…And comment on what they read… And others comment on what they said…And others comment on what they said…
UMBCUMBCan Honors University in an Honors University in
MarylandMaryland 5858
The symbol grounding The symbol grounding problemproblem
Some doubt human-like AI is unlessSome doubt human-like AI is unlessmachines share our perception ofmachines share our perception ofthe worldthe world
One solution to the “symbolOne solution to the “symbolgrounding problem” is to givegrounding problem” is to giverobots human inspired sensesrobots human inspired senses
This has proven hard!This has proven hard! Maybe the Semantic Web is a way out of Maybe the Semantic Web is a way out of
this problem?this problem?
MIT’s Cog
UMBCUMBCan Honors University in an Honors University in
MarylandMaryland 5959
Solving the symbol grounding Solving the symbol grounding problemproblem
The Web may be a common world that The Web may be a common world that both humans and machines can both humans and machines can understand.understand.
Confession: the web is more familiar Confession: the web is more familiar and real to me than much of the real and real to me than much of the real world.world.
Physical objects can be taggedPhysical objects can be taggedwith low cost (e.g., $0.05)with low cost (e.g., $0.05)transponders or RFID tagstransponders or RFID tagsencoding their URIsencoding their URIs
UMBCUMBCan Honors University in an Honors University in
MarylandMaryland 6060
How do we get there from How do we get there from here?here?
This semantic web emphasizes This semantic web emphasizes ontologiesontologies: their development, use, : their development, use, mediation, evolution, ...mediation, evolution, ...
It will take some time to really deliver on It will take some time to really deliver on the agent paradigm, either on the Internet the agent paradigm, either on the Internet or in a pervasive computing environment.or in a pervasive computing environment.
The development of complex systems is The development of complex systems is basically an evolutionary process.basically an evolutionary process.
Random search carried out by tens of Random search carried out by tens of thousands of researchers, developers and thousands of researchers, developers and grad students.grad students.
UMBCUMBCan Honors University in an Honors University in
MarylandMaryland 6161
ClimbingClimbingMountMountImprobableImprobable
“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.”
-- Richard Dawkins, Climbing MountImprobable, Penguin Books, 1996.
UMBCUMBCan Honors University in an Honors University in
MarylandMaryland 6262
T.T.T: things take timeT.T.T: things take time Prior to the 1890’s, papers Prior to the 1890’s, papers
were held together with were held together with straight pens.straight pens.
The development of The development of “spring steel” allowed the “spring steel” allowed the invention of the paper clip invention of the paper clip in 1899.in 1899.
It took about It took about 25 years (!)25 years (!) for the evolution of the for the evolution of the modern “gem paperclip”, modern “gem paperclip”, considered to be optimal considered to be optimal for general use.for general use.
UMBCUMBCan Honors University in an Honors University in
MarylandMaryland 6363
http://ebiquity.umbc.edu/http://ebiquity.umbc.edu/