Participants : Thierry Priol, Cédric Tedeschi, Chen Wang.
Thierry Priol, Thierry.Priol@inria.fr
HOCL (Higher Order Chemical Language) is a chemical programming language based on the chemical metaphor presented before (see Section 3.7 ). It was developed for several years within the PARIS team. Within HOCL, following the chemical metaphor, computations can be regarded as chemical reactions, and data can be seen as molecules which participate in these reactions. If a certain condition is held, the reaction will be triggered, thus continuing until it gets inert: no more data can satisfy any computing conditions. To realize this program paradigm, a multiset is implemented to act as a chemical tank, containing necessary data and rules. An HOCL program is then composed of two parts: chemical rule definitions (reaction rules) and multiset definition (data). More specifically, HOCL provides the high order: reaction rules are molecules that can be manipulated like any other molecules. In other words, HOCL programs can manipulate other HOCL programs.
An HOCL compiler was developed using java to execute some chemical programs expressed with HOCL. This compiler is based on the translation of HOCL programs to java code. As a support for service coordination and service adaptation (refer to Section 6.4 ), we recently extended the HOCL compiler with the following features:
Possibility of communication between two multisets
Support for the communication between two different chemical programs
Support for passing chemical rules between two multisets
Support for the dynamic creation and addition of chemical rules at runtime
These aspects will allow to have a software support to experiment the chemical implementation of service coordination.