Contextor: a Computational Model for Contextual Information Joëlle Coutaz, Gaëtan Rey

33
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 D ata O ut M eta data Out D ata In M eta data In Functional C ore C ontrol In Control Out

description

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. Context for Ubicomp: no Consensus, but some Lessons. - PowerPoint PPT Presentation

Transcript of Contextor: a Computational Model for Contextual Information Joëlle Coutaz, Gaëtan Rey

Page 1: Contextor: a Computational Model for Contextual Information Joëlle Coutaz, Gaëtan Rey

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

Page 2: Contextor: a Computational Model for Contextual Information Joëlle Coutaz, Gaëtan Rey

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

Page 3: Contextor: a Computational Model for Contextual Information Joëlle Coutaz, Gaëtan Rey

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

Page 4: Contextor: a Computational Model for Contextual Information Joëlle Coutaz, Gaëtan Rey

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 

Page 5: Contextor: a Computational Model for Contextual Information Joëlle Coutaz, Gaëtan Rey

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

Page 6: Contextor: a Computational Model for Contextual Information Joëlle Coutaz, Gaëtan Rey

Concepts&Models for Ubicomp, Ubicomp02, Goteborg, Sept. 29th, 2002

6

Outline

• Ontology for computational perception

• Computational model: contextor

Page 7: Contextor: a Computational Model for Contextual Information Joëlle Coutaz, Gaëtan Rey

Concepts&Models for Ubicomp, Ubicomp02, Goteborg, Sept. 29th, 2002

7

Ontology …

• Domain (world) = a network of states

S2

S6

S1S

S3 S4

Page 8: Contextor: a Computational Model for Contextual Information Joëlle Coutaz, Gaëtan Rey

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

Page 9: Contextor: a Computational Model for Contextual Information Joëlle Coutaz, Gaëtan Rey

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

Page 10: Contextor: a Computational Model for Contextual Information Joëlle Coutaz, Gaëtan Rey

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

Page 11: Contextor: a Computational Model for Contextual Information Joëlle Coutaz, Gaëtan Rey

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

Page 12: Contextor: a Computational Model for Contextual Information Joëlle Coutaz, Gaëtan Rey

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

Page 13: Contextor: a Computational Model for Contextual Information Joëlle Coutaz, Gaëtan Rey

Concepts&Models for Ubicomp, Ubicomp02, Goteborg, Sept. 29th, 2002

13

Ontology …

• Tasks involve entities (e.g., a table, pen, color)

EntityE1 Table

EntityE2 Pen

Page 14: Contextor: a Computational Model for Contextual Information Joëlle Coutaz, Gaëtan Rey

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

Page 15: Contextor: a Computational Model for Contextual Information Joëlle Coutaz, Gaëtan Rey

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

Page 16: Contextor: a Computational Model for Contextual Information Joëlle Coutaz, Gaëtan Rey

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

Page 17: Contextor: a Computational Model for Contextual Information Joëlle Coutaz, Gaëtan Rey

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

Page 18: Contextor: a Computational Model for Contextual Information Joëlle Coutaz, Gaëtan Rey

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

Page 19: Contextor: a Computational Model for Contextual Information Joëlle Coutaz, Gaëtan Rey

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’

Page 20: Contextor: a Computational Model for Contextual Information Joëlle Coutaz, Gaëtan Rey

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’

Page 21: Contextor: a Computational Model for Contextual Information Joëlle Coutaz, Gaëtan Rey

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

Page 22: Contextor: a Computational Model for Contextual Information Joëlle Coutaz, Gaëtan Rey

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

Page 23: Contextor: a Computational Model for Contextual Information Joëlle Coutaz, Gaëtan Rey

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

Page 24: Contextor: a Computational Model for Contextual Information Joëlle Coutaz, Gaëtan Rey

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

Page 25: Contextor: a Computational Model for Contextual Information Joëlle Coutaz, Gaëtan Rey

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

Page 26: Contextor: a Computational Model for Contextual Information Joëlle Coutaz, Gaëtan Rey

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

Page 27: Contextor: a Computational Model for Contextual Information Joëlle Coutaz, Gaëtan Rey

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

Page 28: Contextor: a Computational Model for Contextual Information Joëlle Coutaz, Gaëtan Rey

Concepts&Models for Ubicomp, Ubicomp02, Goteborg, Sept. 29th, 2002

28

Computational model: the Contextor …

• Instantiation2: from Observables to Entity

Page 29: Contextor: a Computational Model for Contextual Information Joëlle Coutaz, Gaëtan Rey

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

Page 30: Contextor: a Computational Model for Contextual Information Joëlle Coutaz, Gaëtan Rey

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

Page 31: Contextor: a Computational Model for Contextual Information Joëlle Coutaz, Gaëtan Rey

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

Page 32: Contextor: a Computational Model for Contextual Information Joëlle Coutaz, Gaëtan Rey

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)

Page 33: Contextor: a Computational Model for Contextual Information Joëlle Coutaz, Gaëtan Rey

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