| Ballance, R. A., Graham, S. L., and Vanter, M. L. V. d., The Pan Language-Based Editing System, ACM Transactions on Software Engineering and Methodology, 1, 1, 95-127, 1992. |
....literature [7, 12, 35, 37, 45] where it is commonly known as finite differencing. However, general techniques of incremental computation have far broader application throughout software, e.g. loop optimizations in optimizing compilers [2, 3, 11, 14, 46] interactive systems like editors [6, 13, 43] and programming environments [5, 9, 13, 19, 24, 25, 41, 42] dynamic systems like distributed databases [10, 29] and real time systems [48] and image processing [49, 51, 53, 54] Incremental Computation. Given a program f and an input change operation Phi, a program f that computes the ....
....results and auxiliary information is summarized in Section 1. Here, we take a closer look at related work in discovering auxiliary information for incremental computation. 12 Interactive systems and reactive systems often use various incremental algorithms to achieve fast response time [5, 6, 9, 13, 19, 24, 41, 42]. Explicit incremental algorithms are hard to write and appropriate auxiliary information is hard to discover. Our approach provides a general and systematic approach for developing particular incremental algorithms. For example, for the dynamic incremental attribute evaluation algorithm in [43] ....
R. A. Ballance, S. L. Graham, and M. L. Van De Vanter. The Pan language-based editing system. ACM Transactions on Software Engineering and Methodology, 1(1):95--127, January 1992.
....language tool generation are challenging and integral topics in the area of domain specific languages. The first aims to provide formal descriptions of syntax and semantics, while the latter studies the e#cient tool generation from such formal specifications. ASF SDF [14] Centaur [10] Pan [9], PSG [8] CIGALE [25] and Synthesizer Generator [23] are examples of the many systems available. These typically provide language editing capabilities and e#cient language tool generation, including lexers and parsers, from language specifications similar to those of Phobos. Nevertheless, most do ....
....can be matched by more than one regular expression, priority can be given to the first or the longest match with the corresponding option. Furthermore, terminal symbols not used in the abstract syntax can be excluded by placing a star symbol in front of their definition. Tokens longest NUM = [0 9] token [p:s] pos num[p:s] pos . SPACE = Fig. 5. Lexical specification fragment 3.5 Syntax and semantics specification Syntax is defined using context free grammars written in BNF. Each production may be accompanied by a list of rewrite patterns that encode the ....
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 (TOSEM), 1(1):95--127, 1992.
....language tool generation are challenging and integral topics in the area of domain specific languages. The first aims to provide formal descriptions of syntax and semantics, while the latter studies the e#cient tool generation from such formal specifications. ASF SDF [12] Centaur [9] Pan [8], PSG [7] CIGALE [23] and Synthesizer Generator [21] are examples of the many systems available. These typically provide language editing capabilities and e#cient language tool generation, including lexers and parsers, from language specifications similar to those of Phobos. Nevertheless, most do ....
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 (TOSEM), 1(1):95--127, 1992.
....Sections 8 and 9 presents conclusions and future research directions. 1 2 Historical Notes This section discusses the PAN and ENSEMBLE systems, including their research contributions, their shortcomings, and their in uence on the HARMONIA framework design. 2. 1 The PAN System The PAN system [5] was under development from 1984 to 1992, resulting in a fully functioning PAN I prototype [6] The focus of the PAN system was on editing and browsing of structured documents such as formal designs, speci cations, and program components. The primary motivation of the PAN project was to provide ....
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):95-127, January 1992.
....fine grained versioning is not provided in traditional environments, which track changes in terms of entire lines of text. A number of language based programming environments have been constructed as research prototypes, including Gandalf [52] Centaur [8] the Synthesizer Generator [67] Pan [3], PSG [2] and Integral C [68] Commercial systems include the SMARTsystem from PROCASE Corporation [60] Energize from Lucid, Inc. 51] the Rational Ada Environment [23] and a commercial version of the 2 Synthesizer Generator [30] 1 Our work was performed in the context of the Ensemble ....
....types mirrors that of their corresponding value constructors. For example, the tuple type representing pairs of integers and strings is denoted (Integer, String) and has (1, foo ) as a 15 typical value. Likewise, the list type representing a sequence of integers is denoted [Integer] and has [1, 2, 3, 4, 5] as a typical value. A list may also be constructed by prepending a sequence of components to an existing list using the notation. For example, if the variable Rest has been previously bound to the list [3, 4, 5] then [1, 2 Rest] 1, 2, 3, 4, 5] The symbol is part of the syntax ....
[Article contains additional citation context not shown here]
R. A. Ballance, S. L. Graham, and M. L. Van De Vanter. The Pan language-based editing system. ACM Transactions on Software Engineering and Methodology, 1(1):95--127, 1992.
....output in computing a new output, instead of computing the new output from scratch. Incremental computation is a fundamental issue relevant throughout computer software, e.g. optimizing compilers [2,3,17,23,78] transformational program development [8,20,62,65,77] and interactive systems [5,6,10,22,33,41,71,72]. Numerous techniques for incremental computation have been developed, e.g. 3,4,25,34 36,56,64,68,70,73,76,79,86] Strengthening invariants for incrementalization. We are engaged in an ambitious e ort to derive incremental extended programs automatically (or semi automatically) from ....
....the presentation. Here, we take a closer look at related work on discovering auxiliary information for incremental computation and on strengthening invariants for ecient computation in general. Interactive systems and reactive systems often use incremental algorithms to achieve fast response time [5,6,10,22,33,41,71,72]. Since explicit incremental algorithms are hard to write and appropriate auxiliary information is hard to discover, the general approach in this paper provides a systematic method for developing particular incremental algorithms. For example, for the dynamic incremental attribute evaluation ....
R. A. Ballance, S. L. Graham, and M. L. Van De Vanter. The Pan languagebased editing system. ACM Trans. Soft. Eng. Methodol., 1(1):95-127, Jan. 1992.
....advantage of logic variable unification, a very useful mechanism to simulate evaluation by transition rules. The Prolog evaluation in Centaur consists of solving a set of equations that identify values, types, states, etc. Another structure editor based on (constraint) logic programming is Pan [10]. More precisely, this is a language based editing and browsing system. It allows the incremental static analysis of programs whose semantics is specified with a logical constraint grammar. A Pan language description includes declarative information on lexical and syntactic data, context sensitive ....
.... 128, 139, 143, 182, 186, 191] Process Management [3, 13, 33, 35, 85, 77, 84, 146, 155, 196, 163] Validation and prototyping [24, 53, 56, 71, 82, 98, 99, 104, 115, 120, 133, 148, 170, 176, 177, 179, 188, 197] Design [8, 4, 38, 44, 63, 106, 109, 118, 147, 160, 162, 202] Editing and Compiling [10, 18, 48, 36, 78, 158, 136, 150, 194] Debugging and testing [21, 42, 46, 59, 67, 74, 76, 81, 92, 123, 154, 181] Maintenance and Reuse [23, 25, 26, 29, 30, 31, 66, 79, 110, 117, 193, 201, 7, 60, 93, 135, 142, 159, 174, 200] Figure 4: A classification of the projects and tools cited in this paper IF start working context THEN ....
R. Ballance, S. Graham, and M. VanDeVanter. The Pan Language-Based Editing System. ACM Transactions on Software Engineering and Methodology, 1(1):95--127, January 1992.
....language are compared using the two formalisms and their relative merits are discussed. 1 Introduction The mid and the late eighties saw a proliferation of different programming environment generators, some of the best known among them being the Synthesizer Generator [37] Centaur [9] Pan [7], Mentor [12] PSG [6] IPSEN [14] Pecan [36] Mjolner [32] Yggdrasil [10] GIPE [21] and ASDL [27] Very recently there has Mailing address: German National Research Center for Computer Science, GMD FIRST, Rudower Chaussee 5, D 12489 Berlin, Germany. email: ma first.gmd.de y Computer ....
R. A. Ballance, S. L. Graham, and M. L. Van De Vanter. The Pan language-based editing system. ACM Transactions on 9 Software Engineering and Methodology, 1(1):95 -- 127, January 1992.
....than from scratch. Methods of incremental computation have widespread applications, e.g. loop optimizations in optimizing compilers [Ear76,CK77,MJ81,ASU86] and transformational programming [Pai83,Par90, Smi90] interactive systems like programming environments [MF81,Rep84] and editors [RTD83,RT88,BGV92] and dynamic systems like distributed databases [LS92, CHKS93,ZGMHW94] and real time systems [VC92] The premise of this work is that methods of incremental computation can be generalized and systematized by finding a conceptual model that captures all the fundamentals. A comprehensive guide to ....
....has been discussed in Section 5.3. Here, we take a closer look at related work on discovering auxiliary 93 information for incremental computation. Interactive systems and reactive systems often adopt incremental algorithms to achieve fast response time [DGHKL84,Rei84a,BS86,HN86,BC88,RT88,Kai89,BGV92] Since explicit incremental algorithms are hard to write and appropriate auxiliary information is hard to discover, the general approach in this chapter provides a helpful systematic method for developing particular incremental algorithms. For example, for the dynamic incremental attribute ....
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):95--127, January 1992.
....builders of compilers, interpreters, editors, and the like have numerous construction aids available to them (e.g. Lex Yacc, Gandalf [Habermann and Notkin 1986] the Cornell Synthesizer Generator [Reps and Teitelbaum 1984] Centaur [Borras et al. 1988] Refine [Reasoning Systems, Inc. 1990] Pan [Ballance et al. 1992], and Eli [Gray et al. 1992] the same cannot be said for builders of testing and analysis tools. Typically, testing and analysis tools are individually handcrafted in a conventional programming language such as Ada, C, or Lisp and can require thousands of lines of code. For tools that embody ....
....a monolithic architecture in which the front end processing component and the tool generation component are custom designed from scratch and supplied as an integrated package (e.g. Gandalf [Habermann and Notkin 1986] Centaur [Borras et al. 1988] Refine [Reasoning Systems, Inc. 1990] and Pan [Ballance et al. 1992]) A detailed discussion of this issue can be found in the previous paper on Genoa [Devanbu 1992] As was predicted in the initial work on Genoa, the loosely coupled architecture of Aria saved us a great deal of work by allowing us to reuse an existing front end processing component, ACM ....
BALLANCE, R., GRAHAM, S., AND VANTER, M. V. D. 1992. The Pan language-based editing system.
....editor, called ctedit[BCD 88] currently uses Epoch instead of Emacs, but automated focus enlargement lacks here too. Other hybrid editing systems sometimes have rich text editing functionality and customizable graphics, but use their own text editing and display facilities. For instance, Pan [BGV92] is extensible and customizable in the Emacs style and features completely unrestricted text editing. Another hybrid editing system with unrestricted text editing is PSG [BS92] 3 Implementation Connecting an existing text editor with an existing structure editor, requires that adaptations are ....
R.A. Ballance, S.L. Graham, and M.L. Van De Vanter. The Pan Language-Based Editing System. ACM Transactions on Software Engineering and Methodology, 1(1):95--127, 1992.
....event interactions and, call graphs. Program features can be used to identify modified code between different versions. Other approaches in the category of descriptive matching, applied though to the area of syntax based editing, include CIA [Chen90] CSCOPE [Steffen85] and, the Pan system [Ballance92]. 3 Domain Model The domain model for Java software systems presented here consists of entities, relations and attributes. The purpose of this model is to represent components of Java software system and their interrelationships at a higher level of abstraction. Instances of this model are ....
Ballance, R., Graham, S., Van De Vanter, M., "The Pan Language-Based Editing System", ACM Transactions on Software Engineering and Methodology, Jan. 1992, Vol. 1, No.1, pp.95-127
....account of progress in this project, have been published. Soop is a multi lingual generalization of these systems. An interesting related but different direction is that of meta environments for creating programming environments [20] such as GIPE [15] Gandalf [13] the PSG system [2] and Pan [3]. These concentrate on interactive tools, chiefly syntax directed editors, but also debuggers, interpreters, code generators, etc. related to the program development process. Our concern is with later stages in the programming life cycle: testing, maintenance and re engineering, as well as with ....
R. A. Ballance, S. L. Graham, and M. L. V. D. Vanter. The Pan language-based editing system. ACM Transactions on Software Engineering and Methodology, 1(1):95--127, 1992.
....fingerprints using a hashing mechanism. These are then compared to identify similarities between two texts corresponding to code fragments. Finally, other approaches, originally developed for the area of syntax based editing, include CIA ( Chen90] CSCOPE ( Steffen85] the Pan system ([Ballance92]) the CENTAUR system ( Borras88] the Cornell Synthesizer Generator ( Reps84] and, A ( Ladd95] 3 The Transformation Process In order to perform software transformations, it is useful to represent source code at a higher level of abstraction than, say, text or even parse trees [Yasuma95] ....
Ballance, R., Graham, S., Van De Vanter, M., "The Pan Language-Based Editing System", ACM Transactions on Software Engineering and Methodology, Jan. 1992, Vol. 1, No.1, pp.95-127.
....literature [7, 12, 35, 37, 45] where it is commonly known as finite differencing. However, general techniques of incremental computation have far broader application throughout software, e.g. loop optimizations in optimizing compilers [2, 3, 11, 14, 46] interactive systems like editors [6, 13, 43] and programming environments [5, 9, 13, 19, 24, 25, 41, 42] dynamic systems like distributed databases [10, 29] and real time systems [48] and image processing [49, 51, 53, 54] Incremental Computation. Given a program f and an input change operation Phi, a program f 0 that computes the ....
....intermediate results and auxiliary information is summarized in Section 1. Here, we take a closer look at related work in discovering auxiliary information for incremental computation. Interactive systems and reactive systems often use various incremental algorithms to achieve fast response time [5, 6, 9, 13, 19, 24, 41, 42]. Explicit incremental algorithms are hard to write and appropriate auxiliary information is hard to discover. Our approach provides a general and systematic approach for developing particular incremental algorithms. For example, for the dynamic incremental attribute evaluation algorithm in [43] ....
R. A. Ballance, S. L. Graham, and M. L. Van De Vanter. The Pan language-based editing system. ACM Transactions on Software Engineering and Methodology, 1(1):95--127, January 1992.
....only slightly from one another, making use of the old output in computing a new output rather than computing from scratch. Methods of incremental computation have widespread application, e.g. optimizing compilers [2, 9, 11] transformational programming [30, 33, 43] interactive editing systems [4, 39], etc. Deriving incremental programs. Given a program f and an input change Phi, a program f 0 that computes the result of f(x Phi y) efficiently by making use of the value of f(x) is called an incremental version of f under Phi. Liu and Teitelbaum [27] give a systematic transformational ....
R. A. Ballance, S. L. Graham, and M. L. Van De Vanter. The Pan language-based editing system. ACM Transactions on Software Engineering and Methodology, 1(1):95--127, January 1992.
....only slightly from one another, making use of the old output in computing a new output rather than computing from scratch. Methods of incremental computation have widespread application, e.g. optimizing compilers [2, 9, 11] transformational programming [29, 32, 42] interactive editing systems [4, 38], etc. In this paper, we (a) extend our previous work on deriving incremental programs [26] with a new technique for caching intermediate results, and (b) show how the technique applies to the general problem of program improvement via caching. Deriving Incremental Programs. Given a program f and ....
R. A. Ballance, S. L. Graham, and M. L. Van De Vanter. The Pan language-based editing system. ACM Transactions on Software Engineering and Methodology, 1(1):95--127, January 1992.
....ACM Transactions on Programming Languages and Systems, Vol. 20, No. 3, May 1998, Pages 546 585. Static Caching for Incremental Computation Delta 547 1986; Cocke and Kennedy 1977; Earley 1976] transformational programming [Paige 1983; Partsch 1990; Smith 1990] and interactive editing systems [Ballance et al. 1992; Reps and Teitelbaum 1988] Given a program f and an input change operation Phi, a program f 0 that computes the result of f(x Phi y) efficiently by making use of the value of f(x) is called an incremental version of f under Phi. For example, suppose, in a large employee database, a program ....
Ballance, R. A., Graham, S. L., and Van De Vanter, M. L. 1992. The Pan language-based editing system. ACM Trans. Soft. Eng. Methodol. 1, 1 (Jan.), 95--127.
....that recognize di erent classes of documents use the class to customize editing. GNU Emacs is a simple example; a document belongs to a particular class if its lename matches a regular expression. An editing mode , or set of editing operations, is de ned for each class. The Pan program editor [2] uses a more sophisticated de nition of a document class, de ned by a language. However, Pan has no mechanism for providing di erent editing operations in di erent parts of the same document, a necessary feature in a system supporting compound documents. In Ensemble, each document is ....
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):96-127, January 1992.
....approaches all demand direct user intervention at each error site and therefore impose an unnecessary serialization on the analysis and the user s actions. A few research and commercial environments support unattended incremental error recovery in the context of incremental parsing [10] 11] [12] but there has been little discussion or analysis of the technologies employed. Moreover, no existing systems make use of the vast amount of information available in the development log being maintained by the environment. The central idea in our approach is to recognize that some user ....
Robert A. Ballance, Susan L. Graham, and Michael L. Van De Vanter, "The Pan language-based editing system", ACM Trans. Softw. Eng. and Meth., vol. 1, no. 1, pp. 95--127, Jan. 1992.
....project at Berkeley is investigating the technology to provide interactive language based services for both formal languages and multi media natural language documents. Many of the ideas and observations in this paper are the outgrowth of that research effort and its predecessors, the Pan project [4] and the VorTeX project [6] In the remainder of the paper, we first sketch some of the language based services we have in mind. Next we describe some of the technical issues that arise in interactive language processing, followed by a discussion of the effect of certain language design choices ....
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):95--127, January 1992.
No context found.
Robert A. Ballance, Susan L. Graham, and Michael L. Van De Vanter, `The Pan language-based editing system', ACM Trans. Softw. Eng. and Meth., 1(1), 95--127 (1992).
....animation. In the sections that follow, we summarize briefly some of the things we learned from the Pan and V OR T E X systems, and the research we are doing in Ensemble. 1 Appears in the Proceedings of the Darpa 92 Software Technology Meeting 2 2 Lessons from the Pan System The Pan system [4, 8] is a language based editing system that exploits language specific information to support interactive browsing, manipulation, and modification of language structured documents. It is based on a philosophy that the language based services should be available as needed but should not force the user ....
R. A. Ballance, S. L. Graham, and M. L. Van De Vanter. The Pan language-based editing system. ACM Trans. on Software Engineering and Methodology, 1(1):95--127, Jan. 1992.
No context found.
Ballance, R. A., Graham, S. L., and Vanter, M. L. V. d., The Pan Language-Based Editing System, ACM Transactions on Software Engineering and Methodology, 1, 1, 95-127, 1992.
No context found.
R. A. Ballance, S. L. Graham, and M. L. Van de Vanter. The Pan language-based editing system. ACM Transactions on Software Engineering and Methodology, 1(1):95--127, January 1992.
First 50 documents
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC