Requirements

Planning a schedule

  • As an operator I want to remove a pattern from the planned schedule when it's no longer needed.
  • As an operator I want to set the default pattern to make sure this pattern is executed when no other pattern fulfills its defined execution conditions.
  • As an operator I want to define the repetition count for a scheduled pattern to ensure that the secondary experiments get enough beam.
  • As an operator I want to define execution conditions for an alternate pattern to make sure the pattern is executed only when intended.
  • As an operator I want to add an existing pattern to the planned schedule in order to use it for experiments.
  • As an operator I want to filter patterns by appropriate criteria to find the required chain as quickly as possible.

Supply facility

  • As an operator I want to supply the facility with the planned schedule.

Running schedule handling

  • As an operator I want to monitor which schedule is running in the facility.
  • As an operator I want to perform trims in a running schedule.
  • As an operator I want to stop to a running schedule.

Create a new pattern / edit a pattern

  • As an operator I want to create a new pattern from scratchto define simultaneous operation of the facility.
  • As an operator I want to create a new pattern based on an existing in order to modify it to my needs.

Create a edit pattern

  • As an operator I want to see a visualization of the pattern which visualizes the chain order and facility utilization in order to see the optimization potential.
    • As an operator I want to rearrange the chains in a pattern to improve the utilization of the facility.
    • As an operator I want to see the duration of level-maintaining beamout beam processes to estimate the potential for inserting texts.
    • As an operator I want to fit a chain into a gap between already added chains to use the facility as efficient as possible.
    • As an operator I want to add pre and post to a pattern to avoid hysteresis effects.
    • As an operator I want to remove a chain from a pattern when it's no longer needed.

Create a new chain / edit a chain

  • As an operator I want to create a new chain in order to supply devices with data for an experiment.
  • As an operator I want to add an existing chain to a pattern to start with a set of tried and tested settings.
    • As an operator I want to filter chains by appropriate criteria to find the required chain as quickly as possible.
  • As an operator I want to select experiments from beamtime plannning to support chain creation.
  • As an operator I want to edit chain user settings.
    • As an operator I want to define missing global beam settings for a chain to make the chain computable.
    • As an operator I want to define the beam line to define the sequence of particle transfers.
    • As an operator I want to define beam structure defining settings for a distinct template chain selection.
    • As a machine physicist I want to ensure that operators perform trims based on appropriate optic settings.
      • As an operator I want to select optic presets for each super particle transfer before the chain is scheduled.

Requirements out of scope

This is a collection of requirements which are NOT part of the scheduling application. They may be implemented in other applications.

Beam processes

  • As a machine physicist I want to create a beam processes which can be used to create template chains.
  • As a machine physicist I want to delete no longer needed beam processes.

Template chains

  • As a machine physicist I want to create a template chain which can be used to create timed and init chains.
  • As a machine physicist I want to delete a template chain which can be used to create timed and init chains.

Settings

  • As a machine physicist I want to set settings for beam processes and template chains.
  • As a Cryring commissioning engineer I want to set settings for the currently active pattern.

Schedule management

  • As an operator I want to display one of the previous schedules to use them as a template for the current schedule.

Create a beamtime schedule

  • As a beamtime coordinator I want to define an experiment including its global beam parameters.
  • As a beamtime coordinator I want to define in which time frame an experiment should run.
  • As a beamtime coordinator I want to define which experiments are processed in parallel.
  • As a beamtime coordinator I want to define which experiment is the main experiment.
  • As a beamtime coordinator I want to define the order of parallel experiments.

Open discussions

Topics which haven't been clarified so far.

Beamline selection

There are currently different approaches to beamline selection. Based on an existing target (HESR) and source selection the user can pick one of 6 beamlines (short way without HEBT has been omitted). Link to prototype

Development specification (work in progress)

Prototype

A clickdummy prototype used as a base for discussion during conceptual design of the application. The scope of this prototype is not the first dryrun but the final release of the application.

The current iteration can be found here (please copy link and paste in new tab).

Alternate version (v7a)(23.05.17)

Specific prototypes

Drag'n'drop (last update 27.04.17)

Beamline selection (last update 27.04.17)

Pattern View (last update 27.04.17)

Potentially overlapping chains (last update 27.04.17)

Contexts in lists (23.05.17)

Shift between monitoring and scheduling (18.10.17)

Test (27.10.17)

Prerequirements for development

The following aspects must be ready before the related features can be added to scheduling application.
  • Automatic creation of PRE and POST chains for patterns
  • Mark a pattern as in preparation
  • mark a pattern as 'planned for supply'
  • Pattern groups
  • Repetition count of a pattern
  • Execution conditions
  • Several context metadata
  • Graph containing facility structure data (paeticle transfer graph)
  • Transfer line defintions
  • Backward propragation when performing a trim
  • Beamout computation for patterns. This includes a meachnism to find out the 'idle time' between leveling up and down.

Development milestones as of 21.02.2017

DRY1

  • Create/edit pattern (containing a single chain)
    • Create chain
    • Select beamline for chain
    • Define beam process structure defining user settings
    • Define missing top-level parameters
    • Display list of chains ready to add to pattern
    • Place chain in pattern
    • Remove chain from pattern
  • Display planned patterns
  • Remove pattern from planned schedule
  • Supply facility

DRY2

  • Define execution conditions

DRY3

  • Set pattern repetition count
  • Set pattern type

2018

  • Monitoring a schedule
  • Pre and post
  • Create chain from library
  • Add more than one chain to a pattern
  • Rearrange chains

2019

  • Duplicate a pattern
  • Duplicate a chain
  • Set experiment type (main, secondary)
  • Set non-timing relevant settings

2020

  • Create chain based on beamtime planning

2022

  • Create pattern from library

Project documents

Network folder for documents exchange

Issue tracking in Bugzilla

Test

Launcher

-- ChristianHillbricht - 21 Feb 2017
Topic revision: r22 - 15 Apr 2020, JuttaFitzek
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback