Approches Formelles en Systèmes d'information

24
Approches Formelles en Systèmes d'information Gilles Falquet

description

Approches Formelles en Systèmes d'information. Gilles Falquet. Contact. Gilles Falquet Centre universitaire d'informatique Uni-Dufour, bureau 323 +41 22 379 7772 Gilles.Falquet @ cui.unige.ch Matériel et info sur le cours : http : / / cui.unige.ch / isi / aftsi. Thème général du cours. - PowerPoint PPT Presentation

Transcript of Approches Formelles en Systèmes d'information

Page 1: Approches Formelles en Systèmes d'information

Approches Formelles en Systèmes d'information

Gilles Falquet

Page 2: Approches Formelles en Systèmes d'information

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

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

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

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

1. Formalisation et SI

Page 7: Approches Formelles en Systèmes d'information

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

1. Système formel

• Axiomes• Règles de production

==> chaînes (théorèmes)

Page 9: Approches Formelles en Systèmes d'information

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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