The structure of Cedar

This paper presents an overview of the Cedar programming environment, focusing primarily on its overall structure: the major components of Cedar and the way they are organized. Cedar supports the development of programs written in a single programming language, also called Cedar. We will emphasize the extent to which the Cedar language, with runtime support, has influenced the organization, comprehensibility, and stability of Cedar. Produced in the Computer Science Laboratory (CSL) at the Xerox Palo Alto Research Center, Cedar is a research environment supporting the development and use of experimental programs, emphasizing office information and personal information management applications. Although it was clear that some unsolved problems would be addressed, the intent was to combine well-understood methods and technologies to exploit a new generation of high-performance personal computers, including the Xerox 1132 (Dorado) and Xerox 1108 (Dandelion).

[1]  Warren Teitelman A Tour Through Cedar , 1984, IEEE Softw..

[2]  Robert F. Sproull,et al.  Principles in interactive computer graphics , 1973 .

[3]  Butler W. Lampson,et al.  An open operating system for a single-user machine , 1979, SOSP '79.

[4]  Daniel G. Bobrow,et al.  An efficient, incremental, automatic garbage collector , 1976, CACM.

[5]  Yogen K. Dalal,et al.  Pilot: an operating system for a personal computer , 1980, CACM.

[6]  S. R. Bourne,et al.  The UNIX shell , 1986 .

[7]  Gene McDaniel The Mesa Spy: an interactive tool for performance debugging , 1982, SIGMETRICS '82.

[8]  Robert B. Hagmann,et al.  Process Server: Sharing Processing Power in a Workstation Environment , 1986, ICDCS.

[9]  Larry Masinter,et al.  The Interlisp Programming Environment , 1981, Computer.

[10]  Robert M. Metcalfe,et al.  Pup: An Internetwork Architecture , 1980, IEEE Trans. Commun..

[11]  Richard E. Sweet The Mesa programming environment , 1985, ACM SIGPLAN Notices.

[12]  David Robson,et al.  Smalltalk-80: The Language and Its Implementation , 1983 .

[13]  S. R. Bourne Unix time-sharing system: the unix shell , 1978, The Bell System Technical Journal.

[14]  Roger M. Needham,et al.  Grapevine: an exercise in distributed computing , 1982, CACM.

[15]  Butler W. Lampson,et al.  Organizing software in a distributed environment , 1983, ACM SIGPLAN Notices.

[16]  Richard K. Johnsson,et al.  An overview of the mesa processor architecture , 1982, ASPLOS I.

[17]  Butler W. Lampson,et al.  Experience with processes and monitors in Mesa , 1980, CACM.

[18]  Thomas Reps,et al.  Programming Techniques and Data Structures , 1981 .

[19]  Mark R. Brown,et al.  The Alpine file system , 1985, TOCS.

[20]  Mayer D. Schwartz,et al.  Viewing a programming environment as a single tool , 1984 .

[21]  Susan S. Owicki,et al.  Making the world safe for garbage collection , 1981, POPL '81.

[22]  Daniel G. Bobrow,et al.  TENEX, a paged time sharing system for the PDP - 10 , 1972, CACM.

[23]  Richard E. Sweet,et al.  Empirical analysis of the mesa instruction set , 1982, ASPLOS I.

[24]  Eric Emerson Schmidt Controlling large software development in a distributed environment , 1982 .

[25]  Edwin H. Satterthwaite,et al.  Early experience with Mesa , 1977, CACM.

[26]  Edwin H. Satterthwaite,et al.  The Impact of Mesa on System Design , 1979, ICSE.

[27]  Andrew Birrell,et al.  Implementing remote procedure calls , 1984, TOCS.

[28]  James E. Donahue Integration mechanisms in Cedar , 1985, ACM SIGPLAN Notices.

[29]  T. A. Cargill The UNIX system: Debugging C programs with the blit , 1984, AT&T Bell Laboratories Technical Journal.