Higher-Order Chemical Programming Style

  • J. -P. Banâtre
  • P. Fradet
  • Y. Radenac
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3566)


The chemical reaction metaphor describes computation in terms of a chemical solution in which molecules interact freely according to reaction rules. Chemical solutions are represented by multisets of elements and reactions by rewrite rules which consume and produce new elements according to conditions. The chemical programming style allows to write many programs in a very elegant way. We go one step further by extending the model so that rewrite rules are themselves molecules. This higher-order extension leads to a programming style where the implementation of new features amounts to adding new active molecules in the solution representing the system. We illustrate this style by specifying an autonomic mail system with several self-managing properties.


Active Molecule Emergency Server Reactive Molecule Main Server Reaction Rule 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Banâtre, J.-P., Fradet, P., Le Métayer, D.: Gamma and the chemical reaction model: Fifteen years after. In: Calude, C.S., Pun, G., Rozenberg, G., Salomaa, A. (eds.) Multiset Processing. LNCS, vol. 2235, pp. 17–44. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  2. 2.
    Banâtre, J.-P., Fradet, P., Radenac, Y.: Chemical specification of autonomic systems. In: Dosch, W., Debnath, N. (eds.) Proc. of the 13th Int. Conf. on Intelligent and Adaptive Systems and Software Engineering (IASSE 2004), ISCA (2004)Google Scholar
  3. 3.
    Banâtre, J.-P., Fradet, P., Radenac, Y.: Principles of chemical programming. In: Abdennadher, S., Ringeissen, C. (eds.) Proceedings of the 5th International Workshop on Rule-Based Programming (RULE 2004), June 2004. ENTCS, vol. 124, pp. 133–147. Elsevier, Amsterdam (2004)Google Scholar
  4. 4.
    Banâtre, J.-P., MétayerA, D.L.: new computational model and its discipline of programming. Technical Report RR0566, INRIA (September 1986)Google Scholar
  5. 5.
    Banâtre, J.-P., Métayer, D.L.: Programming by multiset transformation. Communications of the ACM (CACM) 36(1), 98–111 (1993)CrossRefGoogle Scholar
  6. 6.
    Barradas, H.: Systematic derivation of an operating system kernel in Gamma. Phd thesis, University of Rennes, France (July 1993) (in French) Google Scholar
  7. 7.
    Berry, G., Boudol, G.: The chemical abstract machine. Theoretical Computer Science 96, 217–248 (1992)zbMATHCrossRefMathSciNetGoogle Scholar
  8. 8.
    Carriero, N., Gelernter, D.: Linda in Context. Communications of the ACM 32(4), 444–458 (1989)CrossRefGoogle Scholar
  9. 9.
    Fontana, W., Buss, L.: Algorithmic chemistry. In: Farmer, J., Langton, C., Taylor, C., Rasmussen, S. (eds.) Artificial Life II, vol. X, pp. 159–209. Addison-Wesley, Reading (1992)Google Scholar
  10. 10.
    Métayer, D.L.: Higher-order multiset programming. In: American Mathematical Society (ed.) Proc. of the DIMACS workshop on specifications of parallel algorithms. Dimacs Series in Discrete Mathematics, vol. 18 (1994)Google Scholar
  11. 11.
    Păun, G.: Computing with membranes. Journal of Computer and System Sciences 61(1), 108–143 (2000)zbMATHCrossRefMathSciNetGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • J. -P. Banâtre
    • 1
  • P. Fradet
    • 2
  • Y. Radenac
    • 1
  1. 1.IRISARennes CedexFrance
  2. 2.INRIA Rhône-AlpesMontbonnotFrance

Personalised recommendations