Skip to content

Commit b8bf21b

Browse files
committed
edits
1 parent 4ae00d5 commit b8bf21b

File tree

3 files changed

+54
-40
lines changed

3 files changed

+54
-40
lines changed

draft-4/Workflow.yml

Lines changed: 25 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,12 @@ $graph:
2222
- |
2323
# Abstract
2424
25-
A Workflow is an analysis task represented by a directed graph describing
26-
a sequence of operations that transform an input data set to output.
27-
This specification defines the Common Workflow Language (CWL) Workflow
28-
description, a vendor-neutral standard for representing workflows
29-
intended to be portable across a variety of computing platforms.
25+
One way to define a workflow is: an analysis task represented by a
26+
directed graph describing a sequence of operations that transform an
27+
input data set to output. This specification defines the Common Workflow
28+
Language (CWL) Workflow description, a vendor-neutral standard for
29+
representing workflows intended to be portable across a variety of
30+
computing platforms.
3031
3132
- {$include: intro.md}
3233

@@ -85,7 +86,7 @@ $graph:
8586
specializeTo: "#ExpressionToolOutputParameter"
8687
documentRoot: true
8788
doc: |
88-
Execute an expression as a process step.
89+
Execute an expression as a Workflow step.
8990
fields:
9091
- name: "class"
9192
jsonldPredicate:
@@ -164,7 +165,7 @@ $graph:
164165
- name: source
165166
doc: |
166167
Specifies one or more workflow parameters that will provide input to
167-
the underlying process parameter.
168+
the underlying step parameter.
168169
jsonldPredicate:
169170
"_id": "cwl:source"
170171
"_type": "@id"
@@ -187,7 +188,7 @@ $graph:
187188
doc: |
188189
The input of a workflow step connects an upstream parameter (from the
189190
workflow inputs, or the outputs of other workflows steps) with the input
190-
parameters of the underlying process.
191+
parameters of the underlying step.
191192
192193
## Input object
193194
@@ -296,9 +297,9 @@ $graph:
296297
docParent: "#Workflow"
297298
doc: |
298299
A workflow step is an executable element of a workflow. It specifies the
299-
underlying process implementation (such as `CommandLineTool`) in the `run`
300-
field and connects the input and output parameters of the underlying
301-
process to workflow parameters.
300+
underlying process implementation (such as `CommandLineTool` or another
301+
`Workflow`) in the `run` field and connects the input and output parameters
302+
of the underlying process to workflow parameters.
302303
303304
# Scatter/gather
304305
@@ -436,15 +437,15 @@ $graph:
436437
specializeTo: "#WorkflowOutputParameter"
437438
doc: |
438439
A workflow describes a set of **steps** and the **dependencies** between
439-
those processes. When a process produces output that will be consumed by a
440-
second process, the first process is a dependency of the second process.
440+
those steps. When a step produces output that will be consumed by a
441+
second step, the first step is a dependency of the second step.
441442
442443
When there is a dependency, the workflow engine must execute the preceeding
443-
process and wait for it to successfully produce output before executing the
444-
dependent process. If two processes are defined in the workflow graph that
445-
are not directly or indirectly dependent, these processes are
446-
**independent**, and may execute in any order or execute concurrently. A
447-
workflow is complete when all steps have been executed.
444+
step and wait for it to successfully produce output before executing the
445+
dependent step. If two steps are defined in the workflow graph that
446+
are not directly or indirectly dependent, these steps are **independent**,
447+
and may execute in any order or execute concurrently. A workflow is
448+
complete when all steps have been executed.
448449
449450
Dependencies between parameters are expressed using the `source` field on
450451
[workflow step input parameters](#WorkflowStepInput) and [workflow output
@@ -458,21 +459,21 @@ $graph:
458459
459460
## Workflow success and failure
460461
461-
A completed process must result in one of `success`, `temporaryFailure` or
462-
`permanentFailure` states. An implementation may choose to retry a process
462+
A completed step must result in one of `success`, `temporaryFailure` or
463+
`permanentFailure` states. An implementation may choose to retry a step
463464
execution which resulted in `temporaryFailure`. An implementation may
464465
choose to either continue running other steps of a workflow, or terminate
465466
immediately upon `permanentFailure`.
466467
467-
* If any step of a workflow execution results in `permanentFailure`, then the
468-
workflow status is `permanentFailure`.
468+
* If any step of a workflow execution results in `permanentFailure`, then
469+
the workflow status is `permanentFailure`.
469470
470471
* If one or more steps result in `temporaryFailure` and all other steps
471472
complete `success` or are not executed, then the workflow status is
472473
`temporaryFailure`.
473474
474-
* If all workflow steps are executed and complete with `success`, then the workflow
475-
status is `success`.
475+
* If all workflow steps are executed and complete with `success`, then the
476+
workflow status is `success`.
476477
477478
# Extensions
478479

draft-4/concepts.md

Lines changed: 18 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -62,19 +62,21 @@ boolean, array, or object.
6262
A **document** is a file containing a serialized object, or an array of objects.
6363

6464
A **process** is a basic unit of computation which accepts input data,
65-
performs some computation, and produces output data.
65+
performs some computation, and produces output data. Examples include
66+
CommandLineTools, Workflows, and ExpressionTools.
6667

67-
An **input object** is an object describing the inputs to a invocation of process.
68+
An **input object** is an object describing the inputs to a invocation of
69+
process.
6870

69-
An **output object** is an object describing the output of an invocation of a process.
71+
An **output object** is an object describing the output of an invocation of a
72+
process.
7073

7174
An **input schema** describes the valid format (required fields, data types)
7275
for an input object.
7376

7477
An **output schema** describes the valid format for a output object.
7578

76-
**Metadata** is information about workflows, tools, or input items that is
77-
not used directly in the computation.
79+
**Metadata** is information about workflows, tools, or input items.
7880

7981
## Syntax
8082

@@ -140,8 +142,9 @@ form a directed graph, and independent steps may run concurrently.
140142
A **runtime environment** is the actual hardware and software environment when
141143
executing a command line tool. It includes, but is not limited to, the
142144
hardware architecture, hardware resources, operating system, software runtime
143-
(if applicable, such as the Python interpreter or the JVM), libraries, modules,
144-
packages, utilities, and data files required to run the tool.
145+
(if applicable, such as the specific Python interpreter or the specific Java
146+
virtual machine), libraries, modules, packages, utilities, and data files
147+
required to run the tool.
145148

146149
A **workflow platform** is a specific hardware and software implementation
147150
capable of interpreting CWL documents and executing the processes specified by
@@ -201,7 +204,7 @@ warning if a hint cannot be satisfied.
201204

202205
Requirements are inherited. A requirement specified in a Workflow applies
203206
to all workflow steps; a requirement specified on a workflow step will
204-
apply to the process implementation.
207+
apply to the process implementation of that step and any of its substeps.
205208

206209
If the same process requirement appears at different levels of the
207210
workflow, the most specific instance of the requirement is used, that is,
@@ -223,7 +226,7 @@ field permitting the pseudo-type `Expression`, as specified by this document.
223226
Conforming implementations must support parameter references. Parameter
224227
references use the following subset of
225228
[Javascript/ECMAScript 5.1](http://www.ecma-international.org/ecma-262/5.1/)
226-
syntax.
229+
syntax but they are designed to not require a Javascript engine for evaluation.
227230

228231
In the following BNF grammar, character classes and grammar rules are denoted
229232
in '{}', '-' denotes exclusion from a character class, '(())' denotes grouping,
@@ -232,12 +235,12 @@ one or more repeats, all other characters are literal values.
232235

233236
<p>
234237
<table class="table">
235-
<tr><td>symbol:: </td><td>{Unicode alphanumeric}+</td></tr>
236-
<tr><td>singleq:: </td><td>[' (( {character - '} | \' ))* ']</td></tr>
237-
<tr><td>doubleq:: </td><td>[" (( {character - "} | \" ))* "]</td></tr>
238-
<tr><td>index:: </td><td>[ {decimal digit}+ ]</td></tr>
239-
<tr><td>segment:: </td><td>. {symbol} | {singleq} | {doubleq} | {index}</td></tr>
240-
<tr><td>parameter::</td><td>$( {symbol} {segment}*)</td></tr>
238+
<tr><td>symbol:: </td><td>{Unicode alphanumeric}+</td></tr>
239+
<tr><td>singleq:: </td><td>[' (( {character - '} | \' ))* ']</td></tr>
240+
<tr><td>doubleq:: </td><td>[" (( {character - "} | \" ))* "]</td></tr>
241+
<tr><td>index:: </td><td>[ {decimal digit}+ ]</td></tr>
242+
<tr><td>segment:: </td><td>. {symbol} | {singleq} | {doubleq} | {index}</td></tr>
243+
<tr><td>parameter reference::</td><td>$( {symbol} {segment}*)</td></tr>
241244
</table>
242245
</p>
243246

