Skip to end of metadata
Go to start of metadata

Overview of "Schedule Process for Execution" Use Case

Schedule a process for execution.

Tip: Key Points
UC Priority= 4 or 5: Critical, is in R2
Only boldface steps are required
<#> before a step —> lower priority
(optional) —> run-time option

Related Jira Issues:   Open   •   All


Refer to the Product Description and Product Description Release 2 pages for metadata definitions.

Actors Data Process Operator , Integrated Observatory Operator
References UC.R2.47 Define Executable Process
Is Used By UC.R2.19 Produce Matlab Visualization
Is Extended By UC.R2.21 Transform Data in Workflow
In Acceptance Scenarios AS.R2.04A Data Product Leads Drive Core Data Product Creation
Technical Notes This is the execution continuation of UC.R2.47 Define Executable Process. Data stream processes are scheduled in UC.R2.21 Transform Data in Workflow.
Lead Team CEI
Primary Service Process Management Services
Version 1.7.1
UC Priority 5
UC Status Mapped + Ready
UX Exposure ONC


This information summarizes the Use Case functionality.

Schedule an executable process for execution on execution engines, for instance as data stream processing step within a real-time data calibration workflow. Requires pre-defined process, including input/output bindings. Most processes are long running and are simply scheduled 'now'. (Message or timer triggers are responsible for causing appropriate software to execute at desired time; that is not a part of this use case.)


Initial State

A process has been defined, including an available process definition and all metadata necessary to run it.

Scenario for "Schedule Process for Execution" Use Case

  1. The Data Process Operator chooses to schedule an Integrated Observatory process.
    1. Via an operator console or API
  2. The Data Process Operator finds and selects an executable process.
    1. Via the generic ION search and query functions
  3. The Data Process Operator selects the option to define a process.
    1. 'Define' means fully specify the information needed to execute the selected process.
  4. The Data Process Operator provides process execution bindings
    1. Selects one or multiple subscriptions that provides the inputs for the process
      1. Creating a subscription on the fly may be supported
      2. An optional filter expression may be provided
      3. The same process definition can be scheduled with different inputs (multiple execution of this use case), resulting in a different process instance
    2. Defines the parameters for process execution
      1. Based on the available parameter key-value pairs
    3. Defines the process output
      1. As routing information for output messages (such as destination Exchange Point, topic description, other headers)
  5. <3> The Data Process Operator defines process execution schedule
    1. Execution mode
    2. What the process is triggered by
    3. Location of execution
    4. Resources needed (see UC.R2.47 Define Executable Process)
    5. Begin and end time
  6. The Data Process Operator provides additional process execution metadata
    1. Owner
    2. Outcome access restrictions
    3. Description
    4. Additional provenance metadata
  7. The system validates all the information, to ensure a successful outcome is not precluded.
    1. Things to check include syntactically valid script, appropriate execution permissions (e.g., for creating new data), sufficient and valid metadata describing output products, and reasonable time triggers (e.g., not more than 100x per second or less than once per week).
  8. The system allocates and sets up an execution environment compatible with executing the process.
    1. This step sets up the capabilities needed to set up and run the process; it does not configure the process itself yet.
    2. This includes the execution engine and any resources needed to install the process
  9. The system perform custom steps to install the process with an execution engine.
    1. Command a suitable execution engine to install the process
    2. Performing a make/ant/etc. on software to ready it for operation, e.g., compiling it for the local environment.
    3. Other configuration tasks (setting up the right script environment, for example) may also be called for.
    4. The process will now be set up within the execution environment so it is ready to run when triggered.
  10. The system puts in place the appropriate trigger mechanism to execute the process.
    1. For a timed process, this is the equivalent of a cron job entry, to run the process at the given time.
    2. For a message-driven process, this is the subscription to the appropriate message queue.
    3. Once this is in place, the scenario is accomplished – the process will start running on demand.
  11. (optional) The Data Process Operator can modify the process scheduling
  12. (optional) The Data Process Operator can deactivate and remove the process scheduling

Final State

Data process is scheduled for execution or instantiated immediately as reactive data stream process of the script's execution will occur according to the process metadata definition.


These comments provide additional context (usually quite technical) for editors of the use case.

Determinations will need to be made about what kind of resources the users expect to run these processes on, and which of those we support (Matlab, R, Kepler, Java, C, Python, ....), and what custom accommodations are required to support them.

The difference between service and process and process and operational unit again needs to be clarified (in particular, contextualization should belong to operational unit rather than process). Much of the functionality that should have been specified here may have been specified in use case #45.

(click on # to go to R2 use case)
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
61     27B


r2-usecase r2-usecase Delete
usecase usecase Delete
productdescription productdescription Delete
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.