1 / 15

Incorporating Fault Tolerance Tactics in Software Architecture Patterns

Incorporating Fault Tolerance Tactics in Software Architecture Patterns. Neil B. Harrison Paris Avgeriou University of Groningen Groningen, The Netherlands. Background: Architecture Patterns. Commonly used system-level designs Well-known, use common names: Layers Pipes and Filters

eaustin
Télécharger la présentation

Incorporating Fault Tolerance Tactics in Software Architecture Patterns

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Incorporating Fault Tolerance Tactics in Software Architecture Patterns Neil B. Harrison Paris Avgeriou University of Groningen Groningen, The Netherlands

  2. Background: Architecture Patterns • Commonly used system-level designs • Well-known, use common names: • Layers • Pipes and Filters • Model-View Controller • Most systems have architecture patterns • Even if they weren’t intentionally used

  3. Fault Tolerance Tactics • Tactics – ways to implement aspects of fault tolerance • Fault Tolerance Tactic categories (as defined by SEI): • Fault Detection • Fault Recovery: Preparation and Repair • Fault Recovery: Reintroduction • Prevention • Tactics and Architecture Patterns: • Tactics are implemented within the architecture pattern structure

  4. Implementing FT Tactics • Implementing a tactic affects the system’s architecture • A little or a lot! • Making it easy or hard to implement fault tolerance correctly • Therefore, we studied the impact of tactics on architecture patterns • In detail! • So we can make better architecture decisions, e.g.: • Which patterns to use • Which tactics to use

  5. Details: Why and What? • Why: • Patterns often indicate high level suitability for fault tolerance • But impact is different, depending on the tactic • So more granularity is needed • What kind of details? • Focus on how much must the pattern change • Structure and behavior

  6. Changes to Pattern Components

  7. Changes to Pattern Connectors

  8. Quantifying Impact on Patterns • Create a relative scale of difficulty • Every Pattern/Tactic implementation must be considered individually, but guidelines are:

  9. Ease of Tactic Implementation (Sample)

  10. Patterns and Implementing Tactics

  11. Tactic Groups, Best Case

  12. Using the Data • Deciding which architecture pattern to use • Consider alternatives (e.g., Broker vs. Client-Server) • Only one of many factors • Deciding which tactics to implement • Consider alternative tactics • Understand implementation implications • For tradeoffs (above) • For implementing the tactics

  13. Sample Tactic Implementation Details • Tactic: Ping/Echo (Fault Detection) • Pipes and Filters: (rating: - -) • A central monitoring process must be added to communicate with each filter. • Each filter must be modified to respond quickly to the ping messages. • Affects the structure of the pattern and may conflict with realtime performance. • (summary) Add out of the Pattern, along with moderate changes to each filter component

  14. Future Work • More patterns and tactics • Other Architecture patterns • Other Fault Tolerance tactics • Interactions of combinations of: • Multiple Tactics • Multiple Patterns • Multiple Quality Attributes • Investigate behavior in more depth • E.g., Ping-echo has time-sensitive messages

  15. Thank you for your attention

More Related