...
An onCore Unit can be seen as a graphical representation of a function (as in traditional programming). It has one or multiple attributes.
Gliffy |
---|
chrome | min |
---|
html5 | false |
---|
name | addTwoNumbers |
---|
|
| Simplified Example of an Image Added
| Exemplary onCore Unit |
simplified, - exemplary Unit adds two numbers and provides the result
|
.Trigger Ports are omitted in this example, they are explained later and in the chapter → Unit Triggers & Events Gliffy |
---|
chrome | min |
---|
size | 500 |
---|
html5 | false |
---|
name | exampleUnitt |
---|
|
| Advanced Example of an onCore Unit
- Units have attributes which can be modified by the user – or other Units.
- Units can exchange data via Cables. Think of them as small 'tunnels' where data is able to travel between the Units.
- Cables are usually connected/disconnected by the user, but there are also situations where Cables between Units are automatically re-created.
- On the left and right side of each Unit there are small circles and triangles. These are the connection points of Cables and they are called Trigger Ports, Input Ports and Output Ports.
|
Unit Ports
Gliffy |
---|
chrome | min |
---|
size | 400 |
---|
html5 | false |
---|
name | unitDatAnatomy |
---|
Image Added | There are three types of Ports: - Trigger Port: Trigger the execution of a Unit (= Execute Trigger) or trigger the next Unit which is connected to one of the outgoing Triggers (= Success/Fail Trigger).
See chapter → Unit Triggers & Events. - Input Port: These Ports accept data from the User or other Units. They can also represent the attributes of a Unit. Not all Input Ports can be modified by the User, some of them only accept data from other Units as their input, i.e. a Cable has to be connected to them (for example Structure-based Units). Once a Port is connected with a Cable, it can not be altered by the User user anymore.
See chapter → Unit Attributes. - Output Port: These Ports output data and may be connected to other Units.
|
Unit Types
Units can roughly be categorized in three types. Of course exceptions prove the rule.
Unit Type | Description | Example |
---|
Provider Unit | They only have one or multiple Output Ports and "provide" something. | Variable Getter, System Timestamp |
Processing Unit | They have one or multiple Input and Output Ports and process or modify their input. | String Replace, String to Time |
Consumer Unit | They only have one or multiple Input Ports and "consume" data. | Print String, Variable Setter |
Unit Interaction Example
Here is a simplified schematic on how Units can interact with each other. Trigger Ports are omitted in this example.
...
Warning |
The data and execution flow happens from left to right. That means that Cables cannot transmit data "backwards" and also the execution flow cannot happen backwards Info |
---|
There may be Units which do not fall under only one category. |