Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Preliminaries

SCCharts

Read and understand the following information about SCCharts:

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 about specific topics, don't hesitate to ask one of your supervisors.

Additional information about SCCharts within KIELER can be found here:

KIELER

Install and run a copy of KIELER. You should download the nightly semantics build http://rtsys.informatik.uni-kiel.de/~kieler/files/nightly/kieler/ 

 or you can follow the general install description for developing within the KIELER project if you intend to import the KIELER repositories directly.(If you have already installed and set up your own kieler development environment, you're free to use your own set up but be sure to update your code content to an actual state.)

 

Tasks

T2A1: Important Thoughts

  1. Write down the difference between Extended SCCharts and Core SCCharts. Use your own words.
  2. What advantage has the core SCCharts normalization?
 
  1. Describe in own words what a basic block is.
  2. Which constraints do influence the ordering of a schedule?

T2A2: Modeling with SCCharts

Model the following SCChart using the textual SCChart language (*.sct).

T2A3: Extended Transformations

Transform all extended features of the SCChart in T2A2 to core variants. Explain in detail what features are only extended features and how you transformed them. 

T2A4: Normalize!

Normalize your new SCChart. 

T2A5: 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?

T2A6: 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()