Robust Design Strategies II - PowerPoint PPT Presentation

About This Presentation
Title:

Robust Design Strategies II

Description:

Reference architectures relate classical and influential solutions proven in a specific domain ... Style: Proxy (Object-Based) ... – PowerPoint PPT presentation

Number of Views:45
Avg rating:3.0/5.0
Slides: 23
Provided by: FH113
Category:

less

Transcript and Presenter's Notes

Title: Robust Design Strategies II


1
Robust Design Strategies II
  • Gruia-Catalin Roman and Christopher Gill
  • Washington University in St. Louis

2
Overview
  • 1. Software Architecture Fundamentals
  • 2. Software Architecture Specification
  • 3. Robust Design Strategies

3
Robust Design Strategies
  • Overview
  • 3.1 Motivating factors
  • 3.2 Design principles
  • 3.3 Architectural styles
  • 3.4 Design themes and design patterns

4
3.3 Architectural Styles
  • Architectural styles are abstractions for classes
    of organizational patterns encountered in
    software engineering practice
  • structural patterns
  • composition
  • behavioral patterns
  • communication
  • coordination
  • Themes address related design forces (specific
    concerns)
  • Idioms capture frequently encountered rules of
    thumb
  • Patterns capture reusable design solutions for
    frequently encountered problems
  • Reference architectures relate classical and
    influential solutions proven in a specific domain

5
More about Architectural Styles
  • Characterization
  • vocabulary
  • configuration rules
  • semantics
  • Benefits
  • design reuse
  • predictability
  • corporate knowledge
  • Taxonomic principle
  • The dominant strategy for separating of concerns
  • composition
  • communication
  • coordination

6
A Taxonomy of Styles
  • Composition
  • static
  • layered
  • controller
  • client/server
  • pipes and filters
  • peer to peer
  • proxy / object-based
  • dynamic
  • object-oriented
  • software bus
  • service provision
  • Communication
  • explicit
  • message passing
  • event propagation
  • Coordination
  • implicit
  • blackboard
  • shared tuple space
  • database/futures
  • Emerging styles
  • new software domains
  • mobile computing
  • sensor networks

7
Style Layered
  • Components at one layer share access to resources
    provided by the layer below
  • It is critical to limit or structure sharing
  • Hierarchical structuring facilitates
  • clean separation of constraints
  • limited impact of changes

refill controller
pressure
pump
channel
D/A converter
A/D converter
8
Style Controller
  • System behavior
  • abstracted as a set of finite state machines
  • distributed among a small number of decoupled
    controllers
  • limited information sharing
  • synchronization limited to situations that demand
    consistency among decisions
  • Complexity control
  • logical and structural separation into multiple
    modes of operation
  • simple and uniform transitions rules
  • object encapsulation of non-finite state aspects
  • partitioning of the control logic
  • state reduction

heating controller
refill controller
panel controller
pressure
pump
heating element
panel
9
Style Client/Server
  • Natural extension of procedure calls to
    distributed computing
  • Components are segregated into clients and
    servers
  • Interactions are via remote procedure calls
  • Servers do not need to know client identities
  • Clients must know the identity of the servers

traffic manager
safety monitor
emergency controls
sector manager
trains in service
10
Style Pipes and Filters
  • Independent components process data in an
    incremental fashion
  • Connectors are mechanisms for supporting data
    streaming between pairs of components
  • Standardized and compatible interfaces are the
    key to composition
  • Signal processing, UNIX shells, and image
    processing are common instances of this style
  • Dataflow
  • a generalization to arbitrary directed acyclic
    graphs
  • image processing, workflow, etc.

satellite data reception
packet filtering
file, object, etc.
image construction
11
Style Peer to Peer
  • Components are active objects that know (or learn
    about) each other
  • Interactions are direct
  • Server support is often required for discovery
    and some coordination
  • Sample applications
  • music sharing
  • ad hoc network interactions

Bob
Mary
video conference connection manager
Jim
Ann
12
Style Proxy (Object-Based)
  • Interface components decouple access to a
    resource from the resource itself
  • resource updates do not affect the clients
  • different clients may have different views
  • communication protocols are hidden inside the
    proxy
  • proxy may be remote
  • proxy may be mobile code

engineer
architect
_at_ construction plan
_at_ construction plan
mechanical design
floor plan
13
Style Object Oriented
  • Components are objects and connectors are method
    invocations
  • All architectural styles can have object oriented
    flavor
  • E.g., allow substitution
  • The stereotypical object oriented style entails
  • web of cooperating objects
  • reference dissemination is often excessive

30 msec.
cruise control
current speed
wheel
desired speed
throttle
driver
brake
14
Style Software Bus
  • Mechanism for decoupled access to
  • distributed data
  • services
  • Static and dynamic object communities are
    supported
  • Specialized services facilitate object
    registration, discovery, creation, and invocation
  • CORBA is one standard that facilitates software
    bus construction

confidential screening
out patient
specialist
radiology
blood tests
admissions
patient records
15
Style Service Provision
  • Service providers register with service
    registries
  • specialized ontologies facilitate understanding
  • Clients
  • services are discovered by querying service
    registries
  • interactions with services are standardized
  • proxy
  • service access protocols (e.g., SOAP)

visitor
museum service registry
guide (proxy)
exhibit item
16
Style Message Passing
  • Connectors are message passing capabilities
  • port (many to one)
  • channel (one to one)
  • mailbox (many to many)
  • Component or connector identity is required to
    enable communication
  • Bootstrapping requires some initial acquaintance
  • Shared message interpretation and format
  • High degree of decoupling and modularity is
    achievable
  • Analysis relies on sequence and interaction
    diagrams

thermostat 243
thermostat 813
thermostat 326
control panel
thermostat 713
energy saver
17
Style Event Propagation
  • Publish/subscribe models
  • are meant to function in distributed settings
  • achieve a high level of decoupling
  • client subscribes to specific events
  • notifications are delivered automatically
  • Explicit event propagation simplifies the design
    of reactive systems
  • low level events are mapped to abstract events
  • language support is available

refill controller
0.2 sec.
pressure
pump
low pressure
pump failure
channel
data ready
D/A converter
A/D converter
18
Style Blackboard
  • A shared data repository
  • stores all key system data
  • controls system activities through its own state
  • Other components
  • communicate with each other via the blackboard
  • respond to changes in the state of the blackboard
  • Sample systems
  • planners
  • rule-based decision
  • compilers

trader
1n
stocks and bonds
regulator
1m
forecaster
1k
19
Style Shared Tuple Space
  • The tuple space serves as a central data
    repository
  • out inserts a tuple
  • Retrieval is contents-based (pattern matching)
  • read obtains a tuple copy
  • in removes a tuple
  • High level of decoupling
  • Minimal interface
  • Databases
  • large scale
  • complex queries
  • optimized processing
  • reuse

checkout
1n
library catalog
search
1m
inventory
1k
powerful operations needed
20
Style Mobile Computing
21
Style Sensor Networks
2
1
3
4
22
Observations
  • The architectural style impacts the properties of
    the system, but only to a certain extent
  • distinct architectures may share a common style
  • similar architectures may exhibit distinct
    properties
  • Design rules may determine the extent to which
    resulting architectures acquire specific
    properties
  • Architectural styles may be associated with
    specific application domains
  • Management and study of architectural styles
  • is mostly an art
  • but has strong engineering implications
Write a Comment
User Comments (0)
About PowerShow.com