18 October 2001 - PowerPoint PPT Presentation

1 / 20
About This Presentation
Title:

18 October 2001

Description:

Anonymous Supplier and ... Caching Proxy Pattern hides supplier location, hides ... Proxy hides supplier location. Broker pattern isolates network ... – PowerPoint PPT presentation

Number of Views:14
Avg rating:3.0/5.0
Slides: 21
Provided by: ISSC5
Learn more at: https://posa3.org
Category:

less

Transcript and Presenter's Notes

Title: 18 October 2001


1
Pattern Usage in an Avionics Product Line
  • Wendy Roll - wendy.c.roll_at_boeing.com
  • David Sharp david.sharp_at_boeing.com
  • The Boeing Company

presenter
2
Outline
  • Domain Characteristics
  • Technical and Developmental Forces
  • Architecture Development Process
  • Examples of Pattern Usage Evolution
  • Pattern Relationships

3
Fighter Avionics Operational Domain-
Characteristics
Constrained Tactical Links
Many Computers
Periodic Aperiodic
Multiple Buses
Mission Computer
Vehicle Mgmt
Radar
COTS
Hard Soft Real-Time
O(106) Lines of Code
4
Fighter Avionics Operational Domain- Example
Functionality
Update Steering Cues
Fuse Targets From Sensors
Fuse Targets From Data Links
Mission Computer
Perform Built-In-Test
Activate Backup Mode
Update Navigation State
Release Weapons
Select Weapons
Update Displays
Predict Selected Weapon Trajectories
Modify Display Suite Via Pilot Pushbutton
Aperiodic
Periodic
5
Technical and Developmental Forces
  • Technical Forces
  • Product Line Variability
  • Operating Systems, HW Architectures
  • Sensors, Displays, Other External Devices
  • Functional Requirements
  • Performance
  • Developmental Forces
  • Technical/Cultural Revolution in Boeing
  • OO Technology, C, CORBA
  • Product Line Development Complexity
  • Increasingly Large Team of Developers

6
Architecture Development
1 Develop Architecture Goals
4 Use Goals to Drive Architecture Development
Decisions
Developed Architecture
Patterns
t
3 Use Concrete Development to Identify
Architectural Issues
2, 5 Develop and Measure Domain Components
Domain-Driven, Goal-Guided Architecture
Development
7
Architecture Goals
in the Logical and Physical Architectures
Contain Change
  • Isolate avionics system specifics
  • Support both single and multi-CPU systems

Maximize Reuse
  • Maximize pluggability of software components

Real-Time Performance
Software Architecture Requires Meeting Product
Line Goals within Real-Time Performance
8
Architectural Patterns
  • Layered Architecture
  • Separate high and low level concerns
  • Control dependencies
  • Provide overall system structure
  • Model/View/Controller Architecture
  • Separate core domain representation from user
    interface

D e p e n d e n c i e s
9
Multi-Dimensional Layering Pattern
D e p e n d e n c i e s
D e p e n d e n c i e s
10
Component Patterns
  • Strategic Patterns That Define
  • Different component types
  • Component
  • Configurable Component
  • Distributable Component
  • Real Time Component
  • Tradeoffs and consequences of design choices
  • Implementation issues

Component Patterns Guide Application Development
Organization
11
Component Structure
  • Based on Facade Design Pattern

ComponentConsumer
ComponentSupplier1
ComponentSupplier2
12
Component PatternConsequences
  • Encapsulates Change
  • Defines Distribution Boundaries
  • Localizes Concurrency Control
  • Identifies Pluggable Entities
  • Enhances Reusability
  • Reduces Complexity
  • Defines Object Ownership

13
Abstract Factory-Smart Facade
  • Abstract Factory Pattern Defines Configuration
    Technique

HorizontalSubstate
VerticalSubstate
RotationalSubstate
1..
1..
1..
1..
1..
1..
HorizontalSensor
VerticalSensor
RotationalSensor
14
Component Evolution
  • Currently exploring CORBA Component Model Concepts

ltltInterfacegtgt
ComponentEquivalentInterface
Component
GetFacet()
Extension Interface Pattern used for smaller
role-based facets
ltltInterfacegtgt
Facet1
GetData()
EventSinkAdapter
ltltInterfacegtgt
Facet2
EventSourceAdapter
PointAt()
ltltInterfacegtgt
ltltInterfacegtgt
EventSource
EventSink
Push()
Push()
15
Control Flow
  • Desired Variabilities
  • Simplify and isolate standard interfaces
  • Number and types of components
  • System execution modes
  • Notification types
  • periodic, multiple entry points and correlated
  • Patterns
  • Observer, mediator, and external polymorphism

16
Control Flow
Mediator Pattern removes supplier knowledge
consumer
Events remove modal dependencies
5 consumer message
consumer
supplier
Ext. Polymorph Pattern isolates standard
interfaces
Adapter
1 push
4 push
Dispatch
consumer
supplier
Proxy
Proxy
Correlation
2 push
Complex event dependencies support variable
notification
Subscription
3 push
event
Event Service
Channel
Anonymous Supplier and Consumer Communication for
Control Flow Preserves Encapsulation of
Dependencies
17
Communication - Data
  • Desired Variabilities
  • Flexible component-to-processor allocation
  • Isolation from network protocols
  • Optimization of network performance
  • Patterns
  • Broker, proxy, caching proxy

18
Communication - Data ReadsRemote Communication
Reads From Local and Remote Clients Appear
Identical
Processor 1
Processor 2
remote
local
Client
Client
5 GetPosition
6 GetPosition
Caching Proxy Pattern hides supplier location,
hides effects of network bandwidth, and isolates
broker implementation
supplier
supplier
Master
DistProxy
4 SetData
1 GetData
replication
replication
Proc2
Proc1
CORBA ORB
2 SetData
3 SetData
Broker Pattern isolates network protocols
orbProc1
orbProc2
19
Communication - Data WritesRemote Communication
Writes To Local and Remote Suppliers Appear
Identical
Processor 1
Processor 2
remote
local
Client
Client
4 SetMode
1 SetMode
supplier
supplier
Proxy hides supplier location
Master
DistProxy
2 SetMode
3 SetMode
CORBA ORB
Broker pattern isolates network protocols
orbProc1
orbProc2
20
Pattern Map for Avionics PL
Arch Structure
Concurrency
No Locking
Internal Locking
Layers
Null Lock
Concurrency
MVC
Multi-Dim Layers
External Locking
Null Object
Doc-View
Abstract Factory
Synch Cache Proxy
Component
Dual Inheritance Hierarchy
Adapter
Distributed Proxy
Façade
Object Adapter
Callback
Passive Objects
Proxy
Control Flow
Distribution
Mediator
Observer
Ext Poly
Cache Proxy
Strategy
Write a Comment
User Comments (0)
About PowerShow.com