SETL for Internet Data Processing

Abstract : Public network services have to be coherent, reliable, and responsive in the face of errors, failures, attacks, and intermittent resource scarcity. SETL [181] turns out to be a convenient and powerful tool for dealing with this challenging environment. This dissertation describes extensions to SETL that are useful in data processing, especially when the Internet and numerous processes are involved. It is intended to serve as a tutorial on the design of moderately complex distributed systems using SETL, and accordingly provides many examples.

[1]  Ken Kennedy A Comparison of Two Algorithms for Global Data Flow Analysis , 1976, SIAM J. Comput..

[2]  Deepak Goyal An Improved Intra-procedural May-alias Analysis Algorithm , 1999 .

[3]  Wilhelm Hasselbring A Formal Z Specification of ProSet-Linda , 1992 .

[4]  Edmond Schonberg,et al.  Programming by Refinement, as Exemplified by the SETL Representation Sublanguage , 1979, TOPL.

[5]  Benjamin B. Bederson,et al.  A miniature pan-tilt actuator: the spherical pointing motor , 2011, IEEE Trans. Robotics Autom..

[6]  Robert E. Tarjan,et al.  A Linear Time Solution to the Single Function Coarsest Partition Problem , 1985, Theor. Comput. Sci..

[7]  Robert Paige,et al.  Viewing A Program Transformation System At Work , 1994, Symposium on Programming Language Implementation and Logic Programming.

[8]  Robert Paige,et al.  Programming with Invariants , 1986, IEEE Software.

[9]  Micha Sharir,et al.  An Automatic Technique for Selection of Data Representations in SETL Programs , 1981, TOPL.

[10]  Jeffrey D. Ullman,et al.  Application of lattice algebra to loop optimization , 1975, POPL '75.

[11]  J. Cocke Global common subexpression elimination , 1970, Symposium on Compiler Optimization.

[12]  Sidney B. Gasser Program optimization , 1972 .

[13]  Robert E. Tarjan,et al.  More Efficient Bottom-Up Multi-Pattern Matching in Trees , 1992, Theor. Comput. Sci..

[14]  Paul Rovner,et al.  Techniques for the automatic selection of data structures , 1976, POPL.

[15]  Ralph E. Griswold,et al.  The implementation of the Icon programming language , 1986 .

[16]  Ed Dubinsky,et al.  Learning discrete mathematics with ISETL , 1989 .

[17]  C. H Lindsey Informal Introduction to Algol 68 , 1972 .

[18]  Zhiqing Liu A system for visualizing and animating program runtime histories , 1996, Proceedings 1996 IEEE Symposium on Visual Languages.

[19]  Ed Dubinsky,et al.  The Concept of Function: Aspects of Epistemology and Pedagogy [MAA Notes, Volume 25] , 1992 .

[20]  Wilhelm Hasselbring,et al.  Combining OMT with a prototyping approach , 1998, J. Syst. Softw..

[21]  Wilhelm Hasselbring,et al.  Translating a subset of SETL/E into SETL2 , 1991 .

[22]  J. T. Schwartz,et al.  Expression continuity and the formal differentiation of algorithms , 1977, POPL 1977.

[23]  Wilhelm Hasselbring,et al.  Prototyping Parallel Algorithms with PROSET-Linda , 1993, ACPC.

[24]  Robert Paige,et al.  Viewing A Program Transformation System At Work , 1994, PLILP.

[25]  Wilhelm Hasselbring,et al.  ProSet-a language for prototyping with sets , 1992, [1992 Proceedings] The Third International Workshop on Rapid System Prototyping.

[26]  Frances E. Allen,et al.  Interprocedural Data Flow Analysis , 1974, IFIP Congress.

[27]  Jacob T. Schwartz Optimization of Very High Level Languages - II. Deducing Relationships of Inclusion and Membership , 1976, Comput. Lang..

[28]  Wilhelm Hasselbring On Integrating Generative Communication into the Prototyping Language ProSet , 1991 .

