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

Séminaire « Développement logiciel et ontologies » J.M. Vanel - 2009-10-03 Appliquer l'intelligence artificielle au génie logiciel Modélisation, moteurs.

Présentations similaires


Présentation au sujet: "Séminaire « Développement logiciel et ontologies » J.M. Vanel - 2009-10-03 Appliquer l'intelligence artificielle au génie logiciel Modélisation, moteurs."— Transcription de la présentation:

1 Séminaire « Développement logiciel et ontologies » J.M. Vanel - 2009-10-03 Appliquer l'intelligence artificielle au génie logiciel Modélisation, moteurs de règles

2 Sommaire 1.RDF et la vision par le W3C du Web Sémantique 2.Modélisations SQL, UML, langages OO, RDFS, logique des propositions, OWL 3.Le langage N3, langage de convergence 4.Moteurs à base de règles (RETE) 5.Moteurs en logique des prédicats 6.Transformations de modèles via des règles 7.Architectures d'application 8.L'environnement EulerGUI centré sur le langage N3 9.Le projet Déductions

3 Partie 1 1.RDF et la vision par le W3C du Web Sémantique 2.Modélisations SQL, UML, langages OO, RDFS, logique des propositions, OWL 3.le langage N3, langage de convergence 4.Moteurs à base de règles (RETE) 5.moteurs en logique des prédicats 6.transformations de modèles via des règles 7.générateurs d'applications 8.l'environnement EulerGUI centré sur le langage N3 9.le projet Déductions

4 Web Sémantique: la vision ● Le Web lisible par une machine ● Via le format RDF (XML)

5 Web Sémantique: RDF ● Adapté au Web; tout est URI et types primitifs ● Un socle pour n'importe quel graphe d'objets (cf XMI) ● Monde ouvert: l'information disponible n'est pas supposée complète – on peut « annoter » tout ce qui a un URI; ● Qu'est ce qu'un URI ? ● Standards annexes: SPARQL, RDFa

6 Web Sémantique: RDF 2

7 Partie 2 1.RDF, RDFS et la vision par le W3C du Web Sémantique 2.Modélisation OWL 3.le langage N3, langage de convergence 4.Moteurs à base de règles (RETE) 5.moteurs en logique des prédicats 6.transformations de modèles via des règles 7.générateurs d'applications 8.l'environnement EulerGUI centré sur le langage N3 9.le projet Déductions

8 Modélisation: logique de description, OWL ● Adapté au raisonnement, via les « restrictions » – Si un programmeur est qq'un qui connait un langage de programmation, Richard Stallman sera classifié comme programmeur – Mais on peut aussi comme en Java, UML, etc, déclarer a priori l'apartenance à un classe ● Moteur (raisonneur) OWL: il classifie ● on a des algorithmes efficaces

9 OWL Lite: RDF Schema ● Class (Thing, Nothing) ● rdfs:subClassOf ● rdf:Property ● rdfs:subPropertyOf ● rdfs:domain ● rdfs:range ● Individual

10 OWL lite: (In)Egalité ● equivalentClass ● equivalentProperty ● sameAs ● differentFrom ● AllDifferent ● distinctMembers ● Sous-propriétés ● Classes disjointes ● Enumérations (oneOf)

11 OWL lite: Caractéristiques de propriété ● ObjectProperty ● DatatypeProperty ● inverseOf ● TransitiveProperty ● SymmetricProperty ● FunctionalProperty ● InverseFunctionalProperty

12 OWL lite: Restrictions de propriété ● Restriction ● onProperty ● allValuesFrom ● someValuesFrom

13 OWL lite: divers ● Intersection de classe : – intersectionOf ● Types de données XSD ● Propriétés d'annotation : – rdfs:label – rdfs:comment – rdfs:seeAlso – rdfs:isDefinedBy – AnnotationProperty – OntologyProperty

14 Modélisation facilitée – UML textuel Person<|---Customer---Buying<|---ServiceBuying <|---MerchandiseBuying HelpRequest-----------Buying date: Date explanation: String Saisie 5 fois plus rapide qu'un éditeur UML ! Encore plus rapide que N3 !

15 Modélisation facilitée – Anglais contrôlé Every card is a means of a payment. Le modèle formel est récupéré à partir de la phrase: Card ---|> MeansOfPayment Project ACE ( Attempto Controlled English ) Essayez-le avec l'interface Ajax: http://attempto.ifi.uzh.ch/ape/

