Programming hybrid systems with synchronous languages

icon

91

pages

icon

English

icon

Documents

Écrit par

Publié par

Lire un extrait
Lire un extrait

Obtenez un accès à la bibliothèque pour le consulter en ligne En savoir plus

Découvre YouScribe en t'inscrivant gratuitement

Je m'inscris

Découvre YouScribe en t'inscrivant gratuitement

Je m'inscris
icon

91

pages

icon

English

icon

Documents

Lire un extrait
Lire un extrait

Obtenez un accès à la bibliothèque pour le consulter en ligne En savoir plus

Programming hybrid systems with synchronous languages Marc Pouzet1,2,3 Albert Benveniste3 Timothy Bourke3,1 Benoît Caillaud3 1. École normale supérieure (LIENS) 2. Université Pierre et Marie Curie 3. INRIA CSDM 2011, December 7–9, Paris

  • time scale

  • ecole normale

  • ?? temporal

  • zero time

  • synchronous languages

  • spécification assistée par ordinateur


Voir icon arrow

Publié par

Nombre de lectures

13

Langue

English

Poids de l'ouvrage

1 Mo

Programming hybrid systems with synchronous
languages
1,2,3Marc Pouzet
3 3,1 3Albert Benveniste Timothy Bourke Benoît Caillaud
1. École normale supérieure (LIENS)
2. Université Pierre et Marie Curie
3. INRIA
CSDM 2011, December 7–9, ParisReactive systems
I They react continuously to the external environment.
I At the speed imposed by this environment.
I Statically bounded memory and response time.
Conciliate three notions in the programming model:
I Parallelism, concurrency while preserving determinism.
e.g, control at the same time rolling and pitching
,→ parallel description of the system
I Strong temporal constraints.
e.g, the physics does not wait!
,→ temporal constraints should be expressed in the system
I Safety is important (critical systems).
,→ well founded languages, verification methodsSynchronous Kahn Networks
M1 M2
M4
M3
I parallel processes communicating through data-flows
I communication in zero time: data is available as soon as it is
produced.
I a global logical time scale even though individual rhythms may differ
I these drawings are not so different from actual computer programsSAO (Spécification Assistée par Ordinateur)—Airbus 80’s
Describe the system as block diagrams (synchronous communicating
machines)SCADE 4 (Safety Critical Application Development Env. – Esterel-Tech.)
From computer assisted drawings to executable (sequential/parallel) code!constants 1 = 1 1 1 1 ···
operators x + y = x +y x +y x +y x +y ···0 0 1 1 2 2 3 3
(z = x + y means that at every instant i : z = x +y )i i i
unit delay 0 fby (x + y) = 0 x +y x +x x +x ···0 0 1 1 2 2
pre (x + y) = nil x +y x +x x +x ···0 0 1 1 2 2
0→pre (x + y) = 0 x +y x +x x +x ···0 0 1 1 2 2
Lustre: a dataflow programming language
Caspi, Pilaud, Halbwachs, and Plaice. Lustre: A Declarative Language for Programming Synchronous Systems. 1987.
Programming with streamsoperators x + y = x +y x +y x +y x +y ···0 0 1 1 2 2 3 3
(z = x + y means that at every instant i : z = x +y )i i i
unit delay 0 fby (x + y) = 0 x +y x +x x +x ···0 0 1 1 2 2
pre (x + y) = nil x +y x +x x +x ···0 0 1 1 2 2
0→pre (x + y) = 0 x +y x +x x +x ···0 0 1 1 2 2
Lustre: a dataflow programming language
Caspi, Pilaud, Halbwachs, and Plaice. Lustre: A Declarative Language for Programming Synchronous Systems. 1987.
Programming with streams
constants 1 = 1 1 1 1 ···unit delay 0 fby (x + y) = 0 x +y x +x x +x ···0 0 1 1 2 2
pre (x + y) = nil x +y x +x x +x ···0 0 1 1 2 2
0→pre (x + y) = 0 x +y x +x x +x ···0 0 1 1 2 2
Lustre: a dataflow programming language
Caspi, Pilaud, Halbwachs, and Plaice. Lustre: A Declarative Language for Programming Synchronous Systems. 1987.
Programming with streams
constants 1 = 1 1 1 1 ···
operators x + y = x +y x +y x +y x +y ···0 0 1 1 2 2 3 3
(z = x + y means that at every instant i : z = x +y )i i ipre (x + y) = nil x +y x +x x +x ···0 0 1 1 2 2
0→pre (x + y) = 0 x +y x +x x +x ···0 0 1 1 2 2
Lustre: a dataflow programming language
Caspi, Pilaud, Halbwachs, and Plaice. Lustre: A Declarative Language for Programming Synchronous Systems. 1987.
Programming with streams
constants 1 = 1 1 1 1 ···
operators x + y = x +y x +y x +y x +y ···0 0 1 1 2 2 3 3
(z = x + y means that at every instant i : z = x +y )i i i
unit delay 0 fby (x + y) = 0 x +y x +x x +x ···0 0 1 1 2 20→pre (x + y) = 0 x +y x +x x +x ···0 0 1 1 2 2
Lustre: a dataflow programming language
Caspi, Pilaud, Halbwachs, and Plaice. Lustre: A Declarative Language for Programming Synchronous Systems. 1987.
Programming with streams
constants 1 = 1 1 1 1 ···
operators x + y = x +y x +y x +y x +y ···0 0 1 1 2 2 3 3
(z = x + y means that at every instant i : z = x +y )i i i
unit delay 0 fby (x + y) = 0 x +y x +x x +x ···0 0 1 1 2 2
pre (x + y) = nil x +y x +x x +x ···0 0 1 1 2 2

Voir icon more
Alternate Text