Rule-based modeling
Rule-based modeling is a modeling approach that uses a set of rules that indirectly specifies a mathematical model. The rule-set can either be translated into a model such as Markov chains or differential equations, or be treated using tools that directly work on the rule-set in place of a translated model, as the latter is typically much bigger. Rule-based modeling is especially effective in cases where the rule-set is significantly simpler than the model it implies, meaning that the model is a repeated manifestation of a limited number of patterns. An important domain where this is often the case is biochemical models of living organisms. Groups of mutually corresponding substances are subject to mutually corresponding interactions. BioNetGen is a suite of software tools used to generate mathematical models consisting of ordinary differential equations without generating the equations directly. For example below is an example rule in the BioNetGen format:

Where:

 A(a,a): Represents a model species A with two free binding sites a 
 B(b): Represents a model species B with one free binding site 
 A(a!1).B(b!1): Represents model species where at least one binding site of A is bound to the binding site of B

With the above line of code, BioNetGen will automatically create an ODE for each model species with the correct mass balance. Additionally, an additional species will be created because the rule above implies that two B molecules can bind to a single A molecule since there are two binding sites. Therefore, the following species will be generated:

4. A(a!1,a!2).B(b!1).B(b!2): Molecule A with both binding sites occupied by two different B molecules. For biochemical systems

Early efforts to use rule-based modeling in simulation of biochemical systems include the stochastic simulation systems StochSim
 
A widely used tool for rule-based modeling of biochemical networks is BioNetGen  It is released under the GNU GPL, version 3. BioNetGen includes a language to describe chemical substances, including the states they can assume and the bindings they can undergo. These rules can be used to create a reaction network model or to perform computer simulations directly on the rule set. The biochemical modeling framework Virtual Cell includes a BioNetGen interpreter. A close alternative is the Kappa language. Another alternative is BioChemical Space language. References

Systems biology
Molecular biology
Stochastic simulation
Free science software