16 Récapitulation modélisation ● Exemple monétique: Client, Commande, Paiement ● Annotations RDF: incident de paiement, commandes passées ● Modélisation ● Modélisation OWL: classes dynamiques ( alors qu'en UML figées) ● Monde ouvert: RDF; SQL etc: monde fermé ● Règles: encore plus d'expressivité ● Anglais contrôlé → logique formelle ● UML simplifié

17 Partie 3 1.RDF, RDFS et la vision par le W3C du Web Sémantique 2.Modélisations SQL, UML, langages OO, RDFS, logique des propositions, OWL 3.le langage N3, langage de convergence 4.Moteurs à base de règles (RETE) 5.moteurs en logique des prédicats 6.transformations de modèles via des règles 7.générateurs d'applications 8.l'environnement EulerGUI centré sur le langage N3 9.le projet Déductions

18 N3 : données et modèles @prefix rdfs:. @prefix owl:. :p1 a :Person ; :size 1.79. :Person a owl:Class. :size a owl:DatatypeProperty ; rdfs:domain :Person ; rdfs:range xsd:double ; rdfs:label "size (m)". Données Modèle

19 Rule example 1 # add a field in the form for each property of a class: { ?CLASS gui:hasForm ?FORM. ?PROP rdfs:domain ?CLASS. } => { ?FORM gui:hasField ?FIELD. ?FIELD gui:inputWidgetSpecification ?PROP. }. ?CLASS, ?FORM, ?PROP are universally qualified FIELD is existentially qualified

20 Rule example 2 # The type of the field depends on the type of the # property: ObjectProperty or DatatypeProperty { ?FIELD gui:inputWidgetSpecification ?PROP. ?PROP a owl:DatatypeProperty. } => { ?FIELD a gui:DatatypeInputWidget. }.

21 OWL implemented with N3 logic ● as part of the Euler project, a library of N3 rules implements the logic of OWL and RDF Schema (transitive property, inheritance, etc), and other goodies, see: ● http://eulersharp.svn.sourceforge.net/viewvc/eulershar p/trunk/2003/03swap/rpo-rules.n3 http://eulersharp.svn.sourceforge.net/viewvc/eulershar p/trunk/2003/03swap/rpo-rules.n3 { ?P a owl:TransitiveProperty. ?S ?P ?X. ?X ?P ?O. } => { ?S ?P ?O }.

22 Partie 4 1.RDF, RDFS et la vision par le W3C du Web Sémantique 2.Modélisations SQL, UML, langages OO, RDFS, logique des propositions, OWL 3.le langage N3, langage de convergence 4.Moteurs à base de règles (RETE) 5.moteurs en logique des prédicats 6.transformations de modèles via des règles 7.générateurs d'applications 8.l'environnement EulerGUI centré sur le langage N3 9.le projet Déductions

23 Exemples de systèmes à base de règles ● Diagnostics médicaux ● juridique ● tarification d'appels téléphoniques ● processus métier (workflow): états et transitions – gestion de contenus (CMS): règles d'approbation – gestion de stock – Gestion relation client ● Suggestions de contacts (Facebook)

24 Moteurs de règles: avantages ● Une règle isolée a un sens ● Le moteur enchaîne les règles, pas le programmeur ● + efficace que la programmation classique ● Capture bien l'expertise métier ● Traduisible depuis et vers le langage naturel ● Les « systèmes experts « ont fait leurs preuves

25 Partie 5 1.RDF, RDFS et la vision par le W3C du Web Sémantique 2.Modélisations SQL, UML, langages OO, RDFS, logique des propositions, OWL 3.Le langage N3, langage de convergence 4.Moteurs à base de règles (RETE) 5.Moteurs en logique des prédicats 6.Transformations de modèles via des règles 7.Générateurs d'applications 8.l'environnement EulerGUI centré sur le langage N3 9.le projet Déductions

26 Comparaison moteurs FOL, moteurs de règles ● Avec FOL on peut : – Démontrer des théorèmes – travailler sur une connaissance « négative » ● Exemple jeu de damier: on sait que le monstre n'est pas dans les cases B2 et C3

27 Partie 6: Transformations 1.RDF, RDFS et la vision par le W3C du Web Sémantique 2.Modélisations SQL, UML, langages OO, RDFS, logique des propositions, OWL 3.Le langage N3, langage de convergence 4.Moteurs à base de règles (RETE) 5.Moteurs en logique des prédicats 6.Transformations de modèles via des règles 7.générateurs d'applications 8.l'environnement EulerGUI centré sur le langage N3 9.le projet Déductions

28 Transformations via des règles ● 2 architectures: – créer des objets de proche en proche, – annoter les objets existants si on a une correspondance 1 à 1 ● Comparaison avec XSLT – Avec la logique on est indépendant de la structure ● Comparaison avec QVT – On est dans la programmation logique; QVT est déclaratif mais ça reste assez procédural

29 Partie 7: générateurs 1.RDF, RDFS et la vision par le W3C du Web Sémantique 2.Modélisations SQL, UML, langages OO, RDFS, logique des propositions, OWL 3.le langage N3, langage de convergence 4.Moteurs à base de règles (RETE) 5.moteurs en logique des prédicats 6.transformations de modèles via des règles 7. Architectures d'applications 8.l'environnement EulerGUI centré sur le langage N3 9.le projet Déductions

30 OO and KB ● Object Oriented for the business data has lived – In OO, data model, bizz rules, infrastructure are mixed ● time for knowledge bases ! ● OO remains fit for the infrastructure code though ● A Copernican revolution !

31 Développement basé sur des ontologies - 1 Hiérarchie d'ontologies Ontologie haut niveau Ontologie s métier Ontologi e d'entrepr ise Ontologie applicativ e

32 Développement basé sur des ontologies – 2 – Scénario OO Ontologie applicativ e Classes métier brutes Classes métier + méthodes Présentation (IHM) Sources de données Générateur de code

33 Développement basé sur ontologies – 3 – Scénario OO+ moteur de règles Classes métier + méthodes Présentation (IHM) Sources de données Moteur de règles règles

34 Développement basé sur des ontologies – 4 – Scénario IA Ontologie applicativ e Présentation (IHM) Données utilisateur (faits) Moteur d'inférence Règles applicatives Application Base de connaissance

35 Partie 8 1.RDF, RDFS et la vision par le W3C du Web Sémantique 2.Modélisations SQL, UML, langages OO, RDFS, logique des propositions, OWL 3.le langage N3, langage de convergence 4.Moteurs à base de règles (RETE) 5.moteurs en logique des prédicats 6.transformations de modèles via des règles 7.générateurs d'applications 8.l'environnement EulerGUI centré sur le langage N3 9.le projet Déductions

36 EulerGUI EulerGUI est bati autour d'une simple classe: Project Sources: N3Source[] N3Query: N3Source RunDroolsTriples(): List

37 Le flux d'information (vu par le concepteur) Réutiliser la technologie existante Modèle métier SQ L UML POJ O RDFS, OWL Règl es N3 SWR L Rewers e Prolog Droo ls Déducti ons Applicati on Abstraite Platefor me Concrète Swin g PH P eclips e.Net JDB C Sesa me Web Services C embarqué

38 Cohérence et réutilisation Réutiliser les modèles existants Modèle métier Règl es Déducti ons Application 1 Java Swing MySQL Expose / appelle Services Web Extraction, particularisatio n Application 2 PHP MySQL Application 3

39 Partie 9 1.RDF, RDFS et la vision par le W3C du Web Sémantique 2.Modélisations SQL, UML, langages OO, RDFS, logique des propositions, OWL 3.le langage N3, langage de convergence 4.Moteurs à base de règles (RETE) 5.moteurs en logique des prédicats 6.transformations de modèles via des règles 7.générateurs d'applications 8.l'environnement EulerGUI centré sur le langage N3 9.le projet Déductions

40 The Deductions project ● Application generation – platform independence ● User-friendliness : the Good Servant ● component-based application building: Intelligent modularity ● Comprehension without prior protocol

41 Advanced GUI features ● GUI rules: building components tree, behavior: cardinalities, inheritance, constraints (solve to infer values), ● Advanced features: propagate edits or not (money Xfer between accounts), has few values, graph view (following user past actions, lens), zip paradigm ● record user actions, and show some simple feed-back, maybe last object creations used for suggesting object link ● show table view (like relational DB table) ● show tree view : 1. follow object properties; 2. follow subclassOf, then rdf:type ● demonstrate UML front-end

42 GUI: the good servant ● every user action should be recorded ● exploit to infer her/his intentions ● Also draw all consequences from the model and data

43 Intelligent modularity : letting valences connect ● Re-use the wealth of existing libraries and components ● Tag libraries with their purpose ● Add protocol state machines ● Then we can infer actual call sequence and automate application building ● Also possibility to find libraries and applications by their functionalities

44 Comprehension without prior protocol ● Between human and computer ● Between computers ● Leverage on linguistics – opencyc.org, WordNet, upper level ontologies: Sumo, Milo,... ● ACE project ( Attempto Controled English )

45 Conclusion ● Copernic revolution: the infrastructures and OO techniques are at the periphery, Ontologies and rules and at the center ● Reduce the Babel effect effect in computer science by applying AI techniques ● Automatize application building will allow IT projects to concentrate on essential matters: domain model and business rules


Télécharger ppt "Séminaire « Développement logiciel et ontologies » J.M. Vanel - 2009-10-03 Appliquer l'intelligence artificielle au génie logiciel Modélisation, moteurs."

Présentations similaires


Annonces Google