Satellite Systems software Col John Keesee MIT Dept of Aero/Astro 19 October 2003
Satellite Systems Software Col. John Keesee MIT Dept. of Aero/Astro 19 October 2003
Outline Definitions Software design process · Design rules · Software costing g
Outline • Definitions • Software design process • Design rules • Software costing
Space system Software Spacecraft computer systems and their software provide unprecedented capability on orbit, but drive system cost and complexity
Space System Software Spacecraft computer systems and their software provide unprecedented capability on orbit, but drive system cost and complexity
Computer System Definitions Embedded system Built-in processor providing real time control Real-Time processing Handling or processing data at the time events occur Hard real-Time Precise timing required to avoid severe consequences
Computer System Definitions • Embedded System – Built-in processor providing real time control • Real-Time processing – Handling or processing data at the time events occur • Hard Real-Time – Precise timing required to avoid severe consequences
Computer System Definitions · Soft real-Time Tasks must be completed in a timely manner but missing a time boundary has minor consequences Operating System Software Manages the computers resources(e.g 1O, memory) Application Software Mission-specific software related to the user instead of the support of the computer
Computer System Definitions • Soft Real-Time – Tasks must be completed in a timely manner, but missing a time boundary has minor consequences • Operating System Software – Manages the computer’s resources (e.g. I/O, memory) • Application Software – Mission-specific software related to the user instead of the support of the computer
Types Of Software Application Software Operating System Software: Higher level functions that are lOw level functions that provided to meet mission bridge application software requirements to processing hardware Communications Executive or run-time control Attitude and orbit Kernel functions Determination and Control Input/Output (O)device handlers Navigation Built in Test ( bit) Autonomy Math utilities Fault detection Mission management Payload Management Continues to increase as .Usually will not increase requirements creep"and after cdr problems are encountered
Types Of Software Application S oftware: Operating System Software: • Higher level functions that are •Low level functions that provided to meet mission bridge application software requirements. to processing hardware. – C o mmunications - Executive or run-tim e control – Attitude and Orbit - Kernel functions Determination and Control - Input/Output (I/O) device handlers – Navigation - Built in Test (BIT) – Autonom y - Math Utilities – Fault Detection – Mission Management – Payload Management • Continues to increase as •Usually will not increase requirements “creep” and after C D R. problems are encountered
Computer resource estimation Define processing tasks Application software PDR -Operating system functions Estimate software size and throughput Establish a cost for spacecraft software Evaluate development and test requirements Create funding profile for development and test computers and equipment Identify life-cycle support costs On-orbit operations and support CDR -Upgrades, enhancements, modifications, sequence verification Combine resourcelasset estimations to include all costs
Computer Resource Estimation • Define processing tasks – Application software PDR - Operating s ystem functions • Estimate software size and throughput • Establish a cost for spacecraft software • Evaluate develop ment and test requirements • Create funding profile for develop ment and test computers and equip ment. • Identify life-cycle support costs – On-orbit operations and support CDR - Upgrades, enhancements, modifications, sequence verification • Combine resource/asset estimations to include all costs
Computer resource estimation 100% Measurement above reaction curve, action must be taken to correct situation Required Spare Example of Typical Data SRR SDR SSR PDR CDR TRR Launch Development Timeline
Computer Resource Estimation
Functional Partitioning Between Space and Ground T Imin g Bandwidth Autonomy -Human interaction Between hardware and Software Pe erformance Complexity Well-Defined requirements -No changes Between Bus and payload Duration Quantity Performance Alone organizational lines Large Organizations -Small team Complexity accountability
Functional Partitioning • Between Space and Ground – Timing -Bandwidth – Autonomy -Human Interaction • Between Hardware and Software – Performance -Complexity – Well-Defined Requirem ents -No Changes • Between Bus and Payload – Duration -Quantity – Performance • Alone Organizational Lines – Large Organizations -Small Team – Complexity -Accountability
Computer Systems development Process Define requirements Perform functional partitioning Allocate top-level computer requirements Candidate architechtures Functional flow analysis Define computer system requirements Define tasks Establish size and throughput estimates Define development and support environment Document and iterate
Computer Systems Development Process • Define requirements – Perform functional partitioning • Allocate top-level computer requirements – Candidate Architechtures – Functional flow analysis • Define computer system requirements – Define tasks – Establish size and throughput estimates • Define development and support environment • Document and iterate