mercredi 27 juin 2007

Corrigé des questions du PT 2007

Corrigé

1)
Il existe des langages de programmation
sans variables.

1.1) citez-en un (ou le nom d'un type
de langage entrant dans cette

catégorie)
Langages fonctionnels, exemple : Caml
1.2) quels en sont les concepts essentiels ?
fonctions, composition de fonctions,
application de fonctions


2)
Il existe des langages de spécification
sans variables.

21) B est-il sans variables ?
non.
Il existe des langages de spécification
qui sont fondamentalement sans

variables, même s'ils sont parfois mixtes
(i.e. utilisent des

variables).
2.2) Citez celui que vous avez utilisé à
l'IUT

FSP avec l'atelier LTSA
2.3) Qu'est-ce qu'un état défini en termes
des concepts de ce langage.

Donnez un exemple illustratif.
Un état est un comportement possible.
Exemple de la lampe :
ETEINTE = (tirage -> ALLUMEE),
ALLUMEE = (tirage --> ETEINTE).
Les états sont ETEINTE et ALLUMEE.

3) Prenez l'exemple de la lampe que
l'on allume en tirant une ficelle et

que l'on éteint en retirant la ficelle
pour illustrer les concepts :

3.1) d'événement
ce qui entraîne un changement d'état.
tirage de la ficelle

3.2) d'état
un comportement possible. Ici dans
l'état ETEINTE, on ne peut que tirer

sur la ficelle. Idem d'ailleurs pour
l'état ALLUMEE.

3.3) utilisez cet exemple que vous
spécifierez en B classique et en B

événementiel (Invariant et les
opérations allumer et éteindre) et en FSP

pour illustrer vos réponses à la question 2.
MACHINE
lampeClassique
SETS
ETAT = {allumee, eteinte}
VARIABLES
etatLampe
INVARIANT
etatLampe : ETAT
INITIALISATION
etatLampe := eteinte
OPERATIONS
allumer =
etatLampe := allumee;
eteindre =
etatLampe := eteinte
END

MACHINE
lampeEvénementiel
SETS
ETAT = {allumee, eteinte}
VARIABLES
etatLampe
INVARIANT
etatLampe : ETAT
INITIALISATION

etatLampe := eteinte
OPERATIONS
allumer =
SELECT etatLampe = eteinte THEN
etatLampe := allumee
END;
eteindre =
SELECT etatLampe = allumee THEN
etatLampe := eteinte
END
END

FSP

ETEINTE = (tirage -> ALLUMEE),
ALLUMEE = (tirage --> ETEINTE).

ou sans expliciter les états :
LAMPE = (tirage -> LAMPE).


3.4) Fournir le diagramme de transition
d'état étiqueté du comportement

de la lampe.
Deux ronds étiquetés l'un par allumée
et l'autre par éteinte.
Des flèches entre les ronds :
- une de éteinte vers allumée
- une de allumée vers éteinte
-selon l'état initial choisi,
une flèche pointant sur un des
ronds et n'ayant pas
de rond au départ de la flèche.
Flèche étiquetées chacune par tirer

4) Soit le texte suivant :
(Il s'agit du percement du tunnel
sous le Mont-Blanc) " [...] C'est

pourquoi, à cette époque, on avait
envisagé que sur les 12 600 mètres de

longueur totale du tunnel, les Italiens
perceraient 6 750 mètres de

galerie et les Français 5 850 mètres,
afin que la rencontre s'effectue

au
même moment." (Article paru dans
L'Economie, n° 826, 14 juin 1962).

4.1) Vos remarques pertinentes
Se rencontrer en même temps est un pléonasme !
Tant que l'autre n'est

pas au rendez-vous, la rencontre n'a pas
lieu (la communication) !

4.2) Utilisez-le pour illustrer le type
de communication qui est utilisé

en FSP (LTSA) et en CCS
C'est le rendez-vous qui est utilisé en FSP.
La communication s'y fait

