<> <> <<>> 1. Title Slide The Structure of Cedar by Dan Swinehart, Polle Zellweger, and Bob Hagmann 2. Overview Slide Overview Cedar Component Structure Open Architecture Organization, Calling Conventions Safety Examples Typical Application War Story Future Directions 3. House of Cards Slide [S of C picture] 4. Cedar Machine Division [Cedar Machine] 5. Nucleus Division [Nucleus] 6. Life Support Division [Life Support] 7. Applications Division [Applications] 8. Principals of Organization Cedar as an Open Architecture Uniform calling conventions Downward-only calling Availability of lower-level components Dynamic replacement limited, no advice [Extract wording for above from paper] 10. Evolution of Cedar BCPL -- open architecture, but caveat programmer Mesa -- type safety, but caveat pointer-user Cedar -- caveat LOOPHOLE [Where to Lisp and Smalltalk come in? Consider instead a family tree.] 11. Cedar contributions to open arch. ? [Collectible objects (through REF pointers) achieve safety along with convenience because of automatic stg. mgmt (no dangling refs or other improperly-allocated frobs. Careful arrangment of components, attention to release management and installation make easier than earlier systems to reconfigure to taste and to use packages extensively. ] 12. Simple multi-level application diagram [Shows two user interfaces using a single package, the package using a particular lower-level package, and everybody using the standard low-level goodies. ] 13. 2d part of same [Shows one of the two user interfaces including its own package and bypassing to one of the lower.] 14. Tioga/Viewers Example [Shows the H of C, with Commander, Tioga, Viewers, TIP, Inscript, Imager highlighted, using lower-level goodies.] 15. New/Old Viewers Example [The world-famous slide] 16. Future Directions for Cedar Future Directions for Cedar [Dangerous, because people wanna know about getting Cedar for themselves] Use as environment for prototype server and workstation applications ((EP)E) No plans to revise basic structure again. Port to new machine (Dragon) Use as testbed for PE and language ideas (E(PE)) 17. The Cedar Metafive [Picture]