  We develop a behavioural theory of reflective sequential algorithms (RSAs),
i.e. sequential algorithms that can modify their own behaviour. The theory
comprises a set of language-independent postulates defining the class of RSAs,
an abstract machine model, and the proof that all RSAs are captured by this
machine model. As in Gurevich's behavioural theory for sequential algorithms
RSAs are sequential-time, bounded parallel algorithms, where the bound depends
on the algorithm only and not on the input. Different from the class of
sequential algorithms every state of an RSA includes a representation of the
algorithm in that state, thus enabling linguistic reflection. Bounded
exploration is preserved using terms as values. The model of reflective
sequential abstract state machines (rsASMs) extends sequential ASMs using
extended states that include an updatable representation of the main ASM rule
to be executed by the machine in that state. Updates to the representation of
ASM signatures and rules are realised by means of a sophisticated tree algebra.
