component-oriented approaches to context-aware systems – monday 14 june 2004 1 the contextor...

49
Component-oriented approaches to context-aware systems – Monday 14 June 2004 1 The Contextor Infrastructure for Context-Aware Computing Gaëtan Rey, Joëlle Coutaz Engineering HCI research group CLIPS IMAG, Grenoble, France

Post on 19-Dec-2015

215 views

Category:

Documents


1 download

TRANSCRIPT

Component-oriented approaches to context-aware systems – Monday 14 June 2004

1

The Contextor Infrastructure

for Context-Aware Computing

Gaëtan Rey, Joëlle Coutaz

Engineering HCI research group

CLIPS IMAG, Grenoble, France

Component-oriented approaches to context-aware systems – Monday 14 June 2004

2

I-AM

Component-oriented approaches to context-aware systems – Monday 14 June 2004

3

Outline

• Synthesis of the state of the art (architectural aspects)

• The contextor infrastructure

Component-oriented approaches to context-aware systems – Monday 14 June 2004

4

Synthesis of the state of the art

• No consensual definition for the notion of context

• A clear need for infrastructures that support the development of context-aware computing– Like conventional systems: heterogeneity, distribution,

interoperability, …– Unlike conventional systems: multi-scaling, spontaneity, …

Component-oriented approaches to context-aware systems – Monday 14 June 2004

5

Architecture

Sensing : numeric observables

Component-oriented approaches to context-aware systems – Monday 14 June 2004

6

Architecture

Sensing : numeric observables

Transformation : symbolic observables

Component-oriented approaches to context-aware systems – Monday 14 June 2004

7

Architecture

Sensing : numeric observables

Transformation : symbolic observables

Situation and context identification

Component-oriented approaches to context-aware systems – Monday 14 June 2004

8

Architecture

Sensing : numeric observables

Transformation : symbolic observables

Situation and context identification

Context adapter

Component-oriented approaches to context-aware systems – Monday 14 June 2004

9

Architecture

Sensing : numeric observables

Transformation : symbolic observables

Situation and context identification

Context adapter

Priv

acy

/ Sec

urity

/ T

rust

Component-oriented approaches to context-aware systems – Monday 14 June 2004

10

Architecture

Sensing : numeric observables

Transformation : symbolic observables

Situation and context identification

Context adapter

Priv

acy

/ Sec

urity

/ T

rust

His

tory

Component-oriented approaches to context-aware systems – Monday 14 June 2004

11

Architecture

Sensing : numeric observables

Transformation : symbolic observables

Situation and context identification

Context adapter

Priv

acy

/ Sec

urity

/ T

rust

His

tory

Dis

cove

ry /

Rec

over

y

Component-oriented approaches to context-aware systems – Monday 14 June 2004

12

Architecture

Sensing : numeric observables

Transformation : symbolic observables

Situation and context identification

Context adapter

Priv

acy

/ Sec

urity

/ T

rust

His

tory

Dis

cove

ry /

Rec

over

y

For each layer•Services are self-descriptive (meta-interface + meta-data)•Services are self-configurable •Services are local to global (islands of interaction and existence of servers)•Services support multiple communication mechanisms (publish-subscribe, request-answer)•A uniform computational model (process/data oriented) and architectural style

Component-oriented approaches to context-aware systems – Monday 14 June 2004

13

Architecture

Sensing : numeric observables

Transformation : symbolic observables

Situation and context identification

Context adapter

Priv

acy

/ Sec

urity

/ T

rust

His

tory

Dis

cove

ry /

Rec

over

y

One style does not fit allA set of interoperable infrastructures

Component-oriented approaches to context-aware systems – Monday 14 June 2004

14

The contextor infrastructure

Sensing : numeric observables

Transformation : symbolic observables

Situation and context identification

Context adapter

Priv

acy

/ Sec

urity

/ T

rust

His

tory

Dis

cove

ry /

Rec

over

y

Component-oriented approaches to context-aware systems – Monday 14 June 2004

15

Outline

• Contextor

• Discovery

• Examples

Component-oriented approaches to context-aware systems – Monday 14 June 2004

16

Contextor Software abstraction

Functional core + typed communication channels

Data In

Meta Data In

Data Out

Meta Data Out

Control Out

Control In

Component-oriented approaches to context-aware systems – Monday 14 June 2004

17

Contextor Software abstraction

Functional core• Transformation : Data (Type X) + Meta Data Data (Type Y) + Meta Data

– Meta Data : uncertainty, accuracy, latency …

Transformation

Data In

Meta Data In

Data Out

Meta Data Out

Control Out

Control In

Component-oriented approaches to context-aware systems – Monday 14 June 2004

18

Contextor Software abstraction

Functional core• Transformation : Data (Type X) + Meta Data Data (Type Y) + Meta Data

• Control : behavior adaptation– supports reconfigurability

