OpenRailAssociation / osrd

An open source web application for railway infrastructure design, capacity analysis, timetabling and simulation
https://osrd.fr
461 stars 43 forks source link

Core: refactor SpeedLimit handling from infra to respect specification #7794

Open bougue-pe opened 4 months ago

bougue-pe commented 4 months ago

As commented in a core TODO, internal model for SpeedLimit isn't able to handle a speed-limit acting only on a train using a specific route and a specific speedLimitTag (and not acting on train using the same route with another speedLimitTag, or the same speedLimitTag but another route).

Yet, this is specified to be possible in speed limit data model specification.

The goal of this ticket is to refactor core's internal model, parse, merge and use to make it possible.

⚠ Notes:

AC:

flomonster commented 4 months ago

Is it a bug or simply a code refactoring task?

bougue-pe commented 4 months ago

It's borderline as it doesn't fulfill the specifications from the website it may be considered a bug... But as it is triggered by a tech retro-engineering and not a functional test, it may be considered a refactor only (or at least lower the priority of the bug). So either one is fine by me.

Tguisnet commented 1 month ago

Still present, @Castavo want to discuss it

bougue-pe commented 1 month ago

Permanent speed-limits (LPV) and temporary ones (LTV) require this fix, as detected by operational study users.

This needs a little check to see if an editoast infra error is attached to that current case (as it's incompatible with core it may be protected), so a proper integration test is required on that.

bougue-pe commented 2 days ago

Postponed for PI 13 as it shouldn't block anything. Also, it would be nice to know for sure what is required for signaling-system speed-limits: very likely to be the same as for speed-limit-tags or route (be able to apply a speed-limit only to trains with a given tag and route and signaling system).