Skip to Main content Skip to Navigation
Reports

Generalized Multisets for Chemical Programming

Jean-Pierre Banâtre 1 Pascal Fradet 2 Yann Radenac 1
1 PARIS - Programming distributed parallel systems for large scale numerical simulation
IRISA - Institut de Recherche en Informatique et Systèmes Aléatoires, ENS Cachan - École normale supérieure - Cachan, Inria Rennes – Bretagne Atlantique
Résumé : Gamma is a programming model where computation can be seen as chemical reactions between data represented as molecules floating in a chemical solution. This model can be formalized as associative, commutative, conditional rewritings of multisets where rewrite rules and multisets represent chemical reactions and solutions, respectively. In this article, we generalize the notion of multiset used by Gamma and present applications through various programming examples. First, multisets are generalized to include rewrite rules which become first-class citizen. This extension is formalized by the $\gamma$-calculus, a chemical model that summarizes in a few rules the essence of higher-order chemical programming. By extending the $\gamma$-calculus with constants, operators, types and expressive patterns, we build a higher-order chemical programming language called HOCL. Finally, multisets are further generalized by allowing elements to have infinite and negative multiplicities. Semantics, implementation and applications of this extension are considered. \\ Gamma est un modèle de programmation où les calculs peuvent être vus comme des réactions chimiques entre des données représentées comme des molécules flottant dans une solution chimique. Ce modèle peut être formalisé par la réécriture associative, commutative et conditionnelle de multi-ensembles où les règles de réécriture et les multi-ensembles représentent respectivement les réactions et les solutions chimiques. Dans cet article, nous généralisons la notion de multi-ensemble utilisé dans Gamma et nous présentons des applications à travers divers exemples de programmes. Dans un premier temps, les multi-ensembles sont étendus pour inclure les règles de réécriture qui deviennent donc des molécules comme les autres (ordre supérieur). Cette extension est formalisée par le $\gamma$-calcul, un modèle de calcul chimique qui contient en quelques règles l'essence même des programmes chimiques d'ordre supérieur. Ensuite, en étendant le $\gamma$-calcul avec des constantes, des opérateurs, des types et des motifs plus expressifs, nous construisons un langage de programmation qu'on appelle HOCL. Enfin, les multi-ensembles sont de nouveau étendus en permettant d'exprimer des multiplicités infinies et négatives. Sémantique, implémentation et applications de cette extension sont abordées.
Document type :
Reports
Complete list of metadata

Cited literature [19 references]  Display  Hide  Download

https://hal.inria.fr/inria-00000624
Contributor : Anne Jaigu <>
Submitted on : Thursday, November 10, 2005 - 9:55:35 AM
Last modification on : Monday, February 15, 2021 - 10:38:27 AM
Long-term archiving on: : Friday, April 2, 2010 - 6:52:29 PM

Identifiers

  • HAL Id : inria-00000624, version 1

Citation

Jean-Pierre Banâtre, Pascal Fradet, Yann Radenac. Generalized Multisets for Chemical Programming. [Research Report] PI 1762, 2005, pp.26. ⟨inria-00000624⟩

Share

Metrics

Record views

281

Files downloads

554