Advertisement

Practical language-based editing for software engineers

  • Michael L. Van De Vanter
Submitted Papers
Part of the Lecture Notes in Computer Science book series (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.

Keywords

Software Engineer User Interaction Syntax Tree Defense Advance Research Project Agency Program Language Design 
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. [BM90]
    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. [BS86]
    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. [BS92]
    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. [BBG88]
    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. [Bal89]
    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. [BGV92]
    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. [Ben86]
    Jon Bentley, Little Languages, Communications of the ACM 29,8 (August 1986), 711–721.Google Scholar
  8. [BCD+88]
    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. [BFG92]
    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, 1992Google Scholar
  10. [BHS92]
    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–21Google Scholar
  11. [But89]
    Jacob Butcher, “Ladle”, UCB-CSD-89-519, Computer Science Division, EECS, University of California, Berkeley, November 1989. Master's Thesis.Google Scholar
  12. [CMP+90]
    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. [CMP91]
    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–150Google Scholar
  14. [DV91]
    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. [DHK+84]
    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. [Gol87]
    Adele Goldberg, Programmer as Reader, IEEE Software 4,5 (September 1987), 62–70.Google Scholar
  17. [GL88]
    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. [GHM92]
    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. [Hel90]
    Dan Heller, XView Programming Manual: An OPEN LOOK Toolkit for X11, O'Reilly & Associates, Inc., Sebastopol, California, 1990.Google Scholar
  20. [HBS87]
    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. [Joh85]
    Vera John-Steiner, Notebooks of the Mind: Explorations of Thinking, Harper & Row, 1985.Google Scholar
  22. [KR91]
    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. [Lan86]
    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–51Google Scholar
  24. [Ler92]
    Barbara Staudt Lerner, Automated Customization of Structure Editors, International Journal of Man-Machine Studies 37,4 (October 1992), 529–563Google Scholar
  25. [Let86]
    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. [LS86]
    Stanley Letovsky and Elliot Soloway, Delocalized Plans and Program Comprehension, IEEE Software 3,3 (May 1986), 41–49.Google Scholar
  27. [LN86]
    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. [Min90]
    Sten Minör, On Structure-Oriented Editing, PhD Dissertation, Department of Computer Science, Lund University, Sweden, January 1990.Google Scholar
  29. [Nea87]
    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. [Nor86]
    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. [Not85]
    David Notkin, The GANDALF Project, Journal of Systems and Software 5,2 (May 1985), 91–105.Google Scholar
  32. [OC90]
    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. [PND87]
    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. [RT84]
    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. [RT87]
    Thomas Reps and Tim Teitelbaum, The Synthesizer Generator Reference Manual, Department of Computer Science, Cornell University, 1987. Second edition.Google Scholar
  36. [RW88]
    Charles Rich and Richard C. Waters, The Programmer's Apprentice: A Research Overview, Computer 21,11 (November 1988), 11–25.Google Scholar
  37. [Sch83]
    Donald A. Schoen, The reflective practitioner: how professionals think in action, Basic Books, New York, 1983Google Scholar
  38. [SGG77]
    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. [SE84]
    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. [Sta81]
    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. [TR81]
    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. [Van92]
    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. [VGB92]
    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. [Wei84]
    Mark Weiser, Program Slicing, IEEE Transactions on Software Engineering SE-10,4 (July 1984), 352–357.Google Scholar
  45. [Win79]
    Terry Winograd, Beyond Programming Languages, Communications of the ACM 22,7 (July 1979), 391–401Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1995

Authors and Affiliations

  • Michael L. Van De Vanter
    • 1
  1. 1.Sun Microsystems LaboratoriesMountain View

Personalised recommendations