Upload
aviva
View
41
Download
3
Tags:
Embed Size (px)
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
Citation preview
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
PlanPlan
Motivations and objectives DefinitionsCAMidO meta-modelCAMidO compilerCAMidO Middleware architectureCAMidO implementation and evaluationConclusion and future works
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
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.
PlanPlan
Motivations and objectives DefinitionsCAMidO meta-modelCAMidO compilerCAMidO Middleware architectureCAMidO implementation and evaluationConclusion and future works
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
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
PlanPlan
Motivations and objectives DefinitionsCAMidO meta-modelCAMidO compilerCAMidO Middleware architectureCAMidO implementation and evaluationConclusion and future works
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
PlanPlan
Motivations and objectives DefinitionsCAMidO meta-modelCAMidO compilerCAMidO Middleware architectureCAMidO implementation and evaluationConclusion and future works
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
PlanPlan
Motivations and objectives DefinitionsCAMidO meta-modelCAMidO compilerCAMidO architectureCAMidO implementation and evaluationConclusion and future works
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
Container architectureContainer architecture
Adaptation management done by component container
Component
AD
ReactivAdaptor
DynamicRequestCreator
ProactivAdaptor
ContextAnalyser
Notification
Container
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
PlanPlan
Motivations and objectives DefinitionsCAMidO meta-modelCAMidO compilerCAMidO Middleware architectureCAMidO implementation and evaluationConclusion and future works
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
PlanPlan
Motivations and objectives DefinitionsCAMidO meta-modelCAMidO compilerCAMidO Middleware architectureCAMidO implementation and evaluationConclusion and future works
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.
Perspectives Perspectives
Measurement of proactive adaptation costDistribution of the context-aware entities added to
CAMidOResolution of adaptation conflictsResolution of coherence problems
Questions?