WOLFRAM SYSTEM MODELER
Block based modeling is well suited for problems where you have a well defined causality, i.e. direction of flow. An example of this type of signal based systems is control systems. However in most cases the causality is not pre-defined, for instance a motor could also be used as a generator depending on if the input signal is the current/voltage or torque. This package illustrates the difference between block based and component based modeling.For a step by step tutorial see Component-Based—Simple Circuit.
A block based implementation of the model.
A component based implementation of the model.
The same model as above, but with an added capacitor.