Architectural Issues in Spreadsheet Languages

We have recently begun to develop a programming language model for concurrent computation based upon the popular spreadsheet metaphor. We call it the Generalized Spreadsheet Model (GSM); it provides an easy-to-use, geometrically appealing interface to a concurrent computational facility. This interface directly captures the Dataflow relationships inherent in many important problems and makes them available for determining the order of computations. GSM's hierarchical approach to problem modeling also allows us to control granularity. In this paper we use a simple neural net example program to explore some architectural implications of our approach to concurrent computation; we conclude that some reasonably simple hardware assistance would yield significant performance gains.

[1]  Suresh Jagannathan,et al.  A programming language supporting first-class parallel environments , 1989 .

[2]  Jean-Luc Gaudiot,et al.  Advanced Topics in Data-Flow Computing , 1991 .

[3]  Jeff A. Johnson,et al.  ACE: building interactive graphical applications , 1993, CACM.

[4]  Gul A. Agha,et al.  The Structure and Semantics of Actor Languages , 1990, REX Workshop.

[5]  JoAnn C. Carland,et al.  Spreadsheets: Placebos or Panaceas? , 1988 .

[6]  Rommert J. Casimir,et al.  Real programmers don't use spreadsheets , 1992, SIGP.

[7]  Sven A. Carlsson A longitudinal study of spreadsheet program use , 1988 .

[8]  William J. Dally,et al.  The message-driven processor: a multicomputer processing node with efficient mechanisms , 1992, IEEE Micro.

[9]  Clayton Lewis,et al.  Spreadsheet-based interactive graphics: from prototype to tool , 1990, CHI '90.

[10]  Pattie Maes Concepts and experiments in computational reflection , 1987, OOPSLA 1987.

[11]  Brad A. Myers Graphical techniques in a spreadsheet for specifying user interfaces , 1991, CHI '91.

[12]  David M. Lane,et al.  Impact of a restricted natural language interface on ease of learning and productivity , 1989, CACM.

[13]  David L. Cohn,et al.  High-performance distributed shared memory substrate for workstation clusters , 1993, [1993] Proceedings The 2nd International Symposium on High Performance Distributed Computing.

[14]  William D. Clinger,et al.  Foundations of Actor Semantics , 1981 .

[15]  Carl Hewitt,et al.  Viewing Control Structures as Patterns of Passing Messages , 1977, Artif. Intell..

[16]  Samuel N. Kamin Programming languages - an interpreter-based approach , 1990 .

[17]  Jorma Sajaniemi,et al.  An empirical analysis of spreadsheet calculation , 1988, Softw. Pract. Exp..

[18]  Henry Lieberman,et al.  Using Prototypical Objects to Implement Shared Behavior in Object Oriented Systems , 1986, OOPSLA.

[19]  Jakob Nielsen,et al.  Noncommand user interfaces , 1993, CACM.

[20]  Jock D. Mackinlay,et al.  Information visualization using 3D interactive animation , 1993, CACM.

[21]  Suresh Jagannathan,et al.  Coercion as a metaphor for computation , 1990, Proceedings. 1990 International Conference on Computer Languages.

[22]  William W. Wadge,et al.  The Eductive Implementation of a Three-dimensional Spreadsheet , 1990, Softw. Pract. Exp..

[23]  Chuck Litecky Spreadsheet macro programming: A critique with emphasis on Lotus 1-2-3 , 1990, J. Syst. Softw..

[24]  David Mason An Empirical Analysis of Spreadsheet Usage: A solution storing up problems? , 1989, J. Inf. Technol..

[25]  Robert L. Chew,et al.  Transaction processing using Lotus 1-2-3 , 1987 .

[26]  Gul Agha,et al.  A Reflective Model of Inheritance , 1992, ECOOP.

[27]  Clark D. Thomborson,et al.  Does your workstation computation belong on a vector supercomputer? , 1993, CACM.