Success stories
VIATRA-based industrial applications

IncA - INCremental program Analysis

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.

EMDW (model-to-model, code generation)

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 (model indexing)

Artop, the AUTOSAR implementation based on Eclipse Modeling technology uses the VIATRA indexer to speed up model management operations through the Sphinx framework.

Papyrus (queries, derived features, live transformations)

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 (queries)

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

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.