SelfAdaptive Automata Aimee Borda Lero Trinity College Dublin
Self-Adaptive Automata Aimee Borda (Lero & Trinity College Dublin) Vasileios Koutavas (Lero & Trinity College Dublin) ∗This work was supported by Science Foundation Ireland grants 13/RC/2094 (Lero) and 15/SIRG/3501 and European Research Council Advanced Grant no. 291652 (ASAP).
Self-Adaptive Systems • Systems with the “ability to adapt at run-time to changing user needs, system intrusions or faults, changing operational environment, and resource variability” Adaptation Manager A P M E • “Has been proposed as a means to cope with the complexity of todays softwareintensive systems” (Dagstuhl Seminar 10431) Managed System 2
Search Operation by Unmanned Vehicles Requirements: 1. No Collisions 2. Vehicles stay in search area 3. Eventually search the whole area 3
Search Operation by SA Unmanned Vehicles Coordinator Adaptation Pattern (collision avoidance, …) Vehicles 4
Time-Triggered Adaptation Every 3 time units Coordinator (collision avoidance, …) T 0 T 1 T 2 T 3 5
Time-Triggered Adaptation Every 10 time units Coordinator (collision avoidance, …) T 0 T 1 T 2 T 3 T 4 6
Event-Triggered Adaptation Vehicles are dangerously close to each other Coordinator (collision avoidance, …) 7
Adaptation Pattern is crucial! Execution points where adaptation is triggered • Time-based, event-based, history-based… • Important (for correctness) • Necessary (for implementation) Adaptation Manager Managed System 8
Goal: Enable Experimentation and Verification of Adaptation Patterns • Model at a high-level of abstraction • Modularity: localise adaptation pattern • Leverage existing verification technology Adaptation Manager Adaptation Pattern Managed System 9
Our Model: Self-Adaptive Automata (SAA) Adaptation: distinguished Base Model symbol SAA Adaptation pattern SAA Adaptation Manager Adaptation Pattern ★ Managed System Must-Adapt May-Adapt 10
Our Model: Self-Adaptive Automata (SAA) Adaptation Manager • Managed System 11
Model: Self-Adaptive Automata Operational semantics • • 12
Modelling the Adaptation Pattern with SAA Adaptation pattern Base Model SAA Adaptation Manager Adaptation Pattern ★ Managed System May-Adapt 13
Implementing the Adaptation Pattern with SAA Time-Triggered (every 3 time units) Coordinator T 0 T 1 T 2 T 3 14
Modelling the Adaptation Pattern with SAA Time-Triggered (every 3 time units) Adaptation Pattern Enabled �-transition is the only outgoing transition Must-Adapt 15
Modelling the Adaptation Pattern with SAA Event Triggered: Vehicles are dangerously close to each other Coordinator 16
Modelling the Adaptation Pattern with SAA Event Triggered: Vehicles are dangerously close to each other Adaptation Pattern Enabled �-transition is the only outgoing transition Must-Adapt 17
Self-Adaptive System Adaptation pattern Base Model SAA Coordinator ★ Vehicles Must-Adapt May-Adapt 18
Verifying Adaptation Patterns Translation to FDR (a refinement-based verification tool) 19
Refinement-based Verification SAA Adaptation Manager SAA Adaptation Pattern (refines) Requirement System TRANSLATION! (refines) Requirement 20
Refinement-based Verification SAA Adaptation Manager SAA Adaptation Pattern Translation is a bisimulation System (refines) Requirement 21
Translation: SAA �FDR • SAA Adaptation Manager Q 0, 1, 2… (FDR States) �� a, b, c… (FDR Events) δ ẟ(0) = a �ẟ(1) ☐ b �ẟ(2) �(0) �STOP Managed System adapt + state FDR parallel &interrupt 22
Verifying different Adaptation Patterns Coordinator Event. Triggered Time. Triggered (10 steps) Time. Triggered (3 steps) Vehicles No Collision Vehicles Stay In Area Search All Area 23
Expressivity of SAA 24
Model: Self-Adaptive Automata Operational semantics • • 25
SAA vs other self-modifying Models SMFA [Schutt et al 1994] SAA + Compact representation of dynamic behaviour + Add significant expressivity to base Model - No verification tools + Compact representation of dynamic behaviour - Does not add expressivity to base Model + Leverage existing verification tools Proven through a bidirection Translation to Execution Monitor Translation to FDR (see paper) 26
Conclusion • High-level Model for Self-Adaptive Systems • Modularizes Adaptation patterns • Enables experimentation with Adaptation Patterns Adaptation Manager Adaptation Pattern • Leverage existing verification technologies • Enables verification of Adaptation Patterns Managed System • Future Work: improve usability, use other verification technologies 27
Thank you! Questions? 28
- Slides: 28