ALICE’s Experiment Control System (ECS) uses entities named environments to enable users to take data in ALICE. These environments are a set of software and hardware configurations used for preparation and during data-taking operations.
Environments can transition (link) between multiple states. These states can be:
Thus, for the GUI to provide a good user experience, the ECS GUI introduces a few logic items that are to be known when developing for ECS GUI:
A deployment is a set of operations that prepares hardware and software for data taking operations. A deployment is a definition in ECS GUI that covers an environment first transition from:
PENDING (virtual state) -> STANDBY -> DEPLOY -> CONFIGUREDFor this sequence of actions, ECS GUI assigns a private attribute isDeploying and deploymentError to the environment so that it can display to the User all the information needed.
isDeploying set to:
true - only by:
NewEnvironmentAsyncPENDINGfalse - only if:
CONFIGURED and message 'transition completed successfully' is receivedisDeploying is true already (TBD)deploymentError is updated every time there is an event with an error (TBD)These attributes allow the GUI to display all necessary deployment information to the user.
If a deployment fails, the ECS will remove it from the active environments list. Thus, the GUI uses deploymentError to make sure the environment is kept in-memory until the user acknowledges the error.