I am creating this issue to discuss the process of restoring full tracefile support. Let us use this thread to discuss what are the exact requirements needed for tracefiles to be considered "fully supported"
Based on my understanding from previous discussions, these are the requirements (please comment if there are more):
Canonical Vehicle Names can be any arbitary number (actually, I would like them to be strings, because in the far future i want a "dual stack" solution where a subset of vehicles are using certain BR algorithm, and using strings can help us filter the vehicles.
A need to separate Canonical Names and Entity IDs, the canonical names are the ones in the tracefile and output data, the entity IDs are the one used internally as indexes to matrice operations such as SINR and position.
In the tracefiles, the timesteps are not constant
In the tracefiles, each vehicle does not necessarily have an equal number of records
Restore the ability to dynamically add and remove vehicles in the middle of the simulation
A timeout/heartbeat parameter to remove vehicles that have not moved in a while
Based on my understanding of the codebase (and unfortunately, the use of big "store everything" structs like positionManagement, stationManagement), I will need some time to carefully note down what struct members are used by what functions, because I will definitely need to manipulate them when new vehicles enter and exit and simulation.
But before I begin on this significant work, could you please review all the PR's that I have opened so far? Because the PR's also changed the struct members, and I would like to start with a clean base with all the changes frozen. I will also need the existing dev-parallel-and-tracefile branch merged because returning the output values and preventing printing to a main file is critical for writing automated integration tests that would help us to verify if the implementation of this feature will break other features.
Also, please give me edit permission on the wiki, so I can write tutorials on the features I have added to the simulator, subject to your review.
Hi V2Xsim maintainers,
I am creating this issue to discuss the process of restoring full tracefile support. Let us use this thread to discuss what are the exact requirements needed for tracefiles to be considered "fully supported"
Based on my understanding from previous discussions, these are the requirements (please comment if there are more):
Based on my understanding of the codebase (and unfortunately, the use of big "store everything" structs like
positionManagement
,stationManagement
), I will need some time to carefully note down what struct members are used by what functions, because I will definitely need to manipulate them when new vehicles enter and exit and simulation.But before I begin on this significant work, could you please review all the PR's that I have opened so far? Because the PR's also changed the struct members, and I would like to start with a clean base with all the changes frozen. I will also need the existing
dev-parallel-and-tracefile
branch merged because returning the output values and preventing printing to a main file is critical for writing automated integration tests that would help us to verify if the implementation of this feature will break other features.Also, please give me edit permission on the wiki, so I can write tutorials on the features I have added to the simulator, subject to your review.