opentripplanner / OpenTripPlanner

An open source multi-modal trip planner
http://www.opentripplanner.org
Other
2.22k stars 1.03k forks source link

Split OTP into separate modules #6155

Open t2gran opened 1 month ago

t2gran commented 1 month ago

With everything in one module it is difficult and time-consuming to enforce the modularity. By breking OTP into modules it will be easier to understand where the boundaries are and they can be enforced in maven dependency - not manually.

This will also allow us to set different quality assurance requeierments for each model. We can for example only allow the core team of developers to change the most important part of the code.

This will also mak it possible to divide OTP into more then one runtime (process) later or swap out part of OTP. There has been a few request for using other street routers - this is probably a difficult task, but should be easier if there is a clear boundary around the street routing. For example, the internal state of AStar is today leaked outside of AStar when returning the result.

A good starting point would be:

This overview is incomplete, the details must be worked when doing this.

Here is an overveiew of what I think could be the target:

modules

t2gran commented 1 week ago

I have now ported most of the suggestions in PR #6130, but a few things reminds: