@@ -28,7 +28,7 @@ serve as a reference for the behavior of conforming implementations.
28
28
The terminology used to describe CWL documents is defined in the
29
29
Concepts section of the specification. The terms defined in the
30
30
following list are used in building those definitions and in describing the
31
- actions of an CWL implementation:
31
+ actions of a CWL implementation:
32
32
33
33
** may** : Conforming CWL documents and CWL implementations are permitted but
34
34
not required to behave as described.
@@ -68,16 +68,16 @@ A **process** is a basic unit of computation which accepts input data,
68
68
performs some computation, and produces output data. Examples include
69
69
CommandLineTools, Workflows, and ExpressionTools.
70
70
71
- An ** input object** is an object describing the inputs to a invocation of
72
- process.
71
+ An ** input object** is an object describing the inputs to an invocation of
72
+ a process.
73
73
74
- An ** output object** is an object describing the output of an invocation of a
75
- process.
74
+ An ** output object** is an object describing the output resulting from an
75
+ invocation of a process.
76
76
77
77
An ** input schema** describes the valid format (required fields, data types)
78
78
for an input object.
79
79
80
- An ** output schema** describes the valid format for a output object.
80
+ An ** output schema** describes the valid format for an output object.
81
81
82
82
** Metadata** is information about workflows, tools, or input items.
83
83
@@ -87,7 +87,7 @@ CWL documents must consist of an object or array of objects represented using
87
87
JSON or YAML syntax. Upon loading, a CWL implementation must apply the
88
88
preprocessing steps described in the
89
89
[ Semantic Annotations for Linked Avro Data (SALAD) Specification] ( SchemaSalad.html ) .
90
- A implementation may formally validate the structure of a CWL document using
90
+ An implementation may formally validate the structure of a CWL document using
91
91
SALAD schemas located at
92
92
https://github.com/common-workflow-language/common-workflow-language/tree/master/draft-4
93
93
@@ -112,7 +112,7 @@ Another transformation defined in Schema salad is simplification of data type de
112
112
Type ` <T> ` ending with ` ? ` should be transformed to ` [<T>, "null"] ` .
113
113
Type ` <T> ` ending with ` [] ` should be transformed to ` {"type": "array", "items": <T>} `
114
114
115
- ## Extensions and Metadata
115
+ ## Extensions and metadata
116
116
117
117
Input metadata (for example, a lab sample identifier) may be represented within
118
118
a tool or workflow using input parameters which are explicitly propagated to
@@ -138,13 +138,13 @@ associated datatype or schema. During execution, values are assigned to
138
138
parameters to make the input object or output object used for concrete
139
139
process invocation.
140
140
141
- A ** command line tool ** is a process characterized by the execution of a
141
+ A ** CommandLineTool ** is a process characterized by the execution of a
142
142
standalone, non-interactive program which is invoked on some input,
143
143
produces output, and then terminates.
144
144
145
145
A ** workflow** is a process characterized by multiple subprocess steps,
146
- where step outputs are connected to the inputs of other downstream steps to
147
- form a directed graph, and independent steps may run concurrently.
146
+ where step outputs are connected to the inputs of downstream steps to
147
+ form a directed acylic graph, and independent steps may run concurrently.
148
148
149
149
A ** runtime environment** is the actual hardware and software environment when
150
150
executing a command line tool. It includes, but is not limited to, the
@@ -168,14 +168,14 @@ not covered by this specification. Some areas that are currently out of
168
168
scope for CWL specification but may be handled by a specific workflow
169
169
platform include:
170
170
171
- * Data security and permissions.
171
+ * Data security and permissions
172
172
* Scheduling tool invocations on remote cluster or cloud compute nodes.
173
173
* Using virtual machines or operating system containers to manage the runtime
174
174
(except as described in [ DockerRequirement] ( CommandLineTool.html#DockerRequirement ) ).
175
175
* Using remote or distributed file systems to manage input and output files.
176
176
* Transforming file paths.
177
- * Determining if a process has previously been executed, skipping it and
178
- reusing previous results.
177
+ * Determining if a process has previously been executed, and if so skipping it
178
+ and reusing previous results.
179
179
* Pausing, resuming or checkpointing processes or workflows.
180
180
181
181
Conforming CWL processes must not assume anything about the runtime
@@ -190,7 +190,7 @@ command line line tools) is as follows.
190
190
1 . Load, process and validate a CWL document, yielding a process object.
191
191
2 . Load input object.
192
192
3 . Validate the input object against the ` inputs ` schema for the process.
193
- 4 . Validate that process requirements are met.
193
+ 4 . Validate process requirements are met.
194
194
5 . Perform any further setup required by the specific process type.
195
195
6 . Execute the process.
196
196
7 . Capture results of process execution into the output object.
@@ -288,25 +288,25 @@ characters around a parameter reference, the effective value of the field
288
288
becomes the value of the referenced parameter, preserving the return type.
289
289
290
290
If the value of a field has non-whitespace leading or trailing characters
291
- around an parameter reference, it is subject to string interpolation. The
292
- effective value of the field is a string containing the leading characters;
293
- followed by the string value of the parameter reference; followed by the
291
+ around a parameter reference, it is subject to string interpolation. The
292
+ effective value of the field is a string containing the leading characters,
293
+ followed by the string value of the parameter reference, followed by the
294
294
trailing characters. The string value of the parameter reference is its
295
295
textual JSON representation with the following rules:
296
296
297
297
* Leading and trailing quotes are stripped from strings
298
298
* Objects entries are sorted by key
299
299
300
- Multiple parameter references may appear in a single field. This case is
300
+ Multiple parameter references may appear in a single field. This case
301
301
must be treated as a string interpolation. After interpolating the first
302
302
parameter reference, interpolation must be recursively applied to the
303
303
trailing characters to yield the final string value.
304
304
305
305
## Expressions
306
306
307
307
An expression is a fragment of [ Javascript/ECMAScript
308
- 5.1] ( http://www.ecma-international.org/ecma-262/5.1/ ) code which is
309
- evaluated by the workflow platform to affect the inputs, outputs, or
308
+ 5.1] ( http://www.ecma-international.org/ecma-262/5.1/ ) code evaluated by the
309
+ workflow platform to affect the inputs, outputs, or
310
310
behavior of a process. In the generic execution sequence, expressions may
311
311
be evaluated during step 5 (process setup), step 6 (execute process),
312
312
and/or step 7 (capture output). Expressions are distinct from regular
@@ -370,7 +370,7 @@ platform's CWL implementation.
370
370
371
371
A CWL input object document may similarly begin with `#!/usr/bin/env
372
372
cwl-runner` and be marked as executable. In this case, the input object
373
- must include the field ` cwl:tool ` supplying a IRI to the default CWL
373
+ must include the field ` cwl:tool ` supplying an IRI to the default CWL
374
374
document that should be executed using the fields of the input object as
375
375
input parameters.
376
376
0 commit comments