Page tree

Versions Compared

Key

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

...

Code Block
languagesct
titleSCT Code Style
linenumberstrue
scchart Test {

  input bool trigger;
  input int array[10];
  
  output bool action0, action1;
  
  int fun;

  region first_region "Have fun":
  // State example
  initial state example_state
  --> example_state immediate "Having fun"
    with trigger
    / action0 = true
    ; action1 = false
    ; fun++
  
  --> example_state immediate "Having fun"
    with trigger
    / action0 = true
    ; action1 = false
    ; fun--
  ;

  // Region
  region second_region "Do nothing concurrently":

  initial state init;
}
Code Block
languagesct
titleSCTx CodeStyle
linenumberstrue
#import blub


scchart Test {

  input bool trigger
  input int array[10]
  
  output bool action0, action1
  
  int fun

  region first_region "Have fun":
  // State example
  initial state example_state
  go to example_state immediate 
    if trigger 
      && (trigger1
        || trigger2)
    do action0 = true
    ;  action1 = false
    ;  fun++
    label "Having fun"
  
  go to example_state immediate
    if trigger
    do action0 = true
    ;  action1 = false
    ;  fun--
    label "Having fun"

  // Region
  region second_region "Do nothing concurrently":

  initial state init;
}

Build Settings

To have the simulation and SCT build correctly via Prom, one has to modify the Prom environment that builds the project:

  • Preferences > KIELER SCCharts > Execution Environments
    • Select Generic
    • Select tab Compilation
    • Select kieler-gen as target directory
    • Set Snippets directory to snippets
    • Set  following as compile chain:
      T_REFERENCE, T_CONST, T_MAP, T_FOR, T_HISTORY, T_SUSPEND, T_COUNTDELAY, T_SIGNAL, T_PRE, T_WEAKSUSPEND, T_DEFERRED, T_DURING, T_COMPLEXFINALSTATE, T_ABORT, T_EXIT, T_STATIC, T_INITIALIZATION, T_ENTRY, T_CONNECTOR, T_TRIGGEREFFECT, T_SURFACEDEPTH, T_sccharts.scg, T_scg.dependency, T_scg.basicblock.sc, T_scg.guardExpressions, T_scg.guards, T_scg.scheduling, T_scg.sequentialize, T_scg.s, T_s.c

Git

Use git.

Pull before you start coding.

...