capim: a contextcapim: a context-aware platformaware ... · capim: context-aware platform using...

18
CAPIM: A Context-Aware Platform CAPIM: A Context Aware Platform using Integrated Mobile Services Ciprian Dobre , Flavius Manea, Valentin Cristea Ui it POLITEHNICA fB h tR i University POLITEHNICA of Bucharest, Romania Emails: [email protected], {ciprian.dobre, valentin.cristea}@cs.pub.ro 26.08.2011

Upload: others

Post on 17-Oct-2020

19 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CAPIM: A ContextCAPIM: A Context-Aware PlatformAware ... · CAPIM: Context-Aware Platform using Integrated Mobile services • Platform to support construction of context-aware applications

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: [email protected], {ciprian.dobre, valentin.cristea}@cs.pub.ro

26.08.2011

Page 2: CAPIM: A ContextCAPIM: A Context-Aware PlatformAware ... · CAPIM: Context-Aware Platform using Integrated Mobile services • Platform to support construction of context-aware applications

OUTLINE

• Scope and motivation

o Context – awareness

• CAPIM platform

o Architecture

o Pilot implementation

• Conclusions and future work

Page 3: CAPIM: A ContextCAPIM: A Context-Aware PlatformAware ... · CAPIM: Context-Aware Platform using Integrated Mobile services • Platform to support construction of context-aware applications

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

Page 4: CAPIM: A ContextCAPIM: A Context-Aware PlatformAware ... · CAPIM: Context-Aware Platform using Integrated Mobile services • Platform to support construction of context-aware applications

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

Page 5: CAPIM: A ContextCAPIM: A Context-Aware PlatformAware ... · CAPIM: Context-Aware Platform using Integrated Mobile services • Platform to support construction of context-aware applications

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

Page 6: CAPIM: A ContextCAPIM: A Context-Aware PlatformAware ... · CAPIM: Context-Aware Platform using Integrated Mobile services • Platform to support construction of context-aware applications

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

Page 7: CAPIM: A ContextCAPIM: A Context-Aware PlatformAware ... · CAPIM: Context-Aware Platform using Integrated Mobile services • Platform to support construction of context-aware applications

Context Monitoring

Aggregation and Storage Service

Core

Execution PlatformContext Manager

Push PullModules

Web Service

26.08.2011

PushModule

PullModuleRepository

Page 8: CAPIM: A ContextCAPIM: A Context-Aware PlatformAware ... · CAPIM: Context-Aware Platform using Integrated Mobile services • Platform to support construction of context-aware applications

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

Page 9: CAPIM: A ContextCAPIM: A Context-Aware PlatformAware ... · CAPIM: Context-Aware Platform using Integrated Mobile services • Platform to support construction of context-aware applications

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.

Page 10: CAPIM: A ContextCAPIM: A Context-Aware PlatformAware ... · CAPIM: Context-Aware Platform using Integrated Mobile services • Platform to support construction of context-aware applications

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

Page 11: CAPIM: A ContextCAPIM: A Context-Aware PlatformAware ... · CAPIM: Context-Aware Platform using Integrated Mobile services • Platform to support construction of context-aware applications

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

Page 12: CAPIM: A ContextCAPIM: A Context-Aware PlatformAware ... · CAPIM: Context-Aware Platform using Integrated Mobile services • Platform to support construction of context-aware applications

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

Page 13: CAPIM: A ContextCAPIM: A Context-Aware PlatformAware ... · CAPIM: Context-Aware Platform using Integrated Mobile services • Platform to support construction of context-aware applications

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>

Page 14: CAPIM: A ContextCAPIM: A Context-Aware PlatformAware ... · CAPIM: Context-Aware Platform using Integrated Mobile services • Platform to support construction of context-aware applications

An experimental application – SmartSuggests

Do you happen to

know aknow a restaurant nearby?

26.08.2011

Page 15: CAPIM: A ContextCAPIM: A Context-Aware PlatformAware ... · CAPIM: Context-Aware Platform using Integrated Mobile services • Platform to support construction of context-aware applications

An experimental application – SmartSuggests

Context‐Aware Middleware Rule Engine

Set of RulesSuggestiongg

Page 16: CAPIM: A ContextCAPIM: A Context-Aware PlatformAware ... · CAPIM: Context-Aware Platform using Integrated Mobile services • Platform to support construction of context-aware applications

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>

Page 17: CAPIM: A ContextCAPIM: A Context-Aware PlatformAware ... · CAPIM: Context-Aware Platform using Integrated Mobile services • Platform to support construction of context-aware applications

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.

Page 18: CAPIM: A ContextCAPIM: A Context-Aware PlatformAware ... · CAPIM: Context-Aware Platform using Integrated Mobile services • Platform to support construction of context-aware applications

Q&A

Thank y u!Thank y u!

Ciprian [email protected]

26.08.2011

p @ p