Channel Connection Rules (DATAFLOW Designer)

by Marco Wuelser

 

This Reference Article has been written for Version 2.1 of the DATAFLOW Software. For Previous Releases use the version selection in the navigation bar at the top of this page.

 

This article explains all the rules that apply for all channel connections in diagrams created with DATAFLOW Designer.

 

DATAFLOW Channels

DATAFLOW Channels are used to send events and to define the receiver (or receivers) of events. Therefore they must follow strict rules so that valid code can be generated.

In the following section the rules for all elements that can be connected with DATAFLOW channels (and the channels elements themselves) are explained.

mceclip0.png

The elements connected with DATAFLOW Channels are:

  • Channel
  • One to Any Multiplicator
  • Sink
  • Source
  • Terminator
  • Input Port
  • Output Port
  • Inherited Input Port
  • Inherited Output Port

 

Channel

A channel is a point to point connector. It has a source and a target. The target is indicated with an arrow.

 

VALID CONNECTIONS

A channel connects an output with an input:

mceclip1.png

 

INVALID CONNECTIONS

Both source and target must be connected:

mceclip2.png

mceclip4.png

mceclip3.png

A Connection to a port that is not child of component is not allowed:

mceclip5.png

It is not allowed to connect ports on the same active part or to form loops in any other way:

mceclip6.png

 

One To Any Multiplicator

A one to any multiplicator is used to send the same message to multiple receiver. Each receiver will be notified when a message is sent. The message is not duplicated, all receivers will use the same constant message from the runtime event buffer. The handlers are called based on Active Part priority.

 

VALID CONNECTIONS

A multiplicator receives a protocol from an output port and sends it to 2 or more input ports.

mceclip7.png

mceclip10.png

 

INVALID CONNECTIONS

A one to any multiplicator must have exactly one incoming channel and 2 or more outgoing channels.

Not enough output channels:

mceclip8.png

Too many input channels:

mceclip9.png

 

Sink / Source

The sink and source elements are used to hide channel lines in the diagram to improve readability. The code is generated as if a regular channel had been used.

 

VALID CONNECTIONS

A sink receives a protocol from an output port. The same protocol is then sent from the source to an input port.

mceclip11.png

Multiple sinks receive the same protocol from an output port. The protocol is then sent from the source to a single input port.

mceclip12.png

 

INVALID CONNECTIONS

Not enough channels:

mceclip13.png

Too many channels:

mceclip14.png

 

Input Port

An input port must only be connected to incoming channels.

VALID CONNECTIONS

mceclip23.png

Multiple channels with different protocols may be connected to the same input port:

mceclip26.png

 

INVALID CONNECTIONS

Outgoing channel from input port:

mceclip27.png

 

Output Port

An output port must only be connected to outgoing channels. Only one outgoing channel is allowed per output port.

VALID CONNECTIONS

mceclip23.png

 

INVALID CONNECTIONS

Incoming channel to output port:

mceclip24.png

Multiple channels connected to the same output port:

mceclip25.png

-> Use One to Any Multiplicator instead.

 

Inherited Input Port

An inherited input port represents an input port of a container in the child diagram.

VALID CONNECTIONS

It must be connected from one or more outgoing channels to input ports:

mceclip19.png

With multiple connections, a PortInputSplit will be generated:

mceclip22.png

 

INVALID CONNECTIONS

Incoming channel to inherited input port:

mceclip18.png

No channels connected:

mceclip15.png

 

Inherited Output Port

An inherited output port represents an output port of a container in the child diagram.

VALID CONNECTIONS

It must be connected to one or more incoming channels from output ports:

mceclip20.png

With multiple connection, a PortOutputJoin will be generated:

mceclip21.png

 

INVALID CONNECTIONS

Outgoing channel from inherited output port:

mceclip17.png

No channels connected:

mceclip16.png

 

Hardware Channels

Hardware channels are used for documentation purposes and are ignored in the code generation. Therefore no rules are applied and the channels can be used in any way to express the system and software design in the diagrams.

 

Required Module: DATAFLOW Designer

This Article has been written based on V2.1.1 of the DATAFLOW Designer software. 
Latest update 2023-06-01 by WUM.

 

Go back