![Page 1: Approches Formelles en Systèmes d'information](https://reader035.vdocuments.site/reader035/viewer/2022062408/56813381550346895d9a8de6/html5/thumbnails/1.jpg)
Approches Formelles en Systèmes d'information
Gilles Falquet
![Page 2: Approches Formelles en Systèmes d'information](https://reader035.vdocuments.site/reader035/viewer/2022062408/56813381550346895d9a8de6/html5/thumbnails/2.jpg)
Contact
Gilles FalquetCentre universitaire d'informatiqueUni-Dufour, bureau 323+41 22 379 7772Gilles.Falquet @ cui.unige.ch
Matériel et info sur le cours :http : / / cui.unige.ch / isi / aftsi
![Page 3: Approches Formelles en Systèmes d'information](https://reader035.vdocuments.site/reader035/viewer/2022062408/56813381550346895d9a8de6/html5/thumbnails/3.jpg)
Thème général du cours
• Formalisation des données et des connaissances
• Formalisation de leur représentation dans des interfaces
• Objectifs pédagogiques :– connaissances de base du domaine– comment attaquer formellement un domaine
d'étude
![Page 4: Approches Formelles en Systèmes d'information](https://reader035.vdocuments.site/reader035/viewer/2022062408/56813381550346895d9a8de6/html5/thumbnails/4.jpg)
Evaluation :
• 1 ou 2 travaux de modélisation/formalisation de connaissances
• présentation (courtes) d'articles de recherche
![Page 5: Approches Formelles en Systèmes d'information](https://reader035.vdocuments.site/reader035/viewer/2022062408/56813381550346895d9a8de6/html5/thumbnails/5.jpg)
Programme du cours
• Systèmes formels et SI• Représentations des connaissances
– logique premier ordre, réseaux sémantiques, logique descriptive
– systèmes et langages de RdC (CyC, OWL, ...)– hypertextes
• Interfaces– spécification orientée modèle– représentation hypertextuelle des données– documents virtuels
![Page 6: Approches Formelles en Systèmes d'information](https://reader035.vdocuments.site/reader035/viewer/2022062408/56813381550346895d9a8de6/html5/thumbnails/6.jpg)
1. Formalisation et SI
![Page 7: Approches Formelles en Systèmes d'information](https://reader035.vdocuments.site/reader035/viewer/2022062408/56813381550346895d9a8de6/html5/thumbnails/7.jpg)
Plan
• système et langage formel==>• langages informatiques• spécification formelle des applications• propriétés dynamiques des systèmes• modèles de données• données et connaissances• interfaces des SI
![Page 8: Approches Formelles en Systèmes d'information](https://reader035.vdocuments.site/reader035/viewer/2022062408/56813381550346895d9a8de6/html5/thumbnails/8.jpg)
1. Système formel
• Axiomes• Règles de production
==> chaînes (théorèmes)
![Page 9: Approches Formelles en Systèmes d'information](https://reader035.vdocuments.site/reader035/viewer/2022062408/56813381550346895d9a8de6/html5/thumbnails/9.jpg)
SF pour définir un langage
axiome • Srègles• S --> ab• S --> bSa
chaînes (= langage)• ab, baba, bbabaa, bbbabaaa, etc.
![Page 10: Approches Formelles en Systèmes d'information](https://reader035.vdocuments.site/reader035/viewer/2022062408/56813381550346895d9a8de6/html5/thumbnails/10.jpg)
exemple
• E --> T• E --> T + T• E --> T - T• T --> (E)• T --> 0• T --> 1
• 0, 1, 1+1, 1+0, (1+1), 1-(0+(1-1))
![Page 11: Approches Formelles en Systèmes d'information](https://reader035.vdocuments.site/reader035/viewer/2022062408/56813381550346895d9a8de6/html5/thumbnails/11.jpg)
SF pour raisonner
Règles d'inférence de théorèmes
• en logique: pour prouver des conséquences logiques
![Page 12: Approches Formelles en Systèmes d'information](https://reader035.vdocuments.site/reader035/viewer/2022062408/56813381550346895d9a8de6/html5/thumbnails/12.jpg)
Ex. en logique :
• modus ponens : A => B, A --> B• spécification : x P(x) --> P(t/x)
• 36 > 20• x >20 => x2 > 400• -spec-> 36 >20 => 362 > 400• -mp-> 362 > 400
![Page 13: Approches Formelles en Systèmes d'information](https://reader035.vdocuments.site/reader035/viewer/2022062408/56813381550346895d9a8de6/html5/thumbnails/13.jpg)
SF et théorie
Fabrication de théories• axiomes de la théorie• règles d'inférence• --> ensemble de théorèmes = théorie
![Page 14: Approches Formelles en Systèmes d'information](https://reader035.vdocuments.site/reader035/viewer/2022062408/56813381550346895d9a8de6/html5/thumbnails/14.jpg)
Exemple
• Théorie des dépendances fonctionnelles• Théorie logique• axiomes
X ( df(X, X) ) X Y Z ( df(X, Y) => df(XZ, Y) ) X Y Z ( df(X, YZ) => df(X, Y) ) X Y Z ( df(X, YZ) => df(X, Z) )etc.
![Page 15: Approches Formelles en Systèmes d'information](https://reader035.vdocuments.site/reader035/viewer/2022062408/56813381550346895d9a8de6/html5/thumbnails/15.jpg)
SF et sémantique
• Associer une interprétation aux chaînes• Domaine d'interprétation
– lui même formalisé (!?)
• Fonction d'interprétation
1
0
0+00+(1+0)
01
2
3
![Page 16: Approches Formelles en Systèmes d'information](https://reader035.vdocuments.site/reader035/viewer/2022062408/56813381550346895d9a8de6/html5/thumbnails/16.jpg)
2. Langages informatiques
• Donner une définition formelle de la syntaxe– grammaire formelle :< SF
• Formaliser la sémantique– domaine abstrait : ensemble de fonctions
• énoncé SQL ---> expr. algébrique == fonction
• C, Java, etc. .... très complexe
![Page 17: Approches Formelles en Systèmes d'information](https://reader035.vdocuments.site/reader035/viewer/2022062408/56813381550346895d9a8de6/html5/thumbnails/17.jpg)
3. Spécifications formelles
• Fixer formellement ce que doit faire un programme ≠ comment le faire
• Spécifications algébriques– types abstraits algébriques– axiomes sur les opérations
• Spécifications orientées modèles– modèle de données– pré-post conditions (logiques)
![Page 18: Approches Formelles en Systèmes d'information](https://reader035.vdocuments.site/reader035/viewer/2022062408/56813381550346895d9a8de6/html5/thumbnails/18.jpg)
4. Propriétés dynamiques
• Spéc. formelle des traitement : difficile– pas dans UML
• Plus simple : – spécifier l'évolution des états du système– spécifier l'interaction entre tâches
• Outils – automates finis, state charts, réseaux de
Petri
![Page 19: Approches Formelles en Systèmes d'information](https://reader035.vdocuments.site/reader035/viewer/2022062408/56813381550346895d9a8de6/html5/thumbnails/19.jpg)
5. Modèles de données
• Syntaxe : éléments du modèle
• Sémantique : – interprétation abstraite des types de
données, – définition des opérations
![Page 20: Approches Formelles en Systèmes d'information](https://reader035.vdocuments.site/reader035/viewer/2022062408/56813381550346895d9a8de6/html5/thumbnails/20.jpg)
exemple
• table T(a1 d1, …, an dn)
• définit un type T
• [[T]] = ensemble des fonctions t– de {a1, …, an} dans d1 ... dn
– telles que t(ai) di
– un n-uplet de (type) T est une fonction (a1 v1, …, an vn)
![Page 21: Approches Formelles en Systèmes d'information](https://reader035.vdocuments.site/reader035/viewer/2022062408/56813381550346895d9a8de6/html5/thumbnails/21.jpg)
6. Données et connaissances
• Données: plutôt représentation des informations (factuel)
• Connaissances: plutôt orienté traitement
• Calculs sur les données, dirigés par les connaissances– BD:
• connaissances : schéma• données : n-uplets
![Page 22: Approches Formelles en Systèmes d'information](https://reader035.vdocuments.site/reader035/viewer/2022062408/56813381550346895d9a8de6/html5/thumbnails/22.jpg)
Faits et connaissances
Le savant doit ordonner ; on fait la Science avec des faits comme une maison avec des pierres ; mais une accumulation de faits n'est pas plus une science qu'un tas de pierres n'est une maison. Henri Poincaré
![Page 23: Approches Formelles en Systèmes d'information](https://reader035.vdocuments.site/reader035/viewer/2022062408/56813381550346895d9a8de6/html5/thumbnails/23.jpg)
Niveaux de connaissances
spécifique
générique
non formalisé formalisé
journal (news)TV (TF1)site web (météo)
livre scientifiqueencyclopédieCD-ROM éduc.TV (arte)
taxonomierègles de sys. expertréseau sémantiqueontologie
donnéesformules "de base"
![Page 24: Approches Formelles en Systèmes d'information](https://reader035.vdocuments.site/reader035/viewer/2022062408/56813381550346895d9a8de6/html5/thumbnails/24.jpg)
7. Interfaces
• Spécification formelle de la représentation– objet de l'application --> objet(s) d'interface
• Spécification formelle de l'interaction– action d'interface --> action de l'application– action --> changement d'état de l'interface