[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
article
Free access

The Pan language-based editing system for integrated development

Published: 01 October 1990 Publication History

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 integrate smoothly with the other tools in the environment, maintain a sharable database of information concerning the documents being edited, accommodate flexible editing styles, provide a consistent, coherent, and empowering user interface, and support individual variations and project-wide configurations. 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

[1]
ACM. Proc. of the ACM SIGPLAN SIGOA Symposium on Text Manipulation (Portland, Oregon, June 8-10, 1981). Appeared as Sigplan Notices, 16(6), June 1981.
[2]
AMBRAS, J., AND O'DAY, V. Microscope: A knowledge-based programming environment. IEEE Software 5, 3 (May 1988), 50-58.
[3]
BAECKER, R. M., AND MARCUS, A. Human Factors and Typography for More Readable Programs. ACM Press, New York, New York, 1990.
[4]
BAHLKE, R., AND SNELTING, G. The PSG system: From formal language definitions to interactive programming environments. ACM Trans. on Programming Languages and Systems 8, 4 (1986), 547-576.
[5]
BALLANCE, R. A. Syntactic and Semantic Checking in Language-Based Editing Systems. Ph.D. dissertation, Computer Science Division-EECS, University of California, Berkeley, California, 94720, Dec. 1989. Available as Technical Report No. UCB/CSD 89/548.
[6]
BALLANCE, R. A., BUTCHER, J., AND GRAHAM, S. L, Grammatical abstraction and incremental syntax analysis in a language-based editor. In Proc. of the SIG- PLAN '88 Conference on Programming Language Design and Implementation (Atlanta, Georgia, June 22- 24, 1988), ACM, pp. 185-198. Appeared as Sigplan Notices, 23(7), July 1988.
[7]
BALLANCE, R. A., AND GRAHAM, S. L. Consistency maintenance for contextual constraints. In preparation., July 1990.
[8]
BALLANCE, R. A., AND VAN DE VANTER, M. L. Pan I: An introduction for users. Technical Report No. UCB/CSD 88/410, Computer Science Division- EECS, University of California, Berkeley, California, 94720, Mar. 1988.
[9]
BALLANCE, R. A., VAN DE VANTER, M. L., AND GRA- HAM, S. L. The architecture of Pan I. Technical Report No. UCB/CSD 88/409, Computer Science Division- EECS, University of California, Berkeley, California, 94720, Mar. 1988.
[10]
BLACK, C. L. PPP: The Pan program presenter. Technical Report No. UCB/CSD 90/589, Computer Science Division-EECS, University of California, Berkeley, California, 94720, Sept. 1990.
[11]
BORRAS, P., CLEMENT, D., DESPEYROUX, T., IN- CERPI, J., KAHN, G., LANG, B., AND PASCUAL, V. CENTAUR: the system. In Henderson {25}, pp. 14-24.
[12]
BUDINSKY, F. J., HOLT, R. C., AND ZAKY, S. G. SRE-a syntax-recognizing editor. Software--Practice & Experience 15, 5 (May 1985), 489-497.
[13]
BUTCHER, J. Ladle. Master's thesis, Computer Science Division-EECS, University of California, Berkeley, California, 94720, Nov. 1989. Available as Technical Report No. UCB/CSD 89/519.
[14]
CHEN, P., COKER, J., HARRISON, M. A., MCCAR- RELL, J., AND PROCTER, S. The w Document Preparation Environment. In Proc. of the End European Conference on TEX for Scientific Documentation (Strasbourg, France, June 19-21 1986), J. Desarmenien, Ed., no. 236 in LNCS, Springer-Verlag, pp. 45-54.
[15]
CHEN, P., AND HARRISON, M. A. Multiple representation document development. IEEE Computer 21, 1 (Jan. 1988), 15-31.
[16]
COHEN, J. Constraint logic programming languages. Communications of the ACM 33, 7 (July 1990) 52-68.
[17]
CONRADI, R., DIDRIKSEN, T. M., AND WANVIK, D., Eds. Advanced Programming Environment8 (Berlin, Heidelberg, New York, 1986), no. 244 in Lecture Notes in Computer Science, Springer-Verlag.
[18]
CORBETT, R. P. Static Semantics and Compiler Error Recovery. Ph.D. dissertation, Computer Science Division-EECS, University of California, Berkeley, California, 94720, June 1985. Available as Technical Report No. UCB/CSD 85/251.
[19]
DERANSART, P., JOURDAN, M., AND LORHO, B. Attribute Grammars: Definitions, Systems, and Bibliography. No. 323 in Lecture Notes in Computer Science. Springer-Verlag, Berlin, Heidelberg, New York, 1988.
[20]
DONZEAU-GOUGE, V., HUET, G., KAHN, G., AND LANG, B. Programming environments bssedl on structure editors: The Mentor experience. Ra.pports de Recherche 26, INRIA, June 1980.
[21]
DOYLE, J. A truth maintenance system. In Beading8 in Artificial Intelligence, B. L. Webber and N. II. Nilsson, Eds. Tioga, Palo Alto, California, 1981, pp. 496-516.
[22]
FORSTALL, B. T. Experience with language description mechanisms in Pan. PIPER Working Paper 90-3, Computer Science Division-EECS, University of California, Berkeley, California, 94720, 1990.
[23]
GOLDBERG, A. Programmer 8s reader. IEEE Software 4, 5 (Sept. 1987), 62-70.
[24]
HABERMANN, A. N., AND NOTKIN, D. Gandalf: Software development environments. IEEE Trans. on Software Engineering SE-IL, 12 (Dec. 1986), 1117-1127.
[25]
HENDERSON, P., Ed. ACM SIGSOFT '88: Third Symposium on Software Development Environments (1988).
[26]
HILFINGER, P. N., AND COLELLA, P. Fidil: A language for scientific programming. In Symbolic Computation: Applications to Scientific Computing, R. Grossman, Ed. SIAM, 1989, pp. 97-138.
[27]
HOLT, R. W., BOEHM-DAVIS, D. A., AND SCHULTZ, A. C. Mental representations of programs for student and professional programmers. In Empirical Studies of Programmers: Second Workshop, G. M. Olson, S. Sheppard, and E. Soloway, Eds. Ablex Publishing, Norwood, NJ, 1987, p. 33.
[28]
HORTON, M. R. Design of a multi-language editor with static error detection capabilities. Ph.D. dissertation, Computer Science Division-EECS, University of California, Berkeley, California, 94720, 1981.
[29]
HORWITZ, S., AND TEITELBAUM, T. Generating editing environments based on relations and attributes. ACM Trans. on Programming Languages and Systems 8, 4 (Oct. 1986), 577-608.
[30]
JALILI, F., AND GALLIER, J. H. Building friendly parsers. In Proceedings of the 9th Annual ACM Symposium on Principle8 of Programming Language8 (Albuquerque, New Mexico, January 25-27, 1982), ACM, pp. 196-206.
[31]
KAHN, G. Natural semantics. Tech. Rep. 601, INRIA, Feb. 1987.
[32]
KAHN, G., LANG, B., MEL$sE, B., AND MORCOS, E. Metal: A formalism to specify formalisms. Science of Computer Programming 3 (1983), 151-188.
[33]
KAISER, G. E. Semantics for Structure Editing Enuironments. Ph.D. dissertation, Carnegie Mellon University, Pittsburgh, Pennsylvania, 15213, May 1985.
[34]
KIRSLIS, P. A. C. The SAGA Editor: A Language- Oriented Editor Based on Incremental LR(1) Parser. Ph.D. dissertation, University of Illinois at Urbana Champaign, Dec. 1985.
[35]
LAMPSON, B. W. Bravo Users Manual. Palo Alto, 1978.
[36]
LANG, B. On the usefulness of syntax directed editors. In Conradi et al. {17}, pp. 47-51.
[37]
LETOVSKY, S. Cognitive processes in program comprehension. In Empirical Studies of Programmers, E. Soloway and S. Iyengar, Eds. Ablex Publishing, Norwood, NJ, 1986, pp. 58-79.
[38]
LETOVSKY, S., AND SOLOWAY, E. Delocalized plans and program comprehension. IEEE Software 3, 3 (May 1986), 41-49.
[39]
LEWIS, C., AND NORMAN, D. A. Designing for error. In User Centered System Design: New Perspectives on Human-Computer Interaction, D. A. Norman and S. W. Draper, Eds. Lawrence Erlbaum Associates, Hillsdale, NJ, 1986, pp. 411-432.
[40]
MASINTER, L. M. Global program analysis in an interactive environment. Tech. Rep. SSL-SO-l, Xerox Palo Alto Research Center, Palo Alto, 1980.
[41]
MEDINA-MORA, R., AND FEILER, P. H. An incremental programming environment. IEEE Trans. on Software Engineering SE-T, 5 (1981), 472-481.
[42]
NEAL, L. R. Cognition-sensitive design and user modelling for syntax-directed editors. In CHI+GI (1987), pp. 99-102.
[43]
NORD, R. L., AND PFENNING, F. The Ergo attribute system, In Henderson {25}, pp. 110-120.
[44]
OMAN, P ., AND COOK, C. R. Typographic style is more than cosmetic. Communications of the ACM 33, 5 (May 1990), 506-520.
[45]
REPS, T., TEITELBAUM, T., AND DEMERS, A. Incremental context dependent analysis for language based editors. ACM Trans. on Programming Languages and Systems 5, 3 (July 1983), 449-477.
[46]
RICH, C., AND WATERS, R. C. The Programmers Ap Prentice: A research overview. IEEE Computer 21, 11 (Nov. 1988), 10-25,
[47]
SMITH, B., AND KELLEHER, G., Eds. Reason Maintenance Systems and Their Applications. Series in Artificial Intelligence. Ellis Norwood Limited, Chichester, 1988.
[48]
SOLOWAY, E., AND EHRLICH, K. Empirical studies of programming knowledge. IEEE Transactions on Software Engineering SE-f 0, 5 (Sept. 1984), 595-609.
[49]
STALLMAN, R. M. EMACS: The extensible, customizable, self-documenting display editor. In Proc. of the ACM SIGPLAN SIGOA Symposium on Text Manipulation {1}, pp. 147-156. Appeared as Sigplan Notices, 16(6), June 1981.
[50]
STEELE JR., G. L., AND SUSSMAN, G. J. Constraints. AI Memo No. 502, Massachusetts Institute of Technology Artificial Intelligence Laboratory, Cambridge, Massachusetts, Nov. 1978.
[51]
STERLING, L., AND SHAPIRO, E. The Art of Prolog: Advanced Proqromming Techniques. The MIT Press, Cambridge, Massachusetts and London, England, 1986.
[52]
STRBMFORS, O. Editing large programs using a structure-oriented text editor. In Conradi et al. {17}, pp. 39-46.
[53]
TEITELBAUM, T., AND REPS, T. The Cornell Program Synthesizer: A syntax-directed programming environment. Communications of the ACM 24,9 (Sept. 1981), 563-573.
[54]
TEITELBAUM, T., REPS, T., AND HORWTZ, S. The why and wherefore of the Cornell program synthesizer. SIGPLAN Notices 16, 6 (June 1981).
[55]
TEITELMAN, W. A tour through Cedar. IEEE Trans. on Software Engineering SE-11, 3 (Mar. 1985).
[56]
VAN DE VANTER, M. L. User-centered program viewing. Research Proposal, Computer Science Division- EECS, University of California, Berkeley, California, 94720, Nov. 1987.
[57]
VAN DE VANTER, M. L. Error management and debugging in Pan I. Technical Report No. UCB/CSD 89/554, Computer Science Division-EECS, University of California, Berkeley, California, 94720, Dec. 1989.
[58]
VAN DE VANTER, M. L., BALLANCE, R. A., AND GRA- HAM, S. L. Coherent user interfaces for language-based editing systems. Technical Report No. UCB/CSD 90/591, Computer Science Division-EECS, University of California, Berkeley, California, 94720, July 1990.
[59]
WATERS, R. C. Program editors should not abandon text oriented commands. SIGPLAN Notices 17, 7 (1982), 39-46.
[60]
WINOGRAD, T. Beyond programming languages. Communications of the ACM 22, 7 (July 1979), 391- 401.
[61]
WOOD, S. R. Z-the 95% program editor. In Proc. of the ACM SIGPLAN SIGOA Symposium on Text Manipulation {l}, pp. 1-7. Appeared as Sigplan Notices, 16(6), June 1981.

Cited By

View all
  • (2013)Iterative and Pattern-Based Development of Internal Domain-Specific LanguagesFormal and Practical Aspects of Domain-Specific Languages10.4018/978-1-4666-2092-6.ch006(132-155)Online publication date: 2013
  • (2010)Agile Engineering of Internal Domain-Specific Languages with Dynamic Programming LanguagesProceedings of the 2010 Fifth International Conference on Software Engineering Advances10.1109/ICSEA.2010.32(162-168)Online publication date: 22-Aug-2010
  • (2006)Incremental Maintenance of Software ArtifactsIEEE Transactions on Software Engineering10.1109/TSE.2006.9132:9(682-697)Online publication date: 1-Sep-2006
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM SIGSOFT Software Engineering Notes
ACM SIGSOFT Software Engineering Notes  Volume 15, Issue 6
Dec. 1990
248 pages
ISSN:0163-5948
DOI:10.1145/99278
Issue’s Table of Contents
  • cover image ACM Conferences
    SDE 4: Proceedings of the fourth ACM SIGSOFT symposium on Software development environments
    October 1990
    248 pages
    ISBN:089791418X
    DOI:10.1145/99277
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 October 1990
Published in SIGSOFT Volume 15, Issue 6

Check for updates

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)65
  • Downloads (Last 6 weeks)5
