16
Introduction Classes Lessons Learned Teaching Synchronous Languages at Kiel University Prof. Dr. Reinhard v. Hanxleden Christian-Albrechts Universit¨ at zu Kiel Faculty of Engineering Dept. of Computer Science and Applied Mathematics Real-Time Systems and Embedded Systems Group [email protected] Prof. Dr. Reinhard v. Hanxleden SLAP’06, Vienna, 25 March 2006 Slide 1

Teaching Synchronous Languages at Kiel Universityrtsys.informatik.uni-kiel.de/~biblio/downloads/talks/slap06-rvh-talk.pdfI Use C, Java; Lego Mindstorms I Last taught: Winter ’04/’05

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Teaching Synchronous Languages at Kiel Universityrtsys.informatik.uni-kiel.de/~biblio/downloads/talks/slap06-rvh-talk.pdfI Use C, Java; Lego Mindstorms I Last taught: Winter ’04/’05

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

[email protected]

Prof. Dr. Reinhard v. Hanxleden SLAP’06, Vienna, 25 March 2006 Slide 1

Page 2: Teaching Synchronous Languages at Kiel Universityrtsys.informatik.uni-kiel.de/~biblio/downloads/talks/slap06-rvh-talk.pdfI Use C, Java; Lego Mindstorms I Last taught: Winter ’04/’05

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

Page 3: Teaching Synchronous Languages at Kiel Universityrtsys.informatik.uni-kiel.de/~biblio/downloads/talks/slap06-rvh-talk.pdfI Use C, Java; Lego Mindstorms I Last taught: Winter ’04/’05

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

Page 4: Teaching Synchronous Languages at Kiel Universityrtsys.informatik.uni-kiel.de/~biblio/downloads/talks/slap06-rvh-talk.pdfI Use C, Java; Lego Mindstorms I Last taught: Winter ’04/’05

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

Page 5: Teaching Synchronous Languages at Kiel Universityrtsys.informatik.uni-kiel.de/~biblio/downloads/talks/slap06-rvh-talk.pdfI Use C, Java; Lego Mindstorms I Last taught: Winter ’04/’05

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

Page 6: Teaching Synchronous Languages at Kiel Universityrtsys.informatik.uni-kiel.de/~biblio/downloads/talks/slap06-rvh-talk.pdfI Use C, Java; Lego Mindstorms I Last taught: Winter ’04/’05

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

Page 7: Teaching Synchronous Languages at Kiel Universityrtsys.informatik.uni-kiel.de/~biblio/downloads/talks/slap06-rvh-talk.pdfI Use C, Java; Lego Mindstorms I Last taught: Winter ’04/’05

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

Page 8: Teaching Synchronous Languages at Kiel Universityrtsys.informatik.uni-kiel.de/~biblio/downloads/talks/slap06-rvh-talk.pdfI Use C, Java; Lego Mindstorms I Last taught: Winter ’04/’05

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

Page 9: Teaching Synchronous Languages at Kiel Universityrtsys.informatik.uni-kiel.de/~biblio/downloads/talks/slap06-rvh-talk.pdfI Use C, Java; Lego Mindstorms I Last taught: Winter ’04/’05

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

Page 10: Teaching Synchronous Languages at Kiel Universityrtsys.informatik.uni-kiel.de/~biblio/downloads/talks/slap06-rvh-talk.pdfI Use C, Java; Lego Mindstorms I Last taught: Winter ’04/’05

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

Page 11: Teaching Synchronous Languages at Kiel Universityrtsys.informatik.uni-kiel.de/~biblio/downloads/talks/slap06-rvh-talk.pdfI Use C, Java; Lego Mindstorms I Last taught: Winter ’04/’05

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

Page 12: Teaching Synchronous Languages at Kiel Universityrtsys.informatik.uni-kiel.de/~biblio/downloads/talks/slap06-rvh-talk.pdfI Use C, Java; Lego Mindstorms I Last taught: Winter ’04/’05

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

Page 13: Teaching Synchronous Languages at Kiel Universityrtsys.informatik.uni-kiel.de/~biblio/downloads/talks/slap06-rvh-talk.pdfI Use C, Java; Lego Mindstorms I Last taught: Winter ’04/’05

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

Page 14: Teaching Synchronous Languages at Kiel Universityrtsys.informatik.uni-kiel.de/~biblio/downloads/talks/slap06-rvh-talk.pdfI Use C, Java; Lego Mindstorms I Last taught: Winter ’04/’05

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

Page 15: Teaching Synchronous Languages at Kiel Universityrtsys.informatik.uni-kiel.de/~biblio/downloads/talks/slap06-rvh-talk.pdfI Use C, Java; Lego Mindstorms I Last taught: Winter ’04/’05

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

Page 16: Teaching Synchronous Languages at Kiel Universityrtsys.informatik.uni-kiel.de/~biblio/downloads/talks/slap06-rvh-talk.pdfI Use C, Java; Lego Mindstorms I Last taught: Winter ’04/’05

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