Project Meeting 2023.04.25 - ActivitySim/activitysim GitHub Wiki

Agenda

  • Roadmap Update: Software Vision

Meeting Notes

  • Presentation: activitysim-roadmap-interim-wip-software-25-april-2023.pptx

  • Proposed architecture

    • Current components already exist but want to separate and re-organize
    • Need a data model to consolidate and enforce consistency across the different components
    • Separate repos for the different managers
    • Proposed approach is more modular
  • Question about difference between a software issues versus a project management issues (what the consortium maintains or doesn't maintain seems like a project management issue)

    • We are currently lacking an API that says this is what these things are.
    • There is leakage between what’s going on with the skims storage/management and how it gets used inside models and components.
    • There are a handful of places where individual model implementations have been written into a csv config file instead of python and not a well contained LOS manager. It’s a hack that’s buried in different places in the code. For example, with sharrow, there are spots where someone has hacked how skims are handled and those hacks are sprinkled in a few places, which makes improvements like sharrow more tedious to make work.
    • The current implementation could make future improvements difficult because one would need to search through everyone’s implementation and config files to make new things work.
  • Technical point to note:

    • The tricky part (from a technical point of view) will be the LOS manager
    • There's going to be costs and complications that we haven't fully thought through, just like the current design. We don’t know what challenges there are going to be when trying to put a new vision in practice.
    • ActivitySim was started to get around a specific software. Seems like we’re going full circle back to the what we were originally trying to not do.
  • One of the issues with the CT-RAMP implementation was that distributed computing was constrained by the HH manager - too many nodes requesting HHS and sending completed HHs to the manager was a roadblock to massively distributed computing.

    • This framework would make it easier to test individual components.
    • This framework and modularity could reduce the startup burden.