DRAFT - DRAFT - DRAFT - DRAFTDRAFT - DRAFT - DRAFT - DRAFTInter-Office MemorandumToCedar Interest GroupDateFebruary 17, 1981 10:51 AMFromJim MorrisLocationPalo AltoSubjectCedar StatusOrganizationCSLXEROX Filed on: [Ivy]Status.memoThis memo is a somewhat updated and elaborated version of the end of 1980 activity report for theCedar project. The project is best viewed as three levels of activity: the core which consists of themicrocode, operating system, and language, fundamental tools which consists of the editor, debugger,and system modeller, and packages most notable of which are the data base and graphics packages.The core system now runs on both Dolphin and Dorado processors. Several new language features,including run-time types, have appeared; and the performance of automatic storage management hasbeen improved. Basic building blocks for the tools have been written and are in regular use, thoughnot on Pilot. The tools themselves are still being designed. Packages for data base management,graphics, strings, lists and atoms are available and are in regular use.CoreKernel: We have made modifications to the Pilot operating system and related utilities to enablethem to execute on the Dorado processor. These involve changes to support a differentinput/output configuration, most notably, a different kind of rigid disk. There has been extensivework on Dorado and Dolphin microcode to support Pilot and various special input/output devices.[Taft, Levin, Fiala]Cascade: We have constructed a system called Cascade, which represents the first stage in thetransition to a Pilot-based program development environment. Cascade provides the facilities to edit,compile, bind, execute and debug Mesa programs under Pilot without resorting to Alto emulation.To reach this point, we converted the standard SDD Alto/Mesa compiler and binder to run in theCoPilot environment, and built an Executive and other utilities to control the program developmentcycle. Cascade is presently in use by Cedar implementers as well as the Mesa group in SDD.[Levin, Atkinson, Schmidt]People who are currently using Pilot and Cascade are: Roy Levin, Russ Atkinson, Dan Swinehart,Eric Schmidt, Mark Brown, Jim Morris.Language: We have continued to make progress on the conceptual foundations of the AbstractMachine. The aspects of the machine dealing with Mesa values have been implemented and arekepikj]g~ cq]rX-q7Br ]q]r( -q7Br Yq]r -q 7BrSsr M% H|B Fk.tr DZtr( BItr) @7(7 >&(8 <=' :># 7H 2pt .D.r; ,9 *:) ('9 & "I#GA !6K %B I +7 <  nE ]% ; #. ? h#?QhCedar Status2being used to support the executive and debugging facilities discussed below. [Rovner]We have improved the compiler, runtime, and Dorado microcode to make incremental collection runfaster and semi-concurrently with its clients. We designed modifications that allow the collector tosafely and efficiently trace the stacks of processes which deal with collectible storage. A trace-and-sweep garbage collector has been designed and an exploratory implementation has been tested. Wewrote a facility for finalization of collectible objects. [Rovner, Atkinson, Sattethwaite, Haugeland]New language features were implemented: variable sized arrays, better default initialization, supportfor dynamic types, LISP-like atoms, and lists. Progress was made on the Cedar/Mesa Primer andReference manual. An exploratory remote procedure call facility was designed and built. A designfor rapid turnaround for minor program changes was completed. [Rovner, Horning, McKeeman,Satterthwaite]The new language features have been used by: Russ Atkinson, Ed Satterthwaite, Jim Morris, WarrenTeitelman, Paul Rovner. ToolsFacilities for user terminal input have been written. The client sees an input stream of events suchas keystrokes, mouse clicks and chords. The interface also provides a procedure for repositioning thestream as a function of time. This interface is bing used by Warren Teitelman and Scott McGregor.[Swinehart]Based on the graphics package provided by ISL, Document classes for file and stream documentshave been written. As an exercise, a Document class for displaying LSI layouts was implemented.Scrolling and partial refresh of the screen are operational. A facility for attaching a stream, e.g. thekeyboard stream, to a document has been provided. This has been used by Will Crowther.[Teitelman]Based on input streams we wrote a programmable scanner that accepts a sequence of characters froma stream, and returns a dynamically typed Mesa value. An inverse function takes a value delivers asequence of characters to a stream. Based upon these procedures and Documents, a user executivepatterned after Interlisp's has been written. It accepts inputs of procedure names and argumentvalues, applies the procedure to the arguments, and prints the result. Spelling correction and aREDO facility have been implemented. [Teitelman]Some progress has been made on the design of a comprehensive set of debugging capabilities. Anumber of special Document types will be used to display understandable representations of theprogram sources and active data for an instance of an application. Operations available throughmenus related to these Documents will allow modification of data values and program control state.It will be possible to have one or more independent debugging environments for eachsimultaneously active application. [Swinehart]System Models: We wrote programs that will recompile a system of Mesa modules, and willtransport consistent versions of systems between machines. These systems operate on an as-needed&nfrX G bV ^2- \b ZQ Xx_ VgZ R?' PS NL LP J G?Y E- At >Jr,9 <860 :' V 8 4S 23, 0<- .q2% ,_ ( S &` $D "V G 0 &H > &: K 56@ /  | ^ 7 Ma ?Q]Cedar Status3basis to avoid gratuitous compilaltion and file transfer. These programs are used by a largenumber of programmers. We built a database, using the Database package, that containsinformation about Mesa modules, their dependencies, and their whereabouts on remote file servers.This effort helped discover bugs in the Database package and Juniper.The design of the system modelling language was refined. A program to convert from the existingdescriptionsconfiguration descriptions and other existing Mesa filesto system models is largelycomplete. A program that takes these models and determines what needs to be compiled andtransferred is partially implemented. [Lampson, Schmidt] PackagesGraphics: An extensive graphics management package has been implemented and is being used byWarren Teitleman. It is described more fully elsewhere. [J. Warnock, D. Wyatt]Data Base Management: We completed a stable version of the system for use by applications. Thisincludes an implementation of the DBTuples interface, plus utilities for database dump and reload.The first application in regular use is the CSL Notebook, a database holding CSL memoranda. TheNotebook can be updated through the message system, and periodic summaries of new additions aredistributed via the same medium. A second application is a database of information about Mesamodules; this supports system modelling activities. A prototype database browser, Palm, has beenused to support personal databases. [M. Brown, R. Cattell, N. Suzuki].Library: We instituted CedarLib, a facility for user-maintained modules, and distributed many newpackages, including a widely-used random number package, IEEE floating point support, a generalcache package, support for strings, and initial system modeling software. Software for automaticallymaintaining CedarLib abstracts and user lists was written. [Atkinson]&nfrX G bW ` "4 ]L [E XxW Vg?" TV@ RE; Lt HIPr2! G?O CvC%& AE ?\ = S ;!= 9wa 7fG 33A 1=" /#B -Eb *?Q=w TIMESROMAN  TIMESROMAN TIMESROMAN LOGO TIMESROMAN Ej/ status.memoMorrisFebruary 17, 1981 12:20 PM