Non-Functional Requirements
This section provides the non-functional requirements, the qualities that the software is expected to exhibit.
Correctness: The outputs of the code have the properties of a correct solution.
Portability: The code shall be portable to multiple environments, particularly Linux, Mac OSX, and Windows.
Maintainability: If a likely change is made to the finished software, it will take at most 10\(\%\) of the original development time, assuming the same development resources are available.
Usability: The outputs should be easy to inspect and reuse. The software should export results in a consistent format so that users can post-process and visualize trajectories with external tools.