Fesq, 2/7/01 1 16.070Welcome to 16.070 - Introduction to Computers andProgramming for Aero/Astro Majors• Introductions• 16.070 as part of the Aero/Astro core curriculum• Course Objectives• Administrative Issue -Computer Lab Sessions to be scheduled• An overview of the role of software in aerospace applicationsFesq, 2/7/01 2 16.070Course 16.070 vs Other Computer CoursesHardwareOperating Systems/CompilersLanguagesAlgorithmsToolsNumerical Analysis /Numerical Methods /Scientific ComputingArtificial IntelligenceTheory of ComputationReal-time Embedded Systems6.046J6.044J, 6.045J6.004, 6.8236.0346.033, 6.0351.00, 10.001, 10.002J, 13.002J, 16.901, 18.33016.900MATLAB, MAPLE, XESS. . .Assembly,Jovial, Ada, CLISP16.070C++CRMARTOSAero/Astro6.001, 6.821Fesq, 2/7/01 3 16.070Course Objectives• Course objectives set in context of conceive, design, implement andoperate aero/astro information systems. Students will be able to! Design modular programs using a top-down design approach (CD);! Create structured, well-documented computer programs (I)! Test and analyze programs to ensure proper program operation (IO)• Measurable outcomes for this course! Demonstration of problem solving employing a methodical software developmentprocess [measured by problem sets and exams]! Conception and design of applications programs (e.g., simulators and real-timeembedded systems) [measured by problem sets and exams]! Building, testing and operation of real-time embedded application programs throughhands-on experience with a single-board computer [measured by problem sets anddemonstration]! Demonstration of effective test methods to evaluate and document programexecution [measured by problem sets and demonstration]Fesq, 2/7/01 4 16.070Expectations• Class/Recitation attendance not mandatory, but highly recommended• Homework is 55% of your grade -- do it, and hand it in on time!! Late assignments accepted only if you contact TA Thomas Jones beforeassignment is due, and discuss circumstances and plan for completion! Late assignments will be docked 1/3 of grade for each 24 hours late, andwill not be accepted after solutions have been posted• Collaboration/teamwork policy on the web• Pathway for feedback! "Muddiest Point" and "Comments" on the web, both anonymous! Concerns - Dr. Fesq, TA (grad or undergrad), advisor, Prof. John Deyst• Reading assignments - read ahead to understand lectures and toaccomplish homeworks/exams.Fesq, 2/7/01 5 16.070Administrative Issue• Scheduling "Tuesday" Computer Lab Sessions! ~85 students, 6 sessions available, ~15 students per session! Lab times− M3, M4− T9, T10, T11, T12! Go to web page and identify conflicts that you have with the lab times− http://web.mit.edu/16.070/www/− Announcements link! Lab times will be assigned on Friday, 2/9/01Fesq, 2/7/01 6 16.070Overview of Software in Aeronautics/Astronautics• Software is an integral part of aerospace systems, controlling virtuallyevery movement! Space Shuttle has 5 on-board processors, >1 million lines of code! F-16D (late '80s) has 15 computer systems, 300 digital processors, 236,000lines of code! B-2 has >200 processors, ~5 million lines of code! B777 has ~1400 processors, ~5 million lines of code• Ground-based systems are even larger! FAA Air Traffic Control System to replace 1972 system− Begun in 1982, still not completely installed− >$6B spent! Iridium - 17M lines of codeFesq, 2/7/01 7 16.070Software Development in Aeronautics/Astronautics• In this course, you will learn the principles of software engineering asthey relate to two main areas relevant to aerospace/aeronautics! Simulations− Simulating/modeling real-world applications such as spacecraft/aircraft vehicledynamics! Embedded Flight Software− Writing software that control spacecraft/aircraft and ensuring robustness andtimelinessFesq, 2/7/01 8 16.070Aerospace Software Engineering• Top 10 technical issues of concern for aerospace applications software! It is large! Solves/models complex mathematical/physical problems! Uses every available machine cycle and every storage bit when completed! Tailored to a single mission! Embedded within complex system of many interacting "hardware" elements! Embodies significantly new functions never before coded in software! Has a stressful operating environment! Has complex interactions with highly trained users! Its builders do not use it; its users do not build it! Its operation risks human life and/or great economic loss• Aerospace poses many unique and demanding challenges to softwareFesq, 2/7/01 9 16.070Embedded Systems• An Embedded System is a software system that is completelyencapsulated by the hardware that it controls.• General Purpose Computers have the following properties! Stand-alone system, responds primarily to a user! Comprised of additional mechanical components such as disk drives! Not designed for a specific function -- designed for multi-purpose− E.g., Spreadsheet, Presentation material, Programming• In contrast, Embedded Systems have the following properties! Exist inside a larger system with purpose of helping system accomplishresponsibilities. May interact with users! Are connected to monitoring and/or controlling hardware− E.g., Temperature sensors, Ailerons! Designed to perform a specific function, e.g., microwave oven, ATMFesq, 2/7/01 10 16.070Embedded Systems - cont.• An Embedded System frequently is a component within a largersystem! E.g., Modern Automobile− An embedded system controls anti-lock brakes− An embedded system monitors and controls vehicle's emissions− An embedded system displays information on the dashboardFesq, 2/7/01 11 16.070Real-Time Systems• A Real-Time system is defined as one in which timeliness is asimportant as the correctness of the output• Real-Time Systems are often embedded systems• Real-Time Systems have timing constraints! Partly specified in terms of ability to make certain calculations or decisionswithin a pre-determined time-frame! Pre-determined time-frame is called a deadline− "When a command is sent to a thruster, the thruster must respond within 10 ms+/- 2 ms"! A missed deadline is just as bad as a wrong answer− A real-time system as part of an airplane's flight control system• Designers of Real-Time Systems must guarantee reliable operation ofsoftware and hardware under all possible conditionsFesq, 2/7/01 12 16.070Programming Languages for Embedded
View Full Document