A NavLab 4 Configuration Framework (CF) to Automatically Verify and Inspect Configurations (INI-files)

FFI-Report 2023

About the publication

Report number







1.9 MB



Download publication
Stein Kristiansen
NavLab 4 is a highly configurable simulation and post-processing tool for navigation. While this configurability is a key strength, its complexity can make it difficult even for advanced users to create functional and complete configurations (INI files) that make NavLab behave as the user intends. We present a Configuration Framework (CF) to simplify this task via •an Application Programming Interface (API) and data structures that allow developers tospecify the properties, requirements and parameters of the configurations affecting theircode and to make this information available everywhere in NavLab via a central register •a graphical user interface that presents this information to the user in an intuitive way •mechanisms that use the above-mentioned information to automatically verify thecompleteness of the user-provided configurations The verification of configurations that affect a piece of code is performed proactively (before the code is run) whenever the user executes the code. If any required configuration elements are missing, the CF can prevent the execution of the code to avoid potentially irrecoverable errors. In such cases, the CF informs the user of the missing elements via the above-mentioned graphical user interface so that the user can easily identify and add the missing configuration elements. The task described in the first bullet point is referred to as adding CF support to configured code. In addition to developing the CF itself, we have provided CF support to the code that implements all core activities a user can perform in NavLab, including preprocessing, simulation, estimation, calibration of the Doppler Velocity Log (DVL) and summarizing and exporting analysis results. As a result, the facilities in the two last bullet points above are made available for nearly all existing NavLab functionality. The CF API and data structures are designed to be sufficiently flexible, generic, and intuitive to facilitate adding CF support to future extensions of NavLab 4.

Newly published