Requirements-Based Test Generation for Data Flow Diagrams
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current commercial off-the-shelf tools for generating tests using data flow block diagrams in aerospace applications only achieve structural code coverage, falling short of meeting certification standards like DO-178B, which requires comprehensive verification, leading to costly and time-consuming manual test generation processes.
Innovation Solution
An automated test generation method that uses static and dynamic analysis to create requirements-based test cases through signal propagation and range intersection, allowing for the verification of software implementations against their design specifications, reducing the need for manual test case generation and enhancing code coverage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If automated test generation tools are used, then productivity is improved, but test coverage depth deteriorates (only structural code coverage achieved)
Solution Approach 1:
The patent introduces an intermediary layer between automated test generation and requirements verification. Test cases are generated not directly from code structure but through an intermediary mapping process that traces requirements through the data flow diagram to generate tests, thereby achieving both automation and deep requirements coverage
Solution Approach 2:
The patent segments the test generation process into distinct phases: requirements analysis, data flow diagram construction, test case generation from requirements, and verification mapping. This segmentation allows each phase to be automated independently while maintaining comprehensive test coverage
2Manufacturing precision
If manual test generation is used, then test coverage depth is improved, but productivity deteriorates (costly and time-consuming)
Solution Approach 1:
The patent performs preliminary action by constructing a complete data flow diagram and mapping all requirements to diagram elements before test generation. This preliminary structuring enables automated generation of comprehensive tests without manual intervention during the actual test creation phase
Solution Approach 2:
The system makes the test generation process self-service by automatically tracing requirements through the data flow diagram and generating test cases without human intervention. The automated mapping between requirements, diagram elements, and test cases eliminates the need for manual test creation while maintaining deep coverage
3Reliability
If comprehensive verification is implemented, then reliability is improved, but loss of time deteriorates (extended verification周期)
Solution Approach 1:
The patent replaces the mechanical process of manual test execution with an automated system that generates and executes tests based on requirement tracing through the data flow diagram. This substitution maintains comprehensive verification while dramatically reducing the time required
Solution Approach 2:
The patent implements feedback mechanisms where test results automatically map back to requirements and data flow diagram elements, enabling rapid verification cycles. The automated feedback loop allows comprehensive verification to be performed iteratively and efficiently
Data Source
AI summary
This test generator takes data flow block diagrams and uses requirements-based templates, selective signal propagation, and range comparison and intersection to generate test cases containing test vectors for those diagrams. The templates are based on the functionality and characteristics of a block type, and each block type has associated templates. These templates provide maps for the creation of test values that verify the functionality of particular instances of that block type. Signal propagation allows the generation of diagram-level test cases that verify particular characteristics of a single embedded block. The methods disclosed for signal propagation utilize range intersection, equivalence classes, and block type formulae to create efficient and complete test cases. This test generation method would preferably be repeated until all blocks in a data flow block diagram were verified in their respective contexts, and it creates test cases that cover multiple time steps.


