File management and organization become very important as projects grow and get more complex. There are some tips below that should serve as general guidelines for organizing your files. They are not necessarily ASPICE-specific, and keep in mind that the best solution might differ across different workflows.
1. An example of the default recommended folder structure is shown below. Within the ‘Subsystems’ folder, each subsystem should have the same folder structure. Note the separate folders for files such as test harnesses, test results, etc.
2. Use MATLAB/Simulink projects to contain the set of artifacts from each team/group (i.e., powertrain, GNC, etc.), and use source control software to store the project with each project having its own repository. Use a source control management tool (such as GitLab) to organize the repositories. As of R2021a, Git is natively integrated into MATLAB projects. See the following documentation for more information:
3. Use Git submodules (or equivalent) to include one repository inside another. For more information, review the page below:
4. Use reference projects to include the files from the submodule in the parent project. Referencing the subproject prevents the main project from trying to manage the files of the referenced project. For more information, see the following page:
5. Use groups (such as GitLab Groups) and subgroups to organize Git repositories in a folder-like structure, as shown below:
The GitLab page below contains more information on this:
In general, active utilization of source control is recommended for good file management hygiene. Our documentation team has been made aware of the need for resources advising good file management practices so that they can consider addressing this as a future enhancement.