We introduce a new kind of abstract machine based on the chemical metaphor used in the l? language of Ban%tre & al. States of a machine are chemical solutions where floating molecules can interact according to reaction rules. Solutions can be stratified by encapsulating subsolutions within membranes that force reactions to occur locally. We illustrate the use of this model by describing the operational semantics of the TCCS and CCS process calculi. We also show how to extract a higher-order concurrent &calculus out of the basic concepts of the chemical abstract machine. The situation is much less clear in the field of concurrent programming. Models such as Petri Nets, Communicating Automata, or Data Flow Networks can be considered as abstract machines, but certainly they lack expressive power. More expressive models such as Algebraic Process Calculi (18, 6] are intended to be specification formalisms for distributed systems rather than abstract machines. Implementation models of Concurrent Programming Languages such as CSP [IS] are conceptually based on standard sequential machine models augmented with scheduling facilities, not on specific abstract machines.
In REF , an abstract machine based on the chemical metaphor is introduced: states are chemical solutions where floating molecules can interact according to reaction rules.
The chemical abstract machine
POPL '90
Computer Science