Transaction management in Vitruvius
Typ | Bachelorarbeit oder Masterarbeit | |
---|---|---|
Aushang | Transaction Management.pdf | |
Betreuer | Wenden Sie sich bei Interesse oder Fragen bitte an: Benedikt Jutz (E-Mail: benedikt.jutz@kit.edu, Telefon: +49-721-608-45995) |
Motivation
Collaborative Model-Driven Software Engineering is the application of collaboration techniques from regular software engineering to model-driven development. One subfield of collaboration is how to deal with conflicts when multiple users edit a model concurrently. Next to using version control systems, this can also be done with locking techniques from databases.
Virtual Single Underlying Models (V-SUMs) describe an software-intensive system in its entirety. They consist of multiple models and provide views for different users to modify them. Because of the different roles involved in systems modelled by a V-SUM, it would be necessary to edit them concurrently. However, the Vitruvius tool for developing and using V-SUMs does not support concurrent editing or conflict handling.
Tasks
In this thesis, you will develop a transaction manager for Vitruvius. This manager receives multiple so-called model transactions, i.e. sequences of edits to model elements, as input. It then should find an ordering of all model edits and apply them to a V-SUM.
To prevent conflicts between transactions, the manager should implement locking protocols such as Two-Phase Locking. These protocols should fulfill given correctness criteria such as serializability. Also, some transactions may fail. Thus, the manager needs to abort these transactions and undo any of their model edits that it already applied.
Finally, the transaction manager and its protocols should be evaluated with regards to performance, number of succeeding transactions, and other criteria.