DOC PREVIEW
An Aspect-Oriented Approach to Dynamic Adaptation

This preview shows page 1-2-3-4-5-6 out of 17 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 17 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 17 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 17 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 17 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 17 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 17 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 17 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

1An Aspect-Oriented Approachto Dynamic AdaptationBetty H.C. ChengSoftware Engineering and Network Systems LabDepartment of Computer Science and EngineeringMichigan State Universityhttp://www.cse.msu.edu/SENSCo-Authors: Z. Yang, K. Stirewalt, M. Sadjadis, J. Sowell, and P. McKinleyThis work is supported in part by grants from NSF (EIA-0000433, EIA-0130724,CCR-9901017, CCR-9984726), ONR (N00014-01-1-0744)2Observations fromyesterday…● “One size does not fit all”u Different types of adaptation for different needs● Adaptation may occur at different levels ofabstraction:u “Architecture” vs “Infrastructure”● Design for adaptation vs retrofitting legacy system● Internal vs external monitoring for adaptation3Highlights of Our Approach● Infrastructure Abstractions:u Through which applications interact with environmentu Example: multicast sockets● Objective: Self-healing abstractionsu Extend abstractions to make them adaptable to environmental changes.u Example: Multicast socket extension pipes data through filters.● Observation:u Self-healing version may require changes to APIu Thus potentially affecting compatibility with client code● AOP enables non-invasive migration to newabstractionsu Modify call sites to use new abstractionsu Maintain traceability to original program4The Big Picture5The Big PictureRun TimeDevelopment TimeCore ProgramMulticastsocket.receiveMulticastsocket.sendFilterChainControllercd.getFilterChain().receive(…)cd.getFilterChain().send(…)AspectsAdapt-Ready Programcd.getFilterChain().receive(..)cd.getFilterChain().send(..)Compile TimeRecverFilterChainFilter R1DESDecoderSenderFilterChainFilter S1DESEncodercd.getFilterChain().receive(..)cd.getFilterChain().send(..)Dynamically Adaptive ProcessEncryptionAM6Target Applications● What applications are we targeting?u General: online, distributed, collaborative applicationsu Specific example in paper: Java-based online conferencing● Self-healing scenarios:u Intrusion scenarios:› Detect 1: participant from unknown IP address joins in conferencing› Correct 1: insert encryption/decryption software to secure alltransmissions› Detect 2: malicious user sends flooding messages› Correct 2: insert a piece of new code that filters flooding messagesu QoS scenario:› Detect 3: network becomes overly crowded, causing many messagesto be lost› Correct 3: insert FEC (forward error correction) facilities and tuneFEC parameters7Meaning of Self-Healing● What does "self-healing" mean to us?u When an application encounters changes in theenvironment that lead to undesirable behavior(service degradation, security violation, etc.),u It can adapt the application to account for thechanges in the environment by introducing newcode or removing (previously inserted) code atruntime8Scope of Self-Healing● What part of the self-healing problemare we dealing with?u Detection: determine when changes in theenvironment result in undesirable behavioru Correction: adapt application at runtime torespond to environmental conditionsu Programming language: use existing languagefeatures to support the incorporation of self-healing abstractions into existing code.9Relevant Papers● Eric P. Kasten, Philips K. McKinley, Seyed Masoud Sadjadi, and R. E. Kurt Stirewalt.Separating introspection and intercession in metamorphic distributed systems. InProceedings of the IEEE Workshop on Aspect-Oriented Programming for DistributedComputing (with ICDCS'02), Vienna, Austria, July 2002.● Gordon Blair, Geoff Coulson, and Nigel Davies. Adaptive middleware for mobilemultimedia applications. In Proceedings of the 8thInternational Workshop on Networkand Operating System Support for Digital Audio and Video (NOSSDAV), pages 259-273, 1997.● Ian Welch and Robert Stroud. Dynamic adaptation of the security properties ofapplications and components. In ECOOP Workshop on Distributed Object Security,Brussels, Belgium, 1998.● Israel Ben-Shaul, Ophir Holder, and Boris Lavva. Dynamic adaptation and deploymentof distributed components in Hadas. IEEE Transactions on Software Engineering,27(9):769-787, September 2001.10Details of Example ApplicationRule of Adaptation:<Detect: out of time,Correct: skip remaining slides>11Adaptive ConferenceApplication● Online conferencing application● Dynamic Adaptation Phasesu Phase I: making it adapt-ready› Define adaptation points› Insert adaptation infrastructureu Phase II: runtime adaptation› Check conditions from rule base› Dynamically load code if conditions are satisfied12Phase I● Define Adaptation Pointspointcut receive(MulticastSocket ms,DatagramPacket dp):target(ms)&& args(dp)&& call(public **..MulticastSocket.receive(DatagramPacket));13Phase I – cont’d● Insert Adaptation InfrastructureFilterChainControllerSpecific Filter(e.g., FEC, Encryption)14Phase II● Runtime adaptation● Check rule base:u Comprising <condition,action> pairsu An Example RuleDESController= % nameippattern=35.9.20.19 % condition&action=edu.msu.cse.sens.conf. % actionadapt.security.crypto.InsertDESFilters● Load new code as dictated by action15AOP-Based Dynamic AdaptationWhen?How?Where?16Conclusions and Future Work● The AOP-based dynamic adaptationu uses rules to direct dynamic adaptationu fully separates application code from dynamicadaptation concern●Future Worku A generic way to define adaptation pointsu Other rule-based dynamic adaptation frameworksbesides the AOP-based approach17References[1] Z. Yang, B. H. C. Cheng, K. Stirewalt, M. Sadjadis, J. Sowell,and P. McKinley, "An aspect-oriented approach to dynamicadaptation," in Proceedings of the ACM SIGSOFT Workshop onSelf-Healing Systems (WOSS02), Nov. 2002.[2] G. Kiczales, J. Lamping, A. Menhdhekar, C. Maeda, C. Lopes, J.-M.Loingtier, and J. Irwin, "Aspect-oriented programming," in ECOOP'97 Object-Oriented Programming 11th European Conference,"Finland (M. Aksit and S. Matsuoka, eds.), vol. 1241, pp. 220-242,New York, NY: Springer-Verlag,


An Aspect-Oriented Approach to Dynamic Adaptation

Download An Aspect-Oriented Approach to Dynamic Adaptation
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view An Aspect-Oriented Approach to Dynamic Adaptation and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view An Aspect-Oriented Approach to Dynamic Adaptation 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?