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

Similar to Esterel as A Realtime System Programming Language

SE18_Lec 10_ UML Behaviour and Interaction Diagrams
SE18_Lec 10_ UML Behaviour and Interaction DiagramsSE18_Lec 10_ UML Behaviour and Interaction Diagrams
SE18_Lec 10_ UML Behaviour and Interaction Diagrams
Amr E. Mohamed
 
HP-3 Presentation.pptx
HP-3 Presentation.pptxHP-3 Presentation.pptx
HP-3 Presentation.pptx
ShivamPandey521834
 
What activates a bug? A refinement of the Laprie terminology model.
What activates a bug? A refinement of the Laprie terminology model.What activates a bug? A refinement of the Laprie terminology model.
What activates a bug? A refinement of the Laprie terminology model.
Peter Tröger
 
Ladder system programming using mobile app
Ladder system programming using mobile appLadder system programming using mobile app
Ladder system programming using mobile app
Faculdade de Americana - FAM
 
Mobile Programming - 7 Side Effects, Effect Handlers, and Simple Animations
Mobile Programming - 7 Side Effects, Effect Handlers, and Simple AnimationsMobile Programming - 7 Side Effects, Effect Handlers, and Simple Animations
Mobile Programming - 7 Side Effects, Effect Handlers, and Simple Animations
AndiNurkholis1
 
Analysis of intelligent system design by neuro adaptive control no restriction
Analysis of intelligent system design by neuro adaptive control no restrictionAnalysis of intelligent system design by neuro adaptive control no restriction
Analysis of intelligent system design by neuro adaptive control no restrictioniaemedu
 
Analysis of intelligent system design by neuro adaptive control
Analysis of intelligent system design by neuro adaptive controlAnalysis of intelligent system design by neuro adaptive control
Analysis of intelligent system design by neuro adaptive controliaemedu
 
Ch 1 overview
Ch 1 overviewCh 1 overview
Ch 1 overview
Er Ankita Kapoor
 
V01 i010401
V01 i010401V01 i010401
V01 i010401
IJARBEST JOURNAL
 
A boolean modeling for improving
A boolean modeling for improvingA boolean modeling for improving
A boolean modeling for improving
csandit
 
Control project
Control projectControl project
Control project
Omar BOUZOURRAA
 
RTOS - Real Time Operating Systems
RTOS - Real Time Operating SystemsRTOS - Real Time Operating Systems
RTOS - Real Time Operating Systems
Emertxe Information Technologies Pvt Ltd
 
Fault tolearant system
Fault tolearant systemFault tolearant system
Fault tolearant systemarvinthsaran
 
Using Learning Automata in Coordination Among Heterogeneous Agents in a Compl...
Using Learning Automata in Coordination Among Heterogeneous Agents in a Compl...Using Learning Automata in Coordination Among Heterogeneous Agents in a Compl...
Using Learning Automata in Coordination Among Heterogeneous Agents in a Compl...
Waqas Tariq
 
Modeling of reactive system with finite automata
Modeling of reactive system with finite automataModeling of reactive system with finite automata
Modeling of reactive system with finite automata
Zarnigar Altaf
 
Benchmark methods to analyze embedded processors and systems
Benchmark methods to analyze embedded processors and systemsBenchmark methods to analyze embedded processors and systems
Benchmark methods to analyze embedded processors and systems
XMOS
 
Agent based modeling-presentation
Agent based modeling-presentationAgent based modeling-presentation
Agent based modeling-presentationAdam Getchell
 
Developing a Humanoid Robot Platform
Developing a Humanoid Robot PlatformDeveloping a Humanoid Robot Platform
Developing a Humanoid Robot Platform
Dr. Amarjeet Singh
 

Similar to Esterel as A Realtime System Programming Language (20)

Simulator
SimulatorSimulator
Simulator
 
SE18_Lec 10_ UML Behaviour and Interaction Diagrams
SE18_Lec 10_ UML Behaviour and Interaction DiagramsSE18_Lec 10_ UML Behaviour and Interaction Diagrams
SE18_Lec 10_ UML Behaviour and Interaction Diagrams
 
HP-3 Presentation.pptx
HP-3 Presentation.pptxHP-3 Presentation.pptx
HP-3 Presentation.pptx
 
What activates a bug? A refinement of the Laprie terminology model.
What activates a bug? A refinement of the Laprie terminology model.What activates a bug? A refinement of the Laprie terminology model.
What activates a bug? A refinement of the Laprie terminology model.
 
solver (1)
solver (1)solver (1)
solver (1)
 
Ladder system programming using mobile app
Ladder system programming using mobile appLadder system programming using mobile app
Ladder system programming using mobile app
 
Mobile Programming - 7 Side Effects, Effect Handlers, and Simple Animations
Mobile Programming - 7 Side Effects, Effect Handlers, and Simple AnimationsMobile Programming - 7 Side Effects, Effect Handlers, and Simple Animations
Mobile Programming - 7 Side Effects, Effect Handlers, and Simple Animations
 
