210 likes | 333 Views
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
E N D
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 • CAMidO compiler • CAMidO Middleware architecture • CAMidO implementation and evaluation • Conclusion and future works
Motivations • 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
Objectives • 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.
Plan • Motivations and objectives • Definitions • CAMidO meta-model • CAMidO compiler • CAMidO Middleware architecture • CAMidO implementation and evaluation • Conclusion and future works
Component based applications Equivalent interface Component Receptacle Facets Event sink Event source • A set of reusable components connected to each other via ports • A component is executed on a container • The container manages • all component interactions • non functional properties provided to the component Client Component Callback Interface Container Internal Interface ORB Security Transaction Notification
Adaptation types • Reactive adaptation • Triggering an operation when a relevant context is detected • Proactive adaptation • concerns component invocation behaviour • Interception and redirection of component requests CRA SRA C1 C2 O1 SRA CRA O2 C1 C2 O1 O2 SRA CRA: Client Side Adaptor, takes client side adaptation decisions. SRA: Server Side Adaptor, takes server side adaptation decisions. Ci: component i Oi: provided operation i C3 O3 Server side adaptation Client side adaptation
Plan • Motivations and objectives • Definitions • CAMidO meta-model • CAMidO compiler • CAMidO Middleware architecture • CAMidO implementation and evaluation • Conclusion and future works
Plan • Motivations and objectives • Definitions • CAMidO meta-model • CAMidO compiler • CAMidO Middleware architecture • CAMidO implementation and evaluation • Conclusion and future works
CAMidO compiler Designer description CAMidO OWL Description IDL/CIDL User’s code Controllers source code Programing Language Tool CAMidO Ontology Compiler IDL/CIDL Compiler Rule File Implementation CCM Stub and Skeleton Packaging Component Descriptor CCM production chain CAMidO generated code Context-awareness production chain
Plan • Motivations and objectives • Definitions • CAMidO meta-model • CAMidO compiler • CAMidO architecture • CAMidO implementation and evaluation • Conclusion and future works
CAMidO Middleware architecture A component of a context-aware application Container Component ComponentADapter ContextRepository InferenceComponent ContextAnalyser ContextInterpreter Middleware CollectionManager Agent1 Agent2 Agent3 Sensor1 Sensor2 Sensor3
Container architecture • Adaptation management done by component container Container Component ReactivAdaptor ProactivAdaptor DynamicRequestCreator AD Notification ContextAnalyser
Container architecture Interception mechanism • Adaptation management done by component container Container Component Outgoing request ReactivAdaptor ProactivAdaptor DynamicRequestCreator AD Notification ContextAnalyser CAMidOProxy CAClientInterceptor (CRA) CAServerInterceptor (SRA) Incoming request ORB
Plan • Motivations and objectives • Definitions • CAMidO meta-model • CAMidO compiler • CAMidO Middleware architecture • CAMidO implementation and evaluation • Conclusion and future works
CAMidO implementation and evaluation • 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
Plan • Motivations and objectives • Definitions • CAMidO meta-model • CAMidO compiler • CAMidO Middleware architecture • CAMidO implementation and evaluation • Conclusion and future works
Conclusion • 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 • Measurement of proactive adaptation cost • Distribution of the context-aware entities added to CAMidO • Resolution of adaptation conflicts • Resolution of coherence problems