@inbook {89, title = {Design Space of Heterogeneous Synchronization}, booktitle = {Generative and Transformational Techniques in Software Engineering II, International Summer School, GTTSE 2007, Braga, Portugal, July 2-7, 2007, Revised Papers}, series = {Lecture Notes in Computer Science}, volume = {5235}, year = {2008}, pages = {3 - 46}, publisher = {Springer}, organization = {Springer}, address = {Berlin, Heidelberg}, abstract = {This tutorial explores the design space of heterogeneous synchronization, which is concerned with establishing consistency among artifacts that conform to di?erent schemas or are expressed in different languages. Our main application scenario is synchronization of software artifacts, such as code, models, and configuration files. We classify heterogeneous synchronizers according to the cardinality of the relation that they enforce between artifacts, their directionality, their incrementality, and whether they support reconciliation of concurrent updates. We then provide a framework of artifact operators that describes different ways of building heterogeneous synchronizers, such as synchronizers based on artifact or update translation. The design decisions within the framework are described using feature models. We present 16 concrete instances of the framework, discuss tradeoffs among them, and identify sample implementations for some of them. We also explore additional design decisions such as representation of updates, establishing correspondence among model elements, and strategies for selecting a single synchronization result from a set of alternatives. Finally, we discuss related fields including data synchronization, inconsistency management in software engineering, model management, and model transformation.}, isbn = {978-3-540-88643-3}, issn = {1611-3349}, doi = {10.1007/978-3-540-88643-3_1}, url = {http://www.springerlink.com/content/j166jvx06r50k776/fulltext.pdf}, attachments = {http://gsd.uwaterloo.ca/sites/default/files/2007-antkiewicz-design-space-heterogeneous-synchronization.pdf}, author = {Micha{\l} Antkiewicz and Krzysztof Czarnecki}, editor = {Ralf L{\"a}mmel and Visser, Joost and Saraiva, Jo{\~a}o} }