Skip to content

Features

Max Oesterle edited this page Jun 14, 2026 · 1 revision

Features

This page describes the main features of the Vitruv-UI-Methodologist in detail — what each feature does, how to use it, and what it produces.


Canvas modes

The canvas has three modes, selectable via the toggle at the top center of the screen. The mode switch is non-destructive — switching modes and back preserves all work.


Modeling mode

The default mode. This is where a VSUM is composed by placing metamodels on the canvas and connecting them with reactions.

Metamodel boxes

Each metamodel on the canvas is represented as a colored card showing the .ecore filename. Each card has a unique color assigned automatically from a fixed palette so that connections between cards are easy to trace visually.

Drag a metamodel card to reposition it. All cards are contained within a circular boundary that resizes as cards are added or moved.

UML panel

Double click on a metamodel card the UML side for that model. The panel shows the full class hierarchy from the .ecore file — classes, attributes, and references — as a proper UML class diagram.

Reaction edges

A reaction edge connects two metamodel boxes and represents a Reactions DSL file that specifies how a change in the source metamodel should be propagated to the target metamodel.

To draw a reaction edge:

  1. Use the arrows while hovering on a metamodel card to use it as a source metamodel
  2. Click the target metamodel

The edge appears on the canvas. Double clicking it open the Code Editor for that reaction.

Bidirectional reactions (A → B and B → A) are rendered as separate parallel edges with a visual offset so both are distinguishable.


Views mode

Used to define ViewTypes — specifications of how a particular view is constructed from the underlying VSUM data.

Each ViewType has a label, a scope (single or multi), and a set of linked metamodel nodes. ViewTypes are shown as labeled bubbles arranged around the circular canvas boundary. An arrow from each bubble points inward toward the metamodels it draws data from.


Model Library

A searchable, filterable table of all metamodels accessible to the user.

My Library — metamodels the user has uploaded. These are fully editable (name, description, domain, keywords) and deletable.

Public Library — metamodels shared across all users in the system. These are read-only from the library view but can be added to a VSUM canvas.

Uploading a metamodel

  1. Click Upload Model in the library header
  2. Select an .ecore file from your filesystem
  3. Optionally add a .genmodel file
  4. Fill in name, description, domain, and keywords
  5. Submit — the model appears immediately in the library

Model detail view

Clicking a row opens a detail modal with:

  • the full metadata (editable for owned models)
  • a UML class diagram preview generated from the .ecore content
  • download links for the .ecore and .genmodel files

Code Editor

A full-featured Monaco Editor instance embedded in the canvas, opened per reaction edge.

Features:

  • Custom syntax highlighting — a Monarch grammar for the Reactions DSL with token coloring for keywords, type names, string literals, and comments
  • LSP integration — live diagnostics (errors, warnings), auto-complete, and hover information provided by the Xtext-based Reactions LSP running in the backend
  • Save and Initialize — the editor toolbar has two distinct actions:
    • Initialize — creates the reaction file on the backend and registers it with the current edge for the first time
    • Save — updates an already-initialized reaction file
  • Delete — removes the reaction file from the backend and resets the edge to an uninitialized state

The editor header shows the source and target metamodel filenames so the user always knows which reaction they are editing.


VSUM build and export

Check Build

The Check Build toolbar button sends the current canvas configuration to the backend and validates whether the VSUM can be successfully compiled by the Vitruvius framework. The result is shown as an inline status message.

Run this before downloading an artifact to ensure the configuration is valid.

Download Artifact

The Download toolbar button triggers a full VSUM build on the backend and downloads the result as a .zip file. This artifact is the deployable output that Vitruvius-consuming applications use.

The download validates that the server response is a valid ZIP file before saving it — if the backend returns an error instead, the error message is shown inline rather than saving a corrupt file.


Project management

Creating a VSUM

From the Projects tab on the Home screen, click Create new project, enter a name, and confirm. The new project appears in the table immediately.

Soft delete and recovery

Deleting a project moves it to a "deleted" state visible in the Show deleted toggle on the Projects tab. Deleted projects are permanently removed after 30 days. Within that window, they can be recovered via the Recover action. The urgency of deletion is shown visually (yellow → orange → red) as the deadline approaches.

Multiple open projects (tabs)

The canvas supports multiple simultaneously open VSUM projects via a tab strip. Each tab maintains its own independent canvas state in memory. Switching tabs is instant. A dot on a tab label indicates unsaved changes — closing a dirty tab prompts a confirmation dialog.

The current project name is editable in-place via the pencil icon in the top-left of the canvas.


Account management

Accessible via the Profile tab on the Home screen.

  • Edit name — first name and last name can be updated and saved in-place
  • Change password — opens a modal that requires the current password before accepting a new one
  • Forgot password — available on the login screen; triggers a reset email

Username and email are read-only in the UI (managed via Keycloak).

Clone this wiki locally