7.3. The Import of Configurations

7.3.1. Übersicht

Merging two configuration in the Cubetto Toolset proceeds as follows:

Preparing

First, the configurations beeing merged are analysed. This is a fully automated process. Thereby conflicts are identified and separated into trivial and non-trivial conflicts.

Remove conflicts

The conflicts created in step one, are displayed in the merge dialog. If conflicts cannot be solved automatically, you are asked for help. All conflicts are solved after closing the dialog.

Der Dialog zeigt die zwei Konfigurationen an, die zusammengeführt werden sollen. Sie können dabei bestimmen, welche Änderungen aus den einzelenen Konfigurationen übernommen werden sollen. Klicken Sie dafür auf den jeweiligen Pfeil in der Mitte des Dialoges um zu bestimmen, ob das Elemente aus der linken oder der rechten Konfiguration übernommen werden sollen. Grüne Pfeile weisen auf automatisch bzw. manuell beseitigte Konflikte hin. Klicken Sie mit der Maus auf den grünen Pfeil, um bereits getroffene Entscheidungen rückgängig zu machen.

Vor dem Öffnen des Dialoges werden bereits alle automatisch zu behebenden Konflikte behandelt (Autofix). Betätigen Sie die Schaltfläche OK, um den Dialog zu schließen und das Zusammenführen der Konfigurationen abzuschließen. Sofern noch Konflikte existieren, die nicht automatisch entfernt werden können (nicht-triviale Konflikte), müssen Sie diese zuvor mauell entfernen bzw. Autofix mitteilen, wie diese Konflikte behandelt werden sollen. Sie können alle nicht gelöschten Elemente per Doppelklick öffnen, um Details über die Änderungen zu erfahren. Gelöscht Elemente werden kursiv dargestellt.

Der Dialog zum Zusammenführen von Konfigurationen

Figure 7.10. Der Dialog zum Zusammenführen von Konfigurationen

Folgende Funktionen stehen Ihnen bei der Behandlung von Konflikten zur Verfügung:

Autofix

Autofix korrigiert alle trivialen Konflikte. Diese Funktion wurde bereits vor dem Start des Dialoges durchgeführt. Sofern Sie einen Knoten im Baum gewählt haben, so wird jeweils nur der gewählte sowie die darunter liegenden Knoten behandelt.

Sofern Sie die Option Autofix korrigiert Konflikte im oberen Bereich des Dialoges markiert haben, werden auch nicht-triviale Konflikte automatisch beseitigt. Wählen Sie dafür aus, welche Konfiguration im Zweifel verwendet wird und ob auch gelöschte Elemente übernommen werden sollen.

ACHTUNG: Der Dialog merkt sich seine Einstellungen. Wenn Sie Autofix einmal automatisch Konflikte lösen lassen, werden diese beim nächsten Import vor dem Öffnen des Dialoges wieder automatisch behandelt. Möchten Sie eine solches Autofix rückgängig machen, so betätigen Sie die Schaltfläche Zurücksetzen und führen Sie Autofix erneut ohne die Option aus. Diese Option kann auch +ber den Dialog Einstellungen geändert werden.

Zurücksetzen

Macht alle Einstellungen (manuelle und durch Autofix durchgeführte) rückgängig. Anschließend müssen die Konflikte erneut manuell oder mit Autofix korrigiert werden.

Nächster Konflikt

Springt zum nächsten nicht-trivialen Konflikt.

Nächster Unterschied

Springt zum nächsten Konflikt (trivial oder nicht-trivial).

Related Help subjects:

7.3.2. Conflicts when merging

Different conflicts can occur when merging two Configurations. The Cubetto Toolset attempts to solve trivial conflicts automatically. If there are non-trivial conflicts, you are asked for help. The illustration below shows the tree of decisions used by the Cubetto Toolset (Green marks = trivial conflicts; question marks = non-trivial conflicts).

Trivial and non-trivial conflicts

Figure 7.11. Trivial and non-trivial conflicts

The necessary Version Families do not exist, especially when you import a configuration from a file or have done it earlier. If working with the Cubetto server, all information is usually available. To solve the conflict you are asked to pick one of the two elements. To help you to decide a dialogue is available, in which you can see both elements.

Another conflict can occur if in the property of a Model Element more values exist than allowed by the modeling language in use. This conflict can occur when merging elements automatically or by a faulty set up of values. To solve the conflict, delete in the dialogue, which pops up, all unnecessary values until the model is consistent.

Related Help subjects: