There is currently some buzz around Microsoft’s Visual Studio Code (VS Code) editor and its ability to support rich code editing for potentially any language through its Language Server Protocol (LSP). With the upcoming version 2.11 (release date Oct 18th) Xtext will provide LSP support which enables integration of Xtext DSLs in code editors that support LSP. This article explains how Xtext supports the Language Server Protocol and its implementation in detail and how a VS Code plugin can be built and installed that uses a Xtext Language Server.Read More >
Today we released version 2.7.0 of YAKINDU Statechart Tools!
The product bundle of SCT is now shipped with Eclipse Neon as underlying platform which comes with several improvements as compared to the Mars release. However, SCT does not require Neon to be installed. You can still update the SCT plugins with a Mars based IDE or the previous SCT bundle.Read More >
This blog post explains how to develop a custom code generator for the open source framework YAKINDU Statechart Tools. As an example, we will generate Statechart XML (SCXML) from a simple stop watch state machine. The stop watch use case is taken from the Apache Commons SCXML site. The stop watch model consists of 4 different states (ready, running, stopped and paused) and the state transitions are triggered by events that represent the stop watch buttons (watch.start, watch.stop, watch.split, watch.unsplit, watch.reset).Read More >
Stakeholders usually document requirements informally, i.e. in natural language. Often using text processing programs which do not provide any input assistance related to the requirements and do not allow their automated validation or post-processing. This leads either to higher efforts for cost intensive and time consuming human review processes or to reduced quality which can have a negative impact on subsequent development phases. To compensate these disadvantages of the usage of natural language in requirements documentation, various approaches exist. One of these approaches is to control the use of natural language by using templates in order to create acceptable requirements as they are written. This series shows how to create a controlled natural language based on sentence templates (we call them 'boilerplates') using Xtext.Read More >
Typically state machines generated from YAKINDU SCT state charts are used as black boxes. The code that embeds the state machines does not care about the internal execution of the state machine. But there are various use cases where information about internal execution events, especially state changes, must be observed. These kind of execution traces can be implemented manually by adding entry and exit actions that call operations or set variables. But this is very cumbersome and pollutes the statecharts with tracing code. Since version 2.6 the C code generator supports an option to enable tracing callbacks.Read More >
Every once in a while our clients ask us whether it is possible to generate code for UML models designed with the Enterprise Architect (EA). Short answer: yes, but we don’t recommend it. In general, we encourage our clients to follow the model-driven engineering (MDE) paradigm to automatically derive source code from software models.Read More >
In this blog post, you will learn in four simple steps how to use YAKINDU Statechart Tools to develop software for the Arduino platform. The example application is a simple pedestrian traffic light. We'll go through the process of installing the Arduino toolchain, setting up the example project, generating state machine code and uploading the executable to your Arduino together.
This example may also be interesting for developers of other platforms – for example ARM CPUs like the STM32 platform, the Raspberry Pi or the Beaglebone. Integrating state machine code with your device specific code is pretty simple, as you will see!
Read More >
Jeder App-Entwickler kennt sie. Die Frage eines Auftraggebers, wie der Splashscreen einer App länger angezeigt werden kann. Die Antwort, die ein Entwickler aus meiner Sicht geben sollte, ist: "Gar nicht."Read More >
Testing complex state machines can be cumbersome as many steps need to be repetitively performed until a state of interest is reached. To overcome this, the YAKINDU Statechart Tools Professional Edition provides a new feature called Simulation Snapshots which allows users to resume the simulation directly at the point of interest.Read More >
When testing code, breakpoints are of a great help and most of you are probably using them on a daily basis in their IDE. An executable graphical model, like a state machine, is just a different view on the code it represents; and sooner or later you will need to debug it, too. With the Professional Edition of YAKINDU Statechart Tools it is now possible to set breakpoints directly on the graphical model in order to control the simulation.Read More >