Transformation

Data In

Meta Data In

Data Out

Meta Data Out

Control Out

Control In

Component-oriented approaches to context-aware systems – Monday 14 June 2004

19

Dynamic Composition of Contextors

Application 1 Application 2Data and Meta Data Flow

Component-oriented approaches to context-aware systems – Monday 14 June 2004

20

Dynamic Composition of Contextors

Application 1 Application 2Controls Flow

Data and Meta Data Flow

Component-oriented approaches to context-aware systems – Monday 14 June 2004

21

Life Cycle of a Contextor

Creation, conception of contextor

Not RunningNot SuppliedNot Ready

Not in Activity

State 1

Component-oriented approaches to context-aware systems – Monday 14 June 2004

22

Life Cycle of a Contextor

Creation, conception of contextor

RunningNot SuppliedNot Ready

Not in Activity

State 2Launching the contextor from

its configuration fileNot RunningNot SuppliedNot Ready

Not in Activity

State 1

Component-oriented approaches to context-aware systems – Monday 14 June 2004

23

Life Cycle of a Contextor

Creation, conception of contextor

Looking for Source Contextors :

Send request for service on the

network

RunningNot SuppliedNot Ready

Not in Activity

State 2Launching the contextor from

its configuration fileNot RunningNot SuppliedNot Ready

Not in Activity

State 1

Component-oriented approaches to context-aware systems – Monday 14 June 2004

24

Life Cycle of a Contextor

Running Supplied

Not ReadyNot in Activity

State 3

Subscribingto

Source Contextors

Creation, conception of contextor

Looking for Source Contextors :

Send request for service on the

network

RunningNot SuppliedNot Ready

Not in Activity

State 2Launching the contextor from

its configuration fileNot RunningNot SuppliedNot Ready

Not in Activity

State 1

Component-oriented approaches to context-aware systems – Monday 14 June 2004

25

Life Cycle of a Contextor

RunningSuppliedReady

Not in Activity

State 4

Lauching the functional CoreWaiting for Sink clients

Creation, conception of contextor

Running Supplied

Not ReadyNot in Activity

State 3

Subscribingto

Source Contextors

Looking for Source Contextors :

Send request for service on the

network

RunningNot SuppliedNot Ready

Not in Activity

State 2Launching the contextor from

its configuration fileNot RunningNot SuppliedNot Ready

Not in Activity

State 1

Component-oriented approaches to context-aware systems – Monday 14 June 2004

26

Life Cycle of a Contextor

Creation, conception of contextor

RunningSuppliedReady

In Activity

State 5

New sink Clientconnection

Last sink Client Disconnection

First sink ClientConnection

RunningSuppliedReady

Not in Activity

State 4

Lauching the functional CoreWaiting for Sink clients

Running Supplied

Not ReadyNot in Activity

State 3

Subscribingto

Source Contextors

Looking for Source Contextors :

Send request for service on the

network

RunningNot SuppliedNot Ready

Not in Activity

State 2Launching the contextor from

its configuration fileNot RunningNot SuppliedNot Ready

Not in Activity

State 1

Component-oriented approaches to context-aware systems – Monday 14 June 2004

27

Life Cycle of a Contextor

Stop Command

Creation, conception of contextor

RunningSuppliedReady

In Activity

State 5

New sink Clientconnection

Last sink Client Disconnection

First sink ClientConnection

RunningSuppliedReady

Not in Activity

State 4

Lauching the functional CoreWaiting for Sink clients

Running Supplied

Not ReadyNot in Activity

State 3

Subscribingto

Source Contextors

Looking for Source Contextors :

Send request for service on the

network

RunningNot SuppliedNot Ready

Not in Activity

State 2Launching the contextor from

its configuration fileNot RunningNot SuppliedNot Ready

Not in Activity

State 1

Component-oriented approaches to context-aware systems – Monday 14 June 2004

28

Outline

• Contextor

• Discovery & Scalability

• Examples

Component-oriented approaches to context-aware systems – Monday 14 June 2004

29

P2P Network Model

• Both a client and a server– Improves the autonomy of contextors

Component-oriented approaches to context-aware systems – Monday 14 June 2004

30

P2P Network Model

• Both a client and a server– Improves the autonomy of contextors

• Fully Distributed Architecture– Supports the arrival/departure of

contextors

Component-oriented approaches to context-aware systems – Monday 14 June 2004

31

P2P Network Model

• Both a client and a server– Improves the autonomy of contextors

• Fully Distributed Architecture– Supports the arrival/departure of

contextors

• Local Discovery– Requests use UDP multicast

Component-oriented approaches to context-aware systems – Monday 14 June 2004

32

P2P Network Model

• Both a client and a server– Improves the autonomy of contextors

• Fully Distributed Architecture– Supports the arrival/departure of

contextors

• Local Discovery– Requests use UDP multicast

