1 Jérôme GENSEL (avec la bénédiction… mais sans le contrôle de Cécile CAPPONI) un résumé de [CAPPONI98] Présentation équipe AROM du 01/04/99 METEO : un.

Slides:



Advertisements
Présentations similaires
Sintaks : Tentative de guide de mise en œuvre Michel Hassenforder.
Advertisements

MOT Éditeur de modèles de connaissances par objets typés
Processus d'expression du besoin
Treuil IRD Abdelwahed FSSM-Marrakech
Algèbre de composants : une approche fonctionnelle à la sémantique de documents Bart Lamiroy LORIA/INPL QGar - École des Mines de Nancy.
Spécification et qualité du logiciel
Sensibilisation à l’Algorithmique et structure de données
Introduction Pour concrétiser l’enseignement assisté par ordinateur
Urbanisation de Systèmes d'Information
Cours n° 8 Conception et Programmation à Objets
Régine Laleau Centre d'Étude et de Recherche en Informatique du CNAM
UML - Présentation.
Système formel Nous avons introduit : signes de variables (x, y, z, …), de constantes (0, 1), d’opérations (+, ), de relations (=, ) Axiomes : ce sont.
TP 3-4 BD21.
PARTIE 3 : Le SYSTEME D’INFORMATION FUTUR
1 ARCHITECTURE DACCÈS la méthode générale modèle de données définitions module daccès / modules métiers construction des modèles les modules daccès, les.
Principes de la technologie orientée objets
le profil UML en temps réel MARTE
Algorithmique et Programmation
Initiation à la conception de systèmes d'information
Modélisation E/R des Données
Introduction à la conception de Bases de Données Relationnelles
Algorithmique et Programmation
SYSTEMES D’INFORMATION
Techniques de test Boulanger Jean-Louis.
MOT Éditeur de modèles de connaissances par objets typés
P. Van Roy, LINF1251 LINF1251: Le Langage Java Peter Van Roy Département dIngénierie Informatique, UCL
Présentation du mémoire
1 CSI3525: Concepts des Languages de Programmation Notes # 3: Description Syntaxique des Languages.
Contrôle de types Les types en programmation Expressions de types Un contrôleur de types Equivalence de types Conversions de types Généricité.
Cours de Base de Données & Langage SQL
Chapitre 9 Les sous-programmes.
Standard Template Library
Programmation non procédurale Le projet ECOLE 2000
Sensibilisation a la modelisation
Patrons de conceptions de créations
ANALYSE METHODE & OUTILS
Travaux Pratiques Représentation des connaissances
Paradigmes des Langages de Programmation
Spécification de programmes et de systèmes
Les principes de la modélisation de systèmes
Amélioration de la simulation stochastique
Supports de formation au SQ Unifié
Hatainville Les Moitiers d’Allonne – Tel : Website : stratic.online.com La démarche projet Mars 2001.
Algorithmique et programmation (1)‏
Programmation objet La base.
1 A llier R elations et O bjets pour M odéliser Projet Sherpa INRIA Rhône-Alpes Visite Schneider 15/09/99.
Algorithmes et Programmation
1 BDs Orientées Objets Witold LITWIN. 2 Pourquoi ? F Les BDs relationnelles ne sont pas adaptées aux applications CAD/CAM, cartes géo... F le problème.
Le contenu est basé aux transparents du 7 ème édition de «Software Engineering» de Ian Sommerville«Software Engineering» de Ian Sommerville B.Shishedjiev.
Tables de compilation pour le langage Z minimal Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
Introduction au Génie Logiciel
Le langage Z minimal Pr ZEGOUR DJAMEL EDDINE
Intégration de schémas
Le langage Racket (Lisp)
Initiation à la conception des systèmes d'informations
Sélection de colonnes (la projection)
François CARCENAC,Frédéric BONIOL ONERA-DTIM Zoubir MAMMERI IRIT
Programmation fonctionnelle Preuve
Présentation AICHA REVEL INGENIEUR D’ÉTUDE STERIA DEPARTEMENT TRD
2 Processus de conception de BD
L T I Laboratoire de Téléinformatique 2 Projet de semestre Parseur XML basé sur la DTD : Buts –Utiliser la grammaire définissant un type de fichiers XML.
Initiation aux SGBD Frédéric Gava (MCF)
1 Structure en MC Principes Stockage des données dans la mémoire volatile d’un ordinateur Problèmes Stockage temporaire «Petits» volumes de données Langages.
Introduction à la Programmation Orientée Objet
Cours Cotation TD TP.
INTRODUCTION AUX BASES DE DONNEES
Introduction Module 1.
Les bases de données Séance 4 Construction du Modèle Physique (la BDD)
1 Initiation aux bases de données et à la programmation événementielle VBA sous ACCESS Cours N° 4 Support de cours rédigé par Bernard COFFIN Université.
Transcription de la présentation:

