Reactivity of Cooperative Systems: Application to ReactiveML -- extended version

Louis Mandel 1 Cédric Pasteur 1
1 Parkas - Parallélisme de Kahn Synchrone
DI-ENS - Département d'informatique de l'École normale supérieure, ENS Paris - École normale supérieure - Paris, Inria Paris-Rocquencourt, CNRS - Centre National de la Recherche Scientifique : UMR 8548
Résumé : L'ordonnancement coopératif permet l'implémentation séquentielle efficace de la concurrence. Il est largement utilisé pour fournir des threads légers sous forme de bibliothèques ou de constructions de programmation dans de nombreux langages de programmation. Toutefois, il appartient aux programmeurs d'appeler des primitives de coopération pour assurer la réactivité de leurs programmes. Nous présentons une analyse statique qui vérifie la réactivité des programmes en les abstrayant en comportements à l'aide d'un système de types à effets. Notre objectif est de trouver un bon compromis entre la complexité de l'analyse et sa précision pour les programmes réactifs typiques. La simplicité de l'analyse est obligatoire pour que le programmeur soit en mesure de comprendre les messages d'erreur et comment résoudre les problèmes de réactivité. Notre travail est appliqué et mis en oeuvre dans le langage synchrone fonctionnel ReactiveML. Il gère la récursivité, les processus d'ordre supérieur et les signaux de première classe. Nous prouvons la correction de notre analyse par rapport à la sémantique grands pas du langage~: un programme bien typé avec des effets réactifs est réactif. L'analyse est facile à mettre en oeuvre et assez générique pour être applicable à d'autres modèles de concurrence, tels que les coroutines. Ce rapport de recherche est la version étendue de l'article publié dans les actes de la 21ème édition de l'International Static Analysis Symposium.
Type de document :
Rapport
[Research Report] RR-8549, INRIA. 2014, pp.29
Liste complète des métadonnées


https://hal.inria.fr/hal-01010349
Contributeur : Louis Mandel <>
Soumis le : jeudi 19 juin 2014 - 15:44:50
Dernière modification le : mercredi 28 septembre 2016 - 16:17:16
Document(s) archivé(s) le : vendredi 19 septembre 2014 - 11:16:36

Fichier

RR-8549.pdf
Fichiers produits par l'(les) auteur(s)

Identifiants

  • HAL Id : hal-01010349, version 1

Collections

Citation

Louis Mandel, Cédric Pasteur. Reactivity of Cooperative Systems: Application to ReactiveML -- extended version. [Research Report] RR-8549, INRIA. 2014, pp.29. <hal-01010349>

Partager

Métriques

Consultations de
la notice

248

Téléchargements du document

136