Skip to main content

Practical language-based editing for software engineers

  • Submitted Papers
  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 896))

Abstract

Language-based editing systems have the potential to become a practical, central, and powerful part of every software engineer's toolkit, but progress has been limited by inattention to user-centered design issues. Major usability requirements for such systems include familiar, unrestricted text editing; coherent user interaction with software; rich, dynamic information display; multiple alternative views; uninterrupted service in the presence of ill-formedness, incompleteness, and inconsistency; description-driven support for multiple languages; and extensibility and customizability. Solutions require better understanding of software engineers and their tasks, appropriate design metaphors, new architectural organizations, and design for adaptation and extension.

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

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Ronald M. Baecker and Aaron Marcus, Human Factors and Typography for More Readable Programs, Addison-Wesley Publishing Co. (ACM Press), Reading, MA, 1990.

    Google Scholar 

  2. Rolf Bahlke and Gregor Snelting, The PSG System: From Formal Language Definitions to Interactive Programming Environments, ACM Transactions on Programming Languages and Systems 8,4 (October 1986), 547–576.

    Google Scholar 

  3. Rolf Bahlke and Gregor Snelting, Design and Structure of a Semantics-Based Programming Environment, International Journal of Man-Machine Studies 37,4 (October 1992), 467–479.

    Google Scholar 

  4. Robert A. Ballance, J. Butcher and Susan L. Graham, Grammatical Abstraction and Incremental Syntax Analysis in a Language-Based Editor, Proceedings of the ACM-SIGPLAN 1988 Conference on Programming Language Design and Implementation 23,7 (June 22–24, 1988), 185–198.

    Google Scholar 

  5. Robert A. Ballance, “Syntactic and Semantic Checking in Language-Based Editing Systems”, UCB/CSD-89-548, Ph.D. Dissertation, Computer Science Division, EECS, University of California, Berkeley, December 1989.

    Google Scholar 

  6. Robert A. Ballance, Susan L. Graham and Michael L. Van De Vanter, The Pan Language-Based Editing System, ACM Transactions on Software Engineering and Methodology 1,1(January 1992), 95–127.

    Google Scholar 

  7. Jon Bentley, Little Languages, Communications of the ACM 29,8 (August 1986), 711–721.

    Google Scholar 

  8. P. Borras, D. Clemént, Th. Despeyroux, J. Incerpi, G. Kahn, B. Lang and V. Pascual, “CENTAUR: the system”, Proceedings ACM SIGSOFT '88: Third Symposium on Software Development Environments, November 1988, 14–24.

    Google Scholar 

  9. John Boyland, Charles Farnum and Susan L. Graham, “Attributed Transformational Code Generation for Dynamic Compilers”, in Code Generation — Concepts, Tools, Techniques, Robert Giegerich and Susan L. Graham (editors), Springer Verlag, Berlin, 1992

    Google Scholar 

  10. Gary Brooks, Gilbert J. Hansen and Steve Simmons, A New Approach to Debugging Optimized Code, Proceedings of the ACM-SIGPLAN 1992 Conference on Programming Language Design and Implementation 27,7 (June 17–19, 1992), 1–21

    Google Scholar 

  11. Jacob Butcher, “Ladle”, UCB-CSD-89-519, Computer Science Division, EECS, University of California, Berkeley, November 1989. Master's Thesis.

    Google Scholar 

  12. Ravinder Chandhok, Phillip Miller, John Pane and Glenn Meter, “Structure Editing: Evolution Towards Appropriate Use”, Presented at the CHI '90 Workshop on Structure Editors, Seattle, Washington, April 1990.

    Google Scholar 

  13. D. D. Cowan, E. W. Mackie and G. M. Pianosi, Rita-an editor and user interface for manipulating structured documents, Electronic Publishing 4,3 (September 1991), 125–150

    Google Scholar 

  14. Laura M. Downs and Michael L. Van De Vanter, “Pan I Version 4.0: An Introduction for Users”, 91/659, Computer Science Division, EECS, University of California, Berkeley, August 1991.

    Google Scholar 

  15. Véronique Donzeau-Gouge, Gérard Huet, Giles Kahn and Bernard Lang, “Programming Environments Based on Structured Editors: The MENTOR Experience”, in Interactive Programming Environments, David R. Barstow, Howard E. Shrobe and Erik Sandewall (editors), McGraw-Hill, New York, NY, 1984, 128–140.

    Google Scholar 

  16. Adele Goldberg, Programmer as Reader, IEEE Software 4,5 (September 1987), 62–70.

    Google Scholar 

  17. Dennis R. Goldenson and Marjorie B. Lewis, Fine Tuning Selection Semantics in a Structure Editor Based Programming Environment: Some Experimental Results, ACM SIGCHI Bulletin 20 (October 1988).

    Google Scholar 

  18. Susan L. Graham, Michael A. Harrison and Ethan V. Munson, “The Proteus Presentation System”, Proceedings ACM SIGSOFT '92: Fifth Symposium on Software Development Environments, December 1992, 130–138.

    Google Scholar 

  19. Dan Heller, XView Programming Manual: An OPEN LOOK Toolkit for X11, O'Reilly & Associates, Inc., Sebastopol, California, 1990.

    Google Scholar 

  20. Robert W. Holt, Deborah A. Boehm-Davis and Alan C. Schultz, “Mental Representations of Programs for Student and Professional Programmers”, in Empirical Studies of Programmers: Second Workshop, Gary M. Olson, Sylvia Sheppard and Elliot Soloway (editors), Ablex Publishing, Norwood, New Jersey, 1987, 33–46.

    Google Scholar 

  21. Vera John-Steiner, Notebooks of the Mind: Explorations of Thinking, Harper & Row, 1985.

    Google Scholar 

  22. Jurgen Koenemann and Scott P. Robertson, “Expert Problem Solving Strategies for Program Comprehension”, Proceedings SIGCHI Conference on Human Factors in Computing Systems, New Orleans, Louisiana, 1991, 125–130.

    Google Scholar 

  23. Bernard Lang, “On the Usefulness of Syntax Directed Editors”, in Advanced Programming Environments, Lecture Notes in Computer Science vol. 244, Reidar Conradi, Tor M. Didriksen and Dag H. Wanvik (editors), Springer Verlag, Berlin, 1986, 47–51

    Google Scholar 

  24. Barbara Staudt Lerner, Automated Customization of Structure Editors, International Journal of Man-Machine Studies 37,4 (October 1992), 529–563

    Google Scholar 

  25. Stanley Letovsky, “Cognitive Processes in Program Comprehension”, in Empirical Studies of Programmers, Elliot Soloway and Sitharama Iyengar (editors), Ablex Publishing, Norwood, New Jersey, 1986, 58–79.

    Google Scholar 

  26. Stanley Letovsky and Elliot Soloway, Delocalized Plans and Program Comprehension, IEEE Software 3,3 (May 1986), 41–49.

    Google Scholar 

  27. Clayton Lewis and Donald A. Norman, “Designing for Error”, in User Centered System Design: New Perspectives on Human-Computer Interaction, D. A. Norman and S. W. Draper (editors), Lawrence Erlbaum Associates, Hillsdale, New Jersey, 1986, 411–432.

    Google Scholar 

  28. Sten Minör, On Structure-Oriented Editing, PhD Dissertation, Department of Computer Science, Lund University, Sweden, January 1990.

    Google Scholar 

  29. Lisa Rubin Neal, “Cognition-Sensitive Design and User Modeling for Syntax-Directed Editors”, Proceedings SIGCHI Conference on Human Factors in Computing Systems, Toronto, Canada, April 1987, 99–102.

    Google Scholar 

  30. Donald A. Norman and Stephen W. Draper (editors), User Centered System Design: New Perspectives on Human-Computer Interaction, Lawrence Erlbaum Associates, Hillsdale, New Jersey, 1986.

    Google Scholar 

  31. David Notkin, The GANDALF Project, Journal of Systems and Software 5,2 (May 1985), 91–105.

    Google Scholar 

  32. Paul Oman and Curtis R. Cook, Typographic Style is More than Cosmetic, Communications of the ACM 33,5 (May 1990), 506–520.

    Google Scholar 

  33. G. R. Perkins, R. W. Norman and S. Danicic, Coping with Deeply Nested Control Structures, SIGPLAN Notices 22,2 (February 1987), 68–77.

    Google Scholar 

  34. Thomas Reps and Tim Teitelbaum, The Synthesizer Generator, Proceedings of the ACM SIGSOFT/SIGPLAN Software Engineering Symposium on Practical Software Development Environments 19,5 (May 1984), 42–48.

    Google Scholar 

  35. Thomas Reps and Tim Teitelbaum, The Synthesizer Generator Reference Manual, Department of Computer Science, Cornell University, 1987. Second edition.

    Google Scholar 

  36. Charles Rich and Richard C. Waters, The Programmer's Apprentice: A Research Overview, Computer 21,11 (November 1988), 11–25.

    Google Scholar 

  37. Donald A. Schoen, The reflective practitioner: how professionals think in action, Basic Books, New York, 1983

    Google Scholar 

  38. M. E. Sime, T. R. G. Green and D. J. Guest, Scope Marking in Computer Conditionals — A Psychological Evaluation, International Journal of Man-Machine Studies 9 (1977), 107–118.

    Google Scholar 

  39. Elliot Soloway and Kate Ehrlich, Empirical Studies of Programming Knowledge, IEEE Transactions on Software Engineering SE-10,5 (September 1984), 595–609.

    Google Scholar 

  40. Richard M. Stallman, EMACS: The Extensible, Customizable, Self-Documenting Display Editor, Proceedings of the ACM-SIGPLAN SIGOA Symposium on Text Manipulation, SIGPLAN Notices 16,6 (June 8–10 1981), 147–156.

    Google Scholar 

  41. Tim Teitelbaum and Thomas Reps, The Cornell Program Synthesizer: A Syntax-Directed Programming Environment, Communications of the ACM 24,9 (September 1981), 563–573.

    Google Scholar 

  42. Michael L. Van De Vanter, “User Interaction in Language-Based Editing Systems”, UCB/CSD-93-726, Ph.D. Dissertation, Computer Science Division, EECS, University of California, Berkeley, December 1992.

    Google Scholar 

  43. Michael L. Van De Vanter, Susan L. Graham and Robert A. Ballance, Coherent User Interfaces for Language-Based Editing Systems, International Journal of Man-Machine Studies 37,4 (1992), 431–466.

    Google Scholar 

  44. Mark Weiser, Program Slicing, IEEE Transactions on Software Engineering SE-10,4 (July 1984), 352–357.

    Google Scholar 

  45. Terry Winograd, Beyond Programming Languages, Communications of the ACM 22,7 (July 1979), 391–401

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Richard N. Taylor Joëlle Coutaz

Rights and permissions

Reprints and permissions

Copyright information

© 1995 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Van De Vanter, M.L. (1995). Practical language-based editing for software engineers. In: Taylor, R.N., Coutaz, J. (eds) Software Engineering and Human-Computer Interaction. SE-HCI 1994. Lecture Notes in Computer Science, vol 896. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0035821

Download citation

  • DOI: https://doi.org/10.1007/BFb0035821

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-59008-8

  • Online ISBN: 978-3-540-49173-6

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics