Modeling Guide

Compatible Port Types

You can connect two operators only if the output port of the first operator and the input port of the second operator are compatible.

The engine performs a compatibility only when you run the graph and when the graph is loaded. If the port types are not compatible the graph fails with a corresponding message in the trace.

Compatibility is checked in two steps as follows:
  1. For the base types one of following rules are satisfied:
    • the base types of the operators are identical or
    • one of them is of type any and the other is one of the compatible types listed in the below table.
  2. The semantic type of one port type is a specialization of the other semantic port type. Here any given semantic type, including the empty one, is a specialization of *.

Output Port Types

Input Port Types

Compatible Reason



yes Identical base type. No semantic type



yes Identical base type. Here, * can be substituted by the empty semantic type. So, any is a specialization of any.*



yes Compatible base types and no semantic type
stream any no Incompatible base types
float64.* int64.* no Incompatible base types



yes Compatible base types and identical sematic type


yes Compatible base types. is a specialization of *


yes Compatible base types.* is a specialization of *

yes Identical base and semantic types**

yes Identical base type. com.*is a specialization of*
any no Identical base type. But com is not a specialization of the empty semantic type. Both sides are specializations of .* though.
any* no Identical base type. But, com.* is not a specialization of the empty semantic type