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.
This project depends on the following other projects from the Vitruvius framework:
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. |