A few preliminary observations

83 views
Skip to first unread message

Robert

unread,
Apr 6, 2013, 4:26:28 PM4/6/13
to yakind...@googlegroups.com
I have been evaluating Yakindu as a possible replacement for the abandonware BetterState.  It looks like a good replacement but not surprisingly there are a few features that appear to be missing.

  • A manual.  Almost everything has to be determined by poking at it. That does work but I would be a lot more confident about the correctness, robustness and completeness of my understanding if there was a manual to read.  I do realize this is early days  but I do think it is something that is missing.  A manual would address a couple of items that left me flummoxed for a little while
    • Visual properties.  It was not obvious how to change the visual properties to cleaner ones than the default.  I did find it eventually but I am left with one I have not figured out.  The state boxes appear to have a shadow.  However nice that might appear on the screen when it is printed it looks dirty and appears as if it is a printing error.  It is also not obvious how to set up defaults that will apply for new projects.
    • I have not figured out how to call the code generation form the command line
  • There does not appear to be a way forcing the contents of a composite state to another page.  Another page not another statechart.  The objective is to hide the apparent complexity and give an overview on parent pages with descendents amplifying that.  It does mean that there also needs to be a way of making transitions off page. Without this capability even moderately complex statecharts quickly become too large to print.
  • Speaking of printing.  Although the text box at the left of the chart is useful, there are cases when it would be nice to be able to print without it being printed.  In fact I can see it being useful to print it on a separate page, or possibly pages, so that there is actually a full page for the statechart.
  • There needs to be a way of converting a standard state to a composite state (and back).  I find this is a very common need as the specification I am working to (or my understanding of it) changes.
  • License information.  I cannot seem to find the license information.  I'm sure it is available somewhere but I will need that in order to have a chance to adopt this tool.
This does look very nice from my review so far.  If anyone wants to create an RLL generator I would be interested in seeing it :)  I might be tempted to do that myself if I had some documentation on the subject.  It's not something I'm tempted to tackle yet though.

So far it appears to be a better fit for my use than the current commercial offerings. A small step below the last BetterState which was less capable than their earlier version but it looks like very useful software. The printing support is already better that the last version of BetterState.

Despite my complaints above this deserves a hearty well done.  I'm just impatient to see it fit my needs perfectly :)  I'm looking forward to seeing what Damos turns out like.

Thank you very much for you work
Robert

Andreas Mülder

unread,
Apr 7, 2013, 12:34:01 PM4/7/13
to yakind...@googlegroups.com
Hi Robert,

I am glad to hear that you like yakindu statechart tools and think that our tool is a good replacement for BetterState. See my comments bellow:


Am Samstag, 6. April 2013 22:26:28 UTC+2 schrieb Robert:
I have been evaluating Yakindu as a possible replacement for the abandonware BetterState.  It looks like a good replacement but not surprisingly there are a few features that appear to be missing.

  • A manual.  Almost everything has to be determined by poking at it. That does work but I would be a lot more confident about the correctness, robustness and completeness of my understanding if there was a manual to read.  I do realize this is early days  but I do think it is something that is missing.  A manual would address a couple of items that left me flummoxed for a little while
 In fact, there is some documentation online available at http://statecharts.org/documentation.html and included in the tool. (Help -> Help contents -> Yakindu Statechart Tools). The documentation contains a simple getting started tutorial as well as a reference guide with detailed descriptions about the statechart elements and the expression language. But you are right, the documentation still is not complete and any contribution on this topic is appreciated :-). Unfortunately our resources are limited and we currently focus on the development of new features.
    • Visual properties.  It was not obvious how to change the visual properties to cleaner ones than the default.  I did find it eventually but I am left with one I have not figured out.  The state boxes appear to have a shadow.  However nice that might appear on the screen when it is printed it looks dirty and appears as if it is a printing error.  It is also not obvious how to set up defaults that will apply for new projects.
It is possible to change the default colors for states and regions via a build in preference page. For single states, there is an appearance tab in the property page at the bottom of the editor. This allows some styling of the diagrams nodes and edges. In addition, we added linear gradients and a drop shadow to the nodes to prettify the diagrams. These effects are not supported out of the box by the underlying frameworks, so it is currently not possible to disable them. If it is a requirement for you to disable these effects, maybe we could add a checkbox for them to the preference page.
    • I have not figured out how to call the code generation form the command line
 Headless code generation is not supported out of the box. Afaik, the underlying framework (XText) supports headless code generation. So it should be possible to figure out how to execute the code generators from command line.
  • There does not appear to be a way forcing the contents of a composite state to another page.  Another page not another statechart.  The objective is to hide the apparent complexity and give an overview on parent pages with descendents amplifying that.  It does mean that there also needs to be a way of making transitions off page. Without this capability even moderately complex statecharts quickly become too large to print.
This is indeed a point many users complained in the current version. We worked on a feature called subdiagrams in the past milestone and I think this fits your requirements. I wrote a small blog post on this, see the Extract / Inline Subdiagrams refactoring at http://muelder.blogspot.de/2013/03/statechart-refactorings.html.
  • Speaking of printing.  Although the text box at the left of the chart is useful, there are cases when it would be nice to be able to print without it being printed.  In fact I can see it being useful to print it on a separate page, or possibly pages, so that there is actually a full page for the statechart.
Afaik it is not planed to remove the statechart specification block. However, it is resizable so it should be possible to reduce the size to a minimum.
  • There needs to be a way of converting a standard state to a composite state (and back).  I find this is a very common need as the specification I am working to (or my understanding of it) changes.
You can add 1..n regions form the palette to a regular state to make it a composite state and delete the regions to have a regular state. In the next version it is also possible to extract regions to a separate diagram.

  • License information.  I cannot seem to find the license information  I'm sure it is available somewhere but I will need that in order to have a chance to adopt this tool.
The source code is available under Eclipse Public Licence.

This does look very nice from my review so far.  If anyone wants to create an RLL generator I would be interested in seeing it :)  I might be tempted to do that myself if I had some documentation on the subject.  It's not something I'm tempted to tackle yet though.

Any contribution is welcome. If you are interested in creating an RLL generator and make it available as open-source, we will support you with all required informations.


So far it appears to be a better fit for my use than the current commercial offerings. A small step below the last BetterState which was less capable than their earlier version but it looks like very useful software. The printing support is already better that the last version of BetterState.

Despite my complaints above this deserves a hearty well done.  I'm just impatient to see it fit my needs perfectly :)  I'm looking forward to seeing what Damos turns out like.

Thank you very much for you work
Robert


Thank you very much for your feedback,

Andreas 

Robert

unread,
Apr 7, 2013, 2:41:34 PM4/7/13
to yakind...@googlegroups.com
Thanks for the information Andreas.

I will contribute if I get a chance.  I did assume that new features were a higher priority than documentation at the moment.  One of my reasons for mentioning the difficulties I run into determining what's going on at the start is that once familiar you easily forget what was hard to understand at the beginning so it doesn't get properly documented for newcomers.

I can think of several languages that might be useful to have generators for. RLL is likely to be the most challenging.

Again Kudos and thank you for the effort.

Robert

Robert

unread,
May 10, 2013, 7:37:09 AM5/10/13
to yakind...@googlegroups.com


On Sunday, April 7, 2013 12:34:01 PM UTC-4, Andreas Mülder wrote:
Hi Robert,

I am glad to hear that you like yakindu statechart tools and think that our tool is a good replacement for BetterState. See my comments bellow:

Am Samstag, 6. April 2013 22:26:28 UTC+2 schrieb Robert:
  • Speaking of printing.  Although the text box at the left of the chart is useful, there are cases when it would be nice to be able to print without it being printed.  In fact I can see it being useful to print it on a separate page, or possibly pages, so that there is actually a full page for the statechart.
Afaik it is not planed to remove the statechart specification block. However, it is resizable so it should be possible to reduce the size to a minimum.

I just tried with the most recent version.  It does not work.  In fact it makes the problem worse.  When resizing the box expands to the width of the longest line covering up a portion of the statechart if that new width is larger than the original.

There is another issue that has popped up with printing.  I will try to replicate on a second machine and give you a test case.

Robert

Andreas Mülder

unread,
May 10, 2013, 1:45:57 PM5/10/13
to yakind...@googlegroups.com
Hi Robert,

Hi Robert,
you are right - it is not possible to resize the statechart specification block smaller than its content. 
Maybe we can add a preference wheter to show or hide the specification part.

Best regards,
Andreas
Reply all
Reply to author
Forward
0 new messages