Mise en oeuvre d'un langage à mobilité forte

par Stéphane Epardaud

Thèse de doctorat en Informatique

Sous la direction de Manuel Serrano et de Gérard Boudol.


  • Résumé

    Afin de résoudre les problèmes liés à l’intégration d’un nombre croissant d’appareils programmables, nous proposons un langage d’agents mobiles. Ces agents mobiles sont capables de migrer d’un appareil ou ordinateur `a l’autre afin d’exploiter au mieux ses ressources, ce qui permet de profiter au mieux des capacités de chaque appareil à partir d’un unique programme. Ce langage est ULM: Un Langage pour la Mobilité. Nous présentons dans cette thèse ses fonctionnalités, ses particularités, ainsi que sa mise en oeuvre. ULM est un dérivé du langage Scheme, auquel nous avons ajouté les fonctionnalités liées à la mobilité ainsi qu’à l’interaction entre les agents mobiles. ULM possède un ensemble de primitives permettant la création d’agents à mobilité forte, avec un ordonnancement coopératif déterministe, et des primitives de contrôles telles que la suspension ou la préemption faible. Nous présentons dans cette thèse l’intégration de ces primitives dans le langage Scheme, ainsi que leur interaction et l’ajout de certaines nouvelles primitives telles que la préemption forte ou la migration sˆure. Nous présentons ensuite la sémantique dénotationnelle du langage et sa mise en oeuvre au moyen d’un compilateur vers code-octet, et de deux machines virtuelles: une écrite en Bigloo Scheme pour exécution sur des ordinateurs traditionnels, l’autre écrite en JavaME pour les téléphones portables. Nous présentons ensuite l’utilisation possible d’ULM comme remplacement de programmes écrits pour des boucles d’événements, l’interface entre ULM et des langages externes, quelques exemples d’utilisation d’ULM, puis les travaux futurs avant de conclure.

  • Titre traduit

    Implementation of a language with strong mobility


  • Résumé

    In order to avoid the problems raised by the integration of a growing number of programmable home appliances, we propose a language with mobile agents. These mobile agents are capable of migrating from one appliance or computer to another in order to work on its local resources, which allows us to benefit from each appliance’s capabilities from a single program. This language is called ULM: Un Langage pour la Mobilité. We present in this dissertation its features, its differences with other languages, as well as its implementation. ULM is based on the Scheme language, to which we have added functionality linked with mobility and the communication of mobile agents. ULM has a number of primitives allowing the creation of strongly mobile agents, with a cooperative deterministic scheduling, and control primitives such as suspension or weak preemption. We present in this dissertation the integration of these primitives in the Scheme language, as well as their interaction and the addition of new primitives such as strong preemption and safe migration. We then present the denotational semantics, and its implementation with a bytecode compiler and two virtual machines: one written in Bigloo Scheme for execution on traditional computers, the other in Java ME for mobile phones. We present then the possible use of ULM as a replacement for programs written for event loops, the interfacing of ULM and external languages, a few examples of ULM applications, and future work before we conclude.

Consulter en bibliothèque

La version de soutenance existe sous forme papier

Informations

  • Détails : 1 vol. (viii-217 p.)
  • Annexes : Bibliogr. p. 177-182. Résumés en français et en anglais

Où se trouve cette thèse ?

  • Bibliothèque : Université Nice Sophia Antipolis. Service commun de la documentation. Section Sciences.
  • Non disponible pour le PEB
  • Cote : 08NICE4010
  • Bibliothèque : Université Nice Sophia Antipolis. Service commun de la documentation. Section Sciences.
  • Non disponible pour le PEB
  • Cote : 08NICE4010
Voir dans le Sudoc, catalogue collectif des bibliothèques de l'enseignement supérieur et de la recherche.