240 likes | 431 Views
Monitoring and Adaptation of Component-Based Applications in Pervasive Environment. Imen BEN LAHMAR Directeur de Thèse : Guy BERNARD Encadrant : Djamel BELAID. Workshop Adapt 10 Mai 2011. Plan. Context Motivating Scenario Problem Description Contributions Monitoring and reconfiguration
E N D
Monitoring and Adaptation of Component-Based Applications in Pervasive Environment Imen BEN LAHMAR Directeur de Thèse : Guy BERNARD Encadrant : Djamel BELAID Workshop Adapt 10 Mai 2011
Plan Context Motivating Scenario Problem Description Contributions Monitoring and reconfiguration Structural adaptation Conclusion & Future Work Monitoring and Adaptation of Component-Based Applications in Pervasive Environment
Context Pervasive environment: Heterogeneity Dynamicity: Mobility of users and devices Components appear/disappear Change of devices capabilities Applications are described as a composition of services (abstract components) Application’s services are mapped to the concrete available components [1] Monitoring and Adaptation of Component-Based Applications in Pervasive Environment
Motivating Scenario Reconfiguration ? chunk Size Sender Service Receiver Service File Splitter File Merger Adaptation ? Monitoring ? Weak signal strength Monitoring and Adaptation of Component-Based Applications in Pervasive Environment
Problem Description Monitoring of local or remote component properties Reconfiguration of local or remote component properties Structural adaptation of abstract applications Monitoring and Adaptation of Component-Based Applications in Pervasive Environment
Plan Context Motivating Scenario Problem Description Contributions Monitoring and reconfiguration Structural adaptation Conclusion Future Work Monitoring and Adaptation of Component-Based Applications in Pervasive Environment
Component Model Required properties allow a component to express its dependency to other components properties: monitoring By polling By subscription: on_change or on_interval reconfiguration Reconfiguration Monitoring Monitoring and Adaptation of Component-Based Applications in Pervasive Environment
File Sender Application Reconfiguration Remote Monitoring Monitoring Monitoring Smartphone Laptop Monitoring and Adaptation of Component-Based Applications in Pervasive Environment
ADL: Extension of SCA Extension of SCA component Model: Allows components to express their dependencies to the provided properties of other components Allows components to specify their monitoring and reconfiguration needs <component name="AdaptationPolicy" > <service name="PCListener"> <interface.java interface="eu.tsp.example.PCListener"/> </service> <requiredProperty component="Battery" remotable="true" monitoring="ByPolling"> <property name="batteryLevel"/> </requiredProperty> <requiredProperty component="WiFi" monitoring="BySubscription" notificationMode="ON_INTERVAL"> <property name=“signalStrength"/> </requiredProperty> <requiredProperty component="FileSplitter" reconfiguration="true"> <property name="chunckSize"/> </requiredProperty> .... </component> Monitoring and Adaptation of Component-Based Applications in Pervasive Environment Monitoring and Adaptation of Component-Based Applications in Pervasive Environment Adapt 2011 9
Transformation for Local Monitoring and Reconfiguration [2] interface PropertyChangedListener { void notify( Object source, String name, Object value); } interface GenericProxy { Property[ ] getProperties( ); Object getPropertyValue( String propertyName ); void setPropertyValue( String propertyName, Object propertyValue ); Object invoke( String methodName, Object[ ] params ); } interface PropertyChangedSubscription { boolean subscribe( PropertyChangedListener l, String name ... ); boolean unsubscribe( ..... ); } Monitoring and Adaptation of Component-Based Applications in Pervasive Environment Monitoring and Adaptation of Component-Based Applications in Pervasive Environment Adapt 2011 10
SCA Description of the Transformation <composite name=WifiComposite> <service name="WifiService" promote="Wifi/WifiService" /> <service name="GenericProxy" promote="LGenericProxy/GenericProxy" /> <component name="Wifi" > ….. </component> <component name="LGenericProxy" > <service name="GenericProxy" > <interface name="eu.tsp.mw.generic.GenericProxy" /> </service> <implementation class="LGenericProxy"/> <reference name="WifiService" target="Wifi/WifiService" /> </component> <component name="MonitoringBySubscriptionComponent"> <service name="PropertyChangedSubscription"> <interface name="eu.tsp.mw.monitoring.PropertyChangedSubscription" /> </service> <service name="PropertyChangedListener"> <interface name="eu.tsp.mw.monitoring.PropertyChangedListener" /> </service> <implementation.java class="eu.tsp.mw.monitoring.MonitoringSubscriptionImpl" /> <reference name="genericProxy" target="LGenericProxy" /> </component> </composite> Monitoring and Adaptation of Component-Based Applications in Pervasive Environment Monitoring and Adaptation of Component-Based Applications in Pervasive Environment Adapt 2011 11
Transformation for File Sender Application Smartphone Laptop Monitoring and Adaptation of Component-Based Applications in Pervasive Environment
Plan Context Motivating Scenario Problem Description Contributions Monitoring and reconfiguration Structural adaptation Conclusion & Future Work Monitoring and Adaptation of Component-Based Applications in Pervasive Environment
Mismatching Context Mismatches are related to: Hardware characteristics of devices Decreasing battery level Reduced storage capacity of memory … Network characteristics of devices Weak signal strength of a network Heterogeneity of connection interfaces … Software characteristics of devices Mismatching between components’ interfaces Heterogeneity of interaction protocols … Need to adapt the abstract application to ensure its execution Monitoring and Adaptation of Component-Based Applications in Pervasive Environment
Structural Adaptation Approach Structural extra-functional adaptation of abstract applications abstract application is transformed by adding adapters An adapter provides an extra-functional behaviour to achieve the execution of the application Interface I Component B Service I Component A Adapter Composite Service I Interface I Monitoring and Adaptation of Component-Based Applications in Pervasive Environment
Adapter Template An extra-functional adapter is described following the adapter template An adapter consists of A generated and compulsory component that encapsulates the adaptation logic An abstract and optional component that provides an extra-functional service Service I Component A Component B Monitoring and Adaptation of Component-Based Applications in Pervasive Environment
Compressor & Decompressor Adapters Chunk Size File Merger File Splitter Weak Signal Strength Monitoring and Adaptation of Component-Based Applications in Pervasive Environment
SCA Description of the Compression Adapter <composite name= "CompressionAdapter"> <component name= "AdaptiveCompression"> <service name="FileReceiverService"> <interface.java interface="FileReceiverInterface"/> </service> <implementation.java type ="Compression" generated="true" /> <referencename="FileReceiverService" target="FileMergerComponent"/> <referencename="CompressionService" /> </component> <component name= "CompressionComponent"> <service name= "CompressionService"> <interface.java interface="CompressionInterface"/> </service> </component> <composite> Monitoring and Adaptation of Component-Based Applications in Pervasive Environment Monitoring and Adaptation of Component-Based Applications in Pervasive Environment Adapt 2011 18
Plan Context Motivating Scenario Problem Description Contributions Monitoring and reconfiguration Structural adaptation Conclusion & Future Work Monitoring and Adaptation of Component-Based Applications in Pervasive Environment
Conclusion & Future Work Extension of SCA Component Model to specify the monitoring and the reconfiguration needs Transformation mechanisms applied for local as well as for remote components Proposal of a structural adaptation approach Implementation of basic components for monitoring, reconfiguration and adaptation Future Work: Proposal of a catalogue for extra-functional adapters Identification of adaptation policies Integrating and evaluation of our prototype into an existing SCA runtime (Frascati ? ...) De-adaptation Monitoring and Adaptation of Component-Based Applications in Pervasive Environment Monitoring and Adaptation of Component-Based Applications in Pervasive Environment Adapt 2011 20
References Hamid Mukhtar, Djamel Belaïd, Guy Bernard Dynamic User Task Composition Based on User Preferences,ACM Transactions on Autonomous and Adaptive Systems (TAAS), February 2011, vol. 6, n° 1. Djamel Belaïd, Imen Ben Lahmar, Hamid MukhtarA Framework for Monitoring and Configuration of Components Using Dynamic Transformation, International Journal On Advances in Software, Vol. 3, No3&4, pages 371 – 384 December 2010. Imen Ben Lahmar, Hamid Mukhtar, and Djamel Belaïd Adapting Abstract Component Applications Using Adaptation PatternsIn Proceedings of the Second International Conference on Adaptive and Self-Adaptive Systems and Applications (Adaptive) 2010, Lisbon, Portugal. Imen Ben Lahmar, Hamid Mukhtar, and Djamel BelaïdMonitoring of Non-Functional Requirements Using Dynamic Transformation of ComponentsIn Proceedings of the 6th International Conference on Networks and Services (ICNS) 2009, Cancun, Mexico. Monitoring and Adaptation of Component-Based Applications in Pervasive Environment Monitoring and Adaptation of Component-Based Applications in Pervasive Environment Adapt 2011 21
Merci de votre Attention Questions ? Monitoring and Adaptation of Component-Based Applications in Pervasive Environment
Transformation for remote Monitoring and Reconfiguration Device A Device B Monitoring and Adaptation of Component-Based Applications in Pervasive Environment
Architectural Description Using Standard SCA <component name="AdaptationPolicy" resource="Software.Component"> <service name="PCNotification"> <interface.java interface="eu.tsp.iaria-example.PCNotificationInterface"/> </service> <reference name="PCSubscriptionService" target="WiFiComposite"/> <reference name="PCSubscriptionService" target="BatteryComposite"/> <reference name="PCSubscriptionService" target="UPnPClientComposite"/> <reference name="GenericProxyService" target="FileSplitterComposite"/> ... </component> Monitoring and Adaptation of Component-Based Applications in Pervasive Environment