Model driven Software Development for Embedded Systems

Yakindu is an open-source-toolkit for the model-driven development of embedded systems. Through the systematic use of models, it aims at an integrated development process as well as an increase in quality and maintainability.

Yakindu Statechart Tools ready for Kepler

The new release 2.1.1 of the YAKINDU Statechart Tools for Eclipse Kepler (4.3) is available!

You can install SCT 2.1.1 from our new Kepler update site:

http://updates.yakindu.org/sct/kepler/release

or you can download a full Eclipse bundle. For details and installation instructions visit our dowload page.

2.1.1 is mainly a maintenance release that provides compatibility with Eclipse 4.3 as well as bug fixes. But it also includes a cool new  (still beta state) editing feature - model assist on the graphical parts of the model.

You already know content assist from the textual parts of SCT statecharts and of course from JDT, CDT etc.. Model assist follows the same idea and works in a comparable way – select a state and press Ctl-Space and you get proposals for high level editing operations.

ContentAssist1

Currently we support model assist on states for adding a subregion, adding a successor state, and the refactoring operations that SCT provides. So if you e.g. select ‘insert subdiagram’ a region with initial entry and a connected empty child state will be added.

ContentAssist2

So it will save you a lot of mouse click work. This feature is still not final, we will have to improve key handling, layout ,etc. . But feel free to try this feature and we will appreciate any feedback on it. If you are interested in the technical details, see this blog post.

 

YAKINDU SCT Release 2.1 published

The new release 2.1 of the YAKINDU Statechart Tools is available!

It includes a lot of maintenance stuff like new bug fixes polishing a various places but also some great new features that makes working with the statechart tools event more efficient. The main points are:

  • Subdiagrams – states now can be refined using subdiagrams.  This enables you to split a hierarchical statechart into several diagrams in order to keep visual complexity low. If a state is refined by a subdiagram then this is indicated by an icon in the lower right corner  of the state. When moving the mouse over this  icon a subdiagram preview will be shown. The subdiagram is entered by simply clicking on the icon…

    SCT_subdiagram

    subdiagram preview

 

  • Improved diagram editing – we don’t use scroll bars in the regions compartments anymore.  It tended to be annoying for different reasons. First resizing the hierarchy of regions and states in order to make place for some new element was a lot of  mouse-work. Second scrollable areas tend to hide important information, And finally the scrollbar were – lets say –  not nice. So regions and states always get the size they require. Therefore we introduced some smart resizing and relocation strategy for statechart elements. Just move around a state in its region – if you come close to the right and bottom border then the parent region will be resized and the neighbor elements will be moved in order to make place. If you the element fast or across the top and left border then you can move them to another region. Try it – its fun …
    Another bit of usability is provided by the new ‘shrink’ handle that allows you to shrink a state to a minimum size with just one click. You can find left to the bottom-right resize handle of states or top level region.

    Bildschirmfoto 2013-04-30 um 16.56.31

    shrinking states with one click

  • Refactorings – we now support various refactorings like renaming, extract and inline subdiagrams, fold incoming and outgoing transition actions, unfold exit and entry actions, an group states into composite state. You can find a more in Andreas blog post on refactorings. At this point – many thanks to Thomas Kutz who did large parts of the refactoring implementation.
  • Entry and exit points – we now fully support entry and exit points that will be described in more detail in a separate blog post…

    Bildschirmfoto 2013-04-30 um 17.17.31

    Statechart with entry and exit nodes

  •  Documentation – The Statechart Tools support a documentation mode now. It is possible to add plain text in addition to the expression language to States, Statechart and Transitions. The documentation can be provided via the elements property view. This is especially useful in in the early state of statechart development, when the integrated expression language might be too formal. For each element, the documentation / expression can be toggled via its context menu.Documentation

