History-Dependent Automata
In this paper we present history-dependent automata
(HD-automata in brief). They are an extension of ordinary automata
that overcomes their limitations in dealing with history-dependent
formalisms. In a history-dependent formalism the actions that a
system can perform carry information generated in the past history
of the system. The most interesting example is pi-calculus:
channel names can be created by some actions and they can then be
referenced by successive actions. Other examples are CCS with
localities and the history-preserving semantics of Petri nets.
Ordinary automata are an unsatisfactory operational model for these
formalisms: infinite automata are obtained for all the systems with
infinite computations, even for very simple ones; moreover, the
ordinary definition of bisimulation does not apply in these cases,
thus preventing the reusage of standard theories and algorithms.
In this paper we show that HD-automata are an adequate model for the
history-dependent formalisms. We present translations of
pi-calculus, CCS with localities and Petri nets into HD-automata;
and we show that finite HD-automata are obtained for significant
classes of systems with infinite computations. We also define
HD-bisimulation, both in a set-theoretical way (that is suitable for
automatic verification in the case of finite HD-automata) and in a
categorical way (by exploiting open maps). HD-bisimulation captures
the classical definitions of bisimulation on the considered history
dependent formalisms.