toward a cooperative programming framework for context-aware applications b. guo, d. zhang telecom....

Post on 21-Jan-2016

212 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Toward a cooperative programming framework

for context-aware applications

B. Guo, D. Zhang

Telecom. Network and Service Dept.

Institut TELECOM SudParis

B. Guo, M. Imai

Keio University

Personal Ubiquitous Computing 2011 (Journal)

Outline

RELATED WORK

INTRODUCTION

REQUIREMENT AND SOLUTION GUIDELINES THE ‘OPEN’ COOPERATIVE

PROGRAMMING FRAMEWORK

THE TRESURE-GAME SCENARIO

EVALUATIONCONCLUSION

what can do

how to do

do

try itwhen, where, howto use it

find

introduction

Sensors and Embedded Devices

User

Developer

Context-Aware System

introduction

Design-before-use

End user programming

introduction

ToolkitIssues

1. Diversity of user skills and interests2. Cooperation among ‘users’

introduction

OPENOntology-based programming framework

forrapid prototyping, sharing, and

personalization of

context-aware applications

A set 0f program modes

with diverse complexity

Semantic Web technology

Shared resources

related work

o Context abstraction (lack of knowledge sharing and reuse)

Context Toolkit <Salber et al.>Solar platform <Chen and Kotz>

CoBrA Project <Chen et al.>Semantic Space <Wang et al.>SO-CAM <Gu et al.>CMM <Yu et al.>Home-explorer <Guo et al.>

o Semantic Web technology (only programming-level abstraction)

related work

o End Use Programming (neglect non-expert users)

iCAP <Dey et al.>UbiPlay <Mattila and Va a ta nen 5 5 5 >StoryRoom <Montemayor et al.>AutoHan <Blackwell and Hague>

1. The needs of a certain group of users2. The sharing and reuse in resources, applications and user experiences3. “Functionality” and “Simplicity”4. “Program tailoring” and “Program creation”

o Summary

requirements and solution guidelines

if-thenIF a person enter a room THEN turning on a light

Inference-rule Action Setting

requirements and solution guidelines

Context Manager

Context Aggregator

Representing and processing contexts

Collecting contexts from heterogeneous sensors

requirements and solution guidelines

1. A unified, evolving context model to be shared among context-aware

Sharing, reuse, interoperation Ontology standards Unified consistent management mechanism

Cooperation between developers and end users (template, multimedia, channel)

Cooperation among developers (inference rule) Cooperation among end users (finding/experience)

2. Providing multiple programming modes with different complexity

3. Supporting cooperation among users

Three different technical levels (high, middle, low)

the ‘open’ cooperative programming framework

1. Communicate2. Abstract3. Adjust

1. Row context

1. Behavior

the ‘open’ cooperative programming framework

1. Gather context makeup2. Assert into server

1. Maintain context ontology

1. Abstract interface2. extract desired context

1. Execute inference rules

the ‘open’ cooperative programming framework

1. Program new application2. Transform to template

1. Customize template

the ‘open’ cooperative programming framework

the ‘open’ cooperative programming framework

1. Hierarchical definition (upper, domain, individual)

2. Context instances (user-defined, sensed)

the ‘open’ cooperative programming framework

1. Designed and maintained by experts2. Shared through resource-sharing module3. Users only specify the context instances4. Automatically update individualized ontology

the ‘open’ cooperative programming framework

• Support the creation of new context-aware application• Preselect, modify and write inference-rule• SWRL (A Semantic Web Rule Language Combining OWL and RuleML)• Specify default action setting

the ‘open’ cooperative programming framework

• Support the creation of new context-aware application• Select and modify inference-rules• Specify default action setting

the ‘open’ cooperative programming framework

• Customize an existing application• Set the parameters predefined by developer

the ‘open’ cooperative programming framework

Individualizing a variable

Specifying constant values

Specifying actions

Incremental/Composition mode

Parameterization mode

the ‘open’ cooperative programming framework

• Developers and End-users:ApplicationMultimedia resourceCommunication channel

• Among Developers:Rule

• Among End-users:Recommend applicationCustomized application

the treasure-game scenario

There are various smart artifacts in a smart home. A game designer can choose some of them to be hided. The selected objects are specified by the designer to act as different roles in the game. He should firstly select a box and a key to act as the roles of “treasure box” and “treasure-box-key”. If the player finds both the two object, he will win this game. Besides the two fixed roles, the designer can select a few other objects to act as other imagined roles. For example, a cup can be used to act as a “guide” that hints the player about the hidden place of the “treasure-box”; a drawer can be used to act as the “shelter of a monster” and when it is opened, a monster residing in it appears on the wall and shouts “Don’t disturb me, I am now sleeping”

the treasure-game scenario1. Ontology individualization

the treasure-game scenario2. Application development 3. Application customization

the treasure-game scenarioImplementation

SPARQL: Context querying languageProtégé: Parsing OWLJess: Execute user-defined rulesSWRL-Jess Bridge API: Interaction between SERL rules and Jess

evaluation

USER: 15 Keio University students (12 males, 3 females)AGE: 21~34Programming ability: 20% good, 67% none (users from different disciplines)

Feedback: questionnaireTime: 60-80 min

evaluation

Mission & Result:

1. Composition mode: select 3 right rules from 15 rule candidatesa. Answer in mean time of 5 minb. 60% of subjects feel not difficult

2. Incremental mode: build a rule in a form-filling style (choose 4 atoms from 13 candidates)a. 40% of subjects give the right answer with little or no assistanceb. 40% of subjects have one or more errorsc. 33% of subjects think they need several day’s training

3. Parameterization mode: customize ‘Treasure game’ through the configuration interfacea. Finish job in 8~17 minb. 80% of subjects feel it is easierc. Use graphical icons instead of text-based interface

evaluation

conclusion

Benefits

Future

• A programming environment for context-aware applications• Meet diverse user requirements (different skills, different disciplines)• Facilitate sharing, reusing, cooperating

• User-friendly interface (graphical interface)• Privacy and security issues among cooperation

Q &…A…A

top related