metrosim/docs/architecture/overview/metrosim_container.puml

30 lines
1.1 KiB
Plaintext

@startuml
!include https://raw.githubusercontent.com/plantuml-stdlib/C4-PlantUML/master/C4_Context.puml
!include https://raw.githubusercontent.com/plantuml-stdlib/C4-PlantUML/master/C4_Container.puml
Person(contributor, "Contributor", "Developer improving or extending MetroSim")
System_Ext(metroweb, "MetroWeb", "Web-based user interface and Web API")
System_Boundary(metrosim, "MetroSim") {
Container(initializer, "Initializer", "Python", "Computes data needed by the simulator from raw input data")
Container(simulator, "Simulator", "Python", "Iteratively simulates trips until convergence is reached")
ContainerDb(files, "I/O Files", "CSV", "Input and output files")
}
Rel(initializer, files, "Reads raw input data, writes pre-processed data")
Rel(simulator, files, "Reads raw and pre-processed input data, writes output data")
Rel(contributor, initializer, "Runs / Develops")
Rel(contributor, simulator, "Runs / Develops")
Rel(contributor, files, "Writes raw input data")
Rel(metroweb, initializer, "Runs")
Rel(metroweb, simulator, "Runs")
Rel(metroweb, files, "Writes raw input data")
SHOW_DYNAMIC_LEGEND()
@enduml