How VectorCAST supports compliance with DO-178B, DO-178C and DO-278
DO-178C, or its predecessor DO-178B, is a required software process for any commercial avionics project to receive FAA certification. While DO-178 was originally intended for North American commercial avionics, it has been adopted worldwide as the de facto guideline for virtually all airborne software including military, space and unmanned vehicles.
The structural testing process, as defined by DO-178B and DO-178C, revolves around testing the high and low-level requirements and analyzing the code coverage that results from this testing. On many projects, high-level or functional requirements are tested first. During this testing, VectorCAST/Cover can be used to capture and report on the code coverage achieved. Unfortunately, it is almost impossible to get 100% code coverage during system/functional testing.
The remaining code coverage is achieved using unit and integration testing techniques. Unit testing involves using drivers and stubs to isolate particular functions in your application, and stimulating those functions with test cases. These "low-level" tests are used to augment the previously executed system tests and allow you to get to 100% coverage.
VectorCAST/C++ and VectorCAST/Ada can be used to automate the unit and integration testing process. Most importantly, the code coverage achieved during unit and integration testing can be combined with the coverage achieved during system testing. Combined coverage reports are generated that reflect system, integration, and unit testing coverage achieved.
Testing on the Target
In most cases, all of the testing described above will need to be performed on the actual target hardware, or at a minimum, on a target simulator. For unit and integration testing, this is accomplished with VectorCAST/RSP (Runtime Support Package), which is cross-compiler/RTOS specific. When VectorCAST/RSP is used in combination with VectorCAST/C++ or VectorCAST/Ada, it gives you an automated unit/integration test environment for real-time testing.
DO-178B and DO-178C specify that qualification of a software tool is necessary when processes are eliminated, reduced, or automated by the use of a software tool without its output being verified manually. Complete tool qualification kits are available for all VectorCAST products. The VectorCAST tools have been qualified and used for certification on more than 50 DO-178B avionics systems, including Level A systems.
The Future Airborne Capability Environment (FACE™) Consortium
Vector Software supports the Future Airborne Capability Environment (FACE™). FACE is a technical standard that defines a common operating environment supporting portability and reuse of software components across Department of Defense (DoD) aviation systems.
The FACE Consortium is an aviation-focused professional group made up of U.S. industry suppliers, customers, and users focused on defining open standards that increase portability and facilitate usable, inter-operable software in safety- and security-critical systems. The FACE Consortium provides a vendor-neutral forum for industry and the U.S. government to work together to develop and consolidate the open standards, best practices, guidance documents and business models.
Using VectorCAST to test non-airborne military applications
Tanks, radar systems and software defined radio applications are just a few of the defense applications that include the presence of embedded software. But one thing never changes: the system must perform flawlessly, or the mission may be in jeopardy. This is why Defense and Homeland Security companies spend much time and effort testing the software embedded in these systems.
Faster Testing with Increased Software Quality
Whether you are developing new code or maintaining a legacy application, the VectorCAST tools, VectorCAST/C++ or VectorCAST/Ada, allow developers of complex defense applications to test more thoroughly, while drastically cutting the time required to test. VectorCAST/C++ and VectorCAST/Ada can be used to automate the unit and integration testing process. Both tools enable your engineers to create test cases with a few mouse clicks. Even complex test scenarios requiring sequences of function calls and sets of data. Likewise, testing the application on the embedded target is just as easy as testing on a simulator or on the host using VectorCAST/RSP.
The long life cycle of defense products means software testing will be repeated hundreds of times. The automated regression testing built into VectorCAST ensures testing is repeatable against new versions of the application. VectorCAST/Manage is used to manage all test activities across the entire project lifecycle. This gives you a central point of control for all test activities and test reporting.
By using VectorCAST/Cover, you can produce detailed analysis of the code coverage achieved during system testing. The tool allows you to determine the adequacy of your system testing. If parts of the code are not being covered, then more testing is required for those areas of the application. You can even replay these tests using the animation feature to better understand the code coverage. And, the code coverage achieved during unit and integration testing can be combined with the coverage achieved during system testing. Combined coverage reports are generated that aggregate the system, integration, and unit testing coverage achieved.
The VectorCAST DO-178B Qualification Kit for DO-178B contains tool qualification documentation, test cases, and procedures that let you qualify VectorCAST tools on projects based on the DO-178B standard.
The kit contains tool qualification plans, tool operational requirements, and additional materials required for qualifying software verification tools. With the kit, development organizations can streamline certification of their embedded systems developed using VectorCAST.