an architecture for supporting development and execution of context-aware component applications

21
An architecture for supporting An architecture for supporting Development and Execution of Development and Execution of Context-Aware Component Context-Aware Component Applications Applications Nabiha Belhanafi Behlouli GET/INT, CNRS, Samovar 9, rue Charles Fourier, 91170 Evry , France ICPS’06 26-29 June 2006 Lyon

Upload: aviva

Post on 18-Jan-2016

39 views

Category:

Documents


3 download

DESCRIPTION

An architecture for supporting Development and Execution of Context-Aware Component Applications. Nabiha Belhanafi Behlouli. GET/INT, CNRS, Samovar 9, rue Charles Fourier, 91170 Evry , France ICPS’06 26-29 June 2006 Lyon. Plan. Motivations and objectives Definitions CAMidO meta-model - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: An architecture for supporting Development and Execution of Context-Aware Component Applications

An architecture for supporting An architecture for supporting Development and Execution of Development and Execution of

Context-Aware Component Context-Aware Component ApplicationsApplications

Nabiha Belhanafi Behlouli

GET/INT, CNRS, Samovar9, rue Charles Fourier, 91170 Evry , France

ICPS’0626-29 June 2006 Lyon

Page 2: An architecture for supporting Development and Execution of Context-Aware Component Applications

[email protected]

PlanPlan

Motivations and objectives DefinitionsCAMidO meta-modelCAMidO compilerCAMidO Middleware architectureCAMidO implementation and evaluationConclusion and future works

Page 3: An architecture for supporting Development and Execution of Context-Aware Component Applications

[email protected]

MotivationsMotivations

Mobile devices are characterised by dynamism in their environment

Applications have to : Detect environment changes. Adapt their behaviour accordingly.

Context-aware application development implies : Interaction with sensors, Detection of context changes, Making decisions on appropriate adaptation actions.

Context-aware applications needs of a middleware to manage context.

Context awareness is rarely considered in component based middleware

Page 4: An architecture for supporting Development and Execution of Context-Aware Component Applications

[email protected]

ObjectivesObjectives

To Facilitate development of component based context aware-applications with:

Ontology based meta-model for context and adaptation description.

Context management mechanisms included in a component based middleware .

Adaptation management by the component container using non functional properties.

Page 5: An architecture for supporting Development and Execution of Context-Aware Component Applications

[email protected]

PlanPlan

Motivations and objectives DefinitionsCAMidO meta-modelCAMidO compilerCAMidO Middleware architectureCAMidO implementation and evaluationConclusion and future works

Page 6: An architecture for supporting Development and Execution of Context-Aware Component Applications

[email protected]

Component based applicationsComponent based applications

A set of reusable components connected to each other via ports

A component is executed on a containerThe container manages

all component interactions non functional properties provided to the component

ContainerInternal Interface

Callback Interface

ComponentClient

Security Transaction Notification

ORB

Component

Equivalent interface

FacetsReceptacle

Event source

Event sink

Page 7: An architecture for supporting Development and Execution of Context-Aware Component Applications

[email protected]

Adaptation typesAdaptation types

Reactive adaptation Triggering an operation when a relevant context is detected

Proactive adaptation concerns component invocation behaviour Interception and redirection of component requests

C1 C2

C3

O1

O2

O3

CRA SRA

SRA

CRA: Client Side Adaptor, takes client side adaptation decisions.SRA: Server Side Adaptor, takes server side adaptation decisions.Ci: component iOi: provided operation i

C1 C2

O1

O2

CRA SRA

Client side adaptation Server side adaptation

Page 8: An architecture for supporting Development and Execution of Context-Aware Component Applications

[email protected]

PlanPlan

Motivations and objectives DefinitionsCAMidO meta-modelCAMidO compilerCAMidO Middleware architectureCAMidO implementation and evaluationConclusion and future works

Page 9: An architecture for supporting Development and Execution of Context-Aware Component Applications

[email protected]

CAMidO meta-modelCAMidO meta-model

S e n s or

D i re ctC on te xt

C on te xt

In di re ctC on te xt

C AS e rvi ce

Re l e van tC on te xt

C om pon e n t

Po l i cy& Ru l e

Ru l e