Reflects downloads up to 12 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2013)Iterative and Pattern-Based Development of Internal Domain-Specific LanguagesFormal and Practical Aspects of Domain-Specific Languages10.4018/978-1-4666-2092-6.ch006(132-155)Online publication date: 2013
  • (2010)Agile Engineering of Internal Domain-Specific Languages with Dynamic Programming LanguagesProceedings of the 2010 Fifth International Conference on Software Engineering Advances10.1109/ICSEA.2010.32(162-168)Online publication date: 22-Aug-2010
  • (2006)Incremental Maintenance of Software ArtifactsIEEE Transactions on Software Engineering10.1109/TSE.2006.9132:9(682-697)Online publication date: 1-Sep-2006
  • (2002)Constraining software evolutionInternational Conference on Software Maintenance, 2002. Proceedings.10.1109/ICSM.2002.1167763(162-171)Online publication date: 2002
  • (2001)Aspect-Oriented Logic Meta ProgrammingMeta-Level Architectures and Reflection10.1007/3-540-48443-4_22(250-272)Online publication date: 7-Dec-2001
  • (2000)Working with patterns and codeProceedings of the 33rd Annual Hawaii International Conference on System Sciences10.1109/HICSS.2000.927016(10)Online publication date: 2000
  • (1999)The Desert environmentACM Transactions on Software Engineering and Methodology10.1145/322993.3229948:4(297-342)Online publication date: 1-Oct-1999
  • (1999)GENOA—a customizable, front-end-retargetable source code analysis frameworkACM Transactions on Software Engineering and Methodology10.1145/304399.3044028:2(177-212)Online publication date: 1-Apr-1999
  • (1995)Attribute grammar paradigms—a high-level methodology in language implementationACM Computing Surveys10.1145/210376.19740927:2(196-255)Online publication date: 1-Jun-1995
  • (1995)Report of a workshop on future directions in programming languages and compilersACM SIGPLAN Notices10.1145/208639.20864030:7(9-28)Online publication date: 1-Jul-1995
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media