The Chemical Machine: An Interpreter for the Higher Order Chemical Language

  • Vilmos Rajcsányi
  • Zsolt Németh
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7155)


The notion of chemical computing has evolved for more than two decades. From the seminal idea several models, calculi and languages have been developed and there are various proposals for applying chemical models in distributed problem solving where some sort of autonomy, self-evolving nature and adaptation is sought. While there are some experimental chemical implementations, most of these proposals remained at the paper-and-pencil stage. This paper presents a general purpose interpreter for the Higher Order Chemical Language. The design follows that of logic/functional languages and bridges the gap between the highly abstract chemical model and the physical machine by an abstract interpreter engine. As a novel approach the engine is based on a modified hierarchical production system and turns away from imperative languages.


Chemical Model Physical Machine Autonomic Computing Desktop Grid Service Orchestration 
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.
    Aït-Kaci, H.: Warren’s Abstract Machine: A Tutorial Reconstruction. MIT Press (1991)Google Scholar
  2. 2.
    Arenas, A.E., Banâtre, J.-P., Priol, T.: Developing Autonomic and Secure Virtual Organisations with Chemical Programming. In: Guerraoui, R., Petit, F. (eds.) SSS 2009. LNCS, vol. 5873, pp. 75–89. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  3. 3.
    Banâtre, J.-P., Fradet, P., Radenac, Y.: Generalised multisets for chemical programming. Math. Struct. in Comp. Science 16, 557–580 (2006)zbMATHCrossRefGoogle Scholar
  4. 4.
    Banâtre, J.-P., Le Métayer, D.: Programming by multiset transformation. Commun. ACM 36(1), 98–111 (1993)CrossRefGoogle Scholar
  5. 5.
    Banâtre, J.-P., Priol, T.: Chemical programming of future service-oriented architectures. JSW 4(7), 738–746 (2009)CrossRefGoogle Scholar
  6. 6.
    Banâtre, J.-P., Priol, T., Radenac, Y.: Service Orchestration Using the Chemical Metaphor. In: Brinkschulte, U., Givargis, T., Russo, S. (eds.) SEUS 2008. LNCS, vol. 5287, pp. 79–89. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  7. 7.
    Banâtre, J.-P., Le Scouarnec, N., Priol, T., Radenac, Y.: Towards ”chemical” desktop grids. In: eScience, pp. 135–142 (2007)Google Scholar
  8. 8.
    Banâtre, J.-P., Fradet, P., Radenac, Y.: Programming self-organizing systems with the higher-order chemical language. International Journal of Unconventional Computing 3(3), 161–177 (2007)Google Scholar
  9. 9.
    Berryman, A.A.: The origins and evolution of predator-prey theory. Ecology (73) (1992)Google Scholar
  10. 10.
    Billoud, B., Kontic, M., Viari, A.: Palingol: a declarative programming language to describe nucleic acids secondary structures and to scan sequence database. Nucleic Acids Res. (24), 1395–1403 (1996)Google Scholar
  11. 11.
    Caeiro, M., Németh, Z., Priol, T.: A chemical model for dynamic workflow coordination. In: PDP, pp. 215–222 (2011)Google Scholar
  12. 12.
    Dittrich, P., Ziegler, J., Banzhaf, W.: Artificial chemistries-a review. Artificial Life 7(3), 225–275 (2001)CrossRefGoogle Scholar
  13. 13.
    Dobson, S., Sterritt, R., Nixon, P., Hinchey, M.: Fulfilling the vision of autonomic computing. IEEE Computer 43(1), 35–41 (2010)CrossRefGoogle Scholar
  14. 14.
    Forgy, C.: Rete: A fast algorithm for the many patterns/many objects match problem. Artif. Intell. 19(1), 17–37 (1982)CrossRefGoogle Scholar
  15. 15.
    Henderson, P.: Functional programming - application and implementation. Prentice Hall International Series in Computer Science, pp. 1–355. Prentice Hall (1980)Google Scholar
  16. 16.
    Hill, E.F.: Jess in Action: Java Rule-Based Systems. Manning Publications Co., Greenwich (2003)Google Scholar
  17. 17.
    Kephart, J.O., Chess, D.M.: The vision of autonomic computing. IEEE Computer 36(1), 41–50 (2003)CrossRefGoogle Scholar
  18. 18.
    Di Napoli, C., Giordano, M., Pazat, J.-L., Wang, C.: A Chemical Based Middleware for Workflow Instantiation and Execution. In: Di Nitto, E., Yahyapour, R. (eds.) ServiceWave 2010. LNCS, vol. 6481, pp. 100–111. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  19. 19.
    Nori, K.V., Ammann, U., Jensen, K., Nageli, H.H., Jacobi, C.: Pascal-p implementation notes. In: Pascal - The Language and its Implementation, pp. 125–170 (1981)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Vilmos Rajcsányi
    • 1
  • Zsolt Németh
    • 1
  1. 1.MTA SZTAKI Computer and Automation Research InstituteHungary

Personalised recommendations