[29]  Ken Kennedy,et al.  An algorithm for reduction of operator strength , 1977, Commun. ACM.

[30]  Véronique Donzeau-Gouge,et al.  Development of a Programming Environment for Setl , 1987, ESEC.

[31]  Clinton L. Jeffery,et al.  Graphics Programming In Icon , 2000 .

[32]  E. Blum,et al.  A programming language , 1899, AIEE-IRE '62 (Spring).

[33]  Eugenio G. Omodeo,et al.  Meta-interpreting SETL , 1990 .

[34]  Edsger W. Dijkstra,et al.  Notes on structured programming , 1970 .

[35]  Amelia C. Fong Generalized common subexpressions in very high level languages , 1977, POPL.

[36]  Bard Bloom,et al.  Transformational Design and Implementation of a New Efficient Solution to the Ready Simulation Problem , 1995, Sci. Comput. Program..

[37]  Ed Dubinsky,et al.  Introduction to discrete mathematics with ISETL , 1996 .

[38]  Wilhelm Hasselbring,et al.  Investigating Strategies for Cooperative Planning of Independent Agents through Prototype Evaluation , 1996, COORDINATION.

[39]  Jacob T. Schwartz Automatic Data Structure Choice in a Language of Very High Level , 1975, POPL.

[40]  Daniel E. Cooke,et al.  An Introduction to SequenceL: A Language to Experiment with Constructs for Processing Nonscalars , 1996, Softw. Pract. Exp..

[41]  Michel Sintzoff,et al.  Calculating properties of programs by valuations on specific models , 1972, Proving Assertions About Programs.

[42]  Matthew Fuchs Escaping the event loop: an alternative control structure for multi-threaded GUIs , 1995, EHCI.

[43]  Bill Ward,et al.  Tutorial and User's Guide , 2001 .

[44]  Robin Milner,et al.  Definition of standard ML , 1990 .

[45]  Robert B. Fisher,et al.  Investigating Parallel Interpretation-Tree Model Matching Algorithms with ProSet-Linda , 1994 .

[46]  Ken Kennedy,et al.  Node listings applied to data flow analysis , 1975, POPL '75.

[47]  Wilhelm Hasselbring,et al.  Implementing Parallel Algorithms based on Prototype Evaluation and Transformation , 2002 .

[48]  Sidney B. Gasser Program optimization , 1972, SICOSIM3.

[49]  Robert E. Tarjan,et al.  Making data structures persistent , 1986, STOC '86.

[50]  Zhiqing Liu A persistent runtime system using persistent data structures , 1996, SAC '96.

[51]  Raymond P. Polivka,et al.  APL: The Language and Its Usage , 1975 .

[52]  Gerald Weiss Recursive data type in SETL: automatic determination, data language description, and efficient implementation , 1986 .

[53]  Wilhelm Hasselbring,et al.  ProSet —- Prototyping with Sets: Language Definition , 1992 .

[54]  Jay Earley,et al.  High Level Iterators and a Method for Automatically Designing Data Structure Representation , 1976, Comput. Lang..

[55]  Ralph E. Griswold,et al.  The Icon programming language , 1983 .

[56]  Steven Pemberton A short introduction to the ABC language , 1991, SIGP.

[57]  Thierry Despeyroux,et al.  Executable Specification of Static Semantics , 1984, Semantics of Data Types.

[58]  Robert Paige,et al.  Program Derivation by Fixed Point Computation , 1989, Sci. Comput. Program..

[59]  Wilhelm Hasselbring,et al.  Approaches to High-Level Programming and Prototyping of Concurrent Applications , 2002 .

[60]  Zhiqing Liu,et al.  Lazy SETL Debugging with Persistent Data Structures , 1995 .

[61]  Fritz Henglein,et al.  Mechanical Translation of Set Theoretic Problem Specifications into Efficient RAM Code-A Case Study , 1987, J. Symb. Comput..

