toward a cooperative programming framework for context-aware applications b. guo, d. zhang telecom....
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