XReq - Executable Requirements for DO-178B
XReq is a tool designed to help testing and verifying a project. It has been specifically adapted for the DO-178B context but can be used by a much wider audience. To help DO-178B projects, it bring together the tests (HLT/LLT) with their requirements, thus helping traceability of the tests.
Tests are written in English (or any other natural language) with a very simple formalism to keep a structure. The text for the requirement appear first, then appear the text for the test cases. XReq transform the test cases written in English to actual Ada/C/C++ code using a simple matching process with a set of definitions. This compiled test is then run against the project to actually test the project and determine if the tests pass or fails.
XReq was inspired from the Behaviour Driven Development, a process used in the agile community and consisting of writing the requirements and test cases before actually digging in the project. These executable requirements are then used all along the process of implementing the feature to test its validity, and later, to test regressions. By providing XReq, we hope to bring more robust methods in critical or embedded projects.To visit the project on the Open-DO forge, please click here.