pces pi 0ct 2001 - 1 boeing open experimental platform boeing phantom works st. louis, missouri dave...
TRANSCRIPT
PCES PI 0ct 2001 - 1
BoeingOpen Experimental Platform
BoeingOpen Experimental Platform
Boeing Phantom WorksSt. Louis, Missouri
Dave Sharp [email protected]
Brian Mendel [email protected]
PCES PI 0ct 2001 - 2
Breakout Session GoalsBreakout Session Goals
• Describe, Discuss, and Derive–Initial Challenge Problems–OEP build contents and schedule–Integrated experiment plans
PCES PI 0ct 2001 - 3
Breakout Session OutlineBreakout Session Outline
• Session #1–Challenge Problems–OEP Overview
• Session #2–Experimentation Planning
• Mapping of TD research onto Challenge Problems• Aiming for initial experiments by April 2002
PCES PI 0ct 2001 - 4
Challenge ProblemsChallenge Problems
PCES PI 0ct 2001 - 5
Challenge Problem ApproachChallenge Problem Approach
• OEP Proposes–Challenges based on production program
experiences–Overall structure for resolving them
• TDs Propose–Mapping of technologies to challenge
problems
PCES PI 0ct 2001 - 6
TechnicalChallenges Classification
TechnicalChallenges Classification
Define Aspects/ Refactor SourceDefine Aspect
Implementations
Map Aspects
Weave Aspects
Analyze Components and Compositions
Extend Capabilities
ApplicationMiddleware& Services
Tec
hn
olo
gy
Ch
alle
ng
es
Embedded SoftwareFocus Areas
Events
Mem
Mgm
t
Concurre
ncy
…Aspec
ts
Process-Related
Product-Related
PCES PI 0ct 2001 - 7
Process-Related
Challenge Problems
PCES PI 0ct 2001 - 8
Language-Based
Model-Based
AutomatedGeneration
Development Process Outline
Development Process Outline
Define Aspects
Weave Aspects
Specify Aspects
Specify Behavior
Specify Aspect Mapping
Compile Build Test
classes
instancesSpecify
Configuration
Analyze Code
Specify Behavior
Specify Aspects
Specify Aspect Mapping
Analyze Model
Specify Configuration
Process-Related Challenge Problems
Analysis/Weaving could be done at different levels at
different times
Classes vs objects
Including hw
PCES PI 0ct 2001 - 9
Boeing PCES GoalsBoeing PCES Goals
• More configurable, flexible applications– Within large-scale development process context
• …
– Speed up code-test-debug cycle• Rapid adaptation to changing requirements…
– Make components more reusable across multiple products• Support variability between multiple products
– Configurability WITHIN software• 80-90% of our source code is application components
– Want more of software reusable• Whether by centralizing services within middleware, or at application
PCES PI 0ct 2001 - 10
Boeing PCES Goals (cont)Boeing PCES Goals (cont)
• Higher confidence in correct system operation–Reducing effort to achieve specific
confidence–Increase absolute attainable confidence
• Extend current capabilities
PCES PI 0ct 2001 - 11
Model/Language BoundariesModel/Language Boundaries
• What Is Optimal Application of Each Paradigm?–Is it impacted by AO?– Can language-
based approaches be extended to provide typically modeling-based capabilities & vice versa?
– How can they be best integrated?
Language-Based
Model-Based
AutomatedGeneration
Define Aspects
Specify Behavior
Specify Aspects
Specify Aspect Mapping
Weave Aspects
Specify Aspects
Specify Behavior
Specify Aspect Mapping
Analyze Model
Specify Configuration
Analyze Code
Specify Configuration
Process-Related Challenge Problems
PCES PI 0ct 2001 - 12
AO StylesAO Styles
• Internal–Methods that modify execution internals of
elements• Weaving• Generative Programming• Macros
• External–Methods that tailor execution externally, e.g.
by specifying attributes to external service• QoS specifications• Execution ordering
Process-Related Challenge Problems Define Aspects
PCES PI 0ct 2001 - 13
Aspect ClassificationsAspect Classifications
Aspects defining a portion of a component’s internal
behavior
Aspects defining a portion of a service’s internal behavior
Aspects defining a portion of a component’s externally
configured behavior
Aspects defining a portion of a service’s externally configured behavior
Application Components Middleware & Services
Internal
External
Defines element’s service attributes to external provider
Modifies execution internals of element
Process-Related Challenge Problems
AO
Sty
le
Focus Area
Define Aspects
PCES PI 0ct 2001 - 14
Candidate AspectsCandidate Aspects
•Event consumers and suppliers
•Execution pattern•State management•Concurrency control•Error management
•Number of threads•Event queue sizes
•OS adapters•Network protocols
•Event dependencies and configuration
•Scheduling•Fault tolerance
•Lock configuration•Distribution allocation
•Thread priorities
Application Components Middleware & Services
Internal
External
Defines element’s service attributes to external provider
Modifies execution internals of element
Process-Related Challenge Problems
AO
Sty
le
Focus Area
Define Aspects
PCES PI 0ct 2001 - 15
Internal Component AspectsInternal Component Aspects
• Event Consumers and Suppliers–Which components are event
consumers/suppliers?
• Execution Pattern–What is overall structure of event handler
(Push())?
Process-Related Challenge Problems Define Aspects
Avionics Interfaces
Operator
Real World Model
Infrastructure Services
AirframeComponent
adcPhysicalDevice
horizontalSelector
predictedStatebaState
airframe
gpsPhysicalDevice
io1553Services
imageProcessingModule
logicalDisplaySystem
hud
logicalHorizSensor_GPS
logicalHorizSensor_INS logicalHorizSensor_ADC
insPhysicalDevice
1: Set
3: Set5: Set
1: Set
3: Set5: Set
16: Event
17: Get
19: Set
18: Set
16: Event
17: Get
16: Event
17: Get
19: Set19: Set
18: Set18: Set
12: Get10: Get14: Get
12: Get12: Get10: Get10: Get14: Get14: Get
7: Event
8: Event
9: Event
7: Event
8: Event
9: Event
8: Event
9: Event
6: Event4: Event2: Event 6: Event6: Event4: Event4: Event2: Event2: Event 15: Get13: Get
11: Get 15: Get15: Get13: Get13: Get
11: Get11: Get
AA
A
A
AAA
AA
A
A
AAA
From February Avionics Case Study Presentation
From February Avionics Case Study Presentation
•Eager vs lazy evaluation•Possibly modal generation of events•Possibly modal triggering of actions based on consumed events
PCES PI 0ct 2001 - 16
Internal Component Aspects (cont)Internal Component Aspects (cont)
• State Management–Externalization/Internalization of component
state–Replication
• Updating Distributed Proxies• Control: typically handled by events• Data: specification of state to be replicated, either
– Statically at initialization time– Dynamically at run-time
–Persistence• Saving non-volatile state• Control: triggering persistence saves• Data: currently statically defined only
Define AspectsProcess-Related Challenge Problems
PCES PI 0ct 2001 - 17
Internal Component Aspects (cont)Internal Component Aspects (cont)
• State Management (cont)–Logging
• Saving dynamic data to flight recorder• Control: possibly down-sampled version of events• Data: typically static definition of saved state
• Error Management–Error conditions which are anticipated either
during system test or during actual system operation• E.g., Pre- or Post-condition checking
Process-Related Challenge Problems Define Aspects
PCES PI 0ct 2001 - 18
Internal Component Aspects (cont)Internal Component Aspects (cont)
• Concurrency Control Patterns–No Locking
• For single threaded components
–Internal Locking• To avoid read/write collisions• Each public method contains an internal guard
–External Locking• To provide coherency across multiple accesses• Locking methods are publicly available
–Synchronization Proxy• Provides multiple access coherency without
external locks• Proxy created for each client thread
Define AspectsProcess-Related Challenge Problems
PCES PI 0ct 2001 - 19
External Component AspectsExternal Component Aspects
• Event Dependencies, Configuration, and Scheduling
Define Aspects
• Filtering–Provides for type
and supplier selection
• Correlation–Provides for
complex dependencies
• Dispatch–Provides support
for multiple priorities
S u b sc rip tio n& F ilte rin g
E v e n tC o r re la tio n
E V E N TC H A N N E L
C o n s u m e rC o n s u m e r
C o n s u m e r
S u p p lie r S u p p lie rS u p p lie r
p u sh (e v e n t)
p u s h (e v e n t)
C o n s u m e rPr o x ies
S u p p lie rP ro x ie s
E v e n tF lo w
D isp a tc h in g
T im e r
0 1 2 3 4
M T D isp a tc h in g M o d u le
D isp a tc h e r
R u n -T im eS c h e d u le r
1 : p us h ( ev en t,c o ns um e r)
2: en qu eu e ( ev e nt,co n su m er)
3 : d eq u eu e ( ev en t,c on su m er )
co n su m er )4: p u sh (ev e nt ,
0 1 2 3 4
M T D isp a tc h in g M o d u le
D isp a tc h e r
R u n -T im eS c h e d u le r
1 : p us h ( ev en t,c o ns um e r)
2: en qu eu e ( ev e nt,co n su m er)
3 : d eq u eu e ( ev en t,c on su m er )
co n su m er )4: p u sh (ev e nt ,
A
A
A A
A
Process-Related Challenge Problems
PCES PI 0ct 2001 - 20
External Component Aspects (cont)
External Component Aspects (cont)
• Event Dependencies, Configuration, and Scheduling (cont)
Full Channel•Full Scheduling and Dispatching
•Distributed InterfacesS u b sc rip tion& F ilte rin g
E v e n tC o r re la tio n
E V E N TC H A N N E L
C o n s u m e rC o n s u m e r
C o n s um e r
S u p p lie r S u p p lie rS u p p lie r
p u sh (e v e n t)
p u s h (e ve n t)
C o n s u m e rP r o x ies
S u p p lie rP ro x ie s
E v e n tF lo w
D isp a tc h in g
T im e r
0 1 2 3 4
M T D isp a tc h in g M o d u le
D isp a tc h e r
R u n -T im eS c h e d u le r
1 : p us h ( ev en t,c o ns um e r)
2: en qu eu e ( ev e nt,co n su m er)
3 : d eq u eu e ( ev en t,c on su m er )
co n su m er )4: p u sh (ev e nt ,
Full Channel•Full Scheduling and Dispatching
•Distributed InterfacesS u b sc rip tion& F ilte rin g
E v e n tC o r re la tio n
E V E N TC H A N N E L
C o n s u m e rC o n s u m e r
C o n s um e r
S u p p lie r S u p p lie rS u p p lie r
p u sh (e v e n t)
p u s h (e ve n t)
C o n s u m e rP r o x ies
S u p p lie rP ro x ie s
E v e n tF lo w
D isp a tc h in g
T im e r
0 1 2 3 4
M T D isp a tc h in g M o d u le
D isp a tc h e r
R u n -T im eS c h e d u le r
1 : p us h ( ev en t,c o ns um e r)
2: en qu eu e ( ev e nt,co n su m er)
3 : d eq u eu e ( ev en t,c on su m er )
co n su m er )4: p u sh (ev e nt ,
S u b sc rip tion& F ilte rin g
E v e n tC o r re la tio n
E V E N TC H A N N E L
C o n s u m e rC o n s u m e r
C o n s um e r
S u p p lie r S u p p lie rS u p p lie r
p u sh (e v e n t)
p u s h (e ve n t)
C o n s u m e rP r o x ies
S u p p lie rP ro x ie s
E v e n tF lo w
D isp a tc h in g
T im e r
0 1 2 3 4
M T D isp a tc h in g M o d u le
D isp a tc h e r
R u n -T im eS c h e d u le r
1 : p us h ( ev en t,c o ns um e r)
2: en qu eu e ( ev e nt,co n su m er)
3 : d eq u eu e ( ev en t,c on su m er )
co n su m er )4: p u sh (ev e nt ,
0 1 2 3 4
M T D isp a tc h in g M o d u le
D isp a tc h e r
R u n -T im eS c h e d u le r
1 : p us h ( ev en t,c o ns um e r)
2: en qu eu e ( ev e nt,co n su m er)
3 : d eq u eu e ( ev en t,c on su m er )
co n su m er )4: p u sh (ev e nt ,
S u b sc rip tio n& F ilte rin g
E v e n tC o r re la tion
E V E N TC H A N N E L
C o n s u m e rC o n s u m e r
C o n s u m e r
S u p p lie r S u p p lie rS u p p lie r
p u sh (e v e n t)
p u s h (e ve n t)
C o n s u m e rP r o x ies
S u p p lie rP ro x ie s
E v e n tF lo w
EFD•Event Correlation•Multiple Suppliers and Consumers
S u b sc rip tio n& F ilte rin g
E v e n tC o r re la tion
E V E N TC H A N N E L
C o n s u m e rC o n s u m e r
C o n s u m e r
S u p p lie r S u p p lie rS u p p lie r
p u sh (e v e n t)
p u s h (e ve n t)
C o n s u m e rP r o x ies
S u p p lie rP ro x ie s
E v e n tF lo w
EFD•Event Correlation•Multiple Suppliers and Consumers
E V E N TC H A N N E L
C o n s u m e rC o n s u m e r
C o n s u m e r
S u p p lie r S u p p lie rS u p p lie r
p u sh (e v e n t)
p u s h (e ve n t)
C o n s u m e rP r o x ies
S u p p lie rP ro x ie s
E v e n tF lo w
ERM•Anonymous Supplier and
Consumers•Requires Collocation and Priority
E V E N TC H A N N E L
C o n s u m e rC o n s u m e r
C o n s u m e r
S u p p lie r S u p p lie rS u p p lie r
p u sh (e v e n t)
p u s h (e ve n t)
C o n s u m e rP r o x ies
S u p p lie rP ro x ie s
E v e n tF lo w
ERM•Anonymous Supplier and
Consumers•Requires Collocation and Priority
Process-Related Challenge Problems Define Aspects
PCES PI 0ct 2001 - 21
External Component Aspects (cont)
External Component Aspects (cont)
• Fault Tolerance–Currently handled by coarse predefined
modes configured during initialization time–Activated at run-time by mode switch within
Event Service–Cross-cuts issues of distribution,
schedulability, state management, etc
• Distribution Allocation–Configured during initialization by
instantiation of masters and distributed proxies
Process-Related Challenge Problems Define Aspects
PCES PI 0ct 2001 - 22
External Component Aspects (cont)
External Component Aspects (cont)
• Lock Configuration–Each component contains a lock–Based on product specific configuration,
actual locks which are created during initialization may be null, mutex, recursive mutex, etc
Process-Related Challenge Problems Define Aspects
PCES PI 0ct 2001 - 23
Internal Service AspectsInternal Service Aspects
• ORB and Event Service Configuration–Number of threads–Event queue sizes
• OS Wrapper (ACE) Configuration–OS type macros
• Network Protocols
Define AspectsProcess-Related Challenge Problems
PCES PI 0ct 2001 - 24
External Service AspectsExternal Service Aspects
• OS Threads and Priorities–Do we need to deal with these separately
from Internal Service Aspects?
Define AspectsProcess-Related Challenge Problems
PCES PI 0ct 2001 - 25
SRI
Interest In Proposed AspectsInterest In Proposed AspectsCornell GIT KS
UU
BCOGIBoeing
LSJU
Define AspectsProcess-Related Challenge Problems
Event cons/suppliers
Execution pattern
State management
Concurrency control
Error management
Event depend/config
Scheduling
Fault tolerance
Lock configuration
Distribution allocation
Number of threads
Event queue sizes
OS adapters
Network protocols
Thread priorities
CMU
Kestrel MIT VU WUBB
N
Preview of Experimentation Planning Discussion
Preview of Experimentation Planning Discussion
PCES PI 0ct 2001 - 26
Specify AspectsSpecify Aspects
• What Unique Capabilities Apply To Writing Aspects?–Model-based?
• KSU– Global invariant specifications for synchronization– Includes code generation to be woven with functional
code– Regions, not just points
–Language-based?• UBC
– AspectC, coming later– Java based reverse engineering, modification, then
forward engineering of aspects
Process-Related Challenge Problems
PCES PI 0ct 2001 - 27
Specify Aspect MappingSpecify Aspect Mapping
• What Approaches Are Proposed For Mapping Aspects?–Model-based?–Language-based?
Process-Related Challenge Problems
Internal Aspect Configuration
PCES PI 0ct 2001 - 28
Specify ConfigurationSpecify Configuration
• What Approaches Are Proposed For Specifying Configurations?–Model-based?
• MoBIES
–Language-based?
Process-Related Challenge Problems
External Aspect Configuration
PCES PI 0ct 2001 - 29
AnalysisAnalysis
• What Analyses Are Proposed?–Aspect correctness–Recommended aspect mappings–Event analysis–Timing and schedulability–Property assurance–Data flow analysis
Process-Related Challenge Problems
PCES PI 0ct 2001 - 30
Development ScenariosDevelopment Scenarios• Development Scenarios Capture End-To-End Process
Flows
Process-Related Challenge Problems
Weave Aspects
Specify Aspects
Specify Aspect Mapping
Specify Configuration
Timing Analysis
Model-Based Language-Based
Data Flow AnalysisProperty
AssuranceEvt Correlation
Analysis
VU
VU
VU
VU
Java
UBC
UBC
UBC
Boeing
Preview of Experimentation Planning Discussion
Preview of Experimentation Planning Discussion
PCES PI 0ct 2001 - 31
Product-Related
Challenge Problems
PCES PI 0ct 2001 - 32
Product ChallengesProduct Challenges
Radar
Weapons
Nav Sensors
WeaponManagement
Data Links
Many Computers
Many Computers
Multiple BusesMultiple Buses
Constrained Tactical LinksConstrained
Tactical Links
O(106) Lines of Code
O(106) Lines of CodeHard & Soft
Real-TimeHard & Soft Real-Time
Periodic & Aperiodic
Periodic & Aperiodic
Multiple Safety Criticalities
Multiple Safety Criticalities
Information Security
Information Security
PCES Focus
Domain
MissionComputer
VehicleMgmt
COTSCOTS
PCES PI 0ct 2001 - 33
PCES Component ModelPCES Component Model
• Evolved Component Model Based On CORBA Component Model (CCM)–Multiple APIs separated into different facets–Event consumers represented by first-class
“event sink” concept–Equivalent interfaces, homes, common base
classes, etc
• … Tailored And Extended For Real-Time QoS-Enabled Applications
• … Collaboratively with BBN OEP
Application Challenges
PCES PI 0ct 2001 - 34
Application Component Library
Application Component Library
• Current Application Components Based on Bold Stroke Component Model– Desire to align with CCM
• In future, move to RT Java
– Scale motivates automated methods (O(103) components)
• Semantic Designs’ Design Maintenance System (DMS) Software Reengineering Toolkit To Be Investigated As Translator– Designed for large scale automated source reengineering– Based on program transformation technology
• Capable of processing ANSI C++, Java, many others
• Initial Effort Is Proof of Concept Demonstration• Goal Is Rich Set Of Production Fidelity Application
Components for PCES Demonstrations
Application Challenges
PCES PI 0ct 2001 - 35
Middleware and Service Challenges
Middleware and Service Challenges
• Enhancing support for “external component” aspects–Event service–Event service correlation–Synchronization–Persistence–Resource management
• CPU, memory, network• Locally and/or globally
–Fault tolerance–CCM services
PCES PI 0ct 2001 - 36
Product TechnologiesProduct Technologies• Product Technology Development Activities
Product-Related Challenge Problems
Event Correlation
Synchronization
Persistence
Resource Mgmt
Fault Tolerance
CCM Services
SRICornell GIT KS
UU
BCOGIBoeing
LSJU
CMU
Kestrel MIT VU WUBB
N
Preview of Experimentation Planning Discussion
Preview of Experimentation Planning Discussion
Boeing
Event Service WU
In Java
KSU
PCES PI 0ct 2001 - 37
OEP OverviewOEP Overview
PCES PI 0ct 2001 - 38
What is the OEP?What is the OEP?• A Software Platform Designed To:
– Enhance ability to develop and test reusable distributed real-time embedded software
– Provide research platform to facilitate transitionable and integratable PCES research
• Features:– Open run-time framework including middleware
services and API– Representative Avionics Mission Processing
domain application components– Set of representative Product Scenarios
PCES PI 0ct 2001 - 39
Model
InfrastructureServices
Operator
Configurator
Building Blocks
Real World Model
Avionics Interfaces
Dependencies
View Controller CommandsDisplaySurfaces
DisplayFormats
Cockpits
MissilesBallisticWeapons
SteeringAirframeEarthModel
GroundPoints
StateMachines
Distributors
Radar INS GPS
ORBServices
EventService
NameService
ReplicationService
PersistenceService
SchedulerService
I/OService
TimeService
SystemConfigurator
LayerConfigurator
Component-Based Architecture With 103 ComponentsCORBA and COTS RTOS-Based Middleware
Component-Based Architecture With 103 ComponentsCORBA and COTS RTOS-Based Middleware
Bold Stroke Logical Architecture Overview
Bold Stroke Logical Architecture Overview
PCES PI 0ct 2001 - 40
OEP Logical Architecture Overview
OEP Logical Architecture Overview
Model
InfrastructureServices
Operator
Configurator
Building Blocks
Real World Model
Avionics Interfaces
Dependencies
ORBServices
EventService
NameService
ReplicationService
PersistenceService
SchedulerService
TimeService
SystemConfigurator
LayerConfigurator
BM__ModeSourceComponent
BM__PushDataSourceComponent
BM__LazyActiveComponent
BM__ModalComponent
BM__OpenEDComponent
BM__ClosedEDComponent
BM__DisplayComponent
BM__PassiveComponent
BM_DeviceComponent
PCES OEP To Leverage MoBIES OEPPCES OEP To Leverage MoBIES OEP
PCES PI 0ct 2001 - 41
Configurator
Model /Operator
InfrastructureServices
Infrastructure ServicesInfrastructure Services
OEP Wrapper Facade Layer
Concurrency Utilities
Event Service Utilities
Persistence Utilities
Configuration Utilities
ORB UtilitiesReplication
Utilities
OS (VxWorks, Windows NT, Linux, ... )Adaptive Communication Environment (ACE)
The ACE ORB (TAO)
Real-Time Adaptive Resource Management (RTARM)
Common Services
Global Synch
Naming Service
Timer Service
Trading Service
Replication Service
Error Service
Scheduler Service
Persistence ServiceTime Service
Application
Configurator
PCES PI 0ct 2001 - 42
Multi-LevelControl
Mission Computing-
PCES FocusApplication Domain
OEP DecompositionOEP Decomposition
MC__Experiments
CMC
COFP
CMLC
MLC__Experiments
PCES PI 0ct 2001 - 43
CORBA Component Model Concepts
CORBA Component Model Concepts
ComponentEquivalentInterface
GetFacet()
<<Interface>>
Facet1
GetData()
<<Interface>>
Facet2
PointAt()
<<Interface>>
EventSource
Push()
<<Interface>>EventSink
Push()
<<Interface>>
EventSourceAdapter
EventSinkAdapter
Component
Receptacle
Connect()
<<Interface>>
PCES PI 0ct 2001 - 44
Event Supplier
Acts as a root event/data source for the system.
Is usually timer driven.
Event SupplierEvent Consumer
It is responsible for updating its own state and is not modifiable by a client (Closed).
Event Consumer
Acts as sink for data and control. Data it retrieves is output to the screen.
BM__DeviceComponent
BM__ClosedEDComponent
BM__DisplayComponent
Generic Component Descriptions
Generic Component Descriptions
PCES PI 0ct 2001 - 45
BM__ModalComponent
BM__DeviceComponent
BM__LazyActiveComponent
BM__DisplayComponent BM__ClosedEDComponent
Event ConsumerEvent Supplier
Conforms to Lazy Active execution pattern
Event ConsumerEvent Supplier
Changes modes activated by a push or client method call.
Mode change results in a change of supplied event.
BM__PassiveComponent
Generic Component Descriptions (cont’d)Generic Component Descriptions (cont’d)
Event Supplier
PCES PI 0ct 2001 - 46
Product ScenariosProduct Scenarios• Provide Defined Representative
Component Compositions and Interactions
• PS 1.x: basic single processor– 1.1: minimum components, single-threaded
– 1.2: additional components, multi-threaded
– 1.3: modal execution, single-threaded
• PS 2.x: representative single processor• PS 3.x: basic distributed processing
– 3.1: minimum components, single-threaded (priority)
– 3.2: additional components, multi-threaded (priorities)
• PS 4.x: representative distributed processing
PS 4.x
PS 1.xBasic
PS 2.xRepresentative
PS 3.x
Multi-procUni-proc
PCES Will Extend Product Scenario Set
PCES Will Extend Product Scenario Set
PCES PI 0ct 2001 - 47
Product Scenario #1.1Product Scenario #1.1
• Simplest Single Processor Scenario–“Hello, World”
gps : BM__ClosedEDComponentHomeImpl
display : BM__DeviceComponentHomeImpl
airframe : BM__DeviceComponentHomeImpl
Timer
GetData1()
GetData1()
Push()
Update()
Update()
Push()
Push()
DATA_AVAILABLE
TIMEOUT40HZ
PCES PI 0ct 2001 - 48
Product Scenario #3.1Product Scenario #3.1
• Simplest Distributed Processor Scenario
way point : BM__OpenEDComponent
way pointProxy : BM__OpenEDComponent
f ltPlanDisplay : BM__Display Component
pilotControl : BM__PushDataSourceComponentImpl
inf rastructure
Represents line of distribution
2. SetData()
6. InternalizeState()
7. SetStateUpdated()
1. SetData()
8. Push()
DATA_AVAILABLE9. GetData()
3. SetData()
5. ExternalizeState()
4. Push()
DATA_AVAILABLE
PCES PI 0ct 2001 - 49
Product Scenario #1.3 (20Hz)Product Scenario #1.3 (20Hz)
• Mid-Level Single Processor Scenario
PCES PI 0ct 2001 - 50
Product Scenario #1.3 (1Hz)Product Scenario #1.3 (1Hz)
PCES PI 0ct 2001 - 51
OEP ConfigurationOEP Configuration
XML is Transformed into a Set of C++ Arrays of Enum/Integer Constants to be Compiled into BuildXML is Transformed into a Set of C++ Arrays of
Enum/Integer Constants to be Compiled into Build
: C omponentFactory1
iterator : UM_ _ DepthFirs tI terator
: C omponentHome1
1. NextNode()
2. GetNodeName
3. GetNodeValue
5. NextNode()
6. GetNodeName
7. NextNode()
4. CreateAndI nit
Arrays are Traversed at Initialization TimeArrays are Traversed at Initialization Time
C MC _ _ C omponentC onfigurator
ComponentFactory1
C omponentFactory2
ComponentFactory3
ComponentHome1
C MC _ C onfigurationData
ComponentHome2
ComponentHome3
... . ..
U M_ _ DepthFirs tI terator
XMLProcessorOEP ConfigurationXML
DOM Parser
PCES PI 0ct 2001 - 52
XML Top Level StructureXML Top Level Structure<CONFIGURATION>
<PROCESSOR> <…><CONFIGURATION_PASS>
<HOME><HOME_TYPE>BM__DEVICE_COMPONENT</HOME_TYPE><ID>
<…></ID><COMPONENT>
<…></COMPONENT><COMPONENT>
<…></COMPONENT>
</HOME><HOME>
<…></HOME>
</CONFIGURATION_PASS><CONFIGURATION_PASS>
<…></CONFIGURATION_PASS>
</PROCESSOR><PROCESSOR>
<…></PROCESSOR>
</CONFIGURATION>
Delineates configuration for each processorDelineates configuration for each processorAllows for multiple pass
initializationAllows for multiple pass
initializationLifetime manager/locator for each
Component typeLifetime manager/locator for each
Component type
Unique Id for the homeUnique Id for the home
Component instantiation/configuration Component instantiation/configuration
PCES PI 0ct 2001 - 53
XML Component StructureXML Component Structure<CONFIGURATION_PASS>
<HOME> <…> <COMPONENT>
<ID> <…></ID><EVENT_SUPPLIER>
<…events this component supplies…></EVENT_SUPPLIER><EVENT_CONSUMER>
<…events this component consumes…></EVENT_CONSUMER>
</COMPONENT></HOME>
</CONFIGURATION_PASS><CONFIGURATION_PASS>
<HOME> <…><COMPONENT>
<ID> <…></ID><RECEPTACLE>
<…id of component plugging into this receptacle></RECEPTACLE><DISTRIBUTION>
<…distributed write/read configuration data></DISTRIBUTION>
Components must exist at this time(must be in second pass)
Components must exist at this time(must be in second pass)
Unique Id for this componentUnique Id for this component
Causes connection between masterAnd proxy to be made
Causes connection between masterAnd proxy to be made
PCES PI 0ct 2001 - 54
Download / InstallationDownload / InstallationMoBIES Web Site S/W Distribution Page:Select OEP B1.3
Double-Click to Run Setup
PCES PI 0ct 2001 - 55
Additional InformationAdditional Information
Installation Instructions
Build / Setup Instructions