Ta k e s D a ta Fro m

H o wD e du ce

A wa re O f

R e a ctA da pt

D e pe n ds O n

Pro a ctA da pt

A pplica t io n le v e l

C o n te x t le v e l

S e n s o r L e v e l

C AO pe rati on

Appl i ca ti on

C o n ta in s

Page 10: An architecture for supporting Development and Execution of Context-Aware Component Applications

[email protected]

PlanPlan

Motivations and objectives DefinitionsCAMidO meta-modelCAMidO compilerCAMidO Middleware architectureCAMidO implementation and evaluationConclusion and future works

Page 11: An architecture for supporting Development and Execution of Context-Aware Component Applications

[email protected]

CAMidO compilerCAMidO compiler

Context-awareness production chain

Implementation

Programing Language Tool

CAMidO OWL

DescriptionIDL/CIDL User’s

code

IDL/CIDL Compiler

CAMidOOntology Compiler

CCM Stub and

Skeleton

Component Descriptor

Rule File

Packaging

Controllers source code

CCM production chain

Designer description

CAMidO generated code

Page 12: An architecture for supporting Development and Execution of Context-Aware Component Applications

[email protected]

PlanPlan

Motivations and objectives DefinitionsCAMidO meta-modelCAMidO compilerCAMidO architectureCAMidO implementation and evaluationConclusion and future works

Page 13: An architecture for supporting Development and Execution of Context-Aware Component Applications

[email protected]

CAMidO Middleware architectureCAMidO Middleware architecture

Container

Component

ComponentADapter

ContextAnalyser

ContextInterpreter

InferenceComponent

CollectionManager

Sensor1 Sensor2 Sensor3

ContextRepository

Middleware

A component of a context-aware application

Agent3Agent2Agent1

Page 14: An architecture for supporting Development and Execution of Context-Aware Component Applications

[email protected]

Container architectureContainer architecture

Adaptation management done by component container

Component

AD

ReactivAdaptor

DynamicRequestCreator

ProactivAdaptor

ContextAnalyser

Notification

Container

Page 15: An architecture for supporting Development and Execution of Context-Aware Component Applications

[email protected]

Container architecture Container architecture Interception mechanismInterception mechanism

Adaptation management done by component container

Component

AD

ReactivAdaptor

DynamicRequestCreator

ProactivAdaptor

ORB

CAClientInterceptor (CRA) CAServerInterceptor (SRA)

CAMidOProxyContextAnalyser

Notification

Outgoing request

Incoming request

Container

Page 16: An architecture for supporting Development and Execution of Context-Aware Component Applications

[email protected]

PlanPlan

Motivations and objectives DefinitionsCAMidO meta-modelCAMidO compilerCAMidO Middleware architectureCAMidO implementation and evaluationConclusion and future works

Page 17: An architecture for supporting Development and Execution of Context-Aware Component Applications

[email protected]

CAMidO implementation and CAMidO implementation and evaluationevaluation

A CAMidO prototype implemented on top of OpenCCM using

OWL for meta-model and model description Velocity engine for source code generation. Jena tool for parsing the meta-model CORBA portable interceptors for component invocations

interception

Experimental results about context management cost Depends On

The size of the ontology The complexity of interpretation rules The complexity of adaptation policies The number of relevant context

Page 18: An architecture for supporting Development and Execution of Context-Aware Component Applications

[email protected]

PlanPlan

Motivations and objectives DefinitionsCAMidO meta-modelCAMidO compilerCAMidO Middleware architectureCAMidO implementation and evaluationConclusion and future works

Page 19: An architecture for supporting Development and Execution of Context-Aware Component Applications

[email protected]

ConclusionConclusion

An ontological meta-model for context description.A compiler to generate :

adaptation source code, rule files.

A context-aware middleware architecture.Adaptation management in the component container

using non functional properties.

Page 20: An architecture for supporting Development and Execution of Context-Aware Component Applications

[email protected]

Perspectives Perspectives

Measurement of proactive adaptation costDistribution of the context-aware entities added to

CAMidOResolution of adaptation conflictsResolution of coherence problems

Page 21: An architecture for supporting Development and Execution of Context-Aware Component Applications

[email protected]

Questions?