Implementation of a language with strong mobility - INRIA - Institut National de Recherche en Informatique et en Automatique Accéder directement au contenu
Thèse Année : 2008

Implementation of a language with strong mobility

Mise en œuvre d'un langage à mobilité forte

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.
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 à 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 œuvre. 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ûre. Nous présentons ensuite la sémantique dénotationnelle du langage et sa mise en œuvre 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 Java ME 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.
Fichier principal
Vignette du fichier
these.pdf (2.24 Mo) Télécharger le fichier

Dates et versions

tel-00264028 , version 1 (13-03-2008)

Identifiants

  • HAL Id : tel-00264028 , version 1

Citer

Stephane Epardaud. Implementation of a language with strong mobility. Computer Science [cs]. Université Nice Sophia Antipolis, 2008. English. ⟨NNT : ⟩. ⟨tel-00264028⟩
166 Consultations
370 Téléchargements

Partager

Gmail Facebook X LinkedIn More