Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 7 Next »

Find out what's new in the upcoming V2 release of SCCharts!

What is new to SCCharts?

Controlflow / Dataflow Hybrid-Models


Semantic Comments


New Reference / Module Support


For Region


New Transformations


New Annotations & Pragmas


SCCharts Syntax Changes


What is new to the KIELER SCCharts workflow?

New Warnings & Errors

  • Detailed reference warnings
  • Label shadowing

Project Management 

The workflow now integrates better in the Eclipse environment by providing new wizards and an incremental project builder.

There are wizards for SCCharts projects on the one hand and different files on the other hand. The file wizards are used, e.g., to create files for the different new configuration DSLs.

The incremental project builder is run by Eclipse either in the background when resources changes (Project > Build automatically), or manually by the user (Project > Build Project). What and how files are built can be configured using a new DSL (kibuild files). Errors and warnings that occur during the build are added as error respectively warning markers to the resources where they occur, which is a known concept in the Eclipse IDE. For instance when working with Java, compiler errors are added as markers to files when they are saved. This is now also possible for SCCharts text files and provides faster compiler feedback to users, e.g. because a model can not be compiled.

When a project is build several actions are performed:

  • Model files are compiled
    • Optionally a template is processed for each model to generate the simulation code for the model.
  • Simulation code is compiled to an executable, which can be started using the new simulation
  • Freemarker templates are processed to generate code.
    Depending of the type of the template, additional variables are injected into the template
    • Wrapper code templates are used to create the wrapper code for a specific model.
      Annotations on inputs and outputs in the model can be used to define which code snippets are injected as part of the build. These code snippets typically contain code to read or write the corresponding inputs and outputs.
    • Simulation code templates are used to create wrapper code to simulate a model.
      Thus it is a special form of wrapper code template. Instead of user defined annotations, the injected code snippets are determined by the variables in the model.
      This kind of template can be configured as part of a model compiler to automatically generate the simulation for all compiled models.
    • Simple templates are self contained and no additional variables are injected.

Corresponding to the actions that are performed during the build, the configuration in a kibuild file can contain model compilers, simulation compilers and template processors, which is either a simulation template processor, wrapper code template processor or simple template processor.

If all of these are defined, a build could consist for example of the following steps:

  • Build a model file A.sctx
    • Afterwards process a simulation template to generate its simulation code Sim_A.c
  • Compile the simulation code Sim_A.c to an executable using gcc
  • Create wrapper code for the model, that is ready to be deployed

Note that if the Build automatically option is set, it is possible to (re-)start a simulation without the need to (re-)compile the corresponding model beforehand. This is because the simulation executable has is created in the background as part of the build and is updated if the model changes.

Integrated Simulation

The simulation backend has been rewritten to be more lightweight, flexible and transparent and to better integrate in the workflow.

Major new features are:

  • simulation of multiple models at once that interact with each other
  • starting the simulation with precompiled executables
  • support for arrays
  • more user friendly interaction with the simulation
  • a DSL (kisim files) to configure complex simulation setups

Simulation Visualization

The current state of a running simulation can be displayed by setting attributes of elements in an SVG image. For instance it is possible to set the color or position of elements based on the value of a variable in the simulation.
Furthermore it is possible to interact with SVG elements to control the simulation and set variable values. This way it is possible to define buttons in the SVG to play, pause, step or stop the simulation, as well as setting variables.

To use these features, an SVG image has to be created, in which the elements that should be animated must have a unique id. Afterwards the interactions and animations for these elements are defined using a DSL (kivis files).

Interactive Model-Based Compiler


What is new for SCCharts developer?

  • No labels