We present the software architecture of FMIGo!, a distributed environment
for executing Functional Mockup Interface (FMI) based simulations,
describe how to use it, and how to extend its functionality. FMI is a
standard used to define what different Functional Mockup Units -- or
modules -- can expose in terms of inputs and outputs, and the proper
execution or call sequence on can perform on said. The FMI does not
define the mathematics of modular time integration, a problem addressed
by FMIGo! in an extensible way.
Also included are some theoretical and experimental aspects of different
stepping schemes, or numerical methods to simulate coupled,
modular systems. In particular, we present a kinematic coupling
schemes which corresponds to Differential Algebraic Conditions between
modules, as well as wrapper FMUs designed to augment the
functionality of a given FMU with, for instance, input and output filters
and directional derivatives, features rarely present in modules.