1 / 11

An Aspect-Oriented Approach to Dynamic Adaptation

An Aspect-Oriented Approach to Dynamic Adaptation. August 8, 2002 Presented by: Sherri Goings Advisors: Dr. Dillon, Dr. Cheng, Dr. Stirewalt SENS Lab www.cse.msu.edu/sens. What is Dynamic Adaptation?. Traditional programs defined at compile time, code cannot be changed at run-time

ita
Download Presentation

An Aspect-Oriented Approach to Dynamic Adaptation

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. An Aspect-Oriented Approach to Dynamic Adaptation August 8, 2002 Presented by: Sherri Goings Advisors: Dr. Dillon, Dr. Cheng, Dr. Stirewalt SENS Lab www.cse.msu.edu/sens

  2. What is Dynamic Adaptation? • Traditional programs • defined at compile time, • code cannot be changed at run-time • Dynamically adaptiveprograms • Code may change at run-time • Changes are triggered by environmental conditions

  3. Dynamic Adaptation • Concerns that warrant dynamic adaptation include • Quality of Service (QoS) • Security • Error Logging • Such concerns are cross-cutting in nature • Code is scattered throughout program • Difficult to read, understand, debug, and modify

  4. Example of tangled code • Code in red pertains to Error Logging • Spread throughout the program

  5. Aspects • Mechanisms used to collect and extract scattered but related code • Aspect can be woven into existing code at compile time • Code in Aspect is automatically scattered • This enables extension of existing programs functionality to handle a new concern • No need to modify original code

  6. Code in aspectJ • Code for Error Logging has been pulled out into its own class

  7. How does AOP apply to Dynamic Adaptation? • Start with a traditional program • Core program • Use aspects to • Make program ready for adaptation • Adapt-ready program • Define the dynamic adaptations • E.g. add security, improve QoS • At run-time the program adapts to changes in environmental conditions

  8. AOP applied to Dynamic Adaptation

  9. Conclusions • Using aspects to achieve dynamic-adaptation allows • Separation of application code from adaptation code • Run-time changes in functionality of original program without modifying core program

  10. References • Tzilla Elrad, Robert E. Filman, and Atef Bader. Aspect-oriented programming. In Communications of the ACM, October 2001-Volume 44, Number 10, pp29-32. • Gregor Kiczales, Erik Hilsdale, Jim Hugunin, Mik Kersten, Jeffrey Palm, and William G. Griswold. Getting started with aspectJ. In Communications of the ACM, October 2001-Volume 44, Number 10, pp59-65. • Z. Yang, B.H.C. Cheng, R.E.K. Stirewalt, J. Sowell, S.M. Sadjadi, and P.K. McKinley. An Aspect-Oriented Approach to Dynamic Adaptation. SENS lab, CSE dept., MSU • http://aspectj.org/

  11. Acknowledgements • Special thanks to • Masoud Sadjadi • Zhenxiao Yang • Jesse Sowell • Supported by • MSU College of Engineering • National Science Foundation Grant • For further info please visit http://www.cse.msu.edu/rapidware

More Related