lorsqu'on trouve le même nom d'événement
dans la spécification de deux

processus.

4.3) Quel est le nom donné à ce type
de communication ?

communication par rendez-vous (synchronisme)
4.4) Donnez un exemple d'un système
ayant un verrou fatal (spécifiez en

FSP)

Exemple de système avec verrou fatal :
P1 = (a -> b -> P1).
P2 = (b -> a -> P2).
||SYS = (P1 || P2).





Commentaires en vrac :
Mes questions portaient sur des choses élémentaires :
- grands types de langages de programmation (y voir un peu clair en find de 1ere année)
- mathématiques (composition de fonctions, application de fonctions)
- état, événement
- communication par rendez-vous
- verrou fatal
Il s'agissait d'illustrer en partant d'un exemple fourni.
Le corrigé vous est fourni.
==========================================


J'ai lu des phrases recopiées (j'espère qu'elles ont été mal recopiées) je ne sais où et particulièrement fumeuses.
Vous disposiez des polycopiés et sinon des cours rédigés par des enseignants compétents. Alors n'allez pas chercher ce qui est très mauvais !

Voici des textes (je n'ai pas corrigé l'orthographe) peu utiles car trop fumeux :

"le type de programmation fonctionnelle consiste en une suite de fonction"
"les états sont tous les états ..."


Il semble que beaucoup ont des difficultés de lecture du français.
A la question "qu'est ce qu'un état défini en termes des concepts de ce langage ? " (le langage est celui que l'étudiant a énoncé comme réponse à la question précédente)
j'ai lu plusieurs fois :

"un état défini est un état ...."
et bien rarement une définition exprimée avec les concepts de ce langage.

Si on a choisi FSP ou CCS, un état est défini en termes des conceps de FSP (à savoir "actions" ou "événements") comme étant la suite d'actions possible quand on est dans cet état.

Cela a été répété et illustré maintes fois, en particulier quand j'ai fait le graphe de transition d'états où je décrivais justement chaque état par une "expression d'agents" (une suite d'actions).

J'ai la preuve ! voir le présent blog spec2 !

J'ai trouvé aussi pas mal de contradictions :

"B est un langage de spécification avec variables.
Un exemple de langage de spécification sans variables est B"

L'orthographe est trop souvent du n'importe quoi. Svp apprenez le minimum d'orthographe française. C'est utile pour pouvoir spécifier en français.

J'ai eu des remarques étonnantes en termes économiques en ce qui concerne le tunnel sous le Mont-Blanc. On m'a parlé de vitesse, de rentabilité, d'efficacité. Il serait bon d'étudier les concepts élémentaires d'économie.

Je rappelle que je demandais d'utiliser le texte pour illustrer un type de communication (et je précisais même "qui est utilisé en FSP et en CCS". Ce faisant je donnais une réponse à une précédente question. Un effet de bord !)

Etonnant : les événements "tirer la ficelle" et "retirer la ficelle" et pourquoi pas "retirer retirer retirer" ?
l'événement en FSP ne se définit pas en termes d'autres événements. L'ensemble des événements est un ensemble d'éléments atomiques.

LAMPE = (tirer -> LAMPE).

ou si on veut nommer les états

ETEINTE = (tirer -> ALLUMEE),
ALLUMEE = (tirer -> ETEINTE).

si on considère deux autres événements : { allumer, éteindre}

ETEINTE = (tirer -> allumer -> ALLUMEE),
ALLUMEE = (tirer -> eteindre -> ETEINTE).

Sans référence à une théorie, il est difficile d'écrire des choses cohérentes. Merci R. Milner, T. Hoare !

lundi 18 juin 2007

Les questions de spec pour le PT

Questions

1)
Il existe des langages de programmation
sans variables.
1.1) citez-en un ou le nom d'un type de
langage entrant dans cette
catégorie)
1.2) quels en sont les concepts essentiels ?

