@@ -46,21 +46,42 @@ requirements are supported in `cwltool`, but it is not part of the
46
46
detail in another section.
47
47
```
48
48
49
- ## CWL objects model
49
+ ## Processing units
50
50
51
- TODO: reading this topic now in the browser, I wonder if perhaps it is not
52
- too advanced for users? Maybe we can explain inputs, steps, outputs,
53
- without going in detail about the CWL objects model?
51
+ A CWL document can also be called a CWL workflow. The CWL document is a
52
+ JSON or YAML file — or a combination of both JSON and YAML. One of the
53
+ required attributes of the CWL document is the ` class ` . The ` class `
54
+ defines the type of processing unit defined in the CWL document.
54
55
55
- The diagram below shows terms used in the CWL specification {{ cwl_version }}
56
- modeled as objects. You do not need to learn all these objects and their
57
- concepts to get started with CWL. We will focus on only a few objects for now.
56
+ There are four types of processing units defined in the CWL specification
57
+ {{ cwl_version }}:
58
58
59
- ``` {image} https://www.commonwl.org/v1.2/cwl.svg
60
- :alt: CWL Objects model
61
- :align: center
59
+ - Command-line tool;
60
+ - Expression tool;
61
+ - Workflow;
62
+ - Operation.
63
+
64
+ ### Command-line tool
65
+
66
+ ### Expression tool
67
+
68
+ ### Workflow
69
+
70
+ Besides having ` class: Workflow ` , the CWL document of a workflow processing
71
+ unit must also have the ` cwlVersion ` , ` inputs ` , ` outputs ` , and ` steps ` . The
72
+ steps of a workflow.
73
+
74
+ ``` cwl
75
+ cwlVersion: {{ cwl_version_text }}
76
+ class: Workflow
77
+
78
+ inputs: []
79
+ steps: []
80
+ outputs: []
62
81
```
63
82
83
+ A workflow step can call a command-line tool or expression tool.
84
+
64
85
First we have the ` Process ` object used for the processing units available
65
86
in CWL. There are four types in CWL that extend the ` Process ` type:
66
87
@@ -92,7 +113,7 @@ digraph "CWL Inputs, Steps, and Outputs" {
92
113
}
93
114
```
94
115
95
- ### Inputs and Outputs
116
+ ## Inputs and Outputs
96
117
97
118
CWL has roots in "make" and many similar tools that determine order of
98
119
execution based on dependencies between tasks. However, unlike "make", CWL
@@ -103,7 +124,7 @@ scalability: tools and workflows described with CWL can transparently leverage
103
124
technologies such as Docker and be used with CWL implementations from different
104
125
vendors.
105
126
106
- ### Steps
127
+ ## Steps
107
128
108
129
TODO: add info about steps (there must be some info in the old user guide?)
109
130
0 commit comments