Skip to content

Commit e19265c

Browse files
author
Tihomir Surdilovic
authored
fix spelling (#245)
* fix spelling Signed-off-by: Tihomir Surdilovic <[email protected]> * some more fixes Signed-off-by: Tihomir Surdilovic <[email protected]>
1 parent 35e13d5 commit e19265c

File tree

1 file changed

+20
-21
lines changed

1 file changed

+20
-21
lines changed

specification.md

Lines changed: 20 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ They can bridge the gap between how we express and model business logic.
4444

4545
A key component of workflows is the domain-specific language (DSL) we use to model our
4646
business logic and solutions. Selecting the appropriate workflow language for our business and technology domains is
47-
a very important decision to be consider.
47+
a very important decision to be considered.
4848

4949
Serverless Workflow focuses on defining a **vendor-neutral**, **platform-independent**, and **declarative** workflow
5050
language that targets the serverless computing technology domain.
@@ -60,7 +60,7 @@ Portability as well as productivity that can be achieved from workflow orchestra
6060
Serverless Workflow addresses the need for a community-driven, vendor-neutral and a platform-independent
6161
workflow language specification that targets the serverless computing technology domain.
6262

63-
Having and using a specification-based workflow language allows us to model our worflows once and deploy them
63+
Having and using a specification-based workflow language allows us to model our workflows once and deploy them
6464
onto many different container/cloud platforms, expecting the same execution results.
6565

6666
<p align="center">
@@ -75,7 +75,7 @@ For more information on the history, development and design rationale behind the
7575
<img src="media/spec/spec-parts.png" width="600" alt="Serverless Workflow Specification Focus On Standards"/>
7676
</p>
7777

78-
Serverless Workflow language takes advantage of well established and known standards such as [CloudEvents](https://cloudevents.io/) and [OpenApi](https://www.openapis.org/) specifications.
78+
Serverless Workflow language takes advantage of well-established and known standards such as [CloudEvents](https://cloudevents.io/) and [OpenApi](https://www.openapis.org/) specifications.
7979

8080
## Project Components
8181

@@ -87,7 +87,7 @@ The specification has multiple components:
8787

8888
* Definitions of the workflow language. This is defined via the [Workflow JSON Schema](schema/workflow.json). You can use both
8989
[JSON](https://www.json.org/json-en.html) and [YAML](https://yaml.org/) formats to model your workflows.
90-
* Software Development Kits (SDKs) for both [Go](https://github.com/serverlessworkflow/sdk-go) and [Java](https://github.com/serverlessworkflow/sdk-java)
90+
* Software Development Kits (SDKs) for both [Go](https://github.com/serverlessworkflow/sdk-go) and [Java](https://github.com/serverlessworkflow/sdk-java),
9191
and we plan to add them for more languages in the future.
9292
* Set of [Workflow Extensions](extensions/README.md) which
9393
allow users to define additional, non-execution-related workflow information. This information can be used to improve
@@ -105,12 +105,12 @@ This section describes some of the core Serverless Workflow concepts:
105105

106106
### Workflow Definition
107107

108-
A workflow definition is a single artefact written in the Serverless Workflow
108+
A workflow definition is a single artifact written in the Serverless Workflow
109109
language. It consists of a set of [workflow model](#Workflow-Model) constructs,
110110
and defines a blueprint used by runtimes for its execution.
111111

112112
A business solution can be composed of any number of related workflow definitions.
113-
Their relationships are explicitly modelled with the Serverless Workflow language (for example
113+
Their relationships are explicitly modeled with the Serverless Workflow language (for example
114114
by using [SubFlow](#SubFlow-State) states).
115115

116116
Runtimes can initialize workflow definitions for some particular set of data inputs or events
@@ -135,7 +135,7 @@ you can enforce instance creations upon arrival of certain events with a startin
135135
on a defined [schedule](#Start-Definition).
136136

137137
Workflow instance termination is also explicitly described in the workflow definition.
138-
By default instances should be terminated once there are no active workflow paths (all active
138+
By default, instances should be terminated once there are no active workflow paths (all active
139139
paths reach a state containing the default [end definition](#End-Definition)). Other ways, such as
140140
using the `terminate` property of the [end definition](#End-Definition) to terminate instance execution,
141141
or defining an [execution timeout](#ExecTimeout-Definition) are also possible.
@@ -831,8 +831,7 @@ that the workflow instance creates during its execution (produced).
831831
The default value (if not specified) of the `kind` property is `consumed`.
832832
Note that for `produced` event definitions, implementations must provide the value of the CloudEvent source attribute.
833833
In this case (i.e., when the `kind` property is set to `produced`), the `source` property of the event definition is not required.
834-
Otherwise (i.e., when the `kind` property is set to `consumed`), the `source` property must be defined in the event definition.
835-
834+
Otherwise, (i.e., when the `kind` property is set to `consumed`), the `source` property must be defined in the event definition.
836835

837836
Event correlation plays a big role in large event-driven applications. Correlating one or more events with a particular workflow instance
838837
can be done by defining the event correlation rules within the `correlation` property.
@@ -905,7 +904,7 @@ If a workflow instance is created (e.g., via Event state) by consuming a "HeartR
905904
from the defined source and with the defined type that have the same "patientId" as the event that triggered the workflow instance
906905
should then also be associated with the same instance.
907906

908-
You can also correlate multiple events together. In the following example, we assume that the workflow consumes two different event types
907+
You can also correlate multiple events together. In the following example, we assume that the workflow consumes two different event types,
909908
and we want to make sure that both are correlated, as in the above example, with the same "patientId":
910909

911910

@@ -1634,7 +1633,7 @@ Defines the states retry policy (strategy). This is an explicit definition and c
16341633
defined workflow state errors.
16351634

16361635
The `name` property specifies the unique name of the retry definition (strategy). This unique name
1637-
can be refered by workflow states [error definitions](#Error-Definition).
1636+
can be referred by workflow states [error definitions](#Error-Definition).
16381637

16391638
The `delay` property specifies the initial time delay between retry attempts (ISO 8601 duration format).
16401639

@@ -1676,7 +1675,7 @@ reducing total time to complete requests and overall congestion. How this value
16761675
is used in the exponential backoff algorithm is left up to implementations.
16771676

16781677
`jitter` may be specified as a percentage relative to the total delay.
1679-
For example, if `interval` is 2 seconds, `multiplier` is 2 seconds and we're at
1678+
For example, if `interval` is 2 seconds, `multiplier` is 2 seconds, and we're at
16801679
the third attempt, there will be a delay of 6 seconds. If we set `jitter` to
16811680
0.3, then a random amount of time between 0 and 1.8 (`totalDelay * jitter == 6 * 0.3`)
16821681
will be added or subtracted from the delay.
@@ -1926,7 +1925,7 @@ These are exclusive, meaning that a switch state can define one or the other con
19261925

19271926
At times multiple defined conditions can be evaluated to `true` by runtime implementations.
19281927
Conditions defined first take precedence over conditions defined later. This is backed by the fact that arrays/sequences
1929-
are orderd in both JSON and YAML. For example, let's say there are two `true` conditions: A and B, defined in that order.
1928+
are ordered in both JSON and YAML. For example, let's say there are two `true` conditions: A and B, defined in that order.
19301929
Because A was defined first, its transition will be executed, not B's.
19311930

19321931
In case of data-based conditions definition, switch state controls workflow transitions based on the states data.
@@ -2691,7 +2690,7 @@ It should contain the unique element of the `inputCollection` array and passed a
26912690
The `actions` property defines actions to be executed in each state iteration.
26922691

26932692
If actions are not defined, you can specify the `workflowid` to reference a workflow id which needs to be executed
2694-
for each iteration. Note that `workflowid` should not be the same as the workflow id of the workflow wher the foreach state
2693+
for each iteration. Note that `workflowid` should not be the same as the workflow id of the workflow where the foreach state
26952694
is defined.
26962695

26972696
Let's take a look at an example:
@@ -2990,7 +2989,7 @@ SubFlow states [`onErrors`](#Error-Definition) definition, the control flow must
29902989
and repeat execution must halt.
29912990

29922991
An alternative way to limit repeat executions is via the `stopOnEvents` property. It contains a list of one or more
2993-
defined consumed workflow events (referened by the unique event name). When `stopOnEvents` is defined,
2992+
defined consumed workflow events (referenced by the unique event name). When `stopOnEvents` is defined,
29942993
SubFlow will repeat execution until one of the defined events is consumed, or until the max property count is reached.
29952994

29962995
#### Start Definition
@@ -3000,7 +2999,7 @@ Can be either `boolean` or `object` type. If type boolean, must be set to `true`
30002999
```json
30013000
"start": true
30023001
```
3003-
In this case it's assumed that the `schedule`property is not defined.
3002+
In this case it's assumed that the `schedule` property is not defined.
30043003

30053004
If the start definition is of type `object`, it has the following structure:
30063005

@@ -3140,7 +3139,7 @@ directInvoke: true
31403139
The `interval` property uses the ISO 8601 time interval format to describe when workflow instances can be created.
31413140
There is a number of ways to express the time interval:
31423141

3143-
1. **Start** + **End**: Defines the start and end time, for example "2020-03-20T13:00:00Z/2021-05-11T15:30:00Z", meaning workflow intances can be
3142+
1. **Start** + **End**: Defines the start and end time, for example "2020-03-20T13:00:00Z/2021-05-11T15:30:00Z", meaning workflow instances can be
31443143
created from March 20th 2020 at 1PM UTC until May 11th 2021 at 3:30pm UTC.
31453144
2. **Start** + **Duration**: Defines the start time and the duration, for example: "2020-03-20T13:00:00Z/P1Y2M10DT2H30M", meaning workflow instances can be created
31463145
from March 20th 2020 at 1pm UTC and continue to do so for 1 year, 2 months, 10 days 2 hours and 30 minutes.
@@ -3946,7 +3945,7 @@ the entire state data as the data available to functions that should be executed
39463945
specifies that results of all functions executed in this action should be placed back to the state data as part
39473946
of a new "finalCustomerGreeting" object.
39483947

3949-
The action then calls the "greetingFunction" function passing in as parameters the spanish greeting and the name of the customer that arrived.
3948+
The action then calls the "greetingFunction" function passing in as parameters the Spanish greeting and the name of the customer that arrived.
39503949

39513950
We assume that for this example "greetingFunction" returns:
39523951

@@ -4126,8 +4125,8 @@ onErrors:
41264125
Retries are related to errors. When certain errors are encountered we might want to retry the states execution.
41274126

41284127
We can define retries within the workflow states [error definitions](#Defining-Errors).
4129-
This is done by defining the [retry stragy](#Retry-Definition) as the workflow top-level parameter using its `retries` array, and then
4130-
adding a `retryRef` parameter to the error definition which references this retry strategy for a specific error.
4128+
This is done by defining the [retry strategy](#Retry-Definition) as the workflow top-level parameter using its `retries` array, and then
4129+
adding a `retryRef` parameter to the error definition which references these retry strategies for a specific error.
41314130

41324131
If a defined retry for the defined error is successful, the defined workflow control flow logic of the state
41334132
should be performed, meaning either workflow can transition according to the states `transition`
@@ -4511,7 +4510,7 @@ After it is cancelled, compensation should be performed.
45114510
States that are marked as `usedForCompensation` can define [error handling](#Workflow-Error-Handling) via their
45124511
`onErrors` property just like any other workflow states. In case of unrecoverable errors during their execution
45134512
(errors not explicitly handled),
4514-
workflow execution should be stopped, which is the same behaviour as when not using compensation as well.
4513+
workflow execution should be stopped, which is the same behavior as when not using compensation as well.
45154514

45164515
### Workflow Metadata
45174516

0 commit comments

Comments
 (0)