Dokument_1.pdf (30119 KB) - OPUS Bayreuth - Universität Bayreuth
Dokument_1.pdf (30119 KB) - OPUS Bayreuth - Universität Bayreuth
Dokument_1.pdf (30119 KB) - OPUS Bayreuth - Universität Bayreuth
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
1 Einleitung<br />
enthält. In dieser Art der Versionsspeicherung können mehrere unterschiedliche Varianten<br />
zeitgleich existieren. Dazu werden mindestens zwei Arten von Beziehungen zwischen<br />
den Versionen benötigt: Nachfolgebeziehungen, die innerhalb eines Zweiges benutzt werden,<br />
und Verzweigungen. Wird weiterhin noch die Verschmelzung unterstützt, so ist es<br />
möglich, Änderungen auf einem Zweig in Versionen auf einem anderen Zweig zu propagieren.<br />
Dies führt wiederum zu einem gerichteten azyklischen Graphen. Die Zweige<br />
werden aber nicht vereint, sondern sie existieren weiterhin. Abbildung 1.4 zeigt einen<br />
Versionsgraphen mit vier Zweigen. Die Zweige z2 und z3 gehen aus der Version v2 des<br />
Zweigs z1 durch Abzweigung hervor. Von v2 des Zweigs z2 wird ein weiterer Zweig abgespalten,<br />
der dann nach einer Evolution wieder mit dem Zweig z2 verschmolzen wird<br />
v3 aus z4 mit v4 aus z2. Die Versionen v2 bzw. v3 aus dem Zweig z3 werden mit den<br />
Versionen v4 bzw. v5 des Ursprungszweiges z1 verschmolzen.<br />
z1<br />
z2<br />
v1<br />
z3<br />
z4<br />
v1<br />
v1<br />
v2<br />
v2<br />
v3<br />
v1<br />
v2<br />
Zweig<br />
Nachfolger<br />
Verzweigung<br />
v2<br />
v3<br />
v4<br />
v3<br />
Verschmelzung<br />
v3<br />
v4<br />
v5<br />
Abbildung 1.4: Versionsgraph mit Zweigen und Verschmelzungen [CW98].<br />
1.5.3 Speicherung von Artefakten<br />
Um ein versioniertes Objekt zu speichern, existieren ebenfalls mehrere unterschiedliche<br />
Ansätze [CW98]. Versionen unterscheiden sich durch spezielle Eigenschaften, die beispielsweise<br />
durch versionierte Attribute ausgedrückt werden können. Als Delta wird der<br />
Unterschied zwischen zwei Versionen bezeichnet. Prinzipiell kann man diese Unterschiede<br />
auf zwei Arten beschreiben: (1) Ein symmetrisches Delta zwischen zwei Versionen<br />
v 1 und v 2 besteht aus der Vereinigung der Mengen der spezifischen Eigenschaften beider<br />
Versionen, abzüglich der Schnittmenge: ∆(v 1 , v 2 ) = (v 1 ∪ v 2 ) \ (v 1 ∩ v 2 ). (2) Ein<br />
gerichtetes Delta, auch Änderung genannt, wird durch eine Sequenz von elementaren<br />
Änderungsoperationen op 1 , . . . , op m beschrieben, die auf eine Version v 1 angewandt, zu<br />
einer Version v 2 führen.<br />
Abbildung 1.5 zeigt auf der linken Seite einen möglichen Versionsgraphen und rechts<br />
davon die nachfolgend beschriebenen Möglichkeiten zur Speicherung der einzelnen Zustände<br />
des versionierten Objekts.<br />
24