1 Jérôme GENSEL (avec la bénédiction… mais sans le contrôle de Cécile CAPPONI) un résumé de [CAPPONI98] Présentation équipe AROM du 01/04/99 METEO : un système de types pour la représentation des connaissances par objets

2 Ce dont on va parler : types et RPO l Justifications l Tout est objet (et réciproquement) ? l Où sont les types ? l Metéo l Exploitation de Metéo l Conclusion

3 Ce dont on ne parlera pas l Détails techniques de l'implémentation du couplage Metéo/Tropes l Détails techniques de l'implémentation du couplage Metéo2/Java points à discuter avec Cécile les 8 et 9 avril prochains

4 Objectifs des systèmes de RPO 1) Permettre la représentation structurée et fidèle des connaissances issues d'une modélisation d'un domaine d'application - classes + instances - ordre partiel de spécialisation entre les classes 2) Favoriser l'exploitation homogène des connaissances représentées en vue d'en inférer de nouvelles - mécanismes d'inférences (classification, attachement procédural, filtrage, …)

5 Utilité d'un système de types 1) Vérification de cohérence d'une base de connaissances - classes + instances typées car attributs typés  vérifications de types Mais système de type RPO  systèmes de types classiques car - ensemble de valeurs évolutif - vérifications ensemblistes sur les domaines - redondances dans l'expression de ces domaines

6 Utilité d'un système de types 2) Ouverture vers la programmation - attributs typés car opérations utiles même en RPO - ouverture vers des composantes procédurales impliquant des types de données simples… et complexes (séquence, date, matrice, arborescence, …)

7 Utilité d'un système de types 2) Ouverture vers la programmation solution 1 : décrire ces types de données par des classes de la RPO - Situe au même niveau d'abstraction la classe gène (structure moléculaire biologique représentée) et la classe séquence (structure de données informatique) - pas de méthode... Cette solution n'en est pas une….

8 Utilité d'un système de types 2) Ouverture vers la programmation solution 2 : décrire et gérer ces types de données à l'aide un système de types - extensible - chargé de la complétude et de la correction des inférences et des vérifications de cohérence activées dans les bases de connaissances et impliquant les types de données associés aux attributs Solution adoptée !

9 Tout est objet (et réciproquement) ? 2 problématiques 1) vérifications de types et redondances 2) besoin de types de données externes

10 Vérifications de types et redondances - les vérifications de types impliquent les sous- ensembles de valeurs construits à l'aide des descripteurs des attributs Mais le langage de modélisation est volontairement expressif  1 domaine = multiples expressions syntaxiques

11 Vérifications de types et redondances Exemple : nombre-de-pattes $un entier $intervalle [0,8] $sauf {1,3,5,7} ou nombre-de-pattes $un entier $domaine {0, 2, 4, 6, 8}  Besoin de normaliser pour accélérer les décisions (attachement et spécialisation)

12 Vérifications de types et redondances l La normalisation - combiner les descripteurs et éliminer l'information redondante vers une expression unique d'un sous-ensemble de valeurs d'attribut - permet de conclure à l'égalité de 2 domaines l L'expression normalisée n'est pas stockée au niveau de la RPO (les utilisateurs souhaitent conserver leurs expressions)  recalculer ? NON ! Stocker au niveau du système de types - les expressions normalisées des ss-ens. de valeurs - la définition des opérations ensembliste de manipulation de ces expressions normalisées

13 Besoin de types de données externes l Seuls les types de base (du langage de programmation hôte) sont gérés par le SRPO l Pour les autres types de données  programmer en externe et référencer ?  déclarativité préservée…mais

14 Besoin de types de données externes Exemple Classe Gène-protéique sorte-de Gène attributs : promoteur $un Seq1 $card[2,6] codon-int $un Seq1 $card[3,3] $valeur ('T'.'A'.'C') seq-ARN $un Seq2 sib-exec Traduct(seq-cod) seq-cod... Seq1, Seq2 : types de données développés en externe Traduct : méthode écrite en langage hôte manipulant des valeurs de types Seq1

