@startuml

title DEPRECATED 12.10.19, ARCHIVE VERSION

actor "App User" as AU
participant ":Launcher" as CLa
participant ":Machine Manager" as CM
participant ":Cluster" as CC
participant ":Logger" as CLo
participant ":Payments" as CP

AU -> CLa : GET /launcher/applications/{id}
activate CLa
CLa -->> AU : 200 ComputationApplication
deactivate CLa

AU -> CLa : POST /launcher/computations (json)
activate CLa
CLa -> CM : POST /machine-manager/computations (json)
activate CM

CM -> CP : POST /payments/computations/{id} (json)
activate CP
CP -->> CM : 201
deactivate CP

CM ->> CC : POST /cluster/computations (json)
activate CC

CM -->> CLa : 201 id
deactivate CM

CLa -->> AU : 201 id
deactivate CLa

CC -> CLo : POST /logger/computations/{id} (json)
activate CLo
CLo -->> CC : 201
deactivate CLo

loop

par

activate CM
CM -> CC : GET /cluster/status/computation
activate CC
CC -->> CM : List<ComputationInfo>
deactivate CC

CM -> CP : PATCH /payments/computations/{id} (json)
activate CP
CP -->> CM : 200
deactivate CP

deactivate CM

else

CC -> CLo : PATCH /logger/computations/{id} (json)
activate CLo
CLo -->> CC : 200
deactivate CLo

end par

break finished computing
CC ->> CM : PUT /machine-manager/computations/{id} (json)
activate CM

end break
end loop

CM -> CP : PATCH /payments/computation/{id} (json)
activate CP
CP -->> CM : 201
deactivate CP
deactivate CM

CC -> CLo : PUT /logger/computations/{id} (json)
activate CLo
CLo -->> CC : 200
deactivate CLo


deactivate CC

@enduml