We hope that you’ll like the new release. As always any feedback is appreciated. Simply use our google group (https://groups.google.com/forum/?fromgroups#!forum/yakindu-user) for feedback, questions and discussions.

Installation

This release requires Eclipse Juno (4.2 or 3.8). You can install SCT 2.1.0 from our update site: http://updates.yakindu.com/juno/release or you can download a full Eclipse zip package. For details and installation instructions visit our dowload page.

Test Driven Statechart Development with Yakindu SCT

SCTUnit is a unit testing framework for Yakindu Statechart Tools. It allows test driven development of statechart models on the semantic level of statecharts.

Check out this blog post for more information about test driven statechart development with Yakindu SCT.

 

 

Yakindu SCT Bugfix Version 2.0.1 released

Today we published the bugfix version 2.0.1 of the Yakindu Statechart Tools.

The following bugs were fixed with this release:

1. C code generator does not escape quotes in strings
2. Java code generator does not escape quotes in strings
3. Execution of custom code during simulation fails when using operations within named interfaces
4. Synchronisation-Join leads to double entry action call
5. TypeInferrer Bug in valueOf expression
6. Simulation fails when using States with empty regions

Thanks to all bug reporters!

This release requires Eclipse Juno (4.2 or 3.8). You can install SCT 2.0.1 from our update site: http://updates.yakindu.com/juno/release or you can download a full Eclipse zip package. For details and installation instructions visit statecharts.org.

 

Yakindu SCT Release 2.0 published

Hooray – today we published Release 2.0.0 of the YAKINDU Statechart Tools.

Picture: NobbiP - Creative Commons Licence 3.0

Picture: NobbiP – Creative Commons Licence 3.0

In the last weeks we mainly worked on fixing bugs, polishing and everything else that is necessary to provide the appropriate quality. At this point many thanks to everybody who provided feedback on the forum or by reporting bugs.

With the release we also have a relaunch of our web site – visit www.yakindu.org.

Installation

This release requires Eclipse Juno (4.2 or 3.8). You can install SCT 2.0.0 from our update site: http://updates.yakindu.com/juno/release or you can download a full Eclipse zip package. For details and installation instructions visit our dowload page.

Yakindu Statechart Tools Release Candidate 1 published

Today we published the first Release Candidate of the YAKINDU Statechart Tools. This is the last milestone release before our final release of version 2.0.0 that is scheduled for december the 14th. (hooray!)

First a short note on a special issue: there is a bug in GMF Runtime that broke our copy paste behavior in the last milestone release. Unfortunetely this bug was not fixed in eclipses first service release 3.8.1, so we had to provide a patch feature for GMF. If you update yakindu, be sure to install the ‘copy paste patch’ feature from our update site to get it working.

Again, we mainly worked on stuff ‘under the hood':

  1. The Validation Infrastructure as well as the Resource Implentation  were completely reworked with a significant performance improvement in large diagrams. LazyLinking is also supported by the resource implementation now.
  2. It is possible now to provide a Java class from the workspace in the run configuration to simulate Operations. The Interpreter will then load an instance of this class at runtime and execute the method with the matching signature. This is a really useful feature since it allows to access any arbitrary backend during simulation. For the final release, we will provide more documentation on this topic.
  3. … and of course a lot of bugs were fixed.

If you want to support our development, download the latest milestone release and provide us some feedback via our user group. We are really looking forward to your feedback!

 Installation & Update

It is available via our new Juno milestones update site: http://updates.yakindu.com/juno/milestones . For installation instructions visit our dowload page. For this release Eclipse Juno (4.2 or 3.8) is required..

Yakindu SCT is ready for Eclipse Juno – M15 milestone build published

Today we published a new milestone build (M15) that is ready to for Eclipse Juno release (4.2 and 3.8)!

We did not only worked on migrating to the new Eclipse release – what indeed was not such a big issue- but mainly worked on a lot of stuff ‘under the hood’.

  1. The Java and C code generators were completely reworked. We stripped off all generator features that were not really required in order to make the generator and generated code easier to use. The generated code now features a simpler and cleaner API.
  2. Operations declared in statechart interfaces are supported now. The simulator provides a first version of mock ups of operations that allows the specification of return types. are declared in the statecharts interface. The code generators provide a full support. Here operations are mapped to Java interfaces in the case of Java and to external functions in the case of C. These methods and functions have to be implemented by the client code.
  3. Fork and Join pseudo states (the synchronization bars) are now supported within the simulation and by the code generators.
  4. … and of course a bugs were fixed.
Installation & Update

It is available via our new Juno milestones update site: http://updates.yakindu.com/juno/milestones . For installation instructions visit our dowload page. For this release Eclipse Juno (4.2 or 3.8) is required..

Yakindu M14 new and noteworthy

We published a new preview (called M14) of the upcoming Statechart Tools (SCT) 2.0 today!

In this release, we implemented the following major features:

  • integrated user guide in code completion hover
  • example wizard for the java traffic light example
  • enhanced sgen editing captabilities
  • support for string literals
  • entry and exit actions for statecharts
  • and of course a lot of Bug Fixes and Test Case

Integrated user guide

All available features of the statechart expression language are documented in the user guide.  When selecting a keyword, the relevant  piece of information is displayed as text hover besides the proposal window.

 

Enhanced editing captabilities

The generator model (sgen) now provides proposal templates and quick fixes that makes creating a generator model very easy. Forall available generator features, the user documentation is integrated as tooltip hovers.

Example wizards

We ship the traffic light examples as example wizard.  Select Nnew /Examples / Yakindu Examples / Trafficlight example to create a new project containing the traffic light model, genmodel and a swt based UI that shows the integration of the generated java source code in detail.

Installation & Update

It is available via our milestones update site: http://updates.yakindu.com/indigo/milestones . Use this Eclipse update site link to install the statechart tools into your existing Eclipse Indigo (3.7.2). For a new installation choose Eclipse  menu Help/Install New Software … and  Help/Check for Updates if you have already installed a preview version of SCT

Yakindu M13 new and noteworthy

We published a new preview (called M13) of the upcoming Statechart Tools (SCT) 2.0 today!

The focus of this version was definitely on rounding the existing features off. So a lot of work was spent in Bug Fixing, writing Test Cases, as well as polishing  meta models and APIs. Nevertheless  the major feature in this release is the User Guide.

Of course it is integrated into the Eclipse help.

Installation & Update

It is available via our milestones update site: http://updates.yakindu.com/indigo/milestones . Use this Eclipse update site link to install the statechart tools into your existing Eclipse Indigo (3.7.2). For a new installation choose Eclipse  menu Help/Install New Software … and  Help/Check for Updates if you have already installed a preview version of SCT

Yakindu M11 new and noteworthy

We published a new preview (called M11) of the upcoming Statechart Tools 2.0 today!

In this release, we implemented the following major features:

  • the simulation uses a Virtual Time
  • advanced Run Configurations
  • new dynamic Simulation Highlighting
  • History and Deep History States
  • enhanced User Guide / Documentation
  • and of course a lot of Bug Fixes and Test Case

Virtual Time

In the current release we implemented a Virtual Time for the Simulator. The user can provide a time scaling factor , that is multiplied with the real time, in the SimulationView. This is especially useful during debugging, if the statechart model contains very tight or long running time triggers.

Run Configuration

It is now possible to select between two different execution types (cycle-based or event-driven) for the simulator. If the cycle based execution type is selected, the cycle period can be specified in milli seconds.

Simulation Highlighting
The simulation highlighting has been improved. Not only the currently active states are visualized but also the last transition including the previous states and the transition path to the current state configuration. As shown in the screenshot above the transition is outlined with orange color. The highlighting colors can also be changed using the eclipse preferences.
History and Deep History States
the History as well as the Deep History States are now fully supported during Simulation and Code Generation (Java and C). In this context the intermediate transformation that creates an sexec model from the statechart model was refactored and now provides a basis for a public API that will be published with the release of SCT.
Installation & Update

It is available via our milestones update site: http://updates.yakindu.com/indigo/milestones . Use this Eclipse update site link to install the statechart tools into your existing Eclipse Indigo (3.7.1). For a new installation choose Eclipse  menu Help/Install New Software … and  Help/Check for Updates if you have already installed a preview version of SCT