Date post: | 19-Jan-2016 |
Category: |
Documents |
Upload: | melvin-davidson |
View: | 216 times |
Download: | 0 times |
:: eBiquity Research Group :: CSEE :: UMBC ::
:::: ::::
An Intelligent Broker for An Intelligent Broker for Pervasive Context-Aware SystemsPervasive Context-Aware Systems
Harry Chen
University of Maryland, Baltimore County
December 3, 2004
:::: ::::
:: eBiquity Research Group :: CSEE :: UMBC ::2
OutlineOutline
• Introduction (10 mins)• The problem, my solution & contributions
• Related Works (5 mins)• Different approaches exist & why mine is better
• Context Broker Architecture (20 mins)• Ontologies, context reasoning & privacy protection
• Implementations (10 mins)• EasyMeeting, CoBrA Demo Toolkit & CTMC
• Conclusions (7 mins)• Lessons learned & future works
:::: ::::
:: eBiquity Research Group :: CSEE :: UMBC ::3
Evolution …Evolution …
:::: ::::
:: eBiquity Research Group :: CSEE :: UMBC ::4
Could this be the solution?Could this be the solution?
:::: ::::
:: eBiquity Research Group :: CSEE :: UMBC ::5
The VisionThe Vision
• Pervasive Computing: a natural extension of the present human computing life style• Using computing technologies will be as
natural as using other non-computing technologies (e.g., pen, paper, and cups)
• Computing services will be something that is available anytime and anywhere.
:::: ::::
:: eBiquity Research Group :: CSEE :: UMBC ::6
Pervasive Computing is the FuturePervasive Computing is the Future
Pervasive Computing Saves the
World
:::: ::::
:: eBiquity Research Group :: CSEE :: UMBC ::7
Context-Aware SystemsContext-Aware Systems
• Context-awareness is a key aspect of the intelligent pervasive computing systems
• Systems that can anticipate users’ needs and act in advance by “understanding” their context• A system that knows I am the speaker• A system that knows you are the audience• A system that knows we are in a conference• …
:::: ::::
:: eBiquity Research Group :: CSEE :: UMBC ::8
What’s Context?What’s Context?
• The situational conditions that are associated with a user• Location, time, room temperature, lighting
conditions, noise level, social activities, user intentions, user beliefs, user roles, personal information, etc.
:::: ::::
:: eBiquity Research Group :: CSEE :: UMBC ::9
Research IssuesResearch Issues
• Context Modeling & Reasoning • How to represent context, so that it can be
processed and reasoned by the computers
• Knowledge Maintenance & Sharing• How to maintain consistent context knowledge and
share that information with other systems
• User Privacy Protection• How to let users to control the sharing and the use
of their contextual information that is acquired by the hidden sensors
:::: ::::
:: eBiquity Research Group :: CSEE :: UMBC ::10
Thesis StatementThesis Statement
• By developing a broker-centric agent architecture with expressive ontologies, context reasoning procedures, and a policy-based privacy protection mechanism,
• we can help computing entities to represent and share context, to detect and resolve inconsistent knowledge, and to protect user privacy.
:::: ::::
:: eBiquity Research Group :: CSEE :: UMBC ::11
My Research ContributionsMy Research Contributions
• CoBrA: a broker-centric agent architecture for supporting pervasive context-aware systems• Use a Semantic Web language to define
ontologies for context modeling and reasoning• Use logical inference to interpret context and to
detect and resolve inconsistent knowledge• Allow users to defined policies to control the
sharing of their contextual information
:::: ::::
:: eBiquity Research Group :: CSEE :: UMBC ::12
Other ContributionsOther Contributions
• EasyMeeting • A smart meeting room prototype that is built on
CoBrA; provides context-aware services to speakers and audiences.
• CoBrA Demo Toolkit• An open source software package for
demonstrating various aspects of CoBrA
• CoBrA Text Messaging Commands• A text messaging interface for mobile users to
interact with a context broker via SMS
:::: ::::
:: eBiquity Research Group :: CSEE :: UMBC ::13
Related WorkRelated Work
:::: ::::
:: eBiquity Research Group :: CSEE :: UMBC ::14
We’ve Come a Long Way…We’ve Come a Long Way…
• Since the early 90’s, people have been interested in building context-aware systems• Olivetti: Call forwarding & teleporting systems …• Xerox PARC: Active map, PARC Tab …• Georgia Tech.: Context toolkit, cyberguide …• MIT: Office assistant, location-aware information delivery,
intelligent room …• UC Berkley: Context Fabric• UIUC: Gaia• HP Labs: Cooltown, CoolAgents …• Microsoft: EasyLiving• …
:::: ::::
:: eBiquity Research Group :: CSEE :: UMBC ::15
A Call-Forwarding SystemA Call-Forwarding System
A user has left his office
The system forwards
the call to a nearby phone
The system detectshis current location
Calls are forwarded to
his voice mailbox
The system detects the
user is in an meeting
The phone rings in his office
By Roy Want el at. 1992
:::: ::::
:: eBiquity Research Group :: CSEE :: UMBC ::16
Types of Context UsedTypes of Context Used
The system detectshis current location
The system detects the user is in an meeting
Location Context
Activity Context
:::: ::::
:: eBiquity Research Group :: CSEE :: UMBC ::17
A Shopping AssistantA Shopping Assistant
A user enters a store Turns on his PDA
+
=
+
PDA displays the info of a store item
As the user wonders around in the store
PDA analyzes user’s personal profile
PDA recommends store items to the
user
By Abhaya Asthana el at. 1994
:::: ::::
:: eBiquity Research Group :: CSEE :: UMBC ::18
Types of Context UsedTypes of Context Used
+
=
+
PDA displays info of the store items
PDA analyzes user’s personal profile
Location Context
Identity Context
:::: ::::
:: eBiquity Research Group :: CSEE :: UMBC ::19
Why context-awareness is Why context-awareness is still a research topic?still a research topic?
• Where’re they now?• The call-forwarding system (1992)• The shopping assistant (1994)• Microsoft’s EasyLiving (1998)
• Why haven’t we seen any successful commercialized context-aware systems?
:::: ::::
:: eBiquity Research Group :: CSEE :: UMBC ::20
Many pieces are still missing…Many pieces are still missing…
Demand
Wireless
Business
Sensors
BatteryLife
CPU Power
Memory
UI
Profit
SocialAcceptance
???
Applications
???
???
Security
???
???
Trust
???
???
???
???
??????
…
CrossPlatform
…
…
…
…
…
…
…
……
…
ContextModeling
ContextReasoning
PrivacyProtection
???
???
???
:::: ::::
:: eBiquity Research Group :: CSEE :: UMBC ::21
My work adds few more piecesMy work adds few more pieces
Demand
Wireless
Business
Sensors
BatteryLife
CPU Power
Memory
UI
Profit
SocialAcceptance
???
Applications
???
???
Security
???
???
Trust
???
???
???
???
??????
…
CrossPlatform
…
…
…
…
…
…
…
……
…
ContextModeling
ContextReasoning
PrivacyProtection
???
???
???
:::: ::::
:: eBiquity Research Group :: CSEE :: UMBC ::22
Comparing Different SystemsComparing Different SystemsContext Modeling
Context Reasoning
Privacy Protection
Gaia/MistData Structure &
DAML+OIL“Hardwired” procedures
Mist Communication Protocol (hides
location)
Video Streaming App. (Odyssey)
Data Structure“Hardwired” procedures
N/A
MIT Intelligent Room
Data StructureModel-based Reasoning
N/A
XeroxPARC Active Badge Apps
Data Structure“Hardwired” procedures
N/A
Cooltown Museum XML“Hardwired” procedures
& SQLN/A
MerCeDeS RDF/RDFS RDFS Reasoning N/A
Context Broker Architecture
OWLOWL & Assumption-
based ReasoningUser Defined Policy
:::: ::::
:: eBiquity Research Group :: CSEE :: UMBC ::23
Shortcomings of Shortcomings of the Existing Systemsthe Existing Systems
• Lacking an adequate representation for modeling context
• Individual agents are responsible for managing and reasoning their own contextual knowledge
• Users don’t have control over how their contextual information is shared and used
:::: ::::
:: eBiquity Research Group :: CSEE :: UMBC ::24
Context Broker ArchitectureContext Broker Architecture
:::: ::::
:: eBiquity Research Group :: CSEE :: UMBC ::25
The Context Broker ArchitectureThe Context Broker Architecture
:::: ::::
:: eBiquity Research Group :: CSEE :: UMBC ::26
Key Features of CoBrAKey Features of CoBrA
• Using OWL to define ontologies for context modeling and reasoning
• Using logical inferences to detect and resolve inconsistent knowledge
• Using declarative policies to control the sharing of user context
:::: ::::
:: eBiquity Research Group :: CSEE :: UMBC ::27
An EasyMeeting ScenarioAn EasyMeeting Scenario
People enter the conference room
They “beam” their policy to the broker
B B
The broker buildsthe context model
Web
The broker detects people presence
B
Alice’s policy says, “inform my personal agent of my location”
AB .. isLocatedIn ..
The broker tells herlocation to her agent
A
:::: ::::
:: eBiquity Research Group :: CSEE :: UMBC ::28
An EasyMeeting ScenarioAn EasyMeeting Scenario
Her agent informs the broker about her
role and intentions
+
Alice’s policy says, “can share with any agents in the room”
A
The broker informsthe subscribed agents
B
The Greeting Srv. greetsAlice & the others
Hello! [xyz]
When all expected participants hv arrived
OFF
DIM
The projector agent sets up the slides
:::: ::::
:: eBiquity Research Group :: CSEE :: UMBC ::29
CoBrA ComponentsCoBrA Components
Ontologies
ContextReasoning
PrivacyProtection
:::: ::::
:: eBiquity Research Group :: CSEE :: UMBC ::30
Ontologies
ContextReasoning
PrivacyProtection
:::: ::::
:: eBiquity Research Group :: CSEE :: UMBC ::31
Ontologies in CoBrAOntologies in CoBrA
• Ontologies are expressed using the Web Ontology Language OWL
• Ontologies are used to support• Context modeling • Knowledge sharing• Context Reasoning
• SOUPA (Standard Ontology for Ubiquitous and Pervasive Applications)
• COBRA-ONT: extends SOUPA; used in the prototypes
:::: ::::
:: eBiquity Research Group :: CSEE :: UMBC ::32
• KR languages for defining ontologies• W3C Recommendations
• RDF/RDFS -- represents information as N-Triples (subject, predicate, object); supports basic class-subclass & properties.
• OWL (Web Ontology Language) -- adds more vocab. for describing classes and properties, cardinality, equality, XML datatypes, enumerations etc.
http://www.w3.org/2001/sw/
Semantic Web LanguagesSemantic Web Languages
:::: ::::
:: eBiquity Research Group :: CSEE :: UMBC ::33
The Semantic Web Layer CakeThe Semantic Web Layer Cake
we arehere
“The Semantic Web will globalize KR, just as the WWW globalize hypertext” -- Tim Berners-Lee
:::: ::::
:: eBiquity Research Group :: CSEE :: UMBC ::34
Why Ontologies? Why OWL?Why Ontologies? Why OWL?
ontologylanguage service
descriptionlang.
contextmodel
Interoplanguage
meta lang(policy)
XSLT/XMLfriendly
{ PerCom }
OWL provided a uniformed language which met many needs in developing a complex pervasive computing system.
:::: ::::
:: eBiquity Research Group :: CSEE :: UMBC ::35
The SOUPA Ontology EffortThe SOUPA Ontology Effort
• Develop a standard ontology to support pervasive computing applications
• Helps to facilitate • Knowledge sharing & reasoning• Service discovery• Security and privacy protection• Context modeling
• Reuse/adopt the existing ontologies; define use cases to guide the development process
Maintained by the Semantic Web in UbiComp SIGhttp://pervasive.semanticweb.org
:::: ::::
:: eBiquity Research Group :: CSEE :: UMBC ::36
Some Existing OntologiesSome Existing Ontologies
Time- DAML Time- SOUPA Time
Social Network & People- FOAF- SOUPA Person
Space & location- CYC space ontology- Region Connection Calculus- SOUPA space & location
Device & QoS- FIPA device ontology- SOUPA Device
Agent & BDI- MoGATU BDI Ontology- SOUPA Agent & Action
Policy- Rei- KAoS policy- Policy in e-Wallet- SOUPA Policy
:::: ::::
:: eBiquity Research Group :: CSEE :: UMBC ::37
The SOUPA OntologyThe SOUPA Ontology
:::: ::::
:: eBiquity Research Group :: CSEE :: UMBC ::38
Time OntologyTime Ontology
• Objective: aims to develop a representative ontology of time that expresses temporal concepts and properties common to any formalization of time
• Common Usage• Describing the start and the end time of an event• Reasoning about the temporal order of different events• Incorporating time/date XML datatypes into representations that are suitable
for temporal reasoning
• Core constructs (common in DAML Time & SOUPA)• Time instant -- point like thing• Time interval -- consists of a beginning and an end point• XML Datatypes -- date time, duration, time zone etc.
:::: ::::
:: eBiquity Research Group :: CSEE :: UMBC ::39
Temporal OrderingTemporal Ordering
• Temporal ordering relations• Between two time intervals
equals overlaps starts & finishes
during nonoverlap
A.K.A. Allen’s Interval Calculus
:::: ::::
:: eBiquity Research Group :: CSEE :: UMBC ::40
A Time Ontology ExampleA Time Ontology ExampleAn event E1 starts from 2004/09/25 13:00:00 to 2004/09/26 14:30:00
:::: ::::
:: eBiquity Research Group :: CSEE :: UMBC ::41
Temporal Ordering (1)Temporal Ordering (1)
The property before is owl:inverseOf the property after
:::: ::::
:: eBiquity Research Group :: CSEE :: UMBC ::42
Temporal Ordering (2)Temporal Ordering (2)
The time ontology also includes constructs for expressing temporal order between time instants and intervals
:::: ::::
:: eBiquity Research Group :: CSEE :: UMBC ::43
Space & Location OntologySpace & Location Ontology
• Objective: provide vocabularies for expressing spatial properties and for supporting spatial reasoning• Where did this event happen?• What rooms are spatially subsumed by this building?• Is Bob at work or at home?• Is Bob located in the United States?
• Common Usage:• Describe and reason about people’s location context• Detect inconsistent information about people’s location• Facilitate knowledge sharing between location-aware services
• Core Constructs• Geo-metric: longitude, latitude, altitude (see also OpenGIS)• Symbolic: named location (e.g., room, building)
:::: ::::
:: eBiquity Research Group :: CSEE :: UMBC ::44
Describing SpaceDescribing Space
• Geo-metric Representation• George W. Bush is located at
• 38° 53' 55" , -77° 2' 14” (Lat-Long)
• Symbolic Representation• George W. Bush is located at
• White House
• Both representations are useful for building location-aware systems• Calculate the distance between two points• Reason about the proximity of a person’s location
:::: ::::
:: eBiquity Research Group :: CSEE :: UMBC ::45
SOUPA Space OntologySOUPA Space Ontology
• The SOUPA space ontology defines vocabularies for describing spatial regions and location properties
• Covers both symbolic & geo-metric representation
• Also defines an ontology of the Region Connection Calculus (RCC) for qualitative spatial reasoning
a b
a
b
ab a b
a b
a is disconnected from b
a is externally connected with b a is identical with b
a is a tangential proper part of b
a partially overlaps b
:::: ::::
:: eBiquity Research Group :: CSEE :: UMBC ::46
A Simple UMBC Space OntologyA Simple UMBC Space Ontology
:::: ::::
:: eBiquity Research Group :: CSEE :: UMBC ::47
Where’s Harry?Where’s Harry?
:::: ::::
:: eBiquity Research Group :: CSEE :: UMBC ::48
Detect Inconsistent InformationDetect Inconsistent Information
:::: ::::
:: eBiquity Research Group :: CSEE :: UMBC ::49
Policy OntologyPolicy Ontology• Objective: define vocabularies for expressing
declarative policies that guide the behavior of computing entities in an open, distributed environment• Policies are useful at virtually all levels (OS, networking, data
management, security & privacy applications)• Policies are less “technical” than programming code• Change policies doesn’t require re-compile the source code
• Common Usage• Authorization for services• Privacy protection in pervasive computing• Policy for guiding team formation and collaboration
• Core Constructs• Positive & negative authorizations & obligations• Domain actions
:::: ::::
:: eBiquity Research Group :: CSEE :: UMBC ::50
SOUPA Policy OntologySOUPA Policy Ontology
• For defining policies to control the performance of actions• Each policy defines a set of actions that
are either permitted or forbidden (prohibited)
• Uses Description Logic for policy reasoning
• It imports other ontologies• SOUPA Action ontology• SOUPA Time ontology
:::: ::::
:: eBiquity Research Group :: CSEE :: UMBC ::51
The SOUPA Policy OntologyThe SOUPA Policy Ontology
:::: ::::
:: eBiquity Research Group :: CSEE :: UMBC ::52
A Policy ExampleA Policy Example<http://umbc.edu/~hchen4/hchen.pol> a pol:Policy; pol:policyOf [ a per:Person; per:name "Harry Chen"^^xsd:string ] pol:defaultPolicyMode pol:Conservative; ...
# Rule 2: all individuals of CLS2 are permitted actions# pol:permits ha:CLS2;
ha:CLS2 a :Class; :intersectionOf ( ebact:ShareLocationInfo [ :onProperty act:recipient; :allValuesFrom ebm:EbiquityMember] [ :onProperty act:target; :someValuesFrom ha:MyRestrictedLocationContext ] ) .
ha:MyRestrictedLocationContext a :Class; :intersectionOf ( loc:LocationContext [ :onProperty loc:boundedWithin; :someValuesFrom ha:foo-a1 ] ) .
ha:foo-a1 a :Class; :oneOf (ebgeo:ITE210A ebgeo:ITE325B ebgeo:UMBCMainCampus) .
:::: ::::
:: eBiquity Research Group :: CSEE :: UMBC ::53
SummarySummary
• CoBrA uses the OWL language to define ontologies for context modeling and knowledge sharing
• An explicit semantic representation of context is more expressive than the data structure representations used in the past systems
• Contributions:• A standard ontology for pervasive computing
applications (SOUPA)• Showed the use of Semantic Web technologies in
a pervasive computing domain
:::: ::::
:: eBiquity Research Group :: CSEE :: UMBC ::54
ContextReasoning
OntologiesPrivacy
Protection
:::: ::::
:: eBiquity Research Group :: CSEE :: UMBC ::55
Kinds of Context ReasoningKinds of Context Reasoning
• Reasoning for interpreting context• e.g., infer location context, user intention &
user desire
• Reasoning for detecting and resolving inconsistent knowledge• e.g., conflicting location information about
the same person or device
:::: ::::
:: eBiquity Research Group :: CSEE :: UMBC ::56
The Use of Rule-Based SystemsThe Use of Rule-Based Systems
• CoBrA exploits the use of rule-based systems for context reasoning• JESS, Prolog & Jena ontology reasoners• Different engines are used for different
types of context reasoning• Some for context interpretation• Some for detecting and resolveing
inconsistency
:::: ::::
:: eBiquity Research Group :: CSEE :: UMBC ::57
Context Reasoning FrameworkContext Reasoning Framework
:::: ::::
:: eBiquity Research Group :: CSEE :: UMBC ::58
Integrating Rule-Based ReasonersIntegrating Rule-Based Reasoners
:::: ::::
:: eBiquity Research Group :: CSEE :: UMBC ::59
Time ReasonerTime Reasoner
• Two different implementations• One in Prolog and the other in Jena• Both implement Allen’s Interval Calculus• Both support XML date time standards
• ISO 8601 Date and Time format• UTC normalization
• Jena’s implementation built on Jena’ Generic Rule Reasoner • Supports SOUPA Time ontology (RDF/OWL)
:::: ::::
:: eBiquity Research Group :: CSEE :: UMBC ::60
Temporal Reasoning Temporal Reasoning ExampleExample
:::: ::::
:: eBiquity Research Group :: CSEE :: UMBC ::61
Spatial ReasonerSpatial Reasoner
• Built on the Jena’s Generic Rule Reasoner• Supports the SOUPA Space ontology
(RDF/OWL)• Supports mapping between the “symoblic”
and “geo-metric” representations• What’s the longitude & latitue of UMBC?
• Can be extended to support RCC
:::: ::::
:: eBiquity Research Group :: CSEE :: UMBC ::62
Supported Spatial InferencesSupported Spatial Inferences
• Given geographical space X & YInfer whether or not X spatially subsumes Y
Infer whether or not X is spatially subsumed by Y
Infer whether or not X is disconnected from Y
• Given X & Y with defined latitudes and longitudes Infer whether or not X spatially subsumes Y
Infer whether or not X is spatially subsumed by Y
Infer whether or not X is disconnected from Y
:::: ::::
:: eBiquity Research Group :: CSEE :: UMBC ::63
Meeting Status ReasonerMeeting Status Reasoner
• Built on the JESS engine• For supporting the EasyMeeting system• Infers the context of a scheduled meeting
• Sensing information is translated from RDF/OWL to Jess rules
• Reasoning results are mapped back into RDF and stored in the KB
:::: ::::
:: eBiquity Research Group :: CSEE :: UMBC ::64
Meeting Context ReasoningMeeting Context Reasoning
:::: ::::
:: eBiquity Research Group :: CSEE :: UMBC ::65
Inconsistency Found! Inconsistency Found! What Should I Do?What Should I Do?
:::: ::::
:: eBiquity Research Group :: CSEE :: UMBC ::66
Resolve Inconsistent KnowledgeResolve Inconsistent Knowledge
• Information acquired from different sources may be in conflict• Sensor A says, “Harry is in ITE-201”• Sensor B says, “Harry is is ITE-338”
• Q: Who should we believe?• Given everything we know about the
context, which information is more reliable or less reliable than the others?
:::: ::::
:: eBiquity Research Group :: CSEE :: UMBC ::67
Reason over AssumptionsReason over Assumptions
• Assumptions (defaults) are made when interpreting contexts, and some of which are unreliable
• Unreliable assumptions cause unreliable conclusions
• Solution: by disproving unreliable assumptions, we disprove unreliable conclusions that cause conflicts• Theorist: an assumption-based reasoning• FIPA argumentation ACL (Broker Broker)
:::: ::::
:: eBiquity Research Group :: CSEE :: UMBC ::68
An ExampleAn Example
• A Broker receives info about people’s location• Agent A: using a voice recognition software• Agent B: using a Bluetooth cellphone sensor
• Implicit assumptions about the reliability of the location information• The noise level in the room is normal, and which
doesn’t affect the accuracy of the voice recognition software (<60 dBA)
• The co-location relation often holds between a mobile user and the user’s cellphone
:::: ::::
:: eBiquity Research Group :: CSEE :: UMBC ::69
Resolve Conflicting KnowledgeResolve Conflicting Knowledge
Agent A Context Broker Agent B
I believe “Harry is in RM201A”
I believe “Harry is in RM338”
Inconsistencydetected
What was the room’snoise level?
How many missed & outgoing calls on his cellphone?
I believe it was “40 dBA”I believe it had
“10 missed calls & 0 outgoing calls”
Agent A’s infoseems to be more
reliable
:::: ::::
:: eBiquity Research Group :: CSEE :: UMBC ::70
Shortcomings in Shortcomings in the Current Approachthe Current Approach
• An explicit assumption model of different agents must be pre-defined for the context broker• I.e., what does Agent X believe and why?
• Changes in other agents’ reasoning implementations will require modifications to be made in the the broker’s assumption model.
:::: ::::
:: eBiquity Research Group :: CSEE :: UMBC ::71
Solution: ArgumentationSolution: Argumentation
• Argumentation is the process of weighing various arguments, pro and con, for the truth of an assertion, and arriving at a truth value for the assertion
• Idea: through argument-based dialogs, the context broker dynamically acquires assumptions from other agents• Minimizes the built-in model of other
agents’ assumptions
:::: ::::
:: eBiquity Research Group :: CSEE :: UMBC ::72
Fatio: an FIPA Fatio: an FIPA Argumentation ProtocolArgumentation Protocol
By Peter McBurney and Simon Parsons (AAMAS 2004)
:::: ::::
:: eBiquity Research Group :: CSEE :: UMBC ::73
An ExampleAn Example
• Two context brokers have distinct beliefs about the presence of a meeting organizer • B1 believes the organizer is present• B2 believes the organizer is absent
• To resolve inconsistency, one must convince the other why its belief is more reliable• B2 sends messages to question B1 about its belief• B1 replies with justifications• B2 accepts B1’s assertion if the received
justifications are consistent with its own belief
:::: ::::
:: eBiquity Research Group :: CSEE :: UMBC ::74
An Argument-based DialogAn Argument-based Dialog
:::: ::::
:: eBiquity Research Group :: CSEE :: UMBC ::75
SummarySummary• CoBrA uses rule-based logical inference to
support context reasoning• It has a hybrid system architecture that uses
different kinds of reasoners (Jena, Jess, Prolog)
• Contributions:• Using ontologies to interprete context• An assumption-based approach to resolve
inconsistent information• Implemented an FIPA argumentation protocol using
an assumption-based reasoner (Theorist)
:::: ::::
:: eBiquity Research Group :: CSEE :: UMBC ::76
PrivacyProtection
Ontologies
ContextReasoning
:::: ::::
:: eBiquity Research Group :: CSEE :: UMBC ::77
Privacy ProtectionPrivacy Protection
• Privacy is about control of information• Who has access to what information• Related to security but not equal
• Key issues in a context-aware system• Users may be unaware of the hidden sensors and
services that share their private information• Users can’t hide everything from the system• Even if they can, it’s undesirable to hide every bits
of information from the system
:::: ::::
:: eBiquity Research Group :: CSEE :: UMBC ::78
Policy-Based Privacy ProtectionPolicy-Based Privacy Protection
• CoBrA allows users to define policies to protect their privacy
• Policies are expressed and reasoned using the SOUPA policy ontology
• Policy reasoning is built on the classfication feature of a description logic reasoner (Racer)
:::: ::::
:: eBiquity Research Group :: CSEE :: UMBC ::79
The SOUPA Policy OntologyThe SOUPA Policy Ontology
:::: ::::
:: eBiquity Research Group :: CSEE :: UMBC ::80
A Policy ExampleA Policy Example
• Harry Chen’s policy• http://cobra.umbc.edu/ont/2004/05/harrychen-policy• Permits
• Share location info with close friends (Action class)• The “recipient ” is restricted to a list of my friend’s URI• The “target” is restricted to the “LocationContext” class
• Forbids• Share location info with untrusted agents (Action class)
• The “recipient” is restricted to a list of untrusted agent URI• The “target” is restricted to the “LocationContext” class
:::: ::::
:: eBiquity Research Group :: CSEE :: UMBC ::81
Policy Reasoning BehaviorPolicy Reasoning Behavior
:::: ::::
:: eBiquity Research Group :: CSEE :: UMBC ::82
Policy Reasoning AlgorithmPolicy Reasoning Algorithm(highlight)(highlight)
• Define an action instant to represent the current knowledge sharing action
• Check if the user has a defined policy. If not, use a global policy
• Load the ontology descriptions of the action instant and the policy into Racer
• Call Racer’s classification function.• The action is permitted if the instant is a type of
“PermittedAction” class.• The action is forbidden if the instant is a type of
“ForbiddenAction” class.
:::: ::::
:: eBiquity Research Group :: CSEE :: UMBC ::83
Adjusting Information Adjusting Information GranularityGranularity
• CoBrA supports information granularity adjustment• Instead of hiding all information from the
system, only hide the details of a user’s context
• Extends the policy reasoning algorithm (see Ch. 6)
:::: ::::
:: eBiquity Research Group :: CSEE :: UMBC ::84
A Diagram of the BehaviorA Diagram of the Behavior
:::: ::::
:: eBiquity Research Group :: CSEE :: UMBC ::85
Adjusting Location GranularityAdjusting Location Granularity
• I don’t want others to know the specific room that I’m currently in, but it’s okay to tell others about the my general location• Permit to share my location with a granularity >= “State”
• The broker • isLocated(US) => Yes!• isLocated(Maryland) => Yes!• isLocated(UMBC) => Uncertain..• isLocated(ITE-RM210) => Uncertain..
:::: ::::
:: eBiquity Research Group :: CSEE :: UMBC ::86
Adjusting Status Context Adjusting Status Context
• I don’t want others to know I’m meeting my advisor, but it’s okay to tell others that I’m in a meeting• Permit to share my status >= “inMeeting”
• The broker• statusOf(Harry,inMeeting) => Yes!• statusOf(Harry,meetingColleagues) => Uncertain• statusOf(Harry,meetingAdvisor) => Uncertain
:::: ::::
:: eBiquity Research Group :: CSEE :: UMBC ::87
SummarySummary
• CoBrA uses policies to protect user privacy• Policies are expressed using the SOUPA
policy ontology; editing policies are similar to editing ontologies
• Contributions• A DL-driven policy reasoning algorithm based on
the SOUPA policy ontology• Showed the use of information granularity
adjustment in policy reasoning
:::: ::::
:: eBiquity Research Group :: CSEE :: UMBC ::88
ImplementationsImplementations
:::: ::::
:: eBiquity Research Group :: CSEE :: UMBC ::89
Feasibility DemonstrationFeasibility Demonstration
• Show the use of CoBrA can help to reduce the efforts in rapidly prototyping pervasive context-aware systems
• Show CoBrA can be built on the existing FIPA agent and semantic web technologies
• Show CoBrA testing and monitoring tools can be integrated into the mainstream IDE environment
• Show new applications can be built on resource-limited devices that exploit CoBrA
:::: ::::
:: eBiquity Research Group :: CSEE :: UMBC ::90
Implemented PrototypesImplemented Prototypes
• EasyMeeting• CoBrA Demo Toolkit
• CEV + ScriptPlay + Context Broker
• CoBrA Text Messaging Commands
:::: ::::
:: eBiquity Research Group :: CSEE :: UMBC ::91
The EasyMeeting ArchitectureThe EasyMeeting Architecture
:::: ::::
:: eBiquity Research Group :: CSEE :: UMBC ::92
CoBrA Demo ToolkitCoBrA Demo Toolkit
http://projects.semwebcentral.org/projects/cobra/(since April 2004, +400 downloads)
:::: ::::
:: eBiquity Research Group :: CSEE :: UMBC ::93
CoBrA Demo ToolkitCoBrA Demo Toolkit
• Built-in script files• Examining the temporal reasoning of a context
broker (intervals, instants) • Examining the spatial reasoning of a context
broker (geo-metric, symbolic)• Examining the policy reasoning of a context broker
(permitted or forbidden actions, location granularity adjustment)
• Examining a broker’s ability to detect and resolve location inconsistency (assumption-based reasoning)
:::: ::::
:: eBiquity Research Group :: CSEE :: UMBC ::94
CoBrA Eclipse Viewer (CEV)CoBrA Eclipse Viewer (CEV)
For exploring the knowledge and user policies that are stored in the Context Broker; for monitoring the broker’s reasoning process.
Inspired by the Java Spider application http://www.javaspider.org
:::: ::::
:: eBiquity Research Group :: CSEE :: UMBC ::95
ScriptPlay AgentScriptPlay Agent•Testing and debugging the internal behavior of a context via exchanging ACL messages
• Simulate the roles of sensors, services, or context brokers
• Script files are defined in XML
:::: ::::
:: eBiquity Research Group :: CSEE :: UMBC ::96
CoBrA Text Messaging CoBrA Text Messaging Commands (CTMC)Commands (CTMC)
• A text messaging interface for mobile users to interact with the context broker
• Use SMS to receive and send commands to the broker
• Similar to Upoc & Dodgeball
SMS
:::: ::::
:: eBiquity Research Group :: CSEE :: UMBC ::97
CTMC PrototypeCTMC Prototype
• Works eBiquity weekly meetings that are published on the web; understands the RGB (Research Group In a Box) event ontology
• Runs 24/7 on ebiquity.org• Supported commands
• qMEETING• qSPEAKER [meeting-id]• qINFO [meeting-id]• qFOLLOWUP [meeting-id] [email-address]
:::: ::::
:: eBiquity Research Group :: CSEE :: UMBC ::98
A Broker’s CTMC BehaviorA Broker’s CTMC Behavior
:::: ::::
:: eBiquity Research Group :: CSEE :: UMBC ::99
ConclusionsConclusions
:::: ::::
:: eBiquity Research Group :: CSEE :: UMBC ::100
ConclusionsConclusions
• The intelligence of context-aware systems will be limited if they are unable to represent and reason about context
• Users will abandon the most useful context-aware systems if they are unable to control the sharing of their private information
• CoBrA is a new architecture that addresses these issues
:::: ::::
:: eBiquity Research Group :: CSEE :: UMBC ::101
Lessons LearnsLessons Learns
• CoBrA improves rapid prototyping• Context-aware systems needs ontology• Logical inference helps to enable
context-awareness
:::: ::::
:: eBiquity Research Group :: CSEE :: UMBC ::102
Rapid Prototyping using CoBrARapid Prototyping using CoBrA
• In EasyMeeting, the use of contextual knowledge is easy because there is a standard ontology for describing various kinds of information
• Efforts required to build a context-aware service is reduced because the context broker takes care of context acquistion and reasoning
:::: ::::
:: eBiquity Research Group :: CSEE :: UMBC ::103
Ontologies are ImportantOntologies are Important
• The use of ontologies improves knowledge sharing and representation
• OWL can express more rich information than programming languages such as Java or C++
• OWL provides a uniformed language for knowledge representation, context reasoning, knowledge sharing, and meta-language definitions.
:::: ::::
:: eBiquity Research Group :: CSEE :: UMBC ::104
Rule-Based Logical Inference Rule-Based Logical Inference is Betteris Better
• “Hardwired” context interpretation procedures are ridge and difficult to maintain
• A rule-based approach separates high-level context reasoning from low-level system behaviors
• Sophisticated reasoning behaviors (e.g., arugmentation) can only be built if the logical inference of context reasoning is explicitly represented
:::: ::::
:: eBiquity Research Group :: CSEE :: UMBC ::105
Future WorksFuture Works
• Scalability issues in real deployment• The single-point-of-failure scenario (see Ch.3)• Explore probabilistic reasoning to complement
rule-based reasoning in CoBrA• Understand & improve the time complexity
associated with ontology and logical inference (need better tools?)
• Policy related issues• Editing and modifying policies• Resolve policy conflicts• How to enforce policies after some information has
already been shared?
:::: ::::
:: eBiquity Research Group :: CSEE :: UMBC ::106
My work adds few more piecesMy work adds few more pieces
Demand
Wireless
Business
Sensors
BatteryLife
CPU Power
Memory
UI
Profit
SocialAcceptance
???
Applications
???
???
Security
???
???
Trust
???
???
???
???
??????
…
CrossPlatform
…
…
…
…
…
…
…
……
…
ContextModeling
ContextReasoning
PrivacyProtection
???
???
???
:::: ::::
:: eBiquity Research Group :: CSEE :: UMBC ::107
Thank You!Thank You!