throbber

`
`Vol. 6. No. a _
`AUGUST51981
`$250 in USA/$2.95 In Canada
`
`A McGraw-HH! Publication
`
`BUY
`
`the small ysta, ,
`
`
`
`
`
`
`CHASE EX. 1006 5p. 1/1 5
`
`CHASE EX. 1006 - p. 1/15
`
`

`

`In The Queue
`
`Volume 6, Number 8
`
`August 1981
`
`Features
`1 4 Introducing the Smalltalk-BO System by
`Adele Goldberg I A readers' guide to the Smalltalk articles in
`this issue.
`
`36 The Smalltalk-BO System by the Xerox Learning
`
`Research Group / How message-sending objects are used in the
`Smalltalk-BO system.
`
`SO Build a ZB-Based Control Computer with
`BASIC, Part 2 by Steve Ciarcia I Steve continues his
`description of the ZB-BASIC Microcomputer and suggests two ap(cid:173)
`plications.
`
`74 Object-Oriented Software Systems by
`David Robson I Object-oriented software systems provide the
`underlying design of Smalltalk.
`90 The Smalltalk Environment by Larry
`
`Tesler I Programming and debugging in Smalltalk are always in(cid:173)
`teractive activities.
`
`147 User-Oriented Descriptions of Smalltalk
`Systems by Trygve M H Reenskaug I A Smalltalk applica(cid:173)
`tion program will limit the user's access to the language.
`1 68 The Smalltalk Graphics Kernel by Daniel H
`
`H Ingalls I The Graphics Kernel provides the interface through
`which all text and graphics are displayed.
`
`200 The Japanese Computer Invasion by Stan
`
`Miastkowski I Like it or nor. the Japanese small computers are
`on their way.
`
`230 Building Data Structures In the
`
`Smalltalk-BO System by James C Althoff Jr I
`Many kinds of data structures can be added easily to the
`Smalltalk-BO system.
`
`286 Design Principles Behind Smalltalk by
`Daniel H H Ingalls I The design principles of a language
`strongly affect its power and usability.
`300 The Smalltalk-BO Virtual Machine by Glenn
`
`Krasner I The use of a Smalltalk-BO Virtual Machine allows the
`system to be transported easily among different I 6-bit
`microprocessors.
`
`3 2 2 Building Control Structures In the
`
`Smalltalk-BO System by L Peter Deutsch I
`Design of complicated control structures is easy in the
`Smalltalk-BO language.
`
`348 Is the Smalltalk-BO System for Chlldren7 by
`
`Adele Goldberg and Joan Ross I Although Smalltalk-BO is
`not meant to be used by children, application programs can be
`written that will allow them to be creative and, at the same
`time, learn about programming.
`
`369 ToolBox: A Smalltalk illustration System by
`
`William Bowman and Bob Flegal I The versatile
`Smalltalk-BO language can create an environment for graphics
`design that can be used by non technically oriented people.
`
`3 78 Virtual Memory for an Object-Oriented
`
`Language by Ted Kaehler I Virtual memory techniques must
`be used when the active memory space needed by a language
`is much larger than the amount of available memory.
`
`Reviews
`398 Microsoft Editor/Assembler Plus by Keith Carlson
`401 BOSS: A Debugging Utility for the TRS-BO
`Model I by Scott Mitchell
`
`Nucleus
`6 Editorial: Smalltalk: A Language for the 19BOs
`30 Letters
`197 BYTE's Bits
`224 BYTELINES
`392 BYTE's Bugs
`388 Ask BYTE
`391 Books Received
`391 Software Received
`392 Clubs and Newsletters
`394 Event Queue
`402, 413 System Notes: Indirect I/O Addressing on the BOBO;
`Aim-65 16-bit Hexadecimal to Decimal Conversion
`404, 408, 414, 41 7, 418 Programming Quickies: A Disk
`Catalog for the Eighties; Alpha-Beta Tree Search Con(cid:173)
`verted to Assembler; Fast Line-Drawing Techniques;
`Word Ujbnmarle; Binary-to-BCD Converter Program for
`the BOBO
`421 What's New?
`478 Unclassified Ads
`479 Reader Service
`480 BOMB, BOMB Results
`
`5FZ - - . - ......
`
`Page 14
`
`Page 50
`
`Page 90
`
`Page 168
`
`June 1981 © BYTE Publications Inc
`
`3
`
`CHASE EX. 1006 - p. 2/15
`
`

`

