260 likes | 414 Views
An Adaptation Methodology for the Deployment of Mobile Component-based Applications. Dhouha Ayed, Chantal Taconet, Guy Bernard and Yolande Berbers. Overview. Introduction Deployment of component-based applications Deployment adaptation rules Deployment adaptation process
E N D
An Adaptation Methodology for the Deployment of MobileComponent-based Applications • Dhouha Ayed, Chantal Taconet, Guy Bernard and Yolande Berbers
Overview • Introduction • Deployment of component-based applications • Deployment adaptation rules • Deployment adaptation process • Conclusion and perspectives
Introduction (1) • Mobile hand-held devices are becoming a powerful platform. • Scarce resources • Constant context change: location, network connection, physical environment, etc.
Introduction (2) • Repetitive deployment tasks: • installation, • configuration, • uninstallation, • reinstallation, • reconfiguration, • etc.
Requirements of mobile users • Deployment automation • Adaptive deployment • Just-in-time deployment
Overview • Introduction • Deployment of component-based applications • Deployment adaptation rules • Deployment adaptation process • Conclusion and perspectives
Existent Component-based Deployment Solutions • Package and Deployment of CCM (Corba Component Model) • J2EE, Sun • D&C (Deployment and Configuration) of OMG • .NET, Microsoft
Deployment Parameters • Application architecture • Placement of each component • Component implementation • Property values
Solution • Definition of a set of rules which specify the variability of the deployment parameters • identify the context information which impacts the deployment parameters • define how the deployment parameter can vary according to the context • Adaptation algorithms • Dynamic determination values of the deployment parameters
Online Shopping Application GUI AccessControl DB LocalSelection ViewSelection LV CartMgmt Cart PurchaseMgmt Selection
Node I Node B Node A Zone I Laptop Zone B GUI screen>14’’ version DB Zone A LV Cart Node J Node B Node A Zone J Node I PDA Zone B GUI PDA version DB Zone A LV Cart
Overview • Introduction • Deployment of component-based applications • Deployment adaptation rules • Deployment adaptation process • Conclusion and perspectives
Adaptation Rules • Adaptation rules • constraintiparameter = valuei, or • constraintiparameter = ContextMapping(cxti) • Two levels • Component level rules • Application level rules
Component Level Rules • Properties ’ adaptation rules : default values and the values that can be taken according to the context • Functional properties • Non functional properties Maximum LV size property: AvailableMemorysize < 30MB => size=100kB AvailableMemorysize > 30MB => size=200kB DefaultSize=10KB Languages property: Language=action:contextMapping(UserLanguage) DefaultLanguage="English"
Component Level Rules (2) • Choice of implementation versions rules • Several implementation versions • Context constraints required by each version: strong or weak implementation 1: constraint 1: os name="WinNT" \/ os name="Win2000 type=strong constraint 2: disk size> 30MB type=strong . implementation n: constraint_j: os name="WinCE" type=strong . constraint_z: ..
Application Level Rules • Variability of the application architecture according to the context • Complete component level rules that depend on the application semantics
Architecture Variability • Obligatory components/connections : deployed whatever the context state • Optional components/connections : require specification of context constraints OPT (userzone = ”nearnoncoveredzone”) \/ (LVpreferable = ”true”) => Existence(LV) = true OBL OBL OBL OPT OPT OBL OPT OPT OPT
Adaptation Rules : Consistency Check • Two types • Inconsistency in the description of the application architecture • At the application level • Deployment of detached components • Inconsistency in the description of the rule constraints • At the component and application levels • Contradiction between the rules associated with the same deployment parameter
Overview • Introduction • Deployment of component-based applications • Deployment adaptation rules • Deployment adaptation process • Conclusion and perspectives
Deployment Adaptation Process (1) • Collection of the context information and filtering of the relevant ones. • Extraction of the deployment adaptation rules at the application level. • For each component instance: • Check its existence, if exist do: • If placement rules specified at the application level are specified, assign its placement • assign its properties values : if no rule can be applied , apply rules at the component level
Deployment Adaptation Process (2) • Determine the connections between the components. • use a generic algorithm to determin the placement and the implementation of the component instances
placement and implementations process • Find the valid implementations/nodes assignments: • For each component, find a placement node for each of his implementations • Select the best assignment • maximizing the number of satisfied weak constraints • optimizing the resources consumption
Implementation Context-aware Application Component Middleware Context-aware deployment service DeploymentAdapter CCM deployment tool Deployer Context-aware Infrastructure
Conclusion • Methodology to adapt the deployment of component-based applications to the context • Adaptation rules • Generic adaptation algorithms • Adaptation of the deployment parameters • Adaptation rules are divided into two levels: The rules which
Perspectives • Dynamic reconfiguration of the application assembly. • Map our model on .NET, J2EE. • Study different policies to uninstall applications