14 déc 2000 Samovar : un modèle pour les objets persistants avec rôles Stéphane Coulondre LIRMM...

46
14 déc 2000 Samovar : un modèle pour les objets persistants avec rôles Stéphane Coulondre LIRMM / Université Montpellier II

Transcript of 14 déc 2000 Samovar : un modèle pour les objets persistants avec rôles Stéphane Coulondre LIRMM...

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

14 déc 2000

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

Stéphane Coulondre

LIRMM / Université Montpellier II

Page 2: 14 déc 2000 Samovar : un modèle pour les objets persistants avec rôles Stéphane Coulondre LIRMM / Université Montpellier II.

14 déc 2000 Samovar : un modèle pour les objets persistants avec rôles

2/46

Contexte

Les modèles de bases de données (BD) à objets :

Object-Oriented Manifesto ODMG : standardisation

Contexte : Evolution dans les BD à objets

Système à objets Système de gestion de BD

SGBD à objets

Page 3: 14 déc 2000 Samovar : un modèle pour les objets persistants avec rôles Stéphane Coulondre LIRMM / Université Montpellier II.

14 déc 2000 Samovar : un modèle pour les objets persistants avec rôles

3/46

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

Contexte

Page 4: 14 déc 2000 Samovar : un modèle pour les objets persistants avec rôles Stéphane Coulondre LIRMM / Université Montpellier II.

14 déc 2000 Samovar : un modèle pour les objets persistants avec rôles

4/46

I. Problèmes et objectifsII. Eléments de solutionIII. Détails de la propositionIV. ApplicationsV. ValidationVI. Travaux relatifsVII. Conclusion et perspectives

Plan

Page 5: 14 déc 2000 Samovar : un modèle pour les objets persistants avec rôles Stéphane Coulondre LIRMM / Université Montpellier II.

14 déc 2000 Samovar : un modèle pour les objets persistants avec rôles

5/46

La notion de rôle est naturelle : dans la langue, dans les Systèmes d’Informations modélisation d’une entité évolutive

I. Problèmes et objectifs

Page 6: 14 déc 2000 Samovar : un modèle pour les objets persistants avec rôles Stéphane Coulondre LIRMM / Université Montpellier II.

14 déc 2000 Samovar : un modèle pour les objets persistants avec rôles

6/46

modélisation d’entités sous divers aspects (génie civil, gestion, électronique, informatique géographique, etc.)

Un pont ?

et informations communes

Pour la mairie Pour le géomètre Pour l’architecte Pour l’entrepreneur

I. Problèmes et objectifs

Page 7: 14 déc 2000 Samovar : un modèle pour les objets persistants avec rôles Stéphane Coulondre LIRMM / Université Montpellier II.

14 déc 2000 Samovar : un modèle pour les objets persistants avec rôles

7/46

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

I. Problèmes et objectifs

Page 8: 14 déc 2000 Samovar : un modèle pour les objets persistants avec rôles Stéphane Coulondre LIRMM / Université Montpellier II.

14 déc 2000 Samovar : un modèle pour les objets persistants avec rôles

8/46

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.

I. Problèmes et objectifs

Page 9: 14 déc 2000 Samovar : un modèle pour les objets persistants avec rôles Stéphane Coulondre LIRMM / Université Montpellier II.

14 déc 2000 Samovar : un modèle pour les objets persistants avec rôles

9/46

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

Page 10: 14 déc 2000 Samovar : un modèle pour les objets persistants avec rôles Stéphane Coulondre LIRMM / Université Montpellier II.

14 déc 2000 Samovar : un modèle pour les objets persistants avec rôles

10/46

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

I. Problèmes et objectifs

Valeurs&

Méthodes

Valeurs&

MéthodesValeurs

&Méthodes

Valeurs&

Méthodes

Valeurs&

Méthodes

Valeurs&

Méthodes

Valeurs&

Méthodes

Valeurs&

Méthodes

Page 11: 14 déc 2000 Samovar : un modèle pour les objets persistants avec rôles Stéphane Coulondre LIRMM / Université Montpellier II.

