Spell check on spec documents (#212)

* Spell check on spec documents

* adding spell check of references doc

* add spell check of extending doc
This commit is contained in:
Tihomir Surdilovic 2020-03-21 21:27:16 -04:00
parent 6b93e86ed6
commit a91ea32847
5 changed files with 26 additions and 25 deletions

View File

@ -426,7 +426,7 @@ The ForEach state will execute a single defined operation state for each math ex
state contains an action which calls a serverless function which actually solves the expression
and returns its result.
Results of all mathe expressions are accumulated into the data output of the ForEach state which become the final
Results of all math expressions are accumulated into the data output of the ForEach state which become the final
result of the workflow execution.
#### Workflow Definition
@ -1508,9 +1508,10 @@ states:
### Monitor Patient Vital Signs Example
#### Description
In this example a hospital patient is monitored by a Vial Sign Monitoring system. This device can produce three different Cloud Events, namely
"High Body Temperature", "High Blood Pressure", and "High Respiration Rate".
Our workflow which needs to take propert actions depending on the event the Vital Sign Monitor produces needs to start
Our workflow which needs to take proper actions depending on the event the Vital Sign Monitor produces needs to start
if any of these events occur. For each of these events a new instance of the workflow is started.
Since the hospital may include many patients that are being monitored it is assumed that all events include a patientId context attribute in the event

View File

@ -22,10 +22,10 @@ Hope this gives implementors an idea on how to start adding their own custom ext
Let's say we are developing an extension which adds additional information
to a serverless workflow that can be passed and processed by a simulation tool.
Our example extension can add one more more simulation "scenarios". Each scenario
Our example extension can add "scenarios". Each scenario
can add "time" parameters for each of the workflow states and define a min and max value
within which the workflow state should be executed in. It should also add a "probability" parameter
which defines the probabily that a state is triggered during the execution of the workflow.
which defines the probability that a state is triggered during the execution of the workflow.
So let's define a simple example workflow model and then add our custom extension into it:

View File

@ -15,7 +15,7 @@ The research of the [Workflow Patterns Initiative](http://www.workflowpatterns.c
## Business Process Model and Notation
[Business Process Modeling and Notation (BPMN)](https://www.omg.org/spec/BPMN/) was standardized by Object Management Group (OMG) in collaboration with companies such as: IBM, Red Hat, Oracle, SAP, TIBCO, Software AG, among others. The latest version of the specification has even been [adopted by the ISO](https://www.iso.org/standard/62652.html) and provides a rich set of constructs to define workflows in a technology-agnostic way. One of the main advatages of the BPMN spec is that it visually defines how a workflow should look like and most importantly, it defines the execution semantics of such workflows. [This article](https://www.esentri.com/bpmn-and-serverless-workflows/) describes how BPMN can be used for serverless workflows.
[Business Process Modeling and Notation (BPMN)](https://www.omg.org/spec/BPMN/) was standardized by Object Management Group (OMG) in collaboration with companies such as: IBM, Red Hat, Oracle, SAP, TIBCO, Software AG, among others. The latest version of the specification has even been [adopted by the ISO](https://www.iso.org/standard/62652.html) and provides a rich set of constructs to define workflows in a technology-agnostic way. One of the main advantages of the BPMN spec is that it visually defines how a workflow should look like and most importantly, it defines the execution semantics of such workflows. [This article](https://www.esentri.com/bpmn-and-serverless-workflows/) describes how BPMN can be used for serverless workflows.
<details>
<summary>BPMN model</summary>
@ -32,7 +32,7 @@ The research of the [Workflow Patterns Initiative](http://www.workflowpatterns.c
- Throw
- Catch
- Timer Events
- Gateways: Enable fork/join behaviours based on certain condition
- Gateways: Enable fork/join behaviors based on certain condition
- Exclusive
- Parallel
- Complex
@ -52,13 +52,13 @@ The [BPMN specification](https://www.omg.org/spec/BPMN/) provides XML Schemas fo
![Loan Approval Example](media/references/loan-approval-workflow.png)
You can find the BPMN XML which can be executed in a number of Open Source and Propietary engines [here](media/references/loan-approval-workflow.bpmn)
You can find the BPMN XML which can be executed in a number of Open Source and Proprietary engines [here](media/references/loan-approval-workflow.bpmn)
**Travel Booking Workflow**
![Travel Booking Example](media/references/travel-booking-workflow.png)
You can find the BPMN XML which can be executed in a number of Open Source and Propietary engines [here](media/references/travel-booking-workflow.bpmn)
You can find the BPMN XML which can be executed in a number of Open Source and Proprietary engines [here](media/references/travel-booking-workflow.bpmn)
</details>
## Mistral Workflow Language
@ -97,11 +97,11 @@ The [BPMN specification](https://www.omg.org/spec/BPMN/) provides XML Schemas fo
- name
- description
- action or workflow, otherwise it's a noop
- action or workflow, otherwise it's a no-op
- input (constructs action/subworkflow input parameters from the context of the task)
- publish (decides which action/subworkflow outputs are put into the context)
- publish-on-error
- with-items (processes items of a collection, i.e. the action/workflow excutes multiple times)
- with-items (processes items of a collection, i.e. the action/workflow executes multiple times)
- keep-result (can be used to discard the action/subworkflow output)
- target (which worker should execute the task)
- pause-before
@ -128,7 +128,7 @@ The [BPMN specification](https://www.omg.org/spec/BPMN/) provides XML Schemas fo
## Alibaba FunctionFlow
FunctionFlow defines workflows of steps using yaml arrays and a simple control logic that starts with the first step in the array, allows jumps with goto and ending a flow either by reaching the last ste in the array or by marking a step as the end of the flow.
FunctionFlow defines workflows of steps using yaml arrays and a simple control logic that starts with the first step in the array, allows jumps with goto and ending a flow either by reaching the last step in the array or by marking a step as the end of the flow.
<details>
<summary>FunctionFlow FDL (Flow Definition Language) model</summary>

View File

@ -38,7 +38,7 @@ clear separation between business and orchestration logic.
Some of the many benefits using workflows in serverless applications include:
- Allow developers to fucus on business requirements and not orchestration logic.
- Allow developers to focus on business requirements and not orchestration logic.
- Externalize cross-cutting concerns such as parallel execution, branching, timeouts, compensation, callbacks, etc.
thus allowing clear focus on business requirements in functions.
- Greatly reduce the amount of code developers have to write, maintain, and test.
@ -442,7 +442,7 @@ States define building blocks of the Serverless Workflow. The specification defi
| **[ForEach](#ForEach-State)** | Parallel execution of states for each element of a data array | no | yes | no | yes (includes retries) | yes | no |
| **[Callback](#Callback-State)** | Manual decision step. Executes a function and waits for callback event that indicates completion of the manual decision.| yes | yes | yes (including retries) | yes | no | no |
Following is a detailed decription of each of the defined states:
Following is a detailed description of each of the defined states:
#### Event State
@ -642,7 +642,7 @@ have not been received during this time, the state should transition to the next
Event actions reference one or more events in the workflow [events definitions](#Event-Definition).
Both the source and type of incoming events must match the ones defined in the references events in order for
the event to be considered. In case of mutliple events the event definition "correlationToken" context attribute
the event to be considered. In case of multiple events the event definition "correlationToken" context attribute
value must also match between events. If a correlation token is not defined, all events that match the other attributes
can be considered.
@ -888,7 +888,7 @@ This assures that both execution errors as well as actions error results can be
The interval parameter specifies the retry interval (in ISO 8601 repeatable format). For example: "R5/PT15M" would mean repeat 5 times with 1 minute intervals before each retry.
The multiplier parameter specifies value by which the interval time is increased for each of the retry attempts.
To eplain this better, let's say we have:
To explain this better, let's say we have:
```json
{
@ -1913,7 +1913,7 @@ as data output to the transition state:
type: RELAY
inject:
person:
fnam: John
fname: John
lname: Doe
address: 1234 SomeStreet
age: 40
@ -1996,15 +1996,15 @@ what you need as data output of the state. Let's say we have:
type: RELAY
inject:
people:
- fnam: John
- fname: John
lname: Doe
address: 1234 SomeStreet
age: 40
- fnam: Marry
- fname: Marry
lname: Allice
address: 1234 SomeStreet
age: 25
- fnam: Kelly
- fname: Kelly
lname: Mill
address: 1234 SomeStreet
age: 30
@ -2019,7 +2019,7 @@ what you need as data output of the state. Let's say we have:
</table>
In which case the states data output would include people who's age is less than 40.
You can change your output path easily during testin, for example:
You can change your output path easily during testing, for example:
```text
$.people[?(@.age >= 40)]
@ -3112,7 +3112,7 @@ Here is an example using an even filter:
<img src="media/spec/event-data-filter-example1.png" with="300px" height="400px" alt="Event Data Filter Example"/>
</p>
Similarly the consumed callback CloudEvent in [Callback states](#Callback-State) can be filered using
Similarly the consumed callback CloudEvent in [Callback states](#Callback-State) can be filtered using
an event filter.
#### <a name="error-data-filter"></a> State information filtering - Error Data Filter
@ -3349,7 +3349,7 @@ decide to strictly enforce it.
### Workflow Error Handling
Any state can encounter runtime errors. Errors can arise from state failures such as exeptions thrown during function
Any state can encounter runtime errors. Errors can arise from state failures such as exceptions thrown during function
execution, network errors, or errors in the workflow definition (incorrect paths for example).
If a runtime error is not explicitly handled within the state definition, the default course of action should be to
halt workflow execution.
@ -3589,8 +3589,8 @@ If those errors occur after two max 2 retries, the onError definition states tha
### Workflow Metadata
Metdata enables you to enrich the serverless workflow model with information beyond its core definitions.
It is inteded to be used by clients such as tools and libraries, as well as users that find this information relevant.
Metadata enables you to enrich the serverless workflow model with information beyond its core definitions.
It is intended to be used by clients such as tools and libraries, as well as users that find this information relevant.
Metadata should not affect workflow execution. Implementations may chose to use metadata information or ignore it.
Note however that using metadata to control workflow execution can lead to vendor-locked implementations which do comply with the main goals of this specification, which is to be completely vendor-neutral.

View File

@ -57,7 +57,7 @@ In conjunction with available messaging services you can notify developers on di
## Continuous Integration And Deployment
Serverless Workflows can help you build solid continuous integration and deployment solutions.
Code checkins can trigger website builds and automatic redeploys. Pull requests can trigger
Code check-ins can trigger website builds and automatic redeploys. Pull requests can trigger
running automated tests to make sure code is well-tested before human reviews.
<p align="center"><img src="media/usecases/usecase-continuous-integration.png"/></p>