The Signal synchronous language: the principles beyond the language and how to exploit and extend them
Résumé
Signal is an "alternative" synchronous language, with the following features: it addresses open systems and puts clocks ans synchronization at the forefront. To this end, synchronization is synthesized, not verified. We will emphasize the clock and causality calculus and show its use in modular compilation. Then, we'll show how we can extend the clock calculus and improve the power of the language, and extend the causality calculus toward supporting constraint solving (instead of evaluating signal expressions). The latter extension may be suited to physical system modeling.
Conçu et développé à la même période que les autres langages synchrones, Signal, avec le recul, apparaît comme étant à part dans le paysage. Il est dédié aux systèmes dits "ouverts" et se focalise sur la synchronisation et les horloges. La synchronisation d'un programme est synthétisée et non pas vérifiée. Nous expliquerons les principes de cette approche, et, en premier, le calcul d'horloges et de causalité, qui permet de dégager une notion d'interface utile pour la compilation modulaire. Notre objectif, au-delà du langage, est de montrer l'intérêt de ces principes. Nous expliquerons comment exploiter les avancées récentes des techniques de preuve pour augmenter la puissance du calcul d'horloges. Et, surtout, nous expliquerons comment une extension du calcul de causalité permet de traiter des programmes incluant des contraintes numériques, extension utile lorsqu'on s'intéresse à la modélisation de systèmes physiques.
Domaines
Informatique et langage [cs.CL]Origine | Fichiers produits par l'(les) auteur(s) |
---|