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

Parler du temps, mais de manière formelle Gérard Berry Chaire Algorithmes, machines et langages Collège de France Cours.

Présentations similaires


Présentation au sujet: "Parler du temps, mais de manière formelle Gérard Berry Chaire Algorithmes, machines et langages Collège de France Cours."— Transcription de la présentation:

1

2 Parler du temps, mais de manière formelle Gérard Berry Chaire Algorithmes, machines et langages gerard.berry@college-de-france.fr Collège de France Cours 1, le 2 avril 2013

3 02/04/2013 2 G. Berry, Collège de France Agenda 1.Pourquoi parler du temps 2.Bugs et mauvais designs liés au temps 3.La question du temps 4.Circuits et échanges temps-espace 5.Circuits et logique constructive

4 Pourquoi parler du temps et des événements Systèmes embarqués temps-réel Circuits et systèmes sur puces (SoCs) Simulation de systèmes physiques Orchestration de services Web Composition et interprétation musicale Neurosciences, Biologie systémique, etc. 3 G. Berry, Collège de France 02/04/2013 La gestion du temps et des événements est essentielle dans les systèmes du XXI e siècle Mais linformatique classique nen parle pas !

5 02/04/2013 4 G. Berry, Collège de France Les systèmes embarqués du XX e siècle Compacts, fonctionnalités claires –centrées données : contrôle continu, traitement du signal –centrées contrôle : protocoles, écrans, gestion de modes Comportement déterministe – automatique fondée sur le temps – gestion déterministe des réactions à lenvironnement – qui est lui non-déterministe, bien sûr –

6 02/04/2013 5 G. Berry, Collège de France Les systèmes embarqués du XX e siècle Implémentation manuelle maths manuelles specs textuelles codage ASM, C, ADA compilation standard test exhaustif Implémentation formelle modélisation par ODE spécification formelle codage de haut niveau codegen automatique vérification formelle Infrastructure PLCs P, ECUs OS embarqués IHM simples

7 02/04/2013 6 G. Berry, Collège de France Les systèmes embarqués du XXI e siècle Bien plus complexes, distribués, déterministes – plusieurs fonction sur chaque SoC ou ECU, plusieurs horloges – coordination des sous-systèmes – réseaux embarqués : NoC, PAN, LAN, Time-Triggered, etc. Mélange de styles – contrôle continu + automates, syatèmes distribué, moins déterministes – GALS, temps continu + discret. etc. Interfaces asynchrones best effort depuis le Web

8 02/04/2013 7 G. Berry, Collège de France Les circuits du XX e siècle Fonctionnalité simple Horloge unique Physique sans souci Pas de gestion dénergie

9 02/04/2013 8 G. Berry, Collège de France Les circuits du XXI e siècle Nécessité de niveaux de simulation multiples Construire le logiciel avant le chip simulation TLM (Transaction Level Modeling) IPs multiples, horloges multiples, réseaux (NoCs) protocoles de communication et gestion dénergie complexes

10 02/04/2013 9 G. Berry, Collège de France La musique du XX e siècle

11 02/04/2013 10 G. Berry, Collège de France La musique du XXI e siècle Antescofo : suivi temps-réel Partition algorithmique

12 Comprendre ce qui sest passé – debugging, histoire, paléontologie, etc. – établissement des datations – recherche des causalités et des corrélations 02/04/2013 11 G. Berry, Collège de France Objectifs Organiser lavenir – prévoir ce qui peut se passer – restreindre ce qui pourra se passer – spécifier ce qui devra se passer – programmer pour que ça se passe comme spécifié – analyser et vérifier ce quon a spécifié et programmé (synchronisations, timings, etc.) Le rôle de lhistorien est de prévoir le passé Henry Laurens

13 02/04/2013 12 G. Berry, Collège de France Agenda 1.Pourquoi parler du temps 2.Bugs et mauvais designs liés au temps 3.La question du temps 4.Circuits et échanges temps-espace 5.Circuits et logique constructive

