39 lines
1.8 KiB
Plaintext
39 lines
1.8 KiB
Plaintext
@startuml
|
|
|
|
!include https://raw.githubusercontent.com/plantuml-stdlib/C4-PlantUML/master/C4_Container.puml
|
|
!include https://raw.githubusercontent.com/plantuml-stdlib/C4-PlantUML/master/C4_Component.puml
|
|
|
|
Container(manager, "Manager", "Python", "Converts input data to Python models, initializes variables, runs the main loop")
|
|
ContainerQueue(events, "Events", "Python", "Decisions taken by agents (e.g., departure from origin, boarding and alighting, turn at intersections)")
|
|
|
|
Person(contributor, "Contributor", "Developer improving or extending MetroSim")
|
|
|
|
ContainerDb(network_conditions, "Predicted Network Conditions", "Python", "Predicted values for relevant network conditions (e.g., travel time by car, vehicle occupancy)")
|
|
|
|
Container_Boundary(preday_model, "Pre-Day Model") {
|
|
Component(mode_choice, "Route Choice", "Python", "Computes chosen route and associated departure time")
|
|
Component(route_evaluation, "Route Evaluation", "Python", "Computes the chosen departure time for a given route and associated utility")
|
|
Component(car, "Car", "Python", "Defines how utility of car routes is computed")
|
|
Component(public_transit, "Public Transit", "Python", "Defines how utility of public-transit routes is computed")
|
|
Component(generic_mode, "Generic Mode", "Python", "Defines how utility of a given mode is computed")
|
|
}
|
|
|
|
Rel(manager, mode_choice, "Calls")
|
|
Rel(mode_choice, events, "Writes")
|
|
|
|
Rel(contributor, generic_mode, "Develops")
|
|
|
|
Rel(mode_choice, route_evaluation, "Requests utility and departure time")
|
|
|
|
Rel(route_evaluation, car, "Requests utility")
|
|
Rel(route_evaluation, public_transit, "Requests utility")
|
|
Rel(route_evaluation, generic_mode, "Requests utility")
|
|
|
|
Rel(car, network_conditions, "Reads")
|
|
Rel(public_transit, network_conditions, "Reads")
|
|
Rel(generic_mode, network_conditions, "Reads")
|
|
|
|
SHOW_DYNAMIC_LEGEND()
|
|
|
|
@enduml
|