210 likes | 218 Views
This presentation provides an overview of system development, testing problems, solution approach, and results and conclusions for ensuring software reliability in real-time systems. It includes practical applications and strategies for achieving reliability and safety.
E N D
Software Reliability Assurance for Real-time Systems Joel Henry, Ph.D. University of Montana NASA Software Assurance Symposium September 4, 2002
Overview • System development • Testing problems • Solution approach • Results and conclusions • Practical application
System DevelopmentExample: Wind Tunnel Software • Controls devices that control: • Wind generator • Model support • Tunnel atmosphere • Emphasizes reliability and safety • Utilizes multiple development strategies • Based on simple structure
System DevelopmentSimple Structure External Devices Controlling Computers ALGORITHM Sample Inputs Run Software Update Outputs
System Development • Engineer builds graphical model in MATLAB • Models enter simulate-debug-simulate-debug phase • Engineer auto-generates source code • Source code is compiled, linked, and then deployed • Hardware/software integration begins
Testing ProblemsTest Size • Recall simple model • Input variables – sampled over time • Outputs variables – produced over time • Sample time – variable or set frequency • Consider test requirements • Input file/matrix • Output file/matrix • Analysis tools
Testing ProblemsTest Size • Consider an example • 100 input variables • 50 output variables • 100 millisecond sample time • Assume you want to test a one hour operation period • 100 inputs*10 per second*3600seconds = 3,600,000 values • 50 outputs*10 per second*3600seconds = 1,800,000 values • Ignore issues of useful inputs and defect detection
Testing ProblemsDomain Coverage • Domain determinants • Input variable – minimum, maximum, and accuracy • Output variable – minimum, maximum, and accuracy • Consider test requirements • Input file/matrix with all possible values for input • Output file/matrix much more complex problem
Testing ProblemsDomain Coverage • Consider an example for input variable • Input variable for pressure in a tank • Min – 0 • Max – 999.999 • Accuracy – 3 (decimal places) • 1000*1000 = 1,000,000 possible values • Ignore issues of legal sequencing and combinations
Solution ApproachOverview • Automation to: • Generate large input matrices/files • Perform simulation and/or test autogenerated code • Analyze output matrices/files • Methods to: • Evaluate domain coverage • Aid debugging • Evaluate results
Solution Approach Suite of testing tools Generate Tests Simulate Model Test Auto-code Detect Faults Evaluate Results Command and Control Algorithm Verification and Validation Methodology MATLAB/Simulink Environment Executable Code Source Code
Solution Approach Model Information Test Data Test Results Command and Control Algorithm MATLAB/Simulink Environment Suite of testing tools Generate Tests Test Data Simulate Model Test Auto-code Detect Faults Executable Code Test Results Evaluate Results Verification and Validation Methodology
Solution Approach Data Graphs Suite of testing tools Generate Tests Simulate Model Raw Value Files Test Auto-code Detect Faults Evaluate Results Verification and Validation Methodology Completeness, MTTF, Reliability File
Results and Conclusions • Execute multiple tests • Evaluate testing effectiveness • Track trends in model reliability • Automate and evaluate • Specify effectiveness and reliability goals • Evaluate on a per test case basis • Track through testing phase over all tests
Results and ConclusionsExample – Multiple Tests Bucket Coverage (%)
Practical ApplicationWhat? • Can do domain testing supported with automation • Can set quantitative goals • Can evaluate progress toward goals • Can measure MTTF, domain coverage, confidence percentages, and reliability • Can create an organizational history
Practical ApplicationHow? • Invest in automation • Integrate domain coverage with application specific testing • Establish goals and collect data • Calculate MTTF, domain coverage, and reliability • Use common sense with quantitative data
Questions and Contact Info • Joel Henry • henryj@cs.umt.edu • MATT and RATT • http://www.cs.umt.edu/RTSL/design992/links/index.htm • MATLAB users -