Reaction systems is a model of computation inspired by the functioning of the living cell and, in particular, by the interactions between biochemical reactions in the living cell. A reaction is specified on an abstract level through its set of reactants, its set of inhibitors, and its set of products. A reaction is enabled if all of its reactants and none of its inhibitors are available. The key concept in this model is that the interactions are based on the mechanisms of facilitation and inhibition: the result of a reaction may facilitate some reactions (by producing their reactants) and it may inhibit some reactions (by producing their inhibitors). A reaction system consists of a finite set of reactions. The interactions between its reactions, together with the interactions with the environment (explicitly included in the model) define the dynamic behavior/computation of the system. An important feature of reaction systems (motivated by the basic bioenergetics of the living cell) is their non-permanency: every entity produced by a reaction is only available for a specific part of the computation, unless it is re-introduced (sustained) by a reaction enabled in the computation.
No permanency
Every entity produced by a reaction is only available for a specific part of the computation, unless it is re-introduced (sustained) by a reaction enabled in the computation. The no-permanency property reflects the basic bioenergetics of the living cell: maintaining resources needs be supported.
Interaction with the environment
Reaction systems are open systems, with the environment being an integral part of the computation, contributing to it in each step of the computation.
No counting
The basic model of reaction systems abstracts from many technical (numerical) properties of biochemical reactions so that it is a qualitative rather than a quantitative model. Consequently, there is no counting in reaction systems (the basic data structure used here are sets rather than multisets). Counting can be introduced through explicit measurement functions.
BioReSolve (A Prolog interpretor for reaction system analysis), Roberto Bruni, Linda Brodo, Moreno Falaschi: https://pages.di.unipi.it/bruni/LTSRS/
HERESY (Highly efficient reaction system simulator), Marco Nobile: https://github.com/aresio/HERESY
WEBRSIM (Basic reaction system simulator), Sergiu Ivanov: https://github.com/scolobb/brsim