Upload
others
View
4
Download
0
Embed Size (px)
Citation preview
IntroductionClasses
Lessons Learned
Teaching Synchronous Languages at Kiel University
Prof. Dr. Reinhard v. Hanxleden
Christian-Albrechts Universitat zu KielFaculty of Engineering
Dept. of Computer Science and Applied MathematicsReal-Time Systems and Embedded Systems Group
Prof. Dr. Reinhard v. Hanxleden SLAP’06, Vienna, 25 March 2006 Slide 1
IntroductionClasses
Lessons Learned
Historical Development
Past graduate level courses
I Covered Statemate/SDL in classes offered by SoftwareTechnology Group since 1990s
I Classes on Synchronous Languages and Modelling Tools in2002 and 2003
Classes currently offered by Real-Time/Embedded System Group
I “Design of Embedded Real-Time Systems”
I “Model-Based System Design and Distributed Real-TimeSystems”
I “Synchronous Languages”
Prof. Dr. Reinhard v. Hanxleden SLAP’06, Vienna, 25 March 2006 Slide 2
IntroductionClasses
Lessons Learned
Historical Development
Past graduate level courses
I Covered Statemate/SDL in classes offered by SoftwareTechnology Group since 1990s
I Classes on Synchronous Languages and Modelling Tools in2002 and 2003
Classes currently offered by Real-Time/Embedded System Group
I “Design of Embedded Real-Time Systems”
I “Model-Based System Design and Distributed Real-TimeSystems”
I “Synchronous Languages”
Prof. Dr. Reinhard v. Hanxleden SLAP’06, Vienna, 25 March 2006 Slide 2
IntroductionClasses
Lessons Learned
Design of Embedded Real-Time SystemsModel-Based System Design and Distributed RT SystemsSynchronous Languages
“Design of Embedded Real-Time Systems”
I Introductory classI Contents:
I Real-Time ProgrammingLanguages
I Concurrency, SchedulingI Timing analysisI Dependability
I Use C, Java; Lego Mindstorms
I Last taught: Winter ’04/’05
Practical follow-up lab (Summer ’05):
I Flipper control
I C programming, OS interfacing
Prof. Dr. Reinhard v. Hanxleden SLAP’06, Vienna, 25 March 2006 Slide 3
IntroductionClasses
Lessons Learned
Design of Embedded Real-Time SystemsModel-Based System Design and Distributed RT SystemsSynchronous Languages
“Design of Embedded Real-Time Systems”
I Introductory classI Contents:
I Real-Time ProgrammingLanguages
I Concurrency, SchedulingI Timing analysisI Dependability
I Use C, Java; Lego Mindstorms
I Last taught: Winter ’04/’05
Practical follow-up lab (Summer ’05):
I Flipper control
I C programming, OS interfacing
Prof. Dr. Reinhard v. Hanxleden SLAP’06, Vienna, 25 March 2006 Slide 3
IntroductionClasses
Lessons Learned
Design of Embedded Real-Time SystemsModel-Based System Design and Distributed RT SystemsSynchronous Languages
“Model-Based System Design + Distributed RT Systems”I Rather practically oriented
I First contact with synchronous languagesI Contents:
I Motivation for system modellingI Statecharts (Statemate, Stateflow,
SyncCharts/SSMs) + EsterelI Real-time communication protocolsI Time vs. event triggered architectures
I Use Esterel-Studio, Kiel IntegratedEnvironment for Layout (KIEL)
I Last taught: Summer ’05
Practical follow-up lab (Winter ’05/’06):
I Railway control
I Simulink/Stateflow, TTP
Prof. Dr. Reinhard v. Hanxleden SLAP’06, Vienna, 25 March 2006 Slide 4
IntroductionClasses
Lessons Learned
Design of Embedded Real-Time SystemsModel-Based System Design and Distributed RT SystemsSynchronous Languages
“Model-Based System Design + Distributed RT Systems”I Rather practically oriented
I First contact with synchronous languagesI Contents:
I Motivation for system modellingI Statecharts (Statemate, Stateflow,
SyncCharts/SSMs) + EsterelI Real-time communication protocolsI Time vs. event triggered architectures
I Use Esterel-Studio, Kiel IntegratedEnvironment for Layout (KIEL)
I Last taught: Summer ’05
Practical follow-up lab (Winter ’05/’06):
I Railway control
I Simulink/Stateflow, TTP
Prof. Dr. Reinhard v. Hanxleden SLAP’06, Vienna, 25 March 2006 Slide 4
IntroductionClasses
Lessons Learned
Design of Embedded Real-Time SystemsModel-Based System Design and Distributed RT SystemsSynchronous Languages
“Synchronous Languages”
I More on theoretical sideI Contents:
I Esterel semantics (logical, constructive, circuit)I Lustre/SCADEI Synthesis of Esterel, LustreI Reactive processingI Constructiveness analysis
I Use esterel/xes, lustre/luciole
I Last taught: Winter ’05/’06
Follow-up seminar (Summer ’06):
I Integration control/data-flow
I GALS
I Combination synchronous programming/other paradigms
Prof. Dr. Reinhard v. Hanxleden SLAP’06, Vienna, 25 March 2006 Slide 5
IntroductionClasses
Lessons Learned
Design of Embedded Real-Time SystemsModel-Based System Design and Distributed RT SystemsSynchronous Languages
“Synchronous Languages”
I More on theoretical sideI Contents:
I Esterel semantics (logical, constructive, circuit)I Lustre/SCADEI Synthesis of Esterel, LustreI Reactive processingI Constructiveness analysis
I Use esterel/xes, lustre/luciole
I Last taught: Winter ’05/’06
Follow-up seminar (Summer ’06):
I Integration control/data-flow
I GALS
I Combination synchronous programming/other paradigms
Prof. Dr. Reinhard v. Hanxleden SLAP’06, Vienna, 25 March 2006 Slide 5
IntroductionClasses
Lessons Learned
Lessons LearnedTheoretical principles of synchronous programming aregrasped rather quickly
I CS students arrive fairly well prepared regarding theoreticalbackground (automata, language semantics)
I Formal Esterel semantics helps understanding SSMsI Use KIEL system to facilitate model entry, to illustrate
relationship Esterel/SSMs and SSM optimizations, and formicrostep simulation
However, effective practical use of synchronous programmingrequires training + experience
I States vs. eventsI Esterel vs. host languageI State diagrams vs. flow chartsI “Good” models vs. “Spaghetti” models
Thanks! Questions/Comments?
Prof. Dr. Reinhard v. Hanxleden SLAP’06, Vienna, 25 March 2006 Slide 6
IntroductionClasses
Lessons Learned
Lessons LearnedTheoretical principles of synchronous programming aregrasped rather quickly
I CS students arrive fairly well prepared regarding theoreticalbackground (automata, language semantics)
I Formal Esterel semantics helps understanding SSMsI Use KIEL system to facilitate model entry, to illustrate
relationship Esterel/SSMs and SSM optimizations, and formicrostep simulation
However, effective practical use of synchronous programmingrequires training + experience
I States vs. eventsI Esterel vs. host languageI State diagrams vs. flow chartsI “Good” models vs. “Spaghetti” models
Thanks! Questions/Comments?
Prof. Dr. Reinhard v. Hanxleden SLAP’06, Vienna, 25 March 2006 Slide 6
IntroductionClasses
Lessons Learned
Lessons LearnedTheoretical principles of synchronous programming aregrasped rather quickly
I CS students arrive fairly well prepared regarding theoreticalbackground (automata, language semantics)
I Formal Esterel semantics helps understanding SSMsI Use KIEL system to facilitate model entry, to illustrate
relationship Esterel/SSMs and SSM optimizations, and formicrostep simulation
However, effective practical use of synchronous programmingrequires training + experience
I States vs. events
I Esterel vs. host languageI State diagrams vs. flow chartsI “Good” models vs. “Spaghetti” models
Thanks! Questions/Comments?
Prof. Dr. Reinhard v. Hanxleden SLAP’06, Vienna, 25 March 2006 Slide 6
IntroductionClasses
Lessons Learned
Lessons LearnedTheoretical principles of synchronous programming aregrasped rather quickly
I CS students arrive fairly well prepared regarding theoreticalbackground (automata, language semantics)
I Formal Esterel semantics helps understanding SSMsI Use KIEL system to facilitate model entry, to illustrate
relationship Esterel/SSMs and SSM optimizations, and formicrostep simulation
However, effective practical use of synchronous programmingrequires training + experience
I States vs. eventsI Esterel vs. host language
I State diagrams vs. flow chartsI “Good” models vs. “Spaghetti” models
Thanks! Questions/Comments?
Prof. Dr. Reinhard v. Hanxleden SLAP’06, Vienna, 25 March 2006 Slide 6
IntroductionClasses
Lessons Learned
Lessons LearnedTheoretical principles of synchronous programming aregrasped rather quickly
I CS students arrive fairly well prepared regarding theoreticalbackground (automata, language semantics)
I Formal Esterel semantics helps understanding SSMsI Use KIEL system to facilitate model entry, to illustrate
relationship Esterel/SSMs and SSM optimizations, and formicrostep simulation
However, effective practical use of synchronous programmingrequires training + experience
I States vs. eventsI Esterel vs. host languageI State diagrams vs. flow charts
I “Good” models vs. “Spaghetti” models
Thanks! Questions/Comments?
Prof. Dr. Reinhard v. Hanxleden SLAP’06, Vienna, 25 March 2006 Slide 6
IntroductionClasses
Lessons Learned
Lessons LearnedTheoretical principles of synchronous programming aregrasped rather quickly
I CS students arrive fairly well prepared regarding theoreticalbackground (automata, language semantics)
I Formal Esterel semantics helps understanding SSMsI Use KIEL system to facilitate model entry, to illustrate
relationship Esterel/SSMs and SSM optimizations, and formicrostep simulation
However, effective practical use of synchronous programmingrequires training + experience
I States vs. eventsI Esterel vs. host languageI State diagrams vs. flow chartsI “Good” models vs. “Spaghetti” models
Thanks! Questions/Comments?
Prof. Dr. Reinhard v. Hanxleden SLAP’06, Vienna, 25 March 2006 Slide 6
IntroductionClasses
Lessons Learned
Lessons LearnedTheoretical principles of synchronous programming aregrasped rather quickly
I CS students arrive fairly well prepared regarding theoreticalbackground (automata, language semantics)
I Formal Esterel semantics helps understanding SSMsI Use KIEL system to facilitate model entry, to illustrate
relationship Esterel/SSMs and SSM optimizations, and formicrostep simulation
However, effective practical use of synchronous programmingrequires training + experience
I States vs. eventsI Esterel vs. host languageI State diagrams vs. flow chartsI “Good” models vs. “Spaghetti” models
Thanks! Questions/Comments?
Prof. Dr. Reinhard v. Hanxleden SLAP’06, Vienna, 25 March 2006 Slide 6