Synchronous calls with one or two FunctionalExchanges

Full example of specifying behaviour of “atomic” function HighLevelFunction1 using FncBlocks

It includes specification of FncBlocks and dataflows

and “control flow” that specofy how FncBlocks should be executed (in this case using BehaviourTree)

Result specification model for behaviour of HighLevelFunction1

Conditions, calls and returns FncBlocks are groups to sub FncBlocks by hand.
Behaviour Tree includes involvements of FncBlocks that has the same names in model tree.

Flowcharts also can be used to define control flow for atomic function behaviour specification.

Flowcharts and Behaviour Trees are two different ways that can be used to define control flows for FncBlocks.

Below is a demonstration how flowchart is used

  1. Behaviour specification element is created for atomic function
  2. Flowchart is created to define control flow and create FncBlocks
  3. Data flows between FncBlocks are defined using separate dataflow diagram

Actions and decision on flowchart are involvements of FncBlocks.

It’s also possible at first define FncBlocks on data flow diagram
and after that use them on Flowchart or BehaviourTree (via Drag and Drop) to define control flow.