15 Besoin de types de données externes Le problème… Seq1, Seq2 sont des boîtes noires pour le SRPO  pas d'interprétation des descripteurs de la RPO utilisés sur ces types  pas d'interprétation des descripteurs : card sur Seq1 ???  pas de vérification possible des résultats des méthodes Il faut permettre l'interprétation des descripteurs même lorsqu'appliqués à des types de données externes

16 Où sont les types ? Attributs - d'abord typés par un descripteur principal ( $un, $ens, $liste ) qui définit un type abstrait pour l'attribut - puis restreints par d'autres descripteurs qui définissent des ss- ens. de valeurs du type abstrait associé ($domaine,$sauf, $int,..),

17 Où sont les types ? Attributs  2 niveaux de types 1) les types de données (réel, entier, …) 2) les sous-ensembles de valeurs spécifiés par l'utilisateur ([6.2, 14.3], {2, 5, 7}, …)  Les domaines des attributs sont manipulés par des opérations ensemblistes ( , , , , …) utilisées pour l'attachement et la spécialisation

18 Où sont les types ? Classes - sa description peut être assimilée à un type record [Cardelli84] type record = fonction d'un ensemble non-ordonné d'étiquettes (les attributs) vers un ensembles de types (les domaines) - attachement et spécialisation se basent sur des opérations ensemblistes définies pour les types records Les opérations ensemblistes ont une sémantique commune indépendante de la nature du type de données référencé

19 Où sont les types ? En conclusion 2 niveaux de types 1) types de données (valeurs + opérations) 2) gestion des parties de ces types Structure algébrique des parties d'un type de données T = (où V : ensemble de valeurs et O : ensemble d'opérations) où E contient plusieurs opérations ensemblistes

20 Cahier des charges du système de types Le système de types devra permettre : - l'ajout de types externes (non disponibles dans la RPO) - la gestion des parties de ces nouveaux types - l'expression normalisée d'ensembles de valeurs Rôles du système de types : 1) typer les descripteurs de connaissances 2) normaliser les types obtenus 3) assurer la persistance de ces types parallèlement aux entités auxquelles ils correspondent

21 Architecture du système de types Domaine d'application extensions intensions Système de connaissancesSystème de types Classes attributs Instances valeurs d'attributs Classification inférences relations Types de données Parties (intervalles, types records, …) Valeurs (entiers, valeurs records, …) Langage de Programmation Opérations ensemblistes Opérations sur les valeurs

22 Metéo Module Extensible de Types Elaborés pour les Objets 2 niveaux de types : 1) C-type : implémentation d'un type de données (donnée structurée + opérations) + implémentation des opérations ensemblistes 2)  -type : expressions d'un sous-ensemble de valeur d'un C-type

23 Les C-types Un C-type T est défini, de façon minimale par 2 opérations : 1)  T : U  {0,1} : prédicat d'appartenance d'une valeur quelconque de l'univers U à l'ensemble des valeurs de T 2) = T : T x T  {0,1} : prédicat d'égalité entre 2 valeurs de T + d'autres opérations selon les C-types Metéo définit une base minimale de C-type Exemple : le C-type Liste muni de l'opération map Ces opérations sont disponibles au sein du SRPO

24 Base hiérarchique de C-types Univers Types de base EnumérésOrdonnés Symbole DiscretsDenses Construits Collection Record ListeEnsemble caractère Booléen Entier ChaîneRéel

25 EOLE EOLE : un langage interne d'expressions ensemblistes Il correspond au second niveau de types de Metéo Dédié à l'expression sous forme normale de sous-ensembles de valeurs issus des C-types A un ss-ens de valeurs (domaine d'attribut) ou de valeurs records (record de classe) est associé un ss-ens de valeurs de Metéo exprimé en EOLE Ces termes sont appelés des  -types

26 Les  -types A chaque C-type T = est associé une structure algébrique Metéo définit pour T, la syntaxe d'expression des éléments de 2 V T et implémente :  , T : 2 V T x T  {0,1} : appartenance  , T : 2 V T x 2 V T  {0,1} : inclusion  , T : 2 V T x 2 V T  2 V T : plus grand minorant (intersection)  , T : 2 V T x 2 V T  2 V T : plus petit majorant (union) / , T : 2 V T x 2 V T  2 V T : différence

27 Les  -types Les termes de EOLE sont  -types  t = où T est le C-type de rattachement de  t, et E(T) une expression syntaxique normalisée  2 ensembles de valeurs égaux ont même  -type les termes de EOLE comporte des champs Exemples de  -types  -type Discret 1 champ domaine liste ordonnée d'intervalles de valeurs à bornes fermées  -type Construits plusieurs champs E( Liste ) =, TOUT, {(4, 5, 6) (4, 5, 7)};[2, +  ]>

28  -sous-typage et treillis de  -types Les  -types d'un même C-type sont partiellement ordonnés par  -sous-typage (inclusion ensembliste issu de  , T ) Opération implémentée pour chaque C-type par combinaison de conditions sur les champs d'expression des  -types  -type Discret :  - sous-typage = test d'inclusion des listes d'intervalles

29  -sous-typage et treillis de  -types  -type Construits plus complexe t1= et t2= avec t'1= et t'2=

30 Treillis de  -types et  -sous-typage Les  -types sont organisés en treillis à partir du  -sous- typage, de  , T et de  , T Le  -sous-typage permet de comparer des  -types issus de C-types  mais liés par le C-sous-typage Exemple Pair et Entier si Pair  Entier grâce au  -sous-typage, le  -type réécrit en inclut le  -type

31 Interface RPO/Metéo Typage des entités de représentation 3 étapes 1) interprétation des descripteurs d'attributs vers les champs d'un  -type typage des classes vers des  -types records (étiquettes = noms des attributs ; types associés = liens vers les  -types des attributs) 2) Normalisation des champs du  -type obtenu à partir de la procédure de normalisation définie pour le C-type 3) insertion du  -type dans le treillis issu de son C-type

