Modulefpreviousupnextcontentsindex[BIG][Normal][small]
Suiv.: 1.3 Format libre Sup.: Généralités Préc.: 1.1 Introduction Index Table des matières


1.2 Les niveaux d'utilisation

   

Le logiciel Modulef est formé d'un ensemble de couches successives (figure 1.1). De même que le langage Fortran constitue une couche de plus haut niveau que le langage machine, Modulef comprend quatre couches situées au-dessus de Fortran (ceci est présenté également dans [Guide Modulef - 1], section 2.2). Les couches de plus haut niveau sont les plus simples d'emploi, mais il est nécessaire de recourir aux couches de plus bas niveau pour traiter certains problèmes.

 
Figure 1.1: Niveaux d'utilisation 

Ainsi, l'utilisateur peut se placer dans l'une des situations suivantes, classées ici par ordre de complexité croissante (des couches les plus hautes vers les couches les plus basses) :

Ces quatre situations sont décrites ci-dessous.

Niveau supérieur : ``activer une boîte noire''

Le but des boîtes noires est de masquer certains détails de Modulef. Elles traitent le plus souvent des problèmes très spécifiques et ne font donc pas partie de la version standard de Modulef. Citons cependant deux exceptions, à vocation plus générale :

DOMINO
[Hassim-Laug 1990] est un système à base de connaissances écrit en LE-LISP et couplé avec la bibliothèque Modulef. Il guide l'utilisateur durant la spécification de son problème, active automatiquement les processeurs adéquats, et contrôle leur exécution. ([note] Le logiciel DOMINO est mis à disposition par le service VRI de l'INRIA.)
TOUTXX
permet d'activer les processeurs usuels de Modulef via un menu. En fait, ce dernier type d'utilisation masque très peu le niveau immédiatement inférieur, décrit ci-après. ([note] Le processeur TOUTXX fait partie du source Modulef.)

1.2.2 Niveau ``activer des processeurs''

 

Ce niveau représente l'utilisation la plus habituelle de Modulef, qui consiste à activer des processeurs les uns à la suite des autres ( enchaîner des processeurs).

En pratique, activer un processeur revient à exécuter un programme en deux temps : une première phase prépare un ensemble de données de façon interactive, tandis que la deuxième phase effectue les calculs proprement dits, sans intervention de l'utilisateur.

Chaque processeur réalise une tâche bien déterminée, comme par exemple la construction d'un maillage, la spécification des conditions aux limites, le calcul de la solution d'un système linéaire, etc.

Si certaines fonctionnalités ne sont pas disponibles, l'utilisateur doit modifier lui-même un processeur existant, voire même créer un nouveau processeur : ce travail consiste à appeler des modules (section suivante).

1.2.3 Niveau ``appeler des modules''

Pour un utilisateur qui désire appeler des modules, Modulef ressemble à une bibliothèque classique de sous-programmes Fortran. Par exemple, l'appel du module THELAS s'écrit :

CALL THELAS(M, M, M, NFMAIL, NIMAIL, NFCOOR, NICOOR, ...)

Cependant, certains paramètres de ces sous-programmes jouent un rôle bien particulier :

Niveau inférieur : ``appeler des algorithmes et des utilitaires''

   

Un module est un sous-programme écrit selon des normes et des conventions précisées dans ce guide (section 1.7). Notamment, un module appelle :

A tous ces niveaux, l'utilisateur doit avoir la possibilité de fournir simplement des données, d'où la notion de format libre :


Modulefpreviousupnextcontentsindex[BIG][Normal][small]
Suiv.: 1.3 Format libre Sup.: Généralités Préc.: 1.1 Introduction Index Table des matières