Concepts&Models for Ubicomp, Ubicomp02, Goteborg, Sept. 29th, 2002
1
Contextor: a Computational Model for Contextual Information
Joëlle Coutaz, Gaëtan Rey CLIPS-IMAG, Université Joseph Fourier, Grenoble, France
James L. Crowley GRAVIR-IMAG, INPG, INRIA, Grenoble, France
Data Out
Meta data Out
Data In
Meta data In
FunctionalCore
Control In
Control Out
Concepts&Models for Ubicomp, Ubicomp02, Goteborg, Sept. 29th, 2002
2
Context for Ubicomp: no Consensus, but some Lessons
• Lesson1: Context can only be defined in relation to a purpose– As for us: Computational perception (user’s implicit actions, environment
sensing)
• Lesson 2: Context is an information space that serves interpretation– As for us: Interpretation by the system for serving users
• Lesson 3: Context is an information space that is shared– As for us: Common ground between a system and a user
• Lesson 4: Context is an ever-ending information space: it evolves– As for us: Distinction between a situation and composition of situations
Concepts&Models for Ubicomp, Ubicomp02, Goteborg, Sept. 29th, 2002
3
Context for Ubicomp: no Consensus, but some Lessons
• Lesson1: Context can only be defined in relation to a purpose– As for us: Computational perception (user’s implicit actions, environment
sensing)
• Lesson 2: Context is an information space that serves interpretation– As for us: Interpretation by the system for serving users
• Lesson 3: Context is an information space that is shared– As for us: Common ground between a system and a user
• Lesson 4: Context is an ever-ending information space: it evolves– As for us: Distinction between a situation and composition of situations
User’s Context
System’s Context
Concepts&Models for Ubicomp, Ubicomp02, Goteborg, Sept. 29th, 2002
4
Context for Ubicomp: no Consensus, but some Lessons
• Lesson1: Context can only be defined in relation to a purpose– As for us: Computational perception (user’s implicit actions, environment
sensing)
• Lesson 2: Context is an information space that serves interpretation– As for us: Interpretation by the system for serving users
• Lesson 3: Context is an information space that is shared– As for us: Common ground between a system and a user
• Lesson 4: Context is an ever-ending information space: it evolves– As for us: Distinction between a situation and composition of situations
User’s Context
System’s Context
Concepts&Models for Ubicomp, Ubicomp02, Goteborg, Sept. 29th, 2002
5
Context for Ubicomp: no Consensus, but some Lessons
• Lesson1: Context can only be defined in relation to a purpose– As for us: Computational perception (user’s implicit actions, environment
sensing)
• Lesson 2: Context is an information space that serves interpretation– As for us: Interpretation by the system for serving users
• Lesson 3: Context is an information space that is shared– As for us: Common ground between a system and a user
• Lesson 4: Context is an ever-ending information space: it evolves
Concepts&Models for Ubicomp, Ubicomp02, Goteborg, Sept. 29th, 2002
6
Outline
• Ontology for computational perception
• Computational model: contextor
Concepts&Models for Ubicomp, Ubicomp02, Goteborg, Sept. 29th, 2002
7
Ontology …
• Domain (world) = a network of states
S2
S6
S1S
S3 S4
Concepts&Models for Ubicomp, Ubicomp02, Goteborg, Sept. 29th, 2002
8
Ontology …
• Domain (world) = a network of states linked by actions
S2
S6
S1S
S3 S4a1
a2
a3
a2
a3
Concepts&Models for Ubicomp, Ubicomp02, Goteborg, Sept. 29th, 2002
9
Ontology …
• Domain (world) = a network of states linked by actions• State = a predicate function over observables
S2
S6
S1S
P(O1, O2, …, On)
S3 S4a1
a2
a3
a2
a3
O1
O2
Om
Concepts&Models for Ubicomp, Ubicomp02, Goteborg, Sept. 29th, 2002
10
Ontology …
• Domain (world) = a network of states linked by actions• State = a predicate function over observables• Goal state = a desired state
S2
S6Goal state
S1S
P(O1, O2, …, On)
S3 S4a1
a2
a3
a2
a3
O1
O2
Om
Concepts&Models for Ubicomp, Ubicomp02, Goteborg, Sept. 29th, 2002
11
Ontology …
• Domain (world) = a network of states linked by actions• State = a predicate function over observables• Goal state = a desired state• Task = <current state, goal state>, i.e., no plan
S2Current state
S6Goal state
S1S
P(O1, O2, …, On)
S3 S4a1
a2
a3
a2
a3
O1
O2
Om
Concepts&Models for Ubicomp, Ubicomp02, Goteborg, Sept. 29th, 2002
12
Ontology …
• Domain (world) = a network of states linked by actions• State = a predicate function over observables• Goal state = a desired state• Task = <current state, goal state>, i.e., no plan• Activity = <active tasks> = <current task, background tasks>
S2Current state
S6Goal state
S1S
P(O1, O2, …, On)
S3 S4a1
a2
a3
a2
a3
O1
O2
Om
Concepts&Models for Ubicomp, Ubicomp02, Goteborg, Sept. 29th, 2002
13
Ontology …
• Tasks involve entities (e.g., a table, pen, color)
EntityE1 Table
EntityE2 Pen
Concepts&Models for Ubicomp, Ubicomp02, Goteborg, Sept. 29th, 2002
14
Ontology …
• Tasks involve entities (e.g., a table, pen, color)
• Entity = a grouping of observables
EntityE1 Table
O1
O2
Om
Ol
Ok
On
EntityE2 Pen
Concepts&Models for Ubicomp, Ubicomp02, Goteborg, Sept. 29th, 2002
15
Ontology …
• Tasks involve entities (e.g., a table, pen, color)
• Entity = a grouping of observables
• Entities may have a role = a function relative to a task that is satisfied by an entity, e.g., sitting surface
Role pointer{E2}
EntityE1 Table
Role Sitting surface{E1}
O1
O2
Om
Ol
Ok
On
EntityE2 Pen
Concepts&Models for Ubicomp, Ubicomp02, Goteborg, Sept. 29th, 2002
16
Ontology …
• Tasks involve entities (e.g., a table, pen, color)
• Entity = a grouping of observables
• Entities may have a role = a function relative to a task that is satisfied by an entity, e.g., sitting surface
• Entities may have relations
Role pointer{E2}
EntityE1 Table
Role Sitting surface{E1}
O1
O2
Om
Ol
Ok
On
EntityE2 Pen
On top
Concepts&Models for Ubicomp, Ubicomp02, Goteborg, Sept. 29th, 2002
17
Ontology…
• Context(U,T) = a set of roles and relations between entities for the performance of T by U
C1
R1R2
r
Concepts&Models for Ubicomp, Ubicomp02, Goteborg, Sept. 29th, 2002
18
Ontology…
• Context(U,T) = a set of roles and relations between entities for the performance of T by U• Context change = the set of roles changes
C2
R1R2
r
C1
R1R2
r
New role
R3
Concepts&Models for Ubicomp, Ubicomp02, Goteborg, Sept. 29th, 2002
19
Ontology…
• Context(U,T) = a set of roles and relations between entities for the performance of T by U• Context change = the set of roles changes and/or the set of relations changes
C2
R1R2
r
C1
R1R2
r C3
R1R2
r
New role
R3
New relation
r’
Concepts&Models for Ubicomp, Ubicomp02, Goteborg, Sept. 29th, 2002
20
Ontology…
• Context(U,T) = a set of roles and relations between entities for the performance of T by U• Context change = the set of roles changes and/or the set of relations changes• Tasks and activities happen in a network of contexts
C2
R1R2
r
C1
R1R2
r C3
R1R2
r
R3
r’
Concepts&Models for Ubicomp, Ubicomp02, Goteborg, Sept. 29th, 2002
21
Ontology…
• Context(U,T) = a set of roles and relations between entities for the performance of T by U• Context change = the set of roles changes and/or the set of relations changes• Tasks and activities happen in a network of contexts• Context (U,T) = a network of situations that share the same set of Roles and Relations
C2
R1 R2
r
C1
R1 R2 r
C3
R1 R2
r
R3
r’
Network of Situations
Concepts&Models for Ubicomp, Ubicomp02, Goteborg, Sept. 29th, 2002
22
Ontology …
• Within a context, a situation is a configuration of – A set of entities– Assignments of roles to entities– Relations between these entities
S1
R1R2
e2e1
r e2e1
C1
Concepts&Models for Ubicomp, Ubicomp02, Goteborg, Sept. 29th, 2002
23
Ontology …
• Within a context, a situation changes when– assignments of entities to roles changes
S2
R1R2
e1e2
e2e1
Assignment to Role has changed
S1
R1R2
e2e1
r e2e1
C1
Concepts&Models for Ubicomp, Ubicomp02, Goteborg, Sept. 29th, 2002
24
Ontology …
• Within a context, a situation changes when– assignments of entities to roles changes – relations between the entities change
S2
R1R2
e1e2
r e2e1
S3
R1R2
e2e1
r e1e2
Assignment to Role has changed
Relation has changed
S1
R1R2
e2e1
r e2e1
C1
Concepts&Models for Ubicomp, Ubicomp02, Goteborg, Sept. 29th, 2002
25
Ontology …
• Within a context, a situation changes when– assignments of entities to roles changes – relations between the entities change– The set of entities changes
S2
R1R2
e1e2
r e2e1
S4
R1R2
e2e1
r e2e1S3
R1R2
e2e1
r e1e2
Assignment to Role has changed
Relation has changed
New entity
S1
R1R2
e2e1
r e2e1
e3
C1
Concepts&Models for Ubicomp, Ubicomp02, Goteborg, Sept. 29th, 2002
26
Computational model: the Contextor …
• A computational abstraction– Two functional facets
• Transformation: Data (Type X) +meta-data -> Data (Type Y) +meta-data• Control: adaptation of behavior
– Synchronous and asynchronous ports
Data Out
Meta data Out
Data In
Meta data In
FunctionalCore
Control In
Control Out
Concepts&Models for Ubicomp, Ubicomp02, Goteborg, Sept. 29th, 2002
27
Computational model: the Contextor …
• Instantiation 1: data as observables
State andcapabilities
Control
Skin ColorDetection
ColorImage
SkinProbability
Control in
Concepts&Models for Ubicomp, Ubicomp02, Goteborg, Sept. 29th, 2002
28
Computational model: the Contextor …
• Instantiation2: from Observables to Entity
Concepts&Models for Ubicomp, Ubicomp02, Goteborg, Sept. 29th, 2002
29
Computational model: the Contextor …
• Instantiation3: from entities to relation between entities
Eye-pair(Left, Right)
Control
RelationDetection
Eye1
…Eyem
State andCapabilitiesControl in
Concepts&Models for Ubicomp, Ubicomp02, Goteborg, Sept. 29th, 2002
30
Contextors composition
• Data flow model
• Hierarchical levels (HL)
• Dependency chain
Application 1 Application 2
HL = 0
HL = 1
HL = 2
Concepts&Models for Ubicomp, Ubicomp02, Goteborg, Sept. 29th, 2002
31
Contextors: properties
• Reflexivity– Ability to describe its behavior– Ability tomodify its behavior
• Remanence– Ability to sleep, to be saved then to restart execution
• Context => federation of contextors
• New situation => reconfiguration of the contextors within the federation
• New context => new federation of contextors
Concepts&Models for Ubicomp, Ubicomp02, Goteborg, Sept. 29th, 2002
32
Contextors: global architectural picture
• Extension of the ARCH model (D.Salber)
DC
LP
PPFC
FCA
Capture
Transformation
Identification
Exploitation
Process style(Contextor)
Data style(Blackboard)
Concepts&Models for Ubicomp, Ubicomp02, Goteborg, Sept. 29th, 2002
33
Contextor: a Computational Model for Contextual Information
Joëlle Coutaz, Gaëtan Rey CLIPS-IMAG, Université Joseph Fourier, Grenoble, France
James L. Crowley GRAVIR-IMAG, INPG, INRIA, Grenoble, France
Data Out
Meta data Out
Data In
Meta data In
FunctionalCore
Control In
Control Out
Top Related