| E. Schonberg, J. T. Schwartz, and M. Sharir. An automatic technique for selection of data representations in Setl programs. Transactions on Programming Languages and Systems, 3(2):126--143, 1991. |
....that addresses translation mechanisms. Very High Level Languages: This has been the focus of the research on represen tation formalisms for automatic programming. Very high level languages add powerful abstract data types to conventional programming languages. According to Schonberg et al. [Schonberg et al. 1986] a laguage of high level should provide high level abstract objects ad operatimes betwee them, high level cmtrol structures, ad the ability to se lect data represeztatioz iz az easy azd JIe ible maimer. VHLLs have been mentioned in section 6 and has been classified as a reuse technique whose ....
....transfor mation systems that provide a library of refinements, or rules, on how to translate these high level constructs into more tractable expressions. Advice is then required to select the refinements to be applied. Some examples of very high level languages are SETL [Krutchen et al. 1984, Schonberg et al. 1986], Gist, Balzer, 1985] V [Smith et al. 1985] and Refine [Smith et al. 1985] SETL , a language based on the use of set and set operations, was one of the first very high level languages. The SETL compiler decides how the data structures, specified at a high level of abstraction, should be ....
[Article contains additional citation context not shown here]
E. Schonberg, J. Scwartz, and M Shark. An automatic technique for selection of data representationa in SETL programs. In Charles Rich and Richard C. Waters, editors, Readings in artificial intelligence and software engineering, pages 235 243, Los Altos, CA, 1986. M. Kaufmann Publishers.
....the approaches taken by different systems vary with respect to their sophistication. Systems that take input in a declarative language often use a set theoretic abstraction for specifications. Sets can later be mapped into efficient data structures automatically (see Chapter 9 of [35] and [39][44] The choice of data structure depends on the kind of operations commonly performed (e.g. exhaustive searches vs. searches that can be efficiently indexed) At the same time, the guarantees offered by the data structure (e.g. always fully sorted vs. partial priority queue ordering) ....
E. Schonberg, J.T Schwartz, M. Sharir, An automatic technique for selection of data representations in SETL programs, ACM Trans. on Programming Languages and Systems, 3(2): 126-143, April 1981.
....abstract types must provide loops over collections of data. Alphard [66] and CLU [38] allow iterators for concrete types; Interlisp [30] provided a flexible looping construct for Lisp lists. SETL [14] provides sets and maps and compiles loops over them, with implementations chosen by the compiler [63]. Generic procedures need loops that are independent of data structure (e.g. array, linked list, or tree) this is done by loop macros. Expansion of generic procedures obeys strict hierarchy and involves independent name spaces. In expanding a loop, however, code specified in the loop statement ....
....into a data structure through a view and composition of views [52] Miranda [71] is a strongly typed functional language with higher order functions. While this allows generics, it is often hard to write functional programs with good performance. SETL [14] provides sets and set operations. [63] describes an attempt to automatically choose data structures in SETL to improve efficiency. Kruchten et al. 35] say slow is beautiful to emphasize ease of constructing programs, but inefficient implementations can make even small problems intractable. 8.5 Transformation Systems ....
E. Schonberg, J. T. Schwartz, and M. Sharir, "An Automatic Technique for Selection of Data Representations in SETL Programs," ACM Trans. on Prog. Lang. and Systems, vol. 3, no. 2 pp. 126-143, Apr. 1981.
.... the methods of global program analysis discussed in his earlier work with Cocke (see [18] to handle three new analysis problems: type inference, 86] analysis for set theoretic inclusion and membership relations, 71] and analysis for multiple pointers to the same aggregate data, 72] and [69]. Much of the work on value flow and destructive update analysis is just now beginning to be digested by the functional programming and rapid prototyping communities. Tenenbaum s pioneering work in SETL type inference was especially successful, and has had wide influence. In particular, it had an ....
Schonberg, E., Schwartz, J., and Sharir, M., An automatic technique for selection of data representations in SETL programs, ACM TOPLAS 3, No. 2, April 1981, pp. 126--143.
....Efficiency of set operations is a major concern. SETL provides several ways of implementing sets, known as bases: ffl bit strings, ffl indexed extensible bit strings, ffl linked hash tables. The programmer may specify which representation is to be used by declaring a set appropriately. Schonberg et al. 81] describes how the implementation of a set may also be selected automatically. Provisional representations are selected for occurrences of set variables based on the local context in which they appear in the program. These provisional representations are propagated globally and merged. The ....
....reformulation: 1. Determination of a refinement or data type change. In work on algebraic program development, it is usually the responsibility of the user, aided by a strong theory, to choose a refinement and apply it at an appropriate point in the development process. In [Blaine Goldberg 91, Schonberg et al. 81] dataflow analysis is applied to the source program in order to choose where to carry out a refinement. In my work, propagation rules perform an analogous role in a synthesis proof. 2. Derivation of a program on the new data type. In most work, functions on the data type in the source program ....
[Article contains additional citation context not shown here]
E. Schonberg, J. T. Schwartz, and M. Sharir. An automatic technique for the selection of data representations in SETL programs. ACM Transactions on Programming Languages and Systems, 3(2):126--143, 1981.
....executing the following procedure: 5) p : w Assign w to p. while x (e[p] p) Repeatedly augment p p : p x with a vertex adjacent end to p. Further improvement in the performance of code (5) can be achieved by applying finite differencing [57, 55] and data structure selection [21, 65, 56]. Finite differencing eliminates a major source of inefficiency within (5) the repeated calculation of e[p] p at the top of the while loop. This is achieved by preserving and exploiting the invariant: new = e[p] p within the while loop. Automatic data structure selection will subsequently ....
Schonberg, E., Schwartz, J. T., and Sharir, M. "An Automatic Technique for Selection of Data Representations in in SETL Programs". ACM TOPLAS 3, 2 (Apr 1981), 126-143.
....demonstrates the implementation of the techniques outlined in this paper. The implementation is not yet, however, mature enough to allow substantial problems to be tackled. 11 A comparison with previous work Choosing a data representation to improve certain program operations in used in [Schonberg et al. 81] Both [Schonberg et al. 81] and [Blaine Goldberg 91] extend an initial choice of representation to as much of the program as possible using dataflow analysis, which performs a similar role in programs to that performed by propagation rules in synthesis proofs. In both these systems, once a new ....
....of the techniques outlined in this paper. The implementation is not yet, however, mature enough to allow substantial problems to be tackled. 11 A comparison with previous work Choosing a data representation to improve certain program operations in used in [Schonberg et al. 81] Both [Schonberg et al. 81] and [Blaine Goldberg 91] extend an initial choice of representation to as much of the program as possible using dataflow analysis, which performs a similar role in programs to that performed by propagation rules in synthesis proofs. In both these systems, once a new data type is chosen, ....
E. Schonberg, J. T. Schwartz, and M. Sharir. An automatic technique for the selection of data representations in SETL programs. ACM Transactions on Programming Languages and Systems, 3(2):126-- 143, 1981.
....of the standard definition of binary addition requires the introduction of a carry bit. The proof is more difficult and has not yet been automated. Automating Data Type Changes 19 10 A comparison with previous work Choosing a data representation to improve certain program operations in used in [Schonberg et al. 81] Both [Schonberg et al. 81] and [Blaine Goldberg 91] extend an initial choice of representation to as much of the program as possible using dataflow analysis, which performs a similar role in programs to that performed by propagation rules in synthesis proofs. In both these systems, once a new ....
....of binary addition requires the introduction of a carry bit. The proof is more difficult and has not yet been automated. Automating Data Type Changes 19 10 A comparison with previous work Choosing a data representation to improve certain program operations in used in [Schonberg et al. 81] Both [Schonberg et al. 81] and [Blaine Goldberg 91] extend an initial choice of representation to as much of the program as possible using dataflow analysis, which performs a similar role in programs to that performed by propagation rules in synthesis proofs. In both these systems, once a new data type is chosen, ....
E. Schonberg, J. T. Schwartz, and M. Sharir. An automatic technique for the selection of data representations in SETL programs. ACM Transactions on Programming Languages and Systems, 3(2):126-- 143, 1981.
....selects data structures draws on research in automatic programming. Balzer provides a good overview of older work in this field [2] more recent research includes Cohen s AP5 system [11] which is similar in its approach (static, heuristic based analysis of programs) to the 1981 SETL system [23]. Novak has applied automatic programming to software synthesis using views computational mappings that enable generic procedures to be specialized without the incorporation of domain specific knowledge [20] As our formalization of P3 demonstrates, however, the addition of domain specific ....
E. Schonberg, J. T. Schwartz, and M. Sharir, An Automatic Technique for Selection of Data Representations in SETL Programs. ACM Trans. Prog. Languages and Systems, April 1981, 126-143.
.... producing high performance, customized applications in a DSL setting (see also [Nov97] The automatic selection of data structures is an example of automatic programming [Bal85] SETL is a set oriented language where implementations of sets can be specified manually or determined automatically [Sch81]. SETL offers very few set implementations (bit vector, indexed set, and hashing) and relies on a static analysis of a SETL program using heuristics rather than using cost based optimizations to decide which set implementation to use. AP5 relies more on user supplied annotations for data ....
....or server can automatically select the most appropriate implementation that is available. The OI guidelines address design issues, 15 but implementation details are not discussed. When the space of implementations is restricted to a small handful of choices, the solution is straightforward [Bal85, Sch81, Cho93]. However our experience with P3 shows that declarative specifications can map to vast numbers of implementations. While design issues are indeed important, additional difficult problems remain: 1) creating a model that defines the space of possible implementations, 2) using the model to produce ....
E. Schonberg, J.T. Schwartz, and M. Sharir, "An Automatic Technique for Selection of Data Representations in SETL Programs, ACM Trans. Prog. Languages and Systems, April 1981, 126-143.
....should one chooses, given that there is no a priori knowledge of what operations, and how often, the aggregates will be mostly used for This is known as the data representation selection problem for very high level programming languages. See, for example, Schonberg, Schwartz, and Sharir [12]. The goal is to determine a suitable representation for aggregates of builtin abstract data types (such as sets and arrays) such that the aggregates will exhibit good performance. The problem occurs as well for user defined abstract data types, where there may exist multiple representations of ....
E. Schonberg, J. T. Schwartz, and M. Sharir. An automatic technique for selection of data representations in SETL programs. ACM Transactions on Programming Languages and Systems, 3(2):126--143, 1981.
.... 1: Statistics on performance of dynamic type inference prototype languages [AM91] and object oriented languages; e.g. in Smalltalk [JGZ88] and Self [CU90] The application of type finding and type information to tagging optimization can be traced to (at least) the early work on SETL optimization [FSS75,SSS81], which is based on Tenenbaum s thesis referenced above. Intraprocedural representation analysis for local optimization of primitive operations (operating on atomic data) is described in Brooks, Gabriel and Steele s S1 compiler for (an extension of) Common LISP [BGS82] and mentioned in Vegdahl and ....
E. Schonberg, J. T. Schwartz, and M. Sharir. An automatic technique for selection of data representations in SETL programs. ACM TOPLAS, 3(2):126--143, Apr 1981.
....application) Nov97] but the concept of web based advertising of generators is the same. The automatic selection of data structures is an example of automatic programming [Bal85] SETL is a set oriented language where implementations of sets can be specified manually or determined automatically [Sch81]. SETL offers very few set implementations (bit vector, indexed set, and hashing) and relies on a static analysis of a SETL program using heuristics rather than using cost based optimizations to decide which set implementation to use. AP5 has comparable capabilities and takes a similar approach ....
E. Schonberg, J.T. Schwartz, and M. Sharir, "An Automatic Technique for Selection of Data Representations in SETL Programs, ACM Trans. Prog. Languages and Systems, April 1981, 126-143.
....technology for producing high performance, customized applications in a DSL setting. The automatic selection of data structures is an example of automatic programming [Bal85] SETL is a set oriented language where implementations of sets can be specified manually or determined automatically [Sch81]. SETL offers very few set implementations (bit vector, indexed set, and hashing) and relies on a static analysis of a SETL program using heuristics rather than using cost based optimizations to decide which set implementation to use. AP5 has comparable capabilities and takes a similar approach ....
E. Schonberg, J.T. Schwartz, and M. Sharir, "An Automatic Technique for Selection of Data Representations in SETL Programs, ACM Trans. Prog. Languages and Systems, April 1981, 126-143.
....our efforts on developing a library of refinements which can generate the large variety of implementations for set theoretic types. Since these types are fundamental to VDM and Z [36] our work will support the formal machine mediated refinement of VDM and Z specifications. The SETL project [37, 38] pioneered optimization methods within a traditional compiler framework for automatic representation of set theoretic data structures. Recent work on SETL emphasizes interactive systems for data structure selection [39] Taliere, the system developed at NYU for interactive data structure selection ....
Edward Schonberg, Jacob Schwartz, and M. Sharir. An automatic technique for the selection of data representations in SETL programs. ACM Transactions on Programming Languages and Systems, 3(2):126--143, April 1981.
....set theory, previously used in program verification, to the accurate analysis of program performance. It also provides an easy top down methodology for designing data structures. Our techniques also provide a new framework with which to extend the data structure selection algorithms proposed in [24, 27] to produce structures that can be modified to a much greater degree at runtime. This paper is organized as follows: Section 2 examines the advantages of set based programming in software development. Section 3 introduces the set machine and RAM models of computation. Section 4 describes how to ....
....assumed (an assumption common to almost all algorithms texts; cf. 2] that the input is preconditioned in this way and the program takes no measures to ensure that this is so. Of course, base representations could also be built by the program when data is input. This is the technique described in [27], where hashing is used to ensure that a base contains no repeated elements. 4.3. ASM simulation with ARAM The increased power of ARAM over APM can be exploited to provide for improved implementations when simulating ASM with ARAM. For example, when sets with compatible, strongly based elements ....
[Article contains additional citation context not shown here]
Schonberg, E., Schwartz, J. T., and Sharir, M., "An Automatic Technique for Selection of Data Representations in in SETL Programs," ACM TOPLAS, vol. 3, no. 2, pp. 126-143, Apr, 1981.
....flow graph to obtain a reducible one. Many workers in the 1970s and 80s besides those just mentioned identified SETL, directly or indirectly, as a language 8 Introduction 1. 2 A Brief History of SETL whose implementation was greatly in need of solutions to difficult compiler optimization problems [80, 84, 85, 143, 82, 86, 123, 83, 148, 149, 174, 208, 3, 209]. SETL, while still far from the celestial sphere of pure mathematics, was nonetheless seen as occupying a very high orbit relative to other languages. It was SETL s distance from pure machines that made optimizing its implementations so important and at the same time so difficult. The synergy ....
....SETL programs coded at an appropriately abstract level. The DSRL was designed to permit a smooth transition from Schwartz s two level programming regime, in which programmers supplied representational details, to a more fully developed system in which a sophisticated optimizer made the selections [175, 56, 174, 88, 77]. An important concept in the DSRL was that of base sets, which were implicitly defined objects that could in principle allow much representational sharing among the objects conceived by the programmer. Value flow analysis, type inference, copy optimization, and deeper determinations of ....
Edmond Schonberg, Jacob T. Schwartz, and Micha Sharir. An automatic technique for selection of data representations in SETL programs. ACM Transactions on Programming Languages and Systems, 3(2):126--143, April 1981. 416
....be achieved in unit time. Only when the identifiers S and Q are the same, can we always ensure that the associative access (which in this case is called a self access) can be executed in unit time. In order to solve the associative access problem mentioned above, we follow the approach found in [SSS81] and [PH87] where values common to both sets S and Q are stored in one place in a finite universal set called a base. Consequently the unit time retrieval from S locates the value within Q as well. More generally, we use a finite universal set B as the base for S and Q and maintain the ....
....technology (e.g. Low74, Bar79, DG87, Rov77, Kan81] For the most part, those methods were also more localized in their focus on successive refinement of a data structure for a single variable. The work that comes closest to ours is the SETL data structure selection and aggregation[Sch75c, SSS81, DGC 79, FSS83] We have been motivated by an interest in overcoming some of the practical shortcomings in the design of the SETL optimizer, and in improving the theoretical underpinnings of data structure selection, especially with regard to complexity guarantees. The implementation of ....
E. Schonberg, J. T. Schwartz, and M. Sharir. An automatic technique for selection of data representations in SETL programs. ACM TOPLAS, 3(2):126-- 143, Apr 1981.
No context found.
E. Schonberg, J. T. Schwartz, and M. Sharir. An automatic technique for selection of data representations in Setl programs. Transactions on Programming Languages and Systems, 3(2):126--143, 1991.
No context found.
E. Schonberg, J. T. Schwartz, and M. Sharir. An automatic technique for selection of data representations in Setl programs. Transactions on Programming Languages and Systems, 3(2):126--143, 1991.
No context found.
Schonberg, E., Schwartz, J., and Sharir, M. An automatic technique for selection of data representations in SETL programs. ACM Transactions on Programming Languages and Systems 3, 2 (April 1981), 126--143.
No context found.
E. Schonberg, J. T. Schwartz, and M. Sharir. An automatic technique for selection of data representations in Setl programs. Transactions on Programming Languages and Systems, 3(2):126--143, 1991.
No context found.
E. Schonberg, J. T. Schwartz, and M. Sharir, An automatic technique for the selection of data representations in SETL programs, ACM Transactions on Programming Languages and Systems 3 (1981), no. 2, 126-143.
No context found.
E. Schonberg, J. Schwartz, and M. Sharir. An automatic technique for the selection of data representations in SETL programs. ACM Trans. Program. Lang. Syst., 3(2):126--143, Apr. 1981.
No context found.
E. Schonberg, J. T. Schwartz, and M. Sharir. An automatic technique for selection of data representations in Setl programs. Transactions on Programming Languages and Systems, 3(2):126-143, 1991.
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