[Zurück]


Dissertationen (eigene und begutachtete):

R. Bill:
"Model Integration by Hybrid Model Virtualization";
Betreuer/in(nen), Begutachter/in(nen): G. Kappel, M. Wimmer, M. Gogolla, A. Vallecillo; Institut für Information Systems Engineering, 2020; Rigorosum: 24.02.2020.



Kurzfassung deutsch:
Teams, die zur Entwicklung unterschiedlicher Aspekte eines Systems beitragen, benötigten
dafür oft Modelle, die voneinander nur teilweise abhängig ist. Dies erfordert Modellintegration.
Dabei können Systemaspekte, die nur von einem Team bearbeitet werden, sofort
global bekannt gemacht werden, während bei anderen Aspekten Inkonsistenzen während
der Entwicklung akzeptiert werden können.
Die zwei Hauptansätze in der Modellintegration sind Modellvirtualisierung, d.h. das
Ableiten von Modellen aus einer Informationsquelle, und Modellsynchronisierung, d.h.
Änderungen zwischen Modellen zu übertragen. Modellvirtualisierung erlaubt dabei keine
auch kurzzeitigen Inkonsistenzen, während Modellsynchronisierung oft eine redundante
Informationsspeicherung erfordert, auch wenn nur ein Team diese Information bearbeitet.
Deshalb kombiniert diese Arbeit Modellvirtualisierung mit Modellsynchronisation zu
einem Hybrid-Ansatz. Mit diesem kann man Modelle beliebig von einem Basismodell
addieren und subtrahieren. Das Basismodell kann aus einem einfachen Modell, einer Vereinigung
oder einem Schnitt von Modellen, einer Modellableitung oder einer Veränderung
eines Basismodelles hervorgehen.
Da wir beliebige - auch sinnlose - Änderungen zum Basismodell speichern können, ohne
dieses zu modifizieren, erlauben wir kurzfristige Inkonsistenzen und beliebige Basismodelländerungen,
die etwa aus Änderungen der Ableitungsquelle entstehen. Inkompatible
Änderungen erzwingen keine Interaktion, sondern verursachen nur Einschränkungsverletzungen
in einem neu definierten Synchronisationsmodell. Dieses ist genau dann gültig,
wenn alle Modellabhängigkeiten erfüllt sind. Um Änderungsvorschläge in (textuellen)
Modelleditoren zu erzeugen, wird ein optimales Synchronisationsmodell gesucht. Dafür
werden sowohl Modellfinder als auch heuristische Suchverfahren verwendet.
Modellableitungen können durch eine neue einfache Modellableitungssprache definiert
werden, in der alle Modellabhängigkeiten inkl. Ableitungsregeln in einer Datei definiert
werden können. Damit kann man Teile des Modells - oder das komplette - von anderen
Modellen ableiten und andere Teile synchronisieren.
Dieser hybride Ansatz ist machbar und erlaubt etwa, virtuell mehrere Modelle gleichzeitig
zu bearbeiten. Die vorgeschlagene Modellreparatur verringert die Anzahl der
(synchornisations-)-Einschränkungsverletzungen deutlich und vermeidet durch eine verbesserte
Eingabehilfe neue, wie in den Evaluationsszenarios gezeigt wird.

Kurzfassung englisch:
Multiple teams working on a single system may each have different viewpoints, and
thus, use different models. These models may have partly shared, unique, or interrelated
information, requiring model integration. To work faster and in a more parallel way,
temporary inconsistencies between multiple models may be accepted. However, shared
information only edited by a single team could still be immediately made known globally.
The two main approaches to model integration are model virtualization, i.e., deriving
all models from a single source of truth and model synchronization, i.e., propagating
changes between different materialized models. While model virtualization does not allow
temporary inconsistencies between models, model synchronization may require storing
duplicate information redundantly, even if only a single team is involved.
Thus, this thesis combines model virtualization with model synchronization into a hybrid
approach. A new model virtualization approach helps arbitrarily adding or subtracting
models from a base model. The base model can be a single model, an intersection or
union of multiple models, a modification of another base model, or a model derivation.
As we can store arbitrary (user) changes to the base model without affecting it, we
allow temporary inconsistencies and arbitrary changes to the base model, e.g., as a
result of changing the derivationīs source model. Incompatible changes never require
user intervention, but just cause semantic constraint violations in a newly defined
synchronization model, which is valid if and only if all inter-model constraints including
features derivations are fulfilled. To produce quickfix suggestions in (textual) model
editors, optimal model synchronization is regarded as finding an optimal synchronization
model. For this optimization, both model finders and heuristic search is employed.
Model derivations can be specified using a new basic model derivation language, which
includes both derivation and synchronization constraints in a single model. This allows
for pure derivation by not editing the derived model as well as pure synchronization by
specifying constraints just for inter-model consistency, but not for derivation.
This hybrid approach is feasible and can support use cases like editing multiple models
simultanously using virtualization. Our proposed model repair does significantly reduce
the number of (synchronization) constraint violations and prevent new ones due to
improved autocompletion as shown in our evaluation scenarios.

Schlagworte:
Ecore, OCL, Xtext, ASP encoding


Elektronische Version der Publikation:
https://publik.tuwien.ac.at/files/publik_288220.pdf