Analysis of intelligent system design by neuro adaptive control no restriction
Analysis of intelligent system design by neuro adaptive control no restrictionAnalysis of intelligent system design by neuro adaptive control no restriction
Analysis of intelligent system design by neuro adaptive control no restriction
 
Analysis of intelligent system design by neuro adaptive control
Analysis of intelligent system design by neuro adaptive controlAnalysis of intelligent system design by neuro adaptive control
Analysis of intelligent system design by neuro adaptive control
 
Ch 1 overview
Ch 1 overviewCh 1 overview
Ch 1 overview
 
V01 i010401
V01 i010401V01 i010401
V01 i010401
 
A boolean modeling for improving
A boolean modeling for improvingA boolean modeling for improving
A boolean modeling for improving
 
Control project
Control projectControl project
Control project
 
RTOS - Real Time Operating Systems
RTOS - Real Time Operating SystemsRTOS - Real Time Operating Systems
RTOS - Real Time Operating Systems
 
Fault tolearant system
Fault tolearant systemFault tolearant system
Fault tolearant system
 
Using Learning Automata in Coordination Among Heterogeneous Agents in a Compl...
Using Learning Automata in Coordination Among Heterogeneous Agents in a Compl...Using Learning Automata in Coordination Among Heterogeneous Agents in a Compl...
Using Learning Automata in Coordination Among Heterogeneous Agents in a Compl...
 
Modeling of reactive system with finite automata
Modeling of reactive system with finite automataModeling of reactive system with finite automata
Modeling of reactive system with finite automata
 
Benchmark methods to analyze embedded processors and systems
Benchmark methods to analyze embedded processors and systemsBenchmark methods to analyze embedded processors and systems
Benchmark methods to analyze embedded processors and systems
 
Agent based modeling-presentation
Agent based modeling-presentationAgent based modeling-presentation
Agent based modeling-presentation
 
Developing a Humanoid Robot Platform
Developing a Humanoid Robot PlatformDeveloping a Humanoid Robot Platform
Developing a Humanoid Robot Platform
 

More from nazlitemu

Ubiquitous Computer Vision in IoT
Ubiquitous Computer Vision in IoTUbiquitous Computer Vision in IoT
Ubiquitous Computer Vision in IoT
nazlitemu
 
Brave machine's tomorrow nazli temur
Brave machine's tomorrow nazli temurBrave machine's tomorrow nazli temur
Brave machine's tomorrow nazli temur
nazlitemu
 
Computer vision in public
Computer vision in publicComputer vision in public
Computer vision in public
nazlitemu
 
Blockcircus Hackathon --> The Mesh Team
Blockcircus Hackathon --> The Mesh TeamBlockcircus Hackathon --> The Mesh Team
Blockcircus Hackathon --> The Mesh Team
nazlitemu
 
Future with Machine Vision
Future with Machine VisionFuture with Machine Vision
Future with Machine Vision
nazlitemu
 
Activity Recognition Using RGB-Depth Sensors-Final report
Activity Recognition Using RGB-Depth Sensors-Final reportActivity Recognition Using RGB-Depth Sensors-Final report
Activity Recognition Using RGB-Depth Sensors-Final report
nazlitemu
 
Using R Tool for Probability and Statistics
Using R Tool for Probability and Statistics Using R Tool for Probability and Statistics
Using R Tool for Probability and Statistics
nazlitemu
 
Activity Recognition using RGBD
Activity Recognition using RGBDActivity Recognition using RGBD
Activity Recognition using RGBD
nazlitemu
 
Language Design for Activity Recognition
Language Design for Activity RecognitionLanguage Design for Activity Recognition
Language Design for Activity Recognition
nazlitemu
 
Representing Graphs by Touching Domains
Representing Graphs by Touching DomainsRepresenting Graphs by Touching Domains
Representing Graphs by Touching Domains
nazlitemu
 
LexBFS-Minimal VertexSeparators Final Presentation
LexBFS-Minimal VertexSeparators Final PresentationLexBFS-Minimal VertexSeparators Final Presentation
LexBFS-Minimal VertexSeparators Final Presentation
nazlitemu
 
LEXBFS on Chordal Graphs with more Example
LEXBFS on Chordal Graphs with more ExampleLEXBFS on Chordal Graphs with more Example
LEXBFS on Chordal Graphs with more Example
nazlitemu
 
LEXBFS on Chordal Graphs
LEXBFS on Chordal GraphsLEXBFS on Chordal Graphs
LEXBFS on Chordal Graphs
nazlitemu
 
BFS & Interval Graph Introduction
BFS & Interval Graph IntroductionBFS & Interval Graph Introduction
BFS & Interval Graph Introduction
nazlitemu
 
Foodhub - A Research on Food Market Shift in France
 Foodhub - A Research on Food Market Shift in France Foodhub - A Research on Food Market Shift in France
Foodhub - A Research on Food Market Shift in France
nazlitemu
 
