Post on 11-Jan-2016
description
Coopération de modèles de temps
Gérard Berry
Collège de FranceChaire Algorithmes, machines et langages
http://www.college-de-france.fr/site/gerard-berrygerard.berry@college-de-france.fr
Cours 6, 19 mars 2014
G. Berry, Collège de France 19/03/2014 2
Rappel : les trois modèles fondamentaux
• Synchrone– temps conceptuellement nul (négligeable)– simple, déterministe : circuits, logiciels embarqués
• Vibratoire– temps prévisible (pas toujours rapide)– électronique des circuits synchrones– ordonnancement statique des logiciels synchrone
(WCET)
• Asynchrone– algorithmique distribuée générale – Internet (TCP/IP)
Chacun de ces modèles est localement compositionnel,mais que dire de la composition de modèles différents ?
G. Berry, Collège de France
• Synchrone–dans la même pièce, au téléphone
• Vibratoire– le télégraphe (il faut taper le message)– le pneumatique, le train (Suisse)
• Asynchrone – plus ou moins prévisible : le courrier, Internet– imprévisible : toute caisse de retraite
• Continu / discret : téléphone / lettre
19/03/2014 3
Dans la vie courante
4G. Berry, Collège de France 19/03/2014
Principaux modes de communicationmedium type impression adressage
courrier 11 asynchrone physique
courriel 11 asynchrone logique
télégramme, pneu 11 vibratoire physique
SMS 11 vibratoire logique
téléphone 11 (n?) synchrone physique
chat / tél Internet 11 (n?) synchrone logique
tableau d’affichage 1n asynchrone physique
site web, mass-mailing 1n asynchrone logique
théâtrophone 1n synchrone physique
radio / télévision 1n synchrone logique
tweet 1n vibratoire logique
réunion (parole) nn synchrone physique
audio / vidéo conf. nn synchrone logique
forum internet nn asynchrone logique
G. Berry, Collège de France 19/03/2014 5
Quelques outils de simulation
pour simuler par outil
courriel courrier réexpédition
tableau d’affichage courrier / courriel
envoi en masse
tableau d’affichage téléphone répondeur
courriel téléphone répondeur avec appel à distance
téléphone radio walkie-talkie, appel VHF
site web radio CNN, France-info, BFM
forum radio CB des taxis
radio asynchrone streaming
On peut simuler l’asynchrone par le synchrone ou le vibratoire,mais pas vraiment l’inverse sans l’informatique !
G. Berry, Collège de France
• Passage à l’adressage logique–dissociation du temps et de l’espace
• Accélération majeure du mode asynchrone– téléchargement >> bibliothèque
• Possibilité de simuler le vibratoire / (presque) synchrone par l’asynchrone « best effort »–vibratoire : streaming son et vidéo–synchrone : téléphone par Internet–point dur : la mesure des performances du réseau
19/03/2014 6
L’apport de l’informatique
Exemple d’erreur hélas fréquente : vouloir synchroniser freins et suspension d’une voiture avec de l’asynchrone
G. Berry, Collège de France
• Mécanique puis électrique– Chappe (1794, ParisLille)– Wheatstone (1838, LondresBirmingham)– Morse (1843, BaltimoreWashington)– doublement vibratoire : télégraphe + pneumatique !
19/03/2014 7
L’apport du télégraphe (1794-1838-1843)
Changement technique et mental extraordinairedéclaré deuxième invention fondamentale après la roue !The Victorian Internet, Tom Standage, Berkley Books, NY
• Fantastique raccourcissement des délais– exemple Angleterre / USA, Inde ou Australie, Portugal / Macao, etc.
• Progrès technologiques rapides et massifs– manuel électrique, millions de km de lignes, pneumatique, etc.
• Explosion de nouvelles applications– information, commerce, politique, cœur, etc.
8G. Berry, Collège de France 19/03/2014
... Mais aussi
Retour de l’Histoire :la France a été en avance... puis en retard,
pour le Télégraphe Chappe (1794) et le Minitel (1980-2012) !
• Discours éthérés– plus de guerres, victoire de la démocratie, etc.
• Tricheries– San Francisco : paris gagnants sur les courses de New York
G. Berry, Collège de France
• Systèmes asynchrones– réactions chimiques de construction des protéines dans les cellules cf. BioCham, séminaire de F. Fages au Colloque 2008 : http://www.college-de-france.fr/site/gerard-berry/symposium-2008-05-23-10h45.htm
19/03/2014 9
En biologie
• Systèmes vibratoires– commande du cœur circulation sanguine– propagation de l’influx nerveux– rythmes neuronaux alpha, beta, theta, gamma, circadien– vision et audition, contrôle du mouvement– réplication de l’ADN (40 nucléotides / s), transcription de l’ARN– idem pour les plantes, rythme des saisons et du jour
Coopération de systèmes continus et discrets :potentiels d’action, battement de cœur, saccades oculaires, etc.
• Systèmes intermédiaires– système immunitaire (croissance exponentielle des lymphocytes)– système hormonal
G. Berry, Collège de France 19/03/2014 10
Exemple de synchronisations
• Sensations de simultanéité < 20ms (toucher, musique)
• Vision uniforme d’une image malgré les saccades oculaires
• synchronisation vision (lèvres) / audition (voix) malgré des chemins neuronaux très différents
• impact du synchronisme temporel des potentiels d’action sur l’émission de potentiels d’action (C. Rossant)
• coordination du mouvement (A. Berthoz)
G. Berry, Collège de France 19/03/2014 11
Mélanger les temps en informatique :beaucoup de travaux, souvent épars...
• Implémentation des langages et systèmes synchrones– implémentations vibratoires sur circuits ou logiciels (WCET)– domaines synchrones de Ptolemy (E. A. Lee, Berkeley)– systèmes distribués fortement synchronisés (PTIDES, E. A. Lee)– distribution de programmes synchrones sur infrastructures asynchrones
• Réseaux mixtes vibratoires / asynchrones– TTP, FlexRay, Real-time Ethernet, etc.– applications typiques: avionique, automobile, etc.
• Systèmes GALS (Globally Asynchronous Locally Synchronous)– SoCs multi-horloges– Orchestration synchrone d’activités Web asynchrones en Hop / Hiphop
(cours séminaire du 28 mai 2013)
12G. Berry, Collège de France 19/03/2014
• Simulation logicielle de phénomènes physiques– relation entre temps d’exécution (wall time) et temps du système simulé– relations entre temps continus et discrets cf. cours du 19 mars, et exposés de K-J. Åström (19 mars 2014) et M. Pouzet (26 mars 2014)
• Approximation asynchrone de logiques vibratoires / synchrones– transmission asynchrone « best effort » de flots synchrone (streaming audio / vidéo, téléphone Internet)– timestamps dans les algorithmes distribués asynchrones (L. Lamport)– génération de sons en temps-réel avec OS asynchrone (Antescofo)
• Automatique répartie tolérante au temps– cf. séminaire d’Albert Benveniste (LTTA), 5 mars 2014
G. Berry, Collège de France
• Exemple typique : implémenter un langage conceptuellement parallèle par un ordonnancement forcé pour le rendre séquentiel, donc apparemment simple– Langage IEEE 1131 pour automates programmables– Statecharts (25+ sémantiques proposées)– Stateflow (Matlab, associé à Simulink), cf. cours du 2 avril 2013– etc.
19/03/2014 13
Le danger des méthodes « pragmatiques »
Implémenter quelque chose, puis essayer de lui trouver une sémantique
=> Mauvaise compositionnalité, vérification formelle difficile, etc.
G. Berry, Collège de France 19/03/2014 14
Une question centrale : le déterminisme fonctionnel et temporel
• Dans quelle mesure est-il une contrainte du type d’application ?
• Si oui, le formalisme le respecte-t-il par construction ?
• Eventuellement dans certaines parties du système et pas dans d’autres?
J’aime bien l’idée que les réactions de ma voitureà mes commandes restent relativement déterministes
G. Berry, Collège de France 19/03/2014 15
Une grande tentative d’unification :Ptolemy II, E.A. Lee et. al. (UC Berkeley)
• Grand projet démarré en par Edward Lee à UC Berkeley, EECS Electrical Engineering and Computer Science Lab, à la suite de Ptolemy Classic (1980, avec J. Buck et. al.).
• Principe: modélisation et simulation de systèmes informatiques embarqués complexes, avec intégration de plusieurs modèles de calcul temporels ou non
• Attention particulière à la rigueur sémantique, et interface homme-machine élégante
• Logiciel Open Source (licence BSD), utilisé industriellement
• Livre papier ou PDF gratuit, exemples animés http://ptolemy.eecs.berkeley.edu/books/Systems/
16G. Berry, Collège de France 19/03/2014
La hiérarchie des modèles de calcul de Ptolemy
traités dans le livre
1719/03/2014G. Berry, Collège de France
Style d’un modèle Ptolemy IIdéfinit le modèle de calcul global, ici Discrete Events
générateurd’entrées
afficheur
acteurshiérarchiques
(modèlesde calculdifférents)
G. Berry, Collège de France 19/03/2014 18
Synchronous Dataflow (SDF)m n
lit m entrées, en produit n
2 3A BA A A B B : 6 mémoiresA A B A B : 4 mémoires
n pA B
A déclenché a fois, B b foiséquation d’équilibre : na pb
2
1A C
B1 2
1
1
ABCC
2
1A C
B1
1
1 1
G. Berry, Collège de France 19/03/2014 19
Synchronous Dataflow (SDF)
Messerchmitt & Lee (1987) : procédure pour décider s’il y a un ordonnancement statique garantissant des buffers bornés
et pour fournir l’ordonnancement minimal.
Taux de lecture ou production conditionnels,ou buffer non bornés changement de modèle:
DDF Dynamic Dataflow
Note : les modèles SDF et DDF n’ont pas de temps propre,mais ils s’intègrent dans les modèles temporels
facilement pour SDF (un cycle par « unité de temps » plus difficilement pour DDF, car scheduling dynamique
G. Berry, Collège de France 19/03/2014 20
Application sonore SDF
G. Berry, Collège de France 19/03/2014 21
DFF, avec mémoire finie ou infinie
switch et testdans le même sens
switch et testinversés
G. Berry, Collège de France 19/03/2014 22
Automates finis hiérarchiques (FSM)
Une vieille connaissance:ABRO
A / B /
R /
/ O
loop abort { await A || await B }; emit O ; halt when Rend loop
G. Berry, Collège de France 19/03/2014 23
Automates finis hiérarchiques (FSM)
Une vieille connaissance:ABRO en Ptolemy II
Transitions synchronessur événements
Fortement inspiré des SyncCharts de C. André
G. Berry, Collège de France
• Similaire aux langages synchrones Lustre, Signal etc.
• Utilise la sémantique constructive d’Esterel–sous forme de point fixe dans une logique à 3 valeurs, cf prochain cours du 26 mars 2014
• Peut accueillir des sous-modèles variés et servir d’orchestrateur, comme les FSMs– cf. cours / séminaire HipHop vs. Hop, 28 mai 2013
19/03/2014 24
SR : Synchronous-Reactive Models
G. Berry, Collège de France 19/03/2014 25
SR : de Simone Round-Robin Scheduler
Cf. cours 1, 2014Ptolemy II implémente
la sémantique constructive(en mode interprétation)
NB: erreur dans le livre :Esterel possède aussi le modeinterprétation, pas seulement
le mode compilation
G. Berry, Collège de France
• modèle de temps superdense timestamp (t,n) où t est flottant double et n entier
t est une valeur dans le temps du modèle n est un index pour les événements de temps t
(t,n) fortement synchrone avec (t’,n’) si t t’ et n n’(t,n) faiblement synchrone avec (t’,n’) si t t’
• Scheduling ordre des timestamps ordre topologique priorités (pour les timestamps fortement synchrones restants)
19/03/2014 26
DE : Discrete Events Models
temps constructif
o6
i7i5i1 i2 i6i4i3
o7o5o4o3o1 o2
temps superdense
cf. cours 1, 2013
G. Berry, Collège de France 19/03/2014 27
Temps superdense : le pendule de Newton
Conservation de la quantité de mouvement dans les chocsla quantité de mouvement saute de bille en bille en temps 0Ptolemy : de microstep en microstep
Alternative : le temps non-standard,cf. séminaire de M. Pouzet, 26 mars 2014
G. Berry, Collège de France 19/03/2014 28
DE démo : un serveur avec FIFO
G. Berry, Collège de France 19/03/2014 29
DE démo : le même sans fil
Liaison par nom
G. Berry, Collège de France 19/03/2014 30
Un serveur plus complexe
G. Berry, Collège de France 19/03/2014 31
Modèle mixte continu / discret + Zénon
G. Berry, Collège de France 19/03/2014 32
Continuous : attention à Zénon et au test de fin !
G. Berry, Collège de France
• Faire coopérer des modèles de temps n’est pas si simple et mérite d’être étudié de près.
• On trouve des tas de solutions ad-hoc dans la vie courante
• Mais le problème n’est pas encore assez reconnu et étudié en informatique
• Quelques travaux importants : relation synchrone / vibratoire, coopération synchrone / asynchrone, implémentations d’algorithmes d’automatique, simulateurs continus / discrets
• Et une grande tentative d’unification globale, Ptolemy II
19/03/2014 33
Conclusion
G. Berry, Collège de France 19/03/2014 34
Quelques références
The Victorian InternetTom Standage, Berkley Books, New York (1998)
Real Time Programming: PSpecial urpose or General Purpose LanguagesG. Berry. Information Processing 89, G.X. Ritter (Ed.), Elsevier Science PublishersB.V., North-Holland (1989) 11-18.
System Design, Modeling, and Simulation using Ptolemy IIClaudius Ptolemaeus, Editor (2014)téléchargable avec toutes les démos animées:http://ptolemy.eecs.berkeley.edu/books/Systems/
On the Schedulability of Real-Time Discrete Event SystemsE. Matsikoudis, C. Stergiou, E.A. Lee. Proc EMSOFT 2013.
PTIDES: A Programming Model for Distributed Real-Time Embedded Systems P. Derler, T. Huining Feng, E.A. Lee, S. Matic, H.D.Patel, YangZ hao, Jia Zou Report EECS-2008-72, EECS Department, University of California, Berkeleyhttp://www.eecs.berkeley.edu/Pubs/TechRpts/2008/EECS-2008-72.html
G. Berry, Collège de France 19/03/2014 35
Ptides (E. Lee et. al) : Programming Temporally Integrated Distributed Systems
les messages portent des timestamps précis
Les acteurs spécifient les calculs
G. Berry, Collège de France 19/03/2014 36
synchro d’horloge bornée (PTP)
la synchronisationdonne un sens global
aux timestamps
messages traités dans l’ordre
des timestamps
Synchronisation d’horloges
G. Berry, Collège de France 19/03/2014 37
Synchronisation d’horloges
timestamp temps limite
timestamp = date de mesure
capteurs acteurs
actuateurs acteurs
G. Berry, Collège de France 19/03/2014 38
Interprétation temps-réel des timestamps
timestamp temps limite
timestamp = date de mesure
capteurs acteurs
actuateurs acteurs
G. Berry, Collège de France 19/03/2014 39
Maîtrise des latences
La latence globale des capteurs aux actionneurs est calculable,ce qui rend la correction et la performance du système analysable
maîtrise des latences par calcul
des timestamps
actuateurs : timestamps
date de l’actionretour au monde physique
G. Berry, Collège de France 19/03/2014 40
Conséquence : déterminisme !
délai du réseauborné d
un événement de timestamp t peut être sorti au tempst + s + d + e – d2
hypothèse: erreur d’horloge bornée e
hypothèse : délai des capteurs borné s
application:latence d2
Note : Il faut des bornes aux interfaces réseau pour garantir l’ordre temporel indépen-damment de l’ordre d’exécution des acteurs.