Self adaptive software
1 / 19

Self Adaptive Software - PowerPoint PPT Presentation

  • Updated On :

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 (

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

PowerPoint Slideshow about 'Self Adaptive Software' - annice

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Self adaptive software l.jpg

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 (

Self adaptive software2 l.jpg

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.

Adaptation and embedded systems l.jpg

Adaptation and Embedded systems

Continuously running Applications

Changes in Environment

paint of a room.

network traffic.

Can Serve multiple purpose by changing behavior

Issues for adaptation l.jpg

Issues for adaptation

What Conditions?

Open or Closed adaptation

Type of autonomy


Cost Effectiveness

Information Type and Accuracy

Software adaptation in the large l.jpg

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.

Software adaptation in the large7 l.jpg

Life Cycle

Change app. s/w.

Software Adaptation in the Large

Evolution management lower wheel l.jpg

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

Dynamic software architectures c2 l.jpg

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

Dynamic software architectures weaves l.jpg

Object flow centric architecture

Object as input – object as output

Blind communication

Dynamic software Architectures - Weaves

Similarities weaves c2 help adaptation l.jpg

Distinguishes between components and connectors

Neither places restriction on granularity of components

Asynchronous communication

Similarities Weaves / C2 (help adaptation)

Maintaining consistency and system integrity l.jpg

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

Enacting changes l.jpg

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

Adaptation management upper wheel l.jpg

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

Collecting observations l.jpg

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

Evaluation and monitoring l.jpg

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

Planning changes l.jpg

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

Deploying change description l.jpg

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

Thank you questions comments l.jpg

Thank you….

Questions ?