Ptolemy is a modeling tool that is built entirely on Java. one it's main features is allowing heterogeneous modeling. what this means is that it allows to model different system components using different formalisms. this is especially important as it allows for more power in modeling. like for example in embedded systems where each model represent one aspect of the system( some continuous and some are discrete). it certainly limits the modeler if it was only one formalisms she is doing .

Ptolemy's approach is a hierarchically heterogeneous modeling approach, which means that at each level we use the same modeling formalism.