WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Gestion d'informations. Mutation vers les bases de données relationnelles et le langage SQL.


par Jacques MUDUMBI
Université de Yaoundé 1 - Master 2017
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

III.3.4. Le modèle de données de Guide

Le modèle de données de Guide [19] est un système orienté objet distribué développé par l'unité mixte Bull-Imag à Grenoble (France). Comme nous l'avons vu, ce modèle sert de support à un langage orienté objet portant le même nom dédié à la construction d'applications réparties. Ici, la réponse d'objets est claire, le système de type permet essentiellement de définir des objets abstraits qui sont des instances des classes Guide. En remettant en question l'explication, la notion de type présente dans Guide correspond à une interface d'accès aux objets.

53

Nous nous retrouvons donc face à la difficile et essentielle question de ces objets qui peuvent appartenir à différentes classes avec une condition si celles-ci sont conformes à l'interface proposée par le type.

Voilà pourquoi, avec le temps et l'expérience, l'état associé à un objet Guide est une valeur qui peut être construite [20]. Bien attendu, il va sans dire que le langage offre deux constructeurs : le n-uplet (record) et le tableau (array). On voit bien ici qu'ils peuvent être combinés de manière orthogonale. Or, nous n'avons pas la puissance d'un modèle d'objets complexes, le tableau n'offrant pas la dynamicité du constructeur ensemble. Nous avons pu observer qu'il faut alors comme pour Orion, gérer explicitement des listes chainées. Une modélisation possible pour le cas pratique des personnes en Guide est la suivante :

De la même façon que la modélisation, tous les objets Guide sont persistants. Dit autrement, ils ne persistent réellement que lorsqu'ils sont accessibles à partir d'un nom. Tout d'abord, il importe de préciser que, nous avons à faire ici à un langage de programmation ce qui permet de distinguer deux partitions dans l'espace de noms : les noms qui désignent des données de la base, et les noms qui désignent des entités dans l'environnement d'exécution. Mais ce n'est pas tout.

Nous pouvons par exemple répertorier dans cette deuxième partition, qui n'existe que dans le cas d'un langage de programmation, les noms désignant des variables locales d'une procédure.

Pour résoudre ce problème et en quelque sorte mettre en claire, cette seconde catégorie de noms peut être déterminée statiquement par le schéma qui contient dans ce cas les définitions des traitements (procédures ou méthodes). Ce faisant d'un côté, ce n'est plus vrai

54

lorsque le langage supporte la récursivité (empilage potentiellement infini d'environnements). Aussi bien que, comme nous l'avons vu, l'environnement d'exécution comporte alors une pile impliquant la création de nouveaux noms à chaque nouvel appel de procédure. Quoiqu'il en soit, nous avons donc une deuxième racine de nommage (la première étant la base de données nommée "BaseDeDonnées") qui est l'environnement d'exécution que nous nommons "Environ". Dans le cas d'un langage classique, nous lui attachons généralement deux fils : un nom désignant un n-uplet dont chaque attribut est une variable globale de l'application (nous l'appelons "Global"), et le nom désignant la pile d'exécution (nous l'appelons "Pile").

Seulement, dans Guide, nous pouvons ainsi créer des objets qui sont désignés par des noms de l'environnement d'exécution. Ce faisant, ils ont alors la durée de vie de ce nom, c'est à dire au maximum celle de l'exécution en cours, à moins qu'un autre nom de la base ne permette de les désigner avant la fin de cette exécution. La nouveauté réside à travers ce cas pratique de ce type de nom où "Environ.Pile.main.Augmenter.this" désigne le paramètre contenant l'objet sur lequel s'applique la méthode "Augmenter" qui a été appelée dans la procédure "main" correspondant au point d'entrée du programme.

Cela dit, tous les objets Guide qui sont créés sont potentiellement persistants et deviennent réellement persistants (ils subsistent à l'exécution du programme qui les a créés) uniquement s'ils sont attachés (désignés) par un nom de la base. Pour conclure, les systèmes décrits précédemment, Guide offre un service de nommage permettant de créer des points d'entrée vers les objets de la base. Cela étant, ces noms ne font pas partie du schéma ce qui est une divergence remarquable. Enfin et surtout, ces noms ne sont pas typés (alors que Guide offre un typage fort) ce qui implique le besoin de mettre en oeuvre de la vérification de type à l'exécution lors de l'utilisation de ces noms.

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Je voudrais vivre pour étudier, non pas étudier pour vivre"   Francis Bacon