Summary: | Ce mémoire décrit et évalue un système de module qui améliore la migration de code dans le
langage de programmation distribuée Termite Scheme. Ce système de module a la possibilité
d’être utilisé dans les applications qu’elles soient distribuées ou pas. Il a pour but de faciliter
la conception des programmes dans une structure modulaire et faciliter la migration de code
entre les nœuds d’un système distribué. Le système de module est conçu pour le système
Gambit Scheme, un compilateur et interprète du langage Scheme utilisé pour implanter
Termite. Le système Termite Scheme est utilisé pour implémenter les systèmes distribués.
Le problème qui est résolu est la diffusion de code compilé entre les nœuds d’un système
distribué quand le nœud destination n’a aucune connaissance préalable du code qu’il reçoit.
Ce problème est difficile car les nœuds sont hétérogènes, ils ont différentes architectures (x86,
ARM).
Notre approche permet d’identifier les modules de façon unique dans un contexte dis-
tribué. La facilité d’utilisation et la portabilité ont été des facteurs importants dans la
conception du système de module.
Le mémoire décrit la structure des modules, leur implémentation dans Gambit et leur
application. Les qualités du système de module sont démontrées par des exemples et la
performance est évaluée expérimentallement. === This thesis presents a module system for Termite Scheme that supports distributed computing.
This module system facilitates application modularity and eases code migration
between the nodes of a distributed system. This module system also works for developing
non-distributed applications. The Gambit Scheme system is used to implement the
distributed Termite and the Module system.
The problem that is solved is the migration of compiled code between nodes of a distributed
system when the receiving node has no prior knowledge of the code. This is a
challenging problem because the nodes are not homogenous, they have different architectures
(ARM, x86).
Our approach uses a naming model for the modules that uniquely identifies them in a
distributed context. Both ease of use and portability were important factors in the design
of the module system.
The thesis describes a module system and how it was integrated into Gambit. The
system allows developing distributed modular systems. The features of this system are
shown through application examples and the performance is evaluated experimentally.
|