[62]  Jeffrey D. Ullman,et al.  Induction variables in very high level languages , 1976, POPL.

[63]  Edith Schonberg,et al.  Programming with Sets , 1986, Texts and Monographs in Computer Science.

[64]  C. A. R. HOARE,et al.  An axiomatic basis for computer programming , 1969, CACM.

[65]  Wilhelm Hasselbring,et al.  SETL/E --- A Prototyping System based on Sets , 1990 .

[66]  Robert B. K. Dewar,et al.  Indirect threaded code , 1975, Commun. ACM.

[67]  Deepak Goyal,et al.  The formal reconstruction and speedup of the linear time fragment of Willard's relational calculus subset , 1997, Algorithmic Languages and Calculi.

[68]  Deepak Goyal,et al.  A New Solution to the Hidden Copy Problem , 1998, SAS.

[69]  Ken Kennedy,et al.  A global flow analysis algorithm , 1972 .

[70]  Zhe Yang,et al.  High level reading and data structure compilation , 1997, POPL '97.

[71]  Amelia C. Fong Inductively computable constructs in very high level languages , 1979, POPL.

[72]  Robert W. Sebesta,et al.  Concepts of programming languages , 1973 .

[73]  Robert Paige,et al.  Program derivation with verified transformations — a case study , 1995 .

[74]  F. Allen,et al.  Control flow analysis , 1970, Symposium on Compiler Optimization.

[75]  P. E. Allen,et al.  A method for determining program data relationships , 1972, International Sympoisum on Theoretical Programming.

[76]  李幼升,et al.  Ph , 1989 .

[77]  Edmond Schonberg,et al.  Reusability of design for large software systems: and experiment with the SETL optimizer , 1989 .

[78]  Patrick Cousot,et al.  Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints , 1977, POPL.

[79]  R.S. Wallace,et al.  Control and design of the spherical pointing motor , 1993, [1993] Proceedings IEEE International Conference on Robotics and Automation.

[80]  Domenico Cantone,et al.  What Is Computable Set Theory , 1990 .

[81]  Alfred V. Aho,et al.  Compilers: Principles, Techniques, and Tools , 1986, Addison-Wesley series in computer science / World student series edition.

[82]  Ernst-Erich Doberkat,et al.  SETL to ADA—tree transformations applied , 1987 .

[83]  David Gelernter,et al.  Generative communication in Linda , 1985, TOPL.

[84]  P. Cousot,et al.  Constructive versions of tarski's fixed point theorems , 1979 .

[85]  Robert Paige,et al.  Future directions in program transformations , 1996, CSUR.

[86]  Frances E. Allen,et al.  A Basis for Program Optimization , 1971, IFIP Congress.

[87]  Jacob T. Schwartz,et al.  On programming : an interim report on the SETL Project , 1973 .

[88]  Jeffrey D. Ullman,et al.  Finding the Depth of a Flow Graph , 1977, J. Comput. Syst. Sci..

[89]  Peter Sestoft,et al.  Partial evaluation and automatic program generation , 1993, Prentice Hall international series in computer science.

[90]  Robert Paige,et al.  Finite Differencing of Computable Expressions , 1982, TOPL.

[91]  Robert B. Fisher,et al.  Using the ProSet-Linda Prototyping Language for Investigating MIMD Algorithms for Model Matching in 3-D Computer Vision , 1995, IRREGULAR.

[92]  Daniel E. Cooke,et al.  SequenceL Provides a Different Way to View Programming , 1998, Comput. Lang..

[93]  Robert Paige,et al.  Efficient Translation of External Input in a Dynamically Typed Language , 1994, IFIP Congress.

[94]  Etienne Morel,et al.  Global optimization by suppression of partial redundancies , 1979, CACM.

[95]  Wilhelm Hasselbring,et al.  The ProSet-Linda approach to prototyping parallel systems , 1998, J. Syst. Softw..

[96]  J. Schwartz,et al.  Metamathematical extensibility for theorem verifiers and proof-checkers☆ , 1979 .

