...In every simulation step, the type consumes a certain amount of inputs and sends the values to Java. Based on this, a certain amount of outputs is generated in Java, send back to TRNSYS and used as the type's output for the current simulation step. The communication between the TRNSYS type and the Java class is based on the Java Native Interface (JNI).