Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

An onCore Unit can be seen as a graphical representation of a function (as in traditional programming). It has one or multiple attributes. 

Gliffy
chromemin
html5false
nameaddTwoNumbers

Simplified Example of an

Image Added

Exemplary onCore Unit

  • This
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
chromemin
size300
html5false
nameexampleUnitt

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

Image Added

Gliffy
chromemin
size400
html5false
nameunitDatAnatomy

There are three types of Ports:

  1. 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.
  2. 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.
  3. 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 TypeDescriptionExample
Provider UnitThey only have one or multiple Output Ports and "provide" something.Variable Getter, System Timestamp
Processing UnitThey have one or multiple Input and Output Ports and process or modify their input.String Replace, String to Time
Consumer UnitThey 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.

...

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
Warning
Info

There may be Units which do not fall under only one category.