An Adaptation Methodology for the Deployment of Mobile
Component-based Applications
Dhouha Ayed, Chantal Taconet, Guy Bernard and Yolande Berbers
Overview
IntroductionDeployment of component-based
applicationsDeployment adaptation rulesDeployment adaptation processConclusion 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 automationAdaptive deploymentJust-in-time deployment
Overview
IntroductionDeployment of component-based
applicationsDeployment adaptation rulesDeployment adaptation processConclusion 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 architecturePlacement of each componentComponent implementationProperty 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 algorithmsDynamic determination values of the
deployment parameters
Online Shopping Application
LocalSelection
LV
CartMgmt
AccessControl
ViewSelection
PurchaseMgmt
GUI
Cart
Selection
DB
LVGUI screen>14’’
version
Cart
Laptop
DB
Zone A
Zone B
Zone INode A
Node B
Node I
LVGUI
PDA version
PDA
DB
Zone A
Zone B
Zone JNode A
Node B
Node J
Cart
Node I
Overview
IntroductionDeployment of component-based
applicationsDeployment adaptation rulesDeployment adaptation processConclusion and perspectives
Adaptation Rules
Adaptation rules constrainti parameter = valuei, or
constrainti parameter = 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=10KBLanguages 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 weakimplementation 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 OBL OBL
OBL OPTOPT OPT
OBL
OPTOPT
OPT (userzone = ”nearnoncoveredzone”) \/ (LVpreferable = ”true”) => Existence(LV) = true
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
IntroductionDeployment of component-based
applicationsDeployment adaptation rulesDeployment adaptation processConclusion 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
Component Middleware
Context-aware Application
Context-aware Infrastructure
DeploymentAdapter
Deployer
Context-aware deployment service
CCM deployment tool
Evaluation
Conclusion
Methodology to adapt the deployment of component-based applications to the context
Adaptation rules Generic adaptation algorithmsAdaptation of the deployment
parametersAdaptation 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