Presentation is loading. Please wait.

Presentation is loading. Please wait.

Hints for Building Self-. Systems Vijay K

Similar presentations


Presentation on theme: "Hints for Building Self-. Systems Vijay K"— Presentation transcript:

1 Hints for Building Self-. Systems Vijay K
Hints for Building Self-* Systems Vijay K. Garg The University of Texas at Austin Austin, TX

2 Talk Outline Overview Hints for Self-* Systems Paradise
Specify: Know your goals Observe: Know your state Keep choices: Know multiple ways Plan: Know your strategy Control: reconfigure, reset, reorganize, adapt Paradise

3 Specify: Know your goals
Biological Systems: goals at multiple levels Survival, happiness, money, job Computer Systems are not aware of their goals At best, we have specs of the programs Need Specs at multiple levels Using Specs for Runtime Verification Adapting to the environment

4 Observe: Know your state
Self-awareness: is the state consistent with goals? Monitoring for system properties Stable Properties e.g. [Chandy,Lamport 85] Unstable Properties Single State based e.g. Linear Predicates [Chase, Garg 95], Relational Predicates [Tomlinson, Garg 96] Temporal Logic based e.g. Regular CTL [Sen, Garg 04] Need: Integration with runtime environments

5 Choices: Know multiple ways
Determinism considered dangerous Nondeterminism allows the system to deal with Faults Uncertainty Changing environment Need Nondeterministic choice in general prog. Languages (e.g. Dijkstra’s Guarded Command Language) Support for selective communication (e.g. CSP) Support for family of modules

6 Plan: Know your strategy
Know your state space Exploit what computers are good at View program as two parts Finite state part: computer analyzable Infinite part: trust humans Lookahead Execution Computation slicing [Garg, Mittal 2001] Need Support for systems with lookahead Support for on-the-fly model checking

7 Control: Controlled Execution
Use nondeterminism to your advantage Try different order of message processing Impose additional synchronization [Tarafdar, Garg 04] Supervisory Control of Discrete Event Systems [Ramadge and Wonham 89, Kumar and Garg 95] Tunable parameters (adaptive control) Need execution environments with control Programming languages that support feedback

8 Paradise Project Key Abstraction: Global Properties
Model Checking and Verification: Check global properties against model of the program (Promela) Simulation and Debugging: Global breakpoints, Trace analysis Fault-Tolerance: Monitoring for global properties, Controlled Re-execution methodology => fusion of some of the best ideas from the digital hardware and software engineering worlds Development => model-centric System model => executable Monitoring for global properties => Online property checking

9 Paradise Environment Predicate Slicer Observe Program Monitor Control

10 Paradise Tools Trace Cover SPIN (Model Checker): alleviating state explosion Visual Dashboard Partial Order Trace Analysis (POTA): slicing Paradise Library: tracking dependency, global snapshot, global properties Paradise Execution Engine: control

11 Conclusions Current execution engines are too primitive to build self-* systems Need more knowledge Goals, multiple choices, current state Research at PDSLAB Restricted predicates ?


Download ppt "Hints for Building Self-. Systems Vijay K"

Similar presentations


Ads by Google