Index

1   Projets/stages d'année liés au langage SCOL

1.1   Technologie SCOL

La société Cryo-Networks développe depuis 96 une technologie dédiée aux applications multi-utilisateurs sur internet appelée Scol (Standard Cryo On Line). Cette technologie, sans concurrence à l'heure actuelle, repose sur deux niveaux : Dès l'origine, le projet a montré une ambition scientifique, et notamment celle de servir de support à certains enseignements.

Pour ce faire, l'accès à la machine virtuelle et à la documentation du langage est gratuite, et loutil graphique dassemblage des composants DMS est gracieusement fourni aux universités qui en font la demande. Par ailleurs, Cryo-Networks met en oeuvre cette technologie pour réaliser des mondes persistants sur Internet, à caractère ludique. En novembre 99 sortira ainsi Venise, un jeu de négociation au 16e siècle, entièrement réalisé avec larchitecture DMS.

Cryo-Networks souhaite développer ses liens avec les milieux universitaires, notamment par lun des ces trois moyens : L'expérience récente a montré, notamment à Jussieu et à Rennes, que l'intérêt des enseignants pour les aspects innovants et sérieux du langage, rencontrait celui des élèves pour les applications graphiques et en réseau.

1.2   Liste de projets/stages année 1999/2000

Ces sujets d'études sont proposés par Sylvain Huet (Cryo-networks) en liaison avec le cours <<Langages Fonctionnels>>. Tous les sujets d'étude sont des stages individuels possibles. Seuls les numéros 1,2 et 6 peuvent être choisis comme projet d'année pour des binômes du DESS GLA.

  1. Approche composante DMS et agents
    L'architecture DMS (Distributed Modules System) développée à partir de Scol poursuit un objectif simple : rationnaliser le développement d'une application en simplifiant les interactions entre les différents composants.

    Cette architecture modulaire suit la règle suivante : on ne doit trouver dans un module aucune référence explicite à un autre module. En d'autres termes, un module ne connaît rien des autres, et en particulier ne peut invoquer explicitement une méthode d'un autre module. Chaque module dispose d'un nombre quelconque dentrées et de sorties et peut traiter les signaux entrant et produire des signaux en sortie. La connaissance mutuelle des modules est remplacée par la travail de lintégrateur qui assemble les modules au moyens de liens orientés : une sortie vers une ou plusieurs entrées. Tout comme en électronique des circuits imprimés, le graphe obtenu est statique.

    Dans cette architecture, on introduit la notion dutilisateur, proche de celle dagent. Les utilisateurs se déplacent dans le graphe (on parle de graphe User-Flow) et peuvent interagir lorsquils sont présents dans le même module. Le problème de la connaissance mutuelle des utilisateurs se pose de nouveau, mais avec une difficulté supplémentaire, car les utilisateurs sont dynamiques : ils apparaissent et disparaissent de manière imprévisible. Deux questions se posent alors : avec qui un utilisateur donné va-t-il communiquer? quelle va être la forme de cette communication? Il va de soi que lon souhaite conserver le même principe de non-connaissance mutuelle, appliqué cette fois aux utilisateurs.

    L'objet du projet est d'étudier les différents systèmes existants, de proposer et dimplémenter une solution, extension de larchitecture DMS.

  2. Langage Scol extension objet
    Le langage Scol est un langage fonctionnel. Pour simplifier le développement de certaines applications, et notamment les applications graphiques aux effets de bord nombreux, une extension objet du langage est souhaitée.

    L'objet du projet est danalyser les différences fondamentales entre programmation objet et programmation fonctionnelle, puis de proposer une extension et notamment une syntaxe, enfin de participer à l'implémentation de cette extension dans le compilateur Scol.

  3. Machine virtuelle GC
    La machine virtuelle Scol est basée sur une gestion automatique de la mémoire, par un système d'allocation explicite et de désallocation par GC. Un certain nombre d'études peuvent être menées sur le système actuel.

    Dans un premier temps, un analyse statistique de la structure des blocs alloués: taille, durée de vie, nombre de pointeurs, ...

    Dans un deuxième temps, et après une étude des nombreux algorithmes GC documentés, des propositions de modification du GC seront faites, implémentées et analysées.

  4. 3d modélisation automatique
    Le développement de la 3d sur internet se heurte à trois difficultés de niveaux différents. Les deux premières sont la puissance requise pour la 3d temps réelle et la taille des scènes 3d (qui équivaut en gros à la taille des textures de la scène). Ces deux difficultés se résolvent petit à petit par l'augmentation des performances des divers matériels impliqués.

    La troisième difficulté est celle de la modélisation. Les outils de modélisation 3d requièrent un temps de développement long, sans compter le temps de formation, lui aussi très coûteux. De plus la modification dune scène 3d existante est souvent lourde et malaisée.

    L'objet de ce projet est de modéliser automatiquement un espace à partir d'une base de données dinformations. On prendra comme première application la modélisation automatique de rayonnages en 3d, à partir dune base de données de produits et de photos des produits : le programme crée automatiquement un rayonnage en 3d présentant les produits sous forme de photos, reliées à des Url de description du produit.

  5. portage Scol
    La machine virtuelle Scol a été conçue dès le début pour être multiplateforme. Son coeur a dailleurs été développé initialement sur Unix. Une version complète sous Windows est disponible. Une version Unix sans les librairies audio est également disponible. Il manque principalement une version Macintosh.

    L'objet du projet est de porter Scol sur ces plateformes. Ce projet doit impérativement se dérouler dans les murs de l'entreprise.

  6. Debugger fonctionnel et distribué
    Un debugger pour Scol est un logiciel relativement complexe à écrire. D'une part, Scol est un langage fonctionnel avec inférence de type. Cela signifie qu'en général le type des données n'est pas conservé au-delà de la compilation. Ensuite les applications Scol sont le plus souvent distribuées entre plusieurs machines, qui ne communiquent pas forcément en étoile mais selon un graphe quelconque.

    Ecrire un tel programme nécessite donc une étude très approfondie du domaine. Une thèse en entreprise peut être envisagée.

1.3   Cryo-networks

CRYO NETWORKS
44-50, avenue du capitaine Glarner 
93585 Saint-Ouen
France
Tél : 33 1 49 48 69 00 
Fax : 33 1 49 48 69 01
www : http://www.cryo-networks.com
Contact :
Sylvain Huet  
Directeur de la Technologie
Directeur Général Adjoint

Index