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 the results instead of a repeated recomputation from-scratch. IncA has been successfully applied to implement practically relevant static program analyses for DSLs and GPLs, including various data-flow analyses, well-formedness checks, and code validations. IncA uses the Viatra Queries framework under the hood for incrementalization.
The Ericsson Model Driven Workflow (EMDW) project used the incremental code generation aspect of VIATRA in order to optimize the turnaround time of large and complex code generation processes.
The EMDW code generator works with UML-like dynamic models and produces optimized C++ code. The challenge was to make sure the code generation process could run in an incremental way, meaning that the generator only updates the necessary C++ files in order to reduce the amount of work done by the compiler. As a result, the turnaround time was reduced from hours to minutes, proving to be a huge productivity gain for software engineers.
Artop, the AUTOSAR implementation based on Eclipse Modeling technology uses the VIATRA indexer to speed up model management operations through the Sphinx framework.
Papyrus is the Polarsys UML modeling tool used in a wide spectrum of domains. Papyrus also incorporates VIATRA incremental mode-code synchronization technology allows Papyrus to sync with Java. The VIATRA model indexer is also used to speed up model loading times and responsiveness of the user interface.
Capella is an open source systems engineering tool by Thales. VIATRA powers an add-on that allows systems engineers and managers to perform ad-hoc queries in an easy-to-use and visual way.
Massif is a unique tool integration technology that acts as a bridge between Matlab SimuLink, and the Eclipse modeling worlds. Massif was born out of our collaboration with the Embraer airframer company. The original goal of Massif was to enable model-driven engineering workflows relying on a seamless interoperation of Matlab and Eclipse based tools. Massif provides an automated and bidirectional synchronization mechanism. It is able to convert models instantly between an Eclipse-based tool and a running Matlab instance.