Skip to main content

Towards User-Friendly Projectional Editors

  • Conference paper
Software Language Engineering (SLE 2014)

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

Included in the following conference series:

Abstract

Today’s challenges for language development include language extension and composition, as well as the use of diverse notations. A promising approach is projectional editing, a technique to directly manipulate the abstract syntax tree of a program, without relying on parsers. Its potential lies in the ability to combine diverse notational styles – such as text, symbols, tables, and graphics – and the support for a wide range of composition techniques. However, projectional editing is often perceived as problematic for developers. Expressed drawbacks include the unfamiliar editing experience and challenges in the integration with existing infrastructure. In this paper we investigate the usability of projectional editors. We systematically identify usability issues resulting from the architecture. We use JetBrains Meta Programming System (MPS) as a case study. The case study discusses the concepts that MPS incorporates to address the identified issues, evaluates effectiveness of these concepts by surveying professional developers, and reports industrial experiences from realizing large-scale systems. Our results show that the benefits of flexible language composition and diverse notations come at the cost of serious usability issues – which, however, can be effectively mitigated with facilities that emulate editing experience of parser-based editors.

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. Green, T.R.: Cognitive dimensions of notations. People and Computers V, 443–460 (1989)

    Google Scholar 

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

    Google Scholar 

  3. Czarnecki, K., Ulrich, E.: Generative Programming: Methods, Tools, and Applications. Addison-Wesley, Reading (2000)

    Google Scholar 

  4. Medina-Mora, R., Feiler, P.H.: An Incremental Programming Environment. IEEE Trans. Software Eng. 7(5) (1981)

    Google Scholar 

  5. Notkin, D.: The GANDALF project. Journal of Systems and Software 5(2) (1985)

    Google Scholar 

  6. Porter, S.W.: Design of a syntax directed editor for psdl (prototype systems design language). Master’s thesis, Naval Postgraduate School, Monterey, CA, USA (1988)

    Google Scholar 

  7. Reps, T.W., Teitelbaum, T.: The Synthesizer Generator. In: First ACM SIGSOFT/SIGPLAN Software Engineering Symposium on Practical Software Development Environments. ACM (1984)

    Google Scholar 

  8. Voelter, M.: Language and IDE Modularization and Composition with MPS. In: Lämmel, R., Saraiva, J., Visser, J. (eds.) GTTSE 2011. LNCS, vol. 7680, pp. 383–430. Springer, Heidelberg (2013)

    Chapter  Google Scholar 

  9. Simonyi, C., Christerson, M., Clifford, S.: Intentional Software. In: OOPSLA 2006. ACM (2006)

    Google Scholar 

  10. Christerson, M., Kolk, H.: Domain expert DSLs (2009) talk at QCon London 2009 (2009), http://www.infoq.com/presentations/DSL-Magnus-Christerson-Henk-Kolk

  11. Diekmann, L., Tratt, L.: Parsing composed grammars with language boxes. In: Workshop on Scalable Language Specifications (2013)

    Google Scholar 

  12. Simi, M., Campagne, F.: Composable Languages for Bioinformatics: The NYoSh experiment. PeerJ PrePrints 1:e112v2 (2013)

    Google Scholar 

  13. Voelter, M., Ratiu, D., Tomassetti, F.: Requirements as first-class citizens. In: Proceedings of ACES-MB Workshop (2013)

    Google Scholar 

  14. Steinberg, D., Budinsky, F., Merks, E., Paternostro, M.: EMF: eclipse modeling framework. Pearson Education (2008)

    Google Scholar 

  15. Voelter, M., Ratiu, D., Kolb, B., Schaetz, B.: mbeddr: instantiating a language workbench in the embedded software domain. Automated Software Engineering 20(3), 1–52 (2013)

    Article  Google Scholar 

  16. Voelter, M.: Preliminary experience of using mbeddr. In: 10th Dagstuhl Workshop on Model-based Development of Embedded Systems, p. 10 (2014)

    Google Scholar 

  17. Coplien, J.O.: Multi-paradigm Design for C+. Addison-Wesley (1999)

    Google Scholar 

  18. Kats, L.C.L., Visser, E., Wachsmuth, G.: Pure and declarative syntax definition: paradise lost and regained. In: Proceedings of OOPSLA 2010. ACM (2010)

    Google Scholar 

  19. Parr, T.J., Quong, R.W.: ANTLR: A Predicated-LL(k) Parser Generator. Software: Practice and Experience 25(7) (1995)

    Google Scholar 

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

    Google Scholar 

  21. Bravenboer, M., Dolstra, E., Visser, E.: Preventing injection attacks with syntax embeddings. In: GPCE 2007, Salzburg, Austria. ACM (2007)

    Google Scholar 

  22. Wyk, E.V., Bodin, D., Gao, J., Krishnan, L.: Silver: an Extensible Attribute Grammar System. ENTCS 203(2) (2008)

    Google Scholar 

  23. Lämmel, R., Wachsmuth, G.: Transformation of sdf syntax definitions in the asf+ sdf meta-environment. Electronic Notes in Theoretical Computer Science 44(2), 9–33 (2001)

    Article  Google Scholar 

  24. Anderson, R.: Two-dimensional mathematical notation. In: Fu, K. (ed.) Syntactic Pattern Recognition, Applications. Communication and Cybernetics, vol. 14. Springer (1977)

    Google Scholar 

  25. Helm, R., Marriott, K., Odersky, M.: Building visual language parsers. In: Proc. ACM SIGCHI Conf. on Human Factors in Computing Systems, pp. 105–112 (1991)

    Google Scholar 

  26. Giammarresi, D., Restivo, A.: Two-dimensional languages. In: Rozenberg, G., Salomaa, A. (eds.) Handbook of Formal Languages. Springer (1997)

    Google Scholar 

  27. Pruša, D.: Two-dimensional context-free grammars. In: ITAT 2001, pp. 27–40 (2001)

    Google Scholar 

  28. van Rest, O., Wachsmuth, G., Steel, J.R.H., Süß, J.G., Visser, E.: Robust real-time synchronization between textual and graphical editors. In: Duddy, K., Kappel, G. (eds.) ICMB 2013. LNCS, vol. 7909, pp. 92–107. Springer, Heidelberg (2013)

    Chapter  Google Scholar 

  29. Voelter, M.: Integrating prose as first-class citizens with models and code. In: 7th International Workshop on Multi-Paradigm Modeling, MPM 2013, p. 17 (2013)

    Google Scholar 

  30. Online Appendix, http://gsd.uwaterloo.ca/projectional-workbenches

  31. Likert, R.: A technique for the measurement of attitudes. Archives of Psychology (1932)

    Google Scholar 

  32. Nielsen, J.: Usability Engineering. Morgan Kaufmann Publishers (1994)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2014 Springer International Publishing Switzerland

About this paper

Cite this paper

Voelter, M., Siegmund, J., Berger, T., Kolb, B. (2014). Towards User-Friendly Projectional Editors. In: Combemale, B., Pearce, D.J., Barais, O., Vinju, J.J. (eds) Software Language Engineering. SLE 2014. Lecture Notes in Computer Science, vol 8706. Springer, Cham. https://doi.org/10.1007/978-3-319-11245-9_3

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-11245-9_3

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-11244-2

  • Online ISBN: 978-3-319-11245-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics