Búsqueda avanzada

Incremental Concurrent Synchronization with Conflict Resolution

In the context of software model-driven development, artifacts are specified by several models describing different aspects, e.g., different views, dynamic behaviour, structure, etc. Then, a given set of models is emph{consistently integrated} if they describe some artifact. Along the process of designing and implementing an artifact, and also after the artifact is implemented, it may be common to modify or update some aspects of a given model, or of several models. These changes may cause an inconsistency between the given set of models. To restore consistency, we have to emph{propagate} the given modifications to the rest of the models. This process is called emph{model synchronization}. If each time we propagate the updates on just one model, synchronization is emph{sequential}, but if we propagate simultaneously updates on two models, synchronization is called emph{concurrent}. The sequential case is quite simpler than the concurrent one, since in the latter case we may have to deal with conflicts between the modifications applied to different models, implying that we may need to backtrack some updates. For simplicity, we assume that the set of models describing an artifact consists just of two models.Then, following the ideas of a previous paper on sequential synchronization, in the current paper, we propose an incremental procedure for the concurrent case, meaning that our procedure does not build the resulting models from scratch, but it only modifies the parts of the models affected by the update.