Skip to content

Languages for Specifying Consistency Preservation Rules

License

Notifications You must be signed in to change notification settings

vitruv-tools/Vitruv-DSLs

Repository files navigation

Vitruv DSLs

GitHub Action CI Latest Release Issues License

Vitruvius is a framework for view-based (software) development. It assumes different models to be used for describing a system, which are automatically kept consistent by the framework executing (semi-)automated rules that preserve consistency. These models are modified only via views, which are projections from the underlying models. For general information on Vitruvius, see our GitHub Organisation and our Wiki.

This DSLs project provides several languages to specify consistency preservation rules in terms of model transformations for keeping models consistent. Currently, the Reactions and the Commonalities language are available with different levels of maturity. The Reactions language is the most used and best maintained one. The DSLs only depend on the change definition of Vitruvius, such that they can be used standalone to define and execute model transformations.

Framework-internal Dependencies

This project depends on the following other projects from the Vitruvius framework:

Module Overview

Name Description
common Common consistency specification language infrastructure.
reactions Language for the definition of imperative consistency preservation rules.
- language Definition of the language infrastructure (grammar, parser, validation, etc.).
- runtime Definition of the runtime environment for executing consistency specifications.
commonalities Language for the definition of shared concepts between meta-models.
- language Definition of the language infrastructure (grammar, parser, validation, etc.).
- runtime Definition of the runtime environment for executing consistency specifications.
demo Small projects demonstrating the use of our consistency preservation languages.
testutils Utilities for testing in Vitruvius or V-SUM projects.