1 / 46

Samovar : un modèle pour les objets persistants avec rôles

Samovar : un modèle pour les objets persistants avec rôles. Stéphane Coulondre LIRMM / Université Montpellier II. Système à objets. Système de gestion de BD. SGBD à objets. Contexte. Les modèles de bases de données (BD) à objets : Object-Oriented Manifesto ODMG : standardisation

Download Presentation

Samovar : un modèle pour les objets persistants avec rôles

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Samovar : un modèle pour les objets persistants avec rôles Stéphane Coulondre LIRMM / Université Montpellier II

  2. Système à objets Système de gestion de BD SGBD à objets Contexte • Les modèles de bases de données (BD) à objets : • Object-Oriented Manifesto • ODMG : standardisation • Contexte : Evolution dans les BD à objets Samovar : un modèle pour les objets persistants avec rôles

  3. Contexte • Travaux sur l’évolution : • évolution de schéma, migration d’instances, etc. • versionnement, vues, etc. • Aspect abordé ici : évolution de (structure + comportement = rôle) d’un objet Samovar : un modèle pour les objets persistants avec rôles

  4. I. Problèmes et objectifs Plan I. Problèmes et objectifs II. Eléments de solution III. Détails de la proposition IV. Applications V. Validation VI. Travaux relatifs VII. Conclusion et perspectives Samovar : un modèle pour les objets persistants avec rôles

  5. I. Problèmes et objectifs • La notion de rôle est naturelle : • dans la langue, dans les Systèmes d’Informations • modélisation d’une entité évolutive Samovar : un modèle pour les objets persistants avec rôles

  6. Pour la mairie Pour le géomètre Pour l’architecte Pour l’entrepreneur I. Problèmes et objectifs • modélisation d’entités sous divers aspects (génie civil, gestion, électronique, informatique géographique, etc.) Un pont ? et informations communes Samovar : un modèle pour les objets persistants avec rôles

  7. I. Problèmes et objectifs • Il faut donc : • prendre en compte l’évolution des entités en termes de gain et de perte de rôles • prendre en compte la pluralité des rôles (aspects, facettes, points de vue, etc.) • Pourquoi cette étude : • adaptation des SI au monde réel • ODMG : choix entre robustesse/souplesse • souplesse nécessaire pour des impératifs techniques, scientifiques, financiers Samovar : un modèle pour les objets persistants avec rôles

  8. I. Problèmes et objectifs • Principes inviolables et nécessaires du modèle ODMG : • caractéristiques de robustesse et d’expressivité : objets complexes, identité d’objet, encapsulation, types et classes, héritage, redéfinition de méthodes et liaison dynamique, typage statique et fort, complétude d’un langage, etc. • caractéristiques relevant du stockage et du traitement : persistance orthogonale, langage de requêtes, etc. Samovar : un modèle pour les objets persistants avec rôles

  9. I. Problèmes et objectifs • Forte incompatibilité entre : • pluralité de {type, comportement} et mono-instanciation • évolution dynamique et typage statique et fort • Solutions ad-hoc, mais incompatibilité entre : • handles et identité d’objet • problèmes de référencement, complexité utilisateur • héritage multiple et évolution dynamique • un seul contexte d’observation Samovar : un modèle pour les objets persistants avec rôles

  10. Valeurs & Méthodes Valeurs & Méthodes Valeurs & Méthodes Valeurs & Méthodes Valeurs & Méthodes Valeurs & Méthodes Valeurs & Méthodes Valeurs & Méthodes I. Problèmes et objectifs • But de la thèse : un modèle de SGBD à objets, extension d’ODMG, gérant les rôles de la façon la plus inhérente, sûre et intuitive possible • respectant l’intégrité de l’objet • lui permettant de jouer plusieurs rôles • permettant l’évolution dynamique Objet Samovar : un modèle pour les objets persistants avec rôles

  11. I. Problèmes et objectifs • Contributions : • modèle formel de données (aspect déclaratif) • langages de définition, de requêtes, de programmation et mécanismes associés • prototype de SGBD Samovar : un modèle pour les objets persistants avec rôles

  12. Représentation des connaissances Langages de programmation SI et bases de données Rôles I. Problèmes et objectifs • Autres propositions Samovar : un modèle pour les objets persistants avec rôles

  13. II. Eléments de solution Plan I. Problèmes et objectifs II. Elements de solution III. Détails de la proposition IV. Applications V. Validation VI. Travaux relatifs VII. Conclusion et perspectives Samovar : un modèle pour les objets persistants avec rôles

  14. II. Eléments de solution • Réflexion de base : • la classe et la mono-instanciation sont nécessaires • robustesse, optimisation, cohérence conceptuelle • aspects trop restrictifs pour l’évolution : un seul rôle un objet  un rôle  une classe • Proposition : un objet  plusieurs rôles  une classe Samovar : un modèle pour les objets persistants avec rôles

  15. II. Eléments de solutionHiérarchies • Classes • nom • pas de type ni de méthode • ensemble de rôles • Rôle • descripteur • un type • un comportement • organisés en hiérarchie Samovar : un modèle pour les objets persistants avec rôles

  16. II. Eléments de solutionHiérarchies Samovar : un modèle pour les objets persistants avec rôles

  17. II. Eléments de solutionHiérarchies • Hiérarchie de rôles au sein d’une classe • aucune contrainte sur le type des rôles • aucune contrainte sur les signatures de méthodes  indépendance des rôles • Hiérarchie de classes sémantique du lien de spécialisation entre classes « revisitée » • héritage et extension des hiérarchies de rôles • contraintes de sous-typage entre rôles de même identificateur • spécialisation covariante des signatures de méthodes Samovar : un modèle pour les objets persistants avec rôles

  18. II. Eléments de solutionHiérarchies • Avantages de la double hiérarchisation : • rôles potentiels facilement identifiables • rôles spécialisables dans les sous-classes  rôles adaptés à la nature des objets • pas de confusion entre modèles abstraits classes et rôles Samovar : un modèle pour les objets persistants avec rôles

  19. II. Eléments de solutionHiérarchies • Mais : • niveau de complexité utilisateur supplémentaire • Solution originale : • rôle identifié par une assertion logique : le critère de définition • modélisation entièrement déclarative : • factorisation et partage de propriétés implicite/explicite • contraintes de simultanéité implicites/explicites • implication logique  ordre partiel  hiérarchie de rôles induite • potentiel applicatif intéressant... Samovar : un modèle pour les objets persistants avec rôles

  20. II. Eléments de solutionInstances • Un objet • est instance d’une classe • identifiant unique • possède un critère courant • ce critère détermine le sous-ensemble des rôles que l’objet joue • peut gagner ou perdre dynamiquement des rôles Samovar : un modèle pour les objets persistants avec rôles

  21. II. Eléments de solutionInstances Samovar : un modèle pour les objets persistants avec rôles

  22. II. Eléments de solutionVues • Une vue sur un objet • but de confidentialité ou de visibilité volontaire • permet d’agir comme un filtre sur les rôles joués par un objet • définie par l’utilisateur (non le concepteur), de manière déclarative • peut être persistante Samovar : un modèle pour les objets persistants avec rôles

  23. II. Eléments de solutionVues Samovar : un modèle pour les objets persistants avec rôles

  24. II. Eléments de solutionVues • Différences avec l ’ODMG • double hiérarchisation et spécialisation revisitée • déclarativité • objets évolutifs • Différences avec la notion classique de vues en objets • pas de données calculées • se rapporte à un seul objet  vue objet (à des collections) • est une valeur dans la base vue objet (niveau schéma) • modifiable dynamiquement  vue objet (recalculée mais non modifiée) Samovar : un modèle pour les objets persistants avec rôles

  25. III. Détails de la proposition Plan I. Problèmes et objectifs II. Eléments de solution III. Détails de la proposition IV. Applications V. Validation VI. Travaux relatifs VII. Conclusion et perspectives Samovar : un modèle pour les objets persistants avec rôles

  26. III. Détails de la proposition • Modèle de données formel • incorporant les notions précédentes • langages de définition de données extension d’O2 ODL • exemples de critère de définition : Samovar : un modèle pour les objets persistants avec rôles

  27. III. Détails de la propositionMécanismes communs aux langages • Mécanismes communs aux langages • accès aux attributs et envoi de messages • en spécifiant un ou des rôles • par l’intermédiaire d’un critère d’accès <> critère courant  détermine de manière déclarative les rôles concernés • envoi de messages avec liaison statique ou dynamique Samovar : un modèle pour les objets persistants avec rôles

  28. III. Détails de la propositionEnvoi de messages Samovar : un modèle pour les objets persistants avec rôles

  29. III. Détails de la proposition • Langage de requêtes VOQL • extension d’ODMG OQL • syntaxe et sémantique formelle • sécurisation des requêtes • exemple de requête dans le calcul : • exemple VOQL : SELECT x FROM x in Tout WHERE ROLES(x, état (physique))->poids < 65000 Samovar : un modèle pour les objets persistants avec rôles

  30. III. Détails de la proposition • Langage de programmation VOPL • extension d’O2 O2C • syntaxe et sémantique formelle • spécificités par rapport à VOQL : • modification des racines de persistances • instanciation • ajout et suppression de rôle • auto référence (dans les méthodes) Samovar : un modèle pour les objets persistants avec rôles

  31. IV. Applications Plan I. Problèmes et objectifs II. Eléments de solution III. Détails de la proposition IV. Applications V. Validation VI. Travaux relatifs VII. Conclusion et perspectives Samovar : un modèle pour les objets persistants avec rôles

  32. IV. Applications • Application à la sécurité • Modélisation possible de • droits par identité • droits par niveau • droits temporels • différence fondamentale : droits non révocables exemple de critère de définition : infos(medicales) et niveau(N) et N>=8 et jour(J) et J<>vendredi exemple de critère d’accès : infos(medicales) et niveau(9) et jour(mardi) Samovar : un modèle pour les objets persistants avec rôles

  33. IV. Applications • Simulation du versionnement de schéma exemple de critère de définition: date(D) et D>14/12/1999 et D<14/12/2000 exemple de critère d ’accès : date(18/01/2000) • cohabitation de plusieurs versions • versionnement alternatif et/ou temporel • réversibilité • travaux en cours avec l’Université de Bologne Samovar : un modèle pour les objets persistants avec rôles

  34. IV. Applications • Diffusion de composants logiciels • même composant selon un point de vue particulier (ex. composants de gestion pour différents métiers) exemple de critère de définition : module(paie) et métier(santé) et spécialité(ambulancier) • versions pouvant cohabiter au sein d’un composant exemple de critère de définition : version(2) et sousversion(3) et statut(beta) • travaux en cours dans l ’équipe Samovar : un modèle pour les objets persistants avec rôles

  35. IV. Applications • Application à la multi-représentation • un élément admet plusieurs représentations exemple : un pont 1/1000  échelle(E) et E>=1/1000 1/10000  échelle(E) et E>=1/10000 et E<1/1000 1/100000  échelle(E) et E>=1/100000 et E<1/10000 exemple de critère d ’accès : échelle(1/5000) • travaux en cours avec l’Université de Nottingham Samovar : un modèle pour les objets persistants avec rôles

  36. V. Validation Plan I. Problèmes et objectifs II. Eléments de solution III. Détails de la proposition IV. Applications V. Validation VI. Travaux relatifs VII. Conclusion et perspectives Samovar : un modèle pour les objets persistants avec rôles

  37. V. Validation • Prototype de SGBD Objet avec rôles : Samovar • en C++, O2C et Java • architecture client/serveur • Construit au dessus d’O2 mais : • système de types différent • notions de classe, d’héritage, et mécanismes d’accès et d’envoi de messages différents • Documentation utilisateur • Ensemble d’exemples en VODL, VOPL et VOQL Samovar : un modèle pour les objets persistants avec rôles

  38. V. Validation Hiérarchie de classes Type associé au rôle Méthodes associées au rôle Hiérarchie de rôles de la classe Samovar : un modèle pour les objets persistants avec rôles

  39. VI. Travaux relatifs Plan I. Problèmes et objectifs II. Eléments de solution III. Détails de la proposition IV. Applications V. Validation VI. Travaux relatifs VII. Conclusion et perspectives Samovar : un modèle pour les objets persistants avec rôles

  40. VI. Travaux relatifs • Approches marquantes relevant des langages (Pas d’aspects SGBD) • Clovers (1989) [Stein et Zdonik] • Multiple Views (1989) [Shilling et Sweeney] • ROME (1989, 90) [Carré][Carré et Geib] • Objets morcelés (1996) [Bardou et Dony] } Pas de liaison dynamique }Typage dynamique }Pas d’évolution Samovar : un modèle pour les objets persistants avec rôles

  41. VI. Travaux relatifs • Approches relevant des bases de données • Iris (1987) [Fishman et al.] • Aspects (1991) [Richardson et Schwarz] • Fibonacci (1993, 95) [Albano et al.] • IQL(2) (1995) [Abiteboul et Dos Santos] • Extended Smalltalk (1996) [Gottlob et al] • ORM (1997) [Papazoglou et Krämer] • DOOR (1997) [Wong et al.] } Comportement global } Pas de liaison dynamique }Classes non hiérarchisées Liaison dynamique empirique } Liaison dynamique possible sur les schémas “stricts” }Pas d’unicité d’OID Pas de liaison dynamique } Liaison dynamique ? }Pas d’unicité d’OID Samovar : un modèle pour les objets persistants avec rôles

  42. VI. Travaux relatifs • Samovar fournit, en plus du respect de l’ODMG • une synthèse des apports • l’héritage multiple (rôles et classes) : présent dans DOOR • les vues : présentes dans IQL(2) mais notion classique • double hiérarchisation : présente dans Extended Smalltalk et DOOR • l’aspect original de la déclarativité • applications à de nombreuses situations Samovar : un modèle pour les objets persistants avec rôles

  43. VII. Conclusion et perspectives Plan I. Problèmes et objectifs II. Eléments de solution III. Détails de la proposition IV. Applications V. Validation VI. Travaux relatifs VII. Conclusion et perspectives Samovar : un modèle pour les objets persistants avec rôles

  44. VII. Conclusion Objectif atteint • ODMG respecté : • robustesse • nécessaire pour la migration des bases existantes • La fonctionnalité d’évolution est inhérente • Application à diverses problématiques • Prototype en-ligne implantant : • le modèle de données et son langage de définition • les langages de programmation et de requêtes, et les mécanismes mis en jeu Samovar : un modèle pour les objets persistants avec rôles

  45. Perspectives VII. Conclusion - Perspectives Niveau Modèle • Contraintes • rôles exclusifs et plus généralement contraintes d’intégrité exemple : employé et chômeur • masquage/encapsulation de rôles ? • Raccourcis syntaxiques des critères, inférences ? • Versionnement de l’état des objets Samovar : un modèle pour les objets persistants avec rôles

  46. VII. Conclusion - Perspectives Niveau réalisation • Prototype  application • idéal : un SGBD open-source (-DB ?) • implantation dans un langage de programmation • Travaux en cours • multi-représentation • versionnement de schéma • composants logiciels Samovar : un modèle pour les objets persistants avec rôles

More Related