matsim-vsp / parallel_qsim_rust

Parallel and distributed implementation of the Qsim in Rust
8 stars 0 forks source link

Encapsulate modifiying plans in router #72

Closed paulheinr closed 9 months ago

paulheinr commented 1 year ago

For now, there are things done in the simulation, that are only relevant in case of routing.

E.g.:

Both should be part of the router module. Especially extending/modifiying the plan should be done on the fly during the simulation.

Also, interaction activities should get correct coordinates.

Janekdererste commented 1 year ago

In the end this should include the following:

Janekdererste commented 1 year ago

I will start on this, because it feels like there is too much clutter in the simulation to proceed.

Janekdererste commented 1 year ago

@paulheinr could you please tell me why you decided to pass a Router trait to the simulation instead of the plain object? At the moment it looks like we only have a single type of Router. This feels like a premature abstraction.

paulheinr commented 1 year ago

I will start on this, because it feels like there is too much clutter in the simulation to proceed.

Yeah, I'm afraid you're right. I'm sorry that I haven't thought about encapsulating that before...

@paulheinr could you please tell me why you decided to pass a Router trait to the simulation instead of the plain object? At the moment it looks like we only have a single type of Router. This feels like a premature abstraction.

I think it makes sense to apply IOC to every component, that is plugged into the simulation. Even if this kind of abstraction is premature, in the long term we need a trait either way, don't we? As a near outlook after finishing my thesis, I thought about using another routing algorithm of KIT's rust road router. Therefore, a trait would be beneficial.

Janekdererste commented 1 year ago

As a near outlook after finishing my thesis, I thought about using another routing algorithm of KIT's rust road router. Therefore, a trait would be beneficial.

Thanks that makes sense. We'll keep the interface then.

paulheinr commented 9 months ago

Already done by implementing Replanner trait