SlideShare a Scribd company logo
1 of 24
Download to read offline
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 DiagramsAmr E. Mohamed
 
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
 
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 AnimationsAndiNurkholis1
 
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
 
A boolean modeling for improving
A boolean modeling for improvingA boolean modeling for improving
A boolean modeling for improvingcsandit
 
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 automataZarnigar 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 systemsXMOS
 
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 PlatformDr. 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 IoTnazlitemu
 
Brave machine's tomorrow nazli temur
Brave machine's tomorrow nazli temurBrave machine's tomorrow nazli temur
Brave machine's tomorrow nazli temurnazlitemu
 
Computer vision in public
Computer vision in publicComputer vision in public
Computer vision in publicnazlitemu
 
Blockcircus Hackathon --> The Mesh Team
Blockcircus Hackathon --> The Mesh TeamBlockcircus Hackathon --> The Mesh Team
Blockcircus Hackathon --> The Mesh Teamnazlitemu
 
Future with Machine Vision
Future with Machine VisionFuture with Machine Vision
Future with Machine Visionnazlitemu
 
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 reportnazlitemu
 
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 RGBDnazlitemu
 
Language Design for Activity Recognition
Language Design for Activity RecognitionLanguage Design for Activity Recognition
Language Design for Activity Recognitionnazlitemu
 
Representing Graphs by Touching Domains
Representing Graphs by Touching DomainsRepresenting Graphs by Touching Domains
Representing Graphs by Touching Domainsnazlitemu
 
LexBFS-Minimal VertexSeparators Final Presentation
LexBFS-Minimal VertexSeparators Final PresentationLexBFS-Minimal VertexSeparators Final Presentation
LexBFS-Minimal VertexSeparators Final Presentationnazlitemu
 
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 Examplenazlitemu
 
LEXBFS on Chordal Graphs
LEXBFS on Chordal GraphsLEXBFS on Chordal Graphs
LEXBFS on Chordal Graphsnazlitemu
 
BFS & Interval Graph Introduction
BFS & Interval Graph IntroductionBFS & Interval Graph Introduction
BFS & Interval Graph Introductionnazlitemu
 
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 Francenazlitemu
 
Measurement Strategy for Software Companies
Measurement Strategy for Software CompaniesMeasurement Strategy for Software Companies
Measurement Strategy for Software Companiesnazlitemu
 

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

(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfCionsystems
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 

Recently uploaded (20)

(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdf
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 

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