Tasks

T3A1: Round and Round!

Use SCCharts (and KIELER) to model a railway controller for the model railway! Choose any train standing in the Inner Circle Station and let it travel around the circle at a speed of 100 units. Upon entering its home platform reduce its speed to 40. Stop the train (with brakes) when it reaches the end of the platform. After waiting for 10 seconds restart the train's travel plan.

T3A2: To boldly model where no one has modeled before...

Extend your controller by a behavior similar to the controller in Tutorial 1. Instead of using the train standing on KH_ST_1 choose a train of your choice in the Kicking Horse Station that faces against the main traveling direction.

  • The train should travel to any free platform in the Inner Circle Station with a speed of 100 and against the main travel direction of the kicking horse track.
  • Upon entering the IC station the speed should be reduced to 40.
  • Once the train reached its target platform, stop it (with brakes) and wait for 10 seconds.
  • Subsequently, the train should return to its home platform the Kicking Horse Station (without changing its direction) with a speed of 100.
  • Equivalent to the IC station the train should reduce its speed when entering the KH station and wait for 5 seconds when its platform is reached.
  • Eventually, the cycle starts again.

 

  • Make sure that the trains do not collide!
  • If the KH train wants to enter the IC station but no platform is free it must wait until one is free!
    • Model this appropriately! Don't stop the train instantaneously!

T3A3: Important Thoughts

Now, after modeling a relatively simple controller with SCCharts, write down a couple of features (3 at minimum) that you have missed and/or consider mandatory/useful for implementing a more sophisticated controler. Sort your feature list according to importance and be ready to present your list at the railway meeting.

  1. Generics/Modules: Define a component (superstate?) and reuse it in multiple places with different mappings for inputs/outputs.
  2. Comments in SCT: Do I need to say more?
  3. Constraints: Define constraints on basic blocks or scheduling
Tags: