Skip to content
Snippets Groups Projects
Commit bd5183de authored by Nathan Hertz's avatar Nathan Hertz
Browse files

Planned out design. Started laying out class/method structure.

parent cd7af338
No related branches found
No related tags found
No related merge requests found
Showing
with 234 additions and 0 deletions
apps/cli/utilities/wksp0/architecture/images/request-execution.png

149 KiB

apps/cli/utilities/wksp0/architecture/images/request-states.png

45.4 KiB

apps/cli/utilities/wksp0/architecture/images/request-submission.png

147 KiB

apps/cli/utilities/wksp0/architecture/images/sequence-processing.png

135 KiB

apps/cli/utilities/wksp0/architecture/images/sequence-structure.png

146 KiB

apps/cli/utilities/wksp0/architecture/images/step-executions.png

133 KiB

apps/cli/utilities/wksp0/architecture/images/ui-components.png

81.3 KiB

apps/cli/utilities/wksp0/architecture/images/workflow-execution-act.png

88.9 KiB

apps/cli/utilities/wksp0/architecture/images/workflow-execution.png

154 KiB

AWAIT PRODUCTS
AWAIT PARAMETER search-parameters
PREPARE AND RUN WORKFLOW grep-uniq
AWAIT PARAMETER qa-status
PREPARE AND RUN WORKFLOW post-qa
sig User {}
sig Step {}
sig Capability {
submitter: one User,
assignee: lone User,
sequence: one Sequence,
engine: lone Engine
}
sig Sequence {
steps: some Step
}
sig Engine {
capability: lone Capability,
currentStep: one Step
}
fact NoSubmitterIsAssignee {
no c: Capability | c.submitter = c.assignee
}
fact EngineBelongsToCapability {
all c: Capability | c.engine.capability in c
}
fact EnginesOnlyExecuteCapabilitySteps {
all c: Capability | c.engine.currentStep in c.sequence.steps
}
fact EveryCapabilityHasAUniqueEngine {
no disj c, c': Capability | c.engine = c'.engine
}
pred show() {
}
run show for 3 but 3 Step, 3 Capability
module FutureProductLocators where
import Control.Category
type ProductLocator = String
type ProposalId = String
type SessionNumber = Integer
data ProductType = Execblock | Calibration | Image
deriving (Show, Eq)
data FutureProductType = FutureExecblock ProposalId SessionNumber
| FutureProduct ProductType Product
deriving (Show, Eq)
data Product = CurrentArchiveProduct ProductLocator
| FutureArchiveProduct FutureProductType
| Product `And` Product
deriving (Show, Eq)
isReady (CurrentArchiveProduct _) = True
isReady (FutureArchiveProduct _) = False
isReady (p1 `And` p2) = isReady p1 && isReady p2
resolve p@(CurrentArchiveProduct _) = p
resolve (FutureArchiveProduct fp) = undefined -- look up the future product
resolve (p1 `And` p2) = resolve p1 `And` resolve p2
data QaType = Always Bool
| Human
| InvokeScript String
data Task = Executable String | Task `AndThen` Task | Noop
# Minimal makefile for Sphinx documentation
#
# You can set these variables from the command line, and also
# from the environment for the first two.
SPHINXOPTS ?=
SPHINXBUILD ?= sphinx-build
SOURCEDIR = .
BUILDDIR = _build
# Put it first so that "make" without argument is like "make help".
help:
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
.PHONY: help Makefile
# Catch-all target: route all unknown targets to Sphinx using the new
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
%: Makefile
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
wksp
====
.. toctree::
:maxdepth: 4
wksp
wksp package
============
Submodules
----------
wksp.capability module
----------------------
.. automodule:: wksp.capability
:members:
:undoc-members:
:show-inheritance:
wksp.ifaces module
------------------
.. automodule:: wksp.ifaces
:members:
:undoc-members:
:show-inheritance:
wksp.run\_capability module
---------------------------
.. automodule:: wksp.run_capability
:members:
:undoc-members:
:show-inheritance:
wksp.run\_workflow module
-------------------------
.. automodule:: wksp.run_workflow
:members:
:undoc-members:
:show-inheritance:
wksp.workflow module
--------------------
.. automodule:: wksp.workflow
:members:
:undoc-members:
:show-inheritance:
Module contents
---------------
.. automodule:: wksp
:members:
:undoc-members:
:show-inheritance:
# Configuration file for the Sphinx documentation builder.
#
# This file only contains a selection of the most common options. For a full
# list see the documentation:
# https://www.sphinx-doc.org/en/master/usage/configuration.html
# -- Path setup --------------------------------------------------------------
# If extensions (or modules to document with autodoc) are in another directory,
# add these directories to sys.path here. If the directory is relative to the
# documentation root, use os.path.abspath to make it absolute, like shown here.
#
# import os
# import sys
# sys.path.insert(0, os.path.abspath('.'))
# -- Project information -----------------------------------------------------
project = 'Workspace Prototype'
copyright = '2019, Daniel K Lyons'
author = 'Daniel K Lyons'
# The full version, including alpha/beta/rc tags
release = '1.0rc1'
# -- General configuration ---------------------------------------------------
# Add any Sphinx extension module names here, as strings. They can be
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
# ones.
extensions = ['sphinx.ext.autodoc',
]
# Add any paths that contain templates here, relative to this directory.
templates_path = ['_templates']
# List of patterns, relative to source directory, that match files and
# directories to ignore when looking for source files.
# This pattern also affects html_static_path and html_extra_path.
exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store']
# -- Options for HTML output -------------------------------------------------
# The theme to use for HTML and HTML Help pages. See the documentation for
# a list of builtin themes.
#
html_theme = "sphinx_rtd_theme"
html_theme_path = ["_themes", ]
# Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files,
# so a file named "default.css" will overwrite the builtin "default.css".
html_static_path = ['_static']
\ No newline at end of file
.. Workspace Prototype documentation master file, created by
sphinx-quickstart on Thu Nov 21 09:59:49 2019.
You can adapt this file completely to your liking, but it should at least
contain the root `toctree` directive.
Welcome to Workspace Prototype's documentation!
===============================================
.. toctree::
:maxdepth: 2
:caption: Contents:
Indices and tables
==================
* :ref:`genindex`
* :ref:`modindex`
* :ref:`search`
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment