A Case Study for Networks of Bidirectional Transformations

2020 
Die Entwicklung moderner Softwaresysteme basiert oft auf mehreren Artefakten. Diese Artefakte teilen sich oft redundante oder abhangige Informationen, welche wahrend der Entwicklung des Softwaresystems konsistent gehalten werden mussen. Die manuelle Durchfuhrung dieses Prozesses ist arbeitsaufwendig und fehleranfallig. Konsistenzerhaltungsmechanismen ermoglichen diese Artefakte automatisch konsistent zu halten. Konsistenzerhaltung basiert oftmals auf bidirektionalen Transformationen, welche ein Zielmodell aktualisieren, wenn ein Quellmodell modifiziert wird. Wahrend das Gebiet der bidirektionale Transformationen stark erforscht ist, hat Konsistenzerhaltung von mehr als zwei Modellen bisher weniger Aufmerksamkeit erhalten. Allerdings umfasst die Entwicklung von Softwaresystemen jedoch oft mehr als zwei Modelle. Folglich benotigt man Konsistenzerhaltung zwischen mehr als zwei Modellen, welche durch Netzwerke bidirektionaler Transformationen erreicht werden kann. Solche Transformationsnetzwerke kombinieren mehrere Transformationen, wobei jede einzelne fur die Konsistenzerhaltung zweier Modelle verantwortlich ist. Da die Entwicklung jeder Transformation individuelles Domanenwissen erfordert, werden sie in der Regel von mehreren Domanenexperten unabhangig voneinander entwickelt. Zusatzlich konnen einzelne Transformationen in anderen Netzwerken wiederverwendet werden. Dies wird jedoch in bisherigen Arbeiten nicht berucksichtigt, macht aber die Konsistenzerhaltung durch Netzwerke bidirektionaler Transformationen anfallig fur Probleme. In einem Netzwerk von Transformationen kann es beispielsweise zwei oder mehr Verkettungen von Transformationen geben, die dieselben Metamodelle mit verschiedenen anderen Metamodellen in Beziehung setzen. Jedoch konnen sie die Elemente unterschiedlich miteinander in Beziehung setzen. Dies kann zum Beispiel zu einer doppelten Erstellung derselben Elemente uber die verschiedenen Transformationsketten fuhren. Es gibt jedoch kein systematisches Wissen uber die Problemarten, die in solchen Netzwerken auftreten konnen oder ob und wie derartige Probleme systematisch verhindert werden konnen. Diese Thesis fuhrt eine Fallstudie durch, die ermitteln soll, welche Arten von Problemen bei der Konsistenzerhaltung durch Netzwerke bidirektionaler Transformationen auftreten konnen. Fur diese Probleme leiten wir eine Klassifizierung hinsichtlich des erforderlichen Wissens fur ihre Vermeidung ab. Fur Probleme, die Transformationsentwickler verhindern konnen, schlagen wir Strategien zur systematischen Vermeidung wahrend ihrer Konstruktion vor. In unserer Fallstudie sind 90\% der gefundenen Probleme verhinderbar. Die ubrigen Probleme lassen sich wahrend der Entwicklung einer einzelnen Transformation nicht ohne das Wissen uber weitere Transformationen im Netzwerk vermeiden. Folglich hilft diese Thesis Transformationsentwicklern Fehler bei der Erstellung von Transformationen systematisch zu vermeiden und ermoglicht es Netzwerkentwicklern Fehler zu erkennen, die bei der Konstruktion der Transformation nicht verhindert werden konnen.
    • Correction
    • Source
    • Cite
    • Save
    • Machine Reading By IdeaReader
    0
    References
    0
    Citations
    NaN
    KQI
    []