Stratification pour un langage objet.

            Pour Symfor un mot est lié aux objets de TF(B). Son expression dans un alphabet est sa désignation. Une image du réel représenté le définit directement, ou d’autres mots doivent le définir, décrire ses propriétés. Un mot peut donc se représenter par des relations du genre :

          Cheval := Forme(quadrupède), Action(courir, sauter, ruer),Unité(mètre, Z, X, Y), Taille(1.8, 0.8, 2.5).

          Et l’on peut continuer ainsi suivant un schéma, déterminé par des mots programmes, reconnus par le programme qui analyse la description : Forme, Action, Unité. Z, X, Y, Taille. Entre parenthèses des mots connus ou inconnus, car nouveaux. S’ils sont nouveaux, l’analyseur doit en demander et saisir la définition, et cela se fait à partir du même schéma.

          Un programme est composé d’une suite de relations entre des mots.

 

          Relation_A (mot1, mot2,.., moti) ==> motj

          Relation_B (..) ==> motk

 

          Toute relation est une instruction dans le langage le moins évolué, est une phrase formelle pour Symfor, une phrase naturelle pour les humains.

          Mais le concept de mether montre que la logique des relations est toujours la même. Si bien qu’un seul processeur est nécessaire pour tout type de relation. Il est lié à des bases de données, dans lesquelles il trouvera : un fichier pour le dictionnaire des mots, un fichier pour les descriptions, un fichier pour les relations qui sont toutes de type Quintilien, un fichier pour toutes les valeurs par défaut.

 

          Le cas le plus simple est celui du programme d’un ordinateur, écrit en langage assembleur,

          Pour le processeur, le dictionnaire des mots opérateurs contient la description des formes possibles de l’instruction construite avec l’opérateur, de même que celle des formes que peuvent prendre les mots qui ne seront pas opérateurs. Enfin existe le fichier ou table du micro-code qui développe chaque mot opérateur.

          Retenant que tout mot se traduira toujours par une adresse dans un fichier, on comprend qu’un processeur unique peut opérer sur des fichiers aux contenus différents mais aux structures identiques.

          On arrive ainsi, au concept de processeur par strates. Un strate concerne des mots de même niveau de complexité. Cette complexité se définit dans l’ordre Quintilien.

          Dans le langage courant, un mot se définit par d’autres mots, et il arrive que la description boucle sur des mots qui ne peuvent se définir que par ceux qui sont déjà entrés dans la description. Cela tient à l”imprécision, au flou des langages humains. On parle beaucoup, pour ne rien dire, et l’on ne se comprend pas.

          Dans l’ordre Quintilien cette imprécision ne peut exister. Un mot se définira toujours par un QuintilienLST. Lequel couvre les formes de relations possibles.

          Nous arrivons à un langage stratifié, en complexité ascendante. Depuis le plus bas niveau binaire : celui de la machine ; jusqu’au plus haut niveau : celui du locuteur humain ou animal.

          D’un strate au strate suivant, le niveau de complexité augmente. Il existe un interpréteur par strate. Il faut noter que par l’élimination des instructions :

             IF, WHILE, SWITCH, WITH, etc.

             FOR, DO, etc.

             GOTO, etc,

          l’adoption d’une programmation séquentielle, qui n’interdit pas des tâches en parallèle, la phase compilation n’est plus nécessaire, elle est même inutile.

          Pour cela, on envisage des systèmes machines opérant par strates. Un programme d’analyse reconnaît un verbe de strate et déroute la séquence incluse dans les bornes début, fin, vers le strate concerné. Nous avons une organisation, comme décrite ci-dessous par strates.gif :


          Nous avons limité la description, à deux strates S1 et S2 et un routeur S0.

          Entre les strates S1, S2 il existe des échanges de données, non représentés sur ce schéma. Ils se font à travers des variables globales connues par le strate S0, et tous les strates. On désigne S0 comme étant le strate gestion.


          Programmation par strates.

          Une telle programmation se présente sous une forme séquentielle reconnue par le strate S0. Il connaît les bornes de définition des autres strates, de tous ceux qui sont sous son contrôle.

          Les bornes limitent un espace où s’utilise un langage, un vocabulaire. Il est lié à tous les fichiers qui permettent de réaliser le travail que les verbes du langage “ordonnent” de faire.

          Un strate d’exécution est mobilisé, depuis la borne début du programme qui le concerne, jusqu’à la borne fin.


          Pour exemple :

          Debut fortran travail_01

          ..

          ..

          ..

          Affecter data_x gestion

          ..

          ..

          Fin fortran travail_01

 

          Un autre travail demandera à exploiter data_x.

          Mais un tel travail, ne peut pas et ne doit pas être suspendu, sinon par lui-même, pour attendre un résultat transmis par variable globale.