View Full Document

An Aspect-Oriented Approach to Dynamic Adaptation



View the full content.
View Full Document
View Full Document

12 views

Unformatted text preview:

An Aspect Oriented Approach to Dynamic Adaptation Betty H C Cheng Software Engineering and Network Systems Lab Department of Computer Science and Engineering Michigan State University http www cse msu edu SENS Co Authors Z Yang K Stirewalt M Sadjadis J Sowell and P McKinley This work is supported in part by grants from NSF EIA 0000433 EIA 0130724 CCR 9901017 CCR 9984726 ONR N00014 01 1 0744 1 Observations from yesterday One size does not fit all u Different types of adaptation for different needs Adaptation may occur at different levels of abstraction u Architecture vs Infrastructure Design for adaptation vs retrofitting legacy system Internal vs external monitoring for adaptation 2 Highlights of Our Approach Infrastructure Abstractions u u Objective Self healing abstractions u u Extend abstractions to make them adaptable to environmental changes Example Multicast socket extension pipes data through filters Observation u u Through which applications interact with environment Example multicast sockets Self healing version may require changes to API Thus potentially affecting compatibility with client code AOP enables non invasive migration to new abstractions u u Modify call sites to use new abstractions Maintain traceability to original program 3 The Big Picture 4 The Big Picture Core Program Adapt Ready Program Dynamically Adaptive Process Multicastsocket receive Multicastsocket send cd getFilterChain receive cd getFilterChain receive RecverFilterChain cd getFilterChain send DESDecoder Filter R1 cd getFilterChain send SenderFilterChain Aspects DESEncoder Filter S1 FilterChainController cd getFilterChain receive cd getFilterChain send Development Time Compile Time Encryption AM Run Time 5 Target Applications What applications are we targeting u u General online distributed collaborative applications Specific example in paper Java based online conferencing Self healing scenarios u Intrusion scenarios u Detect 1 participant from unknown IP address joins in conferencing Correct 1 insert encryption decryption software to secure all transmissions Detect 2 malicious user sends flooding messages Correct 2 insert a piece of new code that filters flooding messages QoS scenario Detect 3 network becomes overly crowded causing many messages to be lost Correct 3 insert FEC forward error correction facilities and tune FEC parameters 6 Meaning of Self Healing What does self healing mean to us u u When an application encounters changes in the environment that lead to undesirable behavior service degradation security violation etc It can adapt the application to account for the changes in the environment by introducing new code or removing previously inserted code at runtime 7 Scope of Self Healing What part of the self healing problem are we dealing with u u u Detection determine when changes in the environment result in undesirable behavior Correction adapt application at runtime to respond to environmental conditions Programming language use existing language features to support the incorporation of selfhealing abstractions into existing code 8 Relevant Papers Eric P Kasten Philips K McKinley Seyed Masoud Sadjadi and R E Kurt Stirewalt Separating introspection and intercession in metamorphic distributed systems In Proceedings of the IEEE Workshop on Aspect Oriented Programming for Distributed Computing with ICDCS 02 Vienna Austria July 2002 Gordon Blair Geoff Coulson and Nigel Davies Adaptive middleware for mobile multimedia applications In Proceedings of the 8th International Workshop on Network and Operating System Support for Digital Audio and Video NOSSDAV pages 259273 1997 Ian Welch and Robert Stroud Dynamic adaptation of the security properties of applications and components In ECOOP Workshop on Distributed Object Security Brussels Belgium 1998 Israel Ben Shaul Ophir Holder and Boris Lavva Dynamic adaptation and deployment of distributed components in Hadas IEEE Transactions on Software Engineering 27 9 769 787 September 2001 9 Details of Example Application Rule of Adaptation Detect out of time Correct skip remaining slides 10 Adaptive Conference Application Online conferencing application Dynamic Adaptation Phases u Phase I making it adapt ready u Define adaptation points Insert adaptation infrastructure Phase II runtime adaptation Check conditions from rule base Dynamically load code if conditions are satisfied 11 Phase I Define Adaptation Points pointcut receive MulticastSocket ms DatagramPacket dp target ms args dp call public MulticastSocket receive DatagramPacket 12 Phase I cont d Insert Adaptation Infrastructure FilterChainController Specific Filter e g FEC Encryption 13 Phase II Runtime adaptation Check rule base u u Comprising condition action pairs An Example Rule DESController ippattern 35 9 20 19 action edu msu cse sens conf name condition action adapt security crypto InsertDESFilters Load new code as dictated by action 14 AOP Based Dynamic Adaptation Where When How 15 Conclusions and Future Work The AOP based dynamic adaptation u u uses rules to direct dynamic adaptation fully separates application code from dynamic adaptation concern Future Work u u A generic way to define adaptation points Other rule based dynamic adaptation frameworks besides the AOP based approach 16 References 1 Z Yang B H C Cheng K Stirewalt M Sadjadis J Sowell and P McKinley An aspect oriented approach to dynamic adaptation in Proceedings of the ACM SIGSOFT Workshop on Self 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 1997 17


Access the best Study Guides, Lecture Notes and Practice Exams

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 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?