Abstract
This tutorial explores the design space of heterogeneous synchronization, which is concerned with establishing consistency among artifacts that conform to different 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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Frederick, P., Brooks, J.: No silver bullet: essence and accidents of software engineering. Computer 20(4), 10â19 (1987)
Nuseibeh, B., Kramer, J., Finkelstein, A.: Expressing the relationships between multiple views in requirements specification. In: ICSE, pp. 187â196 (1993)
Maier, M.W., Emery, D., Hilliard, R.: Software architecture: Introducing ieee standard 1471. Computer 34(4), 107â109 (2001)
Brunet, G., Chechik, M., Easterbrook, S., Nejati, S., Niu, N., Sabetzadeh, M.: A manifesto for model merging. In: GaMMa, pp. 5â12 (2006)
Balzer, R.: Tolerating inconsistency. In: ICSE, pp. 158â165 (1991)
Easterbrook, S., Nuseibeh, B.: Using viewpoints for inconsistency management. BCS/IEE Software Engineering Journal 11(1), 31â43 (1996)
Grundy, J., Hosking, J., Mugridge, W.B.: Inconsistency management for multiple-view software development environments. IEEE Trans. Softw. Eng. 24(11), 960â981 (1998)
Spanoudakis, G., Zisman, A.: Inconsistency management in software engineering: Survey and open research issues. In: Handbook of Software Engineering and Knowledge Engineering, pp. 329â380. World Scientific Publishing Co, Singapore (2001)
Jouault, F., BĂ©zivin, J.: KM3: a DSL for metamodel specification. In: Gorrieri, R., Wehrheim, H. (eds.) FMOODS 2006. LNCS, vol. 4037, pp. 171â185. Springer, Heidelberg (2006), http://www.lina.sciences.univ-nantes.fr/Publications/2006/JB06a
Antkiewicz, M.: Framework-Specific Modeling Languages. PhD thesis, University of Waterloo (2008) (submitted for review)
Fowler, M.: Patterns of Enterprise Application Architecture. Addison-Wesley Professional, Reading (2002)
Stahl, T., Völter, M.: Model-Driven Software Development: Technology, Engineering, Management. John Wiley & Sons, Chichester (2006)
Wachsmuth, G.: Metamodel adaptation and model co-adaptation. In: Ernst, E. (ed.) ECOOP 2007. LNCS, vol. 4609. Springer, Heidelberg (2007)
Kang, K., Cohen, S., Hess, J., Nowak, W., Peterson, S.: Feature-oriented domain analysis (FODA) feasibility study. Technical Report CMU/SEI-90-TR-21, Software Engineering Institute, Carnegie Mellon University, Pittsburgh, PA (1990)
Czarnecki, K., Kim, C.H.P.: Cardinality-based feature modeling and constraints: A progress report. In: OOPSLA International Workshop on Software Factories (2005); On-line proceedings
Antkiewicz, M., Tonelli Bartolomei, T., Czarnecki, K.: Automatic extraction of framework-specific models from framework-based application code. In: ASE, pp. 214â223 (2007)
Foster, J.N., Greenwald, M.B., Moore, J.T., Pierce, B.C., Schmitt, A.: Combinators for bi-directional tree transformations: a linguistic approach to the view update problem. In: POPL, pp. 233â246 (2005)
Hearnden, D., Lawley, M., Raymond, K.: Incremental model transformation for the evolution of model-driven systems. In: Nierstrasz, O., Whittle, J., Harel, D., Reggio, G. (eds.) MoDELS 2006. LNCS, vol. 4199, pp. 321â335. Springer, Heidelberg (2006)
Eclipse Foundation: Java Emitter Templates Component (2007), http://www.eclipse.org/modeling/m2t/?project=jet
Eclipse Foundation: Eclipse Modeling Framework Project (2007), http://www.eclipse.org/modeling/emf/?project=emf
Nickel, U.A., Niere, J., Wadsack, J.P., ZĂŒndorf, A.: Roundtrip engineering with FUJABA. In: WSR, Fachberichte Informatik, UniversitĂ€t Koblenz-Landau (2000)
AĂmann, U.: Automatic roundtrip engineering. Electr. Notes Theor. Comput. Sci. 82(5) (2003)
Sendall, S., KĂŒster, J.M.: Taming model round-trip engineering (2004)
Stevens, P.: Bidirectional model transformations in QVT: Semantic issues and open questions. In: Engels, G., Opdyke, B., Schmidt, D.C., Weil, F. (eds.) MODELS 2007. LNCS, vol. 4735, pp. 1â15. Springer, Heidelberg (2007)
Giese, H., Wagner, R.: Incremental Model Synchronization with Triple Graph Grammars. In: Nierstrasz, O., Whittle, J., Harel, D., Reggio, G. (eds.) MoDELS 2006. LNCS, vol. 4199, pp. 543â557. Springer, Heidelberg (2006)
Kindler, E., Wagner, R.: Triple graph grammars: Concepts, extensions, implementations, and application scenarios. Technical Report tr-ri-07-284, Software Engineering Group, Department of Computer Science, University of Paderborn (2007)
Foster, J.N., Greenwald, M.B., Kirkegaard, C., Pierce, B.C., Schmitt, A.: Exploiting schemas in data synchronization. J. Comput. Syst. Sci. 73(4), 669â689 (2007)
Antkiewicz, M., Czarnecki, K.: Framework-specific modeling languages; examples and algorithms. Technical Report 2007-18, ECE, Univeristy of Waterloo (2007)
ATLAS Group: ATLAS Transformation Language (2007), http://www.eclipse.org/m2m/atl/
Xiong, Y., Liu, D., Hu, Z., Zhao, H., Takeichi, M., Mei, H.: Towards automatic model synchronization from model transformations. In: ASE, pp. 164â173 (2007)
Abi-Antoun, M., Aldrich, J., Nahas, N., Schmerl, B., Garlan, D.: Differencing and merging of architectural views. In: ASE, pp. 47â58 (2006)
IBM: Rational Software Modeler (2007), http://www-306.ibm.com/software/awdtools/modeler/swmodeler/
Nejati, S., Sabetzadeh, M., Chechik, M., Easterbrook, S.M., Zave, P.: Matching and merging of statecharts specifications. In: ICSE, pp. 54â64 (2007)
Reiss, S.P.: Automatic code stylizing. In: ASE, pp. 74â83 (2007)
Object Management Group: MOF QVT Final Adopted Specification. OMG Adopted Specification ptc/05-11-01 (2005), http://www.omg.org/docs/ptc/05-11-01.pdf
Ehrig, H., Ehrig, K., Ermel, C., Hermann, F., Taentzer, G.: Information preserving bidirectional model transformations. In: Dwyer, M.B., Lopes, A. (eds.) FASE 2007. LNCS, vol. 4422, pp. 72â86. Springer, Heidelberg (2007)
Xiong, Y., Hu, Z., Takeichi, M., Zhao, H., Mei, H.: On-site synchronization of software artifacts. Technical Report METR 2008-21, Department of Mathematical Informatics, University of Tokyo (2008), http://www.ipl.t.u-tokyo.ac.jp/~xiong/papers/METR08.pdf
Pierce, B.C.: The weird world of bi-directional programming (2006) ETAPS invited talk, slides, http://www.cis.upenn.edu/~bcpierce/papers/lenses-etapsslides.pdf
Saito, Y., Shapiro, M.: Optimistic replication. ACM Comput. Surv. 37(1), 42â81 (2005)
Bancilhon, F., Spyratos, N.: Update semantics of relational views. ACM Trans. Database Syst. 6(4), 557â575 (1981)
Gottlob, G., Paolini, P., Zicari, R.: Properties and update semantics of consistent views. ACM Trans. Database Syst. 13(4), 486â524 (1988)
Rahm, E., Bernstein, P.A.: A survey of approaches to automatic schema matching. The VLDB Journal 10(4), 334â350 (2001)
Nuseibeh, B., Kramer, J., Finkelstein, A.: Viewpoints: meaningful relationships are difficult! In: ICSE, pp. 676â681 (2003)
Bernstein, P.A., Halevy, A.Y., Pottinger, R.A.: A vision for management of complex models. SIGMOD Rec. 29(4), 55â63 (2000)
Bernstein, P.: Applying model management to classical metadata problems. In: CIDR (2003)
Egyed, A.: Fixing inconsistencies in UML design models. In: ICSE, pp. 292â301 (2007)
Mens, T., Straeten, R.V.D., DâHondt, M.: Detecting and resolving model inconsistencies using transformation dependency analysis. In: Nierstrasz, O., Whittle, J., Harel, D., Reggio, G. (eds.) MoDELS 2006. LNCS, vol. 4199, pp. 200â214. Springer, Heidelberg (2006)
Sriplakich, P., Blanc, X., Gervais, M.P.: Supporting transparent model update in distributed case tool integration. In: SAC, pp. 1759â1766 (2006)
Diskin, Z., Kadish, B.: Generic model management. In: Rivero, Doorn, Ferraggine (eds.) Encyclopedia of Database Technologies and Applications, pp. 258â265. Idea Group (2005)
Diskin, Z.: Mathemtics of generic specifications for model management. In: Rivero, Doorn, Ferraggine (eds.) Encyclopedia of Database Technologies and Applications, pp. 351â366. Idea Group (2005)
Mens, T., Van Gorp, P.: A taxonomy of model transformation. In: Proc. Intâl Workshop on Graph and Model Transformation (2005)
Mens, T., Van Gorp, P., Varro, D., Karsai, G.: Applying a model transformation taxonomy to graph transformation technology. In: Proc. Intâl Workshop on Graph and Model Transformation (2005)
Czarnecki, K., Helsen, S.: Feature-based survey of model transformation approaches. IBM Systems Journal 45(3), 621â645 (2006)
Diskin, Z., Diengel, J.: A metamodel independent framework for model transformation: Towards generic model management patterns in reverse engineering. In: Favre, J.-M., Gasevic, D., Laemmel, R., Winter, A. (eds.) 3rd Int.Workshop on Metamodels, Schemas, Grammas and Ontologies for reverse engineering, ATEM 2006 (2006)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2008 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Antkiewicz, M., Czarnecki, K. (2008). Design Space of Heterogeneous Synchronization. In: LĂ€mmel, R., Visser, J., Saraiva, J. (eds) Generative and Transformational Techniques in Software Engineering II. GTTSE 2007. Lecture Notes in Computer Science, vol 5235. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-88643-3_1
Download citation
DOI: https://doi.org/10.1007/978-3-540-88643-3_1
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-88642-6
Online ISBN: 978-3-540-88643-3
eBook Packages: Computer ScienceComputer Science (R0)