190 likes | 281 Views
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. Topics. Motivation SDL Design Patterns Micro Protocols
E N D
Developing Reliable Systems withSDL Design Patterns and Design ComponentsChristian Webel, Ingmar Fliege, Alexander Geraldy,Reinhard GotzheinUniversity of Kaiserslautern{webel, fliege, geraldy, gotzhein}@informatik.uni-kl.de
Topics • Motivation • SDL Design Patterns • Micro Protocols • Comparison • Example: “Airship Control” • Conclusion Christian Webel
1. 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 Christian Webel
1. 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 Christian Webel
2. 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 Christian Webel
2. 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 Christian Webel
2. Adding Reliability through SDL Design Patterns Design pattern Watchdog Christian Webel
2. Adding Reliability through SDL Design Patterns Design pattern Heartbeat Christian Webel
3. 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 Christian Webel
3. 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) Christian Webel
3. 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 Christian Webel
3. 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 Christian Webel
Design Patterns vs. Micro Protocols 4. Comparison Christian Webel
5. 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 !!! Christian Webel
5. Example: “Airship Control” Application of the Heartbeat pattern Christian Webel
5. Example: “Airship Control” Application of the Watchdog pattern Christian Webel
5. 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 Christian Webel
6. 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, … Christian Webel
Thank you for your attention! Questions? Christian Webel