1 Developing Reliable Systems with SDL Design Patterns and Design Components Christian Webel, Ingmar Fliege, Alexander Geraldy, Reinhard Gotzhein University of Kaiserslautern {webel, fliege, geraldy,
Christian Webel 2 Topics 1.Motivation 2.SDL Design Patterns 3.Micro Protocols 4.Comparison 5.Example: “Airship Control” 6.Conclusion
Christian Webel 3 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 4 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 5 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 6 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 7 2. Adding Reliability through SDL Design Patterns Design pattern Watchdog
Christian Webel 8 2. Adding Reliability through SDL Design Patterns Design pattern Heartbeat
Christian Webel 9 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 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 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 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 13 Design Patterns vs. Micro Protocols 4. Comparison 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 engineering knowledge required change of the system architecture necessary
Christian Webel Example: “Airship Control” application to control an airship via WLAN two parts: –airshipClient transmits the control values to the airship –airshipServer receives the values and controls the airship hardware reliability is needed !!!
Christian Webel Example: “Airship Control” Application of the Heartbeat pattern
Christian Webel Example: “Airship Control” Application of the Watchdog pattern
Christian Webel 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 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 19 Thank you for your attention! Questions?