• Distant Discovery– Hybrid Model (GloSS)

– Use of "repeaters“ (model based on geographical localization)

Component-oriented approaches to context-aware systems – Monday 14 June 2004

33

Outline

• Contextor

• Discovery

• Examples

Component-oriented approaches to context-aware systems – Monday 14 June 2004

34

Example 1: Human activities Observatory

A dynamic Web page displays users’ level of activity

Component-oriented approaches to context-aware systems – Monday 14 June 2004

35

Example 1: Human activities Observatory

Architecture

Web clientTomcat Web Server

Client Web

User User User

Web Pages

Federation of Contextors

Component-oriented approaches to context-aware systems – Monday 14 June 2004

36

Ada

pte

rDisplaysUsers

Activities

Example 1: Human activities Observatory

Architecture

Servlet

Observed User

Local informationContextor

Local Activity

Contextor

Mouse Activity

Contextor

Keyboard Activity

Contextor

Component-oriented approaches to context-aware systems – Monday 14 June 2004

37

Example 1: Human activities Observatory

[…]

public class ActivityObservatory extends HttpServlet {

private ActivityAdapter myAdapter;

[…]

public void init(){

myAdapter = new ActivityAdapter();

[…]

}

[…]

public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException{

[…]

for (int i=0; i< myAdapter.getDataInConnections("activity"); i++){this.displayInformation( myAdapter.getData("activity",i) );

}

[…]

}

[…]

}

Component-oriented approaches to context-aware systems – Monday 14 June 2004

38

Example 1: Observatory of Activity

[…]public class ActivityMouseContextor extends ElementaryContextor{

private Process mp = null;private String data = "";[…]public void init(){

[…]mp = Runtime.getRuntime().exec("MouseSensor.exe");[…]

}[…]public void functionalCore() {

[…]data += this.mp.read();[…]this.setDataOutValue(data.getBytes());[…]

}[…]

}

Component-oriented approaches to context-aware systems – Monday 14 June 2004

39

Example 2 : I-AM

• C. Lachenal et N. Barralon Works

• A software infrastructure that supports the dynamic composition of heterogeneous interaction resources to form a unified space.

• In this space, users can distribute and migrate whole or parts of user interfaces as if they were handled by a unique computer.

Component-oriented approaches to context-aware systems – Monday 14 June 2004

40

Example 2 : I-AM

• C. Lachenal et N. Barralon Works• 2 types of contextors

– Surfaces Contextors• Indicate the presence of each surface (= display)

• Indicate characteristics (size, …) of each surface

Component-oriented approaches to context-aware systems – Monday 14 June 2004

41

Example 2 : I-AM

• C. Lachenal et N. Barralon Works• 2 types of contextors

– Surfaces Contextors– Link Contextors

• Encapsulate a physical sensor

• Indicate links (spatial relations) between each surfaces

IRDA transmitter / receiver

USB connectorIRDA manager

PIC Microprocessor

Component-oriented approaches to context-aware systems – Monday 14 June 2004

42

Example 2 : I-AM

• C. Lachenal et N. Barralon Works• 2 types of contextors

– Surfaces Contextors– Link Contextors

• Encapsulate a physical sensor (currently simulated)

• Indicate links (spatial relations) between each surfaces

Component-oriented approaches to context-aware systems – Monday 14 June 2004

43

Conclusion

• Role of Contextors– Capture and computes contextual information– Distribution (local and global)

Component-oriented approaches to context-aware systems – Monday 14 June 2004

44

Conclusion

• Role of Contextors– Capture and computes contextual information – Distribution (local and global)

• Middleware– Distributed– Dynamic– Autonomous

Component-oriented approaches to context-aware systems – Monday 14 June 2004

45

Perspectives

• Evaluation of architecture– Latency – Scalability– Reconfigurability

Component-oriented approaches to context-aware systems – Monday 14 June 2004

46

Perspectives

• Evaluation of architecture– Latency – Scalability– Reconfigurability

• Implementation of examples– Mobility (connections / disconnections)– Distribution (repeaters)

Component-oriented approaches to context-aware systems – Monday 14 June 2004

47

Perspectives

• Evaluation of architecture– Latency – Scalability– Reconfigurability

• Implementation of examples– Mobility (connections / disconnections)– Distribution (repeaters)

• Contextors Upgrade– History of the data

Component-oriented approaches to context-aware systems – Monday 14 June 2004

48

The Contextor Infrastructure

for Context-Aware Computing

Gaëtan Rey, Joëlle Coutaz

Engineering HCI research group

CLIPS IMAG, Grenoble, France

Component-oriented approaches to context-aware systems – Monday 14 June 2004

49

Data et Meta DataXML and XML Schemas

• Benefits– Portability– Extensibility

• Uses– Initialization using configuration files in XML

(name, group, Data In and Data Out class …)– Communication based on XML messages