1 / 19

Self Adaptive Software

Self Adaptive Software. An Architecture-Based Approach to Self-Adaptive Software - P eyman Oreizy, Michael M. Gorlick, Richard N. Taylor, Dennis Heimbigner, Gregory Johnson, Nenad Medvidovic, Alex Quilici,David S. Rosenblum, and Alexander L. Wolf Presenter : Viral Mehta (vmehta@usc.edu).

annice
Download Presentation

Self Adaptive Software

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. Self Adaptive Software An Architecture-Based Approach to Self-Adaptive Software - Peyman Oreizy, Michael M. Gorlick, Richard N. Taylor, Dennis Heimbigner, Gregory Johnson, Nenad Medvidovic, Alex Quilici,David S. Rosenblum, and Alexander L. Wolf Presenter : Viral Mehta (vmehta@usc.edu)

  2. Self Adaptive Software “Software that modifies its behavior in response to changes in its operating environment – end user input ,external hardware device and sensors” Eg: Fleet of unmanned air vehicles.

  3. Adaptation and Embedded systems Continuously running Applications Changes in Environment paint of a room. network traffic. Can Serve multiple purpose by changing behavior

  4. Issues for adaptation What Conditions? Open or Closed adaptation Type of autonomy Frequency Cost Effectiveness Information Type and Accuracy

  5. Spectrum of self - adaptability

  6. Software Adaptation in the Large Developing a compressive adaptation methodology that spans adaptation in the small to adaptation in the large, and then develop the technology that support the entire range of adaptations.

  7. Life Cycle Change app. s/w. Software Adaptation in the Large

  8. Evolution Management (lower wheel) Process by which changes are applied, controlled and verified. Entities / Phases: Dynamic software Architectures C2 / Weaves Maintaining consistency and system integrity Architecture evolution manager Enacting changes Editors / Interpreter

  9. Components are arranged in a hierarchy Service requested form above components Notifications to components below Flexible Components - do not share a common address space / common thread of control Dynamic software Architectures - C2

  10. Object flow centric architecture Object as input – object as output Blind communication Dynamic software Architectures - Weaves

  11. Distinguishes between components and connectors Neither places restriction on granularity of components Asynchronous communication Similarities Weaves / C2 (help adaptation)

  12. Maintaining consistency and System integrity Ongoing adaptations continuously threatens system safety, reliability and correctness Strict correspondence between the architectural model and the executing implementation required. Architecture evolution manager (AEM) changes – single / Transaction Maintains consistency between the architectural model and implementation as changes are applied Prevents changes from violating architectural constraints. eg. Each component has to be connected to a connector

  13. Enacting Changes Architecture editor Used to construct architecture and describe modification. Eg. Visio Design Editor critiques as arch is built – prevent semantic errors / ensure min amount of safety Modification interpreter to interpret change scripts

  14. Adaptation Management (upper wheel) Describes the life cycle of adaptive software systems Monitors and evaluates the application and its operating environment Plans adaptation Deploys change description to running application

  15. Collecting observations Embedded assertions (inline observers) resource shortage ,violation of low level constrained Expectation agent responds to the occurrence of event pattern Surrounding events Availability of network connection Human observers

  16. Evaluation and monitoring Inconsistencies can occur when some architectural element behaves in a manner inconsistent with the required behavior or when an elements assumption about its environment becomes invalid Static analysis Attributed graph grammar Dynamic analysis runtime checks using observers

  17. Planning changes Observation planning Determines which observations are necessary for deciding when and where adaptations are required. Takes in to account environmental assumptions, expected behaviors, availability of observers, and their costs Adaptation Planning Determines which adaptations to make and when For faster reaction : Predefined solution framework

  18. Deploying change description Change agents Propagate among various sites to make required changes carry with them the new components / connectors coordinated changes at multiple sites

  19. Thank you…. Questions ? Comments?

More Related