The project team uses Sonarcloud to continuously improve the quality of the code. Currently, sonarcloud lists no security vulnerabilities. Sonarcloud lists one bug and three security hotspots at the moment.
4diac IDE is split to several features and is composed of over 60 plug-ins, thus demonstrating the extensible nature of the project. Isolated components such as the model execution framework, the deployment integration for 4diac FORTE, or the integration of the Eclipse Layouting Kernel are separated in own plug-ins.
4diac IDE follows the model/view/controller-pattern of GEF3. As a result, the model (generated from EMF metamodel) is separated from the logic for manipulating the model elements. Automated tests are currently provided for many commands editing the model, but not all of them. Automated tests from a user perspective are not available.
4diac IDE nowadays uses a pom-less build, which has significantly improved the maintainability of the build, especially when any developer needs to create additional plug-ins. While the project team has been working on stabilizing the API of the project, only little documentation of the API is hitherto available.
4diac IDE is ragularly updated to the include the most modern Eclipse platform. Because of some issue not yet resolved for the 2.0.0 this will Eclipse 2021-06.
4diac FORTE is based on a core providing the main functiality. A hardware and operating system abstraction layer ensures that 4diac FORTE can be easily ported to different divices and operating systems. Currently 4diac FORTE builds and has been tested on: eCos, freeRTOS, Linux (ppc, amd64, arm), MacOS, pikeos, vxWorks, rcX, ThreadX, and Windows,
4diac FORTE features an extensible communication architecture allowing to easily intergrate different communication protocols. Currently 4diac FORTE provides already HTTP, Modbus TCP, OPC classic, OPC UA, EthernetPOWERLINK, ROS, TSN, and XQuery.
In order to be adaptable to the needs of different applications 4diac FORTE's build system features a module system where users can select which modules should be included in a specific 4diac FORTE. Such modules are typically IEC 61499 function block libraries or IO support of different devices.