Page tree
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

Version 1 Next »

This is a light-weight tutorial for developing additions for SCCharts. It will use Eclipse, EMF, and Xtend and therefore, finishing the corresponding tutorials could prove useful. However, they are no strict requirement for this one. 

 

Preliminaries

There's a few things to do before we dive into the tutorial itself. For example, to do Eclipse programming, you will have to get your hands on an Eclipse installation first. Read through the following sections to get ready for the tutorial tasks.

Required Software

As you're going to develop for KIELER SCCharts we recommend to use the semantic Oomph setup as described in Getting Eclipse (Oomph Setup). However, you could also install all componentes by yourself. Please consult the other tutorials if you want to do that. You would need to install the Modeling Tools and the Xtext SDK.

Additionally, install the EcoreViz from the Ecore Model Visualization category from the OpenKieler update site: http://rtsys.informatik.uni-kiel.de/~kieler/updatesite/nightly-openkieler/

Recommended Tutorials

We recommend that you have completed the following tutorials before diving into this one (or at least sweep over them). However, this is not a strict requirement.

  1. Eclipse Plug-ins and Extension Points
  2. Eclipse Modeling Framework (EMF)
    1. This tutorial needs the turingmachine.ecore and the controller you've implemented in the EMF tutorial. If you did not complete the EMF tutorial, you may download a working turing machine here... (in the future).
  3. Xtend 2 - Model Transformations

Helpful Tutorials

When developing within the KIELER semantics team, you will most likely be confronted with Xtext and Lightweight Diagrams (KLighD). The following tutorials may be helpful but not required for this tutorial.

  1. Xtext 2 - Creating a Grammar from Scratch
  2. Lightweight Diagrams (KLighD)

Finding Documentation

You can find links additional documentation to the aforementioned topics in the corresponding tutorials. If you get stuck with a particular topic, please consult that tutorial. For SCCharts, you should read the SCCharts confluence page in our wiki: SCCharts

As usual, documentation often gets obsolete or wrong if not maintained regularly, so please, if you find missing, misleading, or outdated information, please let us know.

Additionally, the following list will give a short overview over the most important publications:

  • Main paper:
    Reinhard von Hanxleden and Björn Duderstadt and Christian Motika and Steven Smyth and Michael Mendler and Joaquín Aguado and Stephen Mercer and Owen O’Brien. SCCharts: Sequentially Constructive Statecharts for Safety-Critical Applications. In 
    Proc. ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI’14), Edinburgh, UK, June 2014. ACM.  pdftalkbib
  • SLIC Compilation:
    Christian Motika and Steven Smyth and Reinhard von Hanxleden. Compiling SCCharts—A Case-Study on Interactive Model-Based Compilation. In Proceedings of the 6th International Symposium on Leveraging Applications of Formal Methods, Verification and Validation (ISoLA 2014), volume 8802 of LNCS, page 443–462, Corfu, Greece, October 2014.  The original publication is available at http://link.springer.compdfbib
  • Theoretical Foundations:
    Reinhard von Hanxleden and Michael Mendler and Joaquín Aguado and Björn Duderstadt and Insa Fuhrmann and Christian Motika and Stephen Mercer and Owen O’Brien and Partha Roop. Sequentially Constructive Concurrency—A Conservative Extension of the Synchronous Model of Computation. ACM Transactions on Embedded Computing Systems, Special Issue on Applications of Concurrency to System Design, 13(4s):144:1–144:26, July 2014.  pdfbib
  • Overview and High-Level Transformations in Detail:
    Reinhard von Hanxleden and Björn Duderstadt and Christian Motika and Steven Smyth and Michael Mendler and Joaquín Aguado and Stephen Mercer and Owen O’Brien. SCCharts: Sequentially Constructive Statecharts for Safety-Critical Applications. Technical Report 1311, Christian-Albrechts-Universität zu Kiel, Department of Computer Science, December 2013. ISSN 2192-6247.  pdfbib

The SCCharts Metamodel

Navigate to the models folder of the plugin de.cau.cs.kieler.sccharts. Here, open the sccharts.ecore and right-click on the sccharts.ecore file and select Visualize Ecore Model. Since you also installed EcoreViz from the OpenKieler Suite, you should now see a graphical representation of the SCCharts metamodel. Every SCChart will be a model describing the characteristics of this metamodel. 

IMAGE

Try to understand most parts of the metamodel. You don't have to understand every detail but you should get the idea.

Model Task

  1. Open the wiki page that explains the Textual SCCharts Language SCT.
  2. Search the SCChart, Initial State, State, Transition and Immediate Transition example and ...
    1. write down (on paper etc) what the model of that SCChart looks like.
    2. The user now marks C as final. What has to be changed in the model? What semantic problem do you see?
  3. Now, navigate to the Super State: Strong Abort Transition example. Write down (on paper) what the model of that SCCharts looks like.
  4. And finally a more sophisticated model: Write down the model of ABO (from Examples).

  • No labels