site/cwlsite-draft4-job.json

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@
4343
"https://w3id.org/cwl/cwl#CreateFileRequirement=CommandLineTool.html#CreateFileRequirement",
4444
"https://w3id.org/cwl/cwl#EnvVarRequirement=CommandLineTool.html#EnvVarRequirement",
4545
"https://w3id.org/cwl/cwl#ShellCommandRequirement=CommandLineTool.html#ShellCommandRequirement",
46-
"https://w3id.org/cwl/cwl#ResourceRequirement=CommandLineTool.html#ResourceRequirement",
46+
"https://w3id.org/cwl/cwl#ResourceRequirement=CommandLineTool.html#ResourceRequirement"
4747
],
4848
"brandlink": "index.html",
4949
"brandimg": "<img src='../CWL-Logo-Header.png' style='height: 61px; margin-top: -20px; margin-left: -20px'></img>",
@@ -62,5 +62,15 @@
6262
"brandlink": "index.html",
6363
"brandimg": "<img src='../CWL-Logo-Header.png' style='height: 61px; margin-top: -20px; margin-left: -20px'></img>",
6464
"primtype": null
65+
},
66+
{
67+
"source": {"$import": "userguide-draft4-input.json"},
68+
"target": "draft-4/UserGuide.html",
69+
"renderlist": [],
70+
"redirect": [],
71+
"brandlink": "index.html",
72+
"brandimg": "<img src='../CWL-Logo-Header.png' style='height: 61px; margin-top: -20px; margin-left: -20px'></img>",
73+
"primtype": null
6574
}
75+
6676
]

0 commit comments

Comments
 (0)