IncA is a program analysis framework. It comes with a DSL for the definition of program analyses and the runtime system evaluates program analyses incrementally to achieve the performance that is needed for real-time feedback in IDEs. When code gets changed, the IncA runtime system incrementally updates analysis results instead of the repeated recomputation from scratch. IncA program analysis code is translated into graph patterns, and we reuse existing incremental graph pattern matching solutions to evaluate the analysis code on the AST of the analyzed program.
MPS-DF allows language engineers to define data-flow analysis for (domain-specific) languages in the MPS language workbench. The two key aspects of the project are extensibility and variable-precision. MPS goes a long way in supporting language extensions, and MPS-DF analyses require only minimal adjustments to work on an extended language thereby not limiting language extensibility. Variable-precision lets the analysis developer tailor the precision level of the analysis according to the requirements of a particular use-case (e.g. analyses used in a compiler vs real-time checks in the IDE).
The VIATRA project is an Event-driven and Reactive Model Transformation Platform. The framework supports the development of model transformations with specific focus on event-driven, reactive transformations and offers a language to define transformations and a reactive transformation engine to execute certain transformations upon changes in the underlying model. Furthermore, the underlying incremental query engine, originating from the EMF-IncQuery project is reusable in different scenarios not related to model transformations. The IncA project also shares its roots with the VIATRA project, and it reuses the core VIATRA engine.
mbeddr is a set of integrated and extensible languages for embedded software engineering, plus an IDE.
It supports implementation, testing, verification and process aspects. It integrates with command-line build
tools and integration servers, as well as file-based version control systems.
mbeddr has support for requirements and product line definition, software documentation, implementation in C and C extensions such as state machines physical units or interfaces and components, as well as testing, mocking, as well as formal verification.
mbeddr comes with a state-of-the-art IDE including syntax coloring, code completion, go to definition, realtime type checks, quick fixes, refactorings, customizable find-usages, automated synchronization between related parts of the code, version control integration and debugging.