14 02/04/2013 13 G. Berry, Collège de France Un beau bug de temps Lecteur MP3 / video Zune, 31 décembre 2008 year = ORIGINYEAR; /* = 1980 */ while (days > 365) { if (IsLeapYear(year)) { if (days > 366) { days -= 366; year += 1; } } else { days -= 365; year += 1; }

15 02/04/2013 14 G. Berry, Collège de France Un beau bug de temps Lecteur MP3 / video Zune, 31 décembre 2008 year = ORIGINYEAR; /* = 1980 */ while (days > 365) { if (IsLeapYear(year)) { if (days > 366) { days -= 366; year += 1; } } else { days -= 365; year += 1; } Damned ! Fix: enlever la batterie ou attendre 24h

16 02/04/2013 15 G. Berry, Collège de France Bug de la Sony (fat) PS3, 28 février 1 er mars 2010 – bug dans le firmware dun processeur auxiliaire – date 1 e janvier 2000 – état des jeux inaccessible ou inconsistant etc. – problème connu et déjà corrigé ailleurs ! Fix: enlever la batterie ou attendre 24h Bugs de liPhone, 2010 / 2011 – heure dhiver 2010 : correction automatique de lheure, – mais pas du réveil ! – Le lendemain : panne de réveil !

17 02/04/201316G. Berry, Collège de France Dharan, 25 févier 1991, bug des missiles Patriot – les arrondis dégradent la précision de lheure – après 110h, lerreur est de 0.34 s – le Patriot manque le Scud – 28 soldats morts, 98 blessés Fix: rebooter le systèmes toutes les quelques heures

18 02/04/2013 17 G. Berry, Collège de France Débordement de buffer Un programme qui plante un jour par semaine

19 02/04/2013 18 G. Berry, Collège de France Débordement de buffer Monday Tuesday Wednesday y Un programme qui plante un jour par semaine

20 02/04/2013 19 G. Berry, Collège de France Deux boules et un mur v chocs actions

21 02/04/2013 20 G. Berry, Collège de France Deux boules et un mur Modeleurs actuels OK

22 02/04/2013 21 G. Berry, Collège de France Boule collée au mur modeleurs actuels v pour certains modes dexécution

23 02/04/2013 22 G. Berry, Collège de France Esterel v7 pour les circuits données + contrôle

24 02/04/2013 23 G. Berry, Collège de France Scade 6 pour embarqué certifié : CC+FSM SCADE 6 Unifie FSM & CC totalement mélangeables langage fonctionnel tableaux fonctionnels sémantique formelle compilateur certifié preuve formelle compilateur prouvé? Voir aussi Ptolemy II, Ed Lee, UC Berkeley

25 02/04/2013 24 G. Berry, Collège de France Nul: ordonnancement par position graphique 1 2 3 4 5 12 3 1 2 choix initial: parallélisme résolu par blocs

26 02/04/2013 25 G. Berry, Collège de France Nul: ordonnancement par ordre de création 3 1 5 2 4 13 2 1 2

27 02/04/2013 26 G. Berry, Collège de France Compliqué: réordonnancement manuel 2 4 1 5 3 13 2 1 2 plein de règles de renumérotation priorités volages, cut & paste imconpréhensible, etc.

28 02/04/201327G. Berry, Collège de France Mais pourquoi utiliser des priorités ? Le parallélisme doit être par construction associatif, commutatif, et modulaire! Pollution: Le parallélisme au niveau du bloc asservit les dépendances causales aux dépendances dimplémentation La sémantique et limplémentation doivent traiter le parallélisme, pas lutilisateur ! Cf. Lustre, Esterel, SyncCharts, SCADE 6, Ptolemy II,...

29 02/04/201328 G. Berry, Collège de France La devise du cours La sémantique doit suivre lintuition Limplémentation doit suivre la sémantique Ne jamais dévier !

30 02/04/2013 29 G. Berry, Collège de France Agenda 1.Pourquoi parler du temps 2.Bugs et mauvais designs liés au temps 3.La question du temps 4.Circuits et échanges temps-espace 5.Circuits et logique constructive

31 Perception et représentation du temps – imprécises, ambiguës, variables selon les civilisations (cf leçon inaugurale) langue fleurie mais remarquablement incompétente 02/04/2013 30 G. Berry, Collège de France Perception et langue du temps Manifeste pour la réhabilitation du pavillon des poids et mesures G. Berry Viridis Candela, Correspondancier du Collège de Pataphysique, n o 1, pages 33-60 (2007)

32 La nature du temps – temps physique / temps logique – temps continu / temps discret – temps plat / temps hiérarchique – temps absolu / temps multiforme 02/04/2013 31 G. Berry, Collège de France La question du temps Les concepts temporels – instants, intervalles – passé, présent, futur – événements sur instants ou intervalles – précédence, causalité, corrélation – lépaisseur de linstant – lépaisseur de laction

33 02/04/2013 32 G. Berry, Collège de France La question du temps Le partage du temps – comparaison ou partage du temps dans lespace – synchronisme / asynchronisme des actions – comment réaliser le synchronisme ? – comment synchroniser lasynchronisme ? – comment marier les deux ? Le destin du futur – déterminisme / confluence / non-déterminisme – prévisibilité / imprévisibilité Le rapport temps/ espace – codage spatial vs. temporel de linformation – échange temps / espace dans les circuits et logiciels – rapport temps / espace dans les systèmes distribués

34 02/04/2013 33 G. Berry, Collège de France La question du temps Les formalismes du temps – la droite réelle de la physique classique – larbre de Peano des nombres 2-adiques – les logiques temporelles – les langages de spécification temporels – les langages de programmation temporels – les structures dévénements temporelles Un domaine de recherche largement ouvert la vérification formelle temporelle – les outils de model-checking – la représentation du temps en Coq

35 En physique, le temps est-il continu ou discret? –ça dépend de la physique ! –discret est une approximation de continu, et linverse ! 02/04/2013 34 G. Berry, Collège de France Le temps physique Les instants ont-il une épaisseur ? –mesure du temps moyennage statistique Peut-on agir en temps zéro ? –ça dépend de la physique ! Comment comparer le temps dacteurs différents ? –La loooongue histoire de la mesure du temps 5 10 18 –rendue très complexe par les relativités : GPS – synchronisations possibles mais chères (cf. GPS, neutrinos) – sert de base à dautres mesures (longueurs, masses)

36 02/04/2013 35 G. Berry, Collège de France Le temps continu classique t t t ] t, t [ [ t, t ] AA A B B A BB événements simultanéité Les nombres réels ne sont pas calculables Propriétés dinstants ou dintervalles?

37 02/04/2013 36 G. Berry, Collège de France Le temps discret classique n 1 n 1 n AA A B B A BB ] n, n [ [ n, n ] événements simultanéité Attention à Zénon !

38 02/04/2013 37 G. Berry, Collège de France Le cône du temps A B C D E Sachant que jai déjà fait A : si je fais B, jaurai C mais si je fais D, jaurai E Logiques temporelles arborescentes

39 02/04/2013 38 G. Berry, Collège de France Machine à café : anglaise ou française ? Laquelle préférez-vous ? c t café bof thé hmm c t café hmm thé bof c t café thé Equivalentes pour les traces linéaires (.c.café.t.thé)*

40 thé hmm 02/04/2013 39 G. Berry, Collège de France Machine à café : anglaise ou française ? c t c t c t Pas équivalentes en logiques arborescentes AG( EF(coffee) EF(tea)) OUINON café thé café bof café hmm thé bof

41 02/04/2013 40 G. Berry, Collège de France Le double cône du temps A B C B E Si javais su, jaurais dû faire A au lieu de A jaurais eu C sans même faire B et, en faisant B, jaurais eu E, meilleur que E ! E A

42 02/04/2013 41 G. Berry, Collège de France Agenda 1.Pourquoi parler du temps 2.Bugs et mauvais designs liés au temps 3.La question du temps 4.Circuits et échanges temps-espace 5.Circuits et logique constructive

43 02/04/2013 42 G. Berry, Collège de France Circuits : confluence / synchronisme circuit machine vibratoire parallèle confluente à résoudre les équations parallèles synchrones s r a b c s r s a oux b oux c r (a et b) ou (b et c) ou (c et a) a, b, c s, r

44 02/04/2013 43 G. Berry, Collège de France Temps logique vs. temps physique i6 o7o5o1o2o6o4o3 i7i5i4i3i1i2 i6 o7o5o1o2o6o4o3 i7i5i4i3i1i2 temps logique temps physique cycle dhorloge OK pas de recouvrement (voltage et horloge peuvent être irréguliers)

45 02/04/2013 44 G. Berry, Collège de France Laddition dans lespace + + a 0 b 0 s 0 + + 1 a 1 b 1 s r 1 + + 2 a 2 b 2 s 2 r 3 r r = 0 0 pour n bits, temps n trop cher

46 02/04/2013 45 G. Berry, Collège de France Addition dichotomique de von Neumann Spéculation : perdre de lespace pour gagner du temps. propager les retenues par dichotomie a b s a+b s a+b+1 n n n+1 en parallèle

47 02/04/2013 46 G. Berry, Collège de France Addition dichotomique de von Neumann n n n+1 a[n..2n-1] b[n..2n-1] a[0..n-1] b[0..n-1] s[0..n-1] n n n+1 0..n-1 s[n..2n] n 0101 n 0101 Pour 2n bits: Spéculation microprocesseurs

48 02/04/2013 47 G. Berry, Collège de France Addition dichotomique de von Neumann pour n bits, temps log 2 (n) optimal

49 02/04/2013 48 G. Berry, Collège de France Ladditionneur de von Neumann en Jazz vNAdd1 (a, b) = (s : net [2], s' : net [2]) { s[0] = a ^ b; s'[0] = ~ s [0]; s[1] = a & b; s'[1] = a | b; } a b s s 1 1 2 2

50 02/04/2013 49G. Berry, Collège de France vNAdd (n) (a : net [n], b : net [n]) = (s : net [n+1], s' : net [n+1]) { if (n==1) { (s, s') = vNAdd1(a [0], b [0]); } else { // Lower half n' = n div 2; (l, l') = vNAdd (n') (a [0..n'-1], b [0..n'-1]) ; // Upper half n'' = n - n'; (h, h') = vNAdd (n'') (a [n'..n-1], b [n'..n-1]) ; // Get the low bits out s[0..n'-1] = l [0..n'-1]; s'[0..n'-1] = l [0..n'-1]; // Get the high bits out, muxed on l[n'] or l'[n'] for (k <= n'') { local k' = n' + k; // n <= k' < n s[k'] = mux (l [n'], h [k], h [k]); s'[k'] = mux ( l [n'], h [k], h [k]); }

51 02/04/2013 50 G. Berry, Collège de France Addition par composition Fonction de propagation de retenue pour 2 bits a et b

52 02/04/201351G. Berry, Collège de France Soit la fonction de propagation pour et La retenue entrante à la position i+1 se calcule par On calcule la composition dichotomiquement et en parallèle

53 02/04/201352 G. Berry, Collège de France Représentation des fonctions Appliquer f à x : 0101 f0 f1 f(x) x Apply (f, x) y { (f0, f1) f y mux(x, f1, f0) } f f0 valeur f(0) f1 valeur f(1) {

54 02/04/2013 53 G. Berry, Collège de France Composer comp (f, g) (h0, h1) { (f0, f1) f; h0 app (g, f0); h1 app (g, f1); } 0101 g0 g1 (g o f)0 0101 g0 g1 f0 f1 (g o f)1

55 02/04/2013 54 G. Berry, Collège de France comp app

56 02/04/2013 55 G. Berry, Collège de France Addition par composition en Jazz CompAdd (n) (a : net[n], b : net[n], c) = (s : net[n], f) { if (n == 1) { s[0] = a[0] ^ b[0] ^ c; f0 = a[0] & b[0]; // carry out if carry in is 0 f1 = a[0] | b[0]; // carry out if carry in is 1 f = (f0, f1); // carry propagation function } else { n' = n div 2; (s[0..n'-1], fl) = CompAdd (n') (a[0..n'-1], b[0..n'-1], c); (s[n'..n-1], fh) = CompAdd (n-n') (a[n'..n-1], b[n'..n-1], c'); f = comp (fl, fh); c'= app (fl, c); }

57 02/04/2013 56 G. Berry, Collège de France Addition sans retenue (base molle) Nombre mou a (a, a") valeur de a : |a| a'+a" 0 (0,0) 1 (1,0) (0,1) 2 (2,0) (1,1) (0,2) 3 (3,0) (2,1) (1,2) (0,3) 4 (4,0) (3,1) (2,2) (1,3) (0,4) L'addition des nombres mous se fait en temps constant quel que soit le nombre de bits

58 02/04/2013 57 G. Berry, Collège de France mou dur = mou + + + + + + + + c a b a mou, b dur c' c'' = a' a'' b a0 a0 b0a0 a0 b0 a1 a1 b1a1 a1 b1 a2 a2 b2a2 a2 b2 a3 a3 b3a3 a3 b3 c1c1 c1c1 c2c2 c2c2 c3c3 c3c3 c4c4 c4c4 00 c0c0 c0c0

59 02/04/2013 58 G. Berry, Collège de France mou mou = mou + + + + + + + + + + + + + + c a bc' c'' a' a'' b' b''

60 02/04/2013 59 G. Berry, Collège de France Multiplication en temps logarithmique vNAdd + + + mou pour n bits, taille n 2 temps log 2 (n) optimal

61 02/04/2013 60 G. Berry, Collège de France Agenda 1.Pourquoi parler du temps 2.Bugs et mauvais designs liés au temps 3.La question du temps 4.Circuits et échanges temps-espace 5.Circuits et logique constructive

62 02/04/2013 61 G. Berry, Collège de France Logique Booléenne constructive I e 0 I e et e 0 I e 0 I e et e 0 I e 1 I e et e 1 I e 1 I e 1 I e ou e 1 I e 1 I e ou e 1 I e 0 I e ou e 0 I e 0 I e 0 I non e 1 I e 1 I non e 0 Vecteur dentrées : I entrées {0,1} Formules : I e b I I I (I) X e I e b I X b

63 02/04/201362 G. Berry, Collège de France Constructive Pas de tiers exclu ! I e ou non e 1 ssi I e 0 ou I e 1 I e ou non e 1

64 02/04/2013 63 G. Berry, Collège de France Circuit réseau de preuves constructives ss r a b c r Chaque exécution déroule son arbre de preuve Le circuit regroupe tous les arbres en un DAG Cf. correspondance de Curry-Howard

65 02/04/2013 64 G. Berry, Collège de France Temps logique vs. temps constructif Temps logique o6 i7i5i1i2i6i4i3 o7o5o4o3o1o2 Temps constructif o6 i7i5i1i2i6i4i3 o7o5o4o3o1o2

66 02/04/2013 65 G. Berry, Collège de France Partage de ressources cycles combinatoires O = if C then F(G(I)) else G(F(I)) Trouvé correct par la sémantique constructive Pour F, G, H, etc, la version cyclique est linéaire mais la version acyclique exponentielle en taille F G C C I O C 1010 1010 1010

67 02/04/2013 66 G. Berry, Collège de France Partage de ressources cycles combinatoires O = if C then F(G(I)) else G(F(I)) cycle F G C C I O C 1010 1010 1010

68 02/04/2013 67 G. Berry, Collège de France Partage de ressources cycles combinatoires F G C C I O C 1010 1010 1010

69 02/04/2013 68 G. Berry, Collège de France Partage de ressources cycles combinatoires F G 1 O 1 1010 1010 1010 1 I C 1 O if C then F(G(I)) else G(F(I))

70 02/04/2013 69 G. Berry, Collège de France Partage de ressources cycles combinatoires F G 0 I O 0 1010 1010 1010 0 Le cycle ne pose ni problème logique, ni problème électrique ! C 0 O if C then F(G(I)) else G(F(I))

71 02/04/2013 70 G. Berry, Collège de France Scheduler cyclique round-robin-4 ok req ok req ok req ok

72 02/04/2013 71 G. Berry, Collège de France Scheduler cyclique round-robin-2 Cycle combinatoire ! ok req ok

73 02/04/2013 72 G. Berry, Collège de France Scheduler cyclique round-robin-2 le cycle est sain car coupé à une porte ou ok req ok 1 trouvé correct par la sémantique constructive

74 02/04/2013 73 G. Berry, Collège de France Scheduler cyclique round-robin-2 ok req ok Le registre à 1 change à chaque cycle trouvé correct par la sémantique constructive 1

75 02/04/2013 74 G. Berry, Collège de France Round-Robin Cyclic Scheduler-2 ok req ok Le cycle est malsain si tous les registres sont à 0 trouvé incorrect par la sémantique constructive

76 02/04/2013 75 G. Berry, Collège de France Les trois sortes de circuits cycliques 2. Electriquement et logiquement malsains X X non X ex. : round-robin cyclique avec tous les registres à 0 1.Electriquement et logiquement sains, éventuellement sous restrictions dentrées ou invariants temporels des registres (voir les exemples précédents)

77 02/04/2013 76 G. Berry, Collège de France Analyse des circuits cycliques Quand un circuit se stabilise-t-il pour tous délais des fils et portes? Comment relier le temps discret de la logique au temps continu de lélectricité?

78 02/04/2013 77 G. Berry, Collège de France Circuits cycliques constructifs Hamlet : ToBe ToBe or not ToBe ToBe Se stabilise à 1 pour certains délais des portes et fils, mais oscille pour dautres délais Calcule 1 en logique classique, mais ne calcule rien en logique constructive Théorème (Mendler-Shiple-Berry 2001-2012) : calcule 1 électriquement pour tous délais calcule vrai en logique constructive (tiers exclu)

79 02/04/2013 78 G. Berry, Collège de France La logique constructive UN

80 02/04/2013 79 G. Berry, Collège de France Le circuit ABRO (réseau de preuve) loop abort { await A || await B }; emit O ; halt when R end loop supprimé par optimisation

81 02/04/201380G. Berry, Collège de France A suivre...


Télécharger ppt "Parler du temps, mais de manière formelle Gérard Berry Chaire Algorithmes, machines et langages Collège de France Cours."

Présentations similaires


Annonces Google