Rabeea

advertisement
Self-Managed Systems: an
Architectural Challenge
Presented by:
Rabeea Bakhsh
3/23/2010
Paper by:
Jeff Kramer and Jeff Magee
Agenda









Self-Management
Self-Managed VS. Professionally Managed
Problem
Solution
Benefits
Challenges
Related Work
Conclusion
Discussion
SELF-MANAGEMENT
Self-Management
Self-management is put forward as one of the
means by which we could provide systems that
are scalable, support dynamic composition and
rigorous analysis, and are flexible and robust in
the presence of change
 Self-management is capable of

◦
◦
◦
◦
◦
◦
self-configuration
self-adaptation
self-healing
self-monitoring
self-tuning
self-* (autonomic systems)
SELF-MANAGED VS.
PROFESSIONALLY
MANAGED
Self-Managed VS. Professionally
Managed


Self-Managed = Automatically Managed
Professionally Managed = Manually Managed
◦ Helps identify what must be changed
◦ Provides context for reasoning about specifying, and
implementing change
◦ Controls change to preserve system integrity

The driving factors:
◦
◦
◦
◦
◦
Save money
Intelligent
Dedication
Easy to deal with
Lose control
PROBLEM
Problem

What if the system suffers from changes in its
requirements specification or operational environment?
◦ Self-adaptation
◦ Self-healing
◦ Offline process
SOLUTION
Solution
Component Control
Consists of sensors, actuators, control
loops, and set of interconnected
components
 Functionalities:

◦ Report the current status of components to
higher layers
◦ Maintain component creation, deletion and
interconnection
◦ Support self-tuning algorithms
Change Management
Consists of a set of plans which are activated in
response to changes of the operating state of the
underlying system
 Functionalities:

◦
◦
◦
◦
◦
◦
Introduce new components
Recreate failed components
Change component interconnections
Change component operating parameters
React to changes in state
Report from the lower levels and executes plans that
select new control behaviors and set new operating
parameters for existing control layer behaviors
Goal Management
Consists of time consuming computations,
re-planning, produces plan to achieve the
goal
 Functionalities

◦ Produce change management plans
◦ Find the most useful resources to create new
components
BENEFITS
Benefits
Generality
 Level of abstraction
 Potential for scalability
 Builds on existing work
 Potential for an integrated approach

CHALLENGES
Component Control
Ensure that state information is not lost
when the configuration is modified
 Find scalable algorithms that minimize
disruption to the system during change
 Verify that safety properties are not
violated during change

Change Management

Deal with distribution and decentralization
◦ First attempt to deal with this resulted in a change
architecture with completely decentralized change
execution
Find change management algorithms that can
tolerate inconsistency and terminate in a
system that satisfies constraints
 Ensure that the system does not violate safety
constraints while it is converging on a stable
state

Goal Management



Achieve goal specification such that it is both
comprehensible by human users and
machine readable
Take a snapshot of the current state of the
system and produces a change plan which
moves the system from its current state to a
state which satisfies the system goals
Produce a set of plans that can be
dynamically configured
RELATED WORK
Related Work

SASSY (Self-Architecting Software SYstem)
◦ A model driven framework for run-time self-architecting and rearchitecting of distributed software systems
◦ Approach is self-healing, self-managing and self-optimizing

FUSION (FeatUre-oriented Self-adaptatION)
◦ A model driven framework for run-time self-adaptation
◦ Approach is self-adaptation and self-managed

Autonomic Computing
◦ Computing systems that manage themselves given high-level
objectives
◦ The essence of autonomic computing systems is selfmanagement
CONCLUSION
Conclusion


Self-managed software architecture is one in which components
automatically configure their interaction in a way that is compatible
with an overall architectural specification and achieves the goals of
the system
Component Control Layer
◦ Execute architecture and implements the run-time adaptation
◦ The main challenge is to provide change management which reconfigures the
software components, ensures application consistency and avoids undesirable
behavior

Change Management Layer
◦ Execute the change in response to changes in state reported from lower layer
◦ The main challenge is that decentralized configuration management is required

Goal Management Layer
◦ Planning for change – often human assisted
◦ The main challenge is that some form of online planning is required
DISCUSSION
Discussion

What are the main differences between SelfManaging and Self-Architecting?
SASSY (Self-Architecting Software SYstem)
SMSSY (Self-Managing Software SYstem)
Download