Lesson Plan - 6.001 SP04 - recitation 17 object system exploration more complicated example of specialization has-a relationship? sketching environment diagrams - seat-of-the-pants (non-rule-based.. dangerous!) - sketch is an inaccurate but along-the-right-lines version of the real thing - env diagram is made up of frames and double-bubbles thought: only pay attention to rules that build those - assuming working code, every variable in the code must be accessible (via the name rule) when it is used. Variables are bound textually inside the expression (lambda, let, ...) that binds them. - conclusion: frames must nest in order of the code that creates them - sketch handlers - sketch instance - glue together - trace one ask mixed-up parents (use make- every time instead of saving a -part) specialization solutions: 1-7 too graphical to do here 8. location doesn't change! object reports it's location to be the old place, but old contents doesn't contain object and new location's contents does. 9. location doesn't change! installation screwed up old location contents contains references to a mysterious mobile-thing with the same name as the foo-object new location contents contains a reference to a mysterious mobile-thing with the same name as the foo-object total count: 3 MOs in old, 2 MOs in new (MO's INSTALL, EMIT in FOO's INSTALL, get-method for LOCATION, get-method&change-loc, get-method for LOCATION) 10. Tunes emit from the radio: I am the very model of a software engineer 11. Tunes blare from the boombox: I am the very model of a software engineer