A Successful Example of a Layered Architecture Based Embedded Development with Ada 83 for Standard-Missile Control Kelly L. Spicer Raytheon Missile Systems Missile Software Engineering Center Tucson, Arizona 520-663-7020 klspicer@west.raytheon.com Nov 14, 2000
Overview • SM-3 Software Overview • S3CC Context Diagram • S3CC Requirements • Design Notation • Software Architecture Overview • Layering Scheme Description -Purpose of Each Layer -Conventions for Each Layer -Examples • Build Approach Using Layers • A little about Tasking and the Block IV Kernel • Reuse of Algorithms • Reuse - Architecture Typing (Archi-typing) UNCLASSIFIED
SM-3 CSCIs GPS Hot Start Data IMU GPS-Aided Inertial Navigation GPS • Initialization Msg System Receiver • Missile State Data • Target State Correction Telemetry • Mode Status • Telemetry • BIT Request/Response Stage 2 Stage 3 • Reformatted Uplink Control • Missile Body Rate Control Initialization Computer • Missile Body Attitude Computer AEGIS • Time Sync Message Kinetic • Initialization Warhead KW Weapon • Selected Uplink Data Guidance SDACS System • BIT Status •Launch Detect Processor • Target, Missile States • Time Message Uplink / Downlink • Pointing Error • Clear to Radiate Messages • Squib Cmds • Inertial Data • BIT Request/Response Ship • Commands • Time Sync • Valve Cmds • Cryo Initiated • Flight Configuration • Status • Status Message • Pressure Status Parameters • Telemetry • Solenoid Cmds • Status • Ejection Warning • Telemetry Data • Test Pattern/Echo • Position Cmds Steering • Telemetry Msg • Test Pattern/Echo Control Kinetic IR Section Warhead TVA EED Sensor Signal Controller Missile CSCIs Processor Missile AEGIS Launcher Other Configuration Items UNCLASSIFIED
S3CC Software Context Diagram S2CC GAINS • BIT Reports • Downlink Data • BIT Report • BIT Request • BIT Request • Telemetry • Init Msg • Init Msg • Missile Data • Ship Uplink • Tgt Pos • Ship Radar Bias Correction • Launch Detect • BIT Request Position Cmd Msg • Msl/Tgt State TSRM • Body Attitude S3CC • Cryo On Telemetry-BIT • Eject Warning Software KW Response • BIT Report • Telemetry Msgs Telemetry • Telemetry • Formatted CCSDS • Squib, Solenoid, •Test Menus •Test Cmds & Status ACS Valve Cmds • ACS Pressures • Overrides • EED Errors Test EED Equipment Board UNCLASSIFIED
S3CC SW Requirements Summary • Interfaces - Serial (TSRM, GAINS, KW, Telemetry) - Direct control (ACS, squibs, solenoids, discretes) - MLI bus (stage 2) • Mission state control, two timelines: - Since launch, - To-go (to prepare and eject KW) • BIT - functions and reporting • Autopilot/attitude control (100 Hz updates), three modes: - Cold gas, warm gas, Thrust Vector Control (TVC) • Guidance (10 Hz updates) - Burnout reference guidance - Adjust for non-nominal TSRM burn-rate • Adaptation parameters (capability to load system-defined constants separate from software) UNCLASSIFIED
System-Level State Transition Diagram RPU Power On Initializing RPU Missile Power On Performing Pitchover Performing BIT Booster Separation BIT Failed BIT Passed Performing Endo-atmospheric Control Idle IM Reset Stage-2 Separation Waiting for IM IM Received Performing Exo-atmospheric Control Stage-3 Separation Waiting for Launch Launch Detected UNCLASSIFIED
S3CC Mission Sequencer States Separation Altitude Achieved Stage-2 Separation Pulse-1 burning for 1.4 seconds Burnout Reference Guidance - Pulse 1 Pulse-1 burnout Capture & Inter-pulse Delay Altitude or Inter-pulse time-out Ditch Nose Cone Nose Cone Clear Pulse 2 burning for 1.4 seconds Burnout Reference Guidance - Pulse 2 Pulse-2 burnout Eject KW UNCLASSIFIED
Buhr-Based Design Notation SubSystem SubSystem Package with Body Package with Body Passed Data Passed Data Queue Queue Put data_name Get Procedure Procedure Put data_name Get Generic Generic Task Task Types Package Types Package Ada Ada GenericPart ‘With” ‘With” Package containing Task Package containing Task Instantiation Instantiation Interrupt Handler Interrupt Handler QUICC Interrupt Set Semaphore Set Semaphore UNCLASSIFIED
S3CC Task Hierarchy Timing Control 100 Hz 10 Hz Autopilot Loop Guidance Loop Tasks Direction of Ada Withing Missile TSRM Missile Target Motor State Control State Mission Scaling Algorithm Mission Tasks Guidance Sequencer Missile position, velocity & body rqmts IM e t a t S Target State Data T V r Handle a C <= Telemetry Msg Comm C e BIT S P n o q Init Msg o n i u L Startup s t i Startup r i b t o i o l I D Requests for V n Tasks a <= Gas Status C modes and l v m KW Messages e W overrides d C a Separate Warning BIT Req/Rspn M o form other r m m IM/Rspn s subsystems g / m C s IM/ Rspn a o = n l d Plug State > d G s = a s > P r e s s u r Hardware e TSRM s Squib KW GAINS Test Interface Telemetry S2IO QUICC IO QUICC QUICC Mode Tasks Serial Direct Serial Serial Serial MLI Bus RS-232 Serial ACS ACS Squibs Telemetry TSRM KW GAINS Stage 2 Test Term EED Board Control Lines Data Lines UNCLASSIFIED
SM-3 Stage-3 Software Architecture Timing GPS GPS Control 10 Hz Autopilot Loop 100 Hz Guidance Loop Direction of Ada Withing Missile Missile Target Scale GuidanceMT S3Msn Mission StateMT ControlMT StateMT TSRMMT SeqMT Task Mission ACSGas ThrstVctr KWState S3State Missile Scale Target AutopilotMA GuidanceMA Algorithm MgmtMA CntrlMA ContrlMA ControlMA StateMA TsrmMA StateMA Startup Comm BIT IM Startup Mission S2CCIO Test TlmMgrMI TSRMMI KWMI GAINSMI Interface Mode MgrMI Hardware TSRM KW GAINS Solenoid Gas Text_IO Squib S2MLI TlmIO Discretes QUICC QUICC QUICC ValveIO IO Interface IO RS-232 Serial Direct Direct Direct Direct Serial Serial MLI Bus Serial Valves Solenoids Squibs Discretes TVAC Test Terminal GAINS Telemetry KW Stage 2 Hardware EED Board UNCLASSIFIED
Stage-3 Layering Scheme • Hierarchical Approach • Lower Layers Provide Services • Higher Layers Provide Management • Commands Flow Down • Data Flows up and Down • No “withing” up the Architecture, Down Only UNCLASSIFIED
6 Logical Layers in the Hierarchy 6. Timing Control 5. Mission Task Mission 4. Mission Algorithm 3. Startup 2. Mission Interface 1. Hardware Interface UNCLASSIFIED
1. Hardware Interface • Hardware Direct Interface • Works in Hardware Addresses, Register Formats, Interrupt Handling, etc. • Generics Used Across Interfaces when they’re Sufficiently Similar UNCLASSIFIED
2. Mission Interface • Provides a Consistent, High-Level I/O Interface to the Mission Tasks • Implements Interface Protocols defined in the IRSs • Contains Tasks for Completion of Receiving Message Data on External Interface. • Converts Data Between External and Internal Format • Transfers Data to/From Store Manager UNCLASSIFIED
3. Startup • Calls the Mission Interface to Execute Startup Activities Like Starting the Interfaces, Conducting BIT, & Handling the Initialization Message • Startup Tasks Terminate Themselves Before Launch After Their Job is Done UNCLASSIFIED
4. & 5 Mission • The Mission Layer Implements Most of the Mission Algorithms and Logic Defined as Requirements in the SRS • Implements All Mission Intelligence (i.e. Guidance, Autopilot, Missile State Control, etc.) • Divided into two sub-layers: Mission-Task and Mission-Algorithm - Tasks gate algorithms at proper/coordinated periodic rate • Portable Because it runs on the Virtual Machine provided by the Mission-Interface Layer below (and some Blk IV Kernel calls for time) UNCLASSIFIED
6. Timing Control • Provides Timing Control for the Mission-Level Tasks UNCLASSIFIED
Layer Naming Conventions • Mission-Task Layer : “MT” Suffix • Mission-Algorithm Layer : “MA” Suffix • Mission-Interface Layer : “MI” Suffix •Subsystem mnemonic (e.g. ThrstVctrCntrl ) -ThrstVctrCntrlMA -ThrstVctrCntrlIntfDefs UNCLASSIFIED
Layer Interface Conventions: Hardware-Interface • Each interface package exports these procedures: -Initialize - Called by CommStartup or the “MI” Level -Functional Procedures to conduct Hardware Operations (i.e. “FireSquib,” “TurnValveOn,” etc.) -Since There is no Ada “withing” or Procedure calls up the Hierarchy, in-coming data is put into queues, then semaphores are “set” to signal the upper layer(s) that message data has arrived UNCLASSIFIED
Layer Interface Conventions: Mission Interface • Each interface package exports these procedures: -Startup - Called by CommStartup Task -Send<MessageName> One for each message able to be sent on the Interface. Parameterless, message data retrieved from StoreMgr • Each Interface Subsystem has “InterfaceDefs” Package for defining Internal interface. • Each Interface Subsystem has “MessageDefs” Package for defining External Interface -Rep clause used to match IRS definition bit-for-bit UNCLASSIFIED
Recommend
More recommend