Skip to Main Content
Systems of systems must rely on a sound validation and verification process due to their inherent complexity. This paper presents the results of a formal computer-aided validation and verification of critical time-constrained requirements of the Brazilian Satellite Launcher flight software. It describes the entire specification, validation, and verification process that begins with a system requirement as a natural language specification, followed by the creation and computer-aided validation of UML statechart-formal specification assertions, and ends with the log file based runtime verification. These log files were executed as JUnit tests against the assertions. The verification and validation of the flight software uncovered inaccuracies in the requirements understanding and implementation. The results also confirmed the importance of having computer-aided tools deeply integrated into the verification and validation process, supporting requirement behavioral validation and verification of requirements implementation on the hardware and software platforms on which these systems run.