2)
Il existe des langages de spécification
sans variables.
21) B est-il sans variables ?
Il existe des langages de spécification
qui sont fondamentalement sans
variables, même s'ils sont parfois mixtes
(i.e. utilisent des variables).
2.2) Citez celui que vous avez utilisé à l'IUT
2.3) Qu'est-ce qu'un état défini en termes
des concepts de ce langage.
Donnez un exemple illustratif.


3) Prenez l'exemple de la lampe que l'on
allume en tirant une ficelle et
que l'on éteint en retirant la ficelle
pour illustrer les concepts :
3.1) d'événement
3.2) d'état
3.3) de contrainte sur un état
3.4) utilisez cet exemple que vous
spécifierez en B classique et en B
événementiel (Invariant et une opération
principale) et en FSP pour
illustrer vos réponses à la question 2.


4) Soit le texte suivant :
(Il s'agit du percement du tunnel
sous le Mont-Blanc) " [...] C'est
pourquoi, à cette époque, on avait
envisagé que sur les 12 600 mètres de
longueur totale du tunnel, les
Italiens perceraient 6 750 mètres de
galerie et les Français 5 850 mètres,
afin que la rencontre s'effectue au
même moment." (Article paru dans
L'Economie, n° 826, 14 juin 1962).

4.1) Votre remarque pertinente sur
ce texte
4.2) Utilisez ce texte pour illustrer
le type de communication qui est
utilisé
en FSP (LTSA) et en CCS.
4.3) Quel est le nom donné à ce
type de communication ?
4.4) Donnez un exemple d'un système
ayant un verrou fatal (spécifiez en FSP)


Le corrigé et les commentaires sur
les copies seront publiés sur ce
bloc-notes sous peu.

dimanche 17 juin 2007

Ce n'est pas ...


"Les obstacles épistémologiques

  • 1945-1955 : Calculer n'est pas compter
  • 1955-1965 : Effectuer n'est pas expliciter
  • 1965-1975 : Connaître n'est pas comprendre
  • 1975-1985 : Penser n'est pas verbaliser
  • 1985-1994 : Standardiser n'est pas normaliser(1)"
Emmanuel Saint-James, mai 1993 in 3ème colloque Histoire de l'Informatique

(1) norme se traduit par standard en anglais. AFNOR en France, ANSI aux USA. Mais beaucoup de Français font la différence entre standardiser et normaliser. Si nous avons bien compris, ils utilisent "standard" comme dans l'expression "standard de fait" et "norme" dans le sens légal.

S'applique très bien à l'enseignement. Mais c'est bien loin des tendances actuelles dans notre pays.

jeudi 10 mai 2007

Les notes du DS de Spec2

Sont affichées. Le barême a été appliqué.
Le corrigé ... voir les exemples traités en cours (photos sur ce blog !) et annoncés à l'avance.

mardi 20 mars 2007

De nouveaux transparents sur ...

mes pages web Spec2.

Une information : Le New York Times nous informe du décès de J. Backus, l'inventeur du langage FORTRAN.
Rappel BNF, Backus Naur Form

Si il n'y avait pas eu cette invention, peut-être que l'informatique ne serait pas celle que vous connaissez...

Rappel : demain à Nantes, la venue d'un prix Turing, Robin Milner, dont nous vous enseignons CCS en Spec2.

lundi 19 mars 2007

Dernier cours (le 19 mars)

Nous avons traité :
  • de l'étude système (à partir d'un texte de J.R. Abrial)
  • de B événementiel (idem)
Les transparents ont été fournis par courriel et mis sur site web.

lundi 12 mars 2007

Choix indéterministe

/* "Tout dans la vie est une affaire de choix, ça commence par la tétine ou le téton, ça se termine par le chêne ou le sapin. ", Pierre Desproges */

