Skip to main content

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 5235))

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Frederick, P., Brooks, J.: No silver bullet: essence and accidents of software engineering. Computer 20(4), 10–19 (1987)

    Article  Google Scholar 

  2. Nuseibeh, B., Kramer, J., Finkelstein, A.: Expressing the relationships between multiple views in requirements specification. In: ICSE, pp. 187–196 (1993)

    Google Scholar 

  3. Maier, M.W., Emery, D., Hilliard, R.: Software architecture: Introducing ieee standard 1471. Computer 34(4), 107–109 (2001)

    Article  Google Scholar 

  4. Brunet, G., Chechik, M., Easterbrook, S., Nejati, S., Niu, N., Sabetzadeh, M.: A manifesto for model merging. In: GaMMa, pp. 5–12 (2006)

    Google Scholar 

  5. Balzer, R.: Tolerating inconsistency. In: ICSE, pp. 158–165 (1991)

    Google Scholar 

  6. Easterbrook, S., Nuseibeh, B.: Using viewpoints for inconsistency management. BCS/IEE Software Engineering Journal 11(1), 31–43 (1996)

    Article  Google Scholar 

  7. Grundy, J., Hosking, J., Mugridge, W.B.: Inconsistency management for multiple-view software development environments. IEEE Trans. Softw. Eng. 24(11), 960–981 (1998)

    Article  Google Scholar 

  8. 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)

    Chapter  Google Scholar 

  9. 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

    Chapter  Google Scholar 

  10. Antkiewicz, M.: Framework-Specific Modeling Languages. PhD thesis, University of Waterloo (2008) (submitted for review)

    Google Scholar 

  11. Fowler, M.: Patterns of Enterprise Application Architecture. Addison-Wesley Professional, Reading (2002)

    Google Scholar 

  12. Stahl, T., Völter, M.: Model-Driven Software Development: Technology, Engineering, Management. John Wiley & Sons, Chichester (2006)

    MATH  Google Scholar 

  13. Wachsmuth, G.: Metamodel adaptation and model co-adaptation. In: Ernst, E. (ed.) ECOOP 2007. LNCS, vol. 4609. Springer, Heidelberg (2007)

    Google Scholar 

  14. 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)

    Google Scholar 

  15. 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

    Google Scholar 

  16. Antkiewicz, M., Tonelli Bartolomei, T., Czarnecki, K.: Automatic extraction of framework-specific models from framework-based application code. In: ASE, pp. 214–223 (2007)

    Google Scholar 

  17. 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)

    Google Scholar 

  18. 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)

    Chapter  Google Scholar 

  19. Eclipse Foundation: Java Emitter Templates Component (2007), http://www.eclipse.org/modeling/m2t/?project=jet

  20. Eclipse Foundation: Eclipse Modeling Framework Project (2007), http://www.eclipse.org/modeling/emf/?project=emf

  21. Nickel, U.A., Niere, J., Wadsack, J.P., ZĂŒndorf, A.: Roundtrip engineering with FUJABA. In: WSR, Fachberichte Informatik, UniversitĂ€t Koblenz-Landau (2000)

    Google Scholar 

  22. Aßmann, U.: Automatic roundtrip engineering. Electr. Notes Theor. Comput. Sci. 82(5) (2003)

    Google Scholar 

  23. Sendall, S., KĂŒster, J.M.: Taming model round-trip engineering (2004)

    Google Scholar 

  24. 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)

    Chapter  Google Scholar 

  25. 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)

    Chapter  Google Scholar 

  26. 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)

    Google Scholar 

  27. 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)

    Article  MathSciNet  MATH  Google Scholar 

  28. Antkiewicz, M., Czarnecki, K.: Framework-specific modeling languages; examples and algorithms. Technical Report 2007-18, ECE, Univeristy of Waterloo (2007)

    Google Scholar 

  29. ATLAS Group: ATLAS Transformation Language (2007), http://www.eclipse.org/m2m/atl/

  30. 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)

    Google Scholar 

  31. Abi-Antoun, M., Aldrich, J., Nahas, N., Schmerl, B., Garlan, D.: Differencing and merging of architectural views. In: ASE, pp. 47–58 (2006)

    Google Scholar 

  32. IBM: Rational Software Modeler (2007), http://www-306.ibm.com/software/awdtools/modeler/swmodeler/

  33. Nejati, S., Sabetzadeh, M., Chechik, M., Easterbrook, S.M., Zave, P.: Matching and merging of statecharts specifications. In: ICSE, pp. 54–64 (2007)

    Google Scholar 

  34. Reiss, S.P.: Automatic code stylizing. In: ASE, pp. 74–83 (2007)

    Google Scholar 

  35. 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

  36. 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)

    Chapter  Google Scholar 

  37. 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

  38. 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

  39. Saito, Y., Shapiro, M.: Optimistic replication. ACM Comput. Surv. 37(1), 42–81 (2005)

    Article  MATH  Google Scholar 

  40. Bancilhon, F., Spyratos, N.: Update semantics of relational views. ACM Trans. Database Syst. 6(4), 557–575 (1981)

    Article  MATH  Google Scholar 

  41. Gottlob, G., Paolini, P., Zicari, R.: Properties and update semantics of consistent views. ACM Trans. Database Syst. 13(4), 486–524 (1988)

    Article  MathSciNet  MATH  Google Scholar 

  42. Rahm, E., Bernstein, P.A.: A survey of approaches to automatic schema matching. The VLDB Journal 10(4), 334–350 (2001)

    Article  MATH  Google Scholar 

  43. Nuseibeh, B., Kramer, J., Finkelstein, A.: Viewpoints: meaningful relationships are difficult! In: ICSE, pp. 676–681 (2003)

    Google Scholar 

  44. Bernstein, P.A., Halevy, A.Y., Pottinger, R.A.: A vision for management of complex models. SIGMOD Rec. 29(4), 55–63 (2000)

    Article  Google Scholar 

  45. Bernstein, P.: Applying model management to classical metadata problems. In: CIDR (2003)

    Google Scholar 

  46. Egyed, A.: Fixing inconsistencies in UML design models. In: ICSE, pp. 292–301 (2007)

    Google Scholar 

  47. 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)

    Chapter  Google Scholar 

  48. Sriplakich, P., Blanc, X., Gervais, M.P.: Supporting transparent model update in distributed case tool integration. In: SAC, pp. 1759–1766 (2006)

    Google Scholar 

  49. Diskin, Z., Kadish, B.: Generic model management. In: Rivero, Doorn, Ferraggine (eds.) Encyclopedia of Database Technologies and Applications, pp. 258–265. Idea Group (2005)

    Google Scholar 

  50. 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)

    Google Scholar 

  51. Mens, T., Van Gorp, P.: A taxonomy of model transformation. In: Proc. Int’l Workshop on Graph and Model Transformation (2005)

    Google Scholar 

  52. 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)

    Google Scholar 

  53. Czarnecki, K., Helsen, S.: Feature-based survey of model transformation approaches. IBM Systems Journal 45(3), 621–645 (2006)

    Article  Google Scholar 

  54. 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)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics