DOC PREVIEW
MIT 16 070 - Lecture Notes

This preview shows page 1-2-14-15-29-30 out of 30 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 30 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 30 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 30 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 30 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 30 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 30 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 30 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

hperry - 5/2/011Real Time System Testing (MIT 16.070 Lecture 31)hperry - 5/2/012MIT 16.070 Real Time System Testing• The next three lectures will focus on:– Lecture 30: (R 11.3)• How to minimize failure in real time systems• Methods used to test real time systems– Lecture 31: (R 13)• What is Software Integration?• Test Tools• An example approach for integration and test of the MIT16.070 final project– Lecture 32: (R 11.4)• Fault Tolerance• Exception Handling• Formal Test Documentationhperry - 5/2/013Hardware / Software IntegrationWhat is Hardware/Software Integration?• Uniting modules from multiple sources to form the overall system• Verifying the system works– according to response time constraints (overall timing)– according to the system requirementsThink of it as building a jig-saw puzzle one piece at a timeor cooking a meal from a recipe.hperry - 5/2/014Hardware / Software IntegrationSystem Unification - The Steps Involved1. Establish a baseline: Identify the different components and/or modules2. Carefully select your test tools - what can make your job easier?3. Determine the best way to fit them together into larger pieces– Link the modules into one load module to form a piece of thesystem• Likely to surface errors in unresolved external symbols, memory assignmentviolations, page link errors, etc.• Often it makes sense to build the cycling infrastructure (tasking) first.– Test that piece of the system– Link in more modules until you have the entire system covered.– In systems running on multiple platforms, you will need at leastone load module per platform and a plan for testing the system as awhole.hperry - 5/2/015Hardware / Software IntegrationSystem Unification - The Steps Involved (continued)4. Regression Testing If a system test fails and the problem has been fixed, you must rerunany affected tests to make sure your fix hasn’t broken something else:– All module-level test cases for any changed module– All system level test cases5. Write up your resultshperry - 5/2/016Real Time Testing Tools• Test Tools - Low Level– Code Comparison (identifies differences between two versions of the sameprogram)– Complexity Analyzer (uses statistical mathematics to measure codecomplexity)– Syntax Checkers (checks for correct parsing of input and handling ofincorrectly formatted data)– Symbolic Debugger (runs a program and tracks variables and the order inwhich instructions are executed)– Data Flow Analyzer (ensures data used by the program has been properlydefined)– Control Flow Analyzer (analyzes logic branches within a program)– Peer Review (uses peers to review programmer’s code)– Walk-Through (asks the programmer to explain his or her code)hperry - 5/2/017Real Time Testing Tools• Test Tools - Intermediate Level– Emulator– Logic Analyzers– Bus Analyzers (PCI, 1553, RS232, VME, etc.)– Debugging tools to allow monitoring of events (context switches, interrupts,semaphores, message sending, etc.)– Tools to allow real time monitoring of variables– Telemetry gathering and post processing/analysis tools.– Console I/O– Debugger– Simulators to provide controled inputs to the system (GPS, autopilot data, etc. )hperry - 5/2/018Real Time Testing Tools• Test Tools - High Level– End-to-End closed-loop simulation (software that represents the whole systeminto which the embedded code will be placed)– Hardware-in-the-loop test bed (software and hardware to represent the wholesystem)Advantages of Using a Good Simulation– Uses real flight code– Provides rigorous realistic dynamics– Provides external conditions (including failure conditions, off-nominal cases,etc.)hperry - 5/2/019Profile • in-flight align• aircraft flight profile• etcScenarios• aircraft dynamicsEnvironment• frame vibration• wind profile• pressure• temperature• turbulence • etcReal Time Testing Tools• Test Tools - A Simulation Test Bed ExampleSWunder testSimulator common memoryReal InstrumentsSimulator InterfaceSensors• gyros• accelerometers• radars• etc.Nav Instruments• HSI• ADIHardware Models• Bus Structure• Discrete Inputs• AirframeSimulation ModelsControl/DisplayDataPost ProcessingCommandsclockDisplayhperry - 5/2/0110Hardware/Software Integration - An ExampleThe Problem:• Develop a system to provide underwater and surface navigation data tothe crew of a submarine allowing a 1-sigma nav error of 10 metersThe Design Constraints• Use existing navigation sensors for velocity, position and attitude data(includes various hardware interfaces)• Create a user interface via touchscreen• New navigation data is available at 16 Hzhperry - 5/2/0111The Navigation System Software ArchitectureGPSSharedMemorySchedulermem _readmem_writeNavigation Sensor TasksClock interruptSensors1 Hz Nav16 Hz NavEpoch NavProcessingNavigation Filter Tasks1 Hz Inputs16 Hz InputsNavigation System SoftwareSensor data poolsSensor Data Processing TasksMemory Access TasksPost to mailboxTaskData TransferNav Interface LibraryTouchscreenethernethperry - 5/2/0112Hardware / Software Integration - An ExampleSystem Unification - The Steps Involved1. Establish a baseline: Identify the different components and/or modulesInfrastructureTasksNav Interface LibraryGPSNavigation Sensor TasksSensorsSensor data poolsUser InterfaceEach of these canbe developed and tested separatelyhperry - 5/2/0113Hardware / Software Integration - An ExampleSystem Unification - The Steps Involved (continued)2. Carefully select your test tools - what can make your job easier?– Software simulation for each of the navigation sensors• Dynamic mode• Static mode– Real sensors when practical (GPS, Inertial Unit)– Hardware-simulated instruments (dials, buttons)– VAX Terminal for debug print– SUN Workstation running OS shell (window on real timeoperation)– VME Bus Analyzer– Peer Reviews / Design Reviewshperry - 5/2/0114Hardware / Software Integration - An ExampleSystem Unification - The Steps Involved (continued)3. Determine the best way to fit them together into larger piecesSharedMemorySchedulermem _readmem_writeClock interrupt1 Hz Nav16 Hz NavEpoch NavProcessingNavigation Filter Tasks (Empty)1 Hz Inputs16 Hz InputsSensor Data Processing TasksMemory Access TasksTest Build 1: The tasking infrastructurehperry - 5/2/0115Hardware / Software Integration - An ExampleSystem Unification - The Steps Involved (continued)3. Determine the best way


View Full Document

MIT 16 070 - Lecture Notes

Documents in this Course
optim

optim

20 pages

Load more
Download Lecture Notes
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 Lecture Notes 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 Lecture Notes 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?