MECH 372 / ENGR 372
Space Systems Design and Engineering II
Assignment #8 - Flight Processing
Objective: The purpose of this assignment is to ensure that you have grasped key qualitative (and some very minor quantitative) aspects of the lecture topics involving flight processing and software engineering. 
NOTE: There is no solution summary sheet for this assignment.


Flight Processing

1. What are the typical design resource/metric constraints for embedded computers/controllers?


2. List 3 functions that are typically executed by flight computers running software.


3. Briefly explain how most CPUs use a Fetch-Decode-Execute process to execute a software program.  While doing this, describe what role the "op-code" plays in this process.


4. Describe why it is a challenge for flight computers to do many things at once.  In addition, discuss 3 different approaches for addressing this challenge.


5. What are the 3 primary elements/components of a computer/controller?


6. Why are older computer systems (e.g., a generation or two older than what you might have for a laptop or desktop computer) often used for flight processors?


7. What software language is currently used more than any other for the development of flight software?


8.  Consider a functional task that can be performed by programming your flight computer.  The software engineer knows how to do it, the computer is fast enough to do it, there's enough memory, you have the necessary i/o pins, and so on.  Would there be any reason why you should NOT perform the function via your flight computer's software?


9. [THIS QUESTION WON'T BE GRADED]As presented by our guest speaker Leyna Zimdars, what are the three basic tenants of software engineering?


10. As presented by our guest speaker Leyna Zimdars, what are a few of the reasons why developing software is so difficult?