`Design Principles
`Behind Smalltalk
`
`The purpose of the Small talk pro(cid:173)
`ject is to provide computer support
`for the creative spirit in everyone.
`Our work flows from a vision that in(cid:173)
`cludes a creative individual and the
`best computing hardware available.
`We have chosen to concentrate on
`two principal areas of research : a
`language of description (program(cid:173)
`ming language) that serves as an in(cid:173)
`terface between the models in the
`human mind and those in computing
`hardware, and a language of interac(cid:173)
`tion (user interface) that matches the
`human communication system to that
`of
`the computer. Our work has
`followed a two-
`to four-year cycle
`that can be seen to parallel the scien(cid:173)
`tific method :
`
`Daniel H H Ingalls
`Learning Research Group
`Xerox Palo Alto Research Center
`3333 Coyote Hill Rd
`Palo Alto CA 94304
`
`• Build an application program
`within the current system (make an
`observation)
`• Based on that experience, redesign
`the language (formulate a theory)
`• Build a new system based on the
`new design (make a prediction that
`can be tested)
`
`The Smalltalk-80 system marks our
`fifth time through this cycle. In this
`article, I present some of the general
`principles we have observed in the
`
`ATTENTION GO'/ERNMENT D P
`USERS AND PURCHASERS
`We represent many fine micro products and manufacturers
`on the U.S. Government's GSA Schedule, including
`Apple, Cromem,co, Micropolis
`and Seequa Computers
`time
`Purchasing from
`the Schedule will save you the
`consumed by the bid process. Products shipped throughout
`the United States and world-wide. Visit or write any of our
`stores for more information or to receive our catalogue of
`products represented.
`
`•••••••
`able store
`257 West Street, Annapolis, MID 21401 - (30 I) 268-6505
`13A Allegheny Avenue, Towson, MD 21204 - (301) 296-0520
`9330 Georgia Avenue, Silver Sprilllg, MD 20910 - (301) 588-3748
`6671 Backlick Road , Springfield , VA 22150 - (703) 644-5500
`Plaza 38. 2442 Route 38, Cherry Hill, NJ 08002 - (609) 779-0023
`Callers outside metropolitan areas served by our stores
`Please call (301) 268-5801
`Career Opportunities Available '* An Equal Opportunity Employer
`
`286
`
`August 1981 © BYTE Publications Inc
`
`Circ le 80 on inquiry card .
`
`course of our work. While the presen(cid:173)
`tation frequently
`touches on
`Small talk "motherhood," the prin(cid:173)
`ciples themselves are more general
`and should prove useful i.n evaluating
`other systems and in guiding future
`work.
`Just to get warmed up, I'll start
`with a principle that is more social
`than technical and that is
`largely
`responsible for the particular bias of
`the Small talk project :
`
`Personal Mastery: If a system is to
`serve the creative spirit, it must be en(cid:173)
`tirely comprehensible to a single in(cid:173)
`dividual.
`
`The point here is that the human
`potential manifests
`itself
`in
`in(cid:173)
`dividuals. To realize this potential,
`we must provide a medium that can
`be mastered by a single individual.
`Any barrier that exists between the
`user and some part of the system will
`eventually be a barrier to creative ex(cid:173)
`pression. Any part of the system that
`cannot be changed or that is not suffi(cid:173)
`ciently general is a likely source of
`impediment. If one part of the system
`works differently from all the rest,
`that part will require additional effort
`to control. Such an added burden
`may detract from the final result and
`will inhibit future endeavors in that
`area . We can thus infer a general
`principle of design:
`
`Good Design: A system should be
`built with a minimum set of un(cid:173)
`changeable parts; those parts should
`be as general as possible; and all parts
`of the system should be held in a
`uniform framework.
`
`Language
`In designing a language for use
`with computers, we do not have to
`look
`far
`to
`find helpful hints .
`
`CHASE EX. 1006 - p. 3/15
`
`

`

`$629.00
`
`FEATURE PRODUCT
`ADDS VIEWPOINT TERMINAL
`• Detach able keyboard weighs onlv 2 Ibs.
`• 110-1 9.200 Baud - RS-232C
`• Cursor control keys - audible tone
`• 24 x SO characters - 12" screen
`• 14 key numeric keypad
`• 7 switch selectable character sets
`• Addressable cursor
`• 2 position screen tilt
`• Normal or reverse video
`• Half or zero intensitv
`• 3 function keys (six functions)
`• Lightweight (22 Ibs. with keyboard)
`• Switch select block or underline cursor
`• Switch select blinking or stead), cursor
`
`16K MEMORY
`EXPANSION KIT $29.00
`
`For Apple, TRS-BO keyboard. Exidy. and all
`other systems using 4116 dynami c rams or
`equi va lent. All IC's are prime Mitsubishi M K
`4116-3.
`200 NSEC access , 375 NSEC cycle
`Burned-in a nd full v tested
`I full year pa rts repl acement gua ra ntee
`
`S-100 PHODl'CTS
`
`QUALITY RAM FROM SYSTEMS GROUP
`
`Z-SO 4MHZ operation with no wait states
`IEEE compatible timing - 200 NS 4116's
`Factorv assembled . tested & burned in
`DMB6400 ' 64K (Bank Select, shown) .. .... $749 .00
`.. .. ............. 545 .00
`DM640064K
`OM4BOO 4B K .. ........ .. ..
`.. ...... ....... .. 520.00
`OM 3200 32K .
`.. 495 .00
`
`wabasH
`
`8" or 5 V,' flexible diskettes certified 100 %
`error free with m anufacturers 5 yea r limited
`warranty on all S" media. Soft sectored in tilt(cid:173)
`back' boxes of 10. 5 '1. " available in 10 Sector .
`(A dd $3. 00 for plastic library cases)
`....... $29. 95
`S" sin gle sided , .sin gle density.
`S" single sided . doubl e density ...
`37 .95
`48 .95
`8" doubl e sided. doubl e densit\,
`27.95
`5 '1." single sided , single densit)'
`5 ';' '' single sided. doubl e densit)
`29 .95
`
`8" DISK DRIVES
`
`........ . $390.00
`Shugart SOIR
`.. . 595 .00
`NEC FOl160 (double sided).
`Memorex M~,( - 101 S" Winchester style , ha rd
`disk drive, 10 me,;abytes .. .. .. .... .... .... $2,000.00
`
`TERMS: Minimum order $15 .00. Minimum
`shipping and handling $3. 00. Calif. residellts
`add 6 % sales tax. Cash . checks. Mastercard.
`Visa and purchase orders from qualified firm s
`and institutious are accepted . Product availabili(cid:173)
`ty alld pricin g are subject to change w ithout
`notice.
`INTERNATIONAL ORDERS: Add 15 % to pur(cid:173)
`chase price f o r all orders. Millimum shipping
`charge is $20.00. Orders with insufficient funds
`w ill be delayed. Excess fUllds will be retu rll ed
`w ith YOllr o rder. All prices are U.S. ollly.
`
`CONFIGURE A COMPLETE S-100 SYSTEM
`WITH 2nd GENER~TION' PRODUCTS
`FROM SYSTEMS GROUP.
`
`C PC 2810 (shown) Z-BOA processor board
`(4MHZ) with 4 serial & 2 pa rallel
`ports.......
`.. $369. 00
`C PC 2S13 - sam e as C PC2SI0 but 2 serial
`.............. . ... $345 .00
`po rts ani v
`fl oppy disk controll er
`- S"
`FDC 2S01lS
`board. up to 4 sin gle/double sided drives,
`.. .. .. $349 .00
`Single or doubl e densit y.
`INO-2S04 - 4 channel serial I/O..... 329 .00
`C RA- IOO - C romi,' adaptor board.. 45 .00
`
`CALL US FOR OUR MOST
`CURRENT PRICES!
`
`' 2nd CC l1cr<lti o n is a tradema rk of Measurement
`Svstcms and Controls. C romix is a trademark of
`Cromcrnco. Inc. Tilt- Back is a trademark of
`\Vabash. Inc.
`
`6502 PRODUCTS
`
`BETA 32K BYTE EXPANDABLE RAM FOR
`6502 AND 6800 SYSTEMS
`AIM 65 KIM SYM PET S44-BUS
`Plug compatible w ith the AIM-65/SYM expan(cid:173)
`sion connector by using a right angle connec(cid:173)
`tor (supplied).
`Memory board edge connector plugs into the
`6S00 544 bus.
`Connects to PET using an adaptor cable.
`Uses + 5V onl y, supplied from the host com(cid:173)
`puter.
`Full documentation. Assembled and tested
`boards are guaranteed for one full year.
`Purchase price is full y refundable if board is
`returned undamaged within 14 days.
`Assembled w ith 32K MM
`............ $349.00
`& Tested with 16K MM .. .......
`329.00
`Bare board, manual & 6 hard-to-get parts. 99.00
`PET interface kit. Connects the 32K RAM board
`to a 4K or 8K PET.. .... .. ...
`.. .. .. ... $ 69.00
`
`ROCKWELL AIM 65
`
`AIM 65 with IK ra m .
`AIM 65 w ith 4K ra m
`AIM power suppl y .. .
`Professional AIM enclosure
`Budget AI M enclosure.
`KIM ' enciosure...
`.. .. .. .. .. .. ..
`SYM enciosure ...
`
`...... $425 .00
`4S5 .00
`125 .00
`169.00
`50.00
`40.00
`30.00
`
`CHASE EX. 1006 - p. 4/15
`
`

`

`Purpose of Language: To provide a
`framework for communication.
`
`FREE CATALOG * * *
`
`The MAX BOX: Manufactured by John D. Owens A ssociates. 8" dual drive cabinet com(cid:173)
`plete with power supply & fan. Will hold Qumes, Shugarts or Siemens. Excellent design
`and engineering . . . . . . . . . . . . . . . . . . .
`. . . . . . . . . . .
`, .. . , . , .. $ 325.
`With 2 Shugart 801R Drives . . $1,275.
`With 2 QUME Double sided drives .. $1,680.
`
`CALIFORNIA COMPUTER SYSTEMS HIGH IN QUALITY, LOW IN PRICE
`Z80 CPU, 4 Mhz, with one serial port; 12 slot S-100 mainframe, disk controller, 64K
`Dynamic Ram , CP / M2 .2® SYSTEM 2210A ....... .. , , ..... , , .. , , .. , , ,. , , , ,$1,750.
`We configure complete systems with drives and additionalllO.
`
`son is presented as having a body and
`Everything we know about how peo(cid:173)
`a mind. The body is
`the site of
`ple think and communicate is ap(cid:173)
`primary experience, and, in the con(cid:173)
`plicable. The mechanisms of human
`in(cid:173)
`two
`interaction between
`The
`text of
`this discussion,
`it
`is
`the
`thought and communication have
`dividuals is represented in figure 1 as
`physical channel through which the
`been engineered for millions of years,
`two arcs. The solid arc represents ex(cid:173)
`universe is perceived and through
`and we should respect them as being
`the actual
`plicit communication:
`which intentions are carried out. Ex(cid:173)
`of sound design. Moreover, since we
`words and movements uttered and
`perience is recorded and processed in
`must work with this design for the
`perceived . The dashed arc represents
`the mind . Creative thought (without
`next million years, it will save time if
`implicit communication: the shared
`going into its mechanism) can be
`we make our computer models com(cid:173)
`culture and experience that form the
`viewed as
`the spontaneous ap(cid:173)
`patible with the mind, rather than the
`context of the explicit communica(cid:173)
`pearance of information in the mind .
`other way around .
`tion. In human interaction, much of
`Language is the key to that informa(cid:173)
`Figure 1 illustrates the principal
`the actual communication is achieved
`tion :
`components in our discussion. A per-
`- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - . through reference to the shared con(cid:173)
`text, and human language is built
`around such allusion. This is the case
`with computers as well.
`It is no coincidence that a computer
`can be viewed as one of the par(cid:173)
`ticipants in figure 1 . In this case, the
`"body" provides for visual display of
`information and for sensing input
`from a human user. The "mind" of a
`computer
`includes
`the
`internal
`memory and processing elements and
`their contents. Figure 1 shows that
`several different issues are involved in
`the design of a computer language :
`
`IMS 5000 and 8000 Systems and IMS Memory
`Outstanding long term reliability and performance. These systems feature a Z80A CPU,
`S-l00 bus; double density drives (either single or double sided), DMA disk controller, 64K
`RAM, 2 serial & 1 parallel port. Prices include the very finest implementation of CP I M®
`available in the entire industry. Hard disk and multi user software options.
`
`Multi-User, Networking Operating System: TURBODOS
`Turbodos: Spectacular new CP I M® compatible operating system. Z80 code, interrupt
`driven . Up to 6X faster than CP I M~ up to 35 % increased disc capacity. IMS compatible.
`Single user ,
`. $250.
`Multi-user (up to 16 users) , .. , , .. , , .. , ,$750.
`
`PER SCI- THE KING AND QUEEN OF DRIVES!
`Model 299B: Dual headed drives, total 3.2 MB unformatted .................... $2,300.
`Model 277: Dual 8 inch drives, voice coil positioned, IBM compatible, 1600 K BYTES per
`drive, unformatted, , , , , , , , . , ... ... , .... , , . , . , . .. ... , ... ' , , , , . $1,245 .
`.... , , , .. , ... , .. , ... , , .... $ 300.
`Slim line cabinet and powerfor either 277 or 299,
`
`GRAPHICS EQUIPMENT
`MICROANGELO .... , .. .. " . . , ... " .......... ,", .. " .. , ... , ..... ,., .$2,295 .
`High resolution graphics system. 15" 22MHZ, green phosphor screen, 72 key keyboard;
`includes complete cabling and software. From SCION . Screen ware PAK II , , ,., , .$ 350.
`5-100
`card .. . .. ,
`. . . . . . . . . . .
`. ... . $ 985 .
`
`Scope: The design of a language for
`using computers must deal with inter(cid:173)
`nal models , external media , and the
`interaction between these in both the
`human and the computer.
`
`This fact is responsible for the dif(cid:173)
`ficulty of explaining Small talk to peo(cid:173)
`ple who view computer languages in
`a more restricted sense. Small talk is
`
`Figure 1: The scope of language design.
`Communication between two people (or
`between one person and a computer) in(cid:173)
`cludes communication on two levels. Ex(cid:173)
`plicit communication includes the infor(cid:173)
`mation that is
`transmitted in a given
`message. Implicit communication in cludes
`the relevant assumptions common to th e
`two beings.
`
`288
`
`August 1981 © BYTE Publications Inc
`
`CHASE EX. 1006 - p. 5/15
`
`

`

`not simply a better way of organizing
`procedures or a different technique
`for storage management. It is not just
`an extensible hierarchy of data types,
`or a graphical user interface. It is all
`of these things and anything else that
`is needed to support the interactions
`shown in figure 1.
`
`When all references to an object have
`disappeared from the system, the ob(cid:173)
`ject itself vanishes, and its storage is
`reclaimed . Such behavior is essential
`to
`full
`support of
`the object
`metaphor:
`
`Storage Management: To be truly
`"object-oriented, " a computer system
`must provide automatic storage
`management.
`
`working well is to see it the programs
`look like they are doing what they are
`doing. If they are sprinkled with
`statements that relate to the manage(cid:173)
`ment of storage, then their internal
`model is not well matched to that of
`humans . Can you imagine having to
`prepare someone for each thing you
`tell them or having to inform them
`Communicating Objects
`when you are through with a given
`The mind observes a vast universe
`topic and that it can be forgotten?
`of experience, both immediate and
`Each object in our universe has a
`recorded. One can derive a sense of A way to find out if a language is
`life of its own. Similarly, the brain
`oneness with the universe simply by .---~---------------------_______ _
`letting this experience be, just as it is.
`to par(cid:173)
`if one wishes
`However,
`ticipate, literally to take a part, in the
`universe, one must draw distinctions.
`In so doing one identifies an object in
`the universe, and simultaneously all
`the
`rest becomes not-that-object.
`Distinction by itself is a start, but the
`process of distinguishing does not get
`any easier. Every time you want to
`talk about "that chair over there, "
`you have to repeat the entire process
`of distinguishing that chair. This is
`where the act of reference comes in:
`we can associate a unique identifier
`with an object, and, from that time
`on, only the mention of that identifier
`is necessary to refer to the original
`object.
`that a computer
`We have said
`system should provide models that
`are compatible with
`those in
`the
`mind . Therefore :
`
`Objects: A computer language should
`support the concept of "o bject" and
`provide a uniform means for referring
`to the objects in its universe.
`
`The Small talk storage manager pro(cid:173)
`vides an object-oriented model of
`memory
`for
`the entire
`system.
`Uniform reference is achieved simply
`by assoc,:iating a unique integer with
`every object
`in
`the system. This
`uniformity is important because it
`means that variables in the system
`can take on widely differing values
`and yet can be implemented as simple
`memory cells. Objects are created
`when expressions are evaluated, and
`they can then be passed around by
`uniform reference, so that no provi(cid:173)
`sion for their storage is necessary in
`the procedures that manipulate them .
`
`* * * GREETINGS TO OUR FRIENDS IN CHILE * * *
`
`SO SYSTEMS
`Z80 STARTER KIT: single board compu(cid:173)
`ter with RAM I ROM, I I 0, display, key-
`bd, kluge area . ............... ... $360
`VAl: double density floopy controller kit,
`with software ............ ... .. .. $390
`CPU Z80A, 4 Mhz, serial & parallel 110
`IK on-board RAM , Z80 CTC. ...... $345
`EXPANDORAM II including high quality
`4116s ..... ... .......... . . . .... . $540
`Complete SD line available including kits
`and FACTORY Assembled and tested
`boards &
`TELETYPE
`Model 4320 AAA or AAK
`... $2,595.
`Model 43ASR, 8leveI. 1"
`dBASE II Ashton-Tate ........ $615.
`Brings power of mainframe database
`software to a microcomputer. Runs under
`CP/ M® . Extremely easy to use. Manual
`and demo software . ......... ... .. $50.
`Back Guarantee
`MUSYS Single BD Computer
`Z80 processor, 64K Dyn RAM, Console
`serial port , S-100 parallel interface,
`Kn",c,.,n PROM . . ............ $1300.
`HAZELTINE 1500 .. ... . . . .... $ 925.
`1510 ........................ $1,030.
`1520 .. .. ... .............. ... $1,265.
`220 volt models, add $100
`EXEC 80 .............. ... . . . . $1,115.
`90
`on-site warrantee.
`IBM 3101 CRT Model 10 .. ... ... $1,250.
`Model 20 ... .... . $1,450.
`Selectric-like, detached keyboard. 9x16
`dot matrix. Maintenance contract from
`IBM
`$70
`INTERSYSTEMS
`
`MARINCHIP SYSTEMS M9900
`Uses TI9900 16 bit CPU. Full S-loo, IEEE .
`Extensive software. Boards from $550,
`systems $4,995 .
`
`EPSON MXSO ...... .. . .......... 550.
`RS 232 Interface .. ... ... .. .... .. $ 50.
`CORVUS Hard Drives
`Model 11, Hard Disk System .. .. $4,820.
`Mirror
`System .. .. . . . . . $ 715.
`DMA-DOS NORTH STAR 8" Floppy
`Subsystem
`A new operating sytem, completely
`CP I M® compatible that allows use of
`both 8" (Shugart single sided, double
`density via Tarbell controller) and 5'/ ,'
`drives. Allows transfer of file from 8" to
`5% " and vice versa. Complete hardware,
`with software
`TARBELL
`Double density controller . .. . . ... $435.
`Z80CPU ................. .... .. 395.
`TEl MAINFRAMES, S-100
`. We are proud to announce that we are
`now a TEl stocking distributor. For the
`best in mainframes . .. .TEI!I
`TELEVIDEO CRTs
`950 .. $1,050.
`912 . . $780.
`920 .. $850.
`COMMUNICATIONS SOFTWARE
`from Hawkeye GraHx
`Enables communcations from a micro to a
`terminal or to another micro, mini or
`maxi computer.
`Source Code $250.
`Object Code $75.
`3M SCOTCH® Diskettes
`5 box minimum, price per box
`Model 740, 8" single sided,
`single density . . .. . .. ... $27.00
`Model 741, 8" single sided,
`double density .......... 35.50
`Model 743, 8" double sided,
`double density .......... 43.00
`Model 744-0, 5V. soft sectored, single sided
`744-10, 5V,', hard sectored,
`single sided ......... . ..... 27.00
`
`Prices subJect to change without notIce
`
`JOHN D. OWENS
`Associates, Inc.
`SEE OUR AD ON FACING PAGE
`
`August 1981 © BYTE Publications Inc
`
`289
`
`CHASE EX. 1006 - p. 6/15
`
`

`

`provides for independent processing
`along with the storage of each mental
`object. This suggests a third principle
`for object-oriented design:
`
`Messages: Computing should be
`viewed as an intrinsic capability of
`objects that can be uniformly invoked
`by sending messages.
`
`Just as programs get messy if object
`storage is dealt with explicitly, con(cid:173)
`the system becomes com(cid:173)
`trol in
`plicated if processing is performed ex(cid:173)
`trinsically. Let us consider the process
`of adding 5 to a number. In most
`computer systems,
`the compiler
`figures out what kind of number it is
`and generates code to add 5 to it. This
`is not good enough for an object(cid:173)
`oriented system because the exact
`kind of number cannot be determined
`by the compiler (more on this later).
`A possible solution is to call a general
`addition routine that examines the
`type of the arguments to determine
`the appropriate action. This is not a
`good approach because it means that
`
`this critical routine must be edited by
`novices who just want to experiment
`with their own class of numbers. It is
`also a poor design because intimate
`knowledge about the internals of ob(cid:173)
`jects
`is sprinkled
`throughout
`the
`system.
`Small talk provides a much cleaner
`solution: it sends the name of the
`desired operation, along with any
`arguments, as a message
`to
`the
`number, with the understanding that
`the receiver knows best how to carry
`out the desired operation . Instead of a
`bit-grinding processor raping and
`plundering data structures, we have a
`universe of well-behaved objects that
`courteously ask each other to c~rry
`out
`their various desires. The
`transmission of messages is the only
`process that is carried on outside of
`objects and this is as it should be,
`since messages travel between ob(cid:173)
`jects. The principle of good design
`can be restated for languages :
`
`Uniform Metaphor: A
`language
`should be designed around a power-
`
`ful metaphor that can be uniformly
`applied in all areas.
`
`Examples of success in this area in(cid:173)
`clude LISP, which is built on the
`model of
`linked structures; APL,
`which is built on the model of arrays;
`and Small talk, which is built on the
`model of communicating objects . In
`each case,
`large applications are
`viewed in the same way as the fun(cid:173)
`damental units
`from which
`the
`system is built. In Small talk especial(cid:173)
`ly, the interaction between the most
`primitive objects is viewed in the
`same way as the highest-level interac(cid:173)
`tion between the computer and its
`user. Every object in Small talk, even
`a lowly integer, has a set of messages,
`a protocol, that defines the explicit
`communication to which that object
`can respond. Internally, objects may
`have local storage and access to other
`shared information which comprise
`the implicit context of all communica(cid:173)
`tion. For instance, the message + 5
`(add five) carries an implicit assump(cid:173)
`tion that the augend is the present
`
`DER DISCOUNTS
`)Il
`
`. O c!oIAAl '
`
`.
`
`~
`
`ATARI'
`
`gt§iir':if.:E~~
`
`.
`
`..
`
`.
`
`.:
`
`I
`
`_
`
`• - apple! computczr
`Sales and Service
`.
`APPLE II PLUS 48K
`$1,099
`
`WE DISCOUNT PRICES - NOT !;ERVICE
`
`HARDWARE
`DISK II DRIVE & INTERFACE ............. 499
`DISK II SECOND DRiVE ..... ............ 445
`25
`BASF 5V," DISKETIES (10) .
`LANGUAGE SYSTEM WIPASCAL ......... 395
`INTEGER BASIC FIRMWARE CARD ........ 149
`APPLESOFT II FIRMWARE CARD .
`. .. 149
`CENTRONICS PRINTER INTERFACE CARD . 179
`HIGH·SPEED SERIAL INTERFACE CARD ... 145
`GRAPHICS TABLET .
`. ........ 649
`APPLE IEEE·488 INTERFACE CARD ....... 369
`30
`M&R SUp·R·MOD RF MODULATOR . . .
`MICROSOFT Z·80 SOFTCARD SYSTEM ..... 290
`MICROSOFT 16K RAM CARD ............. 169
`VIDEX 80 COLUMN BOARD .
`. ....... 295
`HAYES MICROMODEM II ...........•... 299
`AMDEX 13" COLOR MONITOR .
`.429
`NEC 12" GREEN MONITOR .
`. .239
`SILENTYPE PRINTER WIINTERFACE ...... 350
`EPSON MX·BO FT ' .
`. .......... 649
`QUME SPRINT 5/45 PRINTER ........... 2499
`
`SOFTWARE
`65
`APPLE DOS TOOLKIT .
`. .... 60
`APPLE PLOT . ......... . .
`. .... 99
`TAX PLANNER ...
`. .. 159
`APPLE FORTRAN . . . . . . . . . . . . • .
`. .. 125
`APPLE PILOT . . . . .
`APPLE MUSIC THEORY . . . . . . . . . . . . . . . . . 39
`APPLEWRITER . . . . . . . . . . . . . . . . . . . . . . . .. 65
`DOW JONES PORTFOLIO EVALUATOR .
`45
`DOW JONES NEWS & QUOTES REPORTER . 85
`THE CONTROLLER . . .
`. . 515
`VISICALC (16 SECTOR) .................. 165
`VISIPLOT.
`. . . . . . . . . •
`. 149
`VISITRENDIVISIPLOT ....... . ........ ... . 215
`DESKTOP PLAN II ............. .. .. ... . .. 159
`BPI BUSINESS SOFTWARE (EACH) ........ 335
`SUPER TEXT II ..................... . .. .. 125
`PROGRAMMA APPLE PIE .
`. ........... 110
`EASYWRITER (80 COLUMNS)
`.... 219
`D.B. MASTER ........................... 180
`MICROSOFT FORTRAN ............ . .... 165
`
`ATARI 8oo '32K *
`$759
`
`............ 350
`ATARI 400 (16K)
`.... 69
`410 PROGRAM RECORDER
`810 DISK DRIVE .. ............. • .•.... . . 499
`815 DUAL DISK DRiVE .......... .. ..
`. 1199
`16K RAM MEMORY MODULE .
`. .. . 89
`850 INTERFACE MODULE .
`. 175
`830 ACOUSTIC MODEM .................. 159
`825 PRINTER (C ENTRONIC 737)" .. . ...... 650
`JOYSTICK PAIR . .
`18
`LIGHT PEN . . . . . . . . . . . . . . . . . . .
`65
`ATARI VISICALC ... .
`. 169
`BASIC LANGUAGE .......... . ..
`45
`ASSEMBLER EDITOR
`45
`MUSIC COMPOSER . . . . . . . . . • .
`.. 45
`STAR RAIDER .
`. . .........
`39
`COMPUTER CHESS .
`. . 30
`BASKETBALL .
`30
`TELELINK
`20
`
`"SPECIAL: Effective until 8131181
`
`compu~r ag~.lnc.
`Authorized Apple DE,laler & Service Center
`
`4688 CONVOY STREET, SAt-! DIEGO, CA 92111
`(714) 565-4962
`
`TO ORDER: Please send cashier's check, money order or personal check
`(allow 10 business days to clear). VISA and Master Card credit card service
`add 3%. American Express credit card service add 5%. Shipping , handling
`and insurance in U.S. add 3% (minimum $4). California residents add 6 %
`sales tax. Foreign orders add 10% for shipping. Equipment is subject to
`price change and availability. All equipment carries factory warranty. Store
`prices ~iffer from mail order prices . TELEX: 697120 DATAMAX·S DG
`CALL OR WRITE FOR A COMPLETE PRICE LIST
`
`290
`
`'August 1981 © BYTE Publications Inc
`
`Circle 65 on inquiry card.
`
`CHASE EX. 1006 - p. 7/15
`
`

`

`of two man(cid:173)
`world that
`both 8" and 5.25" models,
`has. tape and disk experience, and
`~"' Ooppy d;,k OOv".
`
`Special self-c1eaningjacket and
`liner help eliminate data errors
`and media wear and tear.
`
`Center hole diameter punched to
`more accurate standards than
`industry specifications, for top
`performance.
`
`Bi-axially oriented polyester
`substrate-for uniform and reli(cid:173)
`able performance year after year.
`
`Double lubrication -lubricants
`both in the formula and on the
`disk surface, to minimize media
`wear due to head friction.
`
`Packaging to suit your
`requirements - standard flip-top
`box, Kassette 10® storage case,
`or bulk pack.
`
`100% certification - every single
`disk is tested at thresholds 2-3
`times higher than system require(cid:173)
`ments, to be 100% error-free.
`
`For the name of your nearest
`supplier, write BASF Systems,
`Crosby Drive, Bedford,
`MA 01730, or call 617-271-4030.
`
`~BASF
`
`Floppy Disks Mag Cards Cassettes Computer Tapes Disk Packs Computer Peripherals
`
`Circle 33 on inquiry card.
`
`CHASE EX. 1006 - p. 8/15
`
`

`

`value of the number receiving the
`message .
`
`Organization
`A uniform metaphor provides a
`framework in which complex systems
`can be built. Several related organiza(cid:173)
`tional principles contribute to the suc(cid:173)
`cessful management of complexity.
`To begin with :
`
`Figure 2: System complexity. As
`the
`number of components in a system in(cid:173)
`creases, th e chances for unwanted interac(cid:173)
`tioll increase rapidly . Because of this, a
`cOlllputer language should be design ed to
`minimize
`the possibilities of such
`in(cid:173)
`terdependence.
`
`Modularity: No component in a com(cid:173)
`plex system should depend on the in(cid:173)
`ternal details of any other compo(cid:173)
`nent.
`
`This principle is depicted in figure
`2. If there are N components in a
`system,
`then
`there are
`roughly
`N-squared potential dependencies
`between them . If computer systems
`are ever to be of assistance in complex
`h~man tasks, they must be designed
`to minimize such interdependence.
`The message-sending metaphor pro(cid:173)
`vides modularity by decoupling the
`intent of a message (embodied in its
`name) from the method used by the
`to carry out the intent.
`recipient
`Structural information
`is similarly
`protected because all access to the in(cid:173)
`ternal state of an object is through
`this same message interface.
`The complexity of a system can
`often be reduced by grouping similar
`components. Such grouping
`is
`achieved through data typing in con(cid:173)
`languages,
`ventional programming
`and through classes in Small talk. A
`
`class describes other objects-their
`internal state, the message protocol
`they
`recognize, and
`the
`internal
`methods for responding
`to
`those
`messages. The objects so described
`are called instances of that class. Even
`classes
`themselves
`fit
`into
`this
`framework; they are just instances of
`class Class, which describes the ap(cid:173)
`propriate protocol and implementa(cid:173)
`tion for object description:
`
`Classification: A language must pro(cid:173)
`vide a means for classifying similar
`objects, and for adding new classes of
`objects on equal footing with the
`kernel classes of the system .
`
`Classification is the objectification of
`nessness. In other words, when a
`human sees a chair, the experience is
`taken both literally as "that very
`thing" and abstractly as "that chair(cid:173)
`like thing." Such abstraction results
`from the marvelous ability of the
`mind to merge "similar" experi

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket