Trace

@Entity
class Trace(var dataID: Long? = null, deltas: MutableList<Delta> = LinkedList(), var fragment: Fragment? = null)

The Trace is an optional part of a Fragment that contains change operations (deltas) that were performed to the Fragment in the past. The usage of the Trace is implementation specific and may be refined in future work. In general, the Trace targets the Model, but could target Instance changes as well. The coarse idea is the following: Each evolution step by the client (e.g. that increments the running version) produces a sequence of Deltas which are added to the Trace. This allows going back in time (reverse operations) and helps to (re-)construct model transformations between different variants and versions. If a new Fragment is created from an existing one, the Trace of the new Fragment is emptied.

Unlike a delta modes (see Ina Schäfer et al.) does a Trace not have the properties of a partially ordered set. A Traces has the properties of a totally ordered set, i.e., a sequence of change operations.

Constructors

Link copied to clipboard
constructor()
constructor(dataID: Long? = null, deltas: MutableList<Delta> = LinkedList(), fragment: Fragment? = null)

Properties

Link copied to clipboard
var dataID: Long?

Technical database (JPA) identifier used for relation joins. The dataID is system specific and not exported to XML. It must not be used to identify elements in distributed use-cases. It should not be used to identify elements from outside the service. All model elements provide other suitable identifiers to be used.

Link copied to clipboard

Backlink for faster traversal

Functions

Link copied to clipboard
fun addDelta(delta: Delta): Boolean
Link copied to clipboard
fun autowire()
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard