Monday October 23rd 2023

This time Holiday Farm Holdeurn in Berg en Dal set the stage for our innovation week. A very nice location in the middle of nature, far away from our normal workplace. For the social event we drove to the Waal river, where we enjoyed a tasty cruise with the pancake boat, followed by a city walk through the beautiful city center of Nijmegen, according to sources the oldest city in The Netherlands.

For the innovation projects, the team was divided into five so-called tracks to work on following topics.

The next editor
Two tracks have been working on "The next editor." One track worked on an update of our current editor. This has looked at different Javascript editors. The other track looked at graphical/visual modeling, which goes a lot further than our current approach. Currently, Axini's modeling language is textual. Automated visualizations are created from these textual models, which you can step through to simulate. How nice would it be if you could just use your mouse to create visual models? At Axini, we find this interesting. However, we actually want to be able to model both possibilities, both textually and visually. We figured this out this week with a nice first step as a result.
Smart data for test cases
To come up with smart test data, we use so-called constraint solvers. These are complex tools that convert so-called constraints, i.e. a logical formula, into concrete data. For example, the formula "X > 3," which tells us that we are looking for a value for the variable "X" that must be greater than 3. An example of a valid value is '4'. As you can imagine, these constraints can be about different data types, and can also get very complex. Think of negative numbers, floating point numbers, text, up to entire XML data structures. A promising area of active research is the so-called SMT solvers. In this track, we have made the Z3 solver available as a beta feature to evaluate its operation.
Test case generation for user scenarios
In previous innovation weeks, we have been working on providing functionality to capture requirements in so-called scenarios. In doing so, it is possible to verify that executed test cases do or do not hit such a scenario. If the scenario is hit, it means that a concrete instance of the requirement has been tested. As a next step, we would like to directly generate test cases for the defined scenarios. The latter was delivered as a beta feature during this week.
Gitlab
This track is aimed primarily at Axini developers. After a thorough tool selection we chose to use Gitlab. Gitlab is an interesting collaboration environment with all kinds of tools for software developers to work together efficiently. Think of code reviews, saving code, creating tickets, and also building and deploying code in so-called CI/CD pipelines. For the latter, Gitlab pipelines were set up for our builds during the week.

The next Axini Week, the Winter of Code, will be in January 2024. We already have some topics in mind for that week, but if you have any ideas or suggestions, we'd love to hear about it.