VIE = COMMENCEMENT,
COMMENCEMENT = (tetine -> SUITE | teton -> SUITE),
SUITE = (areu -> areu -> youpi -> youpi -> aille -> aille -> TERMINAISON),
TERMINAISON = (chêne -> STOP | sapin -> STOP).

Cours du 12 mars 07

Aujourd'hui j'ai traité :
- de l'équivalence entre processus
- de la vérification de modèles (avec rappel sur le concept de modèle - cours dans le poly Spec1 -)

Les transparents ont été indiqués dans mes messages spec2 de la semaine dernière. Qui les a consultés ? un ? deux ?

Je vous ai parlé de conférences ce we sur des sujets pas forcément éloignés de notre enseignement.
Voir : http://lefenetrou.blogspot.com

et sur les algèbres de processus
http://lefenetrou.blogspot.com/2007/03/nietzche-et-les-algbres-de-processus.html

La semaine prochaine, B événementiel (les transparents ont aussi été indiqués la semaine dernière).

vendredi 9 mars 2007

Se méfier de l'inférieur...

qui ne passe pas quand on fait un copier coller d'un texte corps de courriel...

Finalement ce n'est pas mal les erreurs ...

on apprend en faisant et en découvrant des erreurs.
Le copier-coller a foiré quelque part... alors voici une spec du massage faite à l'instant par un de vous à partir des versions abimées :

DEBUT(N=2) = DEBUT[0],
DEBUT[i:0..N] = (when(i < N) insuf -> DEBUT[i+1] | when(i==N) obs -> OBS1),
OBS1 = ( mvt -> STOP | pas_mvt -> COMP[0]),
COMP[j:0..4] = (when(j < 4) comp -> COMP[j+1] | when(j==4) obs -> OBS2),
OBS2 = ( mvt -> STOP | pas_mvt -> DEBUT).

/* FC */

jeudi 8 mars 2007

Erreurs dans l'affichage

Un étudiant consciencieux m'écrit :

"Bonjour,
Je pense qu'il y a une erreur de retranscription sur votre blog Spec2.
En effet, les lignes 7 et 11 doivent être respectivement :

CPT1[i:0..INSUF] = (when (iinsufflation -> CPT1[i+1]

CPT2[x:0..COMPR] = (when (xcompression -> CPT2[x+1]

Elles ont peut-être été coupées lors de l'édition du billet car elles
étaient trop longues? (Le même bug apparait sur le billet de R.L.)

Bonne journée"

Exact. Il était tard (et j'ai loupé l'heure du film que je devais aller voir) et je n'ai pas vérifié l'affichage. Pan sur le bec dirait le Canard Enchaîné.

Je corrige

Voici la spec de votre camarade :
DEBUT(N=2) = DEBUT[0],
DEBUT[i:0..N] = (when(i DEBUT[i+1]
| when(i==N) obs -> OBS1),
OBS1 = ( mvt -> STOP
| pas_mvt -> COMP[0]),
COMP[j:0..4] = (when(j<4) comp
-> COMP[j+1] | when(j==4) obs -> OBS2),
OBS2 = ( mvt -> STOP | pas_mvt -> DEBUT).

Merci beacoup pour les autres étudiants et nos fidèles lecteurs.

errare humanum est
et
homo sum et nihil humani a me alienum puto (Terence) !

mercredi 7 mars 2007

Une application des algèbres de processus

Dear FACS members

I am emailing to let you know about a funded studentship opportunity in the
interface between life sciences and computing science and mathematics at the
University of Stirling. Please distribute this information to your students.

The project "System Dynamics from Individual Interactions: A process algebra
approach
to epidemiology" starts in April and runs for three years. The aim
is to gain a better understanding of disease through modelling, and to
develop modelling techniques which will be applicable in a range of
application areas including systems biology and distributed computing.
See http://www.cs.stir.ac.uk/jobs/sdistudentship.html for further details.

For informal discussion and more information please contact Dr Carron
Shankland: 01786 467444 or email: carron@cs.stir.ac.uk.

Best wishes,
Carron

Le massage cardiaque de R.L. Groupe 2

DEBUT(N=2) = DEBUT[0],
DEBUT[i:0..N] = (when(i DEBUT[i+1] | when(i==N) obs -> OBS1),
OBS1 = ( mvt -> STOP | pas_mvt -> COMP[0]),
COMP[j:0..4] = (when(j<4) comp -> COMP[j+1] | when(j==4) obs -> OBS2),
OBS2 = ( mvt -> STOP | pas_mvt -> DEBUT).


obs : observation
comp : compression
mvt : il ... encore
pas mvt : il ne ...pas

Massage cardiaque

Spec2, le module qui peut vous sauver la vie !

Voici a spec en FSP :

/*
* Rédigé par S. Raynaud et G. Quéméner
*/

const COMPR=3

CPT1(INSUF=2) = CPT1[0],
CPT1[i:0..INSUF] = (when (i CPT1[i+1]
|when (i==INSUF) compression -> CPT2[0]
|respiration -> STOP
),
CPT2[x:0..COMPR] = (when (x CPT2[x+1]
|when (x==COMPR) compression -> CPT1[0]
|respiration -> STOP
).

Exercice : faites le diagramme de transition d'états.

Nota : on a indiqué seulement 3 pour compression (il aurait fallu indiquer 15 pour un adulte, mais on a voulu pouvoir représenter facilement le diagramme de transitions d'état.

Exlusion mutuelle

La présence aux cours et aux TD est obligatoire en IUT.
Dans les faits, je constate que, dans les cours et TD de 8 heures ou de 16 heures, il y a de 10 à 12 étudiants (TD) sur 22, et en cours (40 sur 100).
Sans doute les absents sont très très forts. Ils ont l'informatique dans le sang depuis la naissance (c'est un peu ce qu'écrivent certains dans leur dossiers de candidature à l'iut).

Alors si certains des absents se sont révéillés... voici pour eux :


On a deux utilisateurs et une imprimante.
L'accès à l'imprimante est exclusif.

Modélisez en utilisant le typage de processus.

Voici ce qu'a fait Dudule :

CONS = (prend -> utilise -> rend -> CONS).
IMP = (prend -> rend -> IMP).

||SYS = (u1 : CONS || u2 : CONS || IMP).


u1 : CONS va donner :
u1.CONS = (u1.prend -> u1.utilise -> u1.rend -> u1.CONS).
c'est un préfixage comme on en a vu en B lors de l'inclusion de machines.

Est-ce qu'il a bien modélisé l'exclusion mutuelle ?

NON ... faites le diagramme de transitions d'état pour voir...

Alors modifiez la spec de Dudule.

Animations de specs FSP

http://www.doc.ic.ac.uk/~jnm/book/book_applets/concurrency.html

lundi 5 mars 2007

Cours du 5 mars 2007

A 8h15 ce matin.

J'ai présenté le cas du chariot et de la trémie. Architecture avec "Partie commande", "Partie opérative" et entrées et sorties. Ainsi que le Grafcet de la partie commande.
J'ai donné les différences essentielles entre RDP et GRAFCET

Puis transparents sur les sémantiques du parallélisme avec illustration en FSP (ce qui est possible en FSP)

Puis j'ai donné exemple de passage d'un arbre de Jackson à un automate de Mealy

Les transparents des deux derniers cours à venir sont

ici

Les photos du tableau seront mises sur le blog sous peu.

mercredi 28 février 2007

An interview with Robin Milner

the transcript of an interview with Robin Milner, held in Cambridge on the 3. September 2003. The interview was conducted by Martin Berger

http://www.dcs.qmul.ac.uk/~martinb/interviews/milner/

Robin Milner

La chaire Blaise Pascal
Milner à Cambridge !
http://www.cl.cam.ac.uk/~rm135/
Milner sur Wikipedia :
http://en.wikipedia.org/wiki/Robin_Milner

Robin Milner

Citation
For three distinct and complete achievements: 1) LCF, the mechanization of Scott's Logic of Computable Functions, probably the first theoretically based yet practical tool for machine assisted proof construction; 2) ML, the first language to include polymorphic type inference together with a type-safe exception-handling mechanism; 3) CCS, a general theory of concurrency. In addition, he formulated and strongly advanced full abstraction, the study of the relationship between operational and denotational semantics.

ACM/A.M. Turing Award.

Le cours sur LTSA/FSP de Magee et Kramer

http://www.doc.ic.ac.uk/~jnm/book/

Un logiciel gratuit
Un cours disponible
De nombreux exos corrigés...


Le site du professeur Jeff Kramer :
http://www.doc.ic.ac.uk/~jk/

Celui du professeur Jeff Magee :
http://www3.imperial.ac.uk/people/j.magee

lundi 26 février 2007

Prochain cours

Pour le cours qui a eu lieu cette semaine, j'avais demandé de traiter le cas de l'American film star. Ceux qui l'ont fait peuvent m'adresser leur travail ou me le montrer à l'occasion...

Le prochain cours devrait porter sur :

- l'équivalence entre processus
- les propriétés de vivacité, de fatalité que nous traiterons avec FSP et LTSA

ou

- sur B événementiel. J'utiliserai le cours de son auteur, J.R. Abrial.

Cours du 26 février /4

- Je n'ai pas dit un mot pendant tout mon cours ... car j'attendais le silence. J'ai écrit tout au tableau. J'ai donné des exemples illustratifs dont on pouvait déduire la sémantique. J'ai tout photographié.
Ce que j'ai traité :

- rdp avec arcs valués
- rdp à jeton
- test à zéro

CCS
j'ai donné toutes les configurations possibles, et ai systématiquement construit l'automate (une dizaine au moins)
j'ai traité de la communication dont le sémaphore, idem automates;
j'ai donné correspondance avec FSP (un peu)


J'ai annoncé oralement et par courriel et par un écrit au tableau noir la conf de Milner.

Les réponses aux questions du "DS" se trouvent sur les photos des messages précédents.

Cours du 26 février /3




Cours du 26 février /2




Cours du 26 février /1




mercredi 7 février 2007

Préconditions

Un collègue de l'Ecole Supérieure d'Electricité de Gif, m'adresse deux préconditions, exemples qu'il donne à ses étudiants :

"Ce jouet est destiné aux enfants de plus de trois ans"

"Dans la même veine, pour un fusil:
Ne tirez que quand vous voyez le blanc des yeux..."

suite Boivia Inti

Je viens d'appeler BoliviaInti. J'apprends que si je n'ai pas reçu de réponse à mes courriels, c'est que les permanents sont en Amérique ...
J'ai cependant obtenu des informations (que je n'avais pas ce matin pour le td), à savoir :

- il peut y avoir plusieurs adhérents sous un même nom (en fait il en est prévu 1 ou 2)
- deux types d'adhérents : bienfaiteur / actif (mais la personne qui fait la saisie ne sait pas trop la définition. Elle met bienfaiteur celui qui fait plus que payer sa cotisation, par exemple celui qui finance un cuiseur solaire. Remarquons ...qu'il peut être "acttif" !)

- il peut y avoir des reçus fiscaux envoyés en dehors de l'envoi par lot. A cette occasion, j'ai appris que des adhérents qui ont fait du bénévolat et ont utilisé leur véhicule personnel, ont fait des dons en km au taux (voir le fisc) de ..., et ont un reçu fiscal pour cela. Or des bénévoles peuvent donner les "données" après l'envoi par lot des reçus fiscaux.
- actuellement il n'y a pas de variable indiquant l'état par exemple des envois de reçus fiscaux. La personne (ou les) personnes qui font se travail utilisent des post-its collés sur l'écran. D'où l'intérêt du travail de td de spec2 !

- ceux qui suivent une formation doivent adhérer à l'association (je pense d'ailleurs que c'est la loi qui demande cela. Je vous dirai pourquoi...)

Je joue le rôle d'assistant à la maîtrise d'ouvrage. Les étudiants du projet sont la maîtrise d'oeuvre.

suite Boivia Inti

Je viens d'appeler BoliviaInti. J'apprends que si je n'ai pas reçu de réponse à mes courriels, c'est que les permanents sont en Amérique ...
J'ai cependant obtenu des informations (que je n'avais pas ce matin pour le td), à savoir :

- il peut y avoir plusieurs adhérents sous un même nom (en fait il en est prévu 1 ou 2)
- deux types d'adhérents : bienfaiteur / actif (mais la personne qui fait la saisie ne sait pas trop la définition. Elle met bienfaiteur celui qui fait plus que payer sa cotisation, par exemple celui qui finance un cuiseur solaire. Remarquons ...qu'il peut être "acttif" !)

- il peut y avoir des reçus fiscaux envoyés en dehors de l'envoi par lot. A cette occasion, j'ai appris que des adhérents qui ont fait du bénévolat et ont utilisé leur véhicule personnel, ont fait des dons en km au taux (voir le fisc) de ..., et ont un reçu fiscal pour cela. Or des bénévoles peuvent donner les "données" après l'envoi par lot des reçus fiscaux.

- ceux qui suivent une formation doivent adhérer à l'association (je pense d'ailleurs que c'est la loi qui demande cela. Je vous dirai pourquoi...)

Je joue le rôle d'assistant à la maîtrise d'ouvrage. Les étudiants du projet sont la maîtrise d'oeuvre.

Travail sur le projet Bolivia Inti

Au groupe 2

Ce jour 8h - 10 h (TD, salle F13)


J'attends via votre représentant de groupe, l'ensemble de vos fiches de TD sur le cas Bolivia Inti.
J'en ferai une photocopie que je transmettrai aux étudiants info2 du projet.

merci pour eux

De plus, vous devez me fournir chacun, au début de la séance prochaine, une feuille avec les automates des processus S1 et S2 de l'exo fin en fin de séance. Vos états seront étiquetés par le comportement du processus à cet état.

Vous comparerez ce que vous avez obtenu à ce que LTSA vous affiche.

mardi 6 février 2007

Question pour le prochain cours

L'american film star se marie, divorce, signe un contrat, annule ce contrat.
Elle est monogame et fidèle en affaires. Elle n'a au plus qu'un seul contrat en cours.

Spécifiez son comportement avec une expression régulière.

Reprenez votre cours de maths pour l'info (ou aller emprunter le livre de T. Brugère à la bibliothèque ... le lieu n'est pas dangereux !) et relire le théorème de Kleene.

Rappel : * est l'étoile de Kleene

dimanche 4 février 2007

Musée virtuel de l'informatique

http://vmoc.museophile.org/
créé par notre collègue Jonathan Bowen

avec les dernières nouvelles ... On y a appris que Ted Codd est décédé...

Edgar (Ted) Codd (1923-2003), inventor of the relational database model, died on 18 April 2003.

samedi 3 février 2007

Pour le cours de lundi, vous devez ...

avoir déplié l'automate de Harel fait au tableau lors du dernier cours.

(en anglais, folding/unfolding)

et me proposer un automate pour la douchiotte : la douche, Wc qui doit permettre d'aller aux wc sans recevoir une douche ! (une propriété que votre machine devra satisfaire !)

Pourquoi venir en cours et en TD ?

Les citations de l'entrée Education de l'encyclopédie Wikipedia.

  • « Be very careful about what you put in his head, for you will never, ever, put it out. » (George Berkeley)
  • « Prenez bien garde à ce que vous lui mettez en tête car vous ne pourrez jamais, jamais, l'en faire sortir. »
  • « L'éducation coûte cher ? Hé bien, Messieurs, essayez donc l’ignorance ! ». (Abraham Lincoln)
  • « Eduquer, ce n'est pas remplir des vases mais c'est allumer des feux. » (Montaigne, Essais)
  • « Et enfin il n'y a de progrès, pour nul écolier au monde, ni en ce qu'il entend ni en ce qu'il voit, mais seulement en ce qu'il fait. » (Alain, Propos sur l'éducation, II)
  • « Si le maître se tait, et si les enfants lisent, tout va bien. » (Alain, Propos sur l'éducation, XXV)
  • « L'éducation ne consiste pas à gaver mais à donner faim. » (M.Tardy)
  • « Le seul individu formé, c'est celui qui a appris comment apprendre, comment s'adapter, comment changer, c'est celui qui a saisi qu'aucune connaissance n'est certaine et que seule la capacité d'acquérir des connaissances peut conduire à une sécurité fondée. » (Carls Roger 1976)
  • « Une leçon doit être une réponse. Si elle remplit cet office, elle sera de l'école active, quand bien même les élèves ne feraient rien d'autre que d'écouter.» (Edouard Claparède, l'éducation fonctionnelle)
  • « Donner à un enfant le désir d'apprendre et toute méthode sera bonne. » (J.J.Rousseau, L'Emile, 1762)
  • « Le but de l'instruction n'est pas de faire admirer aux hommes une législation toute faite, mais de les rendre capables de l'apprécier et de la corriger. Il ne s'agit pas de soumettre chaque génération aux opinions comme à la volonté de celle qui la précède, mais de les éclairer de plus en plus, afin que chacun devienne de plus en plus digne de se gouverner par sa propre raison. » (Condorcet, 1743-1794)

vendredi 2 février 2007

Lundi 5 à 8 heures, nous traiterons

- automates avec sortie (Moore et Mealy)
- on pensait détailler les automates de Harel (mais on a vraiment bien peu d'heures de cours, 10 heures en tout, alors nous passerons directement à :
- réseaux de Petri (le b a ba) et Grafcet (b a ba, le Grafcet étant un type de RDP)
- expressions régulière et arbres de Jackson. Et nous traiterons de l'American Film Star. D'ici là revoyez le théorème de Kleene (j'y fais référence dans le chapitre 2 du poly des TD)

A lundi et bonne fin de semaine.

TD de ce vendredi















Notre photographe a coupé un morceau de l'expression régulière Ecluse. Il manque la parenthèse droite et l'étoile de Kleene


jeudi 1 février 2007

Un td de spec2


Un des exos consistait à faire un schéma relationnel n-aire en 5e FN qui permette d'enregistrer des diagrammes d'états-transitions comme celui présenté en rouge.
On a pu voir un couple dont chaque composante était soulignée (clé). Or la notion de fonction concerne des relations et non un couple. Confusion...Oh !

La solution de G.Q ne permet pas d'enregistrer état initial, états finaux. G.Q. a changé le cahier des charges. Ne pas faire cela ! Il suffisait de... (voir ci-contre)



mercredi 31 janvier 2007

Pour présenter vos pages de td

Haut de page découpé en trois parties :

Spec2
06-07
Groupe :
nom, prénom
_________________________________
Thèmes traités :
_________________________________
Exercice n° ... fait le ....

lundi 29 janvier 2007

Le prochain cours

  • Je vais aller plus loin avec les automates de Harel.
  • Je vous en donnerai des explicitations avec B
  • Vous devez avoir transformé l'automate de Harel que j'ai fait dans le cours n°2 en un automate "à plat", les informaticiens disent aussi "déplié" (folding/unfolding)... avant de venir en cours
  • Et préparer un automate de Harel pour la douchiotte. Vous trouverez sa description dans le polycopié des TD.

Le deuxième cours