Programming hybrid systems with synchronous languages
91 pages
English

Découvre YouScribe en t'inscrivant gratuitement

Je m'inscris

Programming hybrid systems with synchronous languages

-

Découvre YouScribe en t'inscrivant gratuitement

Je m'inscris
Obtenez un accès à la bibliothèque pour le consulter en ligne
En savoir plus
91 pages
English
Obtenez un accès à la bibliothèque pour le consulter en ligne
En savoir plus

Description

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


Sujets

Informations

Publié par
Nombre de lectures 16
Langue English
Poids de l'ouvrage 1 Mo

Extrait

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

  • Univers Univers
  • Ebooks Ebooks
  • Livres audio Livres audio
  • Presse Presse
  • Podcasts Podcasts
  • BD BD
  • Documents Documents