Tutorial 03: SCCharts Insights
Preliminaries
SCCharts Insights
Read and understand the following information about SCCharts:
- Lecture 21, Synchronous Languages WS13: http://rtsys.informatik.uni-kiel.de/~rt-teach/ws13/v-synch/lectures/lecture21-handout4.pdf
Even so you must not understand every detail of the following two lectures you should read them to acquire additional information about the foundations of SCCharts. If you have questions to specific topics, don't hesitate to ask your supervisor.
- Lecture 22, Synchronous Languages WS13: http://rtsys.informatik.uni-kiel.de/~rt-teach/ws13/v-synch/lectures/lecture22-handout4.pdf
- Lecture 23, Synchronous Languages WS13: http://rtsys.informatik.uni-kiel.de/~rt-teach/ws13/v-synch/lectures/lecture23-handout4.pdf
Additional information about SCCharts within KIELER can be found here:
- PLDI Artifact submission: PLDI'14 Artifact on SCCharts
Tasks
T3A1: Important Thoughts
- Describe in own words what a basic block is.
- Which constraints do influence the ordering of a schedule?
T3A2: Sequentially Constructive Graphs
Draw the SCG corresponding to your SCChart of T2A4. Also include the dependency edges between the nodes. What can you say about the schedulability of the program?
T3A3: Hostcode
Use KIELER to model an SCCharts that calls the function tock() each second (use the input bool second as clock).
Translate the SCChart to its SCG, sequentialize it and eventually generate C code. Include the /tutorials/tock.h as header.
Inspect the C code. Look at the tick() function and find the call to tock().