32 Interface RPO/Metéo Hiérarchie de spécialisation att1 $un chaîne att2 $un C' att3 $un entier att4 $un entier att5 $liste entier att2 $domaine(C'1,C'2) att3 $sauf (1,2,3,8) att3 $sauf(4,5,6,8,9,10) att5 $parmi (11,12,13,14) $card [1,3] att4 $int ]-inf,0],[4,+inf[ $sauf 8 att3 $int [-6,14] $sauf2 [-inf,+inf] Entier [-inf,0]+[4,7]+[9,+inf] [-inf,0]+[7,7]+[11,+inf] [-6,1]+[3,14] [11,14] 

33 Extensibilité de Metéo Ajout dynamique d'un C-type - sélection d'un C-super-type - liens vers le code des opérations minimales (appartenance et égalité) et opérations exigées par le C-super-type Exemple (import-data-type Date Date hérite de Ordonné et Discret super-type : Discret (tri, minimum, gestion des parties) equal : dateq Metéo génère Liste(Date) et Ens(Date) member : datep order : ldate succ : +day pred : -day )

34 Extensibilité de Metéo Génération de l'implémentation de la structure algébrique des parties du nouveau type Exemple Date représentée par un triplet d'entiers (jj,mm,aaaa) la description de l'attribut period-exam $un Date $int [(13,05,1999) ; (20,05,1999)[ $sauf (18,05,1999), (19,05,1999) sera traduite par le  -type

35 Implémentation de Metéo Implémentation "objet" naturelle - les C-types sont des classes dont les attributs sont les champs de description du C-type. Les méthodes de ces classes sont les opérations ensemblistes de manipulation des  -types, les fonctions associées au C-type (appartenance, égalité) - les  -types sont les instances de ces classes (infos statiques pour le  -sous-typage : sur-  -types, sous-  -types)

36 Exploitation de Metéo Délégation des opérations sur les descriptions - il existe dans Metéo l'équivalent des deux relations de base de la RPO (attachement et spécialisation)  effectuées sur les  -types (normalisation + stockage)   efficacité dans les processus décisionnels - classification d'instances et de classes  classification dans les treillis de  -types (amélioration : algorithme de Petko)  algos d'aide à la construction ou à la comparaison de bases de connaissances avec phases de vérification ou d'inférences couplage avec Metéo   efficacité

37 Exploitation de Metéo L'exemple du couplage Metéo/Tro(e)p(e)s : Metéo est également exploité pas - les notions de concepts, points de vue et passerelles - la révision dans les bases de connaissances (Crampé 97) - la catégorisation symbolique (Valtchev & Euzenat 95) - les outils pour la constructions de bases de connaissances consensuelles (Tayar 95) - les contraintes (Gensel 95)  proposition d' une fusion Metéo/Micro (Capponi & Gensel 97)

38 Conclusion Idée : reprendre les principes de Metéo (les étendre ?) et construire un système de types pour AROM Typage similaire pour classes et attributs Typage spécifique des relations ? Ce qui est sûr : le code Talk de Metéo n'est pas réexploitable directement du fait des grandes  entre l'approche objet Talk et l'approche objet Java qu'à cela ne tienne : Metéo 2 sera livré fin avril !

39 Poisson d'avril !!!