YAKINDU SCT 1.x has been around for quite a while and finally got into maintenance state. Meanwhile we collected a lot of requirements and ideas about the future development of the statechart tools. The main goals are to improve the usability of the modeling and simulation tools, extend the statechart modeling features, wider support for testing and finally allowing domain specific extensions of statecharts. Since this is a big bunch of stuff we decided to go for a new major version of the YAKINDU SCT and not to care about backwards compatibility. So we have the option to continue parts that fit well but also are able to drop things that don't fit.
After roughly a half year of development some functionality is ready for a public preview. Some key features are still missing in this preview, i.e. the simulation engine and the code generators, but the meta model and the diagram editor is stable.
We implemented the following major improvements in this current preview:
new statechart editor
Version 1.0 of the statechart editor was created with GMF tooling. While GMF tooling is great for developing run-of-the-mill graphical editors in a couple of minutes, there are some major drawbacks when developing high-grade customized editors like the statechart tools. Thus, we decided to start version 2.0 as a complete redevelopment against the GMF runtime. The result is a graphical editor with 100% handwritten code that is well structured and easily maintainable.
usability & visual polishing
Some effort was spent in improving the usability by reworking the handling and visual design of statechart elements. This also included things like changing layouts, additional editing actions etc. Also the coloring in version 1.0 were always a matter of taste ;-) In SCT2 we use more decent coloring and font styles. These are just the first steps towards a very cool statechart editor.
advanced textual editing support
The most striking features is the wider use of textual parts on transitions, states, and statechart level. Since there was no good editor support in SCT 1.x (even though we used Xtext for parsing). We use Xtext-based in-diagram editors to provide code completion, syntax highlighting, validation, cross referencing etc. to support the user creating complex statements. Give it a try - it is really cool. Those who are interested in the technical details can read my previous post.
extended modeling capabilities
We defined a new version of the statechart meta model that consists of elements that have graphical notation and others with textual notations. This meta model comes with a bunch a new modeling features like structured interfaces, events with values, local reactions (aka internal transitions), operations, derived events, clocks etc.. You can just play around with the code completion in the textual parts in order to explore the features.
The current plan is to provide a version of YAKINDU SCT2 that roughly covers the same functionality as the 1.x version has in respect to code generation and simulation features by end of september 2011. Everyone who wants to take a closer look may load the statechart tools from the update site: