πŸ”„ Execution Lifecycle in CCP

An Execution is the process of running a Method with user-provided inputs.
It captures the full context, metadata, environment, and outputs of that run.


πŸ“¦ What Is an Execution?

An Execution is triggered when a user fills the form of a Method and runs it.
This generates a full execution bundle that includes:

  • Inputs and parameters

  • Method descriptor

  • Infrastructure and runtime details

  • Output files

  • Metadata and provenance


🧬 Execution Data Structure

Each Execution is stored as a self-contained directory:

execution/
β”œβ”€β”€ auth/
β”‚   └── jwt.json                 # Authentication info
β”œβ”€β”€ metadata/
β”‚   β”œβ”€β”€ method.json              # Method used
β”‚   β”œβ”€β”€ request.json             # Inputs and parameters
β”‚   β”œβ”€β”€ infrastructure.json      # Runtime platform
β”‚   β”œβ”€β”€ instance.json            # Runtime container details
β”‚   β”œβ”€β”€ jobStatus.json           # Lifecycle status
β”‚   └── provo.xml                # Provenance metadata
β”œβ”€β”€ outputs/
β”‚   β”œβ”€β”€ output_file1.txt         # User-generated files
β”‚   β”œβ”€β”€ stdout.log / stderr.log  # Execution logs
└── output.zip                   # Archived version of all outputs

πŸ§ͺ How Executions Are Stored

Executions live in the user’s Workbench (temporary area) and can be:

  • Re-executed (same inputs)

  • Downloaded (as .zip)

  • Shared (via D4Science Workspace)

  • Archived to workspace under CCP/executions

They can also be imported back into the Workbench using:

  • A previously exported .zip

  • A Workspace reference


πŸš₯ Execution Status

An Execution moves through these states:

  1. CREATED β†’ initial request accepted

  2. SCHEDULED β†’ assigned to an infrastructure

  3. STARTED β†’ deploy-script begins

  4. EXECUTING β†’ main script running

  5. COMPLETED / FAILED β†’ terminal state

Each state is logged in metadata_jobStatus.json.


πŸ“œ Metadata and Logging

CCP produces rich metadata for traceability:

  • provo.xml for reproducibility and FAIR principles

  • stdout / stderr logs

  • JSON summaries of method, infra, inputs, and runtime

You can inspect them from the execution view or download them.