SlideShare a Scribd company logo
ESTEREL
Nazli Temur
M1 International Master of Computer Science
What is ESTEREL ?
Small Terminology
Where we use ESTEREL ?
Underlying Model and Basic Features
Simple - Sample Program
Conclusion - Q&A
CONTENT
WHAT IS ESTEREL ?
Esterel is a synchronous programming language for the
development of complex reactive systems.
SYNCHRONIZATION TERMINOLOGY
The idea that multiple processes are to join up or handshake at
a certain point,
in order to reach an agreement or commit to a certain
sequence of action
As the name suggests Synchronous Motors are capable of
running at constant speed irrespective of the load acting on them.
The term sun synchronous means that the section monitored by
the satellites is always radiated by the sun in the same way.
//Always at a specific local time.
SYNCRONOUS ?
(1) Transformational systems (take some inputs, process them, deliver their outputs, and
terminate their execution //Compiler
(2) Interactive systems (interact continuously with their environment, at their own speed
// the Web
(3) Reactive Systems ( interact continuously with their environment, at a speed imposed
by the environment
// Automatic flight control system of modern airplanes. [Real-time Systems]
REACTIVE SYSTEMS? WHERE TO USE
When activated with an input event, a reactive system reacts by producing an output
event.
A real-time system is one that produce a response within a specified time, else risk
severe consequences, including failure.
That is, in a system with a real-time constraint it is no good to have the correct action
or the correct answer after a certain deadline.
REACTIVE SYSTEMS?
ESTEREL
The development of the language started in the early 1980s, and was mainly
carried out by a team of Ecole des Mines de Paris and INRIA led by Gérard
Berry.
Motivations behind ESTEREL can be summed up by the
ESTEREL = reactivity
+ atomicity of reactions “perfect synchrony hypothesis,”
+ instantaneous broadcast
+ determinism
UNDERLYING MODEL
REACTIVITY
When activated with an input’event, a reactive system reacts by producing an output event.
Reactive systems are seen as “black boxes” that must be activated from outside in order to react;
They have input lines to receive input events from the outside, and output lines to produce output
events.
The life of a reactive system is divided into instants that are the moments //external clock//
where it reacts.
ATOMICITY OF REACTIONS
The basic hypothesis of ESTEREL is called the perfect synchrony hypothesis: it says that reactions
are instantaneous so that activations and productions of output are synchronous,
A reactive program is a function that produces a sequence of output events from a sequence of
input events.
Reactions are atomic, that is, program reactions cannot overlap.
In other words: there is no possibility to activate a system while it is reacting to the current
activation.
Hypothesis simplifies the reasoning about reactive systems as concurrency between reactions is
not to be considered.
Without the atomicity assumption, this concurrency would be a source of nondeterminism.
INSTANTANEOUS BROADCAST
Broadcast(Hand Raising) is limited to instants: the emission of a signal (using an emit statement) lasts
for the current instant.
ESTEREL broadcast has an important characteristic: emissions and receptions do no terminate the
current instant.
In other words, there can be several signal emissions and receptions in sequence within the same
instant.
This characteristic allows to program so called “instantaneous decisions” that are specific to
ESTEREL.
Hand Raising: when one wants to communicate, one raises its hand, so everybody can see.
Nondeterminism is completely thrown out of ESTEREL.
With traditional approaches, one has to choose between parallelism and
nondeterminism on one hand or determinism but sequentiality on the other
hand.
On the contrary, ESTEREL parallelism is deterministic.
Def : whose resulting behavior is entirely determined by its initial state and its
inputs which is not random.
DETERMINISM
HELLO WORLD! :)
The below program emits the output O as soon as both inputs A [HELLO] and B [WORLD!] have been received. Reset the
behavior whenever the input R is received.
module ABRO: // Programs consist of modules
input A, B, R; // inputs signals and
output O; // outputs signals
loop … each statement
implements the reset
await waits for the next cycle in
which its signal is present
|| operator means run the two
awaits in parallel
Parallel statements terminate
immediately when all branches
done.
Emit O makes signal O present
when A and B have both arrived
Remember Black Box
EXECUTION
As a benefit of the formal approach,
ESTEREL programs can be compiled efficiently
into finite states machines and can generate
efficient code.
FINITE STATE STEPS
STEP1
STEP 2
STEP 3
STEP 4
HARDWARE SYNCHRONOUS
CIRCUITS REPRESENTATION
Another use of ESTEREL that seems very promising is to produce code for electronic circuits.
CONCLUSION
Separating a program into parallel components for better modularity
ESTEREL high level program that can be graphically simulated and proved using verification
systems;
It can be translated into several sequential languages and executed with great efficiency. But
it is difficult to compile.
However, ESTEREL can be useful in larger context when one has to produce several
automata that must cooperate.
Not an easy framework for checking causality but Scalability attractive for industrial users
http://www.inf.fu-berlin.de/lehre/SS13/Sem-Prog/material/ESTEREL.pdf
http://es.cs.uni-kl.de/publications/datarsg/BrSc07b.pdf
http://www-verimag.imag.fr/~halbwach/newbook.pdf
http://web.cs.wpi.edu/~cs3013/c07/lectures/Section06-Sync.pdf
http://en.wikipedia.org/
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.8.2146&rep=rep1&type=pdf
http://www.esterel.org/esterel-history/
http://slideplayer.fr/slide/1207810/
Teacher :)
REFERENCES
Esterel as A Realtime System Programming Language

More Related Content

PPTX
Fuzzy Logic Controller
PDF
Time series models iv
PDF
Kalsekar hospital
PPTX
Antescofo Syncronous Languages for Musical Composition
PPT
Start up Interviews + Food Market Shift Research
PDF
Recursive IIR Implementation for Edge Detection
PPTX
All Perfect Elimination Orderings & Minimal Vertex Seperators
PDF
Ubiquitous Computer Vision in IoT
Fuzzy Logic Controller
Time series models iv
Kalsekar hospital
Antescofo Syncronous Languages for Musical Composition
Start up Interviews + Food Market Shift Research
Recursive IIR Implementation for Edge Detection
All Perfect Elimination Orderings & Minimal Vertex Seperators
Ubiquitous Computer Vision in IoT

More from nazlitemu (15)

PDF
Brave machine's tomorrow nazli temur
PDF
Computer vision in public
PDF
Blockcircus Hackathon --> The Mesh Team
PPTX
Future with Machine Vision
PDF
Activity Recognition Using RGB-Depth Sensors-Final report
PDF
Using R Tool for Probability and Statistics
PDF
Activity Recognition using RGBD
PDF
Language Design for Activity Recognition
PDF
Representing Graphs by Touching Domains
PDF
LexBFS-Minimal VertexSeparators Final Presentation
PPTX
LEXBFS on Chordal Graphs with more Example
PPTX
LEXBFS on Chordal Graphs
PDF
BFS & Interval Graph Introduction
PDF
Foodhub - A Research on Food Market Shift in France
PDF
Measurement Strategy for Software Companies
Brave machine's tomorrow nazli temur
Computer vision in public
Blockcircus Hackathon --> The Mesh Team
Future with Machine Vision
Activity Recognition Using RGB-Depth Sensors-Final report
Using R Tool for Probability and Statistics
Activity Recognition using RGBD
Language Design for Activity Recognition
Representing Graphs by Touching Domains
LexBFS-Minimal VertexSeparators Final Presentation
LEXBFS on Chordal Graphs with more Example
LEXBFS on Chordal Graphs
BFS & Interval Graph Introduction
Foodhub - A Research on Food Market Shift in France
Measurement Strategy for Software Companies
Ad

Recently uploaded (20)

PPTX
Operating system designcfffgfgggggggvggggggggg
PPTX
L1 - Introduction to python Backend.pptx
PDF
System and Network Administraation Chapter 3
PPTX
Reimagine Home Health with the Power of Agentic AI​
PDF
Softaken Excel to vCard Converter Software.pdf
PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
PDF
PTS Company Brochure 2025 (1).pdf.......
PDF
AI in Product Development-omnex systems
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PDF
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PDF
medical staffing services at VALiNTRY
PPTX
Introduction to Artificial Intelligence
PDF
System and Network Administration Chapter 2
PDF
Understanding Forklifts - TECH EHS Solution
PDF
How to Choose the Right IT Partner for Your Business in Malaysia
PDF
How Creative Agencies Leverage Project Management Software.pdf
PDF
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
Operating system designcfffgfgggggggvggggggggg
L1 - Introduction to python Backend.pptx
System and Network Administraation Chapter 3
Reimagine Home Health with the Power of Agentic AI​
Softaken Excel to vCard Converter Software.pdf
Adobe Illustrator 28.6 Crack My Vision of Vector Design
PTS Company Brochure 2025 (1).pdf.......
AI in Product Development-omnex systems
How to Migrate SBCGlobal Email to Yahoo Easily
Wondershare Filmora 15 Crack With Activation Key [2025
2025 Textile ERP Trends: SAP, Odoo & Oracle
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
medical staffing services at VALiNTRY
Introduction to Artificial Intelligence
System and Network Administration Chapter 2
Understanding Forklifts - TECH EHS Solution
How to Choose the Right IT Partner for Your Business in Malaysia
How Creative Agencies Leverage Project Management Software.pdf
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
Ad

Esterel as A Realtime System Programming Language

  • 1. ESTEREL Nazli Temur M1 International Master of Computer Science
  • 2. What is ESTEREL ? Small Terminology Where we use ESTEREL ? Underlying Model and Basic Features Simple - Sample Program Conclusion - Q&A CONTENT
  • 3. WHAT IS ESTEREL ? Esterel is a synchronous programming language for the development of complex reactive systems.
  • 4. SYNCHRONIZATION TERMINOLOGY The idea that multiple processes are to join up or handshake at a certain point, in order to reach an agreement or commit to a certain sequence of action
  • 5. As the name suggests Synchronous Motors are capable of running at constant speed irrespective of the load acting on them. The term sun synchronous means that the section monitored by the satellites is always radiated by the sun in the same way. //Always at a specific local time. SYNCRONOUS ?
  • 6. (1) Transformational systems (take some inputs, process them, deliver their outputs, and terminate their execution //Compiler (2) Interactive systems (interact continuously with their environment, at their own speed // the Web (3) Reactive Systems ( interact continuously with their environment, at a speed imposed by the environment // Automatic flight control system of modern airplanes. [Real-time Systems] REACTIVE SYSTEMS? WHERE TO USE
  • 7. When activated with an input event, a reactive system reacts by producing an output event. A real-time system is one that produce a response within a specified time, else risk severe consequences, including failure. That is, in a system with a real-time constraint it is no good to have the correct action or the correct answer after a certain deadline. REACTIVE SYSTEMS?
  • 9. The development of the language started in the early 1980s, and was mainly carried out by a team of Ecole des Mines de Paris and INRIA led by Gérard Berry. Motivations behind ESTEREL can be summed up by the ESTEREL = reactivity + atomicity of reactions “perfect synchrony hypothesis,” + instantaneous broadcast + determinism UNDERLYING MODEL
  • 10. REACTIVITY When activated with an input’event, a reactive system reacts by producing an output event. Reactive systems are seen as “black boxes” that must be activated from outside in order to react; They have input lines to receive input events from the outside, and output lines to produce output events. The life of a reactive system is divided into instants that are the moments //external clock// where it reacts.
  • 11. ATOMICITY OF REACTIONS The basic hypothesis of ESTEREL is called the perfect synchrony hypothesis: it says that reactions are instantaneous so that activations and productions of output are synchronous, A reactive program is a function that produces a sequence of output events from a sequence of input events. Reactions are atomic, that is, program reactions cannot overlap. In other words: there is no possibility to activate a system while it is reacting to the current activation. Hypothesis simplifies the reasoning about reactive systems as concurrency between reactions is not to be considered. Without the atomicity assumption, this concurrency would be a source of nondeterminism.
  • 12. INSTANTANEOUS BROADCAST Broadcast(Hand Raising) is limited to instants: the emission of a signal (using an emit statement) lasts for the current instant. ESTEREL broadcast has an important characteristic: emissions and receptions do no terminate the current instant. In other words, there can be several signal emissions and receptions in sequence within the same instant. This characteristic allows to program so called “instantaneous decisions” that are specific to ESTEREL. Hand Raising: when one wants to communicate, one raises its hand, so everybody can see.
  • 13. Nondeterminism is completely thrown out of ESTEREL. With traditional approaches, one has to choose between parallelism and nondeterminism on one hand or determinism but sequentiality on the other hand. On the contrary, ESTEREL parallelism is deterministic. Def : whose resulting behavior is entirely determined by its initial state and its inputs which is not random. DETERMINISM
  • 14. HELLO WORLD! :) The below program emits the output O as soon as both inputs A [HELLO] and B [WORLD!] have been received. Reset the behavior whenever the input R is received. module ABRO: // Programs consist of modules input A, B, R; // inputs signals and output O; // outputs signals loop … each statement implements the reset await waits for the next cycle in which its signal is present || operator means run the two awaits in parallel Parallel statements terminate immediately when all branches done. Emit O makes signal O present when A and B have both arrived
  • 16. As a benefit of the formal approach, ESTEREL programs can be compiled efficiently into finite states machines and can generate efficient code. FINITE STATE STEPS
  • 17. STEP1
  • 21. HARDWARE SYNCHRONOUS CIRCUITS REPRESENTATION Another use of ESTEREL that seems very promising is to produce code for electronic circuits.
  • 22. CONCLUSION Separating a program into parallel components for better modularity ESTEREL high level program that can be graphically simulated and proved using verification systems; It can be translated into several sequential languages and executed with great efficiency. But it is difficult to compile. However, ESTEREL can be useful in larger context when one has to produce several automata that must cooperate. Not an easy framework for checking causality but Scalability attractive for industrial users