[97]  Simon Thompson,et al.  Haskell: The Craft of Functional Programming , 1996 .

[98]  Brian W. Kernighan,et al.  The Practice of Programming , 1999 .

[99]  Ernst-Erich Doberkat Integrating Persistence into a Set-Oriented Prototyping Language , 1992, Struct. Program..

[100]  James R. Low,et al.  Chess , 1975, SGAR.

[101]  John W. Lloyd,et al.  Programming in an Integrated Functional and Logic Language , 1999, J. Funct. Log. Program..

[102]  Uri Leron,et al.  Learning abstract algebra with ISETL , 1993 .

[103]  Micha Sharir,et al.  Experience with the SETL Optimizer , 1983, TOPL.

[104]  Ed Dubinsky Isetl: A programming language for learning mathematics , 1995 .

[105]  Wilhelm Hasselbring,et al.  Animation of Object-Z Specifications with a Set-Oriented Prototyping Language , 1994, Z User Workshop.

[106]  Robert Paige,et al.  Towards increased productivity of algorithm implementation , 1993, SIGSOFT '93.

[107]  Robert Paige,et al.  Using Multiset Discrimination to Solve Language Processing Problems Without Hashing , 1995, Theor. Comput. Sci..

[108]  Zhiqing Liu An Advanced C + + Library for Symbolic Computing , 1999 .

[109]  John Cocke,et al.  Programming languages and their compilers , 1969 .

[110]  Robert Paige,et al.  Real-time Simulation of a Set Machine on a Ram , 1989 .

[111]  Jacob T. Schwartz,et al.  Optimization of Very High Level Languages - I. Value Transmission and Its Corollaries , 1975, Comput. Lang..

[112]  John K. Ousterhout,et al.  Scripting: Higher-Level Programming for the 21st Century , 1998, Computer.

[113]  Edmond Schonberg,et al.  Programming with Sets: An Introduction to SETL , 1986 .

[114]  Doug Lea,et al.  Concurrent programming in Java - design principles and patterns , 1996, Java series.

[115]  Neil D. Jones,et al.  Program Flow Analysis: Theory and Application , 1981 .

[116]  William F. Clocksin,et al.  Programming in Prolog , 1981, Springer Berlin Heidelberg.

[117]  John Cocke,et al.  A program data flow analysis procedure , 1976, CACM.

[118]  Ernst-Erich Doberkat,et al.  Inline expansion of SETL procedures , 1985, SIGP.

[119]  Deepak Goyal,et al.  A language-theoretic approach to algorithms , 2000 .

[120]  Chia-Hsiang Chang,et al.  From Regular Expressions to DFA's Using Compressed NFA's , 1992, CPM.

[121]  Bernard Lang,et al.  Programming Environments Based on Structured Editors: The MENTOR Experience, , 1980 .

[122]  Edsger W. Dijkstra,et al.  A Discipline of Programming , 1976 .

[123]  Robert B. K. Dewar,et al.  Macro SPITBOL—a SNOBOL4 compiler , 1977, Softw. Pract. Exp..

[124]  Alfredo Ferro,et al.  Techniques of computable set theory with applications to proof verification , 1995 .

[125]  Ernst-Erich Doberkat,et al.  Software Prototyping mit SETL , 1989 .

[126]  Philippe Kruchten,et al.  Software Prototyping using the SETL Programming Language , 1984, IEEE Software.

[127]  C. Hoare,et al.  Data reliability , 1975, Reliable Software.

[128]  A. Tarski A LATTICE-THEORETICAL FIXPOINT THEOREM AND ITS APPLICATIONS , 1955 .

[129]  Jeffrey D. Ullman,et al.  A general scheme for the automatic inference of variable types , 1978, POPL.

[130]  Ralph E. Griswold,et al.  The SNOBOL4 programming language , 1968 .

[131]  Fritz Henglein,et al.  Type Analysis and Data Structure Selection , 1991 .