The paper introduces a new abstract machine called the Chemical Abstract Machine (CAM), which models asynchronous concurrent computations. The CAM is based on the chemical metaphor used in the $\Gamma$ language of Banâtre and al., where states are chemical solutions that can interact according to reaction rules. Solutions can be stratified by encapsulating subsolutions within membranes, which force reactions to occur locally. The authors illustrate the use of this model by describing the operational semantics of the TCCS and CCS process calculi and show how to extract a higher-order concurrent $\lambda$-calculus from the basic concepts of the chemical abstract machine.
The CAM is formally defined with molecules, solutions, and transformation rules. Molecules are terms of algebras, and solutions are finite multisets of molecules. The transformation rules include heating and cooling rules for decomposing and recomposing molecules, reaction rules for interactions between ions, and membrane rules for encapsulating and localizing reactions. The CAM is intrinsically parallel, allowing multiple rules to be applied simultaneously provided no molecule is involved in more than one rule.
The paper also discusses the expressive power of CAMs, showing that they can implement known models of concurrent computation such as algebraic process calculi and a concurrent $\lambda$-calculus. The authors provide formal definitions and examples to demonstrate how CAMs can handle various process calculi, including the full TCCS calculus and other process calculi like CCS. They also introduce a new concurrent $\lambda$-calculus called the $\gamma$-calculus, which combines the expressive power of the $\lambda$-calculus with the ability to handle concurrency. The $\gamma$-calculus is defined using the CAM framework, and its evaluation semantics are shown to correspond closely to lazy evaluation in the $\lambda$-calculus.The paper introduces a new abstract machine called the Chemical Abstract Machine (CAM), which models asynchronous concurrent computations. The CAM is based on the chemical metaphor used in the $\Gamma$ language of Banâtre and al., where states are chemical solutions that can interact according to reaction rules. Solutions can be stratified by encapsulating subsolutions within membranes, which force reactions to occur locally. The authors illustrate the use of this model by describing the operational semantics of the TCCS and CCS process calculi and show how to extract a higher-order concurrent $\lambda$-calculus from the basic concepts of the chemical abstract machine.
The CAM is formally defined with molecules, solutions, and transformation rules. Molecules are terms of algebras, and solutions are finite multisets of molecules. The transformation rules include heating and cooling rules for decomposing and recomposing molecules, reaction rules for interactions between ions, and membrane rules for encapsulating and localizing reactions. The CAM is intrinsically parallel, allowing multiple rules to be applied simultaneously provided no molecule is involved in more than one rule.
The paper also discusses the expressive power of CAMs, showing that they can implement known models of concurrent computation such as algebraic process calculi and a concurrent $\lambda$-calculus. The authors provide formal definitions and examples to demonstrate how CAMs can handle various process calculi, including the full TCCS calculus and other process calculi like CCS. They also introduce a new concurrent $\lambda$-calculus called the $\gamma$-calculus, which combines the expressive power of the $\lambda$-calculus with the ability to handle concurrency. The $\gamma$-calculus is defined using the CAM framework, and its evaluation semantics are shown to correspond closely to lazy evaluation in the $\lambda$-calculus.