Download presentation
Presentation is loading. Please wait.
Published byLionel Turner Modified over 9 years ago
1
18 October 2001 OOPSLA 2001 Workshop on Patterns for OO Distributed RT & Embedded Systems Wendy Roll - 1 Pattern Usage in an Avionics Product Line Wendy Roll* - wendy.c.roll@boeing.com David Sharp – david.sharp@boeing.com The Boeing Company * presenter
2
18 October 2001 OOPSLA 2001 Workshop on Patterns for OO Distributed RT & Embedded Systems Wendy Roll - 2 Outline n Domain Characteristics n Technical and Developmental Forces n Architecture Development Process n Examples of Pattern Usage & Evolution n Pattern Relationships
3
18 October 2001 OOPSLA 2001 Workshop on Patterns for OO Distributed RT & Embedded Systems Wendy Roll - 3 Fighter Avionics Operational Domain- Characteristics Radar WeaponsNav Sensors Weapon Management Data Links Many Computers Multiple Buses Constrained Tactical Links O(10 6 ) Lines of Code Hard & Soft Real-Time Periodic & Aperiodic Mission Computer Vehicle Mgmt COTS
4
18 October 2001 OOPSLA 2001 Workshop on Patterns for OO Distributed RT & Embedded Systems Wendy Roll - 4 Fighter Avionics Operational Domain- Example Functionality Release Weapons Fuse Targets From Data Links Update Navigation State Predict Selected Weapon Trajectories Update Steering Cues Mission Computer Update Displays Fuse Targets From Sensors Modify Display Suite Via Pilot Pushbutton Perform Built- In-Test Activate Backup Mode Select Weapons Aperiodic Periodic
5
18 October 2001 OOPSLA 2001 Workshop on Patterns for OO Distributed RT & Embedded Systems Wendy Roll - 5 Technical and Developmental Forces n Technical Forces Product Line Variability –Operating Systems, HW Architectures –Sensors, Displays, Other External Devices –Functional Requirements Performance n Developmental Forces Technical/Cultural Revolution in Boeing –OO Technology, C++, CORBA –Product Line Development Complexity Increasingly Large Team of Developers
6
18 October 2001 OOPSLA 2001 Workshop on Patterns for OO Distributed RT & Embedded Systems Wendy Roll - 6 Architecture Development Domain-Driven, Goal-Guided Architecture Development Developed Architecture 2, 5: Develop and Measure Domain Components 4: Use Goals to Drive Architecture Development Decisions 1: Develop Architecture Goals 3: Use Concrete Development to Identify Architectural Issues t Patterns
7
18 October 2001 OOPSLA 2001 Workshop on Patterns for OO Distributed RT & Embedded Systems Wendy Roll - 7 Real-Time Performance Architecture Goals Isolate avionics system specifics Support both single and multi-CPU systems Maximize Reuse Contain Change in the Logical and Physical Architectures Maximize pluggability of software components Software Architecture Requires Meeting Product Line Goals within Real-Time Performance Software Architecture Requires Meeting Product Line Goals within Real-Time Performance
8
18 October 2001 OOPSLA 2001 Workshop on Patterns for OO Distributed RT & Embedded Systems Wendy Roll - 8 Architectural Patterns n Layered Architecture Separate high and low level concerns Control dependencies Provide overall system structure n Model/View/Controller Architecture Separate core domain representation from user interface Model ViewController DependenciesDependencies
9
18 October 2001 OOPSLA 2001 Workshop on Patterns for OO Distributed RT & Embedded Systems Wendy Roll - 9 Multi-Dimensional Layering Pattern DependenciesDependencies Common Software Model Operator Infrastructure Configurator DependenciesDependencies Project Software Model Operator Infrastructure Configurator
10
18 October 2001 OOPSLA 2001 Workshop on Patterns for OO Distributed RT & Embedded Systems Wendy Roll - 10 Component Patterns n 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 Component Patterns Guide Application Development Organization
11
18 October 2001 OOPSLA 2001 Workshop on Patterns for OO Distributed RT & Embedded Systems Wendy Roll - 11 Component Structure n Based on Facade Design Pattern ComponentConsumer ComponentFacade ComponentSupplier1ComponentSupplier2
12
18 October 2001 OOPSLA 2001 Workshop on Patterns for OO Distributed RT & Embedded Systems Wendy Roll - 12 Component Pattern Consequences n Encapsulates Change n Defines Distribution Boundaries n Localizes Concurrency Control n Identifies Pluggable Entities n Enhances Reusability n Reduces Complexity n Defines Object Ownership
13
18 October 2001 OOPSLA 2001 Workshop on Patterns for OO Distributed RT & Embedded Systems Wendy Roll - 13 AirframeFactory CreateHorizontalSubstate () : HorizontalSubstate* CreateVerticalSubstate () : VerticalSubstate* CreateRotationalSubstate () : RotationalSubstate* Airframe HorizontalSensor HorizontalSubstate 1..* VerticalSensor VerticalSubstate 1..* RotationalSensor RotationalSubstate 1..* Abstract Factory-Smart Facade n Abstract Factory Pattern Defines Configuration Technique
14
18 October 2001 OOPSLA 2001 Workshop on Patterns for OO Distributed RT & Embedded Systems Wendy Roll - 14 Component Evolution n Currently exploring CORBA Component Model Concepts ComponentEquivalentInterface GetFacet() > Facet1 GetData() > Facet2 PointAt() > EventSource Push() > EventSink Push() > EventSourceAdapter EventSinkAdapter Component Extension Interface Pattern used for smaller role-based facets
15
18 October 2001 OOPSLA 2001 Workshop on Patterns for OO Distributed RT & Embedded Systems Wendy Roll - 15 Control Flow n Desired Variabilities Simplify and isolate standard interfaces Number and types of components System execution modes Notification types –periodic, multiple entry points and correlated n Patterns Observer, mediator, and external polymorphism Physical Variability Logical 1..*
16
18 October 2001 OOPSLA 2001 Workshop on Patterns for OO Distributed RT & Embedded Systems Wendy Roll - 16 Control Flow consumer Adapter consumer Proxy event Channel supplier Proxy supplier 1: push 2: push 3: push 4: push 5: consumer message Events remove modal dependencies Complex event dependencies support variable notification Ext. Polymorph Pattern isolates standard interfaces Mediator Pattern removes supplier knowledge Event Service Dispatch Correlation Subscription Anonymous Supplier and Consumer Communication for Control Flow Preserves Encapsulation of Dependencies Anonymous Supplier and Consumer Communication for Control Flow Preserves Encapsulation of Dependencies
17
18 October 2001 OOPSLA 2001 Workshop on Patterns for OO Distributed RT & Embedded Systems Wendy Roll - 17 Communication - Data n Desired Variabilities Flexible component-to-processor allocation Isolation from network protocols Optimization of network performance n Patterns Broker, proxy, caching proxy Physical Variability
18
18 October 2001 OOPSLA 2001 Workshop on Patterns for OO Distributed RT & Embedded Systems Wendy Roll - 18 Processor 1Processor 2 Reads From Local and Remote Clients Appear Identical Communication - Data Reads Remote Communication Caching Proxy Pattern hides supplier location, hides effects of network bandwidth, and isolates broker implementation supplier Master replication Proc1 orbProc1orbProc2 replication Proc2 supplier DistProxy remote Client 1: GetData 2: SetData 3: SetData 4: SetData 5: GetPosition local Client 6: GetPosition Broker Pattern isolates network protocols CORBA ORB
19
18 October 2001 OOPSLA 2001 Workshop on Patterns for OO Distributed RT & Embedded Systems Wendy Roll - 19 Communication - Data Writes Remote Communication Processor 1Processor 2 Writes To Local and Remote Suppliers Appear Identical CORBA ORB supplier Master orbProc1orbProc2 supplier DistProxy remote Client local Client 3: SetMode 2: SetMode 1: SetMode 4: SetMode Proxy hides supplier location Broker pattern isolates network protocols
20
18 October 2001 OOPSLA 2001 Workshop on Patterns for OO Distributed RT & Embedded Systems Wendy Roll - 20 Layers MVC Doc-View Multi-Dim Layers Dual Inheritance Hierarchy Component Façade Callback Observer Adapter Object Adapter Abstract Factory Cache Proxy Ext Poly Proxy Distributed Proxy Passive Objects ConcurrencyNo Locking Null Lock Null Object Internal Locking External Locking Mediator Strategy Synch Cache Proxy Arch Structure Control Flow Concurrency Distribution Pattern Map for Avionics PL
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.