Skip to content

View-based Development and Model Consistency Framework

License

Notifications You must be signed in to change notification settings

vitruv-tools/Vitruv

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Vitruv

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 project contains the central Vitruvius framework, providing the definition of a V-SUM (Virtual Single Underlying Model) containing development artifacts to be kept consistent and to be accessed and modified via views. In the implementation, a V-SUM is called VirtualModel, which is instantiated with a set of ChangePropagationSpecifications (no matter whether they are developed with the Vitruv-DSLs or just as an implementation of the interface defined in the Vitruv-Change repository). The VirtualModel then provides functionality to derive and modify views and to propagate the changes in these views back to the VirtualModel, which then executes the ChangePropagationSpecifications to preserve consistency.

Framework-internal Dependencies

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

Module Overview

Name Description
views Definition of view types on the underlying models.
vsum Definition of V-SUMs with consistency preservation rules between meta-models and view types.
remote Client-server infrastructure for working with V-SUMs.
applications Definition of and registry for V-SUMs.
testutils Utilities for testing in Vitruvius or V-SUM projects.