Etude de la programmation logico-fonctionnelle concurrente - TEL - Thèses en ligne Accéder directement au contenu
Thèse Année : 2002

Etude de la programmation logico-fonctionnelle concurrente

Résumé

The construction of programs needs the use of appropriate tools. A particular kind of tool are programming languages. Functional-logic programming languages are declarative languages based on the mathematical notions of functions and predicates. This solid formal foundation facilitates both, the concise description of systems at a level close to specifications, as well as the validation of programs. Nevertheless, the underlying concepts are insufficient for a convenient description of complex systems where interactivity, concurrency and distribution are needed. In order to model such systems, the notion of processes has been introduced. In the context of process algebrae, a process is characterised, informally, by the actions it might execute. However, languages based solely on process algebrae have to be extended with the notions of functions and predicates to avoid the encoding of these notions by means of processes. In this thesis, we study an integration of declarative and concurrent programming. We model a system as a set of components. Each component contains a declarative program, called store, and a set of processes which interact by the execution of actions and are described by means of process algebrae. Additionally, a component might contain definitions of further actions definable by the programmer. Interaction between components uses the same scheme: Processes can execute actions on the store of the other components. The different components of a system can use different declarative languages for the description of their stores, so that the translation of the communicated values is necessary. We give a compositional semantics and a secrecy analysis for the processes of a component and present the outlines of a prototype implementation.
La construction de programmes nécessite l'utilisation d'outils adaptés. Un outil particulier est le langage de programmation. Les langages logico-fonctionnels sont des langages de programmation dits déclaratifs qui se basent sur les notions mathématiques de fonction et de prédicat. Ce fondement théorique solide facilite à la fois la description d'un système à un niveau proche de la spécification ainsi que la validation de programmes. Néanmoins, les concepts sous-jacents aux langages logico-fonctionnels sont insuffisants pour la description aisée de systèmes complexes qui nécessitent l'interactivité, la concurrence et la distribution. Pour la modélisation de ces systèmes, la notion de processus a été introduite. Dans le contexte des algèbres de processus, un processus est caractérisé par les actions qu'il est capable d'exécuter. Cependant, les langages fondés uniquement sur les algèbres de processus doivent être étendus afin d'éviter le codage de fonctions et de prédicats en termes de processus. Dans cette thèse nous proposons un modèle de calcul qui intègre la programmation concurrente et déclarative. Nous suggérons de modéliser un système par un ensemble de composants. Chacun de ces composants comporte un programme déclaratif, appelé store, et un ensemble de processus interagissant par l'exécution d'actions. De plus, un composant peut contenir de nouvelles actions définissables par le programmeur. L'interaction entre composants est fondée sur le même principe, c.-à.-d. un processus peut exécuter des actions sur les stores des autres composants. Les différents composants d'un système peuvent utiliser des langages déclaratifs différents pour la description de leurs stores respectifs, ce qui nécessite la traduction des valeurs communiquées. Nous donnons une sémantique compositionnelle ainsi qu'une analyse de la confidentialité pour les processus d'un composant, et présentons les principes d'un prototype implanté
Fichier principal
Vignette du fichier
tel-00004582.pdf (1.62 Mo) Télécharger le fichier

Dates et versions

tel-00004582 , version 1 (08-02-2004)

Identifiants

  • HAL Id : tel-00004582 , version 1

Citer

Wendelin Serwe. Etude de la programmation logico-fonctionnelle concurrente. Autre [cs.OH]. Institut National Polytechnique de Grenoble - INPG, 2002. Français. ⟨NNT : ⟩. ⟨tel-00004582⟩

Collections

UGA IMAG CNRS
369 Consultations
910 Téléchargements

Partager

Gmail Facebook X LinkedIn More