MAGI allows you to automate and manage the procedures of a CREATE experiment which is very useful for highly complex experiments. It's essentially a workflow management system for CREATE that provides deterministic control and orchestration over event streams, repeatable enactment of procedures and control and data management for experiments.

MAGI replaces the SEER experimentation framework and is part of the DETER experiment lifecycle management tools.

The procedure for a MAGI experiment is expressed in a YAML-based Agent Activation Language (AAL) file. The MAGI Orchestrator tool parses the procedure AAL file and maintains experiment-wide state to execute the procedure. The Orchestrator then sends and receives events from agents on the experiment nodes and enforces synchronization points -- called as triggers — to deterministically execute the procedure.

You'll find more detailed information about writing the AAL file in the Orchestrator Guide.

3. Run the magi_orchestrator.py tool on a physical experiment in CREATE

Similar to Containers, you run the Orchestrator tool in conjunction with a swapped-in physical experiment in CREATE. magi_orchestrator.py reads the procedure's AAL file and orchestrates an experiment based on the specified procedures.

In an orchestrated experiment, you can access the virtual nodes with the same directories mounted as in a Core CREATE experiment. You can load and run software and conduct experiments as you would in a Core experiment.

5. Save your work and swap out your experiment (release the resources)

As with all CREATE experiment, when you are ready to stop working on an experiment but know you want to work on it again, save your files in specific protected directories and swap-out (via web interface or commandline) to release resources back to the testbed. This helps ensure there are enough resources for all CREATE users.