Temps, événements et causalité en informatique Gérard Berry Chaire Algorithmes, machines et langages Collège de France Leçon inaugurale, 28 mars 2013
Film d’Emilie, 2 ans et 1 semaine, au clavier et à la souris Comment verrait-elle l’ordinateur comme une nouvelle technologie, alors qu’il est plus vieux qu’elle ? G. Berry, Collège de France 28/03/2013
Pourquoi ce titre de chaire ? information interfaces algorithmes langages machines Exploration de notre vision et de notre parler du temps science de construction science d’observation mais aussi exploration de nous-mêmes G. Berry, Collège de France 28/03/2013
Pourquoi ce titre de cours ? La gestion du temps et des événements est essentielle dans les systèmes du XXIe siècle Mais l’informatique classique n’en parle pas ! 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. Des sujets socialement distincts mais partageant techniquement beaucoup. Nous allons voir qu’il est très utile d’utiliser les idées et développements des uns chez les autres. G. Berry, Collège de France 28/03/2013
Les systèmes embarqués Comportements temporels / événementiels XXe siècle : compacts, fonctionnalités claires contrôle moteur, freinage, etc. fonctions déterministes et non corrélées XXIe siècle : complexes, distribués fonctions corrélées : freinage, suspension, etc. et intégrées : conduite automatique de la voiture et couplées au GPS, connectées à Internet, etc. G. Berry, Collège de France 28/03/2013
Des circuits aux systèmes sur puces 1980’s : M68000 68 000 transistors une fonction une horloge 2010 : SoC 680 000 000 transistors beaucoup de fonctions plusieurs horloges simulation logicielle rapide G. Berry, Collège de France 28/03/2013
Musique : homme / électronique Partition algorithmique? G. Berry, Collège de France 28/03/2013
La langue du temps dans la nuit des temps au bon vieux temps, c’était le bon temps jamais, au grand jamais un bout de temps un bon bout de temps de mon temps je prends mon temps sur le champ à tout bout de champ se lever dès potron-minet se coucher avec les poules G. Berry, Collège de France 28/03/2013
en moins de temps qu’il n’en faut pour le dire illico presto en moins de temps qu’il n’en faut pour le dire le temps passe vite unité? de longues minutes montre en main ? on a le temps de tuer un âne à coup de figues (molles) G. Berry, Collège de France 28/03/2013
Yantra Mandir, Jaipur, ~1730 G. Berry, Collège de France 28/03/2013
Yantra Mandir, Jaipur, ~1730 G. Berry, Collège de France 28/03/2013
Dans le passé, il y avait plus de futur que maintenant La flèche du temps passé présent futur 3h15mn 3h15mn date durée Vous avez dit 0 ? non, le 01/01 à 0h00 ! Le langage parlé est fleuri mai bien vague Il ya plein de paradoxes temporels Dans le passé, il y avait plus de futur que maintenant Le Chat G. Berry, Collège de France 28/03/2013
Le temps continu mathématique t t t ] t, t’ [ [ t, t’ ] A B événements grand manque d’humour simultanéité G. Berry, Collège de France 28/03/2013
Le temps discret mathématique n1 n1 n ] n, n’ [ [ n, n’ ] A B événements simultanéité G. Berry, Collège de France 28/03/2013
Précédence et causalité cause La causalité est-elle transitive ? il pleut donc je prends mon parapluie donc je suis sec il pleut donc je suis sec G. Berry, Collège de France 28/03/2013
Logique temporelle linéaire Après la pluie, le beau temps t. Pluie(t) t’>t. BeauTemps(t’) toujours cause? un jour (Pluie BeauTemps) prédicats instantanés le débogage, l’histoire et la biologie scrutent les causalités à partir des précédences G. Berry, Collège de France 28/03/2013
Amour un jour, amour toujours ( amour) ( amour) ( amour) ( amour) G. Berry, Collège de France 28/03/2013
Le cône du temps C B A D E Sachant que j’ai déjà fait A : si je fais B, j’aurai C mais si je fais D, j’aurai E Logiques temporelles arborescentes G. Berry, Collège de France 28/03/2013
Le double cône du temps C B A E’ A’ B’ E Si j’avais su, j’aurais dû faire A’ au lieu de A j’aurais eu C sans même faire B et, en faisant B’, j’aurais eu E’, meilleur que E ! Les gens au restaurant – j’en vois dans la salle G. Berry, Collège de France 28/03/2013
L’épaisseur de l’instant L’échange temps-espace L’horloge, mécanisme d’abstraction Le temps multiforme Le continu et le discret G. Berry, Collège de France 28/03/2013
L’épaisseur de l’instant Charlemagne a été couronné en l’an 800 Circuits : additionneur 3 bits oux ou et s a + a s b b r c c r Einsten et l’épaisseur de l’instant. Passer du continu au discret et du non-déterminisme au détermininme s a oux b oux c r (a et b) ou (b et c) ou (c et a) G. Berry, Collège de France 28/03/2013
L’épaisseur de l’instant b c r Einsten et l’épaisseur de l’instant. Passer du continu au discret et du non-déterminisme au détermininme G. Berry, Collège de France 28/03/2013
L’épaisseur de l’instant b c r Einsten et l’épaisseur de l’instant. Passer du continu au discret et du non-déterminisme au détermininme G. Berry, Collège de France 28/03/2013
L’épaisseur de l’instant b c r r Einsten et l’épaisseur de l’instant. Passer du continu au discret et du non-déterminisme au détermininme chemin critique chemin de temps de stabilisation maximal G. Berry, Collège de France 28/03/2013
attente du délai critique équations résolues! b c s a oux b oux c r (a et b) ou (b et c) ou (c et a) a, b, c s, r Einsten et l’épaisseur de l’instant. Passer du continu au discret et du non-déterminisme au détermininme attente du délai critique équations résolues! circuit machine parallèle vibratoire à résoudre les équations parallèles synchrones G. Berry, Collège de France 28/03/2013
L’addition dans l’espace r = 0 + s a + b + 1 a b s r pour n bits, temps n trop cher + 2 a b s r 3 G. Berry, Collège de France 28/03/2013
Addition dichotomique de von Neumann Perdre de l’espace pour gagner du temps : propager les retenues par dichotomie a b s a+b s’ a+b+1 n n+1 en parallèle G. Berry, Collège de France 28/03/2013
Addition dichotomique de von Neumann Pour 2n bits: a[0..n-1] b[0..n-1] s[0..n-1] s’[0..n-1] n n+1 0..n-1 s[n..2n] n 1 n s’[n..2n] 1 n n+1 a[n..2n-1] b[n..2n-1] parallélisme spéculation accélération G. Berry, Collège de France 28/03/2013
Addition dichotomique de von Neumann pour n bits, temps log2(n) optimal Ce qui est moins évident, c’est qu’on fait aussi la multiplication en log(n) 64 6 64 64 G. Berry, Collège de France 28/03/2013
L’addition dans le temps + a b s r a 1 21000000.... b 3 21100000.... s ? 2???????.... horloge tick ! G. Berry, Collège de France 28/03/2013
L’addition dans le temps + s s b + b 3 21100000.... r r s ? 20??????.... s ? 2???????.... tick tick ! G. Berry, Collège de France 28/03/2013
L’addition dans le temps + s s b + b 3 21100000.... r r s ? 20??????.... tick ! G. Berry, Collège de France 28/03/2013
L’addition dans le temps + s s b + b 3 21100000.... r r s ? 200?????.... s ? 20??????.... tick tick ! G. Berry, Collège de France 28/03/2013
L’addition dans le temps + s s s b b + b 3 21100000.... r r r s ? 2001????.... s ? 200?????.... tick tick ! G. Berry, Collège de France 28/03/2013
L’addition dans le temps + s s s b b + b 3 21100000.... r r r s ? 2001????.... tick ! Marche pour un nombre quelconque de bits, même infini nombres 2-adiques G. Berry, Collège de France 28/03/2013
Soutraction nombres 2-adiques + a b s r a 1 21000000.... b 3 21100000.... s 2 2011111.... horloge tick ! On a a + b + 1 s + 2r mais b + b 1 donc s ab CQFD G. Berry, Collège de France 28/03/2013
Quelques beaux additionneurs + pipeline sans retenue + 2 par 2 + stéréo G. Berry, Collège de France 28/03/2013
Temps logique vs.temps physique contrainte d’horloge : pas de recouvrement même si l’horloge est irrégulière G. Berry, Collège de France 28/03/2013
Circuits synchrones vs. asynchrones … entrées sorties synchrone dépendant du temps logique Booléenne CAO très efficace très répandu registers sorties entrées val stop prêt asynchrone indépendant du temps pas d’horloge, mais fils2 logique plus complexe CAO difficile peu répandu Logique G. Berry, Collège de France 28/03/2013
Circuits élastiques J. Cortadella, M. Kishinevsky et. al. entrées sorties logique Booléenne standard + registres + horloges logique asynchrone + filtres d’horloge CAO synchrone standard insensible à l’horloge insensible aux bulles facile de couper les fils longs val val prêt stop filtres d’horloge J. Cortadella, M. Kishinevsky et. al. G. Berry, Collège de France 28/03/2013
Horloges multiples synchronisons nos montres h h’ données h h’ h et h’ non synchronisables G. Berry, Collège de France 28/03/2013
Métastabilité 1 1 G. Berry, Collège de France 28/03/2013
Le ballon sur la colline 1 1 G. Berry, Collège de France 28/03/2013
Le synchroniseur 4 phases – fragile ! données G. Berry, Collège de France 28/03/2013
Temps multiforme hiérarchique Second Hour Morning Meter Lap Step HeartBeat HeartAttack G. Berry, Collège de France 28/03/2013
Le coureur Esterel trap HeartAttack in || CheckHeart exit HeartAttack handle HeartAttack fo run RushToHospital end trap every Morning do end every abort run Slowly when 100 Meter ; abort run Slowly when 100 Meter ; abort when 4 Lap loop each Lap abort every Step do run Jump || run Breathe end every when 15 Second ; run FullSpeed La recherche en train de se faire, je suis encore en train de chercher mieux que ce viel exemple éculé, mais sans succès! G. Berry, Collège de France 28/03/2013
Exécution cyclique lire les entrées calculer la réaction générer les sorties Synchrone délai 0 dans le même cycle i6 o7 o5 o1 o2 o6 o4 o3 i7 i5 i4 i3 i1 i2 temps logique WCET i6 o7 o5 o1 o2 o6 o4 o3 i7 i5 i4 i3 i1 i2 temps physique G. Berry, Collège de France 28/03/2013
Scade 6 pour l’embarqué certifié langage fonctionnel sémantique formelle compilateur certifié Voir aussi Ptolemy II (Ed Lee), Averest (K. Schneider) G. Berry, Collège de France 28/03/2013
Temps multiforme irrégulier Thomas Morley 1557-1602 Gustav Mahler 1860-1911 G. Berry, Collège de France 28/03/2013
Symphonie d’instruments à vents Igor Stravinsky Source Clément Lebrun, Octobre 2012 G. Berry, Collège de France 28/03/2013
De la sémantique à l’exécution modèle mathématique Langage représentations intermédiaires Coq vérification de théorèmes C, C++ SystemC Verilog VHDL embarqué simulateurs vérification automatique SAT, SMT, BDDs G. Berry, Collège de France 28/03/2013
Electricité et logique constructive Hamlet : ToBe ToBe or not ToBe ToBe calcule vrai (1) en logique classique, mais les électrons ne sont pas au courant ! calcule 1 électriquement pour certains délais, mais oscille pour d’autres Le tiers exclu, les électrons ne sont pas au courant, ce qui est quand même un comble! Théorème (Mendler-Shiple-Berry 2001-2012) : calcule 1 électriquement pour tous délais calcule vrai en logique constructive (tiers exclu) G. Berry, Collège de France 28/03/2013
Hop + HipHop : A Web Dynamic Esterel Miles Davis ? Music URL server Hop app urls build build MP3 servers Orchestrator who? done go ready Requester [ urls ] play ABRO: termination when all requesters done Handling all sorts of errors Player G. Berry, Collège de France 28/03/2013
Deux boules et un mur v chocs actions G. Berry, Collège de France 28/03/2013
Deux boules et un mur Modeleurs actuels OK G. Berry, Collège de France 28/03/2013
Boule collée au mur modeleurs actuels v pour certains modes d’exécution G. Berry, Collège de France 28/03/2013
Analyse constructive non-standard infinitésimal G. Berry, Collège de France 28/03/2013
Tout chercheur plongé dans la science subit une poussée de bas en haut susceptible de lui remonter le moral Pierre Desproges G. Berry, Collège de France 28/03/2013
FIN Grand merci à mes chers collègues Sémantique Gérard Boudol Gérard Huet Jean-Jacques Lévy Gilles Kahn Robin Milner Maurice Nivat Gordon Plotkin Robert de Simone Automates Ravi Sethi Circuits Jordi Cortadella Marc Galceran Michael Kishinevsky Jean Vuillemin Autres langages synchrones Charles André Albert Benveniste Paul Caspi Nicolas Halbwachs Paul Le Guernic Louis Mandel Florence Maraninchi Marc Pouzet Pascal Raymond Klaus Schneider Esterel v2 Laurent Cosserat Philippe Couronné Jean-Paul Rigault Esterel v3 Raphaël Bernhard Frédéric Boussinot Xavier Fornari Georges Gonthier Jean-Paul Marmorat Valérie Roy Jean-Marc Tanzi Esterel v4 / v5 / v6 Loïc Henry-Gréard Dumitru Potop Horia Toma Esterel v7 Laurent Arditi Arnaud Boulan Laurent Desnogues Bruno Pagano Marc Perreaut Olivier Tardieu Contributeurs majeurs à Esterel Daniel Gaffé Luciano Lavagno Partha Roop S. Ramesh Ellen Sentovich R.K. Shyamasundar Luigi Zaffallon Consulting Esterel v7 Lionel Blanc Xavier Dormoy Sylvie Granier Scade 6 François-Xavier Dormoy Jean Henry Le langage Jazz Patrice Bertin François Bourdoncle Alexandre Frey Mark Shand Les BDDs (TiGeR) Olivier Coudert Jean-Christophe Madre Hervé Touati Nos utilisateurs Yves Auffray Eric Badi Simona Bernardi Gaël Clavé Marc Duranton Reinhard van Hanxleden Lalita Jategaondar Emmanuel Ledinot Yves Leduc Carlo Pistritto Laurent Six Pierre Voultoury et tous les anonymes.... Logiques, Coq Yves Bertot Jean-Yves Girard Précieux conseillers techniques Emilie Baffico-Austry Bob Brayton Michael Fourman Philippe Geluck Jean Krivine Florence Meillat Ed Lee Jean-Luc Szpyrka Alberto Sangiovanni Vincentelli La direction d’Esterel Technologies Jean-François Baggioni Eric Bantegnie Fabrice « Fenec » Capelle Bernard Dion Cyrille Fagué Fabrice Péna Jean-Pierre Renault Amandine Roy FIN G. Berry, Collège de France 28/03/2013