Skip to content

Commit

Permalink
C4 architecture diagrams (#736)
Browse files Browse the repository at this point in the history
For architecture diagrams:

- System Context Diagram : provide a high level view of the system
surrounding Antares
- Container Diagram : provide context on Antares platform components
- Container Diagram (simple) : same as above, removing details for
clarity
- Component Diagram : provide a zoomed view of Xpansion components
architecture
  • Loading branch information
JasonMarechal25 authored Feb 15, 2024
1 parent b195dd8 commit d0df707
Show file tree
Hide file tree
Showing 8 changed files with 2,471 additions and 0 deletions.
761 changes: 761 additions & 0 deletions conception/C4/ContainerDiagram-Container_Diagram_for_Antares.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
46 changes: 46 additions & 0 deletions conception/C4/ContainerDiagram.puml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
@startuml
'https://plantuml.com/sequence-diagram
!include <C4/C4_Container>

LAYOUT_WITH_LEGEND()
title Container Diagram for Antares

Person(Alice, "Alice", "Chargée d'étude")
Person(Toph, "Toph", "Chargée d'étude")
Person(Bob, "Bob", "Thésard")

System_Boundary(antares, "Platform Antares", "Quantify the adequacy, or the economic performance of interconnected energy systems"){
Container(web, "Antares Web", "React/Python", "Manage studies")
Container(xpansion, "Xpansion", "C++", "Perform investment simulations for Antares studies")
Container(simulator, "Antares simulator", "C++", "Quantify the adequacy, or the economic performance of interconnected energy systems")
Container(scripts, "Script R", "R")
}

Rel(Alice, web, "Configure and run studies", "Web browser")
Rel(Bob, simulator, "Try new things", "Local file")
Rel(Bob, xpansion, "Try new things", "Local file")

System_Ext(calin, "Calin", "Host Antares")
System_Ext(vm_web, "VM")

Rel(web, calin, "Run simulator", "ssh/scp")
Rel(web, calin, "Run xpansion", "ssh/scp")
Rel(xpansion, calin, "Execute on", "Command line")
Rel(simulator, calin, "Execute on", "Command line")
Rel(xpansion, simulator, "Run several iterations", "Command line")
Rel(web, vm_web, "Hosted on")
Rel(scripts, simulator, "Generate studies")
Rel(scripts, xpansion, "Generate studies")
Rel(scripts, web, "Provide studies", Rest)

System_Ext(vms, "Windows Virtual Machines", "Host studies")
Rel(Toph, vms, "Use VM to manipulate studies")
Rel(vms, calin, "Run studies on", "Antares Launcher")
Rel(vms, web, "Share studies", "E:")

System_Ext(out, "Downstream systems (e.g. Imagrid)")
Rel(out, antares, "Exploit results")

System_Ext(in, "Upstream systems (e.g. User scripts)")
Rel(in, scripts, "Provide data")
@enduml
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
42 changes: 42 additions & 0 deletions conception/C4/ContainerDiagramSimple.puml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
@startuml
'https://plantuml.com/sequence-diagram
!include <C4/C4_Container>

LAYOUT_WITH_LEGEND()
title Container Diagram for Antares (simple)

Person(Alice, "Alice", "Chargée d'étude")
Person(Toph, "Toph", "Chargée d'étude")
Person(Bob, "Bob", "Thésard")

System_Boundary(antares, "Platform Antares", "Quantify the adequacy, or the economic performance of interconnected energy systems"){
Container(web, "Antares Web", "React/Python", "Manage studies")
Container(xpansion, "Xpansion", "C++", "Perform investment simulations for Antares studies")
Container(simulator, "Antares simulator", "C++", "Quantify the adequacy, or the economic performance of interconnected energy systems")
Container(scripts, "Script R", "R")
}

Rel(Alice, web, "Configure and run studies", "Web browser")
Rel(Bob, simulator, "Try new things", "Local file")
Rel(Bob, xpansion, "Try new things", "Local file")

System_Ext(calin, "Calin", "Host Antares")

Rel(web, calin, "Run simulator", "ssh/scp")
Rel(web, calin, "Run xpansion", "ssh/scp")
Rel(xpansion, simulator, "Run several iterations", "Command line")
Rel(scripts, simulator, "Generate studies")
Rel(scripts, xpansion, "Generate studies")
Rel(scripts, web, "Provide studies", Rest)

System_Ext(vms, "Windows Virtual Machines", "Host studies")
Rel(Toph, vms, "Use VM to manipulate studies")
Rel(vms, calin, "Run studies on", "Antares Launcher")
Rel(vms, web, "Share studies", "E:")

System_Ext(out, "Downstream systems (e.g. Imagrid)")
Rel(out, antares, "Exploit results")

System_Ext(in, "Upstream systems (e.g. User scripts)")
Rel(in, scripts, "Provide data")
@enduml
30 changes: 30 additions & 0 deletions conception/C4/SystemContextDiagram.puml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
@startuml
'https://plantuml.com/sequence-diagram
!include <C4/C4_Container>

LAYOUT_WITH_LEGEND()
title System Context Diagram for Antares

Person(Alice, "Alice", "Chargée d'étude")
Person(Toph, "Toph", "Chargée d'étude")
Person(Bob, "Bob", "Thésard")

System(antares, "Platform Antares", "Quantify the adequacy, or the economic performance of interconnected energy systems")

Rel(Alice, antares, "Configure and run studies")
Rel(Bob, antares, "Try new things")

System_Ext(calin, "Calin", "Host Antares")
Rel(antares, calin, "Run on")

System_Ext(vms, "Windows Virtual Machines", "Host studies")
Rel(Toph, vms, "Use VM to manipulate studies")
Rel(vms, calin, "Run studies on")
Rel(vms, antares, "Host studies")

System_Ext(out, "Downstream systems (e.g. Imagrid)")
Rel(out, antares, "Exploit results")

System_Ext(in, "Upstream systems (e.g. User scripts)")
Rel(in, antares, "Generate data for")
@enduml
Loading

0 comments on commit d0df707

Please sign in to comment.