VisualSim Simulation Technology

Heterogeneous models of computation

Introduction

The simulators implement various models of computation. Most of these models of computation can be viewed as a framework for component-based design, where the framework defines the interaction mechanism between the components.

Models of Computation

A Model of Computation gives an interaction mechanism for components to deal with concurrency and time. The utility of a model of computation stems from the modeling properties that apply to all similar models. For many models of computation these properties are derived through formal mathematics. Depending on the model of computation, the model may be deterministic, statically schedulable, or time safe. Because of its modeling properties, a model of computation represents a style of modeling that is useful in any circumstance where those properties are desirable. In other words, models of computation form design patterns of component interaction, in the same sense that Gamma and others. describe design patterns in object oriented languages.

For a particular application, an appropriate model of computation does not impose unnecessary constraints, and at the same time is constrained enough to result in useful derived properties.

Choosing Models of Computation

VisualSim consists of five major simulators

Except for the Finite State Machine, all other simulators implement their own scheduling between blocks and do not rely on threads. This capacity results in a highly efficient execution and enables VisualSim to have the fastest simulation technology. The FSM simulator is in a category by itself, as the components are not producers and consumers of data, but rather are states.