ArticleslgStudy

science

VIATRA

VIATRA is a science topic covered in the lgStudy science library. This page brings together a partial reference excerpt, illustrations, worked examples, real-world applications and a short study plan, so you can understand VIATRA rather than just read about it. In short: VIATRA is an open-source model transformation framework based on the Eclipse Modeling Framework (EMF) and hosted by the Eclipse Foundation. VIATRA supports the development of model transformations with specific focus on event-driven, reactive transformations, i.e., rule-based scenarios where transformations occur as reactions to certain external changes in the model.

Key takeaways

  • VIATRA belongs to science; place it in that map before memorising details.
  • Learn the definition first, then one example that makes the definition concrete.
  • Connect VIATRA to a quantity you can measure, compute or draw — that is where exam questions come from.
  • Reproduce the core statement of VIATRA from memory before moving on to harder problems.

Reference excerpt

VIATRA is an open-source model transformation framework based on the Eclipse Modeling Framework (EMF) and hosted by the Eclipse Foundation. VIATRA supports the development of model transformations with specific focus on event-driven, reactive transformations, i.e., rule-based scenarios where transformations occur as reactions to certain external changes in the model. Building upon an incremental query support for locating patterns and changes in the model, VIATRA offers a language (the VIATRA Query Language, VQL) to define transformations and a reactive transformation engine to execute certain transformations upon changes in the underlying model.

Application domains VIATRA, as an open-source framework offering, serves as a central integration point and enabler engine in various applications, both in an industrial and in an academic context. Earlier versions of the framework have been intensively used for providing tool support for developing and verifying critical embedded systems in numerous European research projects such as DECOS, MOGENTES, INDEXYS and SecureChange. As a major industrial application of VIATRA, it is utilized as the underlying model querying and transformation engine of the IncQuery Suite. Thus, VIATRA is a key technical component in several industrial collaborations around model-based systems engineering (MBSE), fostering innovative systems engineering practices in domains like aerospace, manufacturing, industrial automation and automotive. Furthermore, via the applications of the IncQuery Suite, VIATRA serves as the foundation for model-based endeavors of ongoing, large-scale European industrial digitalization endeavors, such as the Arrowhead Tools and the Embrace projects. VIATRA is well integrated with Eclipse Modeling tools. However, VIATRA works outside the Eclipse environment as well, as demonstrated by the IncA project using the JetBrains MPS platform.

Functionality VIATRA provides the following main services:

An incremental query engine together with a graph pattern based language to specify and execute model queries efficiently. An internal DSL over the Xtend language to specify both batch and event-driven, reactive transformations. A model obfuscator to remove sensitive information from a confidential model (e.g., to create bug reports).

Origins and history The current VIATRA project is a full rewrite of the previous VIATRA2 framework, coming with full compatibility and support for EMF models. The project features a History wiki page that describes the main differences between the different versions. As for applications of the earlier VIATRA2 framework, it served as the underlying model transformation engine of the DECOS European IP in the field of dependable embedded systems. Furthermore, a traditional application area for VIATRA2 – starting as early as 1998 – was to support the analysis of system models taken from various application areas (safety-critical and/or embedded systems, robust e-business applications, middleware, service-oriented architecture) described using various modeling languages (SysML, UML, BPMN, etc.) during a model-driven systems engineering process. Such a model analysis typically also includes the verification and validation, the testing, the safety and security analysis as well as the early assessment of non-functional characteristics (such as reliability, availability, responsiveness, throughput, etc.) of the system under design. These use-cases and application fields still constitute focal areas for VIATRA, mostly addressed via the IncQuery Suite as an interface on the user's end.

Approach Since precise model-based systems development is the primary application area of VIATRA, it necessitates that (i) the model transformations are specified in a mathematically precise way, and (ii) these transformations are automated so that the target mathematical models can be derived fully automatically. To achieve this, VIATRA relies upon a mathematically precise rule-based specification formalism, namely, graph transformation (GT). VIATRA aims at invisible formal methods: here, formal details are hidden by automated model transformations projecting system models into various mathematical domains (and, preferably, vice versa). The basic concept in defining model transformations within VIATRA is the (graph) pattern. A pattern is a collection of model elements arranged into a certain structure fulfilling additional constraints (as defined by attribute conditions or other patterns). Patterns can be matched on certain model instances, and upon successful pattern matching, elementary model manipulation is specified by graph transformation rules. Like OCL, graph transformation rules describe pre- and postconditions to the transformations, but graph transformation rules are guaranteed to be executable, which is a main conceptual difference. In particular, as reactive, event-driven transformations are the current focus of VIATRA, VIATRA includes a rule execution engine which monitors changes (interpreted as events) in the model, and fires a rule whenever a change led to the fulfillment of the precondition for that rule (and, potentially, if some further control conditions are also met).

See also Model Driven Engineering (MDE) Model Driven Architecture (MDA) Domain Specific Language (DSL) Model Transformation Language (MTL) MOF Queries/Views/Transformations (MOF QVT) ATLAS Transformation Language (ATL) XML transformation language (XML TL)

References

External links VIATRA Eclipse project page

Worked examples

Example 1 — a first encounter with VIATRA

Start with the simplest possible case. Write down what VIATRA claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In science, the smallest case is usually a single object, a single equation or a single measurement. Check that every symbol or term in your sentence has a meaning in that case.

Example 2 — changing one variable

Take the situation from Example 1 and change exactly one quantity: double it, halve it, or set it to zero. Predict what should happen to VIATRA before you calculate. Comparing your prediction with the result is the fastest way to find out whether you understand the idea or only the words.

Example 3 — an exam-style question

Typical questions about VIATRA ask you to (a) state it precisely, (b) apply it to given data, and (c) explain a limitation. Practise writing all three answers in under five minutes; the third part is what separates a full-mark answer from an average one.

Applications of VIATRA

In research
VIATRA appears in science research whenever the underlying quantities have to be modelled precisely. Papers usually cite it as a starting assumption and then explore where it breaks down.
In technology and industry
Engineering practice reuses VIATRA in design rules, simulations and safety margins. Knowing the idea lets you read a specification sheet and understand why the numbers look the way they do.
In the classroom
VIATRA is common in secondary-school and first-year university syllabi. It links to neighbouring topics Graph rewriting, Unified Modeling Language, so understanding it makes those chapters shorter.
In everyday life
Look for VIATRA outside the textbook — in sport, cooking, traffic, electronics or the sky above you. An example you found yourself is remembered far longer than one you were given.

Affiliate

Preply — study more efficiently by working with a personal tutor. 50% off.

How to study VIATRA in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what VIATRA means in your own words.
  3. Compare your version with the excerpt and mark what you missed.
  4. Work through the three examples above with pen and paper.
  5. Explain VIATRA out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is VIATRA in simple terms?

VIATRA is an open-source model transformation framework based on the Eclipse Modeling Framework (EMF) and hosted by the Eclipse Foundation. VIATRA supports the development of model transformations with specific focus on event-driven, reactive transformations, i.e., rule-based scenarios where transf…

Why does VIATRA matter?

Because it connects several science ideas at once: it gives you a definition you can apply, a quantity you can calculate, and a way to check whether a result is plausible.

How should I study VIATRA?

Read the excerpt, restate it from memory, then work through the examples and applications listed on this page. The five-step study plan above takes about twenty minutes.

What does this page cover?

It gives you a compact reference excerpt plus original lgStudy explanations, examples, applications and study material on VIATRA.

Tags

  • Graph rewriting
  • Unified Modeling Language

Keep exploring