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/ 

 (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?
  3. Describe in own words what a basic block is.
  4. Which constraints do influence the ordering of a schedule?

T2A2: Modeling with SCCharts

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

Image RemovedImage Added

The SCChart describes a simple railway station controler. Initially the track is powered with 60 units to allow any train standing on this platform to begin its journey. (We assume the train stands beyond contact0 and will not trigger it in the beginning.) Subsequently, the platform of this station slows down any train entering the station (indicated by contact0) and stops it when it passes contact1. After 5 seconds it may proceed its journey.

T2A3:

Extended

SCCharts 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!
  • the particular transformation worked. Upload an image of the SCChart in Core SCChart form.
  • Normalize your new SCChart. Upload an image of the SCCharts in normalized form.
  • Convert the 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
  • into its SCG representation. (You may use any valid SCG transformation KIELER offers.) Inspect the SCG and write down and explain all potential problems. Upload an image of the SCG.

T2A4: Code Generation

In order to generate executable code for the station controller, some potential problems need to be fixed. Create a corrected version of the simple station controller and compile it with KIELER. Upload the fixed controller, the new SCG and the resulting c code.

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