Deprecated since 0.12

This article is deprecated. The described features are no longer available in current releases.

Project Overview

Responsible:

Related Theses:

  • Christian Motika, Semantics and Execution of Domain Specific Models – KlePto and an Execution Framework, December 2009 (pdf)

KlePto - KIELER leveraging Ptolemy semantics

klepto-logo.jpg

Topics


Overview

This subprojects tries to introduce notions of semantics and simulation into the Eclipse graphical modeling facilities  EMF,  GEF,  GMF, etc.

As a first step the precise models of computation of the great heterogeneous modeling and design Platform  Ptolemy of the University of California at Berkeley will be linked to KIELER to map between a domain specific modeling language (DSML) in Eclipse and a Ptolemy model.


Preparing KlePto SyncCharts Simulation

In order to use the SyncCharts simulation based on the KlePto project please either

  1. start the KIELER RCA or
  2. ensure that the following plug-ins are loaded in your Eclipse run-configuration (in addition to the SyncChart editor related plug-ins):
    • de.cau.cs.kieler.synccharts.sim.ptolemy
    • de.cau.cs.kieler.synccharts.viewmanagement
    • de.cau.cs.kieler.sim.ptolemy
    • de.cau.cs.kieler.sim.table
    • de.cau.cs.kieler.sim.syncsignalreset
    • be sure to click on the "Add Required Plug-ins" button

Then you should be able to start KIELER and select the KIEM view in the KIELER category (Window->Show View->Other...->KIELER->Execution Manager).


Simulating SyncCharts with KlePto

To simulate a SyncChart, take care of the following facts:

  • No other DataComponents than the ones on the screen shot (s.b.) should be scheduled, i.e., appear in the KIEM DataComponent list (delete the others pressing <DEL>)
    1. Synchronous Signal Resetter
    2. DataTable (Procuder)
    3. SyncCharts Ptolemy Simulator
    4. Viewmanagement SyncCharts Visualizer
    5. DataTable (Observer)
  • Make sure the DataComponents appear in this order, in particular the Synchronous Signal Resetter should be on the top of the list (use the yellow arrow buttons)
  • You may save this execution schedule configuration (while KIEM has the focus, click on File->Save and save the *.execution configuration)
    • You can always load a configuration file by e.g., double click it in the Project Explorer (and wait just a second)
  • All warnings about the simulation should be fixed (otherwise the behavior might not be the one you expect)
  • All signals that are marked as input or outputare displayed in the DataTable (local signals are not displayed)
    • In the DataTable you can select [x] a signal to make it present, or deselect it [ ] to make it absent, use the 'permanent' option (double click) to emit it permanently
  • Be sure to save current model changes before starting to simulate them!
  • After changing the model: save it, stop any current simulation and (re)start it (again)!
  • Check the "Problems" View of Eclipse in order to see, whether there are any simulation related warnings left (see below)!
    • For every simulation run, a Ptolemy model is generated out of the last saved SyncChart version of the currently opened SyncChart editor
  • IF THE VIEWMANAGEMENT HANGS OR NOT WORKS AT ALL, PLEASE RESTART THE SIMULATION - IT MIGHT STILL BE A LITTLE BUGGY
    • The ViewManagement component is responsible for visualizing current states in a red color (s.b.)

klepto-screenshot.jpg


KlePto Error Messages

Because the simulation computation is done within Ptolemy, this is where errors during the simulation might originate from. Some common problems are listed here for a better understanding of these error messages. Please use the "Error Log" View of Eclipse (see screen shot) to inspect any details of this error (double click it).

It is always necessary to inspect the "Problems" View of Eclipse before simulating. Here you might find additional simulation problems not visually shown in the editor!

klepto-problems.jpg

unsaved changes

klepto-error1.jpg

  • If you have any unsaved changes, you must save your model in order to simulate it because the transformation only considers the model file. You cannot start a simulation for an editor with any unsaved changes (even only graphical/non-semantical ones).

model changes during simulation

klepto-error2.jpg

  • If you change the model during the simulation, you will be warned about this. The transformation took place on the last saved version of your model and the simulation cannot consider on-the-fly changes. If you ignore this warning, keep in mind that you do not simulate the (changed) model in your editor.

Ptolemy Model could not be generated

klepto-error3.jpg

  • If the transformation could not take place, there might be some unsolved problems left. Check the "Problems" View of Eclipse (s.a.).
  • This error message for example indicates that you have used an output signal in a trigger or an input signal in an output action. But this is fully brought to your attention when you inspect the "Problems" View as already described above.

Ptolemy Model could not make a step

klepto-error4.jpg

  • If Ptolemy cannot make a model step, then probably you have a non constructive SyncChart and causality problems.
  • Additionally you should check the Problems View of Eclipse if there are any uncleared simulation warnings.
  • In this case Ptolemy states, that it could not find a signal assignment for all (local) signals. This means that you should inspect your model for causality problems. Looking into the details of this error message might lead you to the signal being the causer of this.

klepto-error4b.jpg

  • If Ptolemy states about undeterministic transitions that you should inspect the priorities that must be destinct. This is also indicated as an error tag in the SyncChatrs editor.

Transformations

Currently there are transformations into Ptolemy for two Domain Specific Languages (DSLs):

  1. Simple Rail Controller Language
  2. SyncCharts Language

Both transformations use the Xtend model2model transformation language. Details are presented under the abowe links.


Tags: