Selective Backtracking of Model Changes
Backtracking is necessary when design alternatives are explored or dead ends are reached. Unfortunately, current approaches support chronological backtracking only (undo or version control), where the designer is forced to undo intermittent changes even if they are not related to what should be backtracked. This work introduces an approach for selective backtracking during software modeling where previously discarded design changes are recovered without having to undo intermittent changes. Selective backtracking is a challenge because during multi-view modeling, the authors must understand how changes across multiple views are connected - in order to undo them together and thus avoid undesired inconsistencies.