14 déc 2000 Samovar : un modèle pour les objets persistants avec rôles

11/46

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

I. Problèmes et objectifs

Page 12: 14 déc 2000 Samovar : un modèle pour les objets persistants avec rôles Stéphane Coulondre LIRMM / Université Montpellier II.

14 déc 2000 Samovar : un modèle pour les objets persistants avec rôles

12/46

Autres propositions

I. Problèmes et objectifs

Représentation des connaissances

Langages de programmation

SI et bases de données Rôle

s

Page 13: 14 déc 2000 Samovar : un modèle pour les objets persistants avec rôles Stéphane Coulondre LIRMM / Université Montpellier II.

14 déc 2000 Samovar : un modèle pour les objets persistants avec rôles

13/46

I. Problèmes et objectifsII. Elements de solutionIII. Détails de la propositionIV. ApplicationsV. ValidationVI. Travaux relatifsVII. Conclusion et perspectives

Plan

Page 14: 14 déc 2000 Samovar : un modèle pour les objets persistants avec rôles Stéphane Coulondre LIRMM / Université Montpellier II.

14 déc 2000 Samovar : un modèle pour les objets persistants avec rôles

14/46

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

Page 15: 14 déc 2000 Samovar : un modèle pour les objets persistants avec rôles Stéphane Coulondre LIRMM / Université Montpellier II.

14 déc 2000 Samovar : un modèle pour les objets persistants avec rôles

15/46

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

II. Eléments de solutionHiérarchies

Page 16: 14 déc 2000 Samovar : un modèle pour les objets persistants avec rôles Stéphane Coulondre LIRMM / Université Montpellier II.

14 déc 2000 Samovar : un modèle pour les objets persistants avec rôles

16/46

II. Eléments de solutionHiérarchies

Page 17: 14 déc 2000 Samovar : un modèle pour les objets persistants avec rôles Stéphane Coulondre LIRMM / Université Montpellier II.

14 déc 2000 Samovar : un modèle pour les objets persistants avec rôles

17/46

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 classessé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

II. Eléments de solutionHiérarchies

Page 18: 14 déc 2000 Samovar : un modèle pour les objets persistants avec rôles Stéphane Coulondre LIRMM / Université Montpellier II.

14 déc 2000 Samovar : un modèle pour les objets persistants avec rôles

18/46

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

II. Eléments de solutionHiérarchies

Page 19: 14 déc 2000 Samovar : un modèle pour les objets persistants avec rôles Stéphane Coulondre LIRMM / Université Montpellier II.

14 déc 2000 Samovar : un modèle pour les objets persistants avec rôles

19/46

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/explicitecontraintes de simultanéité implicites/explicites

implication logique ordre partiel hiérarchie de rôles induite

potentiel applicatif intéressant...

II. Eléments de solutionHiérarchies

Page 20: 14 déc 2000 Samovar : un modèle pour les objets persistants avec rôles Stéphane Coulondre LIRMM / Université Montpellier II.

14 déc 2000 Samovar : un modèle pour les objets persistants avec rôles

20/46

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

II. Eléments de solutionInstances

Page 21: 14 déc 2000 Samovar : un modèle pour les objets persistants avec rôles Stéphane Coulondre LIRMM / Université Montpellier II.

14 déc 2000 Samovar : un modèle pour les objets persistants avec rôles

21/46

II. Eléments de solutionInstances

Page 22: 14 déc 2000 Samovar : un modèle pour les objets persistants avec rôles Stéphane Coulondre LIRMM / Université Montpellier II.

14 déc 2000 Samovar : un modèle pour les objets persistants avec rôles

22/46

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

II. Eléments de solutionVues

Page 23: 14 déc 2000 Samovar : un modèle pour les objets persistants avec rôles Stéphane Coulondre LIRMM / Université Montpellier II.

14 déc 2000 Samovar : un modèle pour les objets persistants avec rôles

23/46

II. Eléments de solutionVues

Page 24: 14 déc 2000 Samovar : un modèle pour les objets persistants avec rôles Stéphane Coulondre LIRMM / Université Montpellier II.

14 déc 2000 Samovar : un modèle pour les objets persistants avec rôles

24/46

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)

II. Eléments de solutionVues

Page 25: 14 déc 2000 Samovar : un modèle pour les objets persistants avec rôles Stéphane Coulondre LIRMM / Université Montpellier II.

14 déc 2000 Samovar : un modèle pour les objets persistants avec rôles

25/46

I. Problèmes et objectifsII. Eléments de solutionIII. Détails de la propositionIV. ApplicationsV. ValidationVI. Travaux relatifsVII. Conclusion et perspectives

Plan

Page 26: 14 déc 2000 Samovar : un modèle pour les objets persistants avec rôles Stéphane Coulondre LIRMM / Université Montpellier II.

14 déc 2000 Samovar : un modèle pour les objets persistants avec rôles

26/46

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 :

Descripteur Critère correspondantCitoyen statut(citoyen)Salarié statut(citoyen)

et statut(salarié)EtudiantSalarié statut(citoyen)

et statut(étudiant)et statut(salarié)

Commun vrai

Page 27: 14 déc 2000 Samovar : un modèle pour les objets persistants avec rôles Stéphane Coulondre LIRMM / Université Montpellier II.

14 déc 2000 Samovar : un modèle pour les objets persistants avec rôles

27/46

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

III. Détails de la proposition Mécanismes communs aux langages

Page 28: 14 déc 2000 Samovar : un modèle pour les objets persistants avec rôles Stéphane Coulondre LIRMM / Université Montpellier II.

14 déc 2000 Samovar : un modèle pour les objets persistants avec rôles

28/46

III. Détails de la propositionEnvoi de messages

Page 29: 14 déc 2000 Samovar : un modèle pour les objets persistants avec rôles Stéphane Coulondre LIRMM / Université Montpellier II.

14 déc 2000 Samovar : un modèle pour les objets persistants avec rôles

29/46

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

III. Détails de la proposition

}65000))(,x(Toutx{x EntitéEntitéEntité poidsphysiqueétat

Page 30: 14 déc 2000 Samovar : un modèle pour les objets persistants avec rôles Stéphane Coulondre LIRMM / Université Montpellier II.

14 déc 2000 Samovar : un modèle pour les objets persistants avec rôles

30/46

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)

III. Détails de la proposition

Page 31: 14 déc 2000 Samovar : un modèle pour les objets persistants avec rôles Stéphane Coulondre LIRMM / Université Montpellier II.

14 déc 2000 Samovar : un modèle pour les objets persistants avec rôles

31/46

I. Problèmes et objectifsII. Eléments de solutionIII. Détails de la propositionIV. ApplicationsV. ValidationVI. Travaux relatifsVII. Conclusion et perspectives

Plan

Page 32: 14 déc 2000 Samovar : un modèle pour les objets persistants avec rôles Stéphane Coulondre LIRMM / Université Montpellier II.

14 déc 2000 Samovar : un modèle pour les objets persistants avec rôles

32/46

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)

Page 33: 14 déc 2000 Samovar : un modèle pour les objets persistants avec rôles Stéphane Coulondre LIRMM / Université Montpellier II.

14 déc 2000 Samovar : un modèle pour les objets persistants avec rôles

33/46

Simulation du versionnement de schémaexemple 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

IV. Applications

Page 34: 14 déc 2000 Samovar : un modèle pour les objets persistants avec rôles Stéphane Coulondre LIRMM / Université Montpellier II.

14 déc 2000 Samovar : un modèle pour les objets persistants avec rôles

34/46

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 composantexemple de critère de définition :

version(2) et sousversion(3) et statut(beta)

travaux en cours dans l ’équipe

IV. Applications

Page 35: 14 déc 2000 Samovar : un modèle pour les objets persistants avec rôles Stéphane Coulondre LIRMM / Université Montpellier II.

14 déc 2000 Samovar : un modèle pour les objets persistants avec rôles

35/46

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

IV. Applications

Page 36: 14 déc 2000 Samovar : un modèle pour les objets persistants avec rôles Stéphane Coulondre LIRMM / Université Montpellier II.

14 déc 2000 Samovar : un modèle pour les objets persistants avec rôles

36/46

I. Problèmes et objectifsII. Eléments de solutionIII. Détails de la propositionIV. ApplicationsV. ValidationVI. Travaux relatifsVII. Conclusion et perspectives

Plan

Page 37: 14 déc 2000 Samovar : un modèle pour les objets persistants avec rôles Stéphane Coulondre LIRMM / Université Montpellier II.

14 déc 2000 Samovar : un modèle pour les objets persistants avec rôles

37/46

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

V. Validation

Page 38: 14 déc 2000 Samovar : un modèle pour les objets persistants avec rôles Stéphane Coulondre LIRMM / Université Montpellier II.

14 déc 2000 Samovar : un modèle pour les objets persistants avec rôles

38/46

V. Validation

Hiérarchie de classes

Hiérarchie de rôles de la

classe

Type associé au rôle

Méthodes associées au

rôle

Page 39: 14 déc 2000 Samovar : un modèle pour les objets persistants avec rôles Stéphane Coulondre LIRMM / Université Montpellier II.

14 déc 2000 Samovar : un modèle pour les objets persistants avec rôles

39/46

I. Problèmes et objectifsII. Eléments de solutionIII. Détails de la propositionIV. ApplicationsV. ValidationVI. Travaux relatifsVII. Conclusion et perspectives

Plan

Page 40: 14 déc 2000 Samovar : un modèle pour les objets persistants avec rôles Stéphane Coulondre LIRMM / Université Montpellier II.

14 déc 2000 Samovar : un modèle pour les objets persistants avec rôles

40/46

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]

} Typage dynamique

Pas de liaison dynamique}

} Pas d’évolution

Page 41: 14 déc 2000 Samovar : un modèle pour les objets persistants avec rôles Stéphane Coulondre LIRMM / Université Montpellier II.

14 déc 2000 Samovar : un modèle pour les objets persistants avec rôles

41/46

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

} Classes non hiérarchiséesLiaison dynamique

empirique} Liaison dynamique possible sur les schémas “stricts”} Pas d’unicité d’OID

Pas de liaison dynamique

} Pas de liaison dynamique

} Liaison dynamique ?

} Pas d’unicité d’OID

Page 42: 14 déc 2000 Samovar : un modèle pour les objets persistants avec rôles Stéphane Coulondre LIRMM / Université Montpellier II.

14 déc 2000 Samovar : un modèle pour les objets persistants avec rôles

42/46

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

VI. Travaux relatifs

Page 43: 14 déc 2000 Samovar : un modèle pour les objets persistants avec rôles Stéphane Coulondre LIRMM / Université Montpellier II.

14 déc 2000 Samovar : un modèle pour les objets persistants avec rôles

43/46

I. Problèmes et objectifsII. Eléments de solutionIII. Détails de la propositionIV. ApplicationsV. ValidationVI. Travaux relatifsVII. Conclusion et perspectives

Plan

Page 44: 14 déc 2000 Samovar : un modèle pour les objets persistants avec rôles Stéphane Coulondre LIRMM / Université Montpellier II.

14 déc 2000 Samovar : un modèle pour les objets persistants avec rôles

44/46

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

Page 45: 14 déc 2000 Samovar : un modèle pour les objets persistants avec rôles Stéphane Coulondre LIRMM / Université Montpellier II.

14 déc 2000 Samovar : un modèle pour les objets persistants avec rôles

45/46

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

VII. Conclusion - Perspectives

Perspectives

Page 46: 14 déc 2000 Samovar : un modèle pour les objets persistants avec rôles Stéphane Coulondre LIRMM / Université Montpellier II.

14 déc 2000 Samovar : un modèle pour les objets persistants avec rôles

46/46

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

VII. Conclusion - Perspectives