Crop : un langage de programmation interactif en environnement distribué hétérogène
Auteur / Autrice : | Michel Besson |
Direction : | Christian Huitema |
Type : | Thèse de doctorat |
Discipline(s) : | Informatique |
Date : | Soutenance en 1994 |
Etablissement(s) : | Nice |
Partenaire(s) de recherche : | Autre partenaire : Université de Nice-Sophia Antipolis. Faculté des sciences |
Jury : | Président / Présidente : Jean-Paul Rigault |
Rapporteur / Rapporteuse : Jean-Pierre Elloy, Yves Raynaud, André Schaff |
Résumé
Le modèle client/serveur est fondé sur un mode de communication simple, mis au point au début des années 80 : l'appel de procédure à distance (RPC). Ce paradigme a fait l'objet de diverses mises en œuvre, qui s'appuient toutes sur 3 éléments : un langage de spécification permettant de décrire les opérations de service et les structures de données associées ; un ensemble de règles de représentation permettant d'échanger les données entre entités hétérogènes ; un protocole de gestion du dialogue question/réponse. Dans l'architecture OSI, ces éléments sont respectivement : le langage ASN1, les règles d'encodage (BER par exemple), et le protocole ROS. Malgré les diverses variantes introduites dans ces environnements, le protocole de dialogue est très pauvre et il est fréquemment nécessaire de déclencher plusieurs opérations élémentaires pour résoudre les besoins du client. Une extension naturelle de cette approche consiste à permettre au client de transmettre au serveur non pas simplement des appels de procédures primitifs, mais des structures de contrôle dont l'interprétation est réalisée dans le contexte du serveur (lambda expression). Diverses propositions sont analysées et réalisées dans la présente étude. Élaborées au-dessus du langage ASN1, elles visent à l'enrichir afin de lui offrir la puissance d'expression d'un véritable langage de programmation (CROP). Le serveur est équipé d'un interpréteur qui parcourt les arbres de programme reçus et en exécute la sémantique. Un problème important se pose : celui du choix des structures de contrôle du langage. La première approche consiste à proposer un langage spécifique. Puis deux nouvelles approches sont analysées, bâties sur le principe de définition de syntaxes abstraites indépendantes pouvant être combinées à la demande du client à l'ouverture de la connexion, afin de configurer le langage de dialogue en fonction des besoins