La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Amélie Cordier – 09 Novembre 2004

Présentations similaires


Présentation au sujet: "Amélie Cordier – 09 Novembre 2004"— Transcription de la présentation:

1 Amélie Cordier – 09 Novembre 2004
YAFOOL? Amélie Cordier – 09 Novembre 2004

2 Plan de la présentation
Yafool? Les paradigmes de programmation Principes d'implantation En pratique… Programmer en Yafool Liens 09 Novembre 2004 YAFOOL ? - Amélie Cordier

3 Historique Définition
YAFOOL? Historique Définition

4 YAFOOL ? - Amélie Cordier
Yafool? - Historique YAFOOL : Yet Another Frame-based Object-Oriented Language Créé en 1985 par Roland Ducournau, à l’INRIA Objectif : développer un outil de représentation des connaissances pour des systèmes experts. 09 Novembre 2004 YAFOOL ? - Amélie Cordier

5 YAFOOL ? - Amélie Cordier
Yafool? - Définitions “Langage” orienté objet, de type frames C'est un ensemble de primitives plus qu'un langage. Ecrit en Le_Lisp. L'accès à LISP est total et immédiat Combine programmation procédurale et programmation objet 09 Novembre 2004 YAFOOL ? - Amélie Cordier

6 Les paradigmes de programmation
Positionnement de Yafool

7 Les 4 paradigmes de programmation (1/2)
Orientée procédures : Les procédures sont actives Les données sont passives Exemple: LISP, C, Basic, etc. Orientée objets : L'objet est un ensemble données (attributs) + procédures (comportements) Les actions se traduisent par des messages interprétés par les objets La notion d'héritage permet de structurer les objets en classes et sous-classes Exemple: SIMULA, SMALLTALK, Java selon Bobrow et Stefik 09 Novembre 2004 YAFOOL ? - Amélie Cordier

8 Les 4 paradigmes de programmation (2/2)
Orientée données : Les actions réflexes lient les données aux procédures Les réflexes sont déclenchés lors d'accès spécifiques aux données (lecture, écriture, etc.) Exemples : KRL, Shirka Par les règles (programmation logique) : Le comportement du système est dicté par des ensembles de couples conditions/actions. L'invocation d'une règle est guidée par filtrage (pattern matching) sur les données. 09 Novembre 2004 YAFOOL ? - Amélie Cordier

9 Positionnement de Yafool
Programmation orientée objets + données (LOOD) De l'objet : Notion d'objet, attribut, comportement (slot) Lien d'héritage est-un (inclusion et appartenance) Des données : Notion de réflexe Principe de base d'implantation des frames 09 Novembre 2004 YAFOOL ? - Amélie Cordier

10 YAFOOL ? - Amélie Cordier
Frames et objets Distinction entre les frames et les objets: Un objet possède des procédures Un frame ne possède pas de procédures propres MAIS ses attributs en possèdent 09 Novembre 2004 YAFOOL ? - Amélie Cordier

11 Implantation de Yafool
Représentation des frames Les concepts du langage La notion d'objet, l'héritage

12 Représentation des frames
Liste d'association à deux niveau. (objet (slot-1 (facet-11, val-11) (facet-1k, val-1k)) (slot-i (facet-i1, val-i1) (slot-n …)) Les facettes définissent des modalités sur les attributs : valeur, contrainte, réflexe, etc. Le triplet frame-slot-facette permet d'obtenir une valeur 09 Novembre 2004 YAFOOL ? - Amélie Cordier

13 Les concepts du langage (1/2)
Deux entités : Noyau dur Primitives du système (fonctions d'accès élémentaires au triplets, création, lecture écriture effacement) Gestion des mécanismes d'héritage Déclenchement des attachement procéduraux (réflexes et comportement) ... 09 Novembre 2004 YAFOOL ? - Amélie Cordier

14 Les concepts du langage (2/2)
Noyau mou Autorise une syntaxe plus souple et plus elliptique Définit l'ensemble des objets du noyau dur qui seront utilisés de façon standard Extensible et/ou modifiables au niveau de la syntaxe, des concepts, des objets systèmes et des utilitaires. 09 Novembre 2004 YAFOOL ? - Amélie Cordier

15 Niveaux d'utilisation de Yafool
Utilisateur de base : noyau mou seulement Utilisateur évolué (qui étend le langage) : noyaux dur et mou Utilisateur haut niveau : accès au source 09 Novembre 2004 YAFOOL ? - Amélie Cordier

16 YAFOOL ? - Amélie Cordier
La notion d'objet Le nombre de facettes et de slots est illimité Tous les concepts YAFOOL sont des objets, même les slots et les facettes. Il existe un mécanisme d’héritage entre les objets donc : => Les slots et les facettes peuvent donc être hiérarchisés. 09 Novembre 2004 YAFOOL ? - Amélie Cordier

17 YAFOOL ? - Amélie Cordier
La notion d'héritage L'héritage : un des élément clé de la POO L'héritage dans YAFOOL : Par délégation : si un objet ne peut répondre à un message, il délègue le message à ses successeurs (ancêtres) dans le graphe d'héritage. Multiple, gère les exceptions. Pas de différence entre relation d'instanciation et relation de spécification. 09 Novembre 2004 YAFOOL ? - Amélie Cordier

18 Applications utilisant YAFOOL YAFOOL aujourd’hui
En pratique… Applications utilisant YAFOOL YAFOOL aujourd’hui

19 Applications utilisant YAFOOL
Plate-forme Cassis (K6) du CNET: CNET : France Télécom Recherche Modélisation des réseaux téléphoniques Système ReSyn : Aide à la synthèse en chimie organique Développée par Framentec et le LIRMM pour Roussel-UCLAF Utilisée dans le cadre du GDR CNRS TICCO (Traitement Informatique de la Connaissance en Chimie Organique). 09 Novembre 2004 YAFOOL ? - Amélie Cordier

20 YAFOOL ? - Amélie Cordier
YAFOOL aujourd’hui La version la plus à jour de YAFOOL : Version 3.22 Automne 1991 Selon son concepteur, YAFOOL est « mort » à cause de : L’abandon du langage Le_LISP v15 par l’INRIA L’échec de son successeur, développé par ILOG 09 Novembre 2004 YAFOOL ? - Amélie Cordier

21 Programmer en Yafool … un exemple “simple”

22 YAFOOL ? - Amélie Cordier
Un exemple “simple” Création de la racine de l’univers: (big-bang avant-JC (bla-bla toute la gaule est occupee… (toute? non car un petit village…) d apres goscinny et uderzo)) Description d’une instance de l’univers : ? (creation lieu ‘rome ()) = rome ? (creation personnage ‘cesar ‘((bercail rome))) = cesar 09 Novembre 2004 YAFOOL ? - Amélie Cordier

23 YAFOOL ? - Amélie Cordier
Un exemple “simple” Observation du contenu d’un objet : ? ^Vcesar (cesar (est-un (value personnage) (herit personnage avant-JC objet-ideal)) (instance-de (value personnage)) (bercail (value rome))) = cesar Lecture de l’attribut d’un objet, définition d’une valeur : ? (bercail cesar) = rome ? (:= lieu-actuel cesar rome) 09 Novembre 2004 YAFOOL ? - Amélie Cordier

24 YAFOOL ? - Amélie Cordier
Un exemple “simple” Les réflexes ont bien fonctionné : ? (lieu-actuel cesar) = rome ? (presents rome) = (cesar) Vérification de la présence de quelqu’un : ? (:? Lieu-actuel cesar ‘bologne) = () ? (:? Lieu-actuel cesar rome) 09 Novembre 2004 YAFOOL ? - Amélie Cordier

25 YAFOOL ? - Amélie Cordier
Un exemple “simple” Suppression et ajout d’éléments : ? (:- presents rome) = (cesar) ? (lieu-actuel cesar) = () ? (:+ presents rome cesar) = cesar ? (:+ presents rome ‘(neron cesar)) = neron ? (presents rome) = (cesar neron) 09 Novembre 2004 YAFOOL ? - Amélie Cordier

26 YAFOOL ? - Amélie Cordier
Un exemple “simple” Comportement : (personnage (aller-en-foret (methode () when (:? lieu-actuel (bercail)) (:= lieu-actuel foret)))) (saluer (methode))) ? (aller-en-foret cesar) Il n y a pas de methode saluer pour cesar avec (()) = foret ? (presents rome) = (neron) ? (presents foret) =(cesar) 09 Novembre 2004 YAFOOL ? - Amélie Cordier

27 Liens http://liris.cnrs.fr/amelie.cordier/recherche/Yafool/biblio.html
Source de la présentation : Ducournau, R. - Quinqueton, J. YAFOOL : encore un langage objet a base de frames! Version 2.1. Rapport technique de l'INRIA-Rocquencourt


Télécharger ppt "Amélie Cordier – 09 Novembre 2004"

Présentations similaires


Annonces Google