This directory contains the software that I make available. It is provided on a strictly "as is" basis. Mail me if you have problems, and I'll see what I can do, but I can't promise any support.
RISCSIM is a simulation framework and supporting engine designed for situations in which simulation models are to be derived automatically from existing object-based designs. Specifically, it is tailored to the needs of distributed computing system projects. It places emphasis on decomposition and on reuse of existing models for resources, and assumes that libraries of resource models and infrastructure configuration details will be available.
The modelling approach used assumes that systems are composed from interacting objects, each of which has behaviour and accesses resources. Configuration types are first defined and then instantiated as often as necessary. The behaviour of a configuration of objects is expressed as a timed-transition coloured Petri Net, in which each place or transition is associated with an object role in the configuration. When the configuration is instantiated, these roles are bound to specific objects. Thus a simple client-server configuration might be instantiated three times, with a separate client but the same server in each instance, reflecting three clients competing for a shared server.
Each of the object instances is bound to a specific set of resources (in the current implementation, these are computational and communications resources). These resources are themselves modelled as configurations of objects, using the same technique. Whenever a Petri Net transition fires, a token is injected into the model corresponding to the resource of the appropriate kind owned by the object responsible for that transition. Cost parameters are transferred from the token and transition fired and used to initialize the new token in the supporting model. Scaling factors can be applied at this stage, as part of this mapping process, to reflect the different performance parameters of various platforms. The recursion is terminated by associating unmapped resources in the finest-grain models with the passage of real time.
The following are available:
As a little light relief, this is simple demonstration simulation that allows you to investigate the behaviour of a collection of molecules as a function of temperature, molar volume and bonding energies. It is based on a statistical model in which molecules move between sites on a grid, depending on their relative energies.
The model is deliberately very simple, to allow reasonable interactive performance. Needs a Pentium; the faster the better.
Download phase model.