Title: Concepts de base
1(No Transcript)
2 Aux lecteurs bénévoles
Buveurs infatigables, vous, vérolés très
précieux, pendant quêtes de loisir, que nai
autre plus urgente affaire en main, je vous
demande en demandant  Pourquoi est-ce quon
dit maintenant en commun proverbe le monde
nest plus fat? Fat est un vocable de
Languedoc signifie non salé, sans sel,
insipide, fade par métaphore, signifie fol,
niais, dépourvu de sens, éventé de cerveau.
() Vous lavez ouï, lavez-vous entendu
? François Rabelais, Prologue pour le
cinquième livre des faicts dicts Heroïques de
Pantagruel.
3Présentation du 23 mars 2007
MDBS Nice, Sophia Antipolis
Henri Habrias
4Bonjour !
Henri Habrias Professeur à luniversité de
Nantes, Labo LINA henri.habrias_at_univ-nantes.fr Na
ntes ! Le centre du monde ! Nantes, où est né
Jules Verne (mort en 1905, 2005, Année Jules
Verne) En poste à lIUT, département
informatique Enseigne les spécifications,
informatique et droit Ex Responsable du DESS
Génie logiciel, économie, droit et
normes Enseignant en master (Nantes, Limoges) et
Formation doctorale
5Je viens du centre du monde !
" Le constat est vieux d'un siècle, mais il a
curieusement été passé sous silence. Si l'on
représente le globe selon une projection polaire
en tenant compte, non pas du pôle Nord, mais de
la surface des terres émergées, Nantes apparaît
au centre du monde." Ce constat a été fait par
August Penck à la fin du XIXe siècle. (voir
Sciences Vie, Hors série, n 203, juin 1998,
Dossier France, p. 10)
Il vous reste à spécifier ce concept de centre
du monde.
6No apologies !
7La France denhaut et laFrance denbas
8Nantes, en Bretagne
Spectacle de Royal de Luxe
La Cour des Comptes de Bretagne Le Château des
ducs de Bretagne sont situés à Nantes
9Bibliographie
Jai écrit pour vous des livres Henri Habrias,
Le modèle relationnel binaire, méthode I.A.
(NIAM), Paris, Eyrolles, 1988, ISBN
2-12-08169 Henri Habrias, Introduction à la
spécification, préface de Hervé Gallaire,
présentation par Michael Jackson, Masson, 1993,
ISBN 2-225-82768-0 Henri Habrias, La mesure
du logiciel, 2ième édition, corrigée et
augmentée, Teknea, 1994, ISBN 2-87717-045-4
10Bibliographie
David Lightfoot, La spécification formelle avec
Z, traduit par H. Habrias, Teknea, 1994, ISBN
2-87717-038-1 Henri Habrias, Dictionnaire
encyclopédique du génie logiciel, Préface de
Jean-Pierre Finance, Masson, 1997, ISBN
2-225-85328-2 Henri Habrias, Les paradigmes des
méthodes danalyse et de conception in Génie
logiciel principes, méthodes et techniques A.
Strohmeier, D. Buchs (Publié sous la direction
de), 1996, Presses Polytechniques et
universitaires romandes, ISBN2-88074-296-X
11RDV sur la toile
M. Frappier, H. Habrias - Software Specification
Methods, An Overview Using a Case Study, FACIT,
Springer, 2000, ISBN 1-85233-353-7, Site web
associé H. Habrias, M. Frappier - Software
Specification Methods, An Overview Using a Case
Study, Hermes Publishing, April 2006, ISTE,
London, (avec TLA (L. Lamport), ASM (E. Börger),
Event B (D. Méry, D. Cansell)
12RDV à la bibliothèque
Henri Habrias, Spécification formelle avec B ,
Hermes/Lavoisier, octobre 2001, ISBN
2-7462-0302-2, 416 pages Jean Jolivet, Henri
Habrias, Pierre Abélard, à laube des
universités, PUR, 2003 Et un Petit Dictionnaire
pour le lecteur novice de P. Abélard
RDV sur mon site web http//www.iut-nantes.univ-
nantes.fr/habrias/portailHabrias
13Notre but
Vous fournir des éléments pour aller, au-delà des
mots souvent franglais, aux concepts essentiels
cachés derrière les  nouveautés de
linformatique On parlera de mathématiques
élémentaires, de variables, constantes, de
substitution, de prédicat, dexpression, de
substitution, de machine abstraite, de
pré-condition, de garde, dinvariant, de
composant logiciel, de méta-modélisation Et dUML
14Spécifications
en résumé, nous parlerons de spécifications
Attention ! On verra que si lon est purement
formel, Â on ne sait pas de quoi lon parle et si
ce que lon dit est vrai (B. Russell au sujet
des mathématiques) Nous voulons  modéliser (on
va traiter de ce quest un modèle). Il nous
faudra donc, Ã la fois un texte formel et un
texte informel pour que lon puisse exprimer ce
dont on parle
Mais E. Borel a tout aussi bien dit  Les
mathématiques sont la seule science où lon sait
de quoi on parle et où on est certain que ce que
l on dit est vrai.Â
15Lexpression en français, ce que nous dit Boileau
Avant donc que d'écrire apprenez à penser. Selon
que notre idée est plus ou moins obscure,
L'expression la suit, ou moins nette, ou plus
pure. Ce que l'on conçoit bien s'énonce
clairement,
Hâtez-vous lentement, et, sans perdre
courage, Vingt fois sur le métier remettez votre
ouvrage Polissez-le sans cesse et le repolissez
Ajoutez quelquefois, et souvent
effacez.. Boileau, L'art poétique Chant I, v.
27-48 147-174.
16Notre parcours
On remontera à Aristote, avec les entités et les
propriétés Et on vous proposera de profiter de
linvention des ensembles et des relations On
vous proposera dabandonner la métaphysique, de
vous méfier des objets. Et on montrera ce
que lon peut prouver sur une spécification.
17Concepts de base
Pour éviter de compliquer Le complexe suffit Ã
la tâche ! Différence entre compliqué et
complexe
18Attribut, propriété, Attention !
" Des cinq approches discutées dans ce chapitre,
l'approche ER est clairement la
gagnante en termes de manque de définitions
précises, manque de niveaux clairs
d'abstraction, et manque de discipline
mentale. La popularité de ER réside
sans doute dans sa multitude
d'interprétations, aussi bien que dans son
utilisation de modes de pensée
familiers mais obsolètes.  Ted Codd,
The Relational Model for Database Management,
Version 2, Addison-Wesley, 1990, ISBN
020114192 2
19Rasoir dOccam
Ou principe d'économie Si un concept est
inutile, il faut prendre le rasoir et le couper.
 " Entia non sunt multiplicanda praeter
necessitatem" Il ne faut pas multiplier les
entités au delà du nécessaire
20Rasoir dOccam
Ce principe portant le nom du logicien anglais
nominaliste du XIV e siècle Guillaume d'Occam
(illustré dans le roman Le nom de la rose d'U.
Eco par Guillaume de Baskerville) qui a donné
aussi son nom à un langage de programmation, est
illustré au siècle précédent par Thomas d'Aquin,
puis Duns Scot, qui l'empruntent tous deux à un
adage scolaire tiré d'Aristote (Physique), qui
prétend s'inspirer d'Empédocle (!)  Frustra
fit per plura quod potest fieri per pauciora. Il
vaut mieux prendre des principes moins nombreux
et de nombre limité, comme fait Empédocle.
21Lavoisier et le rasoir dOccam
 il est des principes dune bonne logique de ne
pas multiplier les êtres sans nécessité Lavoisie
r
22Aristote, lorganon
23La phrase dAristote
L'homme est mortel. Socrate est mortel.
mortel est l'attribut de l'homme mortel est
l'attribut de Socrate Le logicien pensait
atteindre l'essence des choses à travers ces
attributs. Un jour l'un d'eux ayant entendu que
l'homme est un animal sans plume, a collé des
plumes à un homme pour montrer que la définition
n'avait pas atteint l'essence de l'homme.
24Complication
Dudule copie sur Huguette Dudule est copiant sur
Huguette  copiant sur Huguette attribut ou
propriété de Dudule
25Naissance des relations
La pensée scientifique a reconnu l'impossibilité
d'atteindre l'essence des choses et la logique
des relations est née. On ne se demande pas ce
qu'est un attribut, on a des ensembles, des
relations, un point c'est tout. Et en ce qui
concerne l'essence des choseslaissons ça
aux métaphysiciens
26Et lontologie ?
Cest la  science de lêtre en tant quêtre.Â
Cest de la métaphysique.
De nos jours, des informaticiens pensent quils
vont mettre lessence de lêtre dans les
ordinateurs !
S.V.P. Lisez Jacques Arsac
27La Quinte Essence
descendîmes au port de Matrotehecne (science
vaine), peu distant du palais de la Quinte
Essence. ()  car à son dîner rien ne mangeait,
fors quelques catégories, jechabots
(abstraction), eminins (vérités), dimions
(images), abstractions, harborins (concepts),
chelimins (songes), secondes intentions,
caradoths (visions terrifiantes), antithèses,
métempsycoses, transcendantes prolepses
(anticipations)
François Rabelais, Le Cinquième Livre, Chap. XVIII
28Occam et le singulier
Il ny a que le singulier. Cet arbre, cette
pierre, Protagoras  On dit singulier la chose
hors de lesprit qui est une et non pas
plusieurs et nest pas signe dune autre.Â
(Summa logicae) La chose singulière subsiste en
elle-même, sans rien devoir aux signes, elle
demeure hors de lesprit.
Distinction entre ontologie et sémiologie
Homme, concept singulier, regroupe tous les
hommes en une seule unité, mais ne les ramène pas
à un seul.
29Occam et les termes discrets
Certains signes, dans leur singularité, ne
désignent quun étant singulier ( signe propre
à un seul étant qui est appelé terme discret )
30Occam contre Platon
Les termes généraux sont des symboles qui
représentent une  intention de lesprit visant
à regrouper une pluralité dobjets
ordinaires. Il ny a pas besoin de faire appel Ã
un objet supplémentaire qui serait  lessence du
chêne auquel le mot se référerait. Donc une
telle essence nexiste pas (utilisation du rasoir
dOccam)
Nominalisme
31Un couteau
32Â Un couteau sans lame auquel il manque le mancheÂ
33Â Un couteau sans lame auquel il manque le
mancheÂ
Lichtenberg
- létat du couteau que je vais vous fabriquer
- létat du couteau que lon vient de détruire
- le concept de couteau ?
34Objet et accident
- Objet  Ce qui peut avoir lieu ou disparaître,
sans destruction du sujet - Porphyre (Isagore) divise les accidents enÂ
- séparables (par ex., pour lhomme de dormir) et
- inséparables (par ex., pour lEthiopien, dêtre
noir - caractère constant, mais quon peut concevoir
comme venant à - disparaître sans que le sujet auquel il
sapplique soit détruit). - André Lalande, Vocabulaire technique et critique
de la philosophie, - Quadrige, PUF
35Platonisme, formalisme, constructivisme (1)
Platon les objets mathématiques sont réels.
Leur existence est un fait objectif totalement
indépendant de la connaissance que nous en
avons. Immuables, non créés.Le mathématicien
découvre les objets mathématiques. Thom  Tout
bien considéré, les mathématiciens devraient
avoir le courage de leurs convictions les plus
profondes et par suite affirmer que les formes
mathématiques ont vraiment une existence
indépendante de lesprit que les considère. ()
cependant à un moment donné, les mathématiciens
ont cependant une vision incomplète et
fragmentaire de ce monde didées.Â
Platonisme (ou réalisme des idées)
36Platonisme, formalisme, constructivisme (2)
Formalisme il ny a pas dobjets
mathématiques. Les mathématiques consistent
seulement en axiomes, définitions et théorèmes,
en dautres mots, des formules sans
signification. Quand on donne à une formule une
interprétation physique, elle acquiert une
signification, et elle peut être vraie ou fausse
Formalisme
37Platonisme, formalisme, constructivisme (3)
constructivisme
Constructivisme ne considèrent comme
mathématiques véritables que celles que lon peut
obtenir par une construction finie
 Le mathématicien type est à la fois platonicien
et formaliste Platonicien dans son for
intérieur mettant un masque formaliste quand les
circonstances lexigent. Davis, Hersh, p. 312
Et les informaticiens?
38LÂ Aubergiste et les philosophes
Lun des philosophes, disciple de Hume et
voyageur plein dexpérience, fit venir notre
hôte et lui dit  Ce nest pas du buf, cest
du cheval. laubergiste lui réponditÂ
 Monsieur, je suis surpris de vous entendre
dire quelque chose que vous croyez dépourvu de
sens.  Buf et  cheval , selon vous, ne
sont que des mots, et ne désignent rien dans le
monde du non-langage. La discussion ne concerne
donc que des mots. Si vous préférez le mot
 cheval , cest bel et bien mais je trouve
le mot  buf plus profitable.Â
39LÂ Aubergiste et les philosophes
A cette réplique, tous les philosophes se mirent
immédiatement à discuter.  Laubergiste a
raison, dit un disciple de Roscelin,  buf et
 cheval ne sont que des sons proférés par le
souffle de lhomme, et aucun deux ne peut
désigner cet abominable et très coriace morceau
de viande. Absurdité, répliqua un
platonicien, ce rôti vient dun animal qui,
lorsquil était vivant, était une copie du cheval
éternel qui se tient au ciel, et non dun buf
éternel.Â
40LÂ Aubergiste et les philosophes
Un Augustinien fit remarquer  Buf et
 cheval sont des idées dans lesprit de Dieu,
et je suis certain que lidée divine du buf est
quelque chose de très différent. Le sens de
cette parabole est que la question des
 universaux nest pas simplement une question
de mots, mais quelle se pose lorsque lon veut
énoncer des énoncés de faits. Bertrand
Russell, in Histoire de mes idées philosophiques,
chap. XIV, Les universaux, les particuliers et
les noms, p. 194-95
41La querelle des universaux, la position dAbélard
 le retranchement ne confère substantiellement Ã
ce qui reste ou a été supprimé rien quil nait
eu dabord, parce que, après lablation dune
main, ce qui est maintenant reste un homme, et,
avant lablation, restait une certaine partie
cachée dans lhomme qui était intacte . Pierre
Abélard (XIIe) Créateur du Quartier Latin Né au
Pallet, à côté de Nantes
42Et Frege vint
Wismar 1848/ Mecklembourg 1925
43Les 4 sens du verbe  êtreÂ
G. Frege
- Existence  Dieu estÂ
- Appartenance  Socrate est mortelÂ
- Inclusion  le Niçois est françaisÂ
- Dénotation  létoile du matin est létoile du
soir -  Etoile du matin, étoile du soir dénotent VénusÂ
G. Fre
44Et Nicolas Bourbaki
1939
45Cantor
Saint-Petersbourg, 1845/Halle 1918
La théorie des ensembles
46Aristote en diagramme d Euler
Sujet Prédicat
Affirmative universelle Tout homme est blanc
P
S
Négative universelle Aucun homme n est blanc
P
S
Affirmative particulière Quelque homme est blanc
S
P
Négative particulière Quelque homme n est pas
blanc
P
S
47Diagrammes de Venn
Dans l interprétation aristotélicienne, on
présuppose l existence (Il existe au moins un)
laquelle est liée de manière indissoluble
à l universalité (tous)
- Si on sépare les deux (interprétation moderne),
les diagrammes d Euler - ne suffisent plus. Il faut distinguer entre
- - le cas où l on sait que la classe est vide
(avec Venn, hachures) - le cas où l on sait que la classe est non vide
(avec Venn, on met - ne X)
- - le cas où l on ne sait rien sur la classe
(avec Venn, on laisse à blanc)
48Aristote vs les stoïciens
Aristote logique des termes Stoïciens
logique des propositions
49Aristote vs les stoïciens
Aristote Tous les hommes sont mortels Donc tous
les non mortels sont non hommes Tous les A sont
B Donc tous les non B sont non A
Termes ou expressions
Stoïciens S il fait jour, il fait clair Donc
s il ne fait pas clair, il ne fait pas jour. Si
p alors q. Donc si non q alors non p.
Propositions
50Aristote vs les stoïciens
Forme commune aux deux raisonnements une
permutation et un changement de signe Tous les
hommes sont mortels Donc tous les non mortels
sont non hommes SÂ il fait jour, il fait
clair Donc s il ne fait pas clair, il ne fait
pas jour.
Chez Aristote, les unités les plus petites sont
des termes et les symboles logiques sont des
symboles intra propositionnels Chez les
stoïciens, les plus petites sont des propositions
et les symboles logiques sont des symboles inter
propositionnels (connecteurs binaires, négation)
51Les stoïciens, Schémas d inférence (suite)
Non P et Q Or P Donc non Q P ou Q (mais pas
les deux) Or P Donc non Q P ou Q (mais pas les
deux) Or non Q Donc P
52Logique
Bien différencier Prédicat (et proposition) et
Expression
Ca a du sens de vouloir prouver un prédicat, ça
na pas de sens de vouloir prouver une expression.
x x 1 nest pas un prédicat
 Lève toi et marche , nest pas une proposition
Vrai, 1, 4, 9, (Alcofibras Nasier, François
Rabelais), (Romain Gary, Emile Ajar), 5 sont
des expressions
53Logique, attention au vocabulaire
Propositions  Nantes est située sur le
Rhône  2 2 5  21 111Â
Prédicats ! x . x NAT x gt 10 x . x NAT
x gt 10
 Logique combinatoireÂ
Un vocabulaire propre aux  automaticiensÂ
 Logique séquentielleÂ
Et  lillogique cest lautre !
541e, 2e ordre
1e ordre  avoir un chemin de longueur 3 reliant
toute paire de nuds s exprime par  pour
toute paire de nuds x et y, il existe deux nuds
u et v, tels que le nud x est lié au nud u et
que le nud u est lié au nud v et que le nud v
est lié au nud y.Â
55Carré dAristote
Tout les A sont B
Aucun A nest B
E universelle négative
A universelle affirmative
contraires
subalternes
subalternes
contradictoires
Quelques A sont B
Quelques A ne sont pas B
I particulière affirmative
subcontraires
O Particulière négative
56En langage ensembliste
SETS T CONSTANTS A B PROPERTIES A lt T
B lt T
Tous les A sont B A lt B
Aucun A nest B A /\ B
Quelques A sont B A /\ B /
Quelques A ne sont pas B A B /
57En langage des prédicats
Aucun A nest B A /\ B
Tous les A sont B A lt B
not (exists x . X A x B) ou forall x . (x
A gt (x B))
forall X . X A gt x B
Quelques A ne sont pas B A B /
Quelques A sont B A /\ B /
exists x . (x A not x B)
exists x . X A x B
582e ordre
2e ordre  être d un seul tenant n est pas
une propriété du premier ordre.
 pour tous les nuds x et y, il existe des nuds
z1, z2,,zn tels que le nud x est lié au nud z1
et le nud z1 est lié au nud z2 et le nud zn
est lié au nud y.Â
Les ne font pas partie du langage du 1e ordre
59Logique et Ensembles
Un ensemble A est inclus dans un ensemble B si
pour tout élément appartenant à A , cet élément
appartient à B
Langage des ensembles
Langage de La logique
60Prédicat dappartenance
Dudule promo
Dudule
promo
Prédicat dappartenance
61Inclusion
Un ensemble est inclus dans un autre ensemble.
1, 2, 4, 8 lt 1, 2, 3, 4, 5, 6, 7, 8, 9
Un ensemble peut appartenir à un autre ensemble
(qui est alors un ensemble densembles)
1, 2 2, , 1, 2
62Relation
Ensemble de départ
Ensemble d arrivée ou cible (target)
e
1
a
2
b
3
c
4
Codomaine ou range
d
5
domaine
Relation quelconque
63Fonction partielle
e
1
a
2
b
3
c
4
d
5
Fonction partielle
64Fonction totale
e
1
a
2
b
3
c
4
d
5
Fonction totale
65Fonction partielle
e
a
2
b
c
d
5
Fonction partielle surjective
66Totaliser les fonctions
On peut rendre une fonction totale en utilisant
la  valeur nulleÂ
Mais si on suppose quon a une valeur nulle dans
chaque ensemble de base, toutes les fonctions
sont totales et toutes les relations ont leur
domaine qui est égale à lensemble
de Départ. Alors que reste-t-il comme contrainte
? la contrainte de fonctionnalité, dite aussi
 unicitéÂ
67Totalisation dune fonction
e
1
a
2
b
3
c
4
d
5
nulle
Fonction partielle totalisée !
68Bijection
e
1
a
2
3
b
4
c
d
5
Fonction totale surjective Bijection
69Image relationnelle
R1
e
1
a
2
b
3
c
4
d
5
R1 a, b, c 2, 4
Image relationnelle
70Restriction de domaine
R1
e
1
a
2
b
3
c
4
d
5
R1 gt 2, 5 (a, 2), (b, 2), (d, 5)
Restriction de codomaine
71Restriction de domaine
R1
e
1
a
2
b
3
c
4
d
5
a, b lt R1 (b, 2), (c, 4)
Restriction de domaine
72Antirestriction de domaine
R1
e
1
a
2
b
3
c
4
d
5
b, c ltlt R1 (a, 2), (a, 4), (d, 5)
Antirestriction de domaine
73Sac, multi-ensemble
SETS VALEURS_FACIALE VARIABLES
monPorteMonnaie INVARIANT monPorteMonnaie
VALEURS_FACIALE -gt NAT
Bag (Multiset)
74Composition de relations
r1
r2
e
1
x
a
2
y
b
3
z
c
4
w
d
5
r1 r2 r2 o r1
75Variable, ensemble
Ne pas confondre un ensemble et une
variable Promo est une variable qui a comme
invariant dêtre un ensemble détudiants Promo lt
ETUDIANT La valeur de Promo peut changer. On
peut faire Promo Promo \/ dudule dudule,
duchnock, dutif nest pas une variable ! Un
ensemble ne peut être modifié, une variable est
modifiable.
76Qui comprend ?
77Alors, un attribut, cest quoi ?
Cest - soit la valeur dune fonction f(x) -
soit limage relationnelle dune relation r
x
Application de fonction
Image relationnelle
r
f
a
7
a
7
8
b
b
c
f(a) 7
r (a,b 7, 8
78Attribut
- Pour une relation vue sous forme dun tableau
(lignes et colonnes) - Attention de ne pas tout mélanger !
- nom dune colonne
- valeur dune  caseÂ
- valeur de plusieurs cases (ex valeur des
numéros produits - commandés sur une commande donnée)
79Valeur vs objet
Encore complication ! Un peu de théorie
élémentaire. Essentiel si on ne veut pas
compliquer
Différence entre prédicat et expression
80Différence entre prédicat et expression
Un prédicat se prouve. On peut prouver quil est
faux.
Nantes est sur la Loire Dudule est lamant
dHuguette 5 8 1, 2, 3 lt 1, 2, 3, 4, 5 2
1, 2, 3
Ce na pas de sens de vouloir prouver une
expression
1, 2, 3 8 Dudule Sophia-Antipolis
(1, b), (4, b), (7, c)
vrai faux
81Valeurs
On peut appeler les expressions des valeurs.
En B, on passe dun prédicat à une expression,
ainsi bool (5 9) faux LAtelier B
différencie bfalse qui représente le prédicat
toujours faux (par exemple, 65) et FALSE qui est
une expression.
Pourquoi distinguer valeur et objet ?
82 Vous savez pourquoi ça n'intéresse pas les gens
? Parce que ce ne sont pas des événements. Ce
sont des anecdotes! Première anecdote La main
de ma soeur. Deuxième anecdote Une
culotte. Troisième anecdote Un
zouave. Seulement, si vous prenez la
première... que vous la glissiez dans la
deuxième qui appartient au troisième... Vous
obtenez un événement sur lequel on n'a pas fini
de jaser ! R. Devos
83Un nom peut devenir valeur !
84Attribut devenant valeur !
85Triplets objet, attribut, valeur
Attribut relation binaire d un ensemble
d objets vers un ensemble de valeurs
Objets
Attribut couleur
Valeurs
voiture veste vélo chapeau
bleu rouge vert jaune noir
aPourCouleur
86Triplets O-A-V
Objet
Valeur
Attribut
Objet
Sujet
Prédicat
Objet
Ressource
Propriété
87Le langage LEAP (Feldman, Rover, 1969)
A.O V fils.Jean Melle Henri Melle l assoc.
Si dans la base A.O x fils.Jean Melle x fils
de Jean Melle A.x V fils.x Henri Melle père
de Henri Melle x.O V x.Jean Melle Henri
Melle nom de la relation entre Jean Melle
et Henri Melle A.x z fils.x z tous les
couples père-fils de la base x.Z V x.z
Henri Melle Toutes les associations ayant
Henri Melle comme 3e composant x.O
z x.Jean Melle z Toutes les
associations ayant Jean Melle comme 2e
composant x.y z x.y z Toutes les assoc de
la base
88Langage et métalangage
Huguette, mange ta soupe ! Oui maman ! Huguette,
range la table ! Oui, maman ! Huguette, arrête de
dire  Oui maman ! Oui maman !
89Langage et métalangage
Cest complètement fou Le mot court est plus
long que le mot long !
Cest complètement fou  Le mot court est plus
long que le mot long !
Cest complètement fou  Le mot court est plus
long que le mot longÂ
90Combien ?
91Objet, où es-tu ?
" Revenons à une situation décrite par Spade
jai devant moi deux stylos à bille noirs. Le
point crucial est combien de couleurs vois-je ?
Deux réponses soffrent. La première je vois
une seule couleur la noirceur (blackness) qui
est " simultanément partagée par les deux stylos
ou commune aux deux " -, une seule et même
couleur donc, bien quinhérente à deux choses
distinctes et présente en même temps en deux
endroits différents. Cette position, ce que Spade
appelle " croire aux universaux ", est le
réalisme admettre que des " entités
universelles " comme la noirceur sont partagées
par toutes les choses qui présentent une même
propriété (ici, être noires) et quà ce titre
elles leur sont communes.
922 crayons, et pourquoi pas 2 couleurs ?
A lopposé, évidemment, le nominalisme est
caractérisé comme celui qui voit deux noirceurs,
autant de noirceurs que de stylos. Deux noirceurs
qui sont " semblables ", certes, mais qu " il
suffit de regarder pour voir quelles ne sont pas
et nen restent pas moins deux noirceurs ".
Ainsi illustré, le problème des universaux est
simple y-a-t-il ou non deux couleurs dans les
stylos de P.V. Spade ? " Le réalisme et le
nominalisme sont les deux principales réponses Ã
cette question. " () " le réaliste est celui,
qui voyant la noirceur partout où il y a des
choses noires, en conclut quil y a en chacune la
même " entité universelle ". Alain de Libera in
La querelle des universaux, Seuil, 1996, p. 18-19
93Roméo et Juliette
 Ce que nous nommons Rose Sous un tout autre nom
sentirait aussi bon. Et ainsi, Roméo,
sil ne sappelait pas Roméo, garderait cette
chère perfection Quil possède sans titre. Oh !
retire ton nom Et pour ton nom qui nest aucune
partie de toi Prends-moi toute entière ! (La
Pléiade, 1950, cité par J. Arsac )
94Sémiologie
Stoïciens
Semainomenon ce qui est exprimé, ou contenu,
qui ne représente pas une entité physique
signifié
référent
signifiant
Tynchanon Objet auquel on se réfère, entité
physique ou événement ou action
Seimainon expression perçue comme
entité physique
95Le nom
 Socrate Il nappartient donc pas à tout homme,
Hermogène, détablir des noms, mais à un faiseur
de noms et celui-là , cest semble-t-il, le
législateur, de tous les artisans le plus rare
parmi les hommes. () Et celui qui sait
interroger et répondre, lappelles-tu autrement
que dialecticien ? Ainsi () le travail du
législateur, (consiste), semble-t-il, Ã
établir le nom sous la direction du dialecticien,
sil veut établir les noms con- venablement
() Il y a donc des chances, Hermogène, pour que
linstitution des noms ne soit pas une petite
affaireÂ
Platon, Cratyle
96Sémiologie
Stoïciens
Idée, concept de cheval  chevalÂ
signifié
référent
signifiant
Tous les chevaux existant, ayant existé, qui
existeront
/cheval/
97Les stoïciens Platon --gt Aristote --gt
Théophraste --gt les Mégarites et les Stoïciens
98Sémiologie
Existant, ayant existé, qui existeront ? !
 licorneÂ
signifié
référent
signifiant
/licorne/
Ensemble vide !  le référent licorne n a jamais
eu d existence réelleÂ
99Sémiologie
Exister ? Etre vivant (biologie ?) NÂ y a-t-il
pas un objet qui existe bien et qui est la
licorne ? Allez voir la tapisserie de la Dame Ã
la licorne au Musée du Moyen Age à Paris
! Pourquoi toutes les licornes peintes,
sculptées, tissées ne seraient-elles pas des
référents ? Les licornes n existeront plus le
jour où on aura détruit toutes les licornes,
qu il n y aura plus aucune trace de licornes
dans les livres, musées, etc. Quand la licorne
aura disparu de la mémoire de l humanité.
100Sémiologie
Exister ? Etre vivant (biologie ?) NÂ y a-t-il
pas un objet qui existe bien et qui est la
licorne ? Allez voir la tapisserie de la Dame Ã
la licorne au Musée du Moyen Age à Paris
! Pourquoi toutes les licornes peintes,
sculptées, tissées ne seraient-elles pas des
référents ? Les licornes n existeront plus le
jour où on aura détruit toutes les licornes,
qu il n y aura plus aucune trace de licornes
dans les livres, musées, etc. Quand la licorne
aura disparu de la mémoire de l humanité.
101Marco Polo et la licorne
" Marco Polo , arrivant à Sumatra, voit (mais
c'est à présent que nous le comprenons) des
rhinocéros. Il s'agit d'animaux qu'il n'a jamais
vus. Par analogie avec d'autres animaux connus,
il en distingue le corps, les quatre pattes et la
corne. Or, sa culture mettait également à sa
disposition la notion de licorne, laquelle était
justement définie comme un quadrupède avec une
corne sur la tête. Marco Polo désigne donc ces
animaux du nom de licornes.
Partie de la tapisserie de la Dame à la licorne,
Musée de Cluny, Paris
102La licorne de Davis et Hersh
Vous pensez donc je suis
103Marco Polo et la licorne
Puis il s'empresse, chroniqueur honnête et
pointilleux, de nous dire que ces licornes sont
néanmoins fort étranges, c'est-à -dire bien peu
spécifiques, puisqu'elles ne sont pas blanches et
élancées mais ont "le même poil que le buffle,
les pieds comme les éléphants", la corne est
noire et disgracieuse, la langue épineuse et la
tête semblable à celle d'un sanglier. Marco Polo
semble prendre une décision plutôt que de
segmenter encore le contenu en ajoutant un nouvel
animal à l'univers des vivants, il corrige la
description en vigueur des licornes, qui, si
elles existent, sont donc telles qu'il les a vues
et non telles que la légende le raconte. Il
modifie l'intention et laisse l'extension en
suspens. " Umberto Eco, Kant et
l'ornithorynque" (Grasset, 1997)
104Etre ?
 Sur la question de savoir si lon peut accepter
les morts comme membres des académies ?Â
Lichtenberg
105Sémiologie
Signifié interprétant (Pierce) sens
(Frege) intension (Carnap) designatum (Morris,
1938) signficatum (Morris, 1946) concept
(Saussure) connotation (Stuart Mill) image
mentale (Saussure, Pierce) contenu
(Hjelmslev) état de conscience (Buyssens)
référent
signifiant
106Sémiologie
signifié
Référent objet (Pierce) denotatum
(Morris) Bedeutung (Frege) dénotation
(Russell) extension (Carnap)
signifiant
Qu est ce que le signe ? Ce qui est à gauche ?
107Sémiologie
signifié
référent
Signifiant (Saussure) signe (Pierce) symbole
(Ogden(Richards) véhicule du signe
(Morris) expression (Hjelmslev) representamen
(Pierce) sème (Buyssens)
108De Saussure le signe linguistique
Unité à deux faces Le signifiant et le signifié
Extrait du Cours de Linguistique Générale
109Sémiologie
Linguistique
signifié
référent
signifiant
110Sémiologie
Signifiant  aliquid stat pro aliquoÂ
 Something which stands to somebody for
something in some respect or capacity  Quelqu
e chose qui tient lieu pour quelqu un de quelque
chose sous quelque rapport ou à quelque
titre Pierce
111Sémiologique
Sémantique le signe dans sa relation à ce
qu il signifie syntaxe pragmatique le signe
est perçu en fonction de ses origines, et des
effets qu il a sur ses destinataires Rhétorique
112(No Transcript)
113Modèle
- Deux sens
- Premier sens
- interprétation attribution d'un sens à des
énoncés formels de sorte qu'ils soient vérifiés - La géométrie devient un modèle d'un langage
formel, plutôt que la formalisation de propriétés
idéalisées à partir d'observation de l'espace
sensible.
114Modèle
- Etude des relations entre ensembles d'énoncés et
ensembles de modèles de ces énoncés. - Un modèle d'un énoncé fait dans un langage formel
est une interprétation (association d'un sens
aux symboles du langage formel) où cet énoncé est
vrai. - Deuxième sens
- associer à une "réalité empirique" un énoncé
formel. - Minsky Un objet O est un modèle d'une réalité R
si O permet des répondre aux questions que l'on
se pose sur R.
115Modèle et interprétation
- " les deux sens du concept de modèle ne sont que
les deux faces complémentaires d'une même
activité interpréter - Interpréter est inéluctable, qu'il s'agisse
- d'interpréter un formalisme, ou, inversement
- d'interpréter mathématiquement un ensemble de
données. - D'une part, parce qu'un langage qui n'aurait pas
de modèle n'a aucun intérêt, d'autre part et
réciproquement, parce que l'expression n'est pas
le miroir de l'expérience." - Hourya Sinaceur
116Abstraction comme idéalisation
Physique (réel)
Mathématique (idéal)
Idéalisation Construction de modèle
Objet idéal
Objet réel
Déduction mathématique
Vérification dans le monde réel
Implication pour le monde réel
117Abstraction comme extraction
Quont en commun ces deux figures ?
118Abstraction comme extraction
La porte A conduit à deux couloirs B et C etc.
D
E
F
J
B
E
H
S
H
O
S
I
G
D
J
G
A
C
B
C
F
I
A
O
Davis et Hersh, Lunivers mathématique,
Gauthier-villars, 1985
119Abstraction comme extraction
De A Ã B, un seul couloir, de B Ã C, deux
couloirs
A
B
E
F
C
D
R ((A, B), 1), ((B, C), 2), ((C, D), 2), ((D,
E), 2), (E, F), 1)
Cette relation R POINT POINT -gt NAT1 peut
être représentée par une matrice où R gtgt ran (R)
((POINT POINT) - dom (R)) --gt 0 appelée
matrice dincidence
120Spécifier
- Attention ! Spécifier nest pas dessiner des
boîtes et - des flèches (boxologie)
- Il faut
- Une syntaxe formelle
- Une sémantique formelle (qui peut être
dénotationnelle ou - opérationnelle
Spécifier nest pas écrire un algorithme. Mais on
passe de la Spéc au programme en prouvant le
raffinage.
121Boxologie
122Complication
Jules est à côté de Paul.  à côté de Paul"
serait l'attribut de Jules ?! Et pourquoi pas
"à côté de Jules" l'attribut de Paul ?
123Théorie des ensembles
Prédicat dappartenance Ensembles de base Produit
cartésien Ensemble des sous-ensembles
Rappel À gauche du signe dappartenance, si on
a un ensemble, Ã droite on a un ensemble
densembles. A gauche du signe dappartenance, si
on a un ensemble densembles à droite, on a un
ensemble densemble densembles
124Axiome de fondation
Partant dun ensemble, si on prend un de ses
éléments (une boîte) Et quon prend un élément
dedans (une boîte), Et quon prend un élément
dedans cette boîte, etc. On est obligé de
sarrêter. On arrive à un niveau où lon ne peut
plus décomposer. Cet axiome interdit quun
ensemble puisse se retrouver à lintérieur de
lui-même. X X
125Typage
 Dans un village dAndalousie, le barbier rase
toutes les personnes Qui ne se rasent pas
elles-mêmes Qui rase le barbier ?
126B. Russell
127Ceci nest pas une pipe (Magritte)
128Invariant
MACHINE MDBS SETS ETUDIANT GROUPE g1, g2,
g3 VARIABLES promo , estMembreDe INVARIANT
promo lt ETUDIANT estMembreDe promo -gt
GROUPE INITIALISATION promo estMembreDe
129Ensembles de base
On construit tout ensemble en partant des
ensembles de base
Vous êtes habitués par vos profs de maths Ã
écrire Soient les ensembles A, B, C
Ensembles donc constantes ! Incommensurables. On
na pas le droit décrire A /\ B ou encore A \/
B
Sécrit en B SETS A B
130Produit cartésien et POW
On construit des ensembles à laide du produit
cartésien () et de lensemble des sous-ensembles
(ens. des parties) POW
Attention ! Ne pas confondre un élément dun
ensemble de base et un ensemble.
131Eléments des ensembles de base
SETS DEPARTEMENT COMMUNE VARIABLES
communes, départements, estDans INVARIANT
communes lt COMMUNE départements lt
DEPARTEMENT estDans communes --gtgt
départements
132SETS
SETS COMMUNE VARIABLES communes,
départements INVARIANT communes lt COMMUNE
départements lt POW (COMMUNE)
Un département est un ensemble de communes. On ne
décider de créer deux nouveaux départements sans,
en même temps, décider de communes qui le
constitueront. Rien ne distingue un ensemble vide
de communes dun autre !
1331ière forme normale de Codd
Quest-ce quune relation n-aire (Ã la Codd) en
Première forme normale ?
Une relation dont les constituants prennent pour
valeur des éléments densembles de base
134Et une relation n-aire ?
schéma d'une relation Personne (N personne,
Nom de Personne, ville de naissance, ville
d'études) attributs de la relation N
personne, Nom, ville de naissance, ville
d'études ville de naissance et ville d'études
ont le même domaine VILLE
Personne lt NAT NOM VILLE VILLE
135Regroupement de fonctions binaires
aPourN PERSONNE-gt NAT / Npersonne
ran (aPourN) / aPourNom PERSONNE -gt
NOM / Nom de Personne ran (aPourNom) /
estNéA PERSONNE -gt VILLE / ville de
naissance ran (estNéA) / faitSesEtudesA
PERSONNE -gt VILLE / ville d'études ran
(faitSesEtudesA) /
136La méthode B
Son auteur Jean-Raymond Abrial Cest lui qui a
conçu la notation Z, Puis B Qui est la méthode
qui a fait lobjet du plus grand nombre
de communications à la conf mondiale sur les
méthodes formelles Un succès le logiciel
sécuritaire du métro automatique Meteore. De la
spec au code avec preuve mathématique.
137Une machine abstraite
Une interface des  boutons , des noms
dopération avec paramètres dentrée, de sortie
Variables avec un invariant Constantes avec
propriétés
Un état encapsulé
op3
op1
op4
op2
Initialisation Corps des opérations
138Machine abstraite
MACHINE (paramètres) CONSTRAINTS prédicat sur
les paramètres SETS ensembles de
base CONSTANTS liste des constantes PROPERTIES p
rédicat sur les constantes VARIABLES liste des
variables
INVARIANT prédicat sur les variables INITIALISA
TION pour sassurer que notre spec a un
modèle OPERATIONS préconditionnées ou gardées
END
139Autres types de machines
En B, on a aussi des REFINEMENT des
IMPLEMENTATIONS Tout le développement est
assisté par la preuve.
1402 variables
INVARIANT promo lt ETUDIANT estMembreDe
promo -gt GROUPE
VARIABLES estMembreDe, promo
ETUDIANT
GROUPE
estMembreDe
g1
promo
g2
g3
141Pré-condition (PRE)
MACHINE MDBS SETS ETUDIANT GROUPE g1, g2,
g3 VARIABLES promo ,estMembreDe INVARIANT
promo lt ETUDIANT estMembreDe promo -gt
GROUPE INITIALISATION promo estMembreDe
OPERATIONS ajoutMembre (ee, gg) PRE
ee promo gg GROUPE ee / dom
(estMembreDe) THEN estMembreDe estMembreDe \/
ee -gt gg END
142Précondition (La porte)
Ici la précondition est toujours vraie
MACHINE MaPorte SETS ETAT ouverte,
fermée VARIABLES étatMaPorte INVARIANT
étatMaPorte ETAT INITIALISATIOn étatMaPorte
ETAT
OPERATIONS ouverture étatMaPorte
ouverte fermeture étatMaPorte
fermée Rep lt-- quelEtat Rep
étatMaPorte END
Voir différence avec la garde
143On peut ne pas respecter la pré-condition
Une pré-condition est une pré-condition
demploi. Rien ne vous empêche de ne pas
respecter la pré-condition. Mais vous êtes
prévenus. Si vous voulez que lopération fasse ce
que dit son nom, il faut respecter la
pré-condition. Ex. Si vous ne respectez pas la
pré-condition de la division, (ne pas donner un
diviseur 0) vous naurez pas une fonction
division.
144Crash !
La pré-condition dune opération nest pas dans
le code de cette opération. Ce nest pas alors
que vous avez sauté par la fenêtre quil
faut exécuter  si fenêtre à plus de 5 mètres, ne
pas sauter Trop tard Cest le crash !
Comme pour Ariane 5. Qui est sorti du domaine
du vol. (voir notion de domaine dune relation)
145Le crash dAriane 5
Accélération min4..max4
Ariane 4
x min4..max4
Fonction de conversion de A4
y
146Ariane 5
Accélération min5..max5
Non respecté car max5 gt max4
x min4..max4
Fonction de conversion de A4
Levée dune exception
y
Commutation sur un autre calculateur et exécution
de la même fonction
147La chuteaprès la faute !
Copie du composant B
y code erreur
Composant B
Braquage tuyères
148La garde (SELECT)
La garde empêche deffectuer lopération. Quand
on raffine on renforce la garde, on étire le
temps. Si nous avons le temps, nous parlerons du
 B événementielÂ
OuvrirPorte SELECT etatPorte fermee THEN
etatPorte ouverte END
149Un événement
Est spécificié en B événementiel comme une
opération gardée
OuvrirPorte SELECT etatMaPorte
fermee THEN etatMaPorte ouverte END
Ouverture PRE etatMaPorte fermee
THEN etatMaPorte
ouverte END
Précondition plus forte que ce quimpose linvaria
nt !
150Calcul de la WPC
x x 1 (x lt 100) x 1 lt 100 ltgt x lt 99
x, b b, a (a lt b) alt a
Plus faible pré-condition (Dijkstra)
x y z k (x gt k) y gt k
151Indéterminisme
MACHINE MDBS SETS ETUDIANT GROUPE g1, g2,
g3 VARIABLES promo ,estMembreDe INVARIANT
promo lt ETUDIANT estMembreDe promo -gt
GROUPE INITIALISATION promo estMembreDe
ajoutEtudiant PRE ETUDIANT promo /
THEN ANY ee WHERE ee ETUDIANT promo
THEN promo promo \/ ee END
152Définitions
MACHINE MDBS SETS ETUDIANT GROUPE g1, g2,
g3 VARIABLES promo ,estMembreDe INVARIANT
promo lt ETUDIANT estMembreDe promo -gt
GROUPE INITIALISATION promo estMembreDe
Une définition nest pas une variable !
DEFINITIONS groupesAffectés ran (estMembreDe)
153Ce quest une spéc abstraite
- Une spécification abstraite
- nest pas exécutable
- peut être indéterministe
- les opérations peuvent être pré-conditionnées
- - pas de séquencement
- Intérêt ?
154Pré-condition
- La pré-condition permet
- dexpliciter lopération par ses conditions
dexécution - de prouver que, si lon appelle lopération sous
sa - pré-condition, linvariant est respecté
- Bien sûr, la preuve est relative aux
 propriétés exprimées dans - linvariant. Si invariant  léger , on ne
prouvera pas grand chose !
155Conjecture
Salle des Illustres Capitole, Toulouse
156Démonstration de 2 1
Axiome a b
Multiplions chaque terme par a a2 ab
Ajoutons à chaque terme, a2 - 2 ab
a2 a2 -2ab ab a2 - 2ab
Ce qui se simplifie 2 (a2 - ab) a2 - ab
Divisons pour finir les deux termes par a2 - ab
2 1
157La preuve
Il ny a pas de solution en nombres entiers pour
xn yn zn quand n gt 2
La preuve du théorème de Pythagore
Andrew Wiles et la preuve de la conjecture de
Fermat
158La méthode Shadok
159Combien de chemins ?
160Nombre de chemins 1014
220 51951 Où 5 est le nombre de chemins dans
le corps de la boucle. 10 000 000 000 000 0
chemins ! Et tester les chemins nest quune des
stratégies de test ! Et une stratégie ne couvre
pas tous les cas !
G.J. Myers, The Art of Software Testing
161Obligation de preuve
Pré-condition Invariant gt Substitution
Invariant
INVARIANT x lt 100 OPERATIONS incrémentation
PRE x lt 100 THEN x x 1 END
Calcul de pré-condition x x 1 (x lt 100)
x 1 lt 100 ltgt x lt 99
162Ex-falso quodlibet
P or Q ? not P gt Q P ? Q ? (P gt Q) (Q
gt P)
btrue or Q ? btrue Daprès la définition du
or, on a btrue or Q ? not (btrue) gt Q
? bfalse gt Q Donc il faut considérer que
bfalse gt Q est toujours vrai.
163To be or not to be !
Idem non esse et non probari Ne pas être ou ne
pas être prouvé, c'est tout un.
164De la logique à linformatique
x x 1 (x lt 10) se lit  la substitution
de x 1 à x dans (xlt10) établit que (x lt 10).
Cest la plus faible précondition.
Les axiomes des substitutions généralisées
x E P P E/x x, y E, F P PE, F/x,
y skip P P PRE P THEN SI P I gt S
I Préconditionnée SELECT P THEN S I P gt S
I Gardée CHOICE S OR T I S I T I Choix
indéterministe IF E THEN S ELSE TI (E SI)
or (not E T I)
165Le raffinage
- On réduit lindéterminisme
- On affaiblit les pré-conditions
- On renforce les gardes
- 4) On sapproche de la machine concrète
- Avec introduction de
- - du séquencement et donc de la boucle
Et on prouve que le raffinage se fait en
respectant les fonctionnalités
166Raffinage
167Raffinage
Avant
Réduction indéterminisme
Après
I
Abstrait
I
Opération S
J
J
Opération T
Concret
I J P gt Q T not S not J
168Laurent Ruquier
Formalisation en B i.e. avec logique et notation
ensembliste
Ladministration aura désormais deux mois pour
répondre au courrier des usagers les
fonctionnaires ont choisi juin et novembre !
Laurent Ruquier, Le Mois par moi, débloque
notes II, Michel Laffon, 1997
169Laurent Ruquier
SETS MOIS VARIABLES moisDeRéponse INVARIANT moi
sDeRéponse lt MOIS card (moisDeRéponse)
2 instanciation moisDeRéponse juin,
novembre
170Laurent Ruquier
SETS MOIS COURRIER VARIABLES dateReception,
dateReponse, courriersReçus INVARIANT courriersRe
çus lt COURRIER dateReception courriersReçus
--gt NAT dateReponse courriersReçus -gt NAT
! (d1-gt d2) . (d1-gt d2) dateReception
dateReponse gt (d2 - 60) lt 60
171La notation UML
utilisons le concept densemble (une
relation est un ensemble) et évitons les
problèmes connus pendant 20 siècles !
172Une mauvaise notation (OMT)
Rappel une information réduit le champs des
possible. Cest une contrainte.
A
B
A
B
A gt-gtgt B
A gt--gt B
A
B
A
B
A gt-gt B
A --gt B
A
B
A lt--gt B
173Une mauvaise notation
Avec cette notation, plus il y a de contrainte,
moins on a de signifiants ! Imaginez la même
chose pour le code de la route ou pour un un code
de droit !
174Le progrès ?
 C'est vrai, nous devons avoir quelque part, un
outil à dessiner des boîtes et des flèches qui
s'appelle MEGA. Autrefois il dessinait des
rectangles et des ovales (MERISE) aujourd'hui
c'est pire, il y a toutes sortes de boîtes et
flèches (c'est de l'UML). Inutile de dire que
cela n'apporte rien en terme de réflexion sur un
développement informatique. Il y a des personnes
qui trouvent cela bien car ils remplissent des
pages de dessins et quand on leur demande d'en
donner la signification précise, on entend tout
et n'importe quoi. Bien sûr, le programmeur ne se
sert absolument pas de ces dessins, mais il fait
semblant pour que tout le monde soit satisfait
... Cela doit être le progrès. Monsieur X,
Chef de projet dans un gros service informatique
175Notation UML
1
1
A
B
R ( A, B)
A gt-gtgt B
R1(A, B) R2 (B)
0..1
1
A
B
A gt--gt B
R1 (A, B) R2 (A) R3 (B)
A
B
0..1
0..1
A gt-gt B
176Au secours !
Voici ce que lon trouve dans un livre plusieurs
fois réédité relatif à UML (P-A Muller, N.
Gaertner, Modélisation avec UML, Eyrolles). Le
texte suivant est même assez souvent cité tel
quel!  Qualification des associations  La
qualification des associations, aussi dénommée
restriction dune association, consiste Ã
sélectionner un sous-ensemble dobjets parmi
lensemble des objets qui participent à une
association. La restriction est réalisée au moyen
dun tuple dattributs particuliers, appelé
qualificatif ou clé, qui est utilisé
conjointement avec un objet de la classe
source. Le qualificatif est placé sur lextrémité
dassociation au niveau de la classe source, dans
un compartiment rectangulaire. Le qualificatif
appartient pleinement à lassociation et non aux
classes associées. Linstanciation dune
association qualifiée définit le nom des objets
source et destination, et la valeur du
qualificatif. Ainsi, chaque instance de la classe
A, accompagnée de la valeur du qualificatif,
identifie un sous-ensemble des instances de B qui
participent à lassociation. La qualification
partitionne lensemble darrivée et réduit ainsi
la multiplicité de lassociation. La paire
(instance de A, valeur du qualificatif) identifie
un sous-ensemble des instances de B. La
restriction dune association peut être opérée en
combinant les valeurs des différents attributs
qui forment le qualificatif. Â
177 association qualifiée ?!
Bât
estDans
estDans salle --gt Bât
salle
U
NAT
aPourN
aPourN salle --gt NAT
estDans gtlt aPourN salle gt--gt Bât NAT
bâtiment
salle
Salle (n)
178Manufacturer
Bottle
product(Date)
Size Number
SETS BOUTEILLE FABRICANT DATE INVARIANT
fabricants lt FABRICANT bouteilles lt
BOUTEILLE aEtéProduitePar bouteilles --gtgt
fabricants aEtéProduiteLe bouteilles --gtgt
DATE aPourTaille bouteilles -gt NAT
aEtéProduitePar gtlt aEtéProduiteLe bouteilles
gt--gt fabricants
179 satecharts en B
Deux solutions 1) avec étati lt
mesObjets étati étant lensemble des objets dans
létat i autant de variable Etati que létats
types i 2) aPourEtat mesObjets --gt ETATS
Et pour chaque solution, - soit B classique -
soit B événementiel
180 satecharts en B, solution 1
ETAT1
ETAT2
Trans1(p)garde/actions
état1 est une variable dont la valeur est
l ensemble des objets qui sont dans lEtat1
Trans1 (o, p) PRE garde o ETAT1 p
T THEN état1 état1 o état2
état2 \/ o actions END
181 statecharts en B, sol 1
Objets dans létat 1 état1
Objets dans létat 2 état2
transition
Trans1(p)garde/actions
ETAT1
ETAT2
182 statecharts en B, sol 2
aPourEtat mesObjets --gt ETATS
Objets dans létat 1
aPourEtat ETAT1
Trans1(p)garde/actions
ETAT1
ETAT2
1831e solution, B événementiel
ETAT1
ETAT2
Trans1(p)garde/actions
La transition ne peut avoir lieu si lobjet o
nest pas dans le bon état et que la garde nest
pas satisfaite.
184En B événementiel
Trans1 ANY o, p WHERE o mesObjets p
T THEN SELECT garde o état1 THEN ét
at1 état1 o état2 état2 \/ o
actions END END
185 satecharts en B, solution 2
ETAT1
ETAT2
Trans1(p)garde/actions
aPourEtat mesObjets --gt ENS_D_ETATS ETAT1
ENS_D_ETATS ETAT2 ENS_D_ETATS
état1 de la solution 1 est défini comme état1
aPourEtat ETAT1
186 satecharts en B, solution 2
ETAT1
ETAT2
Trans1(p)garde/actions
aPourEtat mesObjets --gt ENS_D_ETATS
Trans1 ANY o, p WHERE o mesObjets
aPourEtat (o) ETAT1 p T SELECT
garde THEN aPourEtat (o) ETAT2
actions END
187Automates de Harel en B
Dans ce qui suit nous utiliserons une
présentation avec B classique. i.e. avec des
préconditions et non des gardes
188Automates de Harel en B
S1
Sn
SETS SS S1, , Sn VARIABLES ss INVARIANT ss
SS INITIALISATION ss S1
189Initialisation indéterministe
S1
Initialisation indéterministe
Sn
ss SS
190Transition
E
S1
S2
E IF ss S1 THEN ss S2 END
191Plusieurs transitions, même évt
E
S1
S2
E
Si
S
OPERATION E CASE ss OF EITHER S1 THEN ss
S2 OR Si THEN ss ss END
192Action sur événement
E/act
S1
S2
OPERATIONS E IF ss S1 THEN ss S2
act END
193Action sur initialisation
/act
S1
INITIALISATION ss S1 act
194Condition sur transition
E cond/act
S1
S2
OPERATIONS E IF ss S1 cond THEN
ss S2 act END
195Conditions sur plusieurs trans.
Econd1/act1
S1
S1
S1
Econdi/acti
OPERATIONS E SELECT ss S1 cond1 THEN ss
S1 act1 WHEN ss S1 condi THEN ss
Si acti ELSE skip END
196Transition avec paramètre
E(para) cond/act
S1
S2
OPERATIONS E (para) IF ss S1 cond
THEN ss S2 act END
197Transitions simultanées
S1
E(para) IF ss S1 cond1 cond2 THEN ss
S3 act1 act2 END
E(para) cond1/act1
S2
cond2/act2
S3
198Entrée dans super état
E
S1
R1
R2
S2
SETS SS S1, S2 RR R1, R2 VARIABLES ss,
rr INVARIANT ss SS rr RR OPERATIONS E
IF ss S1 THEN ss S2 rr R1 END
199Etats indépendants simultanés
S1
R
Q
Q1
R1
Qn
Rm
VARIABLES ss, qq, rr INVARIANT ss SS qq
QQ rr SS
SETS SS S1,, Sn QQ Q1,.., Qn RR
R1,, Rm
200Transition vers deux sous-états
S1
Q1
Qn
S1
R1
Rm
OPERATIONS E IF ss S1 THEN ss S2 qq
Q1 rr R1 END
2012 transitions dans 2 états conc.
S1
E
Q1
Q2
OPERATIONS E BEGIN IF qq Q1 THEN qq
Q2 END IF rr R1 THEN rr R2
END END
E
R1
R2
202Communication
- Communication entre états concurrents
- Les états concurrents peuvent communiquer par
variables globales. - Les var. globales peuvent être mises à jour dans
les actions et lues - dans les actions et les conditions
- 2) La condition ou laction dune transaction
peut dépendre du sous- - état concurrent dun état concurrent
- 3) Les états concurrents peuvent communiquer par
diffusion des - événements. Sur la diffusion dun événement, tous
les états - concurrents réagissent simultanément.
203Génération des événements
- Les événements sont
- soit générés de manière interne à travers une
diffusion - soit générés extérieurement par lenvironnement
- En B, la diffusion dun événement, est exprimée
par lappel de lopé- - ration pour cet événement
E1/E2
S1
S2
OPERATIONS E IF ss S1 THEN ss S2 E2
END
204MACHINE M SETS PQ, R S T, U, V W
X, Y VARIABLES p, s, w INVARIANT pP sS
wW INITIALISATION p Q s T w
X DEFINITIONS
S
Q
T
U
E
E
H
R
V
F/G
P
W
G/H
X
Y
E
(Q, T, X) -E--gt (R, U, X)
(R, U, X) - E --gt (Q, V, Y)
HH IF pR THEN p Q END GG IF w X THEN
w Y END