Measurement Strategy for Software Companies
Measurement Strategy for Software CompaniesMeasurement Strategy for Software Companies
Measurement Strategy for Software Companies
nazlitemu
 

More from nazlitemu (16)

Ubiquitous Computer Vision in IoT
Ubiquitous Computer Vision in IoTUbiquitous Computer Vision in IoT
Ubiquitous Computer Vision in IoT
 
Brave machine's tomorrow nazli temur
Brave machine's tomorrow nazli temurBrave machine's tomorrow nazli temur
Brave machine's tomorrow nazli temur
 
Computer vision in public
Computer vision in publicComputer vision in public
Computer vision in public
 
Blockcircus Hackathon --> The Mesh Team
Blockcircus Hackathon --> The Mesh TeamBlockcircus Hackathon --> The Mesh Team
Blockcircus Hackathon --> The Mesh Team
 
Future with Machine Vision
Future with Machine VisionFuture with Machine Vision
Future with Machine Vision
 
Activity Recognition Using RGB-Depth Sensors-Final report
Activity Recognition Using RGB-Depth Sensors-Final reportActivity Recognition Using RGB-Depth Sensors-Final report
Activity Recognition Using RGB-Depth Sensors-Final report
 
Using R Tool for Probability and Statistics
Using R Tool for Probability and Statistics Using R Tool for Probability and Statistics
Using R Tool for Probability and Statistics
 
Activity Recognition using RGBD
Activity Recognition using RGBDActivity Recognition using RGBD
Activity Recognition using RGBD
 
Language Design for Activity Recognition
Language Design for Activity RecognitionLanguage Design for Activity Recognition
Language Design for Activity Recognition
 
Representing Graphs by Touching Domains
Representing Graphs by Touching DomainsRepresenting Graphs by Touching Domains
Representing Graphs by Touching Domains
 
LexBFS-Minimal VertexSeparators Final Presentation
LexBFS-Minimal VertexSeparators Final PresentationLexBFS-Minimal VertexSeparators Final Presentation
LexBFS-Minimal VertexSeparators Final Presentation
 
LEXBFS on Chordal Graphs with more Example
LEXBFS on Chordal Graphs with more ExampleLEXBFS on Chordal Graphs with more Example
LEXBFS on Chordal Graphs with more Example
 
LEXBFS on Chordal Graphs
LEXBFS on Chordal GraphsLEXBFS on Chordal Graphs
LEXBFS on Chordal Graphs
 
BFS & Interval Graph Introduction
BFS & Interval Graph IntroductionBFS & Interval Graph Introduction
BFS & Interval Graph Introduction
 
Foodhub - A Research on Food Market Shift in France
 Foodhub - A Research on Food Market Shift in France Foodhub - A Research on Food Market Shift in France
Foodhub - A Research on Food Market Shift in France
 
Measurement Strategy for Software Companies
Measurement Strategy for Software CompaniesMeasurement Strategy for Software Companies
Measurement Strategy for Software Companies
 

Recently uploaded

Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
WSO2
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Globus
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Globus
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke
 
Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdf
Ortus Solutions, Corp
 
Software Testing Exam imp Ques Notes.pdf
Software Testing Exam imp Ques Notes.pdfSoftware Testing Exam imp Ques Notes.pdf
Software Testing Exam imp Ques Notes.pdf
MayankTawar1
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
Globus
 
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
Globus
 
Corporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMSCorporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMS
Tendenci - The Open Source AMS (Association Management Software)
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
Matt Welsh
 
Why React Native as a Strategic Advantage for Startup Innovation.pdf
Why React Native as a Strategic Advantage for Startup Innovation.pdfWhy React Native as a Strategic Advantage for Startup Innovation.pdf
Why React Native as a Strategic Advantage for Startup Innovation.pdf
ayushiqss
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
wottaspaceseo
 
How to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesHow to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good Practices
Globus
 
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Hivelance Technology
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Globus
 
Visitor Management System in India- Vizman.app
Visitor Management System in India- Vizman.appVisitor Management System in India- Vizman.app
Visitor Management System in India- Vizman.app
NaapbooksPrivateLimi
 
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
XfilesPro
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
Globus
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
AMB-Review
 

Recently uploaded (20)

Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
 
Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdf
 
Software Testing Exam imp Ques Notes.pdf
Software Testing Exam imp Ques Notes.pdfSoftware Testing Exam imp Ques Notes.pdf
Software Testing Exam imp Ques Notes.pdf
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
 
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBroker
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
 
Corporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMSCorporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMS
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
 
Why React Native as a Strategic Advantage for Startup Innovation.pdf
Why React Native as a Strategic Advantage for Startup Innovation.pdfWhy React Native as a Strategic Advantage for Startup Innovation.pdf
Why React Native as a Strategic Advantage for Startup Innovation.pdf
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
 
How to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesHow to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good Practices
 
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
 
Visitor Management System in India- Vizman.app
Visitor Management System in India- Vizman.appVisitor Management System in India- Vizman.app
Visitor Management System in India- Vizman.app
 
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
 

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