[english]English version

Présentation succincte de Schooner

Schooner (qui signifie Sloop Communication Library for High-level, Object-Oriented, aNd Efficient Remote Exchanges) est une bibliothèque de classes utilisée pour écrire des applications parallèles et distribuées en C++. Ses principaux buts sont :

  1. d'être indépendante de la couche de communication utilisée,
  2. de fournir à l'utilisateur une vue structurée et abstraite de son application (ensemble des calculateurs accessibles, ensemble des entités de calcul),
  3. de permettre une redéfinition aisée de ses comportements. Les avantages lorsque l'on utilise un langage orienté objet sont principalement la modularité et la réutilisabilité : par exemple, il est très facile de rajouter un nouveau type de message ou de modifier la dimension de l'application.
Au niveau le plus bas, Schooner définit un ensemble minimum de mécanismes dont on doit disposer lorsque l'on développe des applications concurrentes, que leur granularité soit fine ou plus grossière. Il s'agit essentiellement de primitives permettant la définition d'entités de calcul et l'échange de données entre elles. Grâce au mécanisme d'héritage, cet ensemble peut être aisément redéfini et élargi. De plus, la conception de cet ensemble est telle que l'utilisateur peut avoir une vue structurée et abstraite de son application (ensemble des calculateurs accessibles, ensemble des entités de calcul, etc). L'échange de données entre entités de calcul est réalisé par un mécanisme de message actif. Ce mode de communication a été choisi car il est général et simple à manier.

Schooner sert actuellement de support d'exécution pour :

Les classes constituant la bibliothèque Schooner peuvent être rangées en 3 catégories, selon leur niveau de fonctionnalité :
  1. le premier niveau est essentiellement une interface vers n'importe quelle bibliothèque de communication, et si nécessaire vers une bibliothèque de processus légers ;
  2. le deuxième niveau est consitué de classes qui permettent au programmeur de créer ses noeuds de calcul, qui sont appelés des "clusters"; ces clusters interagissent par le biais de messages actifs ;
  3. un troisième niveau permet de programmer des objets communiquant, interagissant également à l'aide de messages actifs. Si nécessaire, n'importe quel objet communiquant peut se voir associer un processus léger lui permettant ainsi d'avoir une activité propre.
layer
La figure suivante est un exemple d'une application bâtie sur Schooner, en cours d'exécution.
runtime

Retour à la page principale de Schooner
Contact
Last modified: Mon Mar 2 15:27:21 MET