  Reaction Systems (RSs) are a successful computational framework inspired by
biological systems. A RS pairs a set of entities with a set of reactions over
them. Entities can be used to enable or inhibit each reaction, and are produced
by reactions. Entities can also be provided by an external context. RS
semantics is defined in terms of an (unlabelled) rewrite system: given the
current set of entities, a rewrite step consists of the application of all and
only the enabled reactions. In this paper we define, for the first time, a
labelled transition system for RSs in the structural operational semantics
(SOS) style. This is achieved by distilling a signature whose operators
directly correspond to the ingredients of RSs and by defining some simple SOS
inference rules for any such operator to define the behaviour of the RS in a
compositional way. The rich information recorded in the labels allows us to
define an assertion language to tailor behavioural equivalences on some
specific properties or entities. The SOS approach is suited to drive additional
enhancements of RSs along features such as quantitative measurements of
entities and communication between RSs. The SOS rules have been also exploited
to design a prototype implementation in logic programming.
