capim: a contextcapim: a context-aware platformaware ... · capim: context-aware platform using...
Post on 17-Oct-2020
23 Views
Preview:
TRANSCRIPT
CAPIM: A Context-Aware PlatformCAPIM: A Context Aware Platform using Integrated Mobile Services
Ciprian Dobre, Flavius Manea, Valentin Cristea
U i it POLITEHNICA f B h t R iUniversity POLITEHNICA of Bucharest, RomaniaEmails: flavius.manea@cti.pub.ro, {ciprian.dobre, valentin.cristea}@cs.pub.ro
26.08.2011
OUTLINE
• Scope and motivation
o Context – awareness
• CAPIM platform
o Architecture
o Pilot implementation
• Conclusions and future work
Context - awareness
• Context : Information that can be used to characterize the situation of an entity
C t t A t f t th t• Context – awareness: A property of a system that uses context to provide relevant information and/or service to the user
Physical world
Logical worldInformation
ContextC t tPhysical world
Computer‐aware information
Context
26.08.2011
CAPIM: Context-Aware Platform using Integrated Mobile services
• Platform to support construction of context-aware applications
S i f ll ti t i ti f t t• Services for collecting, storing, aggregation of context
• Context-enabled rule execution engine
• Visualization platform
26.08.2011
ArchitectureUtilities
LocalizationLocalizationInformationInformation RecommendationRecommendation
Actions
Activities
Context Data
RuleWarehouse
Data
ExternalServices CAPIMCAPIMCAPIMCAPIM
Context Manager
Services
AggregationService
StoringServiceKnowledge
Management Social and profileManagement
Security
Location User
MonitoringRepository
CommunicationService
g
26.08.2011
CAPIMCAPIM CAPIM
UserProfileHardware
Context framework
Module 1Utilities Applications
Module 2
Utilities Applications
. .
Context Manager
Actions
Module n
.
Rule EngineRules
Data acquisition Context-Aware Framework
Applications
26.08.2011
Context Monitoring
Aggregation and Storage Service
Core
Execution PlatformContext Manager
Push PullModules
Web Service
26.08.2011
PushModule
PullModuleRepository
Context acquisition modules
• Pusho The Context Manager is notified by the module when the context
changes and the corresponding values are updated• Pull
o Information from a pull module has a limited life span. When this time period is exceeded the Context Manager will try to updatetime period is exceeded the Context Manager will try to update the context data.
26.08.2011
The levels of abstraction
Exploitation
Situation and context identificationContext-as-a-process:user is movingusers located near
Perception: symbolic observables
Raw data is collected:
Data is abstracted: location is EG303
Sensing: numeric observations Raw data is collected: WiFi signals, GSM cells, etc.
Taking the output “the user is running” and “the user has a high pulse” for example, determine a context such as “the user is jogging”.
Considering output “user under the car”, determine if the user was hit by the car or
26.08.2011
just inspecting its engine.
Data model…
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"xmlns:foaf="http://xmlns.com/foaf/0.1/"xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:org="http://www.w3.org/ns/org#"><foaf:Person rdf:about="andreea.starparu">
<org:memberOf rdf:resource="Gr341C3"/><foaf:name>Andreea Starparu</foaf:name><foaf:nick>andreea.starparu</foaf:nick><foaf:interest>Semantic_Web</foaf:interest><foaf:interest>Distributed Systems</foaf:interest><foaf:interest>Distributed Systems</foaf:interest><rdfs:subClassOf rdf:resource="prezentare_licenta"/><wail:location>
<geo:Point><geo:lat>47.235</geo:lat><geo:long>25.581</geo:long>geo:long 25.581 /geo:long
</geo:Point></wail:location>
</foaf:Person><ical:vevent rdf:about="prezentare_licenta"/>
<ical:summary>thesis presentation</ical:summary><ical:dtstart rdf:datatype="xsd:data">2011-07-11</ical:dtstart><ical:dtend rdf:datatype="xsd:data">2011-07-15</ical:dtend><ical:location>
<geo:Point><geo:lat>47.235</geo:lat><geo:long>25 581</geo:long>
Logical world
Ph i l ld
26.08.2011
<geo:long>25.581</geo:long></geo:Point>
</ical:location></ical:vevent>
</rdf:RDF>
Semantic world Physical world
The rule engine
C t t S i R tiContext updates are
i d b ifi i
Evaluate rules
Context Service Routine triggered by notifications or validity expirations
O l th l hi hEvaluate rules Only the rules which are affected by context changes are evaluated
ActionsAn action is executed when a rule passes the
l tievaluation
Rules
Context Conditions
Action
Conditions are defined using context parameters (an enumeration of keys
Each action is defined as a autonomous applicationparameters (an enumeration of keys
available as environment variables) and some predefined operators which will help us to build expressions
autonomous application
p p
Rule = Rule OR Rule | Rule AND Rule | RuleImplementation
Context Parameter OperatorValues True
False
A rule example
<rules-config><rule-definitions>
<rule-def name="DistributedSystemEventNotification" action="category.EVENT_NOTIFICATION">
<rule name="userIsFree" /><operator name="AND" /><rule name="userHasInterest" />
</rule-def></rule-definitions><rule-implementations>
<rule-impl name="userIsFree" class="rules.StringFieldEquals"><property name="argField" value="CURRENT_ACTIVITY"/>
<property name="target" value="free"/></rule-impl>
</rule-implementations><rule-implementations>
<rule-impl name="userHasInterest" class="rules.StringFieldContainedInList">
<property name="argField" value="INTERESTS"/><property name="target" value="Distributed Systems"/>
26.08.2011
</rule-impl></rule-implementations>
</rules-config>
An experimental application – SmartSuggests
Do you happen to
know aknow a restaurant nearby?
26.08.2011
An experimental application – SmartSuggests
Context‐Aware Middleware Rule Engine
Set of RulesSuggestiongg
The rule
<?xml version="1.0" encoding="UTF-8"?> <rules-config>
l d fi iti<rule-definitions> <rule-def name="showRestaurantSuggestion" action="category.PLACE_SUGGESTION" parameter="restaurants"> pa a e e es au a s<rule name="isLunchTime" />
</rule-def> </rule-definitions> <rule implementations><rule-implementations>
<rule-impl name="isLunchTime" class="rules.IntFieldBetween"> <property name="argField" value="TIME"/> <property name="targetStart" value="13"/> p p y g<property name="targetEnd" value="14"/>
</rule-impl> </rule-implementations> </rules config></rules-config>
Conclusions and future work
• CAPIM – context-aware platform for context-aware applications
d t t t t ditio adapt to context conditions,
o understand more easily the user needs,
• A pilot implementation of the contextualization platform has proven the great advantages it provides in terms of simplicity and flexibility.simplicity and flexibility.
• Future improvements of CAPIM involve the increase of energy efficiency, which is a critical property for software gy y p p yon portable devices.
Q&A
Thank y u!Thank y u!
Ciprian Dobreciprian.dobre@cs.pub.ro
26.08.2011
p @ p
top related