Skip to main content

Robust Real-Time Synchronization between Textual and Graphical Editors

  • Conference paper

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

Abstract

In modern Integrated Development Environments (IDEs), textual editors are interactive and can handle intermediate, incomplete, or otherwise erroneous texts while still providing editor services such as syntax highlighting, error marking, outline views, and hover help. In this paper, we present an approach for the robust synchronization of interactive textual and graphical editors. The approach recovers from errors during parsing and text-to-model synchronization, preserves textual and graphical layout in the presence of erroneous texts and models, and provides synchronized editor services such as selection sharing and navigation between editors. It was implemented for synchronizing textual editors generated by the Spoofax language workbench and graphical editors generated by the Graphical Modeling Framework.

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

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   54.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   72.00
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

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Bravenboer, M., Kalleberg, K.T., Vermaas, R., Visser, E.: Stratego/XT 0.17. A language and toolset for program transformation. SCP 72(1-2), 52–70 (2008)

    MathSciNet  Google Scholar 

  2. Brun, C., Pierantonio, A.: Model differences in the Eclipse Modeling Framework. In: UPGRADE, IX (April 2008)

    Google Scholar 

  3. Colvin, R., Hayes, I.J.: A semantics for Behavior Trees using CSP with specification commands. SCP 76(10), 891–914 (2011)

    MATH  Google Scholar 

  4. de Jonge, M., Nilsson-Nyman, E., Kats, L.C.L., Visser, E.: Natural and flexible error recovery for generated parsers. In: van den Brand, M., Gašević, D., Gray, J. (eds.) SLE 2009. LNCS, vol. 5969, pp. 204–223. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  5. de Jonge, M., Visser, E.: An algorithm for layout preservation in refactoring transformations. In: Sloane, A., Aßmann, U. (eds.) SLE 2011. LNCS, vol. 6940, pp. 40–59. Springer, Heidelberg (2012)

    Chapter  Google Scholar 

  6. Dmitriev, S.: Language oriented programming: The next programming paradigm (2004)

    Google Scholar 

  7. Dromey, R.G.: From requirements to design: Formalizing the key steps. In: SEFM, pp. 2–11 (2003)

    Google Scholar 

  8. Eysholdt, M., Behrens, H.: Xtext: implement your language faster than the quick and dirty way. In: OOPSLA, pp. 307–309 (2010)

    Google Scholar 

  9. Heering, J., Hendriks, P.R.H., Klint, P., Rekers, J.: The syntax definition formalism SDF - reference manual. SIGPLAN 24(11), 43–75 (1989)

    Article  Google Scholar 

  10. Heidenreich, F., Johannes, J., Karol, S., Seifert, M., Wende, C.: Derivation and refinement of textual syntax for models. In: Paige, R.F., Hartman, A., Rensink, A. (eds.) ECMDA-FA 2009. LNCS, vol. 5562, pp. 114–129. Springer, Heidelberg (2009)

    Chapter  Google Scholar 

  11. Hemel, Z., Kats, L.C.L., Groenewegen, D.M., Visser, E.: Code generation by model transformation: a case study in transformation modularity. SoSyM 9(3), 375–402 (2010)

    Article  Google Scholar 

  12. Jouault, F., Bézivin, J., Kurtev, I.: TCS: a DSL for the specification of textual concrete syntaxes in model engineering. In: GPCE, pp. 249–254 (2006)

    Google Scholar 

  13. Kats, L.C.L., Visser, E.: The Spoofax language workbench: rules for declarative specification of languages and IDEs. In: OOPSLA, pp. 444–463 (2010)

    Google Scholar 

  14. Konat, G., Kats, L., Wachsmuth, G., Visser, E.: Declarative name binding and scope rules. In: Czarnecki, K., Hedin, G. (eds.) SLE 2012. LNCS, vol. 7745, pp. 311–331. Springer, Heidelberg (2013)

    Chapter  Google Scholar 

  15. Krahn, H., Rumpe, B., Völkel, S.: Integrated definition of abstract and concrete syntax for textual languages. In: Engels, G., Opdyke, B., Schmidt, D.C., Weil, F. (eds.) MODELS 2007. LNCS, vol. 4735, pp. 286–300. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  16. Mülder, A., Nyßen, A.: TMF meets GMF. Kombination textueller und grafischer Editoren. Eclipse Magazin 3, 74–78 (2011) (in German)

    Google Scholar 

  17. Myers, T.: TextBE: A textual editor for behavior engineering. In: ISSEC (2011)

    Google Scholar 

  18. Object Management Group. Meta Object Facility (MOF) 2.0 Query/View/Transformation Specification. Version 1.1 (January 2011)

    Google Scholar 

  19. Scheidgen, M.: Integrating content assist into textual modelling editors. In: Modellierung, pp. 121–131 (2008)

    Google Scholar 

  20. Scheidgen, M.: Textual modelling embedded into graphical modelling. In: Schieferdecker, I., Hartman, A. (eds.) ECMDA-FA 2008. LNCS, vol. 5095, pp. 153–168. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  21. Simonyi, C.: The death of computer languages, the birth of intentional programming. In: NATO Science Committee Conference (1995)

    Google Scholar 

  22. Smith, C., Winter, K., Hayes, I.J., Dromey, R.G., Lindsay, P.A., Carrington, D.A.: An environment for building a system out of its requirements. In: ASE, pp. 398–399 (2004)

    Google Scholar 

  23. Steel, J., Raymond, K.: Generating human-usable textual notations for information models. In: EDOC, pp. 250–261 (2001)

    Google Scholar 

  24. Steinberg, D., Budinsky, F., Paternostro, M., Merks, E.: Eclipse Modeling Framework, 2nd edn. Addison-Wesley (2009)

    Google Scholar 

  25. van der Storm, T., Cook, W.R., Loh, A.: Object grammars: Compositional & bidirectional mapping between text and graphs. In: Czarnecki, K., Hedin, G. (eds.) SLE 2012. LNCS, vol. 7745, pp. 4–23. Springer, Heidelberg (2013)

    Chapter  Google Scholar 

  26. Visser, E.: A family of syntax definition formalisms. Technical Report P9706, Programming Research Group, University of Amsterdam (August 1997)

    Google Scholar 

  27. Wen, L., Colvin, R., Lin, K., Seagrott, J., Yatapanage, N., Dromey, R.G.: “Integrare”, a collaborative environment for behavior-oriented design. In: Luo, Y. (ed.) CDVE 2007. LNCS, vol. 4674, pp. 122–131. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  28. Xing, Z., Stroulia, E.: UMLDiff: an algorithm for object-oriented design differencing. In: ASE, pp. 54–65 (2005)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2013 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

van Rest, O., Wachsmuth, G., Steel, J.R.H., Süß, J.G., Visser, E. (2013). Robust Real-Time Synchronization between Textual and Graphical Editors. In: Duddy, K., Kappel, G. (eds) Theory and Practice of Model Transformations. ICMT 2013. Lecture Notes in Computer Science, vol 7909. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-38883-5_11

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-38883-5_11

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-38882-8

  • Online ISBN: 978-3-642-38883-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics