|
ABSTRACT
Powerful editing systems for developing complex software documents are difficult to engineer. Besides requiring efficient incremental algorithms and complex data structures, such editors must accommodate flexible editing styles, provide a consistent, coherent, and powerful user interface, support individual variations and projectwide configurations, maintain a sharable database of information concerning the documents being edited, and integrate smoothly with the other tools in the environment. Pan is a language-based editing and browsing system that exhibits these characteristics. This paper surveys the design and engineering of Pan, paying particular attention to a number of issues that pervade the system: incremental checking and analysis, information retention in the presence of change, tolerance for errors and anomalies, and extension facilities.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
ACM. Proceedings of the ACM SIGPLAN SIGOA Symposium on Text Manipulation. SIGPLAN Not. (ACM) 16, 6 (June 1981).
|
| |
2
|
|
| |
3
|
|
 |
4
|
|
 |
5
|
|
| |
6
|
|
| |
7
|
BALLANCE, R. A., AND GRAHAM, S I~. Incremental consistency maintenance for interactive applicatlons. In Procee&ngs of the 8th Internatmual Conference on Logic Programming, K Furukawa. Ed. MIT Press, Cambridge, Mass, 1991, pp 895-909.
|
 |
8
|
R. A. Ballance , J. Butcher , S. 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, p.185-198, June 20-24, 1988, Atlanta, Georgia, United States
|
| |
9
|
|
 |
10
|
P. Borras , D. Clement , Th. Despeyroux , J. Incerpi , G. Kahn , B. Lang , V. Pascual, Centaur: the system, Proceedings of the third ACM SIGSOFT/SIGPLAN software engineering symposium on Practical software development environments, p.14-24, November 28-30, 1988, Boston, Massachusetts, United States
|
| |
11
|
BUDINSKY, F. J., HOLT, R. C., AND ZAKY, S. G. SRE--A syntax-recognizing editor. Softw. Pract. Exper. 15, 5 (May 1985), 489-497.
|
| |
12
|
|
| |
13
|
|
| |
14
|
P Chen , J Coker , M A Harrison , J W McCarrell , S Procter, The VORTEX document preparation environment, Proceedings of the second European conference on TEX for scientific documentation, p.45-54, September 1986, Strasbourg, France
|
 |
15
|
|
| |
16
|
|
| |
17
|
|
| |
18
|
|
| |
19
|
DESPEYROUX, T. Executable specification of static semantics. In Semantics of Data Types, G. Kahn, D. B. MacQueen, and G. D. Plotkin, Eds. Lecture Notes in Computer Science, vol. 173. Springer-Verlag, New York, 1984, pp. 215-233.
|
| |
20
|
DONZEAU-GOUGE, V., HUET, G., KAHN, G., AND LANG, B. Programming environments based on structured editors: The MENTOR experience. In Interactive Programming Environments, D. R. Barstow, H. E. Shrobe, and E. Sandewall, Eds. McGraw-Hill, New York, 1984, pp. 128-140.
|
| |
21
|
|
| |
22
|
DOYLE, J. A truth maintenance system. In Readings in Artificial Intelligence, B. L. Webber and N. J. Nilsson, Eds. Tioga, Palo Alto, Calif., 1981, pp. 496-516.
|
| |
23
|
FORSTALL, B.T. Experience with language description mechanisms in Pan. Master's thesis, Computer Science Division--EECS, Univ. of California, Berkeley, Nov. 1991.
|
| |
24
|
GARLAN, D. Flexible unparsing in a structure editing environment. Tech. Rep. CMU-CS-85- 129, Dept. of Computer Science, Carnegie-Mellon Univ., Pittsburgh, Pa., Apr. 1985.
|
| |
25
|
GOLDBERG, A. Programmer as reader. IEEE Softw. 4, 5 (Sept. 1987), 62-70.
|
| |
26
|
|
 |
27
|
|
| |
28
|
HILFINGER, P. N., AND COLELLA, P. Fidil: A language for scientific programming. In Symbolic Computatmn: Apphcations to Scientific Computing, R. Grossman, Ed. SIAM, Philadelphia, Pa., 1989, pp. 97-138.
|
| |
29
|
|
 |
30
|
|
| |
31
|
|
 |
32
|
|
 |
33
|
|
| |
34
|
KAHN, G. Natural semantics. Tech. Rap. 601, INRIA, Feb. 1987.
|
| |
35
|
KAHN, G., LANG, B., MI~LI~SE, B., AND MORCOS, E Metal: A formalism to specify formalisms Sci. Comput. Program. 3, 2 (Aug 1983), 151-188.
|
| |
36
|
|
| |
37
|
KmsLIS, P. A C. The SAGA editor: A language-oriented editor based on an incremental LR(1) parser. Ph.D. dissertation, Dept. of Computer Science, Umv. of Illinois at Urbana- Champaign, Dec. 1985.
|
| |
38
|
|
| |
39
|
LAMPSON, B.W. Bravo Users Manual. Palo Alto, 1978.
|
| |
40
|
|
| |
41
|
|
| |
42
|
LETOVSKY, S., AND SOLOWAY, E. Delocalized plans and program comprehension. IEEE Soflw. 3, 3 (May 1986), 41-49
|
| |
43
|
LEwIs, C., AND NORMAN, D.A. Demgning for error. In User Centered System Design: New Perspectwes on Human-Computer Interaction, D. A. Norman and S. W. Draper, Eds. Erlbaum, Hillsdale, N J., 1986, pp. 411-432.
|
| |
44
|
MASINTER, L. M. Global program analysis in an interactive environment. Tech Rep. SSL-80-1, Xerox Palo Alto Research Center, Palo Alto, Calif., 1980.
|
| |
45
|
MEDINA-MORA, R., AND FEILER, P. H. An incremental programming environment IEEE Trans. Soflw. Eng. SE-7, 5 (Sept. 1981), 472-481.
|
 |
46
|
|
 |
47
|
|
 |
48
|
|
| |
49
|
PLOTK~N, G D. A structural approach to operational semantics Tech. Rep. DAIMI FN-19, Computer Science Dept., Aarhus Univ., Aarhus, Denmark, Sept. 1981.
|
| |
50
|
PRAWITZ, D. Natural Deduction: A Proof-Theoretic Study. Almquist and Wlksell, Stockholm, 1965.
|
 |
51
|
|
| |
52
|
|
 |
53
|
|
| |
54
|
|
| |
55
|
|
| |
56
|
SOLOWAY, E., AND EHRLICH, K. Empirical studies of programming knowledge. IEEE Trans. Soflw. Eng. SE-10, 5 (Sept. 1984), 595-609.
|
| |
57
|
STALLMAN, R. M EMACS: The extensibte, customizable, self-documenting display editor.
|
| |
58
|
STEELE, G. L., JR., AND S~JSSMAN, G.J. Constraints. AI Memo 502, Massachusetts Institute of Technology Artificial Intelligence Laboratory, Cambridge, Mass., Nov. 1978.
|
| |
59
|
|
| |
60
|
|
 |
61
|
|
 |
62
|
Tim Teitelbaum , Thomas Reps , Susan Horwitz, The why and wherefore of the Cornell Program Synthesizer, Proceedings of the ACM SIGPLAN SIGOA symposium on Text manipulation, p.8-16, June 08-10, 1981, Portland, Oregon, United States
|
| |
63
|
|
| |
64
|
|
| |
65
|
VAN DE VANTER, M. L. User interface design for language-based editing systems. Ph.D. dissertation, Computer Science Division--EECS, Univ. of California, Berkeley. To be published.
|
| |
66
|
|
 |
67
|
|
 |
68
|
|
 |
69
|
|
CITED BY 15
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Yanhong A. Liu , Scott D. Stoller , Tim Teitelbaum, Discovering auxiliary information for incremental computation, Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.157-170, January 21-24, 1996, St. Petersburg Beach, Florida, United States
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
K. Kontogiannis , J. Martin , K. Wong , R. Gregory , H. Müller , J. Mylopoulos, Code migration through transformations: an experience report, Proceedings of the 1998 conference of the Centre for Advanced Studies on Collaborative research, p.13, November 30-December 03, 1998, Toronto, Ontario, Canada
|
|
|
|
|
|
|
|
|
|
|
|
|
INDEX TERMS
Primary Classification:
D.
Software
D.2
SOFTWARE ENGINEERING
D.2.2
Design Tools and Techniques
Subjects:
User interfaces
Additional Classification:
D.
Software
D.2
SOFTWARE ENGINEERING
D.2.3
Coding Tools and Techniques
Subjects:
Program editors
General Terms:
Design,
Documentation,
Human Factors,
Languages
Keywords:
Ladle,
Pan,
coherent user interfaces,
colander,
contextual constraint,
extension facilities,
grammatical abstraction,
interactive programming environment,
logic programming,
logical constraint grammar,
reason maintenance,
syntax-recognizing editor,
tolerance for errors and anomalies
REVIEW
"Paul W. Abrahams : Reviewer"
An editor is a programmer's most vital tool. Programmers have
strong feelings about the editors they use and are sensitive to the
quality of those editors. The Pan editor is designed for experienced
programmers—software professionals pro
more...
|