Unformatted text preview:

Satellite Systems SoftwareOutlineSpace System SoftwareComputer System DefinitionsComputer System DefinitionsTypes Of SoftwareComputer Resource EstimationComputer Resource EstimationFunctional PartitioningComputer Systems Development ProcessSoftware Engineering TasksSoftware Development EnvironmentSoftware TestSoftware IntegrationSoftware MaintenanceLife-cycle SupportMemory and Throughput Margin RequirementsSoftware Reliability MeasuresSixteen Critical Software PracticesSixteen Critical Software PracticesSixteen Critical Software PracticesSpacecraft Software CostingFIRESAT Example: OverviewFIRESAT Example: Cost ElementsFIRESAT Example: CostingApplication Software Size EstimatesOperating System Software Sizing EstimatesCOCOMOBasic COCOMO FormulaConclusionReferencesSatellite Systems SoftwareCol. John KeeseeMIT Dept. of Aero/Astro19 October 2003Outline• Definitions• Software design process• Design rules• Software costingSpace System SoftwareSpacecraft computer systems and their software provide unprecedented capability on orbit, but drive system cost and complexityComputer 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 consequencesComputer 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 computerTypes Of SoftwareApplication Software: Operating System Software:• Higher level functions that are •Low level functions that provided to meet mission bridge application softwarerequirements. to processing hardware.– Communications - Executive or run-time control– Attitude and Orbit - Kernel functionsDetermination and Control - Input/Output (I/O) device handlers– Navigation - Built in Test (BIT) – Autonomy - Math Utilities – Fault Detection– Mission Management– Payload Management• Continues to increase as •Usually will not increaserequirements “creep” and after CDR.problems are encountered.Computer Resource Estimation• Define processing tasks– Application softwarePDR - 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 supportCDR - Upgrades, enhancements, modifications, sequence verification• Combine resource/asset estimations to include all costsComputer Resource EstimationFunctional Partitioning• Between Space and Ground– Timing -Bandwidth– Autonomy -Human Interaction• Between Hardware and Software– Performance -Complexity– Well-Defined Requirements -No Changes• Between Bus and Payload– Duration -Quantity– Performance• Alone Organizational Lines– Large Organizations -Small Team– Complexity -AccountabilityComputer 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 iterateSoftware Engineering Tasks•Analysis• Requirements•Design• Coding• Testing and integration•Installation and delivery•Documentation•Maintenance•Quality Assurance•TrainingSoftware Development Environment• Target processor engineering unit(s) for software CSC integration and test.• Work stations for all developers with centralized host for configuration management and compilation.• Cross compiler to target processor resident on host.• Test support equipment and associated support software.• Realistic I/O, associated device drivers and functional simulations, resident on host.Software Test• Usually begins with the lowest Computer Project Configuration Item and works up– Test scenarios built on the same pattern• Increasing confidence in system performance• Testing is a very complex activity– Often requires up to one half the development cost and a significant portion of the support costSoftware Integration• Ensures all modules/classes work together• Ensures the program works with other software packages• Three types of integration– Big Bang (COTS)– Bottom-up (Drivers)– Top-down (Functional stubs)Software Maintenance• Critical to maintain a highly effective team for the life of the space system• Software updates on orbit possible and likely• Ground-based, high fidelity simulator is important for critical space systemsLife-cycle Support• Launch and Early Orbit Support– Is the spacecraft where it is supposed to be and operating as expected?• Trouble-Shooting: Parameter or Code Changes– If a problem occurs: Why? How? When?– Review data to understand– Develop work-around– Change parameters or upload new software• Data Retrieval, Reduction, and Analysis– Housekeeping and status information– Payload and/or science dataMemory and Throughput Margin Requirements• At SRR, size hardware to be four times the estimated requirement• Reserve a full 100% margin (i.e., twice the delivered size and speed) at launchSoftware Reliability Measures• Watchdog timers ensure system restarts automatically if the processor stalls• Operating system manages “Stuck” memory bits and Single Event Upsets• High reliability systems maintain backup software imagesSixteen Critical Software Practices• Project Integrity1. Adopt continuous program risk assessment2. Estimate cost and schedule empirically3. Use metrics to manage4. Track earned value5. Track defects against quality targets6. Treat people as the most important resourceSixteen Critical Software Practices• Construction Integrity7. Adopt life cycle configuration management8. Manage and trace requirements9. Use system-based software design10. Ensure data and database interoperability11. Define and control interfaces12. Design twice, code once13. Assess reuse risks and costsSixteen Critical Software Practices• Product Stability and Integrity14. Inspect requirements and


View Full Document

MIT 16 851 - Satellite Systems Software

Download Satellite Systems Software
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Satellite Systems Software and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Satellite Systems Software 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?