Title: Developing Reliable Systems with SDL Design Patterns and Design Components Christian Webel, Ingmar Fliege, Alexander Geraldy, Reinhard Gotzhein University of Kaiserslautern {webel, fliege, geraldy, gotzhein}@informatik.uni-kl.de
1Developing Reliable Systems withSDL Design
Patterns and Design ComponentsChristian
Webel, Ingmar Fliege, Alexander Geraldy,Reinhard
GotzheinUniversity of Kaiserslauternwebel,
fliege, geraldy, gotzhein_at_informatik.uni-kl.de
2Topics
- Motivation
- SDL Design Patterns
- Micro Protocols
- Comparison
- Example Airship Control
- Conclusion
31. Motivation
- Problem
- solution from scratch
- existing systems lack of reliability
- difficult to integrate reliability
- Solution
- defining SDL design patterns and design
components - using these software artefacts to augment system
reliability step-by-step - reuse
- SDL as a design language to develop reliable
systems
41. Motivation
- Concepts
- Reliability
- ability of a system to perform its tasks under
given conditions for a certain period of time - Watchdog
- component or functionality monitoring the
operation of a system by observing an
alive-signal - Heartbeat
- component or functionality sending a periodic
alive-signal
52. Adding Reliability through SDL Design Patterns
- generic solution for recurring design problems
- reusable software artefact
- SDL as design language
- to be selected, adapted and embedded
62. Adding Reliability through SDL Design Patterns
- B provides data for A
- B needs to be monitored by A
- A is refined by applying the Watchdog pattern
- B by applying the Heartbeat pattern
72. Adding Reliability through SDL Design Patterns
82. Adding Reliability through SDL Design Patterns
93. Adding Reliability through Micro Protocols
- encapsulate a single (distributed protocol)
functionality using a specific mechanism - self-contained and ready-to-use
- well-defined interfaces (operators)
- can be composed yielding macro protocols
103. Adding Reliability through Micro Protocols
- A, B, Watchdog and Heartbeat as described
- ready-to-use solutions, no modifications within A
or B needed - useful if A or B cannot or should not be modified
(e.g. 3rd party components)
113. Adding Reliability through Micro Protocols
- Micro protocol
- Watchdog
- one single process type
- may be refined to match the requirements of the
embedding context - needs a periodic trigger alive
123. Adding Reliability through Micro Protocols
- Micro protocol
- Heartbeat
- one single process type
- may be refined to match the requirements of the
embedding context - provides a periodic trigger alive
134. Comparison
- Design Patterns vs.
Micro Protocols
Advantages Advantages
no change of the system architecture necessary optimization of heartbeat traffic reusable solution no change of the behaviour of the other system components necessary ready-to-use solution reusable solution
Disadvantages Disadvantages
engineering knowledge required change of the system architecture necessary
145. Example Airship Control
- application to control an airship via WLAN
- two parts
- airshipClienttransmits the control values to the
airship - airshipServerreceives the values and controls
the airship hardware - reliability is needed !!!
155. Example Airship Control
- Application of the Heartbeat pattern
165. Example Airship Control
- Application of the Watchdog pattern
175. Example Airship Control
- Using the Watchdog and Heartbeat Micro Protocols
- selected and glued together
- Watchdog
- redefine timeout-transition
- add stop-transition
- Heartbeat
- just select and integrate
- also possible to use design patterns und micro
protocols together
186. Conclusion
- systematic approach to augment existing systems
with reliability aspects - reuse and reliability (design patterns, micro
protocols) - Outlook
- Validation
- Compositional testing
- Each component tested
- Resulting system tested for composition faults
- Developing more micro protocols
- QoS, Routing, Scheduling, Medium Access, Flow
Control,
19- Thank you for your attention!
- Questions?