Skip to content

Core Artifacts for Change Representation and Propagation

License

Notifications You must be signed in to change notification settings

vitruv-tools/Vitruv-Change

Repository files navigation

Vitruv Change

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 underlying definition of changes in Ecore-based models and interfaces for specifying the propagation of changes between models to preserve their consistency with the central interface ChangePropagationSpecification, as well as an interface and a default implementation for orchestrating the execution of such specifications. In addition, interactions to involve the user into the change preservation process are provided.

Module Overview

Name Description
atomic Definition of the atomic change meta-model.
composite Definition of complex changes as a sequence of atomic changes.
propagation Applying changes to update model states.
changederivation Derivation of changes from an updated model state.
interaction Requesting input from developers during consistency preservation.
correspondence Definition of annotatable mappings between model elements.
testutils Utilities for testing in Vitruvius or V-SUM projects.
utils Utilities for Vitruvius or V-SUM projects.