Advertisement

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.

Keywords

Design Space Model Transformation Original Target Eclipse Modeling Framework Atlas Transformation Language 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Frederick, P., Brooks, J.: No silver bullet: essence and accidents of software engineering. Computer 20(4), 10–19 (1987)CrossRefGoogle Scholar
  2. 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. 3.
    Maier, M.W., Emery, D., Hilliard, R.: Software architecture: Introducing ieee standard 1471. Computer 34(4), 107–109 (2001)CrossRefGoogle Scholar
  4. 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. 5.
    Balzer, R.: Tolerating inconsistency. In: ICSE, pp. 158–165 (1991)Google Scholar
  6. 6.
    Easterbrook, S., Nuseibeh, B.: Using viewpoints for inconsistency management. BCS/IEE Software Engineering Journal 11(1), 31–43 (1996)CrossRefGoogle Scholar
  7. 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)CrossRefGoogle Scholar
  8. 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)CrossRefGoogle Scholar
  9. 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 CrossRefGoogle Scholar
  10. 10.
    Antkiewicz, M.: Framework-Specific Modeling Languages. PhD thesis, University of Waterloo (2008) (submitted for review)Google Scholar
  11. 11.
    Fowler, M.: Patterns of Enterprise Application Architecture. Addison-Wesley Professional, Reading (2002)Google Scholar
  12. 12.
    Stahl, T., Völter, M.: Model-Driven Software Development: Technology, Engineering, Management. John Wiley & Sons, Chichester (2006)zbMATHGoogle Scholar
  13. 13.
    Wachsmuth, G.: Metamodel adaptation and model co-adaptation. In: Ernst, E. (ed.) ECOOP 2007. LNCS, vol. 4609. Springer, Heidelberg (2007)Google Scholar
  14. 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. 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 proceedingsGoogle Scholar
  16. 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. 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. 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)CrossRefGoogle Scholar
  19. 19.
    Eclipse Foundation: Java Emitter Templates Component (2007), http://www.eclipse.org/modeling/m2t/?project=jet
  20. 20.
    Eclipse Foundation: Eclipse Modeling Framework Project (2007), http://www.eclipse.org/modeling/emf/?project=emf
  21. 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. 22.
    Aßmann, U.: Automatic roundtrip engineering. Electr. Notes Theor. Comput. Sci. 82(5) (2003)Google Scholar
  23. 23.
    Sendall, S., Küster, J.M.: Taming model round-trip engineering (2004)Google Scholar
  24. 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)CrossRefGoogle Scholar
  25. 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)CrossRefGoogle Scholar
  26. 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. 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)CrossRefMathSciNetzbMATHGoogle Scholar
  28. 28.
    Antkiewicz, M., Czarnecki, K.: Framework-specific modeling languages; examples and algorithms. Technical Report 2007-18, ECE, Univeristy of Waterloo (2007)Google Scholar
  29. 29.
    ATLAS Group: ATLAS Transformation Language (2007), http://www.eclipse.org/m2m/atl/
  30. 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. 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. 32.
    IBM: Rational Software Modeler (2007), http://www-306.ibm.com/software/awdtools/modeler/swmodeler/
  33. 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. 34.
    Reiss, S.P.: Automatic code stylizing. In: ASE, pp. 74–83 (2007)Google Scholar
  35. 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. 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)CrossRefGoogle Scholar
  37. 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. 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. 39.
    Saito, Y., Shapiro, M.: Optimistic replication. ACM Comput. Surv. 37(1), 42–81 (2005)CrossRefzbMATHGoogle Scholar
  40. 40.
    Bancilhon, F., Spyratos, N.: Update semantics of relational views. ACM Trans. Database Syst. 6(4), 557–575 (1981)CrossRefzbMATHGoogle Scholar
  41. 41.
    Gottlob, G., Paolini, P., Zicari, R.: Properties and update semantics of consistent views. ACM Trans. Database Syst. 13(4), 486–524 (1988)CrossRefMathSciNetzbMATHGoogle Scholar
  42. 42.
    Rahm, E., Bernstein, P.A.: A survey of approaches to automatic schema matching. The VLDB Journal 10(4), 334–350 (2001)CrossRefzbMATHGoogle Scholar
  43. 43.
    Nuseibeh, B., Kramer, J., Finkelstein, A.: Viewpoints: meaningful relationships are difficult! In: ICSE, pp. 676–681 (2003)Google Scholar
  44. 44.
    Bernstein, P.A., Halevy, A.Y., Pottinger, R.A.: A vision for management of complex models. SIGMOD Rec. 29(4), 55–63 (2000)CrossRefGoogle Scholar
  45. 45.
    Bernstein, P.: Applying model management to classical metadata problems. In: CIDR (2003)Google Scholar
  46. 46.
    Egyed, A.: Fixing inconsistencies in UML design models. In: ICSE, pp. 292–301 (2007)Google Scholar
  47. 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)CrossRefGoogle Scholar
  48. 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. 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. 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. 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. 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. 53.
    Czarnecki, K., Helsen, S.: Feature-based survey of model transformation approaches. IBM Systems Journal 45(3), 621–645 (2006)CrossRefGoogle Scholar
  54. 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

Copyright information

© Springer-Verlag Berlin Heidelberg 2008

Authors and Affiliations

  • Michał Antkiewicz
    • 1
  • Krzysztof Czarnecki
    • 1
  1. 1.Generative Software Development LabUniversity of WaterlooCanada

Personalised recommendations