Amélie Cordier – 09 Novembre 2004

Slides:



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

Mathilde VINCENT - Olivier JOURDAN Paris - le 7/2/2012
Transformation de documents XML
Xavier Blanc Web Services Xavier Blanc
Réflexivité et réseaux d’ information
La machine virtuelle virtuelle utopie et/ou réalité ?
UML - Présentation.
Vue d'ensemble Présentation multimédia : Structure des unités d'organisation Modification des autorisations sur les objets Active Directory Délégation.
! ! ! PROCEDURE TYPE POUR ORGANISER L ’ANONYMAT
Programmation Orientée Objet (POO)
TP 3-4 BD21.
Test dans les objets Andrés Farias –
ESIEE Paris © Denis BUREAU I N Initiation à la programmation avec le langage Java.
UML (Unified Modeling Langage)
Introduction à la POO: Les classes vs les objets
FSAB1402: Informatique 2 Techniques de Programmation Orientée Objet
Etude des Technologies du Web services
Principes de la technologie orientée objets
Concepts de base : la Classe Pour faire une comparaison simple, une classe serait a priori, une structure C avec des variables et des fonctions.
Initiation à la conception de systèmes d'information
Introduction à la conception de Bases de Données Relationnelles
Xml/xslt : Extensible Stylesheet Language Transformation réalisé par: saÏd NAÏM.
Introduction au paradigme objet Concepts importants surcharge (overload) redéfinition (override) Définition d’une classe Définition des attributs.
© 2007 P. Van Roy. All rights reserved. FSAB1402: Informatique 2 Le Langage Java et les Exceptions Peter Van Roy Département dIngénierie Informatique,
L’orienté objet: hier, aujourd’hui et demain
RDF(S)
Programme de baccalauréat en informatique Programmation Orientée Objets IFT Thierry EUDE Module 7 : Classes et fonctions paramétrables Département.
Programmation Orienté Objet applications au langage Java
P. Van Roy, LINF1251 LINF1251: Le Langage Java Peter Van Roy Département dIngénierie Informatique, UCL
Programmation non procédurale Le projet ECOLE 2000
Patrons de conceptions de créations
1. Représentation des informations
Les réseaux sémantiques[Quillian 68]
Travaux Pratiques Représentation des connaissances
Présenté par : Attia Hamza Merzouk Abdelkrim 2003/2004
Conception Objet A. LOTFI.
JDBC L'API JDBC est utilisée pour utilisée pour intéragir avec une base de données.
Hatainville Les Moitiers d’Allonne – Tel : Website : stratic.online.com La démarche projet Mars 2001.
Approches Formelles en Systèmes d'information
11/04/ L'héritage Cours 7 Cours 7.
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
IFT 232 Méthodes de Conception Orientées Objets Introduction.
Technologies web et web sémantique TP3 - XML. XML eXtensible Markup Language (langage extensible de balisage) – Caractéristiques: méta-langage = un langage.
© 2005 P. Van Roy. All rights reserved. FSAB1402: Informatique 2 Le Langage Java Peter Van Roy Département d’Ingénierie Informatique, UCL
5ième Classe (Mercredi, 19 octobre) Prog CSI2572.
Tutorat en bio-informatique Le 14 novembre Au programme… Les objets –Propriétés (attributs) –Constructeurs –Méthodes.
C++ L’HERITAGE Fayçal BRAÏKI DUT INFORMATIQUE.
Réaliser par: Sadok Amel Cheboui hassiba
PHP objet Jérôme CUTRONA 10:13:27 Programmation Web
IFT 232 Méthodes de Conception Orientées Objets Introduction.
Introduction et Généralités sur l’Algorithmique
2 Processus de conception de BD
La programmation par objets Principes et concepts Etude de Smalltalk.
Cours MIAGE « Architectures Orientées Services »Henry Boccon-GibodCours MIAGE « Architectures Orientées Services »Henry Boccon-Gibod 1 Architectures Orientées.
Soutenance du mémoire de synthèse
Module : Langage XML (21h)
L’enseignement de spécialité SLAM
Programmation Web : DOM en PHP Jérôme CUTRONA 11:06:45 Programmation Web
eXtensible Markup Language. Généralités sur le XML.
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.
Chapitre 2 Rappels objet et Présentation des diagrammes UML
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.
La programmation par objets
Systèmes formels 1. Définition d'un SF Morphologie Théorie propre
Introduction à la Programmation Orientée Objet
Introduction Module 1.
Schéma de base de données Présentation. Conception du schéma logique  Transformation du schéma conceptuel en structures de données supportées par les.
Transcription de la présentation:

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

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

Historique Définition YAFOOL? Historique Définition

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

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

Les paradigmes de programmation Positionnement de Yafool

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 - 1983 09 Novembre 2004 YAFOOL ? - Amélie Cordier

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

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

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

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

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

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

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

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

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

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

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

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

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

Programmer en Yafool … un exemple “simple”

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

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

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

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

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

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