WeDVVI11WeDlk 5 I lWV'U eDGBPD 3W r l J V l l1 l J l l1 l l jp IiII iJfill f iii iJ 11 il1Il fil January - February 1983 lev IJ n'T3 SPECIAL ISSUE CISI ESSAY CONTEST U 'fillS DOEURtiMEN'f EURON'fAINS CODEWORD MA'fHRIAb S hSSIFIEB BY Ns lesmt 123-2 BB6bASSIFY 8N 8rigift8 iftg A@8Rey's getepmiftstien ae uired Declassified and Approved for Release by NSA on 10-12-2012 pursuant to E O 13526 MDR Case # 54779 4011963 Published by Pl Techniques and Standards _ _ _---_ _------VOL X No JANUARY 1983 Editoria' 1 Something different is what we promised for this issue and this is for CRYPTOLOG something different--an entire issue devoted to one general field PUBLISHER BOARD OF EDIT ORS 1 Editor ooooooooooo 968-8322s Asst Editor oo fl -------------- 1 963-1103s Production oooo io o 1 963-3369s Collection or-' 1 yp y cr tanal s l 8 o oooo oo CryptolinguistiCS c Informationi Sciej nc e 1 963-3961s I 963-5311s 963-1103s d --- 'i ' lJ 1 t 963-5711S Language ooooo j T Machine suppo tJ Mathematics t ' Puzz1e8 oooo Davic1 H Wi l liams Special R e ir h Vera R Filby Trafflc i ' n 8 lysiS oooooooDon Taurone 968-8716s 963-4681s 968-8518s 963-1103s 968-7119s 963-3573s For subscriptions send name and organization to CRYPTOLOG PI orca1 11 13369s P L 86-36 To submit articles or letters via PLATFORM mail send to cryptolg at barlc 5 bar-one-e-zero-five note no '0' in 'log' Contents of Cryptolog should not be reproduced or further disseminated outside the National Security Agency without the permission of the Publisher Inquiries regarding reproduction and dissemination should be directed to the Editor Opinions will differ about whether a publication even a relatively informal one such as this is should always have something for everyone On one level this question sometimes crops up in the form of should we have lots of short articles on a variety of subjects or should we run fewer but longer articles Pragmatically our approach to the question involves looking at just what articles and items come in for publication We don't do a lot of recruiting of material for the magazine The board of editors does some but they are all busy people and working for the magazine is a sideline for them Then we try to keep up with what people are doing and what their current interests are This meanS among other things that more articles about computers are showing up in these pages at the same time that a general resurgence of interest in computers is evident both inside and outside the agency That doesn't mean we aren't still interested in other topics but it probably means that we aren't getting many submissions about other topics Art Salemme used to respond to ''Why aren't there more articles about my field with Why don't you write one That's a good thought Finally and perhaps IIIOS t important to us there is a clear need to develop the expository skills around this place Those who are particularly good at certain skills have to find a way to tell others about what they know and do This takes practice and practice requires a place to publish CRYPTOLOG is one such place FeR 6FFf8f h JSB 8flh'l D 4011963 1982 CISI Essay Awards In 1982 CISI began an annual CISI Essay Awards competition The purpose of this competition is to encourage NSA employees' to share their expertise and experience in computer and information sciences with the NSA community The papers submitted were judged in the following three categories - Hardware and Software Systems Applications Information Systems Computing Milieux - Methodologies and Theory Each category was refereed and judged separately and monetary prizes of $100 for first place and $75 for second place were awarded in each category The general criteria for judging were - relevance to the fields of computer and writing style - organization - significance to NSA info t t iB 36 Two first prizes ere awarded one to I_ _ _ -_ Iof L091 for paper The Future Brightens for Flat-Panel Displays and one to I I I bf E53 for her paper Menu Selection as a Tool for Human Machine Interaction 'P L 8 6-3 6 her I f R532 Three second pr l zes were awarded They went 1 01 for her paper Improving Raster Graphics Images by And- Aliasing tol I l 10f T333 for his paper Managing Our Systems for Performance and to I I of B62 for her paper A Tutorial on Color Theory and Human Color Perception the Color Graphics Programmer CISI would like to thank the following judges for effort in judging the fifteen papers that were submitted I P L I CISI Member-at-Large 86-36 Jan 83 CRYPTOLOG their Page 1 time and aCID FSR SFFI8IIm J S13 SllJ y 4011963 Special Issue CISI Essay Contest TABLE OF CONTE NTS P L The Future Brightens for Flat-Panel Displays U 3 Improving Raster Graphics Images by Anti-Aliasing U 19 Current Local Area Network Status U 37 Logic Design Exceeding Boolean Capabilities U 42 Ada Conquering the Tower of Babel U 49 Managing Our Systems for Performance U 55 Getting Personal U 71 Menu Selection as a Tool for Human Machine Interaction U 75 A Tutorial on Color Theory and Human Color Perception for the Color Graphics Programmer U 86 Computer Graphics to Enhance Collection Management U 95 The NSA High-Level Display File U 114 A Survey of Parallel Sorting U 133 ADA News U 155 D H W Puzzle U Jan 83 CRYPTOLOG Page 2 P8R 8PFf8Ild fBI 81fLY 156 86-36 ------------f f FQR QFFISI1 QN JPY QSK 4_01_1_9_63_ o The 'Future Brightens for FLAI -PANElJ Displays Ti I til P L 86-36 u INTROOUCTIO' il' on ' d u' C ci ' installed and despite the recession market 2 demands continue to grow Surveys conducted by Booz Allen and others suggest that by 1990 one-quarter of the white-collar clerical and professional employees in the US will have display terminals on their desks 3 What is important to note is that many of these terminals will not be the traditional CRTs of the past The major challenge to the cathode-ray tube is coming from flat-panel displays Although the CRT has been relatively well accepted for many years numerous limitations have made it a prey for competing technologies This has encouraged a strong and rapidly expanding interest in the development and production of fla t-panel displays one of the mos t viable alternatives in overcoming the many disadvantages inherent to the CRT This paper will pursue a thorough examination of flat-panel display technology The first area of investigation includes a detailed explanation of CRT and flat-panel display technology We will then proceed to take a close look at four maj or flat-panel displays currently being either researched or developed to include a discussion of their physical design operating characteristics strengths and weaknesses The third area will cite the major advantages and disadvantages of CRTs and flat-panel displays Fourthly we will briefly summarize some of Jan 83 There IS one feature that a CRT cannot have and the lack of that feature makes it awkward in cerrain applications ooo a CRT cannot be flat Larry Tannas the current research in flat-panel technology The final area will examine the present and future markets for flat-panel displays CREATING THE DISPLAY IMAGE Displays may be classified according to a number of attributes a significant one being their screen addressing technique This section of the paper will discuss the methods that both the CRT and flat-panel devices employ to create a display image The CRT uses beam addressing a process which utilizes a deflected focused beam of electrons to trace the display iinage on the screen In CRTs this can be accomplished in generally two ways Figure I First in both calligraphic and direct-view storage displays the beam is deflected in a random motion across the phosphor-coated tube to create the display image somewhat analogous to paint4 ing the image on the screerr In this manner the electron beam may be deflected in any sequence given by the computer Raster displays employ a second method applying a fixed deflection system which forces the electron beam to scan the CRT in a definite sequence usually from left to right and from top to bottom As the electron beam is CRYPTOLOG FQR 8FF'EeL b SSE Page 3 8 lbY aCID 4011963 Fell eFFiS It'll HBS ellhY 5 more random scan sequence The effect of interlace is to create the display image as two separate fields the first field containing the even-numbered Bean lines and the second field containing the odd-numbered scan FIGURE I Display lInage Creation FIGURE II Interlaced Scall Sequence o --------------- - - 1 --------------------- 2 ------ - 'cc cc_ o -- 4- - --- f --- ' ' oo _ _ oo _ _---_ -----_ _------ --- - -- - - - o - - - - first field even scan Jines ---------- second field odd scan lines horizontal retrace lines Figure II illustrates the interlace process This works well with television images since the pictures they generate do not differ markedly from line to line this is not always the case in computer graphics therefore interlace may not always be imple6 mented In oalUgrapbJo and storaae tube tU1IP1aJ'll veoton IU'O drawu with strokell of the boam on the d1l1pla r IlUrflloe Unlike eRTs flat-panel displays make use of matrix addressing to create a screen image This technique employs a matrix of horizontal and vertical microelectrodes the intersections of which are discrete picture elements 1 known as pixels To illuminate a point on the screen the row and column microelectrodes intersecting at that specific location are activated In practice as each row is energized all of the column lines intersecting that row at locations which require illumination are simultaneously activated That horizontal row is subsequently turned off and the cycle is repeated with all the remaining rows In this manner flat-panel display images are created a line at a time whereas CRT images S are traced a dot at a time temll ootore are dllrpla yed by lumm plxoln on and olt II the btlam movell baok and forth down the dillplay urlaotl On ruler deflected line by line the beam current may be adjusted to cause variations in brightness along the lines In television applications this raster-scanning technique usually applies a method called interlace which produces a Jan 83 Each addressing scheme places a different requirement on the display element Beam addressing requires the display element to be capable of responding to extremely short drive pulses due to the manner in which the electron beam rapidly sweeps across the CRT screen point by point to create an image 9 In contrast matrix addressing requires each display element to incorporate a threshold function so that the element will not respond to any excitation it may receive when adjacent CRYPTOLOG Page 4 ern FeR eFFf6fA J lfSFJ SIlbY 4011963 10 elements are activated This threshold effect is achieved through the application of a non-linear voltage-versus-light characterisll tic Flat-panel displays all contain some substance which will either glow emissive or change the way light is reflected nonemissive when a voltage is applied If such displays employed a linear voltage-versuslight characteristic as any pixel is selectively excited all of the pixels along the associated column and row electrodes would 12 glow dimly activated by a partial voltage This is inadequate for a satisfactory matrixaddressed display therefore a non-linear voltage-versus-light characteristic is applied In this way as voltage is increased between the horizontal and vertical electrodes insignificant light emission or reflectance occurs at the selected pixel until a threshold is passed at which time the light i3 A pictorial represenoutput rises steeply tation of both the linear and non-linear voltage-versus-light characteristic may be found in Figure III FIGURE III gle driver While this voltage is maintained below the threshold level all the pixels in the selected row will remain dark When small voltages are applied to selected column drivers the potential at the crosspoints of these row and column electrodes will rise above the threshold level causing selected pixels along the activated row to be illuminated The duration or strength of the voltage can be varied to control the brightness or gray levels of the selected pixels By repeating this process for each row of the display device an entire image can be creati1' line by line on the viewing surface In selecting a display device an important factor to consider is its particular screenaddressing technique If the application demands high-resolution moving images with full color and good contrast a CRT may be the best selection On the other hand 1GBP full color is not essential but high precision and good resolution are a flat-panel display may be the better choice Whatever the application understanding the special advantages each screen-addressing technique has will provide assistance in making a selection Threshold Effect EXPLORING FLAT-PANEL TECHNOLOGY Among the many flat-panel displays currently being researched and marketed several esoteric technologies may be identified as being potentially the most viable alternatives to the CRT In this section of the paper four flat-panel display implementations will be examined in terms of their design operating characteristics strengths and limitations These four technologies include gas plasma electroluminescent electrophoretic and liquid-crystal displays Bright I Dark A B v V 1 - Gas plasma displays Increasing Voltage Threshold effect is needed so a single circuit can drive all pixels along one line Otherwise for a linear CUlTe AJ all the other pizels along the selected line would glow when any voltage is applied But ll nonlinear curve B tb ey would not glow even wben a large voltage V 1 is applied to tb e row Combined lritb a small additional voltage to tb e column electrodes the threshold V creatlDg a bright dot at that crosspoint 2 is passed As a result of this non-linear characteristic a fairly high voltage can be applied to all the elements of a selected row with a sinJan 83 Of the major flat-panel displays currently available gas plasma panels appear to be the most prolific This may not be a function of their technical superiority but rather a result of being marketed longer The notion that light could be produced by an electric discharge through a gas has been known for over 200 years Scientific interest in this phenomenon was stimulated as early as the mid-1800s when Geissler fabricated glass tubes with electrodes sealed at opposite ends and filled them with gases such as oxygen carbon dioxide and hydrogen under low CRYPTOLOG Page 5 JPYQll QHHlIAb lfSFJ SlibY 4011963 tS While these tubes had a short pressure operating life they were of technical interest for the study of radiation spectra of t6 different gases Following the discovery of neon in the early t 900s elongated tubes containin this gas came into use for advertising signs Soon af ter World War I small neonfilled bulbs became available commercially because of their usefuly ss as on off indicators for line voltage Today the demand for information displays in digital computer systems and the persistent desire for flatpanel displays has spurred a steady growth in the development of gas plasma displays FIGURE IV DC Plasma Panel y7 The essential picture element pixel in gas plasma displays is an electrical gas discharge that develops between two electrodes when the applied voltage exceeds a threshold level In a simple display such as an on off indicator there is only a single discharge site In recently developed high-resolution matrix displays however there are over one 19 million discharge sites If such a high resolution matrix required two million electrodes the development of such a display would be completely impractical_ In matrix displays electrodes are usually shared by a row or column of discharge sites One million discharge sites in this configuration would require only 2 000 electrodes a thousand for each axis This makes development of such high-resolution matrix displays extremely practical and highly desirable Gas plasma displays can be classified according to a number of attributes They are usually identified as being either AC or DC displays o o o o In AC versions dielectric surfaces separate the electrodes from the gas In DC versions the immersed in the gas 20 electrodes are Another classification relates to their mode of operation as storage or nonstorage In storage mode the memory that holds the image information is inherent to the 2t display device In nonstorage or cyclic mode the memory is external to the display Unless the image can be represented by a single discharge the image information is transferred to the device and displayed sequentia11y usually one row or column at a time To avoid flicker this tire image must be continually refreshed Jan 83 Insulating pia Ie y Input signals The basic structure for a matrix-addressed DC plasma display is presented in Figure IV The individual cells in this display type are defined by holes in the insulating plate In line with the holes is a set of cathode strips on the lower surface of the plate Running perpendicular to these is a set of anode strips on the opposite surface While not depicted in this diagram it must be assumed that this entire structure is contained between a pair of glass plates that are vacuum-sealed at the edges and filled with gas at a low pressure 23 To operate a pulse voltage -V is applied to one of the cathode x strips while input signals in the form of pulse voltages V are applied simultaney ously to selected anode strips Since the voltage sum V V is assumed to be greater x y than a threshold voltage V fOr initiating a t gas discharge light emission is produced at the excited cells wherever the two voltages intersec t Since the individual voltages Vx and V are assumed to be less than the threshold lc ltage V no other cells of the matrix t will be excited Similarly other rows of cells can be repetitively addressed in tpid sequence to produce a flicker-free image An alternative gas plasma device in commercial use today is the AC plasma panel depicted in Figure V In this display the X and Y conductors are fabricated on the inner surfaces of two glass plates These electrodes are then covered with a thin layer of glass so there is no direct contact between the electrodes d the gas contained between the two plates CRYPTOLOG Page 6 FeR eFPl81A b aBE SUU FeR eFFIe 1M eBB 8 HsY IO 4011963 develop color displays this area remains primarily in the research stage due to the technical problems and costs associated with this enhancement 32 FIGUHE V Ae PIOSIOII Ponel Electroluminescent displays Gas-fillp d space il During operation of this plasma display an sustaining voltage is maintained between the sets of X and Y conduc tors This vol tage alone is insufficient to excite any cells in the off state If voltage pulses of suitable magnitude are applied to a selected pair of X-y conductors a discharge can be initiated This discharge will quench itself within approximately one millisecond due to the buildup of charges on the insulating walls resulting from the current flow Following this the cell will continue to fire on successive half-cycles since the voltage built up on the walls during each half-cycle will add to the applied voltage of the next halfcycle Subsequently triggering selected cells in sequence a complete image can be 26 stored AC The flat-panel display technology most likely to challenge the characteristics of the CRT is the electroluminescent display--in particular the thin-film electroluminescent layer display As early as 1937 G Destrian showed that light could be obtained from specially prepared zinc sulfide powder layers 33 when an AC electric field was applied Unfortunately development of this technology was delayed until 1950 due to a lack of satisfactory tran arent electrodes for viewing the phosphor o In 1950 however workers at Sylvania using a similar phosphor powder were successful in producing cells which employed recently- ieveloped transparent 35 coatings of tin oxide on glass From that point research has expanded to include improving electroluminescent phosphors and developing display devices based upon these materials FIGURE VI Eleclrolumlneoccnt-Ioycr Displo v Row VR' selection 'fQltollt The plasma panel has several advantages and disadvantages Its ruggedness makes it more appropriate for some military and industrial appli tions where CRTs would be unacceptable Its small size makes it suitable in aircraft and certain office environments where space may be a critical consideration With a diffusing surface on the back or within the panel optical images can be sup erimposed on 28 the digitally-generated images Finally the plasma panel produces steady and flickerfree image 9 and text that is easy to read and interpret The disadvantages of plasma display are its poor resolution and complex addressing and 30 wiring requirements Its inherent memory may be useful in certain applications although i t is not as flexible as the framebuf fer memory available in CRTs 31 While gas discharge technology has stimulated efforts to Jan 83 JPYOR Signil yullase In the early 1970s an electroluminescent layer was developed that could be excited with a DC or pulsed DC voltage and that exhibited highly desirable characteristics for display applications These devices are of particular interest for displays containing a large number of pixels due to their proven high light output obtainable through short DC 36 pulses and sharp threshold voltages As with gas plasma displays electroluminescent layer displays employ a matrix addressing scheme to reduce the number of electrodes necessary for the display The operation of CRYPTOLOG Oi'n II Page 7 IJSI i QUl' DOCID 4011963 F6R 6FFlelkL If n 6litr this device is highly similar to that of the gas plasma display and tests have shown that a flicker-free image can be produced by applying the pulse voltage V to successive rows r and cycllcally repeating this addressing process Figure VI Panels of this type have been developed for experimental purposes to display both alphanumeric information and 38 television images Electroluminescent panels 20 by 27 centimeters in size containing 224 x 224 elements have been developed and successfully exhibited images with good gray scale and highlight brightness of IOn foot-Iamberts approximately one-tenth the brightness gxhibited on commercial television 3 receivers Current efforts have been directed more toward developing thin-film electroluminescent displays as an alternative to powder layer displays Initially these attempts resul ted in films with poor light output and limited 40 duration In the period between 1964 and 1970 workers at Sigmatron were successful in developing much improved films They achieved this by using manganese-activated zinc sulfide powder applying additional insulating films on one or both sides of the panel and by coating the rear surface of the phosphor with an additional light-absorbing layer of arsenic selenide enabling the transparent phosphor to appear black while in its off state 4 This led to the development of display panels that could be viewed with good contrast even in high ambient light Much like the DC powder layers thin-film phosphors react to a very sharp threshold voltage also enabling them to be designed in an X-Y matrix-addressing scheme Thin-film panels of this type have been developed and used to display alphanumeric information and television images Thin-film electroluminescent panels may be scanned at video rates dqe to the rapid I 42 response of their phosphor When a given pixel is excited its light output diminishes to approximately half its original brightness in about a millisecond This persistence level comparable to that of CRT phosphors designed for video displays contributes to 43 the panel's average brightness Thin-film panels have been developed to display television images with good gray scales an important attribute for displaying high-quality pictures In CRTs displaying video images with gray scale is an analog function of the electron beam Thin-film Jan 83 electroluminescent panels typically feed the video input through an analog-to-digital converter which codes it into 16 levels of gray and converts it to a 4-bit digital number When the signals are transferred to the column drivers the 4-bit code associated with each column is used to set the column drivers to one of 16 levels of voltage thereby varying 44 the brightness levels Research indicates that arrays of thin-film panels may be successfully used as memory devices if the manganese content of the zinc sulfide is increased from approximately 1 percen 5 by weight to approximately 5 percent While this storage mechanism is still in the experimental stage panels of this type exhibit the potential for displaying stationary images with a large number of pixels since slow writing speeds may be used to create images totally free of flicker While thin-film electroluminescent panels show promise for a wide range of display applica ions several disadvantages are inherent to their design and the elements used to create their displayed images The highvol tage addressing circui ts required to drive these displays are currently a disadvantage of this type of flat-panel device This problem may be resolved in the near future as suitable low-cost integrated circuits become avail46 able Another problem is the relatively low efficiency of electroluminescent layers resulting in considerable power dissipation in the panel and drive circuits As a result electroluminescent layers exhibit only a small percent of the efficiency of the finest 47 electron-bombarded phosphors Limitations of the materials presently used in constructing X-Y-addressed thin-film panels leads to a maximum obtainable brightness for full television resolution of approximately one-tenth that available from cathode-ray tubes 48 Researchers have pursued developing phosphors with colors other than the yellow-orange characteristic of the standard thin-film panels but they tend t exhibit a significant decrease in efficiency 9 Electrophoretic displays Another flat-panel device the electrophoretic display is a nonemissive device based upon the principle of electrophoresis-the migration of charged particles in an elec50 tric field This display makes use of a thin layer of dyed fluid in which pigment particles of a highly contrasting color or reflectivity are suspended CRYPTOLOG Page 8 POl' 6P 'Ie Itrh T HI rJ ElIH JY ' oo FeR eFFIeIM BSE SlihY ID 4011963 FIGURE VII Electrophoretic Display - TRANSPARENT ELECTRODE ----0 ELECTRODE SEGMENT - relatively easy to build and simple to operate Not only does this provide for an attractively low overall system cost but a further advantage is its inherent memory which eliminates flicker avoids the necessity of refreshing 3and allows for high levels of multiplexing SUBSTRATE r I COLOR OF DYE o I l- ' 'II Iii 'l1i I I'jl J - 1 OBSERVER CHARGED PIGMENT PARTI CLES 1- III1 ' DYED SUSPENDING UEDIUM '1'1I COLOR OF PIGMEtlT I 1 I - ELECTRODE SEGMENT SPACER SEAl - GLASS PLATE o ' Electrophoretic display images are formed by light-colored pigment particles being deposited on a viewing electrode against a dark background of dielectric fluid By electrostatically driving the pigment to the viewing surface of the display the pigment color becomes observable at that specific picture element Conversely by electrostatically driving the pigment toward the back electrode and thus away from the viewing surface the pigment particle is masked from sight by the 51 dark colored fluid Figure VII The advantages of electrophoretic displays including high contrast wide viewing angles inherent memory and low power consumption have encouraged researchers to apply this medium to large-information-content flat-panel 52 devices Two methods investigated to accomplish this goal include the direct matrix and active matrix approaches The direct matrix containing only the display medium held between the row and column electrodes on their respective cell walls is Jan 83 While the early electrophoretic fluids of ten lacked the well-defined voltage threshold required for direct matrix addressing several techniques have been researched which successfully ameliorate this problem One technique introduces an external threshold by fabricating three sets of electrodes and operating them in a triode mode This successfully permi ts matrix addressing and also 54 reduces addressing times A second technique has proven successful by building an inherent threshold into the electrophoretic suspension This is accomplished by adjusting the particle-to-particle and particle-toelectron interaction The voltage threshold is thereby created by either altering the composition of the suspension or the nature of 55 the surfaces The active matrix approach with matrix drivers and local storage capacitors integrated into the display appears to be the most viable display technique for a highspeed P e-size interactive electrophoretic display An experimental 32 x 32 varistorcapacitor array-driven electrophoretic device has been developed which creates images a line at a time without crosstalk flicker or 57 refreshing Future varistor-capacitor array-driven electrophoretic devices should have higher resolution and larger viewing areas for better utility Liquid-crystal displays The final flat-panel device to be discussed is the liquid-crystal display Like the electrophoretic display this device is a nonemissive display since it controls the tran 8 mission or reflection of external light This characteristic makes it especially useful for displays that must be viewed in high ambient light Liquid-crystal materials belong to a class of organic compounds which under certain temperature constraints exhibit several optical and electrical properties characteristic of 59 crystalline solids Interest in liquidcrystal materials for display devices first began in the 1960s when it was demonstrated that an electric field applied across a thin CRYPTOLOG Page 9 FeR eFFIe ' BSS ell ' ' FBR 8FFI8IAb IHiS DOCIO m15il 4011963 layer could produce significant changes in light transmission wi th very low power con60 sumption Since that time following extensive research liquid-crystal displays have proliferated in the market in watches pocket calculators and various other electronic instruments Molecules of all liquid-crystal materials are generally elongated in shape causing variations in the index of ref rae tion depending upon the orientation of the molecules Most liquid-crystal displays currently' avail61 able use twisted nematic molecules The alignment of these nematic liquid crystals is essentially parallel In addition if the alignment direction is established at the liquid's boundary such as at the surface of the glass plates restraining the liquid material all the molecules tend to assume the 62 same alignment A twisted nematic display is composed of a layer of nematic material contained between the transparent conductive surfaces of two glass plates This structure is then placed between two polarizers Before construe ting the panel the glass plates are specially treated to cause the molecules at the surface to align in a direction nearly parallel to the surface of the plate Figure VIII a shows this configuration which also represents the appearance of a twisted nematic liquid-crystal cell when no vol tage is being applied In this configuration light is guided by the helical molecules so that the panel is bright 63 with the voltage off When an AC voltage' is applied across the cell nearly all the molecules will align themselves perpendicular to the glass surfaces as shown in Figure VIII b With the molecules aligned vertically between the two 64 plates light is blocked by the polarizers FIGURE VIII Uquid-cryslal Display a Inpulllgh liquid-cryslal molecules GBP0 Liquid-erystal displays consume less than 1 microwatt per square centimeter considerably less powe than that required for luminescent displays This makes them highly practical for portable battery-operated devices An important disadvantage of liquid-crystal displays is their relatively slow response their turn-on and turn-off times both requiring a roximatelY 0 1 seconds at room temperature 65 l 1 I I Trans nl conduclors @ Considerable effort has been directed toward developing liquid-erystal displays that do not require polarizers Success has been achieved by dissolving dichroic dyes in the liquid-crystal material This improves brightness and provides for a wider viewing angle two significant limitations of the twisted nematic displays In panels of this type positive-contrast images colored images on a colorless background or the reverse can be produced in a variety of colors depending 67 on the dyes used I Glass plale I oo lighl transmitted b lnpullighl I I I I X-Y-addressed arrays with good contrast over an acceptable viewing angle more than 10 rows have not yet been developed for liquidcrystal displays This is largely due to the 68 lack of a sharp threshold function Attempts to overcome this limitation involve either incorporating a field effect transistor at each pixel to prevent voltage from appearing along unselected elements or utilizing collimated light to exploit other optical effects in liquid crystals whose threshold is much sharper This second technique should allow display images to be created with 69 several hundred rows ----- Vac Lighl blocked Jan 83 CRYPTOLOG Page ilQR QH'IQIAb fse 8flbY 10 ' o ero 4011963 o ADVANTAGES AND DISADVANTAGES OF THE CRT BENEFITS AND LIMITATIONS OF FLAT-PANEL DISPLAYS Despite the competition from flat-panel and other display technologies the cathode-ray tube remains preeminent in today's market Its numerous advantages make it a stiff competitor for less researched and developed technologies The CRT is a high-resolution display adaptable for both individual and 70 small group viewing Its method of screen addressing is through the use of a deflected focused beam of electrons This is especially useful for applications where the information to be displayed is supplied serially 71 The CRT is the basic component for the direct-view storage tube calligraphic displays and raster displays adding to its continued success 72 The wide range of phosphors and careful filtering have made it possible to achieve 73 good contrast in extremely bright ambients Phosphors exist which also exhibit 8 od and predictable life time charac teristics eRTs are inexpe s -ve and relatively easy to manufacture They can produce highresolution color displays having wide viewing angles without degradation of brightness or 76 contrast Their phosphors emit light instantaneously and decay quicklY'7 thereby permitting real-time video displays Functionally flat-panel displays offer a viable alternative to CRTs especially in applications where space considerations play an important role in tl1e design of a system Some of the numerous advantages of flat panels which make them especially attractive for military and certain industrial applications include their ruggedness portability shock resistance ability to withstand wide temperature variances long-life characteristics 8tnd low power consumption requirements Flat panels are inherently free of geometric distortion and have such built-in features as orthogonality linearity and resolution 85 While the CRT has proven adaptable to the demands of many applications numerous disadvantages render it inappropriate or useless in others eRTs are bulky devices occupying considerable desk space This becomes a serious concern in applications where space considerations are paramount They lack ruggedness with their thin glass envelopes suscep78 tible to breakage Their screen surfaces reflect light a characteristic which can both 79 distract and annoy the user Limited success has been achieved in developing selfluminous projection CRTs It appears difficult to produce and collect sufficient light from a self-luminous CRT to provide bright high-resolution large-screen displays with 80 adequate cost and lifetime The CRT is an analog device making it inadequate for interactive graphic applicatiogr where true digital displays are necessary eRTs nearly always exhibit some distortion because the electron beam must travel different distances to strike all areas of the screen surface striking it at different angles and with vary82 ing spot size and shape Finally the CRT is a high-voltage device a definite disadvantage unde low-p ressure conditions such as in aircraft S3 Jan 83 Economically flat-panel displays are still too expensive to replace CRTs a 10-to-1 price ratioagurrentl y exists between flat-panels and CRTs Production costs of AC and DC plasma panels liquid-crystal displays and electroluminescent panels are significantly greater than those of eRTs with relatively the same 87 resolution Two major factors contributing to the high cost of flat-panel display terminals are their expensive drive electronics and low production volumes Flat-panel display terminals continue to maintain a high price tag because they are still prod ed in small quantities compa red to eRTs Even if produc t ion increased dramatically the cost of drive electronics would have to drop significantly before the market would open for flat-panel displays 89 Progress is currently being made in that direction Texas Instruments TI has developed a 32-channel integrated circuit that significantly reduces the display-drive electronics ' here it once took two diodes and a resistor to drive each line of a 512 x 512 display it now takes only 32 TI integrated circuits 90 Despite the high costs flat-panel displays should not be dismissed when searching for a display technology that best suits the needs of a specific application In many situations flat-panel terminals can be justified due to their size durability and low power consumption CRYPTOLOG Page 11 faR 8ffEeEAb HSB 8NbJPY aCID 4011963 FeR eFFI8IMJ HSE FLAT-PANEL DISPLAY APPLICATIONS As long as complicated drive circuitry and low-volume production continue to make flatpanel displays expensive applications for these devices may remain limited to military and highly specialized commercial users IBM's flat-panel displays are available with their retail and banking systems and are primarily t lgeted for high-volume-usage applications The Q-1 Corp Hauppauge N Y has incorporated flat-panel terminals into systems for its small business and banking cus tomers who appreciate the d ability and space savings of the displays Companies such as General Digital Corp East Hartford Conn and Science Applications Inc La Jolla Calif sell flat-panel display terminals to industrial customers for use in factories and on oil-drilling platforms a plications demanding a rugged display 9 device A DC plasma display terminal marketed by General Digi tal Corp is being used for applications such as an instructor's controller in advanced aircraft simulators a metal-roIling-mill controller an automated electronic testing device an executive desktop information retrieval terminal and a control and monitoring device in manufacturing and food processing plants Named the VuePoint this flat-panel device incorporates a Burroughs display the Self Scan II and uses a touch-sensitive screen overlay that 94 eliminates the need for a keyboard Until the high cost of flat-panel technology is considerably reduced many suppliers will have to depend heavily on military contracts to remain in the market The military is generally able to base purchasing decisions on utility rather than cost which has enabled them to investigate and purchase flat-panel terminals applicable to their specific 95 needs Elliot Schlam Chief of the display division of the US Army's Electronics Research and Development Command ERADCOM Fort Monmouth N J says the Army decided 12 years ago that it had to use automated dataprocessing equipment on the battlefield rather than rely on antiquated means of communication such as teletypewriters walkie-talkies and hard-copy message deliveries Flat-panel displays rather than CRTs are playing a major role in the military's communication scheme oo oo A battle unit needs a rugged portable terminal that can withstand shock vibration and a wide range of temperatures one that will have a long life and one that will not consume much power Considering those TS do not match up to flat-panel Jan 83 P9i Among the many flat-panel display devices being used in military applications is a portable unit that fits into a briefcase built by Hycom Irvine Calif a subsidiary of 97 This particular sys tem is intended Sharp for a wide range of functions to include command and control intelligence-data relay radar display air-traffic control and ballistic calculations Other flat-panel devices being built for the military include large-screen displays for use in command centers One such display is being manufactured by Photonics Luckey Ohio an AC plasma display supplier It is a large-screen AC plasma device assembled by Magnavox measuring 1 meter diagonally and containing 2 mil98 lion light-emitting pixels In addition Photonics and other flat-panel suppliers are producing small displays that can be incorporated into hand-held computers transparent map-overlay displays and instrumentation 99 displays for aircraft and submarines While plasma displays have primarily been designed into military terminals over the past 10 years Elliot Schlam says most future contracts under his control will be for electroluminescent displays and states In a pointby-point comparison of plasma and electroluminescent displays electroluminescent models weigh less consume less power A and are lOu priced lower than plasma displays In his opinion electroluminescent technology is clearly the one to pursue Hycom has made its first large-scale commercial sale for a portable terminal that will be used for such applications as field service diagnostics and electronic mail Riley Holly an assistant vice president for the company says It will be like an Apple computer in a suitcase The price should be comparable to what a small Apple would cost but the user will able to carry the system around with him He also states that the unit will be battery operated and may use CMOS nonvolatile memory 1ti CURRENT RESEARCH IN FLAT-PANEL TECHNOLOGY The CRT has maintained its preeminent position in the field of television and information displays largely as a result of its many outstanding characteristics including high resolution wide range of colors high brightness good contrast low cost and firmly established manufacturing techniques Its numerous disadvantages however have encouraged researchers to actively investigate al ternative display technologies This section of the paper will briefly describe some CRYPTOLOG QPH IM 8l Y Page 12 liSE 811I Y o FeR eFFI6ElrI s SSK efH Y 4011963 research currently being undertaken in the area of flat-panel technology as attempts to solve these limitations The Defense Advanced Research Projects Agency DARPA has partially supported the development of a 512-character electrophoretic display by Philips Laboratories Briarcliff Manor New York This matrix-addressed electrophoretic image display using a control electrode principle is a non-emissive flatpanel display having 228 columns and 148 rows with pixels 0 25 mm square Commercially available high-voltage shift registers and microprocessor control have been used in driv102 ing this display device An important characteristic of this electrophoretic image display is the application of the control electrode principle This entails creating an electrostatic threshold for switching by introducing a third electrode between the two electrodes of the basic device This third electrode is in the form of a mesh and is detailed in Figure IX The significant advantage of this matrix addressing appro18 is its extremely fast addressing time k l - Research indicates that the control electrode principle provides a practical and dependable method for the introduction of an electrostatic threshold into an electrophoretic image display The basic structure is simple and the threshold is not materials dependent but is controlled by the geometry of the device It does not require special suspensions and it appears that the size of the display and the number of pixels can vary to include large screen displays with few serious limitations The developers of this electrophoretic image display believe it will make the use of non-emissive displays in large information content applications highly prac104 tical in the near future Individuals at IBM's Watson Research Center Yorktown Heights New York have investigated the notion of a storage CRT display using a thin-film electroluminescent lOSfaceplate After summarizing their findings in the areas of selective erasure attainable levels of brightness contrast resolution and the constraints and concerns associated with the development of such a large thin-film electroluminescent faceplate they support the concept of developing this storage CRT It show promise for exhibiting such outstanding display features as high luminance good contrast no flicker high information capacity and reasonably high 106 Technical problems rates of interactivity in fabricating a practical device of this type remain yet the developers do not perceive them to be insurmountable Solving these problems will most likely yield a highly useful and marketable display device James L Ferguson of American Liquid Xtal Chemical Corp Kent Ohio has investigated the use of birefringence in liquid-crystal displays and has developed what he terms the fastest mode of drive for a nematic liquid 107 crystal yet available While many of the characteristics of this device remain to be investigated Ferguson asserts that a highperformance matrix display can be produced which has the capability of presenting a moving image without tailing or sticking and attainabi5a multiplexing levels in excess of 30 to 1 ANooE ELECTRoaE Jacques Robert partially sponsored by the Centre National d'Etudes des Telecommunications of France has developed a complex liquid-crystal matrix display to be used as a 109 television screen The three major components of his experimental video display developed mainly for videophone applications include a liquid-crystal cell driving electronics and projection optics It has Jan 83 CRYPTOLOG FeR 8FFlelkC eSE Page 13 8N Y - 4011963 - ------------------ POlt OPPIe IJrb HSB 8Ur I 115 128 x 128 display elements multiplexing capabilities allowing a display of eight shades of gray and an image change rate greater than five times per second Intermediate results have demonstrated that fairly complex pictures of faces can be produced with the stated system characteristics Robert suggests this is simply the first stage in the development of a liquid-crystal video display He asserts that performance can be enhanced by such improvements as increasing the number of display elements to 256 x 256 increasing the levels of gray scale to 16 or 32 and improving the 110 image rate between flat panels and CRTs A cost comparison of the two technologies easily substantiates this figure Purchase price estimates for a basic CRT range from $100 for a single-unit purchase to as low as $60 for 116 volume purchases In contrast ElectroPlasma of Millbury Ohio manufactures a 256 x 512-pixel AC plasma display which sells for $2 450 in single-unit orders and $1'I 9 fo r volume purchases grea ter than 1 000 In a similar price range Sharp manufactures a 240 x 320-pixel electroluminescent display that sells for $2 800 in sin le-unit orders Ill with no quantity discounts A low-threshold-voltage thin-film electroluminescent device has been developed by members of the Faculty of Engineering Science III Although Osaka University Osaka Japan high brightness long life and limited color have been achieved for thin-film electroluminescent displays the problem of high voltage requirements has remained This has severely hampered the USe of commercially available integrated circuits leading to highly complicated and expensive driving circuits This voltage requirement has also prevented improvement of the device's reliability The 10w-threshold-vo1tage thin-film electroluminescent has been successfully implemented at 60 volts This is nearly onefourth the voltage of most conventional thin112 film electroluminescent devices In addition it has successfully exhibited brightness levels of 300fl at 60 volts'd'fth a maximum attainable of more than 800fl Despite these high costs many terminal manufacturers remain in the market and appear enthusiastic about the future of flat-panel display technology An example of one such manufacturer is Televideo Inc San Jose Calif Mel Snyder Vice President for Marketing and Sales of Televideo refers to flatpanel terminals as the products of the future and adds that his company is particularly interested in the development of elec119 troluminescent technology Exxon has been particularly active in flat-panel display research Kylex an Exxon subsidiary in Mountain View Calif has recently developed a liquid-crystal flat-panel device capable of displaying eight lines of characters While this appears quite restrictive there is speculation that Kylex displays 114 will soon be expanding to CRT capacities Innovative research is being conducted by a wide variety of groups Hopefully their continued efforts will assist in promoting greater interest in the development of all types of flat-panel displays leading to an enhanced display technology without the identifiable disadvantages characteristic of the CRT THE PRICE DIFFERENTIAL Ken Bosomworth President of International Resource Development Inc Norwalk Conn suggests that there is a 10-to-l price ratio Jan 83 As such optimism continues to grow and pervade the manufacturing community the research and production of flat-panel technology will undoubtedly surge Ultimately this should lead to a significant drop in flat-panel display prices closing the price gap between CRTs and flat panels and enabling flat-panel technology to become more economically competitive with the CRT CURRENT MANUFACTURERS OF FLAT-PANEL TECHNOLOGY Despite the limited market and high costs presently associated with the development of flat-panel displays many companies remain actively involved in the research and production of this technology Companies as large as IBM Nippon Electric Company Burroughs and Sharp and as small as Electro-Plasma and Photonics are highly supportive of advancing the development of flat-panel display pro120 ducts Manufacturers in the process of developing prototype TV displays using plasma or liquid-crystal devices include Fujitsu Hitac l Matsushita and Seiko Denki Company Military data terminals utilizing gas plasma panels are currently in production by Magnavox SAl Interstate Singer Libra122 scope and Norden Aerojet Electro Systems Azusa Calif and Rockwell Electronics Research Thousand Oaks Calif are developing new thin-film electroluminescent panels with self-contained integrated circuit drivers CRYPTOLOG Page 14 FeR eFFI6IAe ' '8 eueY FeR eFFESIt'kb fSB eli Y 4011963 for upcoming enhancements in Army data terminals 123 Hycom a US-based subsidiary of Sharp is one of the leading manufacturers of flat-panel display technology Hycom has produced a thin-film electroluminescent panel for use in the Army's Digital-Message Device a portable battlefield terminal While manufacturing costs of a comparable CRT would be considerably less this panel requires much less power and has a longer life Hycom speculates that high-volume production will bring manufacturing costs down to CRT levels within the next 124 two years Hycom is nearing delivery of a Tactical Video Display which has demonstrated the compatibility of a thin-film electroluminescent display with a standard video signal Company officials claim commercial versions of the Tactical Video Display will sell for less than $500 each for production rates of one thousand or more per month A special feature of this device is a black layer on the rear surface of the display This will provide for greater contrast in high ambient light such as will be found in field opera125 tions or in helicopters Hycom is currently marketing electroluminescent panels with high resolution and picture element density applicable for both graphic and alphanumeric displays 126 Hycom and GTE's Lamp Divisiori Salem Mass are in the process of developing fully transparent thin-film electroluminescent displays for Army Tactical Data terminals These displays be used as overlays on top of field maps In addition Hycom is currently developing flat-panel displays for the electronic desk of the future possibly even for the electronic briefcase 128 on both CRT and flat-panel devices examined in depth four major flat-panel displays currently being researched or developed as viable CRT altern tives cited major advantages and disadvantages of CRTs and flat-panel displays and summarized some current research in flat-panel technology Despite the distinctive characteristics of each of the flat panels explored within this paper and the different immediate and specific goals of these technologies it appears they all share a common goal namely the achievement of a level of performance comparable or superior to that of the cathode-ray tube While the present limitations of these technologies may hinder their achieving this goal within the next few years it is clearly just a matter of time before flat-panel display technology will successfully displace the cathode-ray tube in both military and commercial markets FIGURE X Estimated flat-panel display market US shipments - $million 1980-1990 Word- and dataprocessing application rtfl 1980 15 1982 80 1985 130 1990 320 Displays Rockwell Electronics is nearing completion of a miniature thin-film electroluminescent device that could possibly provide full video capabilities With a screen size of 1 x 1 4 inches the device produces a high-quality video display of 512 x 683 lines aptly demonstrating the high-resolution capabilities of electroluminescent technology The display's total power consumption is less than five watts making it highly suitable for such mili tary applica tions as thermal weapon sigh ts head-mounted cockpit displays mortar-locating radar displays and terminal displays 129 CONCLUSIONS The goal of this paper has been to pursue a thorough examination of flat-panel technology To achieve this result the paper has explored contrasting methods of creating display images Jan 83 Military Consumer 130 with more than 200 characters Figure X presents the International Resource Development's forecast for flat-panel display shipments based on current technology and pricing trends The table indicates that by 1985 flat panels will be offering CRTs a serious challenge in military applications and by 1990 they will have13noade great strides into the consumer market Saul Kuchinsky president of Quantum Systems a consulting firm that specializes in flat-panel displays says there are literally thousands of applications for flat-panel 131 displays in the commercial market He comments however that the real problem lies not so much with the technology as with conservative management policies Kuchinsky estimates that within five to 10 years flat-panel display terminals will account for 25 percent CRYPTOLOG Page 15 4011963 132 of the display market He predicts One company probably a Japanese company will have success with flat-panel terminals and all of a sudden everyone will get involved Cautious companies need proof of someone else's success 133 Although low-volume production and high costs currently suppress market demands for flat-panel terminals innovative research in both the commercial and private sectors is expanding at a phenomenal rate creating a bright future for flat-panel technology Footnotes 1 2 3 4 5 6 7 8 9 10 ll 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 Catalano Frank Exploring Flat-Panel Technology Mini-Micro Systems Dec 1981 p 126 DeJackmo Margaret ''Major Challenge to CRTs from Flat-Panel Displays MiniMicro Systems Nov 1980 p 113 Ibid Tutorial Computer Graphics Proceedings of the Spring Compcon79 on Computer Graphics 26 Feb -l Mar 1979 Institute of Electrical and Electronics Engineers Inc New York N Y oo 1979 p 23 Newman William Moo and Robert F Sproull Principles of Interactive Computer Graphics New York McGraW-Hill Inc 1979 pp 35-36 Ib id p 217 Meyer Franklin Picture Brightens for Flat-Panel Displays High Technology March April 1982 p 36 Ibid Anderson L K The Cathode Ray Tube Display Why Use Anything Else Symposium on Display Ma terials and Devices Murray Hill New Jersey 3 May 1973 p 4 Ibid Meyer p 36 Ibid Ibid Ibid Kazan b Material Aspects of Display Devices Science Vol 208 23 May 1980 p 931 Ibid Ibid Ibid Tutorial Computer Graphics p 89 Ibid Ibid Ibid Kazan p 932 Ibid Ibid Ibid Jan 83 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 CRYPTOLOG Catalano p 125 Tutorial Computer Graphics p 99 Ibid Kazan p 932 Ibid Ibid p 933 Ibid p 928 Ibid Ibid Ibid p 929 Ibid Ibid Ibid Ibid Ibid Ibid p 930 Meyer p 37 Ibid Kazan p 930 Ibid Ibid Ibid Ibid 1980 Biennial Display Research Confer Proceedings of a Conference on the Current Research in Information Display 21-23 October 1980 Institute of Electrical and Electronics Engineers Inc New York N Y 1980 p 10 Meyer p 38 1980 Biennial Display Research Conference p 10 Ibid Ibid Ibid Ibid Ibid Kazan p 933 Ibid Ibid Ibid Ibid Ibid Ibid p 934 Ibid Ibid Meyer p 38 Kazan p 935 Ibid Anderson p 3 Ibid Newman pp 33-50 Anderson p 10 Ibid Meyer p 36 Ibid Ibid DeJackmo p 113 Ibid Anderson p 20 Ibid p 21 Meyer p 33 Anderson p 22 Catalano p 126 Page 16 FeR eFFI8Ill h SSE 61ftJ'l PSR SPP'E8'Ekb eSB SHU ID 4011963 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 Meyer p 36 Catalano p 125 DeJackmo p 114 Catalano p 130 Ibid Ibid Ibid p 125 Ibid Ibid Ibid Ibid p 126 Ibid Ibid Ibid Ibid Ib id p 128 Ibid p 132 1980 Biennial Display Research Conference p 26 103 Ibid 104 Ibid 105 Ibid p 154 106 Ibid 107 Ibid p 178 108 Ibid 109 1978 Biennial Display Research Conference Proceedings of a Conference on the Current Research in Information Display 24-26 October 1978 Institute of Electrical and Electronics Engineers Inc New York N y 1978 p 52 110 Ibid Ill 1980 Biennial Display Research Conference p 143 112 Ibid 113 Ibid 114 DeJackmo p 114 115 Catalano p 125 116 Ibid 117 Ibid 118 Ibid 119 Ibid 120 Ibid 121 DeJackmo p 114 122 Meyer p 39 123 Ibid 124 DeJackmo p 114 125 Ibid 126 Ibid 127 Meyer p 39 128 DeJackmo p 114 129 Meyer p 40 130 Catalano p 130 131 Ibid p 132 132 Ibid 133 Ibid ambient completely surrounding encompassing anode the positively charged electrode plate strip or terminal of a cell battery vacuum tube etc birefringence the separation of a ray of light into two unequally refracted polarized rays occurring in crystals in which the velocity of light rays is not the same in all directions cathode the electrode that emits electrons or gives off negative ions and toward which positive ions move or collect the negative pole of a battery or other source of electric current cathode-ray tube a vacuum tube in which cathode rays usually in the form of a onto a slender beam are projected phosphor-coated screen to produce a luminous spot CMOS capacitive metal oxide semiconductor collimated light an optical system transmits parallel rays of light that CRT cathode ray tube DARPA Defense Agency DC Advanced Research Projects direct current an electric current of constant direction having a magnitude that does not vary or varies only slightly dichroic exhibiting of essentially different colors by certain solutions in different degrees of dilution or concentration dielectric a nonconducting substance insulator diode a device as a two-element elec tron tube or semiconductor through which current can pass only in one direction electrode a conductor used to establish electrical contact with a nonmetallic portion of a circuit as in an electrolytic cell an electron tube etc electrophoresis the migration of charged particles in an electric field ERADCOM Electronics Research and Development Command GLOSSARY AC Alternating current an electric current that reverses direction at regular intervals having a magnitude that varies continuously in a sinusoidal manner Jan 83 fc foot-candle the quantity of light reaching a surface or the illumination as m as- ured in foot-candles fc lumens foot CRYPTOLOG FQa QFFiSi b Y E Page 17 QNbJPY DOCID 4011963 fl foot-lamberts the quantity of light radiated by a surface per unit area in a given direction or its luminance as measured in foot-lamberts The foot-lambert is defined in such a way that a perfect uniformly diffuse reflector white bond paper is a reasonable approximation of a lambertian surface illuminated with 1 fc will have a brightness of 1 fl flicker In relation to graphics flicker may be thought of as an unsteady image resulting from a display device with an inadequate refresh rate number of times per second a picture is redrawn The main' determinant of the refresh rate is the phosphor's persistence the time from the removal of excitation to the moment when phosphorescence has decayed to 10% of the initial light output The longer the persistence the lower the required refresh rate to produce a flicker-free picture A picture appears constant or flicker-free to the viewer even though in reality any given point is off much longer than it 1s on frame buffer memory a large digital memory used to drive raster displays Modern frame buffer memories generally use random-access integrated memory circuits Given 8 bits or more of intensity precision the frame buffer is capable of producing color and monochrome images whose complexity and quality are limited only by the quality of the TV monitor on which they are displayed The frame buffer offers the only satisfactory display device for applications requiring shading solid areas of color high-quali ty text or any type of image processing Disadvantages of the frame buffer include the large amount of memory it requires to represent the display image thus making it expensive and the time it takes to fill this memory or change it thus slowing down interactive response time index of refraction the ratio of the velocity of light or other radiation in the first of two media to its velocity in the second as it passes from one into the other the first medium usually being taken to be a vacuum integrated circuit an interconnected group of circuit elements as of resistors and transistors in a single tiny wafer of semiconductor material linearity the faithfulness with which an output signal of an electronic reproducing system reproduces an input signal more specifically the faithfulness with which the shape and arrangement of the elements Jan 83 in a television picture reproduce the shape and arrangement of the original televised image multiplexing In general terms the word multipleXing refers to the use of a single facility to handle simultaneously several similar but separate operations Most computers for example have high-speed multiplexing input output channels to handle many peripheral devices such as line printers or card readers all of which may operate simultaneously The main use of multiplexing however is in the field of data communication where it is used for the transmission of several lower-speed data streams over a single higher-speed line The primary motivation behind multiplexing is the reduc tion of costs although in many cases an increase in reliability is an additional benefit nonvolatile memory a memory that retains its contents even if the power supply is removed orthogonality a system of surfaces consisting of two families whose components are mutually perpendicular where they intersect pixel a picture element precision with respect to graphic display devices the measure of the programmer's ability to address a point on the screen refresh the repeated passing of an image to the display device resistor a device the primary purpose of which is to introduce resistance into an electric circuit resolution with respect to graphic display devices the measure of the user's ability to distinguish points on the screen from one another semiconductor a substance whose electric conductivity at normal temperatures is intermediate between that of a metal and an insulator suspension the state in which the particles of a substance are mixed with a fluid but are undissolved transistor an electronic device made of semiconducting material and equipped with three or more electrodes It performs functions similar to those of a vacuum tube without requiring current to heat a cathode CRYPTOLOG Page 18 FBll BFPl8Hl'b loJ lH SUeY FeR eFFleI HSE 5Mh 4011963 Improving Rasler Graphics Images by Anti Aliasing or - How to Get Rid of the Jaggies U IR53--- ----------- bylL 1 Introduct ion A Graphics Devices here are two main classes of graphics devices continuous and discrete A continuous or random- device draws with a bea iilOn the display 'surface much as a person draws with a penci I on paper wi th smooth continuous strokes A discrete or raster-scan device divides the display surface int matrix or raster of picture points or pixels The picture is created by lighting up the pixels that it would cover if laid on top of the display surfaces T Continuous devices such as the calligraphic and storage tube displays are excellent for representing line drawings because of their smooth precisely positioned lines Calligraphic display devices have the advantages of moving images and selective erasure since the images must be redrawn 30 t me s a second but the complexity of the image is limited Storage tubes can represent very complex images but the whole image has to be erased and redrawn every time one part of it has to be erased In either device filled-in aJteas are difficult to r present and there is no broad range of colors'available Discrete devices can represent any amount of information possible without affecting performance Areas are filled easily A raster device can provide a full range of colors or intensities which makes it possible to represent realistic images Selected areas can be erased without affecting the rest of the image However animation is not very Jan 83 P L 86-36 practical since a lot of computation would be needed for each image and the precision to which objects can be placed in the image is usually not as high as in a continuous device B The Raster Display Since this paper is concerned with the raster device in particular a little more information about it is needed The raster device is very much like a television set controlled by a computer The image is drawn line by line 30 times a second These lines are called scan lines and the order in which they are drawn is ed an interlace pattern The information about whether or not to turn a pixel on is located in a frame buffer This frame buffer is read 30 timesa sec-ornland the values in it are converted to intensity or color information for the beam Each pixel may have a number of bits of info rmation about it if its intensity can vary On a color display the red green and blue components of a pixel's color have to be specified separately since three beams are used Many raster displays use what is known as a color lookup table which contains a list of the components for a number of specified colors The number in the frame buffer corresponding to a pixel points into the color lookup table and specifies the color with which to draw the pixel In this way a few bits of information per pixel can specify a color from a wider range than they would directly One way to draw a picture- on a raster display device is to send commands to the device which tell it to choose a color draw a CRYPTOLOG Page 19 FeR SFFI8IAc eSB SlfeY POK 8FF e At HS6 DOCID 9N JPY 4011963 line fill an area etc The device uses line-generating algorithms to figure out which pixels are affected and changes the corresponding locations in the frame buffer to the appropriate value The next time the frame buffer is read this new information is displayed on the screen that are nearly horizontal or nearly vertical see Figure 1 Also lines cannot be arbitrarily positioned but must start and end at dot positions 4 7 Test panern synthesized at a resolution of 256 samples by usinS lechniques similar to those of conventional hidden-surface algorithms There is another way to draw a picture that will be considered in this paper it is called conversion A geometrical representation of the scene i e a list of lines polygons etc is examined by testing the image at each pixel point to see if there is anything there If there is its color is determined and the val ue is put into the frame buffer directly This is called sampling the image Because of decreasing memory and processor costs and the proven inexpensive television technology used raster displays are becoming more popular Other attractions are the realistic images color shading and the ability to display a substantial amount of information But the discrete quality of the device and the sampling process along with low resolution lead to poor image quality due to the attempt to represent continuous scenes with discrete points It is important to solve this problem so that complex images free from any inaccuracies can be presented on a raster device This paper will discuss the kinds of image defects that are produced by the discrete quality of a raster device and briefly list the proposed solutions It will be shown that one of these area sampling is the most effective and logical solution The paper will then explain the theory involved in this solution and present some algorithms used to implement the solution Finally there will be a discussion of the advantages disadvantages and possible future use of this technique II Manifestations of the Sampling Problem The defects due to the discrete quality of a raster display occur in a few distinct places along edges on the silhouette of an object a crease on a surface or along a colored patch on a surface in very small or thin objects and in areas of complicated detail 3 There are a few basic types of defects caused that are very apparents to a viewer The most obvious problem is that of jagged edges or the jaggies Since a raster device can only display dots in given positions lines made of these dots have to follow a regular grid defined by the raster scan This stair-step effect is most noticeable on edges Jan 83 Figure 2 Moire Patterns from reference 3 Another general category of defects is the misrepresentation of details that are smaller than the size of a pixel Small objects can fall between the dots This occurs because each dot on the image represents an infinitesimally small point in the scene being depicted If the object is small enough it is possible that none of it will fallon a sample point A small object may disappear entirely a long thin object may appear in some places and not in others looking like a barber pole a very complicated object may lose some of its detail 3 Moir patterns are produced 1n periodic images with closely spaced lines Th'e spaces in thin broken lines and the jagged places in thicker lines are repeated from line to line with slight variations causing patterns 2 3 7 Figure 2 shows these patterns appearing in the raster image of closely spaced parabolic arcs In animated sequences of images these problems become much more obvious and some additional problems appear As slopes change armies of ants appear to be running along the edges of objects as the edge detail changes Small moving objects appear and disappear in successive frames When they do appear they are suddenly represented by a whole pixel caus ing a d istrac ting flashing or scintillation Slow-moving objects appear to change shape due to the fact that the edges can only change positions in pixel increments and the edges change at different times Since the object does not move smoothly this is called crawling and it occurs only in animated sequences A horizontal edge which looks fine in a still 1mage wi 11 appear to jump from scan 1 ine to scan line as it moves vertically 3 7 CRYPTOLOG Page 20 FeR 8FFI8Ihb ISB SllbY F8R 8FFleIAr IHll' 811M' ID 4011963 The next section of proposed solutions to called anti-aliasing that will be explained this paper will discuss this problem which are techniques for reasons later III Area Sampling as the Solution to Aliasing A Proposed Solutions There are three basic techniques for improving the quality of raster display The one that first comes to mind is to Increase the resolution of the CRT By increasing the number of scan lines and pixels per scan line finer details can be represented and the jaggies are diminished It can be shown that a typical CRT 17-inch diagonal screen screen viewed from 25 inches would require 3 577 scan lines in order for the human eye to be unable to resolve the dots Even at this resolution some defects such as scintillation will still be visible unless the input is limited 4 Today the highest resolution commonly available on a raster display is 1 024 lines so it will probably take some time to develop a device with at least 3 577 1 ines Since the comput at ion time for mos t images is proport ional to the square of the resolution the cost of producing an image would be high and the picture generation time too long especially in an interactive environment 3 7 The simplest and cheapest technique to get rid of the jaggies is to blur the image by actually defocusing the device or applying contour smoothing to the image after it has been computed Although this does lessen the impact of the jagged edges it does nothing to restore lost detail As a matter of fact the detail and sharpness that other techniques preserve is lost and the amount of information displayable 1S limited 13 7 ' A technique which is a combination of the first two is the wobbled raster This 1S implemented by an addition to the deflection circuitry of the regular raster device The wobbled raster actually doubles the horizontal and vertical resolution by quadrupling the number of dots per line and wobbling the beam one quarter of a scan-line width above and below the line twice as it scans across what was one pixe 1 Each scan line produces two consecutive lines simultaneously offset by half a pixel width Like the half-toning process used to produce continuous images in printing the new pixels are aligned at angles which tends to reduce the visibility of the basic dot structure If all four new pixels are given the same color the effect is the same as blurring the image 9 While the idea of having all pixels the same distance Jan 83 from their neighbors is a good idea using the wobbled raster as a solution to jagged lines seems contrived and has no advantage over the other two techniques The third and best technique 1S to make each sample point represent a finite area in the scene rather than an infinitesimal point For example a very small object would occupy a fraction of the small area that would correspond to a pixe 1 on the output image The color of that pixel would be computed as the sum of the colors of the object and background weighted by their respective areas In the simple black-and-white case the intensity would just be the fraction of area the object occupies in the pixel This approach corresponds close ly to what actually takes place in television picture reproduction The television camera receives light reflected from a finite area to form the color for every dot While the other techniques ment ioned offer somewhat ad hoc so lutions to the problem this technique is based on sound principles and makes sense intuitively 13 The remainder of this paper will go into more detail about this technique and will refer to it in general as area pling B The Theory of Area Sampling 1 General Introduction The difference between sampling an image 'at points and area sampling is qualitative Area sampling will always produce the same intensities at any translation of the image In point sampling the sum of all the intensities will vary as an image is translated For example a small object may appear in one scene and not in the next depending Dn how it falls on the pixels 2 A properly adjusted digital raster display consists of regularly spaced dots the pixels which overlap by around one hal f Ideally the intens ity displayed at each pixel should represent the intensity and size of whatever in the scene is covered by the area of the dot on the screen Most points in the image would contribute to the intensities of three or four pixels 14 A model of the display which is easier to understand and manipulate is what will be referred to as the simple filter Represent each pixel as a square centered on the pixel center with the side equal to the distance between the centers of two adjacent pixels This divides the scene into a rectangular grid The intensi ty of the pixe 1 is proportional to that area of the pixel which is covered by an object That is the intensity CRYPTOLOG Page 21 FeR 8PFI8IAb tfB13 SUbY DOCID 4011963 of the the pixel is the average visible intensity of the scene over the square area If a color display is used the pixel color is the sum of the colors of all the objects in the square weighted by their areas 2 Using this method one can represent smooth and arbitrarily positioned lines and edges and small objects of any size and in any position Varying intensity levels create the appearance of details lying between pixel positions subpixel details To see this consider a small object the size of a pixel This spot can be made to appear to be moving smoothly across the screen from pixel to pixel by dimming one pixel while brightening the one next to it Adjacent pixels at half intensity will give the appearance that the object 1S lying between them Similarly varying intensity levels allow nearly horizontal or nearly vertical lines to appear smooth instead of jagged On a raster display a line of pixel width which is more horizontal than vertical i e the slope is less than 1 will be represented by one pixel per column at full intens i ty by a regular digital vector generator Using the simple filter one can see that the line will actually cross two or three pixels per column If these pixels are intensified proportionally to the area the 1 ine occupies over each of them the line appears smooth Figure 3 illustrates the application of the simple filter to a line Wh ile the I ines represented this way are thicker and not as sharply defined as the ir jagged counterparts their apparent positions are actually more accurate since they are derived implicitly from their environment rather than being set explicitly by the display device 4 2 Aliasing and Rastering Having the value of each pixel represent a finite area instead of a point has the effect of applying a convolutional filter to the scene before it is sampled 3 For the present filtering can be thought of as blurring the scene before it is point-sampled 5 By produc ing blurred images we have shown that greater prec ision is possib Ie This is true only because the sharp images produced by displays without using varying intensities or gray scale contain inherent inaccuracies 4 In the field of signals processing it is well known that a signal cannot be faithfully reproduced from digital samples if the sampling frequency is less than twice the highest frequency in the signal In terms of reproduc ing a scene on the graphics device the signal is the mathematical model of the scene displayed A faithful reproduction of Jan 83 that scene on a graphics device is one which contains just as much detail and accuracy as the original scene without any added information For us to make a faithful reproduction of a scene the scene cannot change more frequently than once per sample point If this is not the case an image with less detail than the original scene will be produced This is called an alias of the scene and al ias ing refers to the defec ts produced For example highly periodic scenes such as a picket fence may appear as a few broad stripes instead of as many thin lines if these lines occur more than once every two sample points Convolving a scene with a twodimensional filter is done to ensure that the high frequencies in the scene do not exceed one-half the sampling rate Techniques which attempt to reduce the effects of aliasing are methods of anti-aliasing 3 Al asing is the consequence of improper filtering of a scene before it is sampled Another term rastering is also used to refer to the defects described above but actually it is a result of improper filtering of the image during reconstruction on the device rather than at construction Rastering appears as ghosts of the original image since the pixels are not being displayed as intended If the beam is not properly focused the results are due to rastering as are the dark lines that may appear between scan lines If aliasing can be thought of as getting less information than intended rastering can be thought of as getting extraneous information that did not exist in the original scene 3 7 3 Filtering It has been said that aliasing is caused by neglecting to filter a scene before sampling it and that the cure making each sample represent a finite area has the effect of applying a filter to the scene Now a more detailed definition of filtering is needed Filtering 1S an averaging process the intensity of a pixel is determined by the scene within a small distance of the pixel center not at a single point This averaging is what eliminates the high frequencies that cause aliasing Filtering is controlled by a filtering function which supplies a weighting function for the averaging process Convolution by a function just refers to this weighting process The filter funct ion describes the distribution of light emitted by a pixel on the display Typically a pixel is brightest at the center and decreases in intensity rapidly in all directions away from the center Filter functions do not have to match CRYPTOLOG Page 22 feR 6fFleIAL HSE 6NLY ID 4011963 a The infinite resolution line o - b The image of the same line on a raster display o ---- -- ' -- I c The simple filter applied to the line Note that the line lies on up t03 pixels per column '-' Figure 3 Applying the Simple ilter to a Line Jan 83 FeR CRYPTOLOG eFFISIA ij8E Page 23 en Y aCID 4011963 P6 6PPleIAL the light emission properties of a display deV1Ce exactly Usually functions are chosen that are easy to manipulate and their parameters are varied until the image looks good 6 While the difference between area sampling and point sampling is qualitative the difference between the simple filter and better more complex ones is quantitative Most good fil ters wi 11 integrate the intensit ies in a small area around the pixel center as resolution increases all filters produce the same image 2 The filter function is usually only non-zero 1n a small area around the pixel The width of the fil ter corresponds to the diame of the area to be sampled Wider filters are lower-pass filters which sample a larger area and tend to blur the image Narrow fil ters sampl e a small area and tend to undersample Point sampling can be thought of as an infinitesimally narrow filter The shape of a filter determines the relative weights assigned to various points in the small area Flat filters such as the simple filter described above weight all points in the area equally and are lower-pass filters Most good filters are circularly symmetrical weighted more heavily at the center and falling to zero at the perimeter These filters approximate the pixel's intensity distribution Filters that are weighted very heavily in the center and falloff rapidly will cancel the blurring effect of a wide filter As long as fil ters have the same wid th and the same general shape the results are not noticeably different IO The simple filter is equivalent to convolving the scene with a box function it is a flat filter with a width equal to the distance between pixels but is not circularly symmetrical 2 The most popular filters are the simple filter used for its simple representatin of pixels and a roughly conical filter about one-and-a-hal f to two times as wide as the dis tance between pixel s used to more accurately approximate the pixel's properties and to take advantage of circular symmetry 4 An Added Benefit Increased Resolution There is an interesting result of the ant i-al ias ing technnique of us ing gray scale levels to represent a scene Not only does it achieve its goal of eliminating the effects of aliasing it also results in a noticeable gain in resolution This also occurs in the halftoning process which is just the opposite of the ant i-alias ing method described above While anti-aliasing converts size into various intensities half-toning converts intensities into different sizes of dots In newspapers these dots are all printed in black but the Jan 83 E ONLf image produced appears to be continuous and to possess gray scale This is because the dots are small enough to be point sources Wh en looking at a point source the human eye does not d ist inguish between the dot's size and its intensity even though one could resolve the dots by looking more closely This means that the resolution at which dots become point sources is less i e fewer dots per inch than the resolving power of the eye For good-quality half-toning that resolution is between 85 and 133 dots per inch A picture with 100 dots per inch held at distance of one foot corresponds to 480 scan lines on our typical CRT Experiments have shown that for i his screen size at average brightness 440 lines is the minimum resolution for which size and intensity of dots are interchangeable This figure agrees well with one derived from the half-toning analogy Since in a point source intensity and size are equivalent subpixel details can be represented using varying intensities Therefore the effective resolution of a display using anti-aliasing will be greater than the pixel resolution For example consider a large object with its left edge overlapping a column of pixels by one half The pixels in that column will be calculated at one-half full intensity while the ones to the left of the column will be at zero intensity and those to the right at full intensity Studies have shown that the brain reacts to this image the same as it does to an infinite-resolution picture of the same edge Therefore subpixel positioning of the edge can be represented by using varying intensities Furthermore changing the intensity of the intermediate column of pixels is interpreted as a corresponding movement of the edge The effective resolution of a display is determined not only by the number of pixels but also by the number of the differentiable intensity levels the device is capable of producing Factors such as room lighting phosphor characterist ics spot size and screen reflectivity all determine the eye's ability to distinguish one intensity from another The device itself may be limited in the number and range of intensities it can display The ratio of' the brightest to the dimmest intensities displayable on our typical CRT is about 25 to 1 Using this figure and the fact that on the same CRT the eye can distinguish a 4% difference in the intensities for single spots the number of levels needed is 83 These levels are on an exponential scale each intensity a 4% increase over the previous one 7 When looking at large areas of varying intensity though the eye is able to distinguish a 2% difference which implies 162 levels also on an exponential scale But in CRYPTOLOG Page 24 f6ft 6fffeIAL tlSI 61tL'i oo ID 4011963 order to properly represent spot positions for example two spots at half intensity should have the same brightness as one at full intensity In this case a linear scale in which each intensity differs from the previous one by a fixed amount would be more useful Since this concern is more important than distinguishable levels the linear scale is the most common kind 4 The 83 exponential levels would translate into 628 linear levels Studies have shown however that 256 levels are sufficient with only a little roughness in variation noticeable in the low intensities 71 One way to look at these 256 levels is as follows Divide each pixel into a l6-by-16 grid forming 256 subpixels Then us ing the 256 intensities to represent lighting from none to all of these subpixels results in a factor of 16 increase in the effective resolution of the device A 5l2-line CRT would have an effective resolution of 8 192 lines but since only around 3 600 can be resolved less than half of that would be usable Of course this is not real resolution but it s perceptually equivalent Objects as small as one-256th the size of a pixel can be represented and objects can be positioned to one-sixteenth pixel precision I t should be noted that the 256 intensity levels require eight bits of memory per pixel and for a full-color display one would need three times this much 7 Some successful anti-aliasing schemes use only 16 intensity levels but even with this amount 12 bits are needed per pixel All combinations of the colors available are needed to accurately render any pixel so it appears that using anti-aliasing on a device which uses a color lookup table would be difficult Most of the colors needed for the table would be implicitly determined by a few explicitly chosen colors See Section IV C We have shown that the anti-aliasing technique of area sampling an image eliminates the effects of aliasing and also allows to some extent the representation of detail finer than the resolution of the display and a corresponding increase imprecision The next section of this paper will show how this theory is applied to a general scene and then how problems in specific areas can be eliminated wi th simpler but perhaps not as accurate techniques objects Each object is modeled as a polyhedron each face of which is a polygon By increasing the number of faces a polyhedron can be constructed to approximate any solid object Since a polyhedron is described by a relatively small number of vertices it is easy to represent and manipulate mathematically In translation rotattion and scal ing the primary parts of a polyhedron po ints lines and planes all retain their propert ies Any scene to be depicted is thus a list of these geometric objects with information about their positions and colors B Techniques for achieving realism in threedimensional raster graphics are mostly concerned with how to restore the information about the third dimension to the images These include projections shading and hidden surface removal removal of hidden parts from images of solid objects In recent years these techniques especially hidden surface removal have improved dramatically Recently developed hardware processors for hidden surface removal can create images at 30 frames per second fast enough for real-time applications Unfortunately anti-aliasing techniques have not progressed as rapidly Most techniques are ad hoc ones to remove the most obvious effects of aliasing such as A computer generated image of a teapol with imulated l pccular rcRections or light nr ering throuah a window Counrsy U rsiry afUtah Figure 4 Shaded Image with Jag ed dge9 from reference 8J jagged lines 2 8 How realistic is an image of a shaded object that has a smoothly curved and shaded surface if the edges appear jagged For an example of this contrast see Figure 4 which originally appeared in reference 8 1 Hidden Surface Removal IV Applications of Anti-Aliasing A The General Case The general case that anti-aliasing will be applied to is that of a fully described or modeled three-dimensional scene of solid Jan 83 To properly solve the aliasing problem in the general case one must find solutions to both the hidden-surface problem and the filtering problem That is for each pixel one must implement a hidden-surface algorithm to find out what is visible in that pixel and CRYPTOLOG Page 25 aCID 4011963 FOR OFl'IeIAL tfSE SUnY then use the filter function to determine the resulting intensity A simple-minded antialiasing algorithm would not properly take into account what is visible For example if it just sumed the intensities of all the objects falling on a pixel a completely hidden color might contribute significantly to a pixel Errors like these are quite visible even though 'they may occur in an area onemillionth of the screen area 2J When implementing hidden-surface algorithms with anti-aliasing it saves time to find the places where aliasing is likely to occur such as polygon edges silhouettes and creases and to restrict the time-consuming filtering process to these places When approximating a curved surface with a polyhedron the shading techniques used to give the polyhedron the appearance of a smooth surface make antialiasing unnecessary at the polygon boundaries on these surfaces 3J Most hidden-surface algorithms are applied after a scene 1S transformed into a twodimens ional image This image is a I ist of overlapping polygons with a certain depth or priority associated with them 8J The algorithms are separated into two basic types depth algorithms and scanning algorithms Depth algori tbms process each polygon separately and determine the color of a pixel by the color of the closest polygon falling on that pixel Scanning algorithms generate the image scan line by scan line by keeping a list of all polygons falling on that line Scanning algorithms are the most usable ones with anti-al iasing since all the information needed is available i e all visible surfaces in the neighborhood of a sample point The depth algorithms do not recognize or keep track of any relationships between polygons Using this kind of algorithm would require pointers to neighboring polygons and keeping track of the edges and their amount of contribution to a'sample point 3 2 Algorithms This section gives two different examples of algorithms for hidden-surface removal with anti-aliasing In both cases the input to the algorithm is a list of two-dimensional polygons with their associated priorities and colors a Example 1 Scanning Hidden-Surface Algorithm The first algorithm is described by Catmull 2 I t uses the simple filter and a scanning hidden-surface algorithm Basically it performs a hidden-surface algorithm at every pixel and then integrates the intensities Everything needed for anti-aliasing is Jan 83 provided to much more precision than is available to the display This precision is only limited by the computer running the algorithm Finding which pieces of polygons are visible is like the original hidden-surface algorithm except that there are two simplifications First we are interested only in the sum of the intensities of each piece weighted by its area and not in the exact coordinates of the vertices Second much of the work in sorting the po lygons has already been done in the higher-level hidden-surface algorithm The basic algorithm follows and a simple illustration is given in Figure 5 A more detailed description can be found in reference 2J There is an active polygon list which is a list of all polygons in the current scan line Polygons are added to and deleted from this 1 ist as neces sary as each scan 1 ine is processed For each scan line set the pixels to background color Each pixel has a bucket which is a list of all polygon pieces which fallon it Clip each polygon in the active polygon list to the part which falls on the scan line What is left is a list of very narrow polygons For efficiency clip these polygons into three sections a piece in the center which is all sol id pixels and the two irregularly shaped pi ces on either side of it Sort these pieces into the buckets by the X coordinate of the leftmost pixel in the piece For every pixel in the scan line sort the pieces in the bucket by priority putting a solid piece of background color last If the first piece is a solid piece put its color into the pixel If it is an irregular piece in front of a solid piece find its area and use it to weight the two colors In any other case the 'first two pieces are irregular and a spec ial hiddensurface algorithm called the pixel integrator is used --The pixel integrator is like the polygon subdivision algorithm which will be discussed in the next example This algorithm is entered with a list of polygons in sorted order An edge of the first polygon is selected as a dividing edge and every polygon in the list is clipped against that edge Two lists are formed one for the polygon pieces lying to one side of the edge and another for the other side If the algorithm is recursively applied to both of the resulting lists tben very shortly the first polygon in each list will cover all the ones behind it since everything else has been clipped away and is in another list The area of this polygon can be found the color of the polygon is weighted by it and the result is returned The sum of these weighted intensities from all the lists one for each visible polygon gives the final average intensity for the pixel CRYPTOLOG FeR 8FFISlhb SE Page 26 QHbJPY FaR aFF1Sltm 9SB SllbY ID 4011963 The scene is a red square on top of a green triangle The current scan line is superimposed over the scene Red Polygon irreg Green Polygon center irreg -r irr center irr JI1jTtcnt 'Cl1P Clipping the polygons to the scan line and dividing them into irregular and center pieces ' For the first pixel an irregular piece is in front of a solid pixel so the pixel's area is used to weight red with the background color For the middle pixels the first piece is a solid piece so the pixels' colors are all red For the last pixel the first two pixels are irregular pieces so call the pixel integrator to return the pixel's color which will be a weighted sum of red green and the background color o Figure 5 Scanning Hidden-Surface Algorithm with Anti-Aliasing Jan 83 CRYPTOLOG P8ft 8FPlelkL 3E Page 27 ONLi FeR eFFIefoAb HSEl allb' DOCID 4011963 b Example 2 Polygon Area Sorting Algorithm B Algorithms for Specific Cases The second algorithm is described by Feibush Levoy and Cook S It uses a newly developed hidden-surface algorithm called the polygon area sorting algorithm which is based on the polygon subdivision algorithm The polygon subdivision algorithm clips all polygons against the ones in front of them and discards the covered parts so that the final output of the algorithm is a list of polygons which do not overlap somewhat like a jigsaw puzzle representation of the scene 8 The pixel integrator described above is similar to this but is just concerned with the polygons' areas and not with their vertices Figure 6 illustrates an example of the algorithm in the particular case of the pixel integrator The algorithms above are used to solve the aliasing problem in he general case which is any scene no matter how complicated that has been completely described before the algorithm is applied These algorithms just send the image to the device as a list of colors one for each pixel This is very useful for real-time applications such as flight simulation where the entire scene is known beforehand But this is not always the case The graphics device is cOIlllllonly used as an interactive device with the user adding changing and deleting objects to create the final image He is really drawing on the screen and each new piece being drawn is considered to be independent from what is already on the screen The basic hidden-surface algorithm 1S as follows Polygons are a list of vertices with the edges between them marked as clipped or unclipped Find the first unclipped edge 1n the closest polygon in the list If there 1S only one polygon in the list or if there is no unclipped edge return the polygon as is Otherwise clip all polygons in the list against that edge and put them into two lists one for part s on each s ide of the edge Set the clip flag for the clipped edge to clipped Reenter the algorithm for each of these two lists combine the two resultant lists of polygons and return this list The final result will be a list of all visible parts of polygons 2J After this 1 ist is construe ted it is a relatively straightforward but involved matter to do the anti-aliasing This algorithm uses a conical filter and keeps a lookup table to store the volumes above selected right triangles in the sample area one vertex of which is the pixel center A complicated computation finally results in the volume above any of the polygon pieces in a sample area which is the weight for the color The results from each polygon in a sample area are added together to get the final result An advantage of using lookup tables is that the filter function can be changed easily by just changing the values in the table The same paper gives a method for antialiased texturing of the interiors of polygons Texture is defined as a rectangular array of points with varying intensities These points give the appearance of roughness or patterning to a polygon For any visible polygon to be textured all pixels that it falls on are mapped onto the texture definition All texture points in the pixels are translated back to the image and the value of each pixel is determined by weighting the points with the same filter used in the rest of the algorithm Jan 83 In these cases there probably is neither the need nor the money available for a system that keeps track of everything drawn and which essentially recomputes the image every time the screeen is redrawn This technique is call d real-time conversion and is similar to what happens in calligraphic devices What is needed is a set of anti-aliasing algorithms that are specific to the elementary pieces that make up a scene such as lines polygons and text While these algorithms will be simpler and faster than the general-case ones they will also be less accurate especially when two or more pieces interact since the relationships between pieces is not known They have been described as ad hoc techniques but sometimes they are the most feasible ones and their results are acceptable for most real-life applications These applications are probably not concerned with shading texturing shadows and reflections They deal with simple objects and need fast responses This section will describe a few algorithms that are designed specifically to treat aliasing problems in these elementary pieces The effectiveness of these algorithms can be seen in the illustrations in the articles mentioned A few of these illustrations have been included in this paper but because of the various reproduction processes used their quality is not representative of the results seen directly on the displays 1 Lines Curves and Polygons Lines curves and polygon edges will all be treated as the same case In most graphics applications curves are approximated by a set of points connected by short line segments Polygon edges will be seen as an extension of the case for lines A faster algorithm specifically for drawing anti-aliased lines CRYPTOLOG Page 28 4011963 ' l F i Jf f background The list of polygons the topmos on the left which is the input to the first level of the algorithm The edges are marked u or c for unclipped or clipped The arrow points to the chosen unclipped edge @t t J green Polygons lying to the left of the clipping edge Input to a second level of the algorithm background Polygons lying to the right of the clipping edge Input to a second level of the algorithm red or 1 2 red green There are no unclipped edges in the first polygon so it or its color value is returned to the main level of the algorithm back background Polygons lying to the left of the edge Input to third level Same for the right side green or 1 6 green background or 1 3 background There are no unclipped edges in either list so these polygons or their color values are returned to the second level which combines them and returns the result to the main level of the algorithm The main level of the algorithm combines the results from the two second level algorithms and returns the final list of non-overlapping polygons or a color value which is the sum of the colors of the polygons weighted by area Figure 6 Pixel Integrator or Polygon Subdivision Algorithm Jan 83 CRYPTOLOG Page 29 FeR epPI8IAz ijSK QHbJPY 4011963 paR apPI8IAt t JSIl BIfI ' The lines on the right are normal The lines on the left are anti-aliased Figure 7 Comparison of Jagged and Anti-Aliased Lines Jan 83 CRYPTOLOG Page 30 FSR SFFISIt h HSFi SUeY o FeR eFF 81A HSg QN Y 4011963 I jill I o rfJrfJ oo- I i 1 1 - o oo - _ _I -- - Fi ure I 8 Enlargement of Figure 7 to Show Pixel Intensities Jan 83 CRYPTOLOG FeR eFFI8Ittb HSI i Page 31 QtI y aCID 4011963 takes advantage of the spatial coherence of lines That is given a small part of a line the remainder of it can be eas ily extrapolated If the representation of a line on one scan line is known changing it incrementally will provide its representation on the next scan line 4J a Example 1 Bresenham's Algorithm with Anti-Aliasing The following algorithms for drawing antial iased 1 ines can be used to draw them directly onto the screen or actually into the frame buffer and is an extension of Bresenham's algorithm a commonly used technique for drawing lines on raster devices It is described in full detail by Gupta and Sproull 6J This algorithm uses table lookup to reduce the computation of intensity levels and variations can be used to draw lines of varying thicknesses and to smooth the edges of polygons Figure 7 compares the lines drawn with an implementation of this algorithm to jagged lines and Figure 8 is an enlargement of the same image showing the different intensities The basic idea of the algorithm follows The filter used is a conical function which has its maximum value at the center of the pixel and decreases linearly to zero at a distance of one in units of pixel-to-pixel distance from the pixel center The function is such that the volume of the cone is also 1 When a line passes through a pixel the pixel's intens i ty should be proprot ional to the volume of the cone intersected by the line Because the cone is circularly symmetrical this depends only on the line's width and the perpendicular distance from the pixel to the line Lookup tables which have these volumes listed for certain distances from point to line can be constructed for any line width The precision of these tables depends on how many intensity levels are desired The discussion of the algorithm is restricted to lines of unit thickness in the first octant i e the slope is positive but no greater than 1 These lines intersect two or three pixels in each column of pixels The algorithm keeps track of the location of the pixel that the center of the line passes through the pixel and the perpendicular distance from the center of that pixel to the 1 ine At each column the center pixel and the pixels above and below it are shaded according to their perpendicular distances from the line which are easily calculated from the that of the center pixel These distances point to intensity values in a lookup table Then the center pixel for the next column is found and the new perpendicular distance is calculated Jan 83 Endpoints have to be treated differently A separate lookup table has intensities for the six pixels that are affected by an endpoint the three in the endpoint 's column and the three adjacent to them Since these values vary with the line's slope the slope is the index into this table Extending this algorithm to lines of all slopes is just a matter of switching the roles of the X and Y coordinates for slopes greater than 1 and of replacing the Y coordinate with its negative for negative slopes The variations on this algorithm make it a very useful one Lines of different thicknesses can be produced by calculating separate lookup tables for various thicknesses and choosing the appropriate one The algorithm may have to be modified so that it intensifies more than three pixels per column Similarly the endpoint table for each thickness will have to have more than six pixels per endpoint Different endpoint shapes such as r unded or beveled instead of squared-off can be accommodated with different endpoint tables Polygon edges can be produced with a table which contains intensities based on how much of a pixel is covered by an edge Different filters needed for different output devices can be accommodated by lookup tables As in the case of thicker lines the algorithm may have to intensify more than three pixels per column If these filters are not circularly symmetrical though a second parameter slope is needed to select the correct lookup table Any background shade and any line shade can be used by mixing the intensities The same applies to colors the red green and blue components are mixed independently Endpoints need not be at pixel centers Precise endpoints are needed to avoid problems in repetitive patterns where the endpoints should appear to be aligned 4J They are also needed to allow smooth motion in moving lines Subpixel precision endpoints are a problem because their accurate rendering requires either many lookup tables or a lot of computation b Example 2 Filtering Tiler Crow 3J describes a tiler with antialiasing A tiler is a procedure which generates the individual pixels which form a solid polygon from a list of the polygon's vertices This tiler has no hidden-surface removal it just draws a convex polygon with anti-aliased edges This kind of tiler is needed because if the polygon's border were drawn first as anti-aliased lines a hardware fill of the area would not work Hardly any CRYPTOLOG FeR eFFIElElr SE Page 32 elf ' FQIl QFFIQHr USE Qnr y D 4011963 of the pixels making up the border would be the same color as the polygon interior so the tiler wouldn't know when to stop unless it were smart enough to recognize different intensities of the same color A filtering tiler differs from a conventional one in that it must keep track of the edges that fall on a given scan line and edges that are very short or nearly vertical cannot be ignored The algorithm is straightforward and uses the simple filter Lists are kept one of the edges on the left side of the polygon that intersect the current scan line and another for those on the right side Starting at the top vertex the polygon is created scan line by scan line until the bottom vertex is reached At each scan line the edge lists are updated Starting at the left side the intensities of the pixels that hold irregular pieces are calculated by going through the list of the left edges and adding the weighted area on the right of that edge to the corresponding pixels it intersects It does the same for the right side but subtracts the weighted area to the right to correctly render objects thinner than a pixel It then fills in the middle of the scan line Crow notes that this algorithm takes from two to five times longer than an ordinary tiler depending on the number of edges c Intersections In a typical drawing lines and polygons are not isolated They meet intersect and overlap When two objects affect the same pixel a rule is needed to determine the ruling intensity The simplest method is to just overwri te the old intens ity However this will cause gaps in earlier objects where they are overwritten by dinnner pixels from later objects Ideally the intensity should be based on the areas occupied by the two objects But this is not practical since it would require informat ion about the relat ionship between the objects such as whether or not they overlap A compromise is to sum the intensities making sure that the sum does not exceed the maximum possible intensity This can lead to the problems of colors showing through solid objects and of two dim lines intersect ing in a bright spot which happens on a calligraphic display If the frame buffer does not have have a readback capability these methods are not even possible That is if the previous intensity of the pixel cannot be found out no sum or comparison can be made 4 2 Characters Another important part of graphics image is text Dot matrix characters look fine rotated 0 in increments of 90 and scaled or translated Jan 83 FeR at pixel increments but otherwise the results are terrible 4 Other techniques for represent ing charac ters such as high-reso lut ion bitmaps similar to dot matrices or as curved outlines which are treated as filled polygons or as a set of strokes lines work fine on high-resolution devices But at low resolutions the characters are bad representations because they are undersampled Usually the low-resolution matrices have to be constructed by hand IO Warnock has addressed this problem 10 The motivation for developing his technique was a need to represent high-quality text for a graphics application used to design page layouts A technical article may have as many as 30 different fonts The page layout must accurately represent the styles and shapes of the fonts that will appear on the final copy The spacing layout and appearance are all very important The requirements for character sets for use with a low-resolution raster display are The method is to make a high-resolution black-and-white representation or bitmap of the character and to sample areas or-Tt for each pixel The area sampled depends on the size of the character to be drawn and the width of the filter The bits that are turned on in the sampling area are weighted by a filter matrix which has values in it corresponding to the values of the filter function at these points The sum of these is the intensity for that pixel Like the linedrawing algorithm the filter can be changed by changing the matrix values When two characters affect the same pixel the intensities are added since the characters are known to overlap Using only 16 intensity levels and filter similar to the one in the line-drawing algorithm the results are very impressive Text of only five pixels high was readable by content six pitch was suffic ient to recognize letters and at seven pixels the text was perfectly readable The characters produced are more faithful to their masters than directly sampled ones there are many fonts available and the characters can be rotated and placed to subpixel precision Very small fonts can be used for thumbnail layouts to get the feel of the page even though the text may not be readable Figure 9 contains some of the illustrations from the paper showing a comparison of non-filtered and filtered CRYPTOLOG eFFI6Il they must be faithful to the masters even at low resolution they must be free of aliasing that is no holes dark spots or blurring they should look properly spaced regardless of the display's resolution Page 33 BSE eNr y 4011963 characters rotated characters in various fonts and an enlargement of a character C Hardware with Anti-Aliasing Features Several algorithms have been devised to eliminate the effects of aliasing in specific areas The ones mentioned above are just a few examples of them They have been written to coincide with the hardware implementations of their ordinary counterparts This section will look at a commercially produced display device the AED767 which has some antialiasing features The only information available about this device is a product review from August 1981 l so this discussion is not very complete or up-to-date but it will give something of an idea of what the situation is currently The review says that this device is the first raster graphics device produced that has ant i-al iased vec tor generation in the terminal hardware firmware The AED is an enlargement of the AED5l2 an earlier color raster device It has a resolution of 575 lines with 768 pixels per line There are a maximum of eight bits of information per pixel which point into a color lookup table which holds 256 entries The anti-aliasing feature can be turned on or off When it is turned on vectors can be drawn in 16 programmable base colors each of which has 16 intensities The algorithm used is probabbly much like the one described in this paper The 16 intensities correspond to a quadrupling in effective resolution to 2 300 lines which may be enough for effective anti-aliasing since the screen size is smaller than our typical CRTs The review states that intersecting vectors are accurate ly rendered by a proprietary technique The device has a readback capability from the color lookup table which implies that the proprietary technique probably consists of choosing the maximum of the two values In order to represent every poss ib Ie mixing of any two base colors many more colors than the 256 available 29 056 to be exact would be required It is doubtful that they are using a technique which somehow represents 'each pixel by a list of color lookup table entries which it sums upon scanning to compute the beam intensities The review does not mention filled polygon edges so it is assumed that they will still have jagged edges See Section IV B l b above about the problems with hardware fills to anti-aliased edges The contrast between jagged polygon edges and smooth lines may be distracting The limitation the color lookup table poses on the accurate rendering of intersec t ions is unfortunate The 1 ines can Jan 83 still only strart and end at pixel precision All of these facts lead one to question the benefit derived from using a device that only does the job half-way V The Costs and Future Use of Anti-Aliasing It has been shown that using area sampling to generate gray-scale images is an effective technique for eliminating the effects of aliasing on raster display devices It also has the added benefit of increasing the effective resolution of the display device To balance these advantages there are some problems with the technique which will be described below along with the solutions to them One problem is that a loss of acuity 1S apparent A field of small objectS appears as a solid gray mass instead of individual objects Actually in this case the eye would not be able to resolve the objects either and that is how it would appear to the eye also 71 The only problem would arise if the viewer got closer to the screen and expected to see more detail Another problem is non-linearity Two pixels at half intensity should have the same total brightness as one pixel at full intensity Non-linearity in the phosphor digital-to-analaog converters or any other transformation the calculated intensities go through before they are displayed may contribute to the problem which makes lines look barber-poled Techniques which involve getting new intensities from compensation tables have been developed to compensate for the non-linearities 7 10 Rastering is still a problem Unless the display is properly adjusted the dark lines between scan lines will be easily visible Hardware techniques such as the wobbled raster or more complicated interlacing schemes are used to reduce the line structure In color CRTs the effect is not as bad since each pixel is represented by three spots instead of one 7 The most serious problem with anti-aliasing techniques is that they are time-consuming The hidden-surface algorithm with antialiasing runs three times slower than a regular hidden-surface algorithm 2 Even in the case of the line-drawing algorithm three times as many pixels per column are intensified and the computation for each pixel is more compl ic ated There is al so the higher cost of the hardware needed to implement varying intensities and the cost of the memory to store several bits of information per pixel 4 CRYPTOLOG Page 34 FeR eFFIe IAb HSE etlbY ' FeR eFFIQIllEb lISE eNU 4011963 n ' 'M k I TlMF ROM -l 1 i6 90 1f'i Jr i n eumple of TlMESROMA IlJ4567ll JO Comparison of directly sampled hlack and white text and filtered gray scale text The font is 8 pixels high Examples of rotated text in various fonts 8 pixels tt t tb t hi h tk An enlarged showing grayscale values and a row of the same character as it appears on the screen Figure 9 Anti-Aliased Characters from reference 10 Jan 83 FeR CRYPTOLOG eFFlelA Page 35 Bse euI JPY aCID 4011963 FQIl QFFHJ P 1 ' lSI Qtl1 JPY One way to reduce the time factor is to put the anti-aliasing capability under user control A rough sketch of the image can be constructed without using anti-aliasing since the preliminary sketching is probably the longest part of the job Once the final image is constructed the anti-aliasing can be turned on and a high-quality image can be produced The algorithms which use lookup tables avoid the com'plex filtering computations and reduce time considerably Also the techniques for specific cases are less timeconsuming because information about the structure of the object is used As more display terminals contain their own micro-processors instead of hardwired logic it seems reasonable that the complexity of the operations performed in the terminal itself will increase An implementation of these specific algorithms in a processor would not be very expensive With the advances being made in the speed and computing power of these processors there is every reason to think that anti-aliasing will soon be a universally available feature in raster display terminals 4 The VLSI Very Large Scale Integration technology has already been used in a computer graphics design and the result is an increase in speed of image generation by a factor of l OOO This is because many operations are performed at the same time instead of sequentially Currently raster graphics systems which produce full-color shaded images in real time have a smaller capacity for manipulating images with many edges than a calligraphic system and cost much more A system has already been devised using the VLSI technology for producing real-time anti-aliased movement in two dimensions Soon it may be possible to produce completely anti-aliased real-time raster images with as much detail as a calligraphic system with the added benefits of color and shading ll VI Conclusions In view of the technology that is commonly available today the main factors governing the decision of whether or not to use antialiasing are the higher cost of hardware and the slower image generat ion time versus the low quality of raster images due to misrepresentation of detail But antialiasing need not be as time-consuming as it is thought to be A good realistic setup for a raster graphics system would include a set of specific anti-aliasing techniques which would be available at user discretion For good-qual i ty hardcopy from a low- to med iumresolution display device the results are definitely worth the time involved The method is much cheaper than getting a device Jan 83 with the comparable actual resolution A more costly and time-consuming system for producing high-quality final images would include a scan-convedrting algorithm with anti-aliasing Aliasing effects will occur at any resolution so this technique will have to be used if accurate images are desired It need not be a time-consuming process and the resul ts will be worth the effort References 1 Product Review for AED767 Advanced Electronics Design Inc August 1981 distributed at SIGGRAPH 1981 2 Catmull Edwin A Hidden-Surface Algorithm with Anti-Aliasing Computer Graphics Vol 12 No 3 pp 6-11 August 1978 Proceedings of SIGGRAPH 1978 3 Crow Franklin C The Aliasing Problem in Computer-Generated Shaded Images Communications of the Association for Com ing MachinerY Vol 20 No ll- -pp 799805 November 1977 4 Crow Franklin C The Use of Grayscale for Improved Raster Display of Vectors and Characters Computer Graphics Vol 12 No 3 pp 1-5 August 1978 Proceedings of SIGGRAPH 1978 5 Feibush Eliot A Marc Levoy and Robert 1 Cook Synthetic Texturing Using Digital Fil ters Computer Graphics Vol 14 No 3 pp 294 301 July 1980 Proceedings of SIGGRAPH 1980 6 Gupta Sat ish and Robert F Sproull Fil tering Edges for Gray-Scale Displ ay Computer Graphics Vol 15 No 3 pp IS August 1981 Proceedings of SIGGRAPH 1981 7 LeIer William J Human Vision AntiAliasing and the Cheap 4000 Line Display Computer Graphics Vol 14 No 3 pp 308-313 July 1980 Proceedings of SIGGRAPH 1980 8 Newman William M and Robert F Sproull Principles of Interactive Computer Graphics Secon Edition McGraw-Hill York 1979 9 Ward John E Wobbled-Raster HighResolution Display Electronic Systems Laboratory MAC-MEMO-431 March 1974 10 Warnock John E The Display of Characters Using Gray Level Sample Arrays Computer Graphics Vol 14 No 3 pp 302 July 1980 Proceedings of SIGGRAPH 1980 11 Weiman Carl F R Continuous AntiAliased Rotation and Zoom of Raster Images Computer Graphics Vol 14 No 3 pp 286-293 July 1980 Proceedings of SIGGRAPH 1980 CRYPTOLOG Page 36 l 6ll 6l l ieHtb 6SI 1 6Ub'l F8R 8FFf8fAfJ ass 811l' Y 4011963 IT44 byl P L 86-36 T OVERVIEW Basic LAN Structure he purpose of this paper is to describe the current status of Local Area Networks LANs LAN technology is one of the fastest growing areas of computer communications Early systems have been operational since 1977 In the past two years there has been an increased interest by vendors and the business community to utilize new technology and reduce computer processing costs In this paper it is assumed that the reader has a basic knowledge of networking concepts and that there is interest in the basic components of LAN architectures This paper is not intended to cover extensive long-range developments or to get into technical details below what is necessary to explain current LAN architecture Future LAN objectives will be mentioned with the purpose of expanding the knowledge of NSA DOD standards requirements and applications The demand of the business community to consolidate data storage and computer processing while reducing operating costs is one of the motivating factors of LAN development Technical advances in computers and communications have brought both entities closer together Many computers are beginning to rely on LANs to perform communication functions external to them For example LANs are utilized to move data from a computer to a central storage area for future access Magnetic tape and printer functions can be centralized by using LAN technology thus minimizing computer workloads and processing time Data can be moved on the LAN at speeds ranging from 9 6 Kbps up to 50 Mbps The data can be moved error-free to the users' eyes and be structured in a form to meet vendors' computer requirements Jan 83 Local Area Networks function as community interconnec tion media wi thin broader network architectures to allow rapid communications among members of user groups within limited physical areas at relatively low costs LANs are frequently used to provide for connectivity office automation data transfers within distributed processing systems and for terminal-to-host computer connections The basic components of a LAN are its host systems communication medium twisted pair CATV cables microwave fiber optics hardware that interfaces hosts to the communication medium generally called bus interface units or BIDs and protocols generally implemented in software A particular LAN implementation depends on the user's requirements the available technology physical constraints and relevant network standards Anticipated developments within communications and computer technology dictate that LANs be flexible in order to accommodate different types of processing equipment and to provide for BIU upgrade without requiring protocol changes Basic Network Structure HOST FaR 8FFfSh'd I ' __ I I I I 1 ' CRYPTOLOG 1 I 1 ass 1 Page 37 8lfiJY HOST IU B U ------ 1 I ' 1 1 1 Co oo unication medi 1 I ' I I 1 I I I I 1 ' 1__ 1 1 I 1 1 1 ' aCID 4011963 LAN Communication Media Communication technology advancements are minimizing the costs of LANs while providing for rapid delivery of data over short distances The most commonly used transmission technologies are twisted pair microwave fiber optics and coaxial cable CATV Twisted pair have a high bandwidth which makes them reliable for high-speed data transmissions By twisting the wires requirements for shielding are reduced but they are still very susceptible to external interference The twisted pair are easy to install for a point-to-point connection Some vendors such as IBM and the telephone company use twisted pair in their network structures Microwave transmissions are the most expensive LAN systems to install mainly because they require special transmitters and receivers to move the data through the air This is used where a line-of-sight transmission is possible and a physical connection is too expensive or not possible An example of such a situation is where LAN hosts are in two different buildings with a main road between them In this case it may be less expensive to install microwave equipment than attempt a physical connection Fiber optic lines transmit data at speeds in the Gigahertz range wi th a very low hit error rate It transmits data in one direction only which means two cables would be required for a LAN installation Current fiber optic technology can only be used in point-to-point connections because cable splicing has not been perfected Fiber optic lines are relativity free from line interference and are the most secure for a DOD mode of operation Fiber optics will be the transmission medium of the future when the technical problems are solved and the costs come down Coaxial cable CATV is currently the most widely used transmission medium I t combines a very low data loss wi th high bandwid th transmission The CATV 75-ohm has been used in television and antenna connections for many years and is very reliable This means it is a commercially produced produc t wi th connection methods and installation techniques being readily available at a low cost approximately 31 cents per foot The two most mentioned CATV transmission media are baseband and broadband Baseband is simple to use but it uses the entire transmission bandwidth to move the data fJ om one host to another You may have to use two lines if the volume of transmissions is large The baseband system is used by XEROX ETHERnet and Ungermann Bass LANs to name a few Baseband on a bus topol- Jan 83 ogy is a very reliable and fast communication medium Broadband which is the other type of bus transmission employs up to 41 separate channels frequency ranges on one cable Each cable functions independently and is monitored by the BIU The BID must be tuned to the frequency or frequencies required A channel on the broadband system can transmit analog digital voice and video data on different channels at the same time A host connee ted to the BIU can be a dumb terminal intelligent terminal large computer telephone or a TV camera Broadband is fast and has to be developed more but it has great potential especially for Agency field site and in-house use Currently baseband and broadband cannot communicate with each other This is where gateway technology which will be mentioned later fits into the LAN picture Access Methods An access method on the LAN communication lines is but one of the items necessary for rapid data movement Some of the basic access methods are circuit switching token passing slotted ring and bus contention transmissions baseband and broadband The type of access method is usually determined by the vendor and LAN topology selected to meet the requirement Private Automatic Branch eXchange PABX is a circuit-switched system with dedicated line transmission that has been in service since 1977 The ROLM CBX corporation has produced over 6000 sys tems which are in use today Early PABX systems used analog switching but the newer systems are digitized Voice data is first digitized and then sent over the network The architecture of today's telephone system uses the PABX technology and has heen in use for several years INTERCOM IBX a subsidiary of EXXON Corporation has one large PABX system installed with approximately 20 more systems on order The EXXON system is too new for comments Token passing is an access method used on ring and loop LAN topologies It is very fast 1-10 Mbps with high reliability A special token character configuration is sent around the ring or loop when there is no data to be transmitted When a host wants to send data on the network the token must be identified before the host can transmit This eliminates the possibility of data collisions on the network Slotted ring is also an access method used on ring and loop LAN topologies It is very fast 0-10 Mbps with high reliability The slotted ring consists of empty slots moving around the ring of a fixed slot size Each slot size must be predefined to match the block size of data to be transferred When CRYPTOLOG Page 38 FeR eFFieiAb ESE erR ' 4011963 the host wants to transmit data it finds the first empty slot and moves a block of data Loop Bus contention transmission is a random procedure with no preestablished time slots or order of transmission Usually Carrier Sense Mul tiple Access with Collision Detection CSMA CD is the mode of transmission A host will listen for activity on the network before it attempts to transmit the data There is a possibility that two hosts could sense a clear network and begin transmitting at the same time Most well-defined vendor networks have algori thms that sense the collision and retransmit the data again without the user's knowledge LAN Topology LANs have architec tures that follow basic topologies like ring loop star tree and bus To aid in understanding how these LAN topologies function each will be described below LAN topologies are usually designed to meet a specific requirement Some requirements dictate that two or more topologies be combined to serve the users needs within the LAN LAN TOPOLOGIES Loop topology is basically the same as the ring except there is a controlling node in the ring This node can monitor and control the data as it passes around the ring Star Ring A ring topology is a single closed path between any two users Communication is usually over a one-way path and very fast about 10 Mbps As the data passes by a connecting node on the communication line the node tests the data address to see if the data belongs to it If the data belongs to that node it will be extracted from the ring and sent to that host If the data does not belong to the node it just passes the data to the next node in the ring Jan 83 Star topology is a master slave type LAN architecture with the master host being the hub of the network and all network functions passing through it The slave hosts are attached directly to the master host In this topology the master node has full control of the network The star topology has the capability to control such things as priority type transmissions and large data base files for the slave hosts A disadvantage of this architecture is that if the master host ever goes down the entire LAN will not function CRYPTOLOG Page 39 peR eFFrSbHs HeEl erff JY FeR eFF eIAb 4011963 Tree A tree topology provides a single nonclosed path between users It supports twoway communications after the connections are made PABX circuit switching is the access media on most of the tree architectures For the connection to be made all nodes switch to make the path on which the data will flow Data must pass through all nodes in the circuit to reach its destination Telephone company network sys terns utilize the tree architecture for voice communications Bus s 81lbY suppliers are still developing their own components and few have working hardware in production Some vendors have developed solutions to specific technical problems but have not produced the algorithms or appropriate hardware to implement them For example Ungermann Bass has proposed a solution to provide communication between baseband and broadband network systems and has just started production Another example is SYTEK Corporation which advertises gateways to handle inter-network communications This is not yet in production either SYTEK is over a year late delivering an operable System 40 hostto-host BIU line of hardware Still another example is IBM which has started support of X 25 but has not released any product specifications These are only a few examples of products which are advertised but are not yet in production Most vendors have directed their technology towards capturing a specific part of the LAN market Some developers such as SYTEK and MITRE are addressing general LAN applications that exist now as well as those expected in the future Government agencies and private industries which require LANs now are forced to buy the ones which come closest to meeting their requirements realiZing they may have to change their LANs in the future to meet requirements for inter-network communications The cost of such an upgrade would be diminished if a set of host interface standards were adopted Protocols The bus topology is a single non-closed path between users Bus networks are broadcast-type communications with mostly CSMA CD as the transporting protocol The bus topology is the most talked-about LAN architecture today One of the more controversial subjects of bus architectures is the type of communication media CATV or fiber optics and baseband or broadband Each has advantages and the LAN architecture based on the requirements would dictate what is used Commercial Status There has been little cooperation among vendors to establish a unified approach to developing hardware and software for LANs Rapid advances in communication technology have inspired many old and new vendors to develop their own LANs independently Most Jan 83 In addition to the diversity of hardware there are presently no accepted standards for LAN protocols Protocol development is a costly part of building a LAN In general the BIU hardware and vendor architecture dictate which protocols are implemented in the BIU or which are required to be written by the host's software group Vendors such as SYTEK propose to supply a large quanti ty of protocol software within the bus interface unit BIU itself The cost of procuring this type of BIU will be higher than for a less robust BIU but protocol development in the host will be reduced Every vendor develops its own version of a protocol to meet its own product requirements both within the network itself and for host access to the network Protocol standards for LANs are currently being considered by the Institute of Electrical and Electronics Engineers IEEE National Bureau of Standards NBS and other standards organizations Once such protocol standards become a reality they are more prone to be implemented in firmware This would allow vendors to concentrate on simpler uniform host interfaces CRYPTOLOG Page 40 o PeJR eJFFISFAb Q6J Qtt JPY ID 4011963 However it must be realized tha t user requirements may dictate exceptions to the protocol standards At least there will be protocol standards from which to begin LAN Security The security aspects of protecting data from compromise has been addressed by very few LAN vendors None has yet produced a totally secure system There are two types of LAN security of concern for our mode of operation namely TEMPEST and transmission security The TEMPEST problem involves electronic radiation from the BIU communication media and line connec tors Vendors have not addressed this problem at all A commercial LAN 'would need to be TEMPESTed by the purchaser unless the vendor agrees to do it at additional cost Transmission security is the encryption of data being sent over the communication lines Several vendors are addressing transmission security by putting an encryption algorithm in the BIUs There are no such off-the-shelf units available to date Network Systems Corporation and SYTEK corporation are two vendors that are addressing data encryption The only other approach to transmission security is one in which the host provides the software to encrypt and decrypt the data itself LAN In-House Activities NSA has had working packet switching and local area networks in operation for several years The experience and knowledge gained through these efforts will prove invaluable in the development and integration of LAN technology to meet agency needs T443 will be evaluating LAN technology for office automation through the use of the XEROX ETHERnet This allows office clericals professionals and managers using workstations to interact with other users on the same LAN Office memoranda inter office mail and data files can be shared with every connected LAN user A prototype system will be used to evaluate LAN data flows between users Basic XEROX hardware is being tested to attain maximum network operational efficiency Functional procedures are being generated to create an operational test package Upon completion of the prototype test evaluations will be coordinated in T443 for the planned implementation of the full operational office automation network Since 1976 T41 has been developing a local network using Network System Corporation's HYPERCHANNEL adapters The HYPERCHANNEL hardware has proved very reliable with a 600D-hour Mean Time Between Failures MTBF These adapters are employed in three major Jan 83 processing centers where extremely high data transmission rates are required The cost for this type of network is 40 to SOthousand dollars for each host connection permitting an advertised data rate of 50 Megabits per second RBI has been actively involved in network technology for several years They have studied different vendors' hardware and software and are currently contributing to the development of MITREBUS technology for general applications They intend to model and test baseband and broadband technologies on LSIU Z8000 and Motorola 68000 hardware T44 has been directing many of its LAN inquires to R81 R63 is developing a fully TEMPESTed LAN for field site use also based on MITREBUS technology Their efforts in LAN technology are of interest to T44 since it appears that the requirements driving the development of field site LANs are similar to those we may have in-house T44 is currently evaluating the R63 requirement in order to assess the level of compatibility with both LAN architectures Gateways will be required for inter-network communications with LANs and other networks R63 and T44 are currently studying one such gateway problem This gateway will permit a field site LAN to be connected to PLATFORM Future LAN Plans With the rapid development of communications and computer technology the cost of LANs is expected to come down wi thin a few years Technical advances will no doubt stabilize the technology to allow mass produc tion of more reliable LANs This should solve the majority of user requirements for communicating locally The next significant development will come when the LANs need to be connected to other networks Worldwide communication on digital packet switched networks is now becoming a reality LAN technology and the development of gateways will make it possible for the local user to achieve local and global communications Current LAN architectures must consider the global communication requirements of the future whenever possible in order to meet the ever expanding Agency commitments Conclusion This brief overview of LAN topologies and access methods depicts that current commercial status and Agency development is progressing Within two years LAN concepts will be stabilized and a user will be able to select a well defined LAN to meet the requirements of his application CRYPTOLOG Page 41 F8R 8PPI8rkb H H1 8NM ' OCID 4011963 p8ft 6PPleI 3 O LY P L byl 86-36 IR53 BACKGROUND PROBLEMS ontemporary digital computer programming makes use of languages which have progressed from the entirely machine-dependent tedious assembly stage to a nearly machine-independent expedient high-level stage High-level language efforts continue to push towards even higher levels e g Ada The equivalent of a few statements in a latest high-level language could require hundreds of assembly language statements A hardware counterpart digital logic design makes use of methods which have progressed from 2-valued Boolean algebra truth tables and Karnaugh maps to those in combination with hardware design languages system development hardware etc These additional means for logic design include art forms and various algorithms developed since Karnaugh maps There is at least one difference between the progress made in programming and that in digital logic design Programmers having advanced from the assembly language environment now create almost entirely with expedient yet efficient high-level languages Logic design practitioners in contrast to theorists or researchers still rely heavily on a tedious 2-valued Boolean algebra when not engaged in design art An expedient acceptable high-level version of 2-valued Boolean algebra has not evolved Jan 83 A problem with today's use of 2-valued Boolean algebra the assembly language of digital logic design is that it forces the algebra into service where it really does not apply TWo-valued Boolean algebra applied quite well transitions between values aside back in the days when 551 small scale integration circuits dominated In fact 5SI is an attempt to realize 2-valued Boolean algebra Besides using 2-valued Boolean algebra logic design practitioners now fiddle around an art form with bits forcing them into devices which for the most part do not really operate on bits Those devices mostly operate on buses of bits--inputs having more than two values--in other words multivalued inputs THE STATUS QUO One might argue that the logic design methods used today however described must be working After all technology is nearly at the point where microprocessors could be sold by the pound from a barrel like dried beans Logic circuits today are designed using a combination of art and science and they may always be A problem with that is balance Given that logic design is much more an art then if person A is born with artistic talent only A may be able to produce good designs Artistic methods cannot be reproduced without CRYPTOLOG FQR QPPISh'th SE Page 42 QUhJPY FeR BFFEe Elm es fi aCID etl JY 4011963 interpretation Scientific methods can but can also be tedious and even encumber innovation an art when the basis of such methods has been overwhelmed by progre ss Such appears to be true for today's logic design methods when they present the designer with 2-valued Boolean algebra as a principal tool changes and rejection results The required technology changes are fearsome Recall all the megabucks of industrial investments and long term amortizations Add to that another fear on the part of industry's customers that all their products could quickly be made obsolete But who cares One must admit microprocessors by the pound is by no means a small achievement How can the stalemate be broken Altruistically perhaps the federal government could help by attraction introduce and use a design math that eliminates at least the scary problems discussed But remaining even with that idea is human resistance to change Logic design practitioners may fear that the algebra which they have known all their lives will be taken away Given the math discussed in the next section nothing is taken away More is added MicroprocessQrs by the pound was fueled with money Business and government invested and still plan to invest megabucks millions of dollars in complex systems and commit for long term amortizations in order to produce today's technology A problem with the megabucks approach applied to processes which include outdated components is that the massiveness of the approach tends to perpetuate the included obsolescence CHANGE At some point a new decision regarding continuation of the present megabucks method is needed Technology is near the limits of speed and real estate room on Ie integrated circuit substrates Gross parallelism and concurrency both candidates for megabucks support are brute force solutions to the limits problem But is that where the money really should be spent One wonders is the technology at hand being used anywhere near its capacity Fearfully the suspicion is that it is not How about the designs placed on substrates--are they known to be minimized No Can some justification for the status quo be made on the basis of expediency In the megabucks environment yes but technological limits are eroding the validity of this argument One component of a smarter approach to future logic design is to provide a better logic design mathematics Such a math would allow logic design to become less of an art Even if incapable of producing minimized results under all criteria for minimization a new design math equipped to be compatible with current and future technologies yet of itself costing nothing in hardware and software monies might yield optimal mixes of expediency and efficiency This idea is far from new Algebras and other calculi that could be used in logic design proliferate Mul tivalued logics have been around for quite some time and attempts have been made to convince industry to use them But two problems with multivalued logics are their complexity and diversity Add to that their implied required technology Jan 83 A FIRST RESULT FROM RESEARCH A mix-valued algebra denoted by Mx which we pronounce mix was first reported on 1 while it was in the throes of preresult research Mx has since grown to a first level of usable maturity Now as a first result of research from RS3 2 3J Mx may be a step in the direction of a math suitable for future logic design As proposed instead of haVing only AND OR and NOT gates Mx has seven others Possibly the additional primitives will enhance designer creativity However one may use Mx as a 2-valued Boolean algebra only Each of Mx's ten gates is capable of accepting a whole bus at each of its inputs and can deliver a whole bus as a single output this includes bus width l These bus-handling attributes may help to reduce logic design complexities Instead of being constrained to the value universe D l Mx allows one to redefine it for every use of any gate Such a freedom may enable whole design outlooks to change to the point of inspiration Each of Mx's ten gates can also operate on combinations of buses of any radix and multivalued signals without concern for technology This independence may help Mx to be resistant to obsolescence Possibilities for compounds of the proposed Mxgates analogous to the NAND and NOR gates developed from 2-valued Boolean algebra's three operators can be imagined Clearly there should also be use for the fact that the proposed Mx-gates can be arranged to form sequential and memory circuits Although not as mature as 2-valued Boolean algebra meaning it remains fertile in many ways Mx has been used successfully in modest prac tical logic design experiments A review of 2-input instances of Mx's proposed gates some of which were used in those experiments are pictured below Yes Mx's NOT gate can CRYPTOLOG Page 43 FeR BFFISHrb eSB 8NLJPY ero 4011963 have more than one input Each Mx-gate instance g operates with respect to its own value-universe called a reference set denoted by the variable r A reference set instance may be ordered orgnot as needed Since r is a variable a gate's reference set may bg changed as often as desired There are no limitations on r contents for any Mx-gate However the eference set for every 2-valued Boolean gate instance is the constant O and is ordered 0 1 This is why designers can use Mx yet not do anything different than when using 2-valued Boolean algebra--2-valued Boolean algebra is a subalgebra of Mx When a Mx-gate' s inputs contain an element not in r the gate will produce the null iJ 2 3 gcan also be the valid result of a Mx-gate's operation D- D D- jD-- to- D 1C - j -jf o- t OR AND INTERSECT UNION ANDe ORe can have one of two effects at Mx-gate inputs EXIST COMPLEMENT NOTe ANDe ORe and NOTe are pronounced respectively existential AND existential OR and existential NOT Each Mx-gate has an associated connective symbol The following table shows them used with output z and inputs x x oooo x o l 2 n usage gate Z Xlx2 x n z xl x2 x n xn z XI x2 Z Xl X2 x n z Xl x2 x n AND OR A NOT INTERSECT UNION COMPLEMENT A ooo o Z -xl X2 o xn Z Xl X2 X n z xl x2 xn ANDe ORe Z Xlj x 21 j xn NOTe EXIST z x13 x 2 3 ooo 3 X n Concatenation in the expression for AND may be replaced with dots resulting in x x 1 2 a The til-bearing input effectively vanishes needing no consideration in the gate output determination b The -bearing input value NOT x n x l x ' x ' 2 n - may be replaced with 'I''' in expressions where the NOT gate is to operate entirely wi thin 2-valued Boolean constraints that is when the gate's value universe is CO l and n l x 'x ' ooo 'x is undefined for n l 1 2 n because 2-valued Boolean NOT is unary Notice t hat x' - x- o Jan 83 appears to have no With b a gate can be made to wait for a non-'l on all none or exactly one of the inputs before generating an output -generation results in a situation which may be unfamiliar to many the usual algebraic properties of association and distributivity involving any gate receiving a are disallowed As an example regarding associativity let two AND Mx-gates be connected in series the first having inputs a b and c and the other having the additional inputs d e and f The expression for their output z cannot be correctly written as z s abcdef Instead the correct expression is z abc def where abc must be evaluated first Definitions of the operations of the proposed Mx-gates first requires definition of the atomizer function Specifically the atomizer function A on a set X of n inputs i e A X where X xl x ooo x decomposes the sets ranged over y all ttts member input variables Xi' is 1 2 oooo n so that no member of the result set is itself a set For example and x 2 S 2 4 6 13 25 then A X 2 3 4 6 7 13 25 CRYPTOLOG FeR QFFlS lJ Is WS i Page 44 omsJPY 4011963 Definitions of the operations of t1 le proposed Mx-gates follow and are different from those originally reported I Except where stated otherwise ordering of r members is not needed in those definitions Notice that for r O l and x 6 O l the AND and NOT Mx-operations g i produce results identical to those same-named operations in 2-valued Boolean algebra 5R __ min A X if YXiex AND X otherwise xi rg OR X ORe X Total ordering of r g members 1S x needed for the following NOT X definition Also the least valued member or its r must behave like a p otherwise g zero the next higher must behave like a one the next higher like a two etc EXIST X NOT X i unionUA Xl A X2 o o A xn i f Yxiex xi rg UNION X e p otherwise intersection A X l A X 2 A X n INTERSECT X e p otherwise - is set subtraction in the following COMPLEMENT definition rg - uniOn A X l A X 2 1 A X n COMPLEMENT It i f YlL i ex x i r 9 otherwise f'x x ex other ise if ANDe X NOTe X Jan 83 CRYPTOLOG Page PeR EURlPPIerAt llS EURl1IL'l 45 n-2 F6R ern epPI8IA BSE 8MbY 4011963 USING THE FIRST RESEARCH RESULT r gp Step-by-step Mx-designs of five combinatorial memoryless circuits ranging from very simple to not-so-simple have been reported 2 making use of a First-Order Logic Design procedure 2 An improved statement of the Procedure has also been reported 3 Specification Transmit to an output zany value from the set a b c common to input buses p q and r p a r q z A listing of specifications and results of the five Mx-designs referred to in the preceding paragraph follows When compared to bused I O input or output or both versions designed using 2-valued Boolean algebra those Mx-design results are obviously significantly simpler Such simplicity will have more value once direct realization ICs for the Mx-gates exist A direct realization effort is under way and a patent has been applied for DESIGN til p s r c r 9Z r DESIGN #4 Specification Convert a single binary bus input x of hexadecimal code to octal delivering the results to binary bus outputs y and z Result y 3x e 3 xl and z xle x' Result Z p q r with the reference set shown with the reference sets shown O 1 2 3 4 5 6 7 x Z or z DESIGN 1J2 Specification Same as for Design IJI except instead of transmitting to the output the identical value from the set a b c send only one signal to indicate that all three inputs are one of a b or c l 2 3 4 5 6 7 O e 8 9 A B C D E F Result z 3Cp q r with the reference sets shown a b c p q r r D a b c T DESIGN #5 Specification Design a comparator which will indicate at one of its outputs g e or 1 lower case L that at its inputs x and y x y x y or x y respectively Result DESIGN 13 9 3 1 Y and I 3C3Cx yl Cxyl x e with the reference sets shown Specification Design a multiplexer having bus output variable z data bus input vari- x abIes p q and r and a select bus input variable s so that via s value a selects y p value b selects q and value c selects e r gq x y r Result z ps qs rs with the reference sets shown and where a p b q and c r Notice that associativity cannot be applied to the result expression Jan 83 FQIl r qe D x y El x L 1 CRYPTOLOG QFFI6 r'1 3C3Cx y Cxyl yll ij6K Page 46 Qtl JPY FeR aCID BFFI8IA 96S QN Y 4011963 d ITEMS STILL IN RESEARCH is a clock signal C is a high potential and is a low potential this circuit also describes the single-direction behavior of the nMOS pass transistor used in IC chip design The above figures an assortment of heretofore unpublished memory circuits for the reader to ponder use only the proposed Mxoperators 1 A min latch The output will hold the minimum of all values it has received since being ac tivated Resets to upon introduction of a value not in the reference set 2 A max latch The output will hold the maximum of all values it has received since being activated Resets to upon introduc tion of a value not in reference set 3 An accumulating data latch The output will hold all inputs Resets to t J upon introduction of a value not in the reference set 4 A min-max latch could be used as a truest and most false value finder The output holds the least and greatest values received since being activated The min or max value is reset to t J upon introduction of a value not in the AND or OR gate reference set respectively Both the min and max values are reset to t J upon introduction of a value not in either reference set 5 An arbitrary-value one-level memory c 6 t J C C d d data r r gb C d r ga gc r gd d A new value of d is loaded in memory whenever c C When c Jan 83 6 arbitrary-signal one-level memory c 6 C d Ei data r r C d r r d d A neiainsta e of d is l8 ded fn memory whenever c C This is a generalized version of circuit 5 d may be other than a value e g a set Therefore under the same assignments of potential values for C and as described for circuit 5 this circuit also describea the single-direction behavior of the nMOS pass transistor 7 A polarized single symbol represent circuit 6 i e single-level memory 8 A connection of two circuits 7 This configuration accounts for the bidirectional behavior of the nMOS pass transistor When allowed to represent a connection of two circuits 6 this configuration more specifically accounts for the bidirectional behavior of the nMOS pass transistor Input c still represents a clock signal but the remaining terminals are now each I O terminals Hence the remaining terminals are relabeled impartially x and y This configuration additionally requires an additive Logic Current Law analogous to Kirchoff's Current Law for complete operation description The Logic Current Law is beyond the scope of this paper CRYPTOLOG An Page 47 FeR BFF El Eirt tHI III BUt r used to a gated FeR eFFI8L r fBe eubY 4011963 CONCLUSIONS AND SUGGESTIONS Although at a usable level Mx is still immature It needs enhancements born of feedback from users and researchers who may even find fatal problems with it But potential users may find little immediate incentive to try Mx Having a variety and abundance of building block ICs those users may not want to learn a new design algebra no matter how good it may be Logic design today is largely a matter of putting together an art form large Ie-realized functional modules Having to work a little harder every now and then designing-in some SSI glue chips by means of a tedious 2-valued Boolean algebra may be acceptable And having even greater capability yet with the same size building block ICs possibly resulting from use of an updated design math may have little importance to them Yet among them may be those who would like to see logic design done more expediently and methodically with the possibility of mathematical verification and at the same time would like to try Mx For them beginning suggestions follow First throwaway nothing currently used in design i e methods ICs systems etc Next while designing in the manner accustomed to try to identify logic design tasks which seem tedious Try some of the Mx design methods known 2 3 and possibly add some of your own Note how those methods mayor may not have applied then with that experience look for other areas in your design that could use improvement These steps should help to increase one's ability to think in terms of Mx-gates and properties Method a although expedient may not result in the best solution in terms of space speed and power consumption Method b using PLAs progrannnable logic arrays or variations on ROMs read-only memories may be slightly less expedient and possibly result in slower operation than a But for modest-size reference set and input cardinality combinations b probably uses much less space and power than a Method c if one can monetarily afford it may be the most efficient from the standpoint of circuit performance but may also have the longest period from design to realized circuit bad for breadboarding expedience Using a table-lookup approach suggested by Dr Richard K Kunze R53 24 August 1982 and also used in method b PLA or ROM versions of Mx circuits have regularity readily lending themselves to very large scale Ie implementation Physical circuit compaction beyond that possible by using Mx alone may be available through electrical and physics tricks and sharing of on-chip resources Such an extra-method of compaction is analogous to the greater compac tions in assembly language achievable when human intelligence is applied to the object code produce by a software compiler Has the time come to move towards a logic design mathematics compatible with today's and future technologies References P L 86-36 When sufficiently brave try a small design from scratch using Mx If there are parts of the design for which no Mx method is known patch in what has worked in the past When done one can either put the resultant logic design away until the day when directrealization chips for Mx exist or try to create realizations Realizations can be created by a building them from non-programmable catalog parts b building them from programmable catalog parts and c making custom les I don't care what I t ' s OK George - - - Mx includes your stuff __ Author Jan 83 CRYPTOLOG Fea 8FFI6IAr lfSE Page 48 Q Y FaR aFFI8IAb 'SSE 8UbY Ada Augusta Countess of Lovelace the daughter of Lord Byron and a gifted mathematician who worked with Charles Babbage a computer pioneer She is the person after whom the Ada language is named ID ' 'r- l t ' _ 'v ' ' r' ' it i f -' 'I' Conquering the TOWER OF BABELlw I by INTRODUCTION 86-36 7 L_ ff - - - 1r--------- 1 r1 1 n an effort to implement standards to stay steadily increasing software costs and to create a universal language for embedded computer systems a long-term research effort began at the Department of Defense DoD The result of this effort is Ada a new programming language This paper will explore the development and capabilities of Ada In the process it will illustrate to the reader that several factors have to be considered when examining the performance of a programming language It is not enough to look at only the characteristics of the language The language must be stud ied within the context of its intended purpose The following sections will examine the Ada language Ada's history will be presented as will some features which are not common to higher-level languages Factors which will be important to the long-term success of Ada will be presented in the Conclusion It will be apparent that Ada is still in an evolutionary process and its success is not assured GENERAL OVERVIEW The influx into the marketplace of a variety of programming languages and resultant software began with the commercial acceptance of computers The user who was originally a participant in the creation process was replaced by specialists who provided languages and software which did not necessarily meet the user I S spec i fic needs 1 Changing technology and demands for increased capabilities aggravated this problem Many approaches were initiated to alleviate the resultant software crunch This paper will focus on Ada one Department of Defense DoD solution to software problems Here the pendulum has swung back again and the user in conjuct ion with the specialists is a participant in the process a Po L A programming language cannot be created in sterile environment It must be designed Jan 83 i i with the same care an architect would take in designing a house The architect must be aware of the customer's needs and objectives before initiating design plans He must also be aware of other factors which will interact with the house These will include but are not limited to public utilities the neighborhood and the customer's lifestyle Once the architect has developed a clear understanding of his objective he can begin to draft a design fitting the customer's desires and relating them to the physical environment The architect's interaction with the customer the zoning commiss ioners and others should not end here if the plans are to be acceptable to all involved To ensure that the final product meets the requirements the design must be reviewed at intermediate stages preferably with those involved to ensure that the original objectives have not been 10st 2 The creation of a programming language should proceed in the same manner The creator must determine what the objectives of the language are to be and with what it will interact Upon determination of what the programming language should contain design plans should allow for adequate reviews throughout the process The final product should be a programming language which meets the needs of the user and can interact well with the user's environment All languages which have been created to date have been created to perform certain functions FORTRAN FORmula TRANslation is a mathematically based language intended for use by both scientists and engineers It is well-suited for the handling of complex mathematical problems but is not well-suited for handling large amounts of input and output I O COBOL COmmon Business Oriented Language was designed for business-oriented problems which may involve a large amount of file processing and I O but only involve s m- pIe mathematical functions Because of l ts business orientation the language was designed to closely resemble English thus being made easy to code and read as well as self-documenting Unlike FORTRAN it has CRYPTOLOG Page 49 Also see page 155 Ada Ada is a trademark of Joint Program Office DOD FQR QFFIQUrI5 JSE QUI5Y 4011963 special provisions to make it easier to manipulate and process alphanumeric data PL l Programming Language 1 combines the advantages of COBOL and FORTRAN i e the file processing I O and mathematical capabilities It is a multi-purpose language which can efficiently handle either scientific or commercial problems as well as combinations of the two These examples illustrate the diversity of programming languages It should be evident that to date there is no language which can perform all functions optimally Tradeoffs have to be made when deciding which programming language to use The programmer thus has to consider several factors when choosing a programming language Among them are Language availability Language familiarity of programmers Ease of program maintenance Cost of programming Time needed to write the program Time needed to execute the program and Characteristics of the problem 3 Whether a language is or can be supported by his system must also be considered These are factors which help to determine which language will be chosen for a particular application They are also factors which will be included in the determination of whether Ada will become the standard Department of Defense language recommend solutions Exist ing programming languages were reviewed to see if any could fulfill all the requirements None could satisfy more than 75% of them Factors which led to the decision to create a new programming language included the inability of current languages to handle easily and efficiently such functions as parallel processing real-time input and output I O and exception handling It was also noted that in many projects at DoD it was necessary to modify existing languages in order to provide for needed enhanced capabilities Once the decision was made that a language needed to be created competitive bids for a language design that met the requirements were requested The design was to use one of three languages for its base ALGOL 68 PASCAL or PL l Of the three PASCAL was the most popular 5 In 1977 the field of compet itors was cut from four to two and in early 1978 CII HONEYWELL BULL's language design was accepted as the preliminary definition of Ada 6 It is important to note that there was a great deal of input from many sources about the requirements of the language As was stated in the Foreword of the Reference Manual for the Ada Programming Language liThe reviews and comments the numerous evaluation reports received at the end of the first and second phases the more than 900 language issue reports comments and test and evaluation reports received from 15 different countries during the third phase of the project and the on-going work of the IFIP Working Group 2 4 on system implementat ion languages and that of the LTPL-E or Purdue Europe all had substantial influence on the final definition of Ada D EVOLUTION OF ADA The creation of a new programming language was not originally considered as a solution when it was discovered through several studies in the early 19705 that a major problem at the Department of Defense DoD was language proliferation Instead the DoD high-orderlanguage standardization program was initiated This program considered standardizing seven already established programming languages in order to alleviate the problem Feedback from the users however indicated that seven languages would still be too many languages to simplify the problem notably More studies were initiated to determine what the requirements of the language would be It was discovered that there were no significant differences in the tri-service Army Navy Air Force requirements Furthermore $100 million per year would be saved by converting to a simple common language The decision was to consider a single programming made language 4 The first definition of requirements for a single common language was presented in 1975 by the High-Order Language Working Group HOLWG which had been created to identify and Jan 83 The requirements documents all of which were circulated for comments went through five revisions The culmination of this effort was the STEELMAN Report published in June 1978 which set forth the final requirements of the language 8 Because the importance of the support environment is realized the same approach used to develop the STEELMAN requirements was used to develop the requirements for a support environment 9 Both the Army and Air Force have awarded contracts to build the Ada compiler and develop a program development environment 10 In their contract the Army specified that the compiler be capable of running on four systems the VAX-ll 780 the PDP-ll 70 the AN GYK-12 and the Litton L3050 11 The 1n1tial compiler will be designed to run on the VAX-II 780 and will generate code for various target machine environments The completion of this compiler is slated for early 1983 12 CRYPTOLOG Page 50 FeR ePFler rOb SSJ3 SUhY F8R ID 8FFI6IA 4011963 The Air Force contract initially specifies a compiler to run on the IBM 370 series with future systems including the Perkin-Elmer Corp model 8 32 the Dec system 10 and the CDC 6600 The completion date is slated for mid-19B3 13 Because some universities and hardware manufacturers have also begun compiler development projects it is considered likely that there will be a workable full Ada compiler by the end of 1983 14 - 8SS 8NbJPY The Ada programming language was completed in July 19BO By December 1980 it was designated Military Standard 1815 IS with the intent of using the language to create software which will implement such applications as command control and communications fire systems storage and retrieval and tactical systems lG Ada was submitted by the Department of Defense in April 1981 for approval by the American National Standards Institute ANSI and will be submitted by ANSI to the International Standards Organization ISO for approval as an international standard 17 While Ada has been designed to act as common language for embedded computer systems indications are that it might also act as a standard language for general application computer systems AN ANALYSIS OF FEATURES OF ADA The structure of the Ada language is not unique in itself as Peter Wegner illustrates in the following overview of the levels of Ada's program structure Charac ters which are the lowe st-leve 1 atomic constituents of a program Lexical units which are the atomic units of meaning semantic units Expressions which specify a computation that computes a value Assignment statements which assign the value computed by an expression to a variable Control structures which can control the sequence in which assignment statements and other statements of the program are executed Declarations which define the attributes of identifiers used in the statements of a program Program Units which associate declarations defining the attributes of identifiers with statements which use them Compilation Units which are the units of structure for program development and separate compilation 18 The majority of these features are common to all higher-Ieve 1 programming languages What makes Ada unique is the versatility of the compilation units These include procedures and functions as well as two newer concepts Jan 83 packages and tasks Each unit is separately compiled and subsequently placed in a program library The compiler can then check for syntax errors and error of type compatibility of calls throughout its compilation process Types will be discussed later The Ada Package is considered one of Ada's most significant features I t is defined in the Reference Manual as a unit specifying a collection of related entities such as constants variables types and subprograms 19 By grouping these together it facilitates a logical view of the unit as well as allowing the modularity sought in top-down design It is a flexible construct which can be used for a variety of functions One is to create a package wh ich allows the shar ing of information in a connnon area apart from any one program This is similar to the FORTRAN COMMON block The difference lies in the fact that data types may al so be provided via the package Another use which deals with the information hiding feature to be discussed later is grouping re lated subrout ines This allows the grouped subrout ines to share the same 'variables while inhibiting access by modules outside the package 20 It is the structure of the package which allows information to be hidden from the user of the package The package is partitioned into two sections These are the package specification and the package body The package specification s basically a sequence of declarations It IS divided into a visible part and a private part Wi thin the vis ib Ie part are those ent it ies which may be used by units outside the package The private part contains that which is necessary for the compiler but not for the user of the program In the package body is contained the code necessary to implement those resources specified in the visible part of the program specification Neither the declarations nor the code in this section is accessible to the user An example of a package and its call follows package RATIONAL NUMBERS is type RATIONAL 1S private --hides representation from users function EQ X Y RATIONAL return BOOLEAN function X Y RATIONAL return RATIONAL function X Y RATIONALheturn RATIONAL function M N RATIONALheturn RATIONAL private type RATIONAL is record NUMERATOR INTEGER DENOMINATOR INTEGER range 1 INTEGER'LAST end record end RATIONAL NUMBERS --end of package specification CRYPTOLOG Page 51 P6ft 8FFIeIAtJ MSr SUbt F8R 8FFf8'Et'th lfSE 8UeY DOCID 4011963 package body RATIONAL_NUMBERS is procedure SAME DENOMINATOR X Y- in our RATIONAL is begin --reduces X and Y to the same denominator end function EQ S Y RATIONAL return BOOLEAN is U V RATIONAL --body of EQ begin U X V Y SAME DENOMINATOR U V return U NUMERATOR V NUMERATOR end EQ function X Y RATIONAL return RATIONAL is ooo end function X Y RATIONAL return RATIONAL is o end rr func tion I M N RAT IONAL return RATIONAL Another prominent feature of Ada is strong typing The data type determines which set of values and corresponding operations are applicable for a given identifier that has been declared Strong typing restricts the value and operations of the declared variable to only those that are applicable to the declared type The type of every variable and expression can be determined at compile time thereby reducing run-time errors The attention the programmer needs to give to typing of variables also reduces errors during the writing of the program The user is given some flexibility in that there are four classes of types These are scalar types composite types access types and private types Furthermore Ada has powerful type-definition capabilities which allow for the defining of new types by the user is ooo end end RATIONAL_NUMBERS To use the Rational Numbers Package with RATIONAL_NUMBERS --make compilation unit visible procedure USE_RATIONAL is use RATIONAL_NUMBERS --allow unqualified use of EQ RATIONAL X Y Z RATlONAL --declare three RATIONAL objects begin X 3 4 --rational number creation and assignment Y 6 8 if EQ X Y then --rational number equality testing Z X Y --rational no multiplication and assignment else Z X Y --rational number addition and assignment end if end 21 The Ada Task is defined by the Reference Manual as a routine that may operate in parallel with other routines 22 In essence what occurs is a simulation of a multi-processing system Through the use of keywords execution of task routines can be interleaved While this is common to assembly level languages it is not common to higher level languages Benefits include increased efficiency and aid in conceptualizing certain applications 23 The construct of the task is the same as the package Consequently the same information hiding feature is present The difference is that the body part of a task contains a routine that can be run in parallel with other tasks The first class of types to be addressed is scalar which is subdivided into discrete and numeric subtypes Discrete in turn includes enumeration and integer types Scalar types can be used for indexing loop iteration and choices in case statements and record variants The enumeration type explicitly declares its values in the type definition It is useful because it can be used to define finite sets of objects such as colors weekdays or directions The predefined types 'character' and 'boolean' are enumeration types Numeric types provide the means for performing numerical computations It can be viewed as being subdivided into integer and real types The integer type is predefined and consists of a set of consecutive integers While it has an implicit set of values a range of values can be explicitly set by establishing a range constraint in the type definition Approximate computations can be accomplished through real types which are subdivided into floating point types and fixed point types Composite types describe arrays and records An array is an aggregate of identically typed elements which are identified by indices A record can be viewed as a structured obj ect consisting of named elements of possibly different types The elements are selected through their identifiers Composite typing allows a good deal of flexibility to the programmer The elements in both arrays and records can be manipulated individually treated as aggregates andlor be directly assigned to compatible structures The bounds of an array need not be specified until object declaration time Thus it is possible to define an array with unspecified bounds and allow other arrays to be defined within a specified range For example Jan 83 CRYPTOLOG Page 52 FeR OFFfGfAL ONLf peR eFPISlAe tf5g elleY aCID 4011963 type INDEX is range 1 1000 --type INDEX is used to define type VECTOR is array INDEX of INTEGER U V VECTOR I 20 10 27 W VECTOR l --array type VECTOR wi th unspecified bounds --20 elem vector objects --10 elem vector objects Also permitted by Ada are records having elements of varying size or type They may also be defined dynamically however the size must be specified at record allocation time The last two types to be reviewed are access and private types The access type is required in order to d fine a group of dynamic variables The variables are generated internally and assigned internal names Because these are not static variables their existence begins at execution time and ends at the termination of the program 29 The private type exists as a function of the information hiding feature of Ada It allows only the name of the type to be accessible to the user Only internal modules have knowledge of its properties This is another way to ensure that external programs cannot corrupt local entities 26 The fanfare with which Ada is being presented can be dece i v ing Exper ience has shown that major changes are not quickly accepted It is important to note for instance that the Department of Navy is not an enthusiastic supporter of Ada One reason for this is that they have already committed themselves to another single language which meets their needs In this case the costeffectiveness of any changes has to be fully considered before they will take place This illustrates that Ada will not necessarily be accepted with open arms by all Personal prejudices will have to be overcome Efforts are being made by the Department of Defense to combat these barriers The importance of the Ada Support Environment has been recognized and the same amount of time and energy which has been poured into the language is being placed into its environment The Department of Defense has realized that if the overall system is not compatible with the user then the chance of success for the language is limited In addition a compiler validation program is being created in order to ensure that all compilers meet the rigid requirements All proposed Ada compilers must pass this validation test before they will be accepted CONCLUSION The scope of this paper only allows a cursory look at some of the features of Ada which distinguish it from other higher-level languages It is a complex language which is capable of a variety of applications The fulfillment of the STEELMAN requirements appear to have created a language which will satisfy the broad spectrum of applications that exist at the Department of Defense The success of Ada relies ultimately on its acceptance by the programming community The Department of Defense has expended a great deal of time and money in an effort to create a language that will meet its needs In doing so they have utilized worldwide resources throughout the computer industry Participants have included but were not limited to universities private industry and US government as we 11 as foreign contributors Private industry has been encouraged to participate in the process since it will continue to be a major source of software Currently Zilog Inc and Litton Systems Inc are working on a program which will allow the Ada language to run on Zilog I s l6-bit System 8000 and generate code for the 28000 microprocessor family 27 As an indication of possible international acceptance both the West German and British Ministries of Defense are developing Ada systems Jan 83 FeR The language uses many software-engineering principles The textual layout of the program units encourage modularity and top down design They may be developed independent ly and then separately compiled This is particularly useful in a team programming effort After a common interface has been agreed upon each programmer may develop code and compile his unit The result would be an interacting program The ability to hide information within a program unit is another important feature The control over the access of a program's local variables and the implementation features for that control prevent both corruption of the variables and changes to the body of the program by external programs Security of a program is also enhanced by the denial of access The language is problem-oriented Various factors work together to shorten the distance between a program's conception and its implementat ion This is espec ially true of the strong typing feature A progrannner must be aware of a variable's type at all times because the compiler will flag type compatibil ity errors Run-t ime errors may also be flagged because of the ability to place range constraints on variables For example if a number should fallout of bounds the compiler wi 11 flag it CRYPTOLOG eFFISrA Page 53 tfBS etleT 4011963 F8R 8FFleIAt lfSE 814b Ada is a powerful language with the ability to perform complex mathematical functions Current software-engineering principles have been utilized Efficiency readability and maintainability of programs has been stressed It is able to perform real-time and timecritical operations Its abstraction facilities encourage the portability of programs In essence it fulfills the functional requirements of STEELMAN Ada's success however will be dependent upon the support environment The beginning of this paper pointed out that various factors are considered when choosing a language Most of them were related in some way to the training of the programmer At present there is not a well-defined training program The Ada Reference Manual is not adequate as a tutorial It has been indicated that the Department of Defense is relying on the universities and private software firms to initiate teaching procedures It is doubtful that this will be adequate The complexity of the Ada language is not the only thing working against it Costeffectiveness is an important factor As was noted the Navy is already firmly committed to its own standardized language It has to be proved that Ada will be more effective for its purposes before any full commitment will be made Another question arises when determining what costs are involved in implementing Ada and rewr it ing current software The implementation schedule of Ada will affect how well Ada is received A gradual introduction of Ada into the working environment may in the long run be more successful While Ada is a powerful language it was written especially for embedded computer systems and is not all-encompassing There will be ins tances where Ada wi 11 not be the best language for a given appl icat ion Judgments will still have to be made as to which language should be used If the Ada language is successfully implemented however it will cut down on the proliferation of languages in the D partment of Defense and subsequently cut down software costs Footnotes Welke Larry The Origins of Software Datamation Vol 26 No 12 December 1980 pp 127-130 2 Osterweil Leon J and Richard N Taylor Notes on Software Engineer ing Lecture Dept of Computer Science University of Colorado Boulder Colorado 3 Edwards Perry and Bruce Broadwell Computers in Action Data Processing California wadsworth 1979 4 Carlson William E Ada A Promis ing Beg inning Computer Vol 14 No 6 June 1981 pp 13 14 5 Carlson p 14 6 Buxton John N and Larry E Druffel Requirments for an Ada Programming Support Environment Rationale for STONEMAN The IEEE Computer Society's 4th Annual International Computer Software and Applications Conference 1980 p 66 7 Reference Manual for the Ada Programming Language United States Department of Defense July 1980 8 Cohen Paul M Ada A Language and a Concept 20th Annual Technical Symposium of the Washington D C Chapter of the ACM Proceedings June 1981 p 59 9 Hurwitz Judith and Paul Kinnucan Ada Compiler Programs Get Under Way at Pentagon MiniMicro Systems Vol 12 No 12 December 1979 p 35 10 Cohen p 59 11 ----Hurwitz p 35 12 Cohen p 59 1 Jan 83 13 14 15 16 17 18 19 20 21 22 23 24 25 26 CRYPTOLOG Ibid Hurwitz p 35 Cohen p 59 Ibid Reference Manual Wegner Peter Programming with Ada An Introduc t ion by Means of Graduated Examples SIGPLAN Notices Vol 14 No 12 December 1979 p 15 Reference Manual p D-2 Reference Manual Wegner Peter A Self-Assessment Procedure Dealing with the Programming Language Ada Communications of the AGM Vol 24 No 10 October pp 647-677 Programming with Ada pp 1-46 W-e-g-n-e-r- -A Self-Assessment Procedure pp 670-671 Reference Manual p D-3 Evantoff William Gary Anderson Ronald Price and Irving Rabinowitz Ada A Significant Software-engineering Tool Mini-Micro Systems Vol 14 No 4 April 1981 p 224 Wegner Programming with Ada p 11 Ichbian J D J G Heliard D Roubine J G P Barnes B Krieg-Brueckner and B A Wichmann Rationale for the Design of the Ada Programming Language ACM Sigplan Notices Vol 14 No 6 June 1979 pp 6-1 - 6-10 Reference Manual Wegner A Self Assessment Procedure pp 647-677 Wegner Programming with Ada pp 1-46 Page 54 'Oft O ' 'leIAt lfSE SUM FQR QFFleI6m Q'SE SUbY ern 4011963 MANAGING OUR SYSTEMS FOR PERFORMANCE ARE WE GETTING WHAT WE DESERVE U by I '----_---- I T3 P L 86-36 sychologists tell us that students who are graded perform better than students who are not graded While it is not generally realized the same holds true for computer systerns measuring and reporting their performance induces better performance--not because computers are somehow people-like but because their managers are D p MEASURES OF PERFORMANCE Any serious attempt to report or even discuss system performance requires that the basic components of performance be separated out into measurable dimensions Availability is normally expressed as percent of a specified time period during which the system was available to the customer Since the system may actually represent the intersection of several subsystems the determining and reporting of availability in a way that is relevant to the customer is essential Responsiveness the time taken by the system to perform a service is best measured over groupings of like transactions Typical metrics of responsiveness include average response time per Class Z transactl on percent of Class A jobs completed within Z minutes l This writer has found it exceedingly useful to report on a hybrid performance dimension dependability representing the intersection of availability and responsiveness percent of time during which the system was up and reasonably responsive l Productivity describes the amount of produe t processed through the system over a time period of interest and is normally expressed in terms such as transactions per hour jobs per shift Reporting the utilization of installation resources and devices fulfills dual purposes o Breaking down all work transactions performed by the system into meaningful work categories or workload s and then describing the consumption of Yet over the years the benefits of grading computers--of formulating relevant processing objectives and then scoring system performance against these objectives--have been largely overlooked In an attempt to promote objective-oriented performance management practices across our large installations and subsystems this paper takes a twofold approach J l A strong case is presented for the implementation of installation and subsystem performance reporting which is effective reporting which accurately portrays the ability of the installation to satisfy customer needs and which is suffic iently comprehensive to aid in the ongoing management and administration of the installation Within the framework of a large general-purpose Agency installation the mechanics and pragmatics of implementation are discussed and demonstrated Over and above informing and explaining th is pape r seeks to move Agency thinking--to persuade and convince Agency managers and implementors that performance reporting can provide a sizable payoff and that the obstacles to reporting performance within a complex processing environment can be surmounted Jan 83 CRYPTOLOG Page 55 FeR eFFIe IAr ase 8Ur 'j 4011963 o installation resources in terms of these workloads enables the allocation of resources and the relative cost of each workload to be reviewed The aggregate utilization of installation resources across all workloads gives an indication of - Serve capacity to support crisis loads in the present and expanded services in the future ENSURING PERFORMANCE REPORTS WHICH ARE RELEVANT Mos t assured ly the concept of report ing performance is not a new one But a survey of our large installations and subsystems would reveal that in many cases performance reports are conscientiously generated but routinely ignored--because management finds them irrelevant For other installations -performance reporting is just not practiced perhaps because a past history of irrelevant performance reporting has cast the concept into benign neglect or even disrepute Performance reports fail to be relevant when they are inconsistent with customer perceptions those which fail to explain or account for irate customers are just not worth the bother of reading Performance reports achieve relevance when they J focus on meaningful customer objectives and J -report on the system's degree of success in attaining them ENSURING RELEVANT REPORTS GET READ As a rookie journal ist quickly learns an interesting and relevant story is apt to go unread 'unless it has been headlined and organized to attract and retain the attention of the reader For just this reason the dai ly performance report should resemble stylistically a newspaper article telescoping the data from most important to least important from summarizations to specifics Analogous to the headline is an executive shift summary scoring total installation performance against objectives and rendering a rapid determination as to' whether and where attention and further reading is required Intermediate level report segments should break down shift productivity and utilization into categories that are meaningful to management Lower level report segments should refine problem areas both in detail and by time slice hinting at suspected problem areas Processing exceptions should conclude the report with inordinate wait times noted and inordinate resource consumption--sometimes the cause of systemwide degradation--attributed BENEFITS OF EFFECTIVE PERFORMANCE REPORTING Routine performance reporting which IS J Customer objectives may be estimated or negotiated but no matter how they are arrived at they should represent real and perceived customer needs Specifically customer objectives should address activities and services of concern to a large cross section of customers over time periods deemed critical by the customer for example the prime shift directed at relevant processing objectives sufficiently comprehensive to support troubleshooting and organized so as to attract and not deter the reader J J offers many benefits to ins talIat ion manageYes ment tuners planners and operators operators EXAMPLES The degree to which an installation is fulfilling quantifiable processing objectives becomes a source of pride or concern to its staff Concern leads to concerted' action Bu t pride or concern when commonly shared enhances the esprit de corps of an organization System Availability over Prime Shift 95% Average Response Time of Transaction 5 sec Percent Class A Jobs Completed in 10 min 80% Performance reporting exposes the existence of performance bottlenecks which once uncovered are not apt to be ignored The success fu I ident ificat ion of cus tomer objectives virtually guarantees relevant reporting--reporting which documents user satisfactions and dissatisfactions suggesting the cause of the latter or at least hinting at its origins Performance reporting suggests focal points for system tuning and ultimately enables systems personnel to determine if their tuning efforts have improved or worsened the performance of the system in terms of those performance dimensions which the customer deems critical Jan 83 CRYPTOLOG Page 56 FeR ePFIElL% WEl IltH JPY F8R 8FFISIAr HSS 8 lr y ern 4011963 The reporting of perfonnance exceptions to spot enables installation personnel to take resource consumption hogs and appropriate action An offending user 1S often unaware of his culpability and grateful to learn what he can do to improve his service Perfonnance reporting enables management to detennine if the allocation of installation resources among the different work classes is as intended and to determine if priority service is being accorded to priority work classes Over the long run a continuing history of performance report ing enables installation managers and planners to track growth by workload and to antiCipate future capacity needs on the basis of continuing trends In summary perfonnance reporting enables management at all levels to accurately assess the quality and quantity of service being del ivered to detennine if process ing ob j ectives are being met to evaluate the resul ts of intended corrective action and to continually gauge reserve capacity with an eye to the future A CASE IN POINT CARILLON High-sounding and idyllic as they may sound these concepts can be put into practice even in a very complex environment As a case in point we will focus upon CARILLON an Agency installation whose size and complexity ambivalently discourage and demand the management control which only effective performance reporting can provide P L Jan 83 CRYPTOLOG 86-36 Page 57 FQa QFH6lAb HSS 81 b l T aCID 4011963 F8ft Jan 83 8FFleI H3 CRYPTOLOG 8R r Page 58 FeR 8FFISIAt eSB 8lfbY P L 86-36 OCID 4011963 Jan 83 Page 59 40W ero 4011963 Felt eFFISlftb HS'S SllbY L 86-36 Jan 83 CRYPTOLOG Page 60 FeR eFFIeIAb HSS SUb' P8ft 8PPleIAI tlSB 8111 Y aCID 4011963 Jan 83 CRYPTOLOG Page 61 FeR eFP'f8Ub HSB eUb' L 86-36 ero 4011963 FeR eFFIe Mb Hl'lll elibY Jan 83 CRYPTOLOG Page 62 YQR QFFHJ HI USI euI Y L 86-36 fQR Qff16L 15 T lS6 81l15Y aCID 4011963 o ' Jan 83 CRYPTOLOG Page 63 FeR 8FPI8I'' b WSE QUbY P L 86-36 ero 4011963 Felt eFFie ikil ass 8l1bi P L Jan 83 CRYPTOLOG Page 64 FSll SPFl6IA'b HBII SUeY 86-36 FeR eFFreb'rh SS13 elfE Y 4011963 Jan 83 CRYPTOLOG Page 6S FeR eFFI6IAb ass 81fb'l L 86-36 ero 4011963 PSR SPPleL'th HSEi S lhY Jan 83 FQR CRYPTOLOG QFFlbl b QEE Page 66 Q bJPY L 86-36 OCID 4011953 Jan 83 9 Page 67 ero 4011963 L FeR 8FFI8Ihb W88 SUhY Jan 83 CRYPTOLOG Page PO OPPtetAL s MLf 68 86-36 86 36 69 83 CEXPTOLOG Page Jan DGCID 401196%Pj86_36 Jan 83 Page 70 FeR ero 9SE eFFISII Q JPY 4011963 GETTING PERSONAL CUI F L 86-36 bll------- 52 oday with the information explosion fully underway information managers around the world find themselves trying to cope NSA is no excep U tion And as technology marches on NSA analysts or users as we call them cannot always keep pace While discussing how new technology can help NSA manage its information resources this paper will also examine the human factor how people fit into the automated information systems picture Information--its acqu1s1tion processing dissemination storage and retrieval --permeates every phase of NSA operations The majority of information handling including research takes place in the Agency's TS Informat ion Resources Management organization Here the battle with the information glut is waged daily o As the need for fas t prec ise and complete information has increased T5 has begun to rely more and more on the speed and accuracy of commercially available information services Des igned for every phase of the information process from acquisitions and cataloging to electronic mail and report generat ion the automated informat ion system is billed as this era's panacea The most popularly subscribed-to elixir today is the online information data base Again NSA is no exception Ftll'O In its role as Agency information manager T5 maintains contracts with a myriad of these corporat ions Centr al Research T5211 alone where the majority of NSA' s Jan 83 on-line information searching takes place subscribes to five commercial data bases Lockheed's DIALOG System Development Corporation's SDC ORBIT the subsystems of the New York Times Information System NYTIS the Bibliographic Retrieval Service BRS and Mead Data's NEXIS U Simply stated the hosts for these multi-file information systems are accessed through leased hardware terminal printers via commercial nonsecure telecommunications networks Search results are retrieved by keyword and field strings in the appropriate query language connected with Boolean operators Results most often in the form of bibliographic citations and or abstracts can be scanned and printed on-l ine at 1 200-baud rates or can be ordered off-line for receipt by mail in 10-12 days Beyond start-up and yearly contract fees costs include per-hour connect rates for the telecommunications networks and the files and range from $15 00 to $450 00 per hour depending on the file accessed U At first glance these costs may seem high but when balanced against the savings in person-hours for processing and scanning storage space and subscription fees the commercial systems are actually cost-efficient DIALOG with its more than 170 separate information files is a good example of this efficiency Why subscribe to process store and scan through the more than 750 000 sources that DIALOG indexes when you can pay a reasonable fee to access just what you need when you need it CRYPTOLOG Page 71 feR efffe fA ' USB eUM' aCID 4011963 U But these systems are already old hat New technology can make what once seemed a revolutionary way of coping with the information explosion seem passe Applying microcomputers also referred to as personal computers to these commercial information systems can greatly increase the speed accuracy and usefulness of their services U The most common application of a microcomputer to the commercial data bases is for reducing a four-minute or more six-line logon procedure to a one-keystroke stored operation This can prevent the personal frustration that often develops when a seemingly simple log-on process turns into an aggravating 20-minute tug-of-war with the system That makes the research to follow begin with an already annoyed researcher a volatile and often disastrous combination Since the searcher is already connected to the communications network when he she is attempting to log on the time spent is costing money With the attachment of a personal computer to speed and ease the log-on process cost efficiency results and mental stability is preserved U Another practical use for the personal computer attached to the commercial data bases is for storing frequently-run queries Al though the sys terns already have a querysaving by number capability available for a small monthly fee there is no provision for cross-saving a search from one system to another The query would have to be saved under a different number in each system checked The personal computer could can the query and dump it into a file that could be consulted Quickly before a query is run to make sure it hasn't already been searched on the systems With some sophisticated programming the personal computer could translate a query saved in the language of one system into that of the others and run the search against them as well It could even be ins truc ted to weed out the duplicate citations after they are retrieved F6l 16 Saving an NSA item of interest in our own terminal instead of the system sponsor's also seems a bit more private Although all information on these commercial data bases is unclassified it is wise not to call undue attention to our topics of interest by storing them out in plain view under our sponsor-provided password F6ij6 The personal computer could also be programmed to remind the analyst when an update of' a saved search should be run to whom it should be sent when completed etc Jan 83 When electronic mail becomes a more widespread reality at NSA the personal computer could be networked to other microcomputers in other organizations Search results could be delivered without hardcopy printing ever taking place U Most microcomputers on the market today can be programmed in a variety of languages including BASIC POGOL PASCAL PILOT and LOGO Many come with basic programs preset on floppy disks or offer how-to floppy diskettes also called floppies that ins truc t the user in programming his her own personal computer U The microcomputer can offer the professional information manager searcher the opportunity to somewhat polish the product before supplying the retrieved information to the client Headers and comments could be added duplicates or false drops could be removed typos corrected In striving to fulfill a mission of providing the most accurate information available in a reasonable period of time and in its most usable form editing capabilities like these could aid the information analyst U The hottest use yet however for microcomputers attached to commercial information data bases is data downloading Downloading is a process by which information being retrieved from one system is written onto a medium most likely diskettes of an attached microcomputer for future retrieval editing or storage Once this data is written onto the disks there is really no need to ever pay for retrieving that same information again When a similar request is received later the information is provided to the requestor without the costs incurred by rerunning a search U The diskette can be labeled and filed or be indexed in a directory on the personal computer for future use Floppies can be written over when their content has served its purpose They have a long life when stored properly but their file integrity is somewhat susceptible to physical maladies such as scratches U Requestors could begin to scan their own search results instead of having the knowledgeable but not omniscient information specialist determine which retrieved items are pertinent and which are not The client can determine which items he she would like to have and pr int them out or in the day of CRYPTOLOG Page 72 F6R eFFfefLItl' l IBB eJHI' 'l FBR BFFI8 Ab BSE BJibY aCID 4011963 electronic mail receive scan and store the pertinent information in soft form at his her own desktop terminal Audit and security trails are always of inte res t in our line of work The mic rocomputer can record the various use and performance statistics monitored for these on-l ine data bases Central Researchers current ly record manually the ir on-l ine time and charges summaries of requests communications network accessed and results on a systems logsheet The microcomputer could easily monitor all this information automatically and also provide monthly statistical summaries including audit trails and user performance charts On some models packages for producing color-coded graphics for this type of information are available These statistics could then be employed in identifying problem areas searchers who may need extra training billing irregularities and the general effectiveness of the information tool FSBS The microcomputer could contain the on-line tutorials cruc ial to properly accessing these systems with a minimum of aggravation With more than 10 query languages to learn and employ in Central Research the simplest of procedures can often become confusing The microcomputer could provide logically organized menu screens and step-by-step instructions for the various systems The searcher could refer to these instructions as he she performed the search on-line On-line time spent floundering around in trial-anderror-land is expensive and could be alleviated with this capability No new technology is really helpful unless people can use it U The human factor--how people fit into this picture of automated information management--is and should remain a concern of systems designers and consumers With much of the work force still experiencing Technofear also known as Technophobia fear of technology Technomaniacs must beware of so complicating an information specialist's tools that the information research process becomes the search for the Holy Grail U The increasingly frequent appearance of on-line tutorials help screens and logically layered menu screens indicates that some designers are already paying attention to the human needs of their consumers The demands of executives who do more and more of their own research and on-line report generation were for easier-to-use working aids In response designers are moving away from voluminous technical hardcopy how-to system Jan 83 manuals full of coded fields and technical lingo to English-y user-oriented on-line instructions and brightly-colored almost tempting keyboards U The user-friendly concept an integral aspect of any attempt towards creating a healthy person-machine relat ionship is well worth the effort devoted to countless studies on the subject These studies show people much more inclined to use and as studies prove use correctly a system that talks to them as if in conversation The concept of on-l ine usually an interac t i ve session like volleying in a tennis game means that both participants the user and the host computer must do their part Chances are that if a user is uncomfortable with a language or terminal an input error will occur and the host computer sympathetic but without human compassion will reject the input The result user frustration and incomplete research On-l ine tutor ial s and working aids provide the user with a convenient quick place to look for the proper formats and phrases Since logging off to look for instruction in some manual is impractical and rarely done the on-line aid can solve many problems before they have the chance to develop U A correctly chosen personal computer can become almost a friend or interpreter to the on-l ine searcher The importance of the proper training in how to use the microcomputer and concentration on what it can do to help not usurp the role of the information specialist should be emphasized when introducing users to new technology Personal computers should be chosen with a number of things in mind including design and capabilities naturally compatibility with other systems the selection and functions of its peripherals creature comforts and costs will information managers be inclined to sit at this terminal and use it for that purpose for which it was purchased Or will they be so intimidated by the looks of it alone that they will avoid it like the plague or pray for an early retirement Is it of a comfortable height Is there ample legroom Is the keyboard well-labeled Is the color-type contrasted comfortably with the background screen Is the screen designed to tilt at a natural reading angle Is it noisy Are the diskettes easy to load and remove Is there room for growth Will it still be costefficient in five years Are there peripherals that can be purchased later to expand existing functions These questions and many more must be asked before choosing a personal computer that many different people including Technophobics will have to access daily CRYPTOLOG Page 73 FBR BFFISIlib BSE 811bY ero 4011963 U Costs for the average microcomputer see charts below ranges from $600 00 to well over $5 000 00 depending on the capabilities desired in both the software and the hardware With each personal computer marketed compatible software packages are also sold at addit ional costs Peripherals like CRT's printers modems disk drives and Tempest packages also add up Adequate supplies of floppies for stored data and preprogrammed disks are reasonably inexpensive but they are still an addit ional cost I t is safe to say however that with the proper forethought and investigation including observing how these microcomputers perform in actual workcenter settings and by considering the uses for and the users of the proposed microcomputer the initial investment coule easily repay itself within a l-to-3-year period Applying carefully selected and well designed technology to prevent waste increase productivity and improve morale 1S almost always costefficient U Unfortunately one of the reasons these human factors are often overlooked is becau e those who determine which equipment to procure are most likely neither Technomaniacs nor Technophobics--they are most often Bureaucrats But a personal computer or any technological dev ice chosen at leas t part ially with its users in mind can aid the employee in accomplishing his her tasks increasing productivity and success and developing a healthy person-machine relationship U This paper has stressed both cost efficiency and the human factor in applying personal computers to the commercial data bases at NSA Perhaps we should also take a look at the initial financial investment required to obtain and implement these ideas COMMODORE APPLE 11 ' IBM PC TANDY TRS oo III ATARI 64 5595 51530 51565 5999 5B99 FEATURES Base Price' Advanced Personal Compuler FCJlurcs BUlIt n User Memory Programmable Real Tvpewriter Kevboard 800 64 48K 16K 16K 16K YES YES 66 keys YES YES 52 keys YES YES 83 keys YES YES 65 keys YES YES 61 keys Graphics Characters from Kc'VboJrd YES NO NO NO YES Upper and Lovver Case Leiters 51 Disk Capacity Per Dn YES 170K Upper Only 143K YES lOOK YES 17BK YES 96K Music Synthesi zer YES YES YES NO YES NO NO NO YES NO Hi Fi Output YES NO NO NO YES YES EXTRA EXTRA NO YES YES NO NO NO YES YES vES YES YES NO AudIO Fealures Sound Generator Video Features lVOvlpul Inpul Output Features Smart Penpherals Software Features CP M' Option raver 1 000 Pockagesl MAKE MODEL Proc essOt 1 tpe WonJlenglh Memory 5 141 lntefnall Storage Cap lc ty on 2 FlOPPIes VletOf 9000 8088 16 oils 128-ll96KB 2400KB S08S 5V - 15V - C I e 1Ofrndl A dio Shick X roc IBMPe 80 25 820 Applolll Z80A TRS80 Modo' 6502 Z80 16 blls 8 bits 8 bits 8 bils '6-2S6KB 640K8 4KB I60KB 96-2S6KB 280KB 32-64KB 960KB IS Allemate FOllnJf 132 50 80 25 None G aphl s ReSOl tton 800 400 640 200 5V 4 ISV - 80 2' None 80 24 eo 24 None None 560 '92 None Nooe 2 CommutuC 1hOt s e lf COSI 2 0 2 BUIlt ' P tJUel OIIS at no eall COSI I 0 2 0 1 Ke s on K ytlOdIOJ 94 104 96 Oela rIed K8'fbodtd m hanlsm Tilting O'SOIoo mlltCh anlsm S elling O spI ay Yes No No No No 74 No No No 76 Ve Vo 83 Yo No No 420 470 361 500 Apple TAS DOS Bu lt-in 5 0 1 POtts it no 'umanF CIOf Yo Yo Desk Alea RetiultltiJ Agpro $l Ju tteln Wllh 2 ftoppy a slI sl OQ4tfaclnq S s n SuPP Ofd Sland atd 3'0 CP'M-ll6 AS-DOS None Non NOTE Ch based on mM U'acl s tQlmelJQM a ' aD s ot Apt 14 1982 'CP M o 'eQISlefed trademark of 09'al Aesea ch Inc Jan 83 CRYPTOLOG DOS Page 74 SESRSi' ern Menu Selection as aTool lor Human Machine Interaction lUI P L 86-36 byl uring the past decade system designers and applications programmers have come to realize that the most unpredic table component of an U interactive program in terms of performance is the user interface By its very nature an interactive program must deal with many factors that need not be considered when developing a conventional non-interactive program Primarily the applications programmer must consider the human factors aspects of the program-user interaction since the success or failure of an interactive program depends mainly on its ease of use 1 o Because the user interface design has such a strong impact on program acceptability and usefulness it becomes very important to design good interactive user interfaces One technique being used more frequently to promote good human machine communications is menu selection U A menu consists of a list of items usually displayed along the screen border from which a user makes a selec tion These items can be represented numerically graphically or by text In each case the user can choose an item using one of several techniques e g pushing a numbered key corresponding to the number of the choice or positioning a light pen over the choice as displayed There are other ways of interacting with a computer display command languages function buttons and transaction codes However these methods do not provide an interactive interface for the naive user which is as user-friendly as menu selection By definition a naive or casual user is a person who has little if any training in computer science and is unfamiliar with the internal workings of the computer This person's job description does not mandate the use of the computer However if the computer can get the job done better and faster Jan 83 I E53 without losing data and can be operated without extensive training the casual user will be more likely to utilize this resource 2 o D A well-written menu utility is the perfect interactive tool for both the naive and sophisticated user With a menu the user does not have to remember commands or syntax and is less likely to make errors with all the valid choices displayed Since making a selection can be as simple as pushing a button the amount of time spent typing commands and studying documentation is reduced In addition a selection menu provides more flexibility than fixed keys when changing or updating functions Although a well-written menu utility provides both types of users with a good interface to the computer a poorly designed utility can have the opposite effect A poorly designed menu utility could force the user to page through a large number of levels to perform an operation This is annoying especially when the response time between selections is very slow A system which provides no feedback to the user that selections are being received and processed is another example of poor design The next section of this paper will focus on the features necessary to design and implement a menu utility which provides a good user interface MENU SELECTION IMPLEMENTATIONS U A well-written menu utility offers both the sophisticated and naive user a good way to interface with an interactive graphics system Menus usually consist of a number of choices listed for the user from which he or she may choose an operation or command to be performed This type of selection may be implemented very simply by typing the desired CRYPTOLOG 6116IUl'f Page 75 UMfBhE ilk SellIlli' 8Ih rIilfEhS 811hJPY SE8RE'f 4011963 response on a keyboard or by selecting the desired option via touch panel light pen mouse or any other interactive inPl1t device The options may be presented in a list across the bottom of the screen or along one side or they may be represented graphically as icons An icon is a pic torial symbol used to represent an idea or entity The menu may only be displayed at the user's request in which case a movable menu could appear close to the cursor to minimize movement U In more advanced systems such as SMALLTALK 3 the screen may be divided into several windows each with its own menu Only one window at a time can be interacted with it is indicated as active and in the foreground A different window can come into the foreground by activating its menu Thus by designing a system which simulates how someone might work at a desk with various papers spread out on top of it an interface is created which is close to the ac tual working conditions of the user By choosing from different menus the user can manage several simultaneous tasks and contexts alternating between them at his or her convenience Though menu selection may be implemented using many different methods and formats the advantages offered by a menu utility are similar from one implementation to another MENU SELECTION ADVANTAGES U Although a good menu utility offers many advantages as a USer interface perhaps the most important is that little training is required of the user In all of the graphic systems investigated and reported in a later section of this paper the user was found to be a professional in a non-computer-related career field A menu utility could save the casual user from extensive training time by presenting a range of alternatives from which to choose Since only valid choices are included in the menu the user is protected from making an invalid selection This may also serve as a security feature if the user is shown only the names of operations he or she is authorized to access U Because the user is prompted with a repertoire of commands he or she is relieved of the burden of remembering command names By giving the user the ability to point to material currently displayed this material can be treated as input drastically reducing the amount of typing to be done saving time and preventing errors 4 There are only a limited number of choices in a menu so that Jan 83 designing effective user aids such as a HELP key should be easier than when the user has an unlimited number of options The programmer should have less complicated error handling and documentation to write than with a system which requires the user to know what each command does and when to type it 5 A menu utility is generally more flexible with changes in the application or requirements since it is easier to change or add menu items than it is to change or add new function keys For the many reasons cited above menu selection is becoming a popular tool for those tasked with designing interactive systems MENU SELECTION FEATURES U Once the decision has been made to write a menu utility the designer must be aware of the many features it should include to be a successful tool While some of these features were promoted by most of the listed references the usefulness of others may be more dependent on the particular application Generally it was felt that menus should always be numbered starting with one instead of zero since that is how people begin to count The menu should be kept short using submenus if necessary However these submenus should not be nested more than three or four levels deep An option for longer menus that cannot fit on one screen is a scrolling mechanism to allow the user to browse through the menu which has choices listed alphabetically U A very important feature is the use of feedback to provide reassurance to the user that the selected operation is acceptable and is being processed The user should be able to respond as soon as the choice appears and should be informed if the system is slow and the process will take a long time According to Miller C6 both experienced and novice users may tend to become bored and frustrated if an interactive system takes more than 15 seconds to respond to their query or command Schneiderman agrees that long delays are usually disruptive and disturbing but he says that the variance of response time may be as critical as the mean response time 7 He suggests that performance and satisfaction may improve if responses are delayed to minimize variance and also suggests informing users of the estimated waiting time as another tactic Another way of giving feedback to the user is by highlighting or increasing the brightness of the menu item chosen 8 Feedback could further be provided by blinking the item on and off drawing a box around it or changing colors to indicate an ON state 9 CRYPTOLOG Page 76 SI1SRE'F 4011963 U Another important feature of a menu ut ility is the provision of special keys or functions to aid the user Martin says that a help key or option can be a psychologically valuable device to minimize the potential confusion and hostility of the unskilled operator 10 Once the user chooses the HELP option a HELP conversation could begin with a menu screen giving possible categories where help is provided At ter being helped the user must have access to a CONTINUE key or function to return the system to its point of interruption The casual user may feel less intimidated in using the system if a key is provided which will undo any operation he or she has already started Having a modify feature to correct any mistakes in building a picture might also be convenient for the user In a system described by Teitelman at the Xerox Palo Alto Research Center if the interactive input device button on the mouse is held down instead of lightly pressed the system is instructed to tell the user what it would do if the chosen operation were actually performed 11 Being able to see the result of an operation before it is actually performed would save the user time in correcting errors and in redoing the operation U The user should always be prOVided with the opportunity to exit the menu sequence at any point and return to previous menus Being able to continue a computation following an error would be useful when the error occurs following a significant amount of computation This facility would be essential for good interactive debugging although not all graphics applications would require a tremendous amount of computation In designing any features for the users' convenience it is important for the designer to remember that there should be consistency of choices to minimize the users' difficulty in learning to operate the system A HELP option for example should work at any level of the menu and any operation should produce the same result whenever or in whatever context it is performed U In an interactive system using a menu generator developed by Logicon 12 the designers' rationale was that the users would not use the system if they did not like it and one reason they would dislike a system would be because of the unfriendly environment it provides To keep the novice user from becoming anxious and the experienced user from becoming bored at the terminal their command menu interpreter writes a joke or witticism on the bottom of each menu or command page They provided two different environments a verbose and a terse mode to provide more explanation for new users and to reduce this information Jan 83 after they have had a chance to become more experienced Other researchers suggest tailoring the menu to the user which might be helpful if there are different applications on a given system 13 Lastly a profile might be saved for each user so that when he or she logs into the sys tern he or she will be provided with the appropriate menu or can continue with a process Use of these techniques should enable any designer to create a wellwritten menu utility for an application using interactive graphics In the following section some NSA graphics systems will be investigated to show the versatility of menu utilities as they are implemented in different applications EXISTING NSA SYSTEMS USING MENU UTILITIES U In the following pages several NSA graphics systems are described which have implemented menu selection in some form to improve their human machine interface Although the systems surveyed do not include all NSA graphics systems which have menu utilities all three types of display technologies raster calligraphic and storage tube are represented These systems are then compared not by the type of graphics display but on the basis of the characteristics of the menu utility implemented on each system CALMA GDS2 U The CALMA GDS2 of S27 is a mediumresolution color graphics system used for designing chips pattern generation design rule checks and plotting The cost of the system was about $500 000 with $100 000 of special software It consists of an Eclipse computer with 256K of memory i e 262 144 bytes disks and tape drives a color display con troller a Lexida ta color monito r and a black-and-white Hazeltine terminal There are two workstations which consist of a graphics terminal and an alphanumeric terminal mounted in a movable hood with a keyboard and tablet on a desk below As the user moves a pen across the tablet a cursor is moved across the screen U A menu is displayed on this system as a series of small rectangular boxes four rows across the top and four columns down the side of the screen in an L shape Each box has a symbol or word which denotes the operation it performs The user makes a selection by moving the pen on the tablet until the cursor is over the box he or she wants to select and then presses the pen down on the tablet to CRYPTOLOG Page 77 Ih'dlBhE TJJ tr SeUIN'F SlhWI6l S SUM aCID n eRI'l'f 4011963 make the actual choice The software allows for up to four different levels of menus with up to 300 different commands in ten categories but only two levels of options are presently available 'Selections made from the menu are reflected on the black-and-white monitor so the user can review previous selections he or she has made U This particular menu utility has many of the advantageous features mentioned in the previous section For example it has an option to highlight changes to be made before they become permanent and has a wipe-out key to undo the latest changes The user can be working on ten different scratch areas of the screen at once and can get a summary of the characteristics of each area by typing a command The menu has four different options for filling figures along with a scale that pops up to measure distances Al though there are up to 64 layers on a chip that can be made selectable for viewing there is never a delay of more than a few seconds before a chip is displayed or a command is given a response by the system U The users who are engineers can take a two-week training seminar to learn the different commands and how to run jobs and seem to be quite satisfied wi th the sys tern In general the menu utility provides a very good user interface because it simplifies what could have been a complicated system to learn QUICKER U The QUICKER system in R812 is a highresolution graphics system used for designing circuit boards floor plans mechanical drawings and software flowcharts Each of the four workstations costs about $50 000 and consists of a Tektronix 4014 graphics device driven by Computer Vision software a separate alphanumer ic terminal wi th a keyboard and a tablet with a pen for selection Special hardware and software purchased from Computer Vision makes this storage tube draw images more quickly than conventional storage tube technology tions of the drawing Different sheets wi th different menu items can be overlayed for other applications Since the menu software was not built into the system R812 can change or add new functions to the 200 options already available U Although this system has the advantage that no space on the screen is used up by a menu this can be a disadvantage since the user must constantly move his or her eyes from the screen to the tablet to make selections With the CALMA system mentioned above the user can focus his or her entire attention on the screen while making menu choices Despite the fact that the QUICKER system is faster than most storage tubes it might be uncomfortable for the user to have menu selection from the screen since the entire picture would have to be redrawn each time the menu level changed and a new one appeared Some of the most useful features of a menu utility highlighting special keys etc are impractical to implement on QUICKER because of the brigJ lt flash which occurs when the screen is cleared Though the QUICKER system's users seem fairly satisfied with their system in general a better technology to use for interactive user interfaces would be raster or calligraphic U R812 is now developing a new graphics system by Megatek which uses medium-resolution raster technology and costs $50 000 per device This system receives input from a keyboard with twelve function buttons a tablet with a pen and a joystick with a button A menu resembling the twelve function buttons is displayed on the screen and the user can use any of the named input devices to make a selection The menu can be moved to different parts of the screen or made invisible and the user can push one of the function but tons to move to different menu levels Although only 512 by 12 pixels are displayed this represents only one out of eight pixels which are stored so that as raster technology improves a higher resolution may be obtained In the meantime added detail is gained by using a zooming feature The Megatek contains fifteen microprocessors to do hardware fill and transformations and will eventually be connected to a mini-computer enabling parallel transmission U The menu utility on this system is implemented by overlaying on the tablet a sheet of paper containing several rows of rectangular boxes with symbols or words designating the operations to be performed This menu is unusual in that it is not displayed on the graphics screen at all The user can point to a box with the pen and to a part of the circuit board displayed to delete or insert por- Jan 83 CRYPTOLOG SESRE'F P L 86-36 P L 86-36 EO 1 4 c Page 78 IIklmLE bIA BeffIllP 8IIr' rfllf IT5S 81115Y ID ggSRETp L 86-36 EO 1 4 c 4011963 m nus offering options of geometric shapes and military symbology to superimpose on maps created from World Data Bank II data as well as menus for adding deleting editing or 1ll0ving text A scroll feature will be provided for all those flags or designs which cannot fit into the menu area at once In addition a modify feature is proposed for the analyst to correct mistakes made in construe ting his or her symbol Planning the user interface in the design phases of the system instead of adding features as an afterthought should make the A21 prototype system a good model for those planning to develop interactive graphic systems in the future P L 86-36 1'---_1 I I U Sincel is a fairly old system using electrostatic deflection each display station is about the size of a 5 foot cube Only 2 500 to 3 000 vee tors and place-names can be displayed and images are blurred around the edges of the screen I I menu utility is very rudimenta y because of its age and lack most of the f atures implemented in the newer systems sue as the CALMA A2 will eventually change its display stations to kalligraphipdevices to handle a mixture of signals at once with a 65K microprocessor instead of the 4K of storage available from the current system The menu utility could be updated to provide a better user interface wi th t his newer more powerful graphics system P L 86-36 A21 REPORTING PROTOTYPE o e eeS A new high-resolution raster system with keyboard and an interactive device proposed by A21 will aid the analyst whose function is reporting Instead of using wallsized maps and slide presentations the analyst will be able to view maps with special symbols and place-names timelines and business management data on a graphics device Hardcopies can be made of the display file for in-house presentations or the time-sensitive displayed data may be transmitted to other agencies The user will interact with the system through displayed menus There will be Jan 83 CRYPTOLOG i P L 86-36 EO 1 4 c Page 79 11 IlJ QIsi III A EURQUI NT QIIANIlKbS QflbY SF i8RB'f 4011963 COMPARISON L U As newer systems are being developed like the CALMA GDS2 the user interface to the computer continues to improve over older models because human fac to rs are being considered when designing a system instead of being implemented as an afterthought 86-36 U As new interactive graphic systems are being developed like the CALMA GDS2 raster system for engineers and the A21 reporting prototype more emphasis is being placed on developing a good user interface to make these systems better tools for the casual user Both older s stems surve ed have added menu software to improve the user interface Yet the original design makes the system more complicated for the analyst to learn Besides deciding on the appropriate choice from the older systems' menus the user must learn numerous function buttons and other input devices like the trackball and light pen in order to effectively complete an operation MENU SELECTION TECHNIQUES USED BY R53 IN THE IOMS SYSTEM U In this section the IOMS interactive graphics system developed by R53 in conjunction with T333 and AS12 will be described This system is concerned with the user interface from the design stages and in addition 1s using a graphics standard to develop device- and machine-independent menu software P' L 86-36 iti I 'lmet u utility shows no indication of the partic'i il ar evel the user is at and he or she may become eaS ily trafped in a or level Although the l mode system's menu levels are not confusing there is no legend to remind the user what the symbols or linestyles he or she has chosen represent and no help in prompting the user for fill-in-the-blank responses Neither system has a method for the user to wipe out previous choices and begin again whereas the newer CALMA system has such an option to enable the user to make a mistake without the fear that the system may crash In addition the CALMA system highlights the user's creation or change of a design enabling the user to study the update before making it permanent I U Although the QUICKER and CALMA systems physically implement menu selection differently the former having a menu overlay sheet on a tablet and the latter with menus on the screen both utilities are designed with the flexibility to add new menu items Whereas the QUICKER system has a much higher resolution for electronic details than the CALMA the CALMA system utilizes color to distinguish between layers of a design Viewing the menu and drawings in color should not only be more pleasing to the user's eye but also should keep the user interested longer than when watching a black-and-white display Both the CALMA and Isystems allow the user to point to an item on the screen and receive more detailed information about the item Addi tiona jy the CALMA sys tem is sophisticated enough to allow the user to type a query on the fuonitor to show the status of the 10 differeht scratch areas of the screen he or she c be working on simultaneously P L U An RS3 technical report published by David Nation in April 1980 14 found that there is an unexpectedly large requirement for geographical computer graphics across many DDO organizations Based on Nation's survey and given that similar geographical display capabilities are required by many NSA organizations it was evident that development costs of geographical display systems could be reduced by designs which take advantage of a set of reusable geographical display software In order to write reusable geographical display software a standard graphics software package was needed RS31 had been interested in using a commercial implementation of the ACM SIGGRAPH CORE System which is a proposed standard developed by the ACM SIGGRAPH Graphics Standards Planning Committee to promote application program portability and deviceindependence 15 Rs31 has installed one such system DI-3000 on the MYCROFT PDP 11 70 U 888 In order to test the theory that graphics software developed on one system could be easily implemented on another by using a CORE graphics package a prototype had to be chosen which would meet a real Agency requirement and at the same time illustrate the usefulness of the CORE System R531 worked with the Graphics Investigation Group GIG in selecting a prototype application 16 o The Initial Operations Management System IOMS in As12 was chosen to be the prototVtle graphics application I 86-36 SH6REr Hil ij l JE VIr eeffEnT eUMRIEl JS eNl JY SEeRE'I' 4011963 IOMS GS general screen format 1111111111222222222233333333334444444444555555555566666 1234567890123456789012345678901234567890123456789012345678901234 1 IComms Nets Comms paths Unidentified 1 2 I 3 I 2 Optional lists of displayed data 4 5 I 3 1 4 5 6 1 7 I 8 I 9 I 6 7 8 9 10 I 111 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 3 31 32 33 34 35 36 37 38 39 40 GRAPHICS MENU I I I ARE A ARE A 1 1 1 I I I I I I I I I I 1 I I I Optional map scale line 1 IPRINT 1 1 Standard Functions xxx NM at center 1 ----------------------- Classification area ______________ HELP I IRETURN EXIT 1 I PRO M P T S A N D 0 P T ION A L I I I S Y S T E M I I MAP LEG END M E S SAG E S ARE A __ _ 11111111112222222222333333333344444444445555555555666615 1234567890123456789012345678901234567890123456789012345678901234 Figure 1 Mock-up of a Typical Display Screen Jan 83 CRYPTOLOG Page 81 HI 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 I 40 I aCID gBEJUjO 1 4 c ip L 86-36 4011963 '---- r In order to design a system which would met tbe requirements of the A512 analysts and have a good interface for users in a noncomputer-related profession R531 had to learn A512's terminology and understand the types of data from which they derived information about collection targets Mock-ups illustrating various scenarios similar in format to the one shown in Figure 1 were used to aid the user in knowing what could be expected from the graphics software A menu generator was designed to communicate with the user in the simplest manner with a limited amount of computer training required see Figure 2 Figure 3 shows a hierarchical breakdown of the different menu levels D The graphics process is initiated at a Delta Data alphanumeric terminal Thereafter the user makes all responses to menu queries using the keyboard of the graphics display for input The user is prompted in the message box of the display when it is time to make a selection from the menu and receives feedback in the form of a message indicating tha this or her request is being processed Figure 4 shows an example which begins with the highest menu level and continues to three lower levels as the user presses the number of the menu option on the keyboard U Each menu has been designed to indicate if submenus exist for a given choice by having a dash placed after the selection number s e Figure 4 The user may return to previous menus by typing an R for return or may exit the process at any level by typing an E Other special features planned but not yet implemented include a HELP key to display documentation on the Delta Data and an ESCAPE key to take the user back more than one menu at a time To further increase the flexibility of the utility the user will have the option of picking a displayed data item with the joystick and receiving more detailed information about the item Currently the user has the option of replaying one or more sessions redisplaying data already processed wi thout requerying the data base The user has a CLEAR option if he or she does not want to save the data displayed and a full screen feature to expand the map display and erase menu areas The user may also type text onto the map to provide annotated hardcopy for analytic use or presentations 8 66Q The colors of the menu selections match the color of the item as it is drawn Jan 81 If a river is shown in blue on the menu area it is drawn in blue on the map LikeWise when communications networks are displayed the links between cities are shown in the same color as the signal types they represent in the legend area As additional feedback to the user menu items are brightened from gray to white to indicate that these features are on Eventually a command mode feature will be added to allow the more experienced user to type in options like proj ec tion Mercator without having to browse through several menu levels to the menu which sets projections One of the most useful menu features is a file tha t is created at the end of each session which saves all the parameters the user has set such as environment map scale and coordinates map details type of projection etc Given this parameter file the user does not have to reset these options anew each time a new session begins U The IOMS graphics subsystem was developed and tested on the R53 MYCROFT PDP 11 70 Delta Data 7000 alphanumeric terminals and AED 512 color raster displays are used for display and interaction The software was written using the DI-3000 implementation of the CORE System DI-3000 is a product of Precision Visuals Inc R53 has transferred the laMS graphics subsystem to A512's system with little difficulty except in synchronizing operating systems There are now plans to transfer the software from the PDP 11 70 to a VAX system to document the effort and the number of code changes needed for the software to nID on a different host system Since a different computer and different graphics devices will be used this effort will be an even better test of the CORE System's transportability feature Another future test being considered is to use the same basic menu generator altered somewhat to meet a related but different application This would be done on a third type of host system CONCLUSIONS s eee The purpose of this paper was to show that a well-written menu generator makes a good user interface for interactive graphic applications because of the many advantages it offers the casual user The most important advantages are feedback the need for little training ease of use choice of alternatives and special help keys After the features and advantages of menu selection were discussed several case studies involving NSA graphics applications which utilized menu tools were presented to illustrate the various ways menu utilities have been implemented Finally R53' s implementation of menu selec tion using CRYPTOLOG 6I i61UIT Page 82 lh'tllB'hI i Vh' SQUIllT snt lBI S Q jI JPY 4011963 Comml Jn ica'flrcf' eaths Vfi' Geography v- I - ' ' j 1 Add commun i7 cat ions net' 2 Add commun'i- 'c 3 t on path 1 ea ' Reset d ta d i sp 1a - I 3 1- r e cJ r 03 tLI ' '-ent d i sp I' 1 'hj d s t a ' r-' d l r l 1 3 ld 3e lect Ct- i t et-' i a 3-C c l r r net 0C f rn 4 pa th F'F' I in HELP FETUFtj D IT Select menu item EO 1 4 c P L 86-36 Jan 83 CRYPTOLOG Page 83 lbillBHJ ViA 881IHff 8Ill'rlINBI JS etlI JY SE6RET 4011963 I EO 1 4 c P L 86-36 the CORE Systeml was presented not only to show the use of a menu utility as a good user interface in a geographical application but to illustrate the concept that properly designed software can be transportable to other future systems with related applications by using a graphics standard such as the CORE System U Although there are still a few refinements to be made to the IOMS graphics software the reaction of AS12 analysts using the graphics subsystem has been very favorable R53 has been successful in developing menu software for an interactive graphics application that is both convenient and userfriendly This is due in part to the large effort made by the design team to consider what the user wanted from the system and how he or she would interface with it before any coding ever began Even after the first implementation of the graphics software the R53 team continued working closely with the users to determine how the menu utility could be further upgraded or changed to aid the analysts R53's success can also be credited to the fact that many of the features mentioned above as being desirable in a menu utility were implemented in the menu utility designed for IOMS From the IOMS project RS3 has demonstrated that menu selection is an invaluable tool for creating a good user interface in an interactive graphics environment Further research and future projects should show that by using a graphics standard such as the CORE the success of R53 can be replicated in other applications without having to replicate the entire programming effort REFERENCES 1 Bergerson Bono and Foley Graphics Programming Using the CORE System ACM Computing Surveys 10 4 Dec 1978 p 400-42S 2 Lecture notes from Computer Graphics MP413 class Oct-Dec 1981 3 Tesler Larry The SMALLTALK ment BYTE Publications Inc 1981 pp 90-147 EnvironAugust 4 Tesler Larry The SMALLTALK ment BYTE Publications Inc 1981 pp 90-147 EnvironAugust 5 Schneiderman Ben Software Psychology Winthrop Publishing Company Cambridge Mass 1980 6 Miller Rober t Response Time in ManConversational Transactions Computer Conferences 1968 Fall Joint Computer p 267-277 7 Shneiderman Ben Improving the Human Factors Aspect of Database Interactions ACM Transactions on Database Systems Vol 3 No 4 December 1978 p 417-439 8 Ellis T Interactive Man-Machine Communications The RAND Corporation DAHCI5-67-C-0141-Arpa January 1971 9 Newman and Sproll Pinciples of Interactive Computer Graphics McGraw-Hill Inc 1979 o 10 Martin James Design Dialogues 1973 11 Teitelman 1 arren A Display Oriented Programmer's Assistant Int J ManMachine Studies 1979 11 p 157-187 of Man-Machine 12 Logicon Inc Design Considerations for the Man-Machine Relations User Interface San Diego Calif July 1979 13 Mehlman Marilyn When People Use Computers Prentice-Hall Inc Englewood Cliffs New Jersey 1981 14 Nation David A Survey of NSA CSS Computer Sys terns Using Graphics TR-RS3-0281 August 15 1981 Jan 83 lS Newman and Van Dam Recent Efforts Towards Graphics Standardization Computing Surveys 10 4 Dec 1978 p 365-379 16 Graphics Investigation Report September 1980 CRYPTOLOG SESIHiT Group Interim Page 84 IhltUBhE 'lIA 881HNT SlltdlNEl5S QHJ JPY 566RKT 4011963 I J1S GUphtc8 Systelll Menu Hierarchy State transition diagra 1 1 1 1 15 Graphics I Systelt I I Main Menu ---- -- --_1 I 1 2 IComDUnlcat tons pa ths oyer Collection 1 I t Resource Status Geography 1_--- - ---- 1 1 5 1 1 9 1 I Select I COtIDIIS A l ter Di6play I Criteria I I NHI Cryptohnes I I I 1 1 9-3 1 1 9 4 Comms Net Environlllent Carrier types 1 1 5 9 Select 'tap Criteria I I 1 1 1 5 9 1 1 IMap projection 1 1 5 9 3 Camms Net I llil ve l of detail I I Hap Features I of Features I I ----- I 1 1 5 9 ' Map dat abase resolut 10n I I Figure 3 A hierarchical breakdown of the lOMS system 10MS M nu o o 1 1 1 I IIOMS Graphics 1 System I 1 I -ll-Communicat I paths over geog raphy I 12 Collection I Resource 1 status 1 1 1 I Defaults I I I Set to user I If Colors 17 Hap params 1 1 I I Envi ronment 1 current displ screen 1 1 1 1 I 1 I I I I II 1 Display un- 1 'I 1 I identi fied I 16 Recompute I map area 1 1 signals 1 I I PRINT I 1 17 update dota 1 I Select I Criteria I I 19-Comms netl I Camms pa ths 1 I 1 1 1 E 1 4 e PJL 86-36 1 1 1 1 1 I I I I 1 1 1 I 1 I I 1 I J I 1 1 1 I I 1 I I I 1 I 1 1 HELP 1PRINT HELP 1 IPRINT HELP IPRINT EXIT 1 I RETURN I EXIT 1 1 1 1RETURN I 1 EXIT I RETURN 1 1 Camms Net I 1 A ctive Nets I cations net I I 1 I J IS-Alter d isp I 'RETURN o 1 1 9 3 I 1 1 Defaul ts 1 1 9 I I 12 Static Nets 12 Add Crypto- 1 1 I lane 1 13-Environment I 1 I 13 Clear Reset I 14-Carrier type 1 data displayl 1 1 I I 15 Display net 14 Draw red raw I names on 1 Set to systeml 1 13 Colors 14 Hap params I Geography I I 11 Add communi-I 1 I o ICommunlcatlons ISelect Crlter i I paths over I I Camms Net I _ - I CRYPTOLOG SS6RBT EX IT Figure 4 A logical menu sequence with selected options Jan 83 HELP I 1 1 1 Page 85 UAlIl3J iB YIA S8I1HI S'h'rtIN6bS 811M' FeR SFFI8h'm BSJii SUbY aCID 4011963 P L INTRODUCTION sychological studies have found that color graphic systems compared to monochrome displays significantly improve the presentation of complex data data are easier to recognize exceptions and errors are easier to detect and user satisfaction is increased The purpose of this paper is neither to support nor to dispute these views Color graphics does indeed represent the computer state of the art more than any other single machine discipline A user receives hundreds of times more information from his eyes than from all his other senses moreover a user thinks graphically The user sees signs or pictures instead of spots of light he reac ts to patterns of stimuli usually with little awareness of the parts composing the pattern Given a black and white photograph the human eye can only distinguish the difference between thirteen levels of gray from black to white Under carefully controlled conditions adults with normal color vision can discriminate from In one such study 18 four different types of CRT display formats were evaluated in the context of a computer-based telephone line testing system see figures 1 18 and 2 18 The subjects eight Bell System employees ages 25-50 all high school graduates one college graduate had normal visual acuity and color vision The formats considered were narrative which used complete words and phrases structured which used a tabular format black and white graphics which used a schematic of the telephone line and color graphics which also used a schematic but added color coding The evaluation measured Dec 82 120 to 150 color differences across the visible spectrum If saturation and brightness are added the number reaches into the millions 2 Consequently color extends the amount of perceptable information that can be injected into or extracted from a visual image The intrinsic nature of color adds a new dimension to computer graphics techniques The varied character of color provides the potential for creating unlimited effects with color that can accurately delineate various aspects of a visual image The challenge then is to create displays which are not just aesthetically pleasing The graphics programmer must start with what when viewed closely appears to be a meaningless collec tion of colored dots to create a total impression with predic table properties from organized stimuli In order to effectively utilize color in the visualization of ideas information or concepts the aspects of human color perception as well as basic color theory will be explored in detail The conclusions presented following this discussion are intended to be used as a guideline speed and accuracy of the subjects' interpretation of the displays of the test results Accuracy did not significantly vary with format but speed did Response times for both graphic formats were consistently shorter than those for the narrative format With additional practice however response times for the structured format were just as short These findings are in agreement with earlier studies by Richard Christ and his associates 18j who concluded that while color is often an effective code it neither improves nor detracts from human performance when compared to achromatic schemes CRYPTOLOG Page 86 P9Il 8PFISIA15 gEE QUeY FSR SFF'E6IA J 8S E SIlJ Y 4011963 Figure 1 Advantages and Disadvantages of Test Results FormalS as Staled on Questionnaire Formal Disadvanrages Advanlages Narralive You get a 101 of information on the screen ' A bil difficull to read ' Not as clear for a person with lillie I experience Too much inilial concentration ' Not as easy to read-lime consuming ' In a busy'office could become tedious ' Recognition 'actor slower than graphics ' Time needed to read the test results Ditticult to read and use Structured Summary stands out ' Inlormation is simpler to absorb initially strictly Irom the way it is sagmented in contrast to the narrative system Very good-are familiar with all areas of failures ' A blend 01 the qualities needed ' would ralher have all categories 01 data in one row In a busy office could become tedious ' Black-andwhite graphics Easy to read More accurate less time consuming Time saver Summary stands out Quick recognition 01 trouble and local ion ' Fast to use during busy days ' Clear_asy to read Could be hard on the eyes it used constantly-unless toned down Iilroken lines lend to conluse at times Color graphics Pleasan accurate Good color selection laster trouble decision Summary stands out Color adds 10 what mig hi otherwise be a boring task ' Quick recognition of trouble and location ' Clearesl ror person with no mechanical background Color highlights important parts High speed and very clear Color could be hard on lhe eyes ' 10 - 9 II 8 ' ' e Go 4 0 ' 3 c 0 2 I I ' ' Structurad 8 a W Color Tillt Graphic Graphici Melin response limes Ihe o r onnG15 Iry session - ' ' ' ' Narratl Tillt Dec 82 I 5 a iO 2 ' 6 f- c a Figure 2 7 o SUlio r- CRYPTOLOG FeR eFPI6Ihb Hse Page 87 8M r 10 lesl q eslion5 or FeR BFFl8Ilm ll'SE BUlK 4011963 for the graphics programmer to enhance graphics displays when it has been determined that color applications will accomplish a particular job more effectively without overstimulating the viewer COLOR THEORY The vast diversities found in color result from the fact that colors vary on three dimensions--hue brightness and saturation No matter how an image is created be it electronic photographic or otherwise it is perceived by a human observer only according to these three visual perception parameters 3 Hue which is determined by the length of the light wave is defined as the perceived color Hue refers to the specific color family such as red blue green or yellow Brightness value corresponds to the perceived intensity of the light and varies with the amount of energy in it Saturation chroma refers to the amount of color and is dependent upon the degree to which the wavelength is diluted by white light Further discussion of hue brightness and saturation is dependent upon a basic understanding of the relationships among and between the colors found on the color wheel Sir Isaac Newton discovered that the spec tral colors can be wrapped around in their natural order about the circumference of a circle see figure 3 7 allowing room between the red and violet ends of the spectrum for the purples not found on the spectrum 5 If properly spaced colors opposite each other on the circle will be complementary that is if the lights of these colors are mixed in proper proportions they disappear to a neutral gray see figure 4 5 Some colors appear to be more elemen tary than others they appear to be composed of a single hue These elementary colors are called psychological primaries-red yellow green and 'blue Between them are secondary colors in which the components are still identifiable--orange between red and yelloJol the yellow-greens between yellow and This set of color categories is generally recognized by Western peoples Other culture groups see colors in ways that seem curious to a Westerner The Hanunoo a Stone Age People for example describe four basic classes of colors dark colors such as black light colors such as whi te dry colors including red orange and yellow and wet colors including light green green-yellow and brown To the Hanunoo these categories make sense because they help to describe the vegetation that supplies their food Regardless of the terms used to describe colors all people appear to perceive the Dec 82 green the blue-greens between blue and green and the purples and violets between blue and red Another set of primaries is called the color-mixture primaries Any three widely space d colors on the spec trum can be used to provide all the other colors by additive mixture see figure 4 5 the three usually chosen are red green and blue Using the color wheel as a reference colors can be chosen for their varying degrees of similarities or differences to meet the needs of the image Warm colors reds and oranges tend to advance in space and take a frontal position in a composition On the other hand cool colors blues and greens tend to recede in space and take a background position Spatial effects can be created with warm cool contrasts forms may appear larger when they are colored red as opposed to green or blue Bright reds and oranges seem to radiate warmth and light and are thus appropria te colors for depic ting light warm spaces or objects Blues and greens project a sense of coolness or a cool temperature These cool colors are passive and seem to imply a comfortable stability Reds and oranges are very dynamic active colors and seem to energize spaces and objects As one continues to explore the similarities and differences of chosen colors it becomes increasingly apparent that hue brightness and saturation can be used to clarify elements in a composition as well as to provide more detailed information Gradual changes in hue create a subtle blending in which boundaries are obscured depending on the degree of similarity or difference between the hues three-dimensional spatial effects can be created Brightness a matter of appearance whatever the composition of the color may be can be reduced by mixing gray with it hue or by increasing or decreasing the value of a pure color Brightness contrasts can be used to create spatial effects light areas in a composition imply a source of light or lightness while dark areas create a sense of depth or weight Saturation can be reduced by adding a gray of the same divisions in the spectrum in about the same way Despite differences in the words used by various languages to describe colors people generally agree on what colors are the best examples of focal colors what adults identify as the purest example of each color category such as blue or red black white red yellow green blue and so on Similarly people say nonfocal colors for example blue-green or red-orange are like focal colors rather than focal colors are like nonfocal ones i e pink is almost red but not that red is almost pink 2 CRYPTOLOG Page FeR 8FFI8Ikb eSB 8Uh'i 88 4011963 brightness creating a very drab color or by adding a complementary color of similar value The latter method is preferred since a richer color is maintained as the saturation is reduced Variations in saturation can be used to differentiate elements as well as to create three-dimensional figures in space conditions there is what is ing effect so that dark areas portions appear darker and neighboring portions appear figure 7 5 called a spreadmake neighboring light areas make lighter S see THE TRANSITION FROM COLOR THEORY Harmony is a sense of continuity that is created by establishing a relationship between the compositional elements In choosing harmonious color sets colors should relate to one another in a given manner Two techniques for choosing harmonious color sets are 1 the use of a series of adjacent colors on the color wheel and 2 the use of a pair of opposite complementary colors Adjacent or neighboring colors such as red and orange have close similarities while complementary colors such as blue and orange exhibit a high degree of contrast in hue Another technique for choosing harmonious color sets is the selection of colors that are found at equal intervals on the color wheel Harmony can also be achieved within a set of colors by maintaining equal brightness and or saturation levels If a person stares at a red circle and then looks at a plain gray rectangle he is likely to see a green circle on it The viewer experiences a negative afterimage--negative because green is the complementary color of red see figure 5 5J Seeing the complementary color is common but not always the case After staring at a very bright light one would probably see a whole succession of colors rather than the predicted complementary color Still another exception is worth noting usually dark surroundings make a light area seem lighter and light surroundings make the enclosed area seem darker Under some There are two curious aspects as to how the progression across the visible spectrum is perceived First there is a simple continuous change in a single quantitative property of light--the length of the light wave This change in a physical quantity leads to a' changing perceptual quality namely hue Reds do not look longer than yellows greens do not look longer than blues Instead they all look different Second though one can change the phys ical wavelength of 1 ight in a continuous fashion from short to long the changes in color are themselves rather discontinuous and the colors seem to group themselves into sets or TO HUMAN COLOR PERCEPTION Light is a continuous mixture of all the wavelengths across part or all of the visible spectrum The normal human visual system is sensitive to visible light from violet with a wavelength of 400 nanometers to deep red with a wavelength of 700 nanometers Two kinds of light-sensitive bodies in the retina rods and cones catch the photons of visible light and in effect count them thereby triggering a complex series of chemical and neural events 10 The rods function mostly in very dim light to which the cones are insensitive At normal light levels virtually all visual information is provided by the cones In rl ality individual cone cells distinguish color no better than rod cells additional neural wiring is required before discrimination can be made solely on the basis of color 1 OJ Three types of these receptors each sensitive to different wavelengths together are responsible for color discrimination Although the sensitivities of the three receptors overlap one is sensitive particularly in the blue area of the spectrum one in the green and one in the red Any three wavelengths of light can be mixed in varying proportions to create many different colors but the particular characteristics of the three human receptor systems make it impossible to dupl ica te all colors The three primaries which can be mixed to produce the greatest number of colors are particular wavelengths of red green and blue For this reason most color display systems are based on three light sources which are as close to an rgb component system as possible 8 categories Blue green yellow and red have for many people a unique appearance and seem to characterize rather stable portions of the spectrum A physical change in wavelength entirely within the blue or green region may be hardly noticeable or may seem to be a change from one kind of blue or green to another The same physical change in wavelength between categories a change across the blue-green boundary for example can be striking appearing to be a change from mostly blue to mostly green It may be that humans have a built-in mechanism that partitions the continuous physical spectrum into a small set of color categories 2 Dec 82 CRYPTOLOG Page 89 FBR 8PPI8lAb B813 8libY 4011963 HUMAN COLOR PERCEPTION All experiences of obj ects and events take place within a framework of space and time Vision being the user's preferred spatial sense provides some of the most complex patterns of these perceptual experiences During t e last century two major theories of color vision vied for supremacy The physicist Herman von Helmholtz proposed that there were three color receptors in the eye each giving its own color sensation--violet green and red According to von Helmholtz these primitive sensations combine to form the entire gambit of color experiences--for instance sensations of red and green together produce the color yellow The other theory was that of the physiologist Ewald Hering who argued that there were three pairs of colored processes--a blackwhite process a red-green process and a yellow-blue process Hering's view was an opponent-process theory in that the two elements in each pair are antagonistic to each other--a color can have some yellow or some blue for example but cannot be both yellow and blue in the same place at the same time Recent studies strongly support Hering's view Work by Dorothea Jameson and Leo Hurvich of the University of Pennsylvania 2 have extablished that although it is true that the eye contains three color receptors these receptors do not give sensations directly Instead in a complex fashion the three receptors feed into a set of nerve cells that work by opponent processes It is the pattern of activity of these opponent cells that appear to underlie the experiences of color Russel DeValois and his associates at Berkeley have identified three main classes of nerve cells that are specifically sensitive to variations in light wavelengths 2 Generally it is possible to identify these three kinds of cells as the embodiments of whiteblack red-green and yellow-blue opponent processes The above mentioned color categories match up quite well with the action of these three main classes of color-sensitive cells in the brain For example when a person sees yellow opponent cells that become more active in Much has been written or said about the number of colors a system is capable of displaying 3 Some manufacturers claim the ability to create and display several million color combinations In an additive color system with three 8-bit digital to analog converters the number of possible combinations is 16 777 216 The vast majority of the response to yellow and less active in response to blue are excited When one sees green-yellow both green in a green-red cell and yellow in a yellow-blue cell are excited simultaneously The existence of color cells that can give sensations of black versus white presumably makes it possible for a person to see surfaces with dark colors such as navy black plus blue maroon black plus red and brown black plus orange INTEGRATING COLOR INTO THE VISUAL IMAGING PROCESS In the natural world color comes free in the graphics world the advantages of color must be great enough to offset the greater cos t lesser resolution or other disadvantages 15 Use of color therefore is recommended as a coding agent to indicate to a user the category into which data being displayed falls and as a formatting aid whereby color helps the user in understanding the logical structure of the data on the screen Unfortunately computer programmers often have a low A Q The conclusions which follow should be useful to computer graphics programmers who are now designing screen displays for the application of color graphics in today's world CONCLUSIONS The appearance of color is relative and is dependent upon the background color which can influence the appearance of foreground color s in various ways see figure 6 5 o The most obvious change in the character of a color occurs with the hue If the foreground colors are opposite one another on the color wheel they take on characteristics of the complement of the background The brightness of the background color can also have an effect on the appearance of foreground color Blue lines on a black background are hard to distinguish and will tend to deemphasize data fields whereas white with the opposite effect against the dullness of the screen can be used for emphasis Yellow lines are hard to distinguish on a white background Neutral backgrounds help set off full color A dark background makes a color tend to appear lighter than i t really is and a light background makes a color appear darker In order combinations are redundant and cannot be perceived It is of no use for the range of values displayed to exceed the limits of visual perception the observer wants only to be able to discern each independent gradation of intensity hue or saturation as a minimally detectable change Dec 82 CRYPTOLOG Page 90 FeR SFFI8IAtJ HSJPY SIlLY FeR eFFI6Ihb H8E 81 Y ern 4011963 for these color changes to occur the background area must be considerably larger than the foreground figure Generally a small area of intense color is balanced by a larger area of less intense color Also a smaller proportion of a light color such as yellow is balanced by a larger area of dark color' such as purple Patches of light colors will seem to be larger than those of dark colors This is because brightness is more stimulating than darkness Bright colors appear brighter on a dark background and dark colors appear still darker on a bright background In other words predominant components of an image can be given visual dominance by displaying them in a bright intense color on a duller less bright background For example a gray arrow shown on a white background looks darker than a gray arrow exactly like it shown on a black background see figure 8 7 When blue rays of light enter the user's eye they bend sharply and are focused at a point in front of the retina Red colors are bent less and focus at a point behind the blue rays Therefore the human eye cannot focus red and blue at the same time to form one image Looking at alternate red and blue bands or lines will tend to hurt the user's eyes and make the colors glis ten and vibrate see figure 9 7J Color harmony is created with opposite colors since the mixing of complementary colors intensifies each other blue or violet flowers often have orange or yellow centers Each pure color physiologically demands its complement If the opposite color is not present the eye simultaneously produces the complementary color The colors on the right side of the color wheel from yellow to red-violet are generally called warm colors They suggest sunlight and the flames of fire The colors on the left side of the wheel from yellow-green to violet are cool colors as seen in nature the sky and water Greatest cool warm contrasts are achieved using orange-red and blue-green All other colors appear cool or warm depending upon their placement with warmer or cooler values Red and red-orange are seen by most persons as the colors of greatest excitement Blue and blue-violet are colors that seem peaceful and subdued Green and yellow-green are the most neutral and tranquil Yellow is the most cheerful previously unclear gradation the technique of using high contrast is successfuL Low contrast in colors is used in continuity Spatial effects can be created by employing different levels of contrast With similar objects of unknown but equal Size the brighter appears to be closer If two objects at indeterminate distance are changed in both size and brightness apparent motion toward or away from the subject will be enhanced if the cues cooperate Color edging enhances polygons in general any border pulls a graphics display together Other general rules will be found by studying the Birren color triangle see figure 11 7 Colors naturally fall into tints shades and tones Tinted colors look well together and are the chief colors of spring When colors are viewed under tinted light the dominant tint tends to draw a group of colors together by introducing a mellow tone Pure hues are the colors of midsummer Shades are the colors of fall Grayed tones are the colors of winter On the triangle any colors connected by a straight line also go well together A hue may be safely harmonized with various values and chromas of itself pure hues harmonize with tints and white pure hues also are pleasing with shades and black or with tones and gray Other harmonies are found with combinations of tint tone and black as well as of shade tone and white The above list is neither exhaustive nor applicable to every si tuation The graphics display programmer is faced with the choice of 1 using only colors and techniques that he knows are pleasing as well as effective 2 using only the colors and design specifications indicated by the user or 3 creating a subtle and harmonious blending of the first two options The last alternative is probably the most successful and certainly the most difficult solution Therefore when any doubt remains the programmer should keep in mind the following two considerations High contrasts clearly delineate shapes by creating sharp clearly discernable boundaries see figure 10 7 High contrasts imply a difference between elements In situations where false coloring is used to differentiate Dec 82 CRYPTOLOG Most people like blue best then other colors in the following order red green violet orange and yellow 2 Appreciation by the user of nonfocal colors such as turquoise rose chartreuse beige and tan requires many years of familiarity with color 7 Above all one Page 91 FeR 8FFlelkb eBB 6Nhl should avoid using too enu FeR f'JFFI8fl b 98E1 4011963 much color overstatement or business will only confuse the user SUMMARY Because of the benefits offered by the visual image the projection by experts in the computer industry that computer technology in the '80's will emphasize graphics in addition to alphanumeric displays is already being realized Computer graphics is fast becoming the medium of visual communication between man and machine allowing improved data interpretation higher productivity and complex problem solution A properly designed and used graphics display can transfer many types of information from machine to user much more rapidly and efficiently than can a verbal or numerical description In a black and white pic ture distinc tions are made between elements according to the visual cues of size shape position orientation and gray value These visual cues allow the viewer to organize and comprehend the image Carefully used the addition of color adds an entirely new dimension to a composition and provides information beyond that encoded in the normal visual cues Color expands the capability of the visual composition in communicating ideas by providing more detailed information I t is essential that the choice of color and its application to various areas be used effectively in order to present clear accurate and well organized information in a visu- ally pleasing manner An awareness of the behavior of color in composition and the impact it has on the aesthetics of an image combined with a firm understanding of how humans perceive and interact with color in other words a high A Q will clearly benefit the programmer to effectively and sensitively develop and enhance color graphics displays BIBLIOGRAPHY 1 2 3 4 5 Baeverstad Jr Harold and Bruderer Clark C Display System Designed for Color Graphics HEWLETT PACKARD JOURNAL Vol 31 No 12 December 1980 pp 25 31 Bornstein Marc H and Marks Lawrence E Color Revisionism PSYCHOLOGY TODAY Vol 16 No I January 1982 pp 64 - 73 Buchanan Michael D and Pendergrass Richard Digital Image Processing EOSD ELECfRO-oPTICAL SYSTEMS DESIGN March 1980 Calew Fred Enhancing Comprehension with Color MINI-MICRO SYSTlliS Vol XIV No 8 August 1981 p 139 Hilgard Ernest R INTRODUCTION TO PSYCHOLOGY New York New York Har- Dec 82 court Brace and World Inc 1962 pp 186 - 193 207 - 208 228 - 232 6 Itten Johannes DESIGN AND FORM THE BASIC COURSE AT THE BAUHAUS New York New York Reingold Publishing Company 1963 pp 42 - 43 7 Itten Johannes WORLD BOOK ENCYCLOPEDIA Chicago Illinois Field Enterprises Educational Corporation 1960 pp 658 - 667 8 Joblove George H and Greenburg Donald Color Spaces for Computer Graphics COMPUTER GRAPHICS Vol 12 No 3 August 1978 pp 20 - 25 9 Kaplan Alan R Special Report MINIMICRO SYSTlliS Vol XIII No 12 December 1980 pp 68 - 69 10 Levine Joseph S and MacNichol Edward F Color Vision in Fishes SCIENTIFIC AMERICAN Vol 246 No 3 February 1982 pp 140 - 149 11 Meyers Ware Computer Graphics The Need for Graphics Design--Part One COMPUTER Vol 14 No 6 June 1981 pp 82 - 92 12 Meyers Ware The Need for Computer Design - Part Two COMPUTER Vol 14 No 7 July 1981 pp 82 - 88 13 Pratt Warren C A Precision Color Raster-Scan Display for Graphics Application HEWLETT PACKARD JOURNAL VoL 31 No 12 December 1980 pp 19 - 24 14 Rossiter Frank A Close Look at IBM's Color Graphic Offerings MINI-MICRO SYSTEMS VoL XIII No 12 December 1980 pp 116 - 128 15 Sorenson Keith Making Color Affordable HEWLETT PACKARD JOURNAL Vol 31 No 12 December 1980 p 152 16 Tektronix Inc TEKTRONIX 4027 OPERATORS MANUAL pp A-I - A-3 17 Truckenbrod Joan Effective Use of Color in Computer Graphics COMPUTER GRAPHICS Vol 15 No 3 Siggraph 1981 Conference Proceedings August 1981 pp S3 - 90 1S Tullis Thomas An Evaluation of Alphanumeric Graphic and Color Information Displays HUMAN FACTORS Vol 23 No 5 October 1981 pp 541 - 550 19 User's Report Terminal Turns Executive into Color INFO SYSTEMS Vol 27 No 11 November 1980 CRYPTOLOG p 9 Page 92 i Fiiur u 3 - 1 11' I I113qua - mum'- film 1- 1p II 1' all I Figure 6 mm Vurv u w-v n-J 21 up l-mz- I 'h 'IH-an 'fn' n-4 l-I' -Eiunrs J'Ifu'li -T In Iu' Um 1 -u 4 I nocxb 74611953j' Fianpa 17 Fiuura Bi 5 1 'I'J' lu'IV t lcr 15 - wr k- u-uhm um ni-Hr' Fiunra 9 I Hahn 5 fir-rr'm'r- PN- Inlh mr'l rruhur fun -i -ruw 1 u nwv I n hm Il'l' Hr min-v u chm w nu fa wk vl'c'u' MI hr in lfr-r unp m1 n'ulv-_ ABC - IFl'ur urjll I-mhu'rflr Fill Hm Jnfh-rx rhl' fl ff Irx' him In r'r-ud Lu - mmu' u Hm r-nIrIr Ihu- H Fft l'b u D- le-J lrl m 1 hair hr 'w mm huh dm' 1 of 'J aa' J'Ifru rx' sr-r's In unnam- 31mm be 1001- Hum chum-h Hu mim 7 uh tm- J n 21-- - 13 mm nh Shu- Jr-lr hm'Mmr rhr-n- r3 'r-rf Mullah rah Fianrn 11w nim- 19th th hi hafmr 4 ram u-rnn farms NH nun raftlr' MU ah ha 3 rinr gun at Inrh Mark an qr shade Hl'mr k and m uru 7mm- qraq ain t e uj'nr -I tuna Huh Page cu --- to Enhance m1tlA Colleclion Managemenl lUl P L 86-36 by IL --- -and I T IR53 IR53 INTRODUCTION he declining cost of hardware is making small interactive computer U systems with graphic capabilities practical for small groups and individuals Al though turn-key sys terns are availab Ie in areas such as CAD CAM and management graphics many applications do not lend themselves to a standard solution Individually tailored software to drive these systems is not generally obtainable Without considerable investment in software development U There can be much similarity between systems having related applications What often happens during normal system development is the reinvention of basic functions for each one Software and data exchange are often difficult because of differences in hardware or software implementation U This paper will show that software designed using a standard set of graphics functions can be moved between mainframe systems or graphics devices and applied to similar applications U It was demonstrated that a working version of an interac tive sys tern could be developed in a short period of time The first version was running on the target system three months after software design began An additional three months was spent working closely with the users in the refinement of the interactive approach and in the incremental addition of functions Jan 83 A recent survey of computer systems using graphics at NSA revealed numerous different computer and graphics device technologies On closer examination of the graphics applications many similarities were discovered Most systems had charting and graphing applications many had applications involving the creation of graphic pictures by the operator and a significant number involved the display of geography and the overlay of various kinds of data on geography U A subsequent study was made of requirements for applications involving geographies and management graphics Many of the geographically related requirements were the same Typically a map was needed with geographic features e g coastlines political boundaries shown as line segments Various scales and projections were appropriate for each application The primary differences between the requirements were the types of overlay data and the method of storing or creating these data OVERALL OBJECTIVES U A new approach was needed in the development of interactive graphics software It was apparent from the survey that most systems were developed from scratch even though existing systems had similar requirements This happened for a variety of reasons Early systems were written in assembly language and were not portable Other systems were based on software packages that support a specific CRYPTOLOG Page 95 IhtrMflhf oIA 8611HI'f' SHAllllEl 6 8N 'Y 'PSt' 5 EieRrJ'F aCID 4011963 graphics device Changes in the graphics device or other hardware required software modifications to maintain equival nt functionality U The overall objectives in the development of software to improve this situation were 1 Portability 2 Rapid prototyping 3 User friendly systems and 4 Reusable software U Portab ili ty is concerned wi th the transfer of items between two or more environments In this context portability was applicable in three areas First was the transfer of software between environments without extensive modifications and without compromising functionality Currently it is difficult to use improvements in hardware technology such as new host computers or graphics equipment because of the software conversion expense U Secondly the geographic reference data needed to be flexible to conform to specific application requirements and environmental constraints Different systems had similar geographic data requirements with emphasis on specific areas of the world and different environments would not accommodate the same size data sets There was a need to dynamically customize data for each new system based on the requirements and system configuration from a centralized source CU Finally the finished graphic picture needed to be portable to permit recreation in another environment Because of differences in system configurations the method to accomplish picture portability required efficient storage utilization It was impractical to retain every vector to draw a map with data overlays It was feasible to retain the logical map specification and overlay data coordinates that were necessary to recreate the picture U A problem existed in the specification of requirements for new systems It was often difficult for potential graphics users to adequately communicate their requirements for an interactive system Problems in specification were encountered when some of the capabilities offered by the new system did not exist in the non-automated system A need was recognized for the capability to quickly demonstrate the behavior of a proposed system during requirement definition or rapid prototyping The appearance of the graphics produced and the Jan 83 means of interaction would be clear to the end user and to the designer before implementation This method reduced risk of major revisions late in development when the cost of such changes is much higher U A primary objective of the prototype development was to make the system appear friendly to the new user It was considered essential for the success of this effort to provide for a user totally inexperienced in programming or the operation of interactive systems Features oriented to experienced users will be included later in the development process U The concept of reusable software was important for subsequent sys tern developments Reusable functions were specified as autonomous subroutines that could be called with a minimum number of parameters Hidden values such as those sometimes found in FORTRAN common blocks were avoided in the specification of parameters The product was a subroutine or set of subroutines that could be used without alteration for similar applications with minimal knowledge of the software environment APPROACH U The following approach was satisfy these objectives taken to 1 Use a graphics lab with a variety of computer systems and graphics equipment 2 Use a detailed worldwide geographic database 3 Use a standard graphics interface 4 Build additional layers of implement common functions 5 Develop a High Level Display File format for exchange of pictures 6 Develop one or applications 7 Develop a quick look capability to experiment with new applications and 8 Build future interactive graphics systems using software components from prototypes software more proto types for to real U It was essential to have several different computer systems with varying capabilities to demonstrate the portability of the software and data Graphic output devices representing various technologies made it possible to compare the appearance of the same picture CRYPTOLOG 'rep SEeRE'i' Page '96 ltt - BbE WA SQUIU' SIIMnJB 8 eu ell ' 4011963 EO 1 4 c P L 86-36 U The primary geographic database choSen was the World Data Bank II WDBII 1 because of its high level of detail on a worldwid e basis It represents geographic features such as coastlines or railroads as line segments Each line segment is composed of a set of geographic locations defined in terms of latitude and longi tude The WDBII consist s of approxima tely 47 000 line segments with over eight million of these latitude longitude pairs The capability exists to extract data from the WDBII with specified characteristics for individual user's needs U The CORE system 21 was the primary basis for portability and reusabilityof the basic graphics software I t consists of a set of subroutines the functionali Y Ofwhich was defined by a committee oft1 l Special1nterest Group on Graphics of 1tE ASsociation forCom- put ing Machinery W G GRAPR-ACM The CORE system has been Fr 0IP9sE3J6-ag 6the basis for a national standard for graphics programming The functions defined are independent of the particular graphics device being used the host computer or the language used to implement the software Software developed on this basis may be used with little or no modification on a variety of graphics devices and computer systems Additional functions were added using CORE primitives that would expand the utility of the CORE software for common graphics requirements THE PROTOTYPE SYSTEM Applica tion C J is designed to convert Irecords receivedJrom t ver the PLATFORM network into significant information for the System Operations Manager SON The SOM has interactive tools that provide access to several online databases kept current by background processing of the ecords automatic notification of special conditions as they occur and interactive color graphics to enhance the analysis of collection activities e ee8 I I U The development of the prototype is detailed below We considered the implementa tion of a set of requirements as an appropJ iate approach to the demonstration of these techniques Another prototype is currently being designed It will utilize software implemented for the first one and add new functional capabilities for future software developments U A High Level Display File HLDF format is being developed to facilitate the exchange of pictures Typical functions to be performed include drawing a map with certain characteristics drawing a bar graph or using one of a standard set of graphic markers or icons to indicate the location of data U Software cl2imponents developed for the prototype are intended to be used for experimentation in interactive techniques and to aid in the specification of requirements for proposed systems The software itself is intended t o be used as the foundation for new systems P L 86-36 EO 1 4 c Environment U The prototype was developed using a PDP 11 70 running the UNIX PWB operating system version 6 The display device was the AEDS12 raster color terminal with 8 memory planes and joystick The target system was not available for the initial prototype development consequently all software was completed on a second homogeneous same architecture and configuration system This second system had been used for previous graphics research and was able to support the significant development effort required When the initial system was completed it was transferred to the target system and installed with minimal effort Enhancements were installed on the development system and periodically moved to the operational system reducing the impact on the operational system Jan 83 ' CRYPTOLOG ' Page 97 Ih'rlll3hE VI A SeUIn Slli tHIEfJS enu EO 1 4 c P L 86-36 HlP SEEUR ur ero 4011963 U A third heterogeneous system was available to enable the testing of software portability and device independence This system was a VAX-II 780 with the VMS operating system In addition to the AED5I2 graphics terminaI the VAX had a RAMTEK 9400 color raster system with 9 memory planes and a MEGATEK vector system U The graphics applications software was written using a FORTRAN 77 compiler developed and implemented under UNIX at Bell Labs The Precision Visuals Inc 01-3000 CORE graphics software package was used to generate all graphics displays The installation of 013000 on the UNIX operating system and the PDP 11 70 was performed in-house and is not directly supported by Precision Visuals Inc However this installation does not affect the graphics software and therefore did not affect software portability Certain application dependent and environmental constraints required the implementation of functions in the C programming language These segments did not affect the portability of the major graphics components to a heterogeneous environment U Several databases were developed to support the dynamic map generation features and the application requirements The map data was obtained from WDBII Two additional map related files were also used The first permits map selection by area name e g country names and the second allows the water areas of a map such as oceans to be differentiated from land areas and consequently permits filling in these areas on the display The ocean fill data were created interactively using a modified version of the software described Software structure U The extent of the prototype and the size of the commercial graphics software package exceeded the available program space on the I6-bit PDP 11 70 A multiprocess environment was established with UNIX pipes invoked to enable interprocess communication The pipes were were used to pass data between processes and to synchronize the sequencing of operations U There are eight processes which comprise the current software structure three to support 01-3000 and five to support the application see figure 1 The The processes are organized by function with the interprocess communication kept to a minimum for performance reasons The main process main FORTRAN program is responsible for initiating the other non-DI-3000 processes and for controlling the interaction between the software and end-user All menu generation and processing all data input and database query generation and all parameter file input and output is coordinated by the main process The main process spawns several other processes the Database Query Process DQP the High Level graphics Display Process HLDP and the FFIX process The DQP generates query strings based on the SOM input values performs the database query and interprets the results Successful queries require interpretation and secondary queries to obtain all data required to display the network s or paths It also starts the Database Display Process DDP The DDP is notified of the query results and displays the application dependent graphics overlays It does this by sending graphics commands to the HLDP Query statist ics and overlay display data are returned to the main program from the DDP EO 1 4 c P L 86-36 Jan 83 CRYPTOLOG TQP SE61l llT Page 98 IhYlBbE ViA SSUHl'F SIWHlEbS SNbJPY ero 4011963 query requests I Pr oc ss Ma i n 1 fFIX process Generate nF Display file nuery Process query results High Level Di spI ay Comman 1 s CORE calls HLDC ann CORE resp 1isplay statistics hear ing f i 1e J CORE calls HLDP level Display ------lProcessor ane' CORE ' COPE commimn processinq ---------- res po n se s 1 1 11 Low 1 eve Low' evel CORE calls ----------- High Data Displi'ly Process Low 1evel Low 1 eve' CORE CORE response response CORE calJs CORP calls Geograph ic resp I ' CORE segment storage manage Process Geograph i c calls device r1river process r-IAP process Geographic clh Coor 1inate conv CORE 11 nevice c1ependent command s keyboard entries x Y locations ' CJ raph ic s term inaI Figure 1 P CGO Geoqraphic Process Interaction niagram Jan 83 CRYPTOLOG Tap S138R13T Page 99 IttdfflhE 'lIft eSIIlIf'f elh lflfEhS alfhY 'n P 8 fJ eRE 4011963 U The HLDP is the focal point for all graphics operations It provides the interface between the application program and the graphics software This process receives commands from the pipe which i t translates to specific DI-3000 subroutine calls or to other high level graphics commands such as the map generation command When necessary it will initiate additional processes to do certain functions U The map generation process is initiated by the HLDP whenever geography based displays are requested This process performs all access to the geographic data files converts data to graphics oriented coordinates and generates commands to the HLDP to invoke the necessary DI-3000 graphics subroutines It receives parameters which determine what features are to be displayed the geographic extent of the display and the projection to be used in the conversion process U The FFIX process 3 is initiated only when needed to generate a Best Point Estimate BPE and 95% confidence ellipse from a set of bearings or f lash This process reads a file containing a set of digraphs and angles The digraphs represent Direc tion Finding DF sites whose locations are stored in a separate file The FFIX process creates an intermediate file containing information necessary to display the BPE ellipse and lines of bearing on a map This file is used by the Map process to display the current DF data if that option is active on any map that is drawn U The remaining two processes the CORE device driver and segment storage process are part of the DI-3000 installation on the PDP 11 70 Each is initiated by the DI-3000 software when required with the device driver designed to perform the device dependent functions and the segment storage process designed to manage retained segment usage U The collection resource utilization program requires one process to manage the user interaction and a second process whenever the collec tion resource database is queried see figure 2 It also uses the HLDP and AED512 device driver for all graphics output U The multiprocess environment was necessitated by the small address space of the PDP 11 70 The implementation of the software structure was performed transparent to the user and in most cases to the application programmer The interprocess struc ture can be collapsed without modifying the application software by linking the program with a different library This makes the maj ority of the software portable to larger machine environmen ts Jan 83 User Interface U The prototype was implemented for inexperienced computer graphics users The user interf ace had to be easy to use and friendly to avoid user alienation It also required minimal user interaction to produce useful displays There are two components to the effective user interface the graphics screen layout and the interaction required to produce displays U The screen was divided into five functional viewports graphics menu legend system message area and access time see figure 3 o The intention was to- provide the necessary information on the screen to enable the user to perform a task without extensive hardcopy documentation The arrangement of the viewports is different for the collection resource display and the communications network displays This was necessitated by the type of data contained in each display In each case the largest area is reserved for the user's data The menu area provides the options available to the user The menu options are specified in user terminology to enhance the ease of use Items are preceded by a digit from 0 - 9 indicating the button 'which will initiate the function A special menu area is defined to permit certain functions at any processing level These functions include an online Help facility a hardcopy Print facility a Return function and a system Exit function The collection resource display has an Update function which will requery the collection resources database to obtain the current collection status The Help facility provides documentation on how the graphics functions work the Print facility enables users to obtain a hardcopy print of the current display on a TRILOG color printer the Return function displays the previous menu and the Exit function terminates mode after verification graphics Each of these operations is invoked by pressing the key with the first letter of the function The optional legend area permits user symbols to be defined to aid in interpreting the display The communications network displays use the legend to color code signal types and define line styles as environments The collection resource displays use the legend to show the color definitions for the collection data It has relevance CRYPTOLOG l'QP SEiSRfJ Page 100 IlfiNBJoEi lJ'Itr SSH Ill SltMfIlfJJ08 SUJoJPY 18P srJeIU 'i' aCID 4011963 aue rv requests J f1esourCi ' ' 1 i n Pr cess I ResourcE' Query Process J H io h Level Display Comman s rOpE' calls HLOC anrl que ry resul ts I CORE resp j CORE Resource Da t 'l Display Process calls HLDP l--------ll High evel f'isp ly Processor and CORE command processing Low leveJ Low 1 eve' CORP calls CORr response I l CORI' rlevice rlriver process rlevice keyhoarn entries nepe rlent comman l s J r-- _ _- ----- Cl r l ph i c s ter ini'll 6 S6Q Resource Status Process Interaction Diagram Figure 2 Jan 83 CRYPTOLOG TQP ili'bRiiT Page 101 II YA 'lsK HIt SQMIJIT EURIkYtlTEObS QIJl5Y CIO 4011963 1111111111122222222233333333334444444444555555555566666 1234567890123456789012345678901234567890123456789012345678901234 1 2 3 4 5 6 7 8 9 10 11 12 Comms paths Comms nets I I I I Unidentified 1 2 3 4 5 6 7 8 9 10 Optional lists of displayed data I I 1 I GRAPHICS MEN U 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 3S 36 37 38 39 40 13 AREA AREA I I I I Standard I Functions I I I I Optional map scale line I xxx NM at center I 1 ----------------------- I I I PRINT I Classification area IRETURN I I I I HELP I I EXIT I I I PROMPTS AND I I S Y S T E M MESSAGE S I ACe E S S TIM E I I MAP I LEGEND ARE A 1111111111222222222233333333334444444444555555555566666 1234567890123456789012345678901234567890123456789012345678901234 I I I I I I I 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 3S 36 37 38 39 40 Figure 3 e eee Jan 83 OMSGS general screen format CRYPTOLOG 'Pep aB8RS'f Page 102 Ih UBU ViA Salmi' SlIklIHf t S 8HL1 Tep SS6RST 4011963 only in the communications network display where there is more user interaction with the software The user is always aware of the current system status by the message displayed in this area J The time area reflects the date and time that the database was accessed to produce the current display The SOM can determine how old the current display is by examining this field D The user workstation consists of one alphanumeric terminal for data entry and display Delta Data 7000 and one AEDS12 graphics terminal for all graphics displays The user selects either Collection Resource Display or Communications Network Display from a menu on the alphanumeric terminal This action will bring the initial graphics display to the AED512 and request input from the user All graphics interaction is provided through the graphics terminal The alphanumeric terminal is available to perform other tasks D The user selects a function from the on-screen menu by pressing the key corresponding to the number beside the menu option The function selected will either result in a new menu being displayed a request for additional user input the change in color of a menu option turning the parameter on or off or a change to the main display area Figures 4 8 illustrate a typical sequence of interactions and the resulting displays for communications networks The system message area will always reflect the current system state to keep the user informed Invalid selections are trapped and the user is informed of the extraneous input before requesting the next selection D The collection resource program initiates a database query when the menu item is selected and when the SOM requests an updated status while examining an existing set of resource data Figure 9 gives an example of a collection resource display U The user interface has several additional benefits First the screen image remains stable at all times' Whenever a state change requires a display alteration such as displaying a new menu only the affected viewport is redrawn The remaining viewports are not affected and the user can page through menus without affecting the legend or main display area Second the use of color is effective in showing on off states for system parameters in the menu area The user can easily recognize the current status of certain parameters by the color in which they appear The prototype employed yellow for on states and gray for off The parameter change is reflected immediately in the menu display Jan 83 Third the user may request to have the main graphics area redrawn using the full screen area by pressing the 'F' key This is particularly useful when a hardcopy print of a displ9-Y without the other four viewports is des ired This full screen mode is available at any level of processing You need not be at a specific menu to invoke full screen mode U The user has several local files that can optionally be created to save display parameters and overlay data to alter the color scheme and to alter the arrangement of the viewports on the display These files are stored in ASCII format that individuals may alter using any file edr'tor The files are transportable between homogeneous and heterogeneous sys terns which enhances their usefulness The prototype provides the mechanism for users to dynamically override the system default definitions by specifying an alternate filename The color table specifications are defined by hue lightness and saturation and can be easily modified to user desires The prototype provides a means for users to save display parameters in named files which are then used to regenerate the same display at a different time The display is regenerated from the user specified filename The system always saves the current system parameters on exit so a user may resume processing when reentering graphics mode U The final user interface feature 1s an online help facility The user may request documentation on the currently displayed menu options by pressing the 'H' key The system will display the document on the user's alphanumeric terminal The user may browse through the document using the alphanumeric keyboard buttons to do paging and scrolling operations U The prototype provides a simple easy understand and flexible user interface It attempts to encourage inexperienced users without alienating them and at the same time it has the flexibility to enable experienced users to adapt the system to best fit individual needs Despite the multiprocess configuration the graphics software is reasonably efficient in processing and response time Users are always aware of the current processing state and may alter system parameters through menus or files to Geographic Software U One objective of the prototype was to provide common geographically oriented displays This requirement resul ted in a map software package that is easy to use and adaptable to general purpose mapping CRYPTOLOG Page 103 IlMlBbE Vi'A SellINT elhl HlBbS enM' aCID EO 1 4 c P L 86-36 4011963 EO 1 4 c P L 86-36 - Jan 83 CRYPTOLOG 'i'6F SESRIlT Page 104 I1Mf BU fA e6Illlf'f eIlMflfl LS Om TQP SEeRE'F EO 1 4 c F L 86-36 4011963 EO 1 4 c P L 86-36 Jan 83 CRYPTOLOG Page 105 I1k1ffitJE VIA 8El1IIIf'f 8I1MR1EbS 8lfbY aCID yep BBeRl'1'f 4011963 U The Drawing map being drawn message is displayed in the system message area while the map is EO 1 4 c P L 86-36 Jan 83 CRYPTOLOG Page 106 Ih'AJBbE VIA S9U llT II ViJNK b5J QNIaJPY 4011963 EO 1 4 c P L 86-36 EO 1 4 c -i' L 86-36 Jan 83 CRYPTOLOG TQP eEeR 'f Page 107 H fflb 'Htt eSlHll'f 6HtdmEbS QtlbJPY 4011963 8 88@ The communications net can be drawn in proper geographic position without the presence of a map All map features can be turned off using the map features menu Subsequent net diagrams will appear more quickly due to the absence of the geographic database access Map features can then be added when appropriate EO 1 4 c P L 86-36 Jan 83 CRYPTOLOG TQP iiCPi'I Page 108 Ih fBbfJ VIA 86HI 'f SUA fUfEbS 6Ub'f TSP BE eRE' CIO 4011963 U This is an example of the sc en used to display collection resource status informationThe legend area has been relocate d 'to the lower left and the menu is in the lower right- E' 1 4 c P L 86-36 Jan 83 CRYPTOLOG ' e BESRS Page 109 Ih1N8 bE VIA SQUIll elh nJEhS SUbJPY 'fep SfJeRfJ'f EO 1 4 c P L 86-36 4011963 EO 1 4 c P L 86-36 Jan 83 CRYPTOLOG 'fep SfJeRfJ'f Page 110 Ih lBHl yIti selHllT 8Ib iillEhS 6t1hY 4011963 applications The prograunner draws a map by invoking one subroutine which has a series of arguments to define the map characteristics The arguments can be set via assignment statements in the program or by end users through the menu interface The a options include seven projections mercator gnomonic J perspective orthographic equatorial orthographic polar orthographic equirectangular b four or more geographic database resolutions c twelve or options more geographic coastlines EGBP landS kes political boundaries internal political boundaries rivers railroads roads S E Asia military district boundaries DF data latitude longitude grid lines earth outline tions water fill world area names P L 86-36 orthographic d specification features e center point of map f map scale scale across viewport of colors indicated EO 1 4 c P L 86-36 feature U The map displays are generated from a standard geographic database the WDBII Special access techniques are employed to directly address subsets of the data and reduce data access time for arbitrary area maps One of four versions of the WDBII data is chosen automatically based on the scale of the map being drawn These subsets were created by selecting lout of Nil points from the original data This method reduces the amount of data that is read and processed when minimal detail is sufficient The most detailed version of the map data on the operational system uses 1 out of 32 points U There are several additional features the geographic software provides First the selection of the map area can be dynamically determined based on the user overlay data The user may select the data to be displayed and the software will provide the correct map based on the area covered by the data The burden of producing the proper geographic region is not on the user Second the user may select a geographic area or country by name and the map software will select the map center and scale Finally the geographic software provides' calculations to compute distances between two user -specified points azimuth calculations and inverse projections The current geographic parameters are preserved at the end of a user session to enable continuation in the next session P L projec- for graphic by distance Jan 83 CRYPTOLOG 86-36 c JSOftwa e Collection Resource Status 'fey SEeRE'f Page III 1I I hE fIJI e6 lIll'f 8Ih iHIEbS 8ULY TQP 5ESll E'F aCID 4011963 CU The SOM can manipl rlate the display by scrolling up or down paging up or down proceeding directly to the beginning or end of the display or requ rying the file to ob tain the latest information These are invoked by pressing the corresponding key number next to the option or a 'u' for the update The last page of data contains statistics on information being collected but not forwarded and counts of the receiv6 R6 used for the collection P L e EO 1 4 c Future considerations include selective query for either GOOTEE 1 or GOOTEE 2 lines and options for displaying partial records and summaries laMS Software Communications Network Displays o Jan 83 CRYPTOLOG Page 112 P L 86-36 EO 1 4 c Ih UBM 'lIA eeUIlf'f eIIMflfEM etft f 'Fap SESRE'F EO 1 4 c P L 86-36 4011963 U Not all information contained in the network data records can be conveyed using the techniques described above A menu option was provided to enable the SOM to enter amplify mode This feature permits the SOM to position the cursor using a joystick over a marker PNAB or line segment press any key and have the data record s corresponding to that item displayed in an enlarged system message area This is especially useful to investigate display conflicts D Portability was demonstrated in the transfer of software between 16- and 32-bit machines and the use of several graphics output devices without significant change in the application software The WOBII and other geograph l c data files were also transferred without change The named map parameter and data files provided an initial version of the capabi ity to store and transfer finished pictures U The quickly developed initial capabili ty and subsequent evolutionary growth were valuable in keeping the system visible to the users There were no major surprises and the feedback from the users helped in fine tuning the system to meet their needs U New users considered it easy to learn Additional features for the experienced user are planned including a command mode consisting of short English sentences to allow direct control of the system without menu interaction U Many of the geographic and menu functions are applicable to other systems without change The technique developed to transfer CORE commands between processes on the 16-bit machine has already been used to transfer commands between two other computer systems CONCLUSION D The prototype was a significant step toward a coherent approach to the development of new graphics software at NSA U The value of color graphics was demonstrated in an operational environment on important Agency concerns Color graphics provides an effective dynamic method of conveying information to an analyst to affect near-real-time decision making It proved effective in reducing or eliminating time examining black and alphanumeric listings to isolate requiring analysis J C white events U CORE as a basis for the development of interactive graphics software has been shown to be effective The addition of modular graphics functions using CORE primitives was important in enhancing the value of the CORE system for the development of applications software with similar requirements BIBLIOGRAPHY 1 volumes of multiple hardcopy alphanumeric listings required to present the same picture to an analyst and Delmar E Anderson James L Angel and Alexander J Gorny ''World Data Bank II Content Structure and Application Harvard Papers on Geographic Information Systems Vol 2 1978 2 the documentation in comparison to written summary detailing the collection management events Status Report of the Graphic Standards Planning Comm ttee Computer Graphics 13 3 August 1979 3 w Jones A Hockenbery P Peters C Lempke Standardized DF Algorithm for Target Location using Bearing Information NSA CSS paper 1 March 1976 Jan 83 CRYPTOLOG 'f'6f n eIH 'f' Page 113 FQR QFFISIA HSE Qt y y ero 4011963 THE NSA HIGH-LEVEL DISPLAY FILE Requirements and Basic Design CU P L 86-36 btlL -- 1 Rsa Introduction he NSA High-Level Display File HLDF is a high-level applications U data struc ture to be used in the modern NSA graphics system The fundamental idea behind the HLDF is to unambiguously describe the graphics used both in the analytic processes at NSA and in NSA end product While a simple file format for such a graphic and a conceptually adequate one would include only primitive geometric constructs such as lines polygons markers etc in the manner of the Core System metafile 1 the GKS metafile 2 and the Tektronix Graphic Model Exchange Format 3 and others 4 5 6 the HLDF is an application data structure that contains not only these primitives but also contains high-level application-specific constructs The particular high-level constructs included in the HLDF have been especially chosen to reflect NSA's peculiar graphics needs and include entities such as maps timelines pie charts etc The set of constructs and primitives chosen for the HLDF is certainly not logically minimal because a map for instance can be expressed as a sequence of line primitives but it is a logically complete set because of the inclusion of the more primitive geometric constructs These primitive constructs provide a safety net ensuring that any graphics image can be encoded in an HLDF The design of the HLDF is also constructed so that the set of HLDF primitives and constructs can easily be extended to include at an equally high level other graphic formats should they become desired U One use of the extensibility feature of the HLDF can be seen in the inclusion of what is traditionally not considered to be a part of graphics digital images This other side of the coin of displayed pictures is included in the HLDF in a logically consistent manner Jan 83 ACKNOWLEDGEMENTS The need for an HLDF was recognized as a result of informal discussions held by the Graphics Investigation Group GIG a cooperative effort between T4 R5 and T3 as part of the GIG's proposals for a coherent Agencywide approach to computer graphics All of the individuals involved in the GIG provided the author with numerous ideas read and critiqued the early versions of this paper and in general provided the enthusiasm and camaraderie that is needed to strike out on such a novel path Especially noteworthy in this rel ard were the contributions of I I I thechalrm f the GIG P L 86-36 The HLDF idea also matured as a result of presentations before two groups A presentation was made before the R53 Technical Forum in July 1981 that provided for an early examination of the HLDF goals and basic proposals--an examination that had a noticable effect on the resulting proposal The students of the National Cryptologic School course on computer graphics MP-413 read the final draft of this paper and their questions and observations forced me to improve the overall clarity and consistency of the document My thanks to all for their contributions Any errors still present remain of course the responsibility of the author K J S wi th that of traditional graphics and its inclusion represents a possible future trend for analytic graphics at NSA CRYPTOLOG Page 114 eft 8' Ji l eI h HS r at hY PBR BPPI81 b HSE BI Y 4011963 without conflicting with the other design goals Ed note Only Appendix I of this paper h _ b inc luded All the other append ices are available in the full report TR-R53-1182 S-224-904 I U The HLDF is NSA specific but it is not a repeat of the NSA designed and developed programming languages such as BETA 7 GaTS or POGOL with their corresponding support acceptance and transportability difficulties but rather is a data structure and more specifically a file format Such an NSA specific format definition would be needed if among other things NSA product is to be shipped electronically to NSA customers The need for such a specific format and its precise definition is independent of the particular programming language chosen for the various applications programs There are commercially available graphics file formats 1 2 3 but these include only the most primitive graphics entities that would be common across the myriad commercial applications of graphics The encoding of a map for example using these schemes would be voluminous and would not allow later manipulation at the logical level--for example changing the map projection For this reason the design of an NSA HLDF was undertaken U Peripherally it is also desired that this data structure promote a modular design of 'the graphics system using it This goal can be achieved by a system in which the HLDF is o o High store the structure of the current display e g at the level of map circle text histogram etc and not just store separate and logically d isconnec ted line segments or pixels be updated i e by the addition the modification or the deletion of an entry with each and every modification to the graphics portion of a display and explicitly store all possible parameters e g line color and style text font map projection scale etc Thus the HLDF itself must not rely on any system defaults since they can be different not only from system to system within the Agency but also from user to user within any system Level to contain all the information necessary to reconstrucr-a given display to provide for the logical manipulation of a display generated from an HLDF the so-called Out to Lunch problem i e the problem of the construction of a complex graphic by a computer-naive analyst with interruptions of several hours or several days to be machineindependent to be unseen and and graphics device- transparent to the U Also the design of the HLDF o o end user to serve as an NSAwide and perhaps Communitywide graphics metafile for picture storage transmission and regeneration to be easily interpreted and o to be as compact and space-efficient as possible for most of NSA's graphics needs Jan 83 FQR CRYPTOLOG QFFISIA executed by another routine whose lower level routines implement the actual graphics algorithms that construct the displays encoded by the HLDF U These goals imply that the current HLDF i e the HLDF corresponding to the current display Design Goals ' U The design goals of the Display File are constructed by one routine of the system thus localizing the need to understand the details of the HLDF structure and QSE will resolve conflicts between spaceefficiency and ease of use in construction execution and debugging in favor of ease of use will not enable the end user to different iate between a display buil t from scratch from one recalled from secondary storage Thus any operat ion poss ib Ie at any point in a graphics system must be equally possible for a restored display created in a previous session on that system and a display built entirely at that session will guarantee that a transmitted picture will be redisplayed exactly as it was created e g same colors line styles marker positions etc though the receiver will be able to modify the display at the logical level e g change Page 115 QN Y FElR ElFFIS A - ' l ElIlI Y 84-Qt11963 o the color of ground move tional lines legends use add or remove some entity or the backa marker or icon add ad i- text or markers redes1gn a different map projection inserts etc is the glue that holds together many of the modules in the modern NSA graphics system It compactly represents the display at any point during the user's session with the system I t must efficiently encode displays associated with geographics management graphics briefing slides and dependency charts but must also be capable of use in other application areas such as signals analysis VLSI design ideographic language processing etc U The use of this HLDF for the transmission of graphics is not dependent upon the particular CPU of the receiver the graphics hardware or even the graphics systems software of the receiving system The receiving sys tern need only pos ses s software w ich can interpret the HLDF format In addlt10n the receiving s stem must have a ro riate geographic data the NSA LI-c-o-n- f i l-e-' a--f -1 'l -e--n-o-w-' 'b-e i-n-g- 'd-e- s i- g- n e d wh ic h will store frequently used icons e g missile outlines military unit designators mushroom clouds etc and the font data for the various character sets to be used Proposed Design U The following is a design for an HLDF that purports to satisfy all of the above design goals In the course of constructing this design two major implementation decisions were made--decisions whose impact and effect on the HLDF design are second only to the major design goals enumerated above The first of these implementation decisions is that this HLDF design does not allow for the direct encoding of three-dimensional data but only for data in two dimensions This decision is motivated by two concerns o o the extremely small use of threedimensional graphics in graphics applications in the Agency and the great increase in complexity that would be incurred in designing and implementing a three-dimensional HLDF as opposed to a two-dimensional one There is use of a o f t ime implement For those three-dimensional HLDF such an HLDF could be des igned at a later date and equipped with a three-to-two-dimensional HLDF translator A three-dimensional HLDF-based system equipped with such a translator would allow a threedim nsional display to be stored locally with the ability for later logical manipulation of three-dimensional entities and for the transmission of such a display in a manner that would allow redisplay by anyone capable of processing a two-dimensional HLDF The receiver of such a transmission would not however be able to modify this transmitted display at the 10glcal level Slnce t e three-dimensional entities that make up thlS display are not directly represented in the translated and transmitted HLDF they are represented by their two-dimensional projections and thus the modification process would not be possible at the logical level U The second major implementation decision for the proposed design which follows is in the choice of coordinate systems In this proposed design an HLDF can contain data expressed in either one of only two coordinate systems the traditional latitude longitude coordinates for geographic plots and an integer Cartesian coordinate system with a 16 range from 0 to 2 - 1 for each d1menS10n hereafter referred to as the integer virtual coordinate system Systems that use any other type of coordinate system e g polar coordinates normalized device coordinates etc are responsible for transforming that data into one of these coordinate systems for inclusion into an HLDF These two coordinate systems are meant to be used exclusively for any given HLDF though with some disclaim -rs concerning the res ul ts 0 f sub sequent zoom1ng operat ions These two coord inate sys terns can be used in one HLDF U Given these two implementation decisions there are at least two different approaches to the design of this format One approach is that of a generative grammar used for example in the Caltech graphi s metafile for VLSI circuits 8 and another 1S an assembly language model with op-codes and arguments Because the graphics used in NSA product typically do not have the intricate internal structure found in circuit layouts and thus cannnot easily avail themselves of the expressive power of a generative grammar the assembly language model was chosen as the basis for the HLDF design At the highest level a general format of an HLDF which will satisfy the stated design goals is 1 it t Ie to be gained in de laying the two-dimensional HLDF for the amount that it wou Id take to des ign and a complete three-dimensional HLDF few applications that may require a Jan 83 CRYPTOLOG Page 116 FElR ElFPleIAI 'SE 8tlhY PBR BPPHJIAb f lSE 6IIbl' 4011963 OP CODE l OP CODE 2 OP CODE n ARGUMENT LIST l ARGUMENT-LIST 2 tion to the detailed design for the HLDF from using such a scheme ARGUMENT_LIST n U The op-code is a three-long character string representing the graphics entity being cons true ted or some informat ion nece ssary for the reconstruction of the display The elements of the ARGUMENT LIST are separated by commas and not all argwments are mandatory where each ARGUMENT LIST is of variable length However since on some systems i e machines and or operating systems this variable-length structure is difficult if not impossible to construct and process this format may be further specified as In the detailed description of the individual op-codes that follows optional arguments are surrounded by square braces The only other use of braces in that description is for array indices Context easily distinguishes these two uses BEGIN HLDF TOKEN OP CODEr 1 BEGIN ARG LIST TOKEN The order of the op-codes in an HLDF is important to the structure of the display it represents in two ways ARGUMENT l o ARGUMENT 2 ARGUMENT 3 ARGUMENT n o END ARG LIST TOKEN OP CODE 2 END HLDF TOKEN giving it fixed-length records This second approach of using an assembly language model for the design of the format of the HLDF itself has two alternatives o o the op-codes can be fixed length encodings e g a three-long character string or Jan 83 peR some control information necessary for the display of some entities is contained in op-code entries that precede the actual definition of the entity U The op-codes that have been defined to date are given below separated into the logical categories of General Control Geographies Management and Basic Graphics ollowing these lists are detailed explanations of the individual op-codes o they could be encoded us ing a Huffman1ike encod ing giving the more frequently-used op-codes shorter encodings and the less frequently used opcodes longer encodings A Huffman scheme can significantly reduce the size of the data set to be transmitted but for our purposes here it is felt to be an unnecessary complication to the basic design Accordingly the proposed encoding for the op-codes will be fixed length Note that this does NOT prevent any particular installation from using such a Huffman scheme for mission nor does it prevent a later modi fica- the overlaid structure of the display may depend on the order in which particular ent it ies are displayed the so-called two-and -one-hal fll d imens ion hidden surface processing which allows pseudothree-dimensional pictures to be constructed by judiciously choosing the order in which two-dimensional objects overlap and are displayed and o CRYPTOLOG General Control Begin End Comment Viewport Plot Size Classification Geographies Map Controls Map QFFI8Itd5 US8 Page 117 eUr F8R 8FFHJIlrb fer 811b'l 4011963 o o Geo_Polyline Geo_Military Symbol the HLDF Within the scope of a particular block named with the 'Label' argument one can set values for the current color current line style current line width current character attributes etc These values will be used unless specifically overridden Qy differemt values in of the GBPE -codes within the block and then these values will be used only for that particular Q P -code The initial 'BEG' of an HLDF i e the 'BEG' of the outermost block must contain values for all the optional arguments in order to set the initial default values for this HLDF since one of the design goals was that the interpretation of an HLDF not depend on the defaults for a particular system or user Subsequent 'BEG' op-codes may contain only those arguments that are desired o Management Histogram J Pie Chart J Bar Chart Timeline Line Gr aph U Note 'BEG' must be matched with the next most closely nested 'END' U The possible values for parameters are Label Basic Graphics Text J Rectangle Line Marker J Polygon J Fill Axes J Polyline Circle Arc Image J Military Symbol the various Any text string An HLS triple PLUS a Line Style value The Line Style value included here will be used ONLY IF the displaying system does not support color and in this case this Line Style overrides the normal Line Style See Appendix I I I or original report Solid Dashed Dotted Dot-Dash An integer from 1 to 99 1 corresponds to the narrowest line and 99 to the widest Character Attributes The display attributes of any text string See Appendix IV of original report for details This parameter has a number of possible subparameters explained below General Control Op-Codes Begin Segment Argument List Label Line Color Line Style Line_Width Character Attributes Fo t Text Color Character_Direction x y Character_Path Character_Size Posi tion_Prec islon Font Roman Italics Roman Bold Text_Color An HLS triple Character_Direction The direction vector for the writing direction of the text Both X and Y must be integers from 0 16 to 2 - 1 Note that a U Comments The op-code 'BEG' allows for an Algol-like block structure to be imposed on Jan 83 CRYPTOLOG F6R 8FF't8IAb er Page 118 81H FQR QFFHnlrJ HiS 8 QUbY 4011963 character direction of 0 0 is not valid since this vector has no direction Character Path Right Left Up Down See Appendix IV of original report for a description of how the character attributes work An integer from 1 to 16 16 2 - 1 where 2 - 1 corresponds to a character filling the entire current viewport Position-Precision High Medium Low End Segment Argument List Label Checksum U Comments This op-code delineates the extent of a picture block The optional though strongly encouraged argument must match the 'Label' of the corresponding 'BEG' op-code U The 'Checksum' argument prOVides a further level of redundancy and error detection for an HLDF file than is normally given to any other alphanumeric file by the system If present this argument should contain a checksum of the bytes in the concluded HLDF If the receiving system finds a discrepancy between this count and the count of the received block then that HLDF should be marked as defective and the transmitter should be notified to retransmit U It is possible that there would arise a si tuation where an HLDF would be constructed on one graphics system and then transferred via magnetic tape to another system possibly with a different CPU and or operating system for transmission This situation is important because in the writing to magnetic tape the HLDF may undergo some seemingly trivial modifications such as replacing EOLs or CR s by CR LF s addi tion or deletion of nulls and of trailing spaces conversion of TABs into spaces addition of spaces CRs at either end of the HLDF and the like It is desired that any checksum algorithm proposed for use with Jan 83 U This checksum provides only an additional level of error detection not error correction It is modeled after more properly stolen from the checksum proposed for the Caltech Intermediate Form CIF format for the transmission of VLSI designs over the ARPAnet 9 The computational method proposed there may even be useful for the HLDF checksum and this checksum algorithm is presented in Appendix II of original report Op_Code COM Operator Comment Argument List String U Note From this point on in the HLDF proposal none of the individual character attributes will be explicitly named in the op-code description These parameters will be referred to by the group name Char icter Attributes See appendix IV for further details Op_Code END the HLDF for the computation of the 'Checksum' argument be invariant under such transformations U Comments This non-graphic nonexecutable op-code allows the originator of the HLDF to communicate a small amount of alphanumeric information to the displayer of the HLDF This text string could contain such information as the originator's name the classification admittedly redundant but not a bad idea anyway see CLA below etc The displaying program may for example merely echo the 'String' to the associated alphanumeric device when the HLDF is processed U Note that there is no theoretically imposed or priori limit on the si e of the 'String' argument but a limit of 100 characters seems consistent with the intent of this op-code Op_Code VPT Screen Viewport Argument List Lower Left Corner x y Upper_Right_Corner x y in the integer virtual coordinate system U Comments This defines the portion of the display surface in which the picture corresponding to this HLDF is to be displayed The defaul t that is the value i f this opcode is not present is for a full-screen Viewport This op-code if present governs the display of all entities in its block Accordingly it must preceed all op-codes which construct graphic entities U This use of a 'VPT' op-code allows one HLDF to contain more than one vie 'Port and allows the user to logically manipulate this image in terms of these viewports The user could for example make only one of several viewports appear on the screen or could even change the vie 'Port extent U This control op-code allows the user both to place several non-overlapping pictures CRYPTOLOG FQR QFFI8L't s HSI'J Page 119 emw aCID FeR eFFle lAb 4011963 on one screen as well as to specify a portion of the display for an inset i e overlapping pictures Because of this the virtual coordinate system used in this block with the exception of the 'VPT' op-code is the full coordinate system not a subset and is such that its full extent is displayable in the viewport window That is the coordinate system inside any viewport is the same A viewport using the integer virtual coordinate system uses the entire coordinate system regardless of the size of the viewport or its aspect ratio This will allow for subsequent zoom opertations to be accurately displayed 9E 61ft Major Classification None Unclassified Secret Top Secret Note that 'None' is the null classification i e it will not appear on the graphic when the HLDF is interpreted Position x y in the integer virtual coordinate system or a lat long value Character Attributes U The VPT op-code will be used for among other things legend boxes and small map inserts displayed at a different scale than the main map See 'BEG' op-code and or Appendix IV of the original report For Major Classification and Codewords only Codewords U Note that such an lie on top of a larger user will be able to look removing it The picture be affected by this use of String These strings will be appended to the Major Classification and will appear on the same line with it Caveats String These strings will be diplayed at their individually specified positions typically on separate lines One example of a caveat is EYES ONLY DIRNSA No maximum size is given for these caveats but 50 seems reasonable Character Attributes See 'BEG' op-code and or Appendix IV of the original report For Caveats only Op_Code SIZ inset viewport may picture and the end under the inset by underneath will not a viewport Plot Size Argument List Extent in hundredths of an inch Y_Extent in hundredths of an inch String U Comments This op-code allows the originator of an HLDF to request a certain plot size when hardcopies are made An 8 5 x 11 plot for example would be requested with the arguments 850 1100 The' String' argument allows for the passing of a small amount of alphanumeric information from the originator to the plotter operator Geographic Op-Codes Op_Code CLA Classification Argument List Major Classification Position Character Attributes Codewords Codewo rd 1 Codewo rd 2 ooo Codeword n Caveats Caveat l Position l Caveat 2 Position 2 Caveat n Position n Character Attributes U Comments The classification for use by the receiver of the HLDF for hardcopies etc The classification is set in this op-code in order to make it easily accessible by the receiving system Some have suggested that the system GBP allow 1 graphic hardcopy Q be made of i Y HLDF file that does not possess 1 CLA GBPE -code somewhere in its structure U The possible values parameters are for the various Jan 83 Op_Code MPC Map Controls Argument List Center lat long Radius nautical miles Projection Grid_Switch Grid_Height Grid_Width Map_Line_Resolution Altitude_Viewpoint U Comments This op-code must precede any of the geographic op-codes and its parameters govern the display invoked by all subsequent geographic op-codes At most one MPC op-code may be present within the scope of a single viewport VPT regardless of whether the VPT op-code is explicitly present or if i t is implied for an entire HLDF by its absence The 'Projection' argument takes its values from the set of cartographic projections a set which currently includes Mercator Gnomonic Orthographic Polar Perspective etc The 'Grid_Switch' argument determines CRYPTOLOG Page 120 F6R 6FFI8It' QS6 QN JPY 4011963 whether or not a lat long grid is to be displayed and 'Grid_Height' and is displayed in degrees in DDDMMSS format The 'Map_Line_Resolution' parameter gives the user some control over the precision of the map background This parameter takes its values from rough medium detailed with 'detailed' providing the largest amount of map detail The value of 'detailed' for this parameter may be appropriate for very detailed maps of a small region or for the final highquality plotting of maps for inclusion in product The 'rough' value would be appropriate for a schematic of a large area or for a quick and dirty map for some types of preliminary analytic work It is anticipated that the user-perceived response time for a graphics system to draw a detailed map will be significantly larger than for a rough map The 'Altitude Viewpoint' is a measure in nautical miles of the altitude of the viewpoint used in perspective cartographic projections Argument List Feature_Level_of_Detail Feature Name l Color l Feature Name 2 Color 2 ' Feature_Name n Color n U Comments This op-code is the encoding for the map background data The feature names are present only if they are to be displayed and are chosen from the following set International Boundaries Coastlines Islands and Lakes Rivers Internal Boundaries Military Districts Air Corridors Railroads etc Any given feature name can be present in the argument list at most once The 'Color' subparameters are chosen in accordance with the usual HLDF color encoding See the 'BEG' op-code and or Appendix III of the original report and a particular color may be present in the argument list more than once The 'Feature Level of Detail' subparameter takes its values hom- the set major intermediate all with the value 'major' providing only the most prominent features and the value of 'all' providing all of that feature present in the map data base Op_Code GMK Geographically_based Marker Argument List Position lat long Marker Number in the NSA Icon File Scale -Orientation as measured in degrees from the equator Mirror_Image_F1ag Text_String 1 Text_String_Position l x y Character Attributes l Text String 2 Text_String_Position 2 x y Character Attributes 2 ooo Text String n Text_String_Position n x y Character Attributes n J Jan 83 U Comments This op-code allows for the placement of marker symbols e g circles triangles military unit symbols icons of antennas or missiles etc on a map The 'Mirror Image Flag' takes its values from on off a whe - 'on' causes the icon displayed to be a mirror image of the stored icon image Since some of the symbols have a varying textual component the 'Text_String' allows a user to associate this string with the marker The position of the text string is expressed in the integer virtual coordinate system but with respect to the position of the marker Tha t is the position of the text string is relative to that of the marker Its character attributes are determined by the optional parameters if present or the current character attributes otherwise Note that the Character Direction is with respect to the coordinat system of the marker i e if the icon is turned 5 degrees with respect to the equator then the Text_String will be too f the horizontal Character Direction used The horizontal Character Direction is I 0 To angle just the Text_String wi th respec t to the marker the Character Direction parameter should be changed accordingly The' Scale' parameter controls the size of the displayed icon relative to its definition size The values for this parameter range from 0 to 99 wi th the scale of the icons as stored in the NSA Icon file defined to be size 30 Some samples depicting the effect of these various parameters on the display of icons are shown in Figure 1 U Note that 1 the application programs that change the size of a marker will probably also want to change the size of any attached text but that this function is outside of the HLDF itself 2 the display of any associated text string is not affected by the value of the 'Mirror Image Flag' and 3 there is no 'Color' parameter- to this op-code since the Icon file itself is assumed to store multicolored icons Op_Code GLN Argument List Endpoint l Endpoint 2 Both expressed in lat long Direction_Flag Line_Style Color Width U Comments This op-code allows for the placemen t of geographically-based lines The 'Direction Flag' is set to TRUE i f the line direction from Endpoint l to Endpoint 2 is to be indicated e g with arrowheads Other optional arguments allow for the temporary override of the current color line style and width Note that this line will not in general be a straight line on the display but rather will be seen by the viewer as the result of a cartographic projection of CRYPTOLOG FeR 6FFI8IAb Geographically-based Line SSB Page 121 6IftS 4011963 FeR eFFI8L r 'Btl 8ULY a straight line onto the Earth's surface Op_Code GCO polygon The values for the subparameter 'Color' are the same as those in MAP Geographically-based Conic Argument List Type Center lat long Semi_Major_Axis Semi_Minor_Axis in nautical miles Orientation as measured in degrees from the Equator U Comments This op-code allows for the placement of a conic against a geographic background The 'Type' argument takes values from the following set ellipse circle hyperbola parabola Note that the conic is on the Earth's surface the displayed figure will exhibit the distortions typical of cartographic projections Op_Code GTX Geographically-based Text D Comments There are a number of possible relationships between the position value and the exact string placement For example the position value could be the left bottom corner of the string It could be the bottom center top center center center etc For the HLDF encoding the left bottom corner will be used Note that this does not affect the manner in which the end user perceives his text placement functions but rather only the manner in which the applications programmer must provide the information to an HLDF routine--two entirely different operations GPL Geographically-based Polyline Argument List Number_of_Points Point l lat long Point 2 Point Number_of_Points Line_Style Width Color Geographically-based Polygon Argument List Number_of_Points Point 1 lat long Point 2 Point Number_of-points Fill_Pattern Interior Color Edges Color Vertices Color U Comments The argument 'Point l ' is both the starting and ending point of the Jan 83 Argument List Position lat long Flag Symbol_Size Primary_Duty Secondary_Duty Staff Base Associated Text Text String l Text_String_Position l Chara ter Attributes l Text_String 2 Text Strin -Position 2 Character Attribute 2J o o Text_String nJ Text String Position n Character Attributes - Size Color Interior_Color xxxx C j @ ' rim For further details original report see Appendix V of the Management Graphics Op-Codes U NOTE The HLDF encodings presented here for management graphics are GBP final See the section on Unresolved Questions for a discussion of the alternate path that may be taken for this encoding Op_Code HST Histogram U Comments Self-explanatory extension of the geographically-based line GLN This GPL op-code is included in the HLDF definition for the same reason it is included in other graphic file formats i e for efficiency in implementation Op_Code GPG Geographically-based Military U Comments These entities denote the positions of particular types of military units They are derived from the standard military symbols such as Argument List String Position lat long Character Attributes Op_Code Op_Code GMS Symbol Argument List X_Axis_Label Y_Axis_Label Percentage l Percentage 2 Percentage 3 Percentage n Color Number of Title Lines Title l Title 2 ' Titl Num r_of_Title_Lines X Axis Ticks Y Axis Ticks X-Axis-Labels l X Axis Label 2 X-Axis-Label n Y Axis Labels l Y Axis Label 2 - Y_Axis_Label m U Comments An encoding of a histogram The possible parameter values are X Axis Label - y_A iS_Label Character string Percentage 1 n 0 Color CRYPTOLOG Page 122 FSR SFFleIAIo eBE SUhY 100 An HLS value PLUS a line pattern See Fell eFFI8L'rb T JSI'1 BIns 4011963 Appendix 111of the ori- ginal report for details Title l Number_ofJ Character string X_Ax is_Ticks Y_Axis_Ticks 0 X Axis Label 1 nJ - Y_ is_Label 1 nJ Character string '1 2 Legend_Name Number_of_Title_Lines Legend_Style X_Axis_Tic_Mark_Labels l n X Label Position Y Axis_Tic_Mark_Labels l nJ Y_Label_Position U Comments To be determined J Op_Code TML Timeline Argument List To be determined U Note that the actual data from which the histogram'was constructed is not stored in the HLDF but rather only the data necessary to reconstruct the display Op_Code PIE Pie Chart Argument List Number_of_Sectors Percentage l Percentage 2 ' Percentage Number_of_Sectors Label l Label 2 ' Label Number_of_Sectors Label Position l Label Position 2 Label Number of SectorsJ- Explode Sector ll Distance l Sector 2 Distance 2 ooo Sector m Distance mJ Percentage_Label_Position 1 Percentage_Label_Position 2 ooo Percentage_Label_Position Number_of_Sectors Radius Color l Color 2 Color 3 o o Color Number of Sectors Pattern l Pattern 2 Patter 3 Pattern Number_of_Sectors Starting_Angle Edge_Style U Comments An encoding of a standard pie chart allowing for exploded sectors and two types of labels The Starting Angle parameter is the angle from the horizontal for the start of sector 1 This is required in order to insure that the pie chart will be displayed in exactly the same orientation on different systems All other parameters are selfexplanatory U Comments To be determined Op_Code NG Line Graph Argument List Number_of_Families X Axis Label Y Axis Label X Range X High X Low - - Y_R nge Y_Hfgh Y_Low Fa ily l Number_of_Line_Segments X l Y lJ X 2 Y 2J ooo X Number_of_Line_SegmentsJ Y Number of line Segments Family 2 Numb er_- f_Line3'egmen ts X 1 J Y l X 2 Y 2 oo X Number_of_Line_SegmentsJ Y Number_of_line_Segments ooo Family Number_of_Families Number_of_Line_Segments X l Y l X 2 Y 2J X Number_of_Line_SegmentsJ Y Number_of_line_Segments Color l Color 2 ooo Color Number of Families J Number of Title-Lines Title_Line 1 Title Li e 2 -Title_Line 3J J X Axis Tic Mark Labels 1 n X-Tic Mark-Inte val Y-Axi Tic-Mark Labels 1 n Y Ticj1ark Inte val U Comments To be determined Basic Graphics Op-Codes Op_Code BAR Bar Chart Op_Code TXT Text Argument List Style X_Axis_Label Y Axis Label Number of Families N mber-of Bars Amou tl l Amount 1 2 ooo Amo nt1 Number of Bars Amount2 1 Amou t2 2 ooo Am- unt2 Number_of_Bars Amount3 1 Amount3 2 Amount3 Number of Bars Color l Size Left Top Corn r -Right_Bottom_Corner Colo 2 Color 3 Color 4 Number of Title Lines Title_Line l Titl Li e 2 -Title Line 3J Legen Position Lege d_Name l Legend_Name 2 Argument List String Position Character AttributesJ Jan 83 U Comments None See Appendix IV of the original report for details Op_Code RCT Rectangle Argument List Lower_Left_Corner Upper_Right_Corner Fill_Color Fill_Pattern Orientation CRYPTOLOG FeR QFFI6Itk 9gB Page 123 QN JPY FeR eFF E8 EA15 Hsr QrlM ' 4011963 U Comments Orientation is measured in degrees from the X-axis direction Possible Fill Pattern values are shown in Figure 6 of Appendix IV in the original report Op_Code LIN Line Argument List Endpoint l Endpoint 2 Width Line_Style Color D Comments None U Comments This command will be used to fill an area of the screen not defined as a polygon using the PLG command above such as the region bounded by three mutually intersec ting lines Fill_Color is an HLS value PLUS a Fill Pattern See Appendix III of original report Op_Code AXS Axes Op_Code MRK Marker Argument List Position x y Marker_Number Scale Orientation as measured in degrees from the X axis Mirror_Image_Flag Text_String 1 Text_String_Position 1 x y Character Attributes l Text_String 2 Text_Strin -Position 2 x y Character Attributes 2 oo Text_String n Text_Strina-Position n x y Character Attributes n U Comments Same as Geographically based Marker GMK Argument List X_Lower_Bound X_Upper_Bound Y Lower Bound Y Upper Bound X Axis-Tick Mark Labels l n X Tick Mark Interval Y-Axis-Tick-Mark Labels 1 n y rick Mark Inte val Line_Style Width Color U Comments To be determined Op_Code PLN Polyline Argument List Number_of_Points Point l X Y Point 2 ' Point Number_of_Points Line_Style Width Color Op_Code PLG Polygon U Comments None Argument List Number_of_Points Point 1 Point 2 ' Point Number_of-points Attributes Interior_Style Interior_Color Edge_Color Edge_Style Edge_Width Vertex_Color Vertex_Size U Comments Point l is both the starting and ending point of the polygon 'Vertex Size' is the size of the dot used for the vertex The meaning of the other arguments is self-explanatory The values for the Attribute subparameters are Interior_Style To be determined In terior_Color HLS value PLUS Fill Pattern HLS value PLUS Line Style Op_Code CIR Circle Argument List Center X Y Radius Fill_Style Fill_Color Border_Style Border_Color U Comments None Op_Code ARC Arc Argument List Center X Y Radius Start Angle Stop_Angle Fill Style Fill_Color Border_Style Border_Color U Comments The parameters 'Start_Angle' and 'Stop_Angle' are measured in degrees from the horizontal HLS value Solid Dashed Dotted Dot-Dash Narrow Normal Wide 0 oo 99 Op_Code FIL Fill Argument List Interior_Point x y Jan 83 Op_Code MIS Military Symbol Argument List Position x y Flag Symbol_Size Primary_Duty Secondary_Duty Staff Base Associated Text Text_String 1 Text_Strin - Position 1 Character Attributes l Text String 2J Text String Position 2 Char cter Attribute 2 Text_String n Text_Strin -Position n Character Attributes n Size Color Interior_Color CRYPTOLOG FeR eFF E6Ilk YSE Page 124 Q kJPY F8R 8FFlell HSE 81 Y 4011963 U Comments These entities denote the positions of particular types of military units They are derived from the standard military symbols For further details see Appendix V of original report Op_Code IMG Image Argument List To be determined U Comments A pixel array that is to be placed within a certain portion of the current viewport It is through this image op-code that digital images can be placed in the background of an HLDF with the possibility of adding addi tional graphics on top of the digital image with perhaps some success This approach can be termed the All things to all people approach The other approach is to standardize a couple of line graph formats a couple of bar chart formats etc These would then be the ones compactly encoded by an HLDF If an end user had to have a different format it could still be encoded using the basic graphics safety net albeit with some loss of later functionality with regard to later modifications of that HLDF In this second approach there would be a FAMILY of op-codes for say line graphs LGA LGB LGC ooooo Implementation would probably be simplified This approach can be called the Family of Fixed Formats approach Which approach is better in the long run for the HLDF Appendix I HLDF Examples Operations involving an HLDF Transmit over PLATFORM U Following are some sample HLDF encodiugs Each has been done by hand from a given display in order to simulate the HLDF that would be output so the reader should not be concerned about the third or fourth decimal place for the numerical values but rather the overall structure All examples closely resemble Agency product but all are taken from unclassified open-source material In order to increase the readability of these examples the format used will be Variable VALUE where the Variable is some argument name and VALUE is the value for that argument Most probably this will not be the format employed for an actual HLDF implementation and accordingly the values given for the sizes of these example HLDFs will be character counts for the VALUEs only Search for some entity by op-code and some parameters U Unless otherwise indicated all figures in this section are from 10 U The operations which are to be performed on a data structure and the frequency with which they will be performed can be used to guide the decisions in its implementation The operations which will be performed on the HLDF are roughly in order of frequency o oo oo o o oo Execute i e construct the display represented by some HLDF thus making that HLDF the current HLDF The HLDF to be executed will usually be stored on disk Add a new graphics entity Store on disk Modify some entity edit text e g the change color Example 1 Geographic HLDF with Icons and Inset Shown in Figure 1 Search for some entity based on the values of some parameters no op-code Size of this HLDF is 4 152 characters Delete some entity OP CODE Overlay the display represented by a given HLDF on the current display thus concatenating the given HLDF to the current HLDF BEG Label EXAMPLEl Line-Width 1 Character Attributes Font ROMAN Text_Color 0 0 0 Character_Direction 1 0 Character_Path RIGHT Character_Size SOD Position_Precision HIGH COM String BLACK AND WHITE GRAPHIC HIGH PRECISION UNCLASSIFIED 111 UNRESOLVED QUESTIONS 111 U There are two approaches to the inclusion of management graphics in the HLDF design One is to try to parameterize the seemingly infinite varieties of such charts e g the MANY possible styles of line graphs This is the approach that was taken Jan 83 CRYPTOLOG ARGUMENT LIST CLA Major_Classification Page 125 FeR eFFfefA h tlSE eUhY NONE FeR eFFI8I h BSE ero 4011963 6MLr Figure 1 Geography with Icons and Legend j -I U S S R -'AJ CHINA - VLake Khanka I I -X r- I' c -''' NORTH KOREA Sea of Jafl J1l Paci jGBP Ocean RYUKYU ISLANDS' Philippine Sea Iwo o Jima Jan 83 ' CRYPTOLOG Page 126 FQR SFFISIAJ HSri SUJ Y peR ePF'E8'E Ir JSIl 8l1bY 4011963 MPC Center 354000N 1341200E Radius 893 Projection MERCATOR Grid_Switch OFF Level of Detail DETAILED Altit de Vlewpolnt o 1000 tion 700 300 50 Character_Size GMK Position 354200N 1264600E Marker_Number 122 Scale 30 Orientation -5 Text_String Kunsan Character Attributes Font ROMAN BOLD Position 2000 0 Character_Size 700 MAP COASTLINES SOLID INTERNATIONAL BOUNDARIES DOT-DASH MAJOR ISLANDS SOLID MINOR ISLANDS SOLID MAJOR LAKES SOLID GMK GMK Position 410000N 1412000E Marker Number 122 Scale 30 Orientation -5 Text_String ''Misawa '' Character Attributes Font ROMAN BOLD Position 600 100 Character_Size 700 Position 353841N 1285500E Marker Number 122 Scale 30 Orientation -5 Text_String Taegu Character Attributes Font ROMAN BOLD Position 200 50 Character_Size 700 GMK Position 434000N 1404200E Marker Number 3 Scale 30 Orientation 0 Text_String Sapporo Character Attributes Position 300 0 Character_Size 200 Position 354000N 1400000E Marker Number 62 Scale 30 Orientation 0 Text_String Tokyo Character Attributes Position -1024 200 Character_Size 200 GMK Position 424200N 1321000E Marker Number 3 Scale 30 Orientation 0 Text String Vladivostok Character Attributes Position 100 300 Character_Size 200 Position 353000N 1382216E Marker Number 122 Scale 30 Orientation -5 Text_String Atsugi Character Attributes Font ROMAN BOLD Position 2000 100 Character_Size 700 GMK Position 372000N 1265200E Marker Number 62 Scale 30 Orientation 0 Text_String Pyongyang Character At tributes Position 300 0 Character_Size 200 Position 344225N 1413000E Marker Number 164 Scale 30 Orientition -5 Text_String Yokosuka Character Attributes Font ROMAN BOLD Position 300 -75 Character_Size 700 GMK Position 365200N 1271000E Marker_Number 39 Scale 30 Orientation -5 Text_String Camp Casey Character At tributes Font ROMAN BOLD Position 400 0 Character_Size 700 Position 344016N 1293511E Marker Number 3 Scale 30 Orientation 0 Text_String Pusan Character Attributes Position -100 -40 Character_Size 200 GMK Position 364100N 1263200E Marker Number 39 Scale 30 Orientation -5 Text_String Yongsan Character Attributes Font ROMAN BOLD Position 2048 -300 Character_Size 700 Position 335750N 1321047E Marker Number 122 Scale 30 Orientation -5 Text_String Iwakuni Character Attributes Font ROMAN BOLD Position 2500 100 Character_Size 700 GMK Position 363700N 1265200E Marker Number 62 Scale 30 Orientation 0 Text_String Seoul Character Attributes Position 200 50 Character_Size 700 Position 332712N 1295842E Marker Number 164 Scale 30 Orientation -5 Text_String Sasebo Character Attributes Font ROMAN BOLD Position 1500 100 Character_Size 700 GMK Position 290502N 1281116E Marker Number 122 Scale 30 Orientation -5 Text_String Fatanma Character Attributes Font ROMAN BOLD Position 175 0 Character_Size 700 GMK GMK GMK GMK GMK GMK GMK Position 360200N 1273300E Marker Number 122 Scale 30 Orientation -5 Text_String Osan Character Attributes Posi- Jan 83 CRYPTOLOG Page FeR QFFISrtd ll SE 811eJPY 127 FeR eFFi8ikb HSE 8Ub'I ero 4011963 GMK GMK GTX Position 281942N 1273000E Marker_Number 122 Scale 30 Orientation' -5 Text_String Kadena Character Attributes Font' ROMAN BOLD Position' 900 300 Character_Size' 700 Position 360103N 1402213E Marker_Number 122 Scale 30 Orientation -5 Text_String Yokota Character Attributes Font ROMAN BOLD Position 600 100 Character_Size 700 String' Soya Strait Position 442020N 1395216E Character Attributes Font ITALICS Character_Size 200 GTX String' Kuril Position 450311N 1452011E Character Attributes Character_Size ' 800 GTX String Islands Position 451016N 1441022E Character Attributes Character_Size 800 GTX String' U S S R Position 444517N 1332037E Character Attributes Character_Size ' 800 GTX String CHINA Position 442002N 1264712E Character Attributes Character_Size 800 GTX String' Lake Position 441001N 1323000E Character Attributes Font ITALICS Character_Size 500 GTX String Khanka Position 435716N 1322511E Character Attributes Font ITALICS Character_Size 500 GTX String Hokkaido Position 434123N 1403719E Character Attributes Character_Size 800 GTX String Tsugaru Position ' 413000N 1382051E Character Attributes Font ITALICS Character_Size 200 GTX String Strait Position 411000N 1383116E Character Attributes Font ITALICS Character_Size ' 200 GTX 402632N 1263023E Character Attributes Character_Size ' 800 GTX String KOREA Position 392518N 1263023E Character Attributes Character_Size' 800 GTX String Pacific Position 395756N 1420106E Character Attributes Font ITALICS Character_Size 800 GTX String Ocean Position 384016N 1370000E Character Attributes Font ITALICS Character_Size 800 GTX String JAPAN Position 384016N 1370000E Character Attributes Font' ROMAN BOLD Character_Size 1200 GTX String Demilitarized Position 383012N 1290037E Character Attributes Font ROMAN BOLD Character_Size 700 GTX String Zone DMZ Position 380217N 1290037E Character Attributes Font ' ROMAN BOLD Character_Size ' 700 GLN Endpoint 1 383012N 1290000E Endpoint 2J ' 381612N 1283000E Width ' 50 GTX String SOUTH Position 371024N 1294500E Character Attributes Font ROMAN BOLD Character_Size 1200 GTX String KOREA Position 371024N 1294500E Character Attributes Font ROMAN BOLD Character_Size 1200 GTX String Honshu Position 373012N 1383026E Character Attributes Character_Size ' 800 GTX String Tsushima Korea Strait Position 333243N 1262247E Character Attributes Font ITALICS Character Size 200 Character_Direction - 1 1 GTX String Cheju-do Position 244019N 1335247E Character Attributes Character_Size 700 GTX String Shikoku Position 332143N 1324237E Character Attributes Character_Size ' 800 String Sea of Japan Posi tion 400000N 1331627E Character Attributes Font ITALICS Character_Size ' 800 GTX String ' GTX NORTH Posi tion Jan 83 CRYPTOLOG String Page 128 FeR 8FFi8Ll b HS 8UbJPY Kyushu Position FeR eFF1'8IAl'J I H E 6ULr 4011963 Marker_Number 122 Scale 30 Orientation 0 Text_String Airfield Character Attributes Position 8000 0 325947N 1303017E Character Attributes Character_Siz 800 GTX GTX GTX String Eas t Posi tion 320627N 1252742E Character Attributes Font ITALICS Charac ter_Size 800 String China Position 313000N 1251000E Character Attributes Font ITALICS Character_Size 800 String RYUKYU Position 300000N 1263047E Character Attributes Character_Size 750 GTX String ISLANDS Position 294738N 1263000E Character Attributes Character_Size 750 GTX String Philippine Position 300000N 1330000E Character Attributes Font ITALICS Character_Size 800 String Sea Position 293041N 1341258E Character Attributes Font ITALICS Character_Size 800 GTX String Bonin Position 295907N 1413137E Character Attributes Character_Size 700 GTX String Islands Position 294251N 1410939E Character Attributes Character_Size 700 GTX String Iwo Position 280944N 1421033E Character Attributes Character_Size 700 GTX String Jima Position 280000N 1421033E Character Attributes Character_Size 700 BEG Label INSET1 Character Attributes Font ROMAN BOLD Character_Size 500 VPT Lower_left_Corner Upper_right_Corner GTX String Legend Position 4096 61440 Character Attributes Font ITALICS Character_Size 300 MRK Position 8192 43253 Marker_Number 164 Scale 30 Orientation 0 Text_String Naval Facility Character Attributes Position 8000 0 MRK Position 8192 35389 Marker_Number 39 Scale 30 Orientation 0 Text String Army Command Headqua ters Character Attributes Position 8000 tring Sea Position 310941N 1251000E Character Attributes Font ITALICS Character_Size 800 GTX GTX MRK Position 0 LIN Endpoint l 6000 5400 Endpoint 2j 50000 5400 TXT String 0 Position 6000 6100 Character Attributes Font ROMAN Character_Size 175 TXT String 0 Position 6000 4800 Character Attributes Font ROMAN ' Character_Size 175 TXT String 300 Kilometers Position 32768 6100 Character Attributes Font ROMAN Character_Size 175 TXT String 300 Miles Position 49000 4700 Character Attributes Font ROMAN Character_Size 175 END Label INSETl END Label EXAMPLE 1 Checksum Example 2 Geographic HLDF with Arrows as Geo-Polygons Shown in Figure 2 Size of this HLDF is 2 847 characters ARGUMENT LIST BEG 12739 1024 28221 14327 Label EXAMPLE2 Line_Color 0 0 0 SOLID Line_Style SOLID Line-Width 50 Character Attributes Font ROMAN Text Color 0 0 0 Character_Direction 1 0 Character_Path RIGHT Character_Size 700 Position_Precision HIGH 8192 50462 Jan 83 CRYPTOLOG Page 129 aCID COM CLA 4011963 I'M 61'I'IeIAh String BLACK AND WHITE GRAPHIC HIGH PRECISION UNCLASSIFIED Major_Classification Sl aIfh' MAP COASTLINES SOLID INTERNATIONAL BOUNDARIES DOT-DASH MAJOR ISLANDS SOLID GTX String SCHLESWIG- Position 544026N 0084S12E GTX String HOLSTEIN Position S42216N 0092000E GTX String EAST Position 534S00N 0123000E Character Attributes Character_Size 1000 NONE 4000 4000 61000 44500 VPT Lowe r_Le f t_Co rner Upper_Right_Corner MPC Center 504900N 0100000E Radius 310 Projection ORTHOGRAPHIC Grid_Switch OFF Level_of_Detail ROUGH Altitude_Viewpoint 1000 Figure 2 Geography with Arrows Jan 83 CRYPTOLOG Page 130 fOi OfFfefAL lSI aULY FeR eFFISVtl IISS BNi Y CID 4011963 GTX String' GERMANY Position s33000N 0104000E Character Attributes Character_Size 1000 GTX String ''WEST '' Position 484848N 0104101E Character Attributes Character_Size 1000 GTX String ' GERMANY Position ' 482701N 0091216E Character Attributes Character_Size' 1000 GTX String NETHERLANDS Position ' s14200N OOsssOOE Character Attributes Character_Direction GMK Position' 485226N 0085814E Marker_Number' 16 Scale' 20 Orientation 0 Text_String ' Stuttgart Character Attributes Font ITALICS Position' 500 0 Character_Size' 400 GMK Position 500214N 0082237E Marker_Number ' 16 Scale' 20 Orientation 0 Text_String Frankfurt Character Attributes Font ITALICS Position -5000 0 Character_Size 400 GPL Number_of_Points ' 9 Point l s340l6N 0083i27E Point 2J S33022N 00B3923E Point 3 ' 523000N 0093410E Point 4 slsOOON 0093s20E Point s S10400N 0092214E Point 6 ' sI3s16N 0092400E Point 7 ' 49420lN 0093s22E Point 8 ' 4923i4N 0090416E Point 9 485226N 0085Bi4E Line_Style DOT-DASH Width ' 50 l 2 GTX String NORTHAG Position ' sllOOON 0064200E Character Attributes Character_Size' 1100 GTX String' CENTAG Position ' 492302N 0072847E Character Attributes Character_Size liDO GTX String' BEL Position SOlS00N 00S3616E Character Attributes Character_Direction 3 GTX String ' MAJOR LINE OF Position S33314N 0083i27E Character i Attributes Character_Direction 1 GTX String LUX Position ' 4942i8N OOss732E GTX GTX String' CZECHOSLOVAKIA Position 493912N 0120246E Character Attributes Character_Direction 3 1 GTX String ' FRANCE Position ' 483606N 0054232E Character Attributes Character_Direction 2 I GTX String SWITZERLAND Position ' 470319N 0064S00E GTX String' AUSTRIA Position 470330N 010S739E Character Attributes Character_Direction 4 1 GMK GMK Position' S34016N 00B3127E Marker_Number ' 16 Scale 20 Orientation 0 Text String Bremerhaven Character Attributes Font ITALICS Position 500 0 Character_Size 400 String COMMUNICATION Position 00822i4E Character Attributes Character_Direction S32742N 1 -1 GMK Position 524000N 0123316E Marker Number 23 Scale 20 Orientation 0 Text_String Berlin Character At tributes Font ITALICS Position 500 0 Character_Size 400 GMK Position' S04227N 0070123E Marker_Number 23 Scale 20 Orientation' 0 Text_String ' Bonn Character Attributes Font ' ITALICS Position' 300 200 Character_Size 400 GTX String ' XXXX Position S20000N 0081000E Character Attributes Character_Direction i 1 Character_Size 600 GPL Number of Points 7 Point l SIS842N 010SB47E Point 2 5i2036N 009041SE Point 3 SI1627N 00830S7E Point 4 510243N 00810S7E Point S 504000N 0073000E Point 6 S03229N 0070000E Point 7 S02234N 0061000E Width 50 Position' 494201N 0093S22E Marker_Number z 16 Scale' 20 Orientation 0 Text_String ' Wurzburg Character Attributes Font ' ITALICS Position -5000 100 Character_Size' 400 GPG Jan 83 -i CRYPTOLOG Number_of_Points Page 131 FaR aFFfeflre ass 811H 24 Point l 4011963 533742N 523758N 522903N S22000N S22600N 521000N 515800N 520008N 520900N S14000N 504216N 504937N 503000N 502616N 5D2811N 511923N 492437N 492540N 490023N 491316N 491522N S12000N 511826N 512631N 0115103E 0113000E 0113000E 007SS37E 0075426E 0072800E 0075530E 0075530E 0113428E 0120000E 0080937E 0080812E 0075116E 0081422E 0081152E 0115211E 0095723E 0095103E 0094728E 0102347E OI01833E 0122116E 0123142E 0124106E Functional Description GCS Software Standard 5 November 1980 Point 2 Point 3J POint GBP4 Point SJ Point 6J Point 7 Point 8 Point 9J Point 10 Point llJ Point 12 Point 13 Point 14 Point lS Point 16 Point l7 Point I8 Point 19 Point 20 Point 21J Point 22J Point 23 Point 24 Width 70 String NORTH GERMAN PLAIN Position 520101N 0075916E Character Attributes Character_Direction IS l Font ROMAN BOLD Character Size 1000 String FULDA GAP Position 504223N 0090400E Character Attributes Character_Direction 4 1 Font ROMAN BOLD Character_Size 1000 String ROF CORRIDOR Position 493316N OI03000E Character Attributes Character_Direction 1 2 Font ROMAN BOLD Character_Size 1000 4 Enderle G I Giese M Krause and H P Meinzer The AGF Plotfile towards a Standardization for Storage and Transportation of Graphics Information Computer Graphics Volume 12 Number 4 December 1978 pp 92-113 5 Warner Jim Device-Independent Intermediate Display Files Computer Graphics Volume 13 Number 1 March 1979 pp 78-109 6J Teus Hagen Paul J W Ten Hagen Paul Klint and Hans Noot The Intermediate Language for Pictures Information Processing 11 B Gilchrist Ed International Federation for Information Processing and North-Holland Publishing Company The Hague 1977 pp 173-178 7 National Security Agency BETA--A Cryptologically Oriented Advanced Programming Language May 1970 S-196 383 8 Mead Carver and Lynn Conway Introduction to VLSI Systems Addison-Wesley New York 1980 pp llS-l27 9J Cohen Danny A Proposed End End CheckSum Option for CIF Files USC lSI Unpublished manuscript 28 April 1978 IOJ Collins John M o --Soviet Military Balance--Concepts and Capabilities 1960-1980 New York McGraw-Hill 1980 11 American National Standards Institute Committee on Computer Graphics Languages ANSI X3H3 American National Standard Functional Specification of the Programmers's Minimal Interface to Graphics Working Document ANSI X3H3 82-15 19 February 1982 Label EXAMPLE2 Checksum References Graphic Standards Planning Committee Status Report of the Graphic Standards Planning Committee Computer Graphics Volume 13 Number 3 August 1979 Special Issue International Standards Organization Information Processing Graphics Kernel System GKS Draft International Standards Organization Standard ISO DIS ISO TC97 SC5 WG2 NI17 ANSI X3H3 8210 14 January 1982 Tektronix Graphic Model Exchange Format Jan 83 CRYPTOLOG FeR 8FFI8IAh l ISfJ Page 132 emM o SS Il E'F SP8ItE e4- b 1 4 c 1 4 d 86-36 onald Knuth 6 says that computer manufacturers estimate that over 25 percent of the running time on their computers is devoted to sorting when all customers are taken into account No one in the Agency is as willing to estimate the amount of sorting that we do though informal estimates put our sorting use at about five percent This paper will review several parallel sorting algorithms particularly in the context of sorting very large files Jan 83 EO 1 4 c P L 86-36 D Thus our file of tapes func tions as a massive random access memory To locate a data item we first must determine the tape it is in and then run through the tape to the desired word Even with the efficiency gained by sorting the tapes access in this data base is a lengthy process The access time includes the mounting of the tape and the time to run through on the average half of the tape--about two minutes total CRYPTOLOG Pagel33 EO 1 4 c P L 86-36 ern 4011 h13L c 1 t' 36-36 controller N processors N memories and an interconnection network The central controller issues a single instruc tion to all processors which in turn operate on their memories multiple data as required A mask register permits certain processors to be inactive during an instruction but only one operation is performed at one time by each active processor The interconnection network allows the processors to communicate with each other In general each processor is connected to between 0 1 and O log N other processors HIRSHBERG'S BUCKET SORT ALGORITHM 8 SSQ Some cryptanalytic programs on our various computer systems are limited as to the amount of data they can handle By presorting the data into pockets we can produce small data sets that can be handled by the programs The remaining data can then be used for secondary testing U Generally speaking sorting N words requires 0 N log N word comparisons On a standard serial computer log N passes over the N data items usually produces a sorted list Parallel processing enables us to make some comparisons simultaneously The parallel algorithms discussed below can decrease the 2 running time from about N log N to log N or log N but at the expense of making a larger total number of comparisons U D S Hirshberg of Rice University has developed a parallel sorting algorithm for SIMD machines 4 which requires time o log N His SIMD model assumes that there is a common memory which can be accessed by all processors Simultaneous access to a memory location is not allowed for stores but may'be allowed for fetches U Hirshberg's algorithm is a parallel version of the bucket sort 71 Assume that the numbers to be sorted C are from i 0 ' ' M-1 where M N In the common memory there is a bucket devoted to each processor If there are no repetitions among the C and i if each processor Pi which has been temporarily assigned to C the ith number to be i sorted places the value i in bucket B where j C then bucket i contains the adlress of i the jth sorted word An example of this for N 8 is given in Figure 1 U Note that throughout this paper we use log N to stand for the base 2 logarithm of N Thus log 32 5 PARALLEL ALGORITHMS U The acronym SIMD stands for single instruction stream multiple data stream An SIMD array processor is well suited to take advantage of parallelism in many algorithms Both ILLIAC IV and Staran are SIMD machines and this is the type of parallel processor most seriously considered for construction If array processors become commercially available they will probably be of the SIMD design For this reason it is important to study and understand algorithms for various interconnection networks in SIMD array processors U An SIMD machine usually has a central Jan 83 i C i 0 1 3 0 2 6 3 4 5 2 7 1 5 6 7 4 B 1 1 5 3 0 7 6 2 4 Figure U In general there may be repetitions in the Ci's and this could cause store conflicts if more than one processor tried to write to its address in a bucket We can avoid this by assigning N locations per bucket so that each processor has a unique place in each bucket to make conflict-free marks only a mark not the processor number i is now written An example of this is shown in figure 2 where N 16 and 0 C 11 Consider specifically the i case of bucket 1 Processors 5 8 9 and 15 CRYPTOLOG 8ESRET 8PQIe5 Page 134 SE8REr SP8lEE 4011963 have made their marks in their respective portions of the bucket Bucket o1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 o 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 4 0 1 1 o ' ' 1 1 1 1 1 1 2 2 1 1 7 3 I 9 4 1 1 1 I 5 I 5 6 I 3 7 1 1 1 Figure 3 1 U Figure 3 shows bucket 1 and the locations marked by the active processors all four are active initially The locations of each processor's Oth buddy is also marked Processors 5 and 15 check the location of their buddies and find no processor has that location marked Because their buddies are smaller than the locations they are marking they will move their marks to their buddies' locations Processors 8 and 9 check their buddies' locations and simultaneously discover that they are both active Processor 9 being of higher rank than processor 8 will deactivate Because the Oth buddy of processor 8 is larger than the location marked by processor 8 processor 8 will not move its marker 1 1 1 1 8 9 k 0 1 1 1 6 10 1 11 11 Bucket Figure 2 U If each bucket comprises one memory location we must avoid multiple accesses to a bucket We need a technique to allow processors to sense the presence of other processors in the bucket and deactivate themselves if necessary leaving one active processor in each bucke t U We will use the buddy system analogous to the buddy system for dynamic memory allocation 6J If $ represents bit-by-bit mod 2 addition and processor i is marking location j then the kth buddy of processor i k is j $ 2 Each processor determines whether its buddy is active within the same location If so then the processor with higher rank numerical value will deactivate If the buddy is not active or if the buddy is of higher rank than the location the processor is marking the processor continues The processor shifts its mark to the smaller of its mark and that of its buddy After log N iterations only one processor remains active in each bucket This process is illustrated below Jan 83 o1 2 3 4 5 6 7 9 10 11 8 k 12 13 14 15 1 Figure 4 U Figure 4 shows processor 9 deactivated though it continues to mark its last active location and the markers of processors 5 and 15 moved to their new lower locations Each remaining active processor finds no mark in the location of its first buddy so each remains active Processors 5 and 8 do not move their markers because their buddies are at locations higher than their markers Processor 15 moves its marker because its first buddy is in a location lower than its marker CRYPTOLOG SESREr SP8 E Page 135 ero 4011963 Bucket 1 o 1 Z 3 because we allow multiple fetches 4 5 6 7 8 k 9 10 11 lZ 13 14 15 2 U At the end of log n steps location 0 of each bucket contains the marker of the lowest ranked processor active in that bucket The market will be equal to the number of processors in the bucket Also in the bucket at various locations will be the markers of the other processors each equal to the number of processors ranked greater than or equal to the processor Figure 5 Figure 5 shows the locations of the second buddies Processors 8 and 15 detect each other's presence simultaneously and processor 15 deactivates Processor 5 moves its marker to the location of its second buddy D Bucket o1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 D Algorithm 1 1 formally expresses these ideas In the algorithm we use the notation that x k is the kth binary digit of x note that we have digits 0 through 10g2N-1 $ represents bit by bit mod 2 addition and e k is the 10g2N digit number with a single 1 in the kth place Algorithm Input 1 1 - Parallel Bucket Sort N numbers range M N A j i 0 0 i N-1 o j M-1 0 C M-1 i C i k 3 Figure 6 U Finally in Figure 6 the third buddies of processors 5 and 8 detect each other processor 8 deactivates and processor 5 is left as the only active processor in bucket 1 with its marker in location O In general the lowest ranked processor will remain active in each occupied bucket with its marker at location O U This algorithm sorts the list in O log N steps but discards duplicates from the list A modification of this algorithm will enable us to sort in O log N and keep the duplicates Each processor keeps a running count of the number of processors greater than or equal to itself that are active in the bucket Figure 7 illustrates this procedure within bucket I using a modified buddy system D The modified buddy system is much like the system described earlier Whenever a processor's buddy detects an active processor of lower rank the higher ranked processor deactivates that is it does not move its mark o However its buddy assumes the value of the lower ranked processor's buddy and the value of the buddy of any lower ranked processor it subsequently detects Whenever a processor's buddy detects a processor of higher rank it adds that processor's count to its count Note that a processor can be detected by several processors simultaneously Jan 83 the numbers to be sorted Concurrently for all i do mark - i i point - i i A C mark - i i i flag - i i for k - 0 step 1 until 10g N-1 do Z buddYi - point i if pointi k 0 then A Ci mark i - A Ci mark i A Ci buddYi else if pointi k 1 then point i - buddYi if A Ci buddYi 0 then if flag 1 then i A C buddYi - A C i mark i i A C mark - 0 i i mark - buddY i i end if flag 1 i else if A C buddy 0 then i i flag - 0 i end if A C buddYi 0 i end else pointi k 1 end for k loop end Algorithm 1 1 U We now have completed the first part of our algorithm and know how many elements are in each bucket We next want a cumulative total so that bucket i contains the number of terms less than or equal to i This is accomplished by transferring the data in A j OJ to B j and totaling B j Then with D i B C J - A C mark J D iJ has the location i i i CRYPTOLOG Page Sl38Rl3'i' Sf61ffi 136 4011963 0 1 2 3 Bucket 1 6 5 4 k 'O 1 2 4 3 Bucket 1 S IPSO 2 1 3 Bucket 1 IBSI 0 Bucket 1 1 8 5 4 I P 1S O 1 IB 1S 1 I 10 9 8 7 6 12 13 IBS gl IBIS' 10 11 12 9 I I B1S I IB 8 9 3 4 5 6 B 7 10 11 9 IP 3 IP 2 I S 9 15 I 13 14 15 P 1S OI 2 14 I P 1S O IP 2 IPg O I S I 13 14 IS 12 P 1S O I BO I IB 8 g IS 1 lZ34567 8 9 P 4 S I 11 IPSO I I 15 14 IP 2 IP O I 8 9 PS l o Bucket 1 B8 IBSI 0 k '3 7 6 I k 'l k 'Z I I Bg IBSI 0 10 11 12 13 9 IP l IPg l I 8 I IPS l 8 7 I Figure 7 Jan 83 CRYPTOLOG Page 137 SESKEr SPQY E 10 11 12 13 14 15 JOCID I33 4011963 I30 I33 I32 I35 I34 I37 I36 I39 I38 I311 I310 I313 I312 IBMI I I IslmFigure 8 9 Jan 83 Page 138 BEeRE' ' SP8lEUR13 CIO 4011963 in an N-long so rted list which contains the first value i a sufficiently robust interconnection to permit necessary data routing U Figure 8 shows the various steps of producing the cumulative total Note again that we allow multiple fetches from the same memory location The cells in Figure 8 represent BCOl through B lS and are a continuation of the example begun in Figure 7 U To see that Valiant's merging algorithm requires time O log log N we shall proceed recursively We will reduce the problem of merging two lists of length Nand M to that of merging IN lists of length IN and at most U To conclude this algorithm note what happens In bucket 1 Processors 5 8 9 and IS have totals of 4 3 2 and 1 respectively With only one element in bucket 0 C ' which S equals 1 and Is assigned to processor 5 has final position B C S - A C ' markSJ B 1J S A I O S - 4 1 Similarly C ' C and C S 5 9 have final positions 2 3 and 4 x x X and Y 1 2 N the two sorted lists we want Yl'Y2 'YM be to merge with 1 N M First mark the elements of X that ar subscripted by ilN and those of Y that are subscripted by ilM for i 1 2 U Algorithm 1 2 parallel bucket sort concludes Hirshberg's Algorithm 1 2 - Parallel Bucket Sort Input from Algorithm 1 1 B i 0 0 i N-l D iJ 0 0 i N-l Concurrently for all i do B i - A i O 0 i M-l point - i i for k - 1 step 1 until log N do buddYi - point i e k If point k 0 then i point i - buddYi else point k 1 then i B iJ - B i B buddy i end if point k 1 i end for k loop D C i - B CiJ - A C i markiJ end Algorithm 1 2 U The algorithm produces D 9 10 11 21M U Let X U Then compare each marked element of X wi th each marked element of Y This will require at most JMN c0 E risons and can be done In unit time with jMN processors We now can pinpoint the segment between marked elements of Y into which each marked element of X must be inserted Now compare each marked element of X with every element in the segment Y into which it must be inserted As each segment of Y has 1M elements at most JMN comparisons are needed and these can be done in unit time U At ter these comparisons we know exactly where each marked element of X should be inserted into Y X is subdivided into IN segments of length IN Xi' between the marked elements of Xj and Y is subdivided into IN segments Y between the IN inserted elements i of X Further we know which segments of X and Y must be merged 0 1 S 7 12 0 14 0 15 0 0 0 0 from the initial data C 4 0 2 7 9 I S 3 1 1 6 11 3 7 2 1 M 12 N 16 U Before we can recursively use our algorithm to merge the disjoint segments lXi' and IYil we must determine if we have enough processors We will need IIX 1 IY I processors i i to merge each pair Xi' Y Now we clearly i have IXi I N and IYi I M so by Cauchy's inequality VALIANT'S FAST MERGING ALGORIT1IM U Leslie Valiant at the University of Leeds has developed a fast merging algorithm for SIMD machines 2 which In turn leads to a fast sorting algorithm The merging algorithm is somewhat dissatisfying because of the vagueness of the data rearrangement techniques To merge two lists of length M and N M Valiant requires JNM processors and O log log N time and to sort he requires O log N o log log n time His SIMD model requires either that each processor has access to a common memory or that the processors have Jan 83 Thus we have enough processors to handle merging each pair of disjoint segments U In two time units we have reduced the problem from merging two lists of size M and N to that of mer ng several pairs of size IN and at most 21M Our cutdown varies on the larger of the two lists but is qui te regular on the smaller from 2logN to 10gN 2 to 2 10gN 4 and so on The merging is finished when we have reduced the problem to merging several lists of length 1 with other larger CRYPTOLOG Page I5EEiIU r 6PQK 139 aCID 4011963 lists and this requires 2 log log N O log log N time units about U A few comments on Valiant's merging algorithm are in order here before proceeding Our estimations of timing have allowed for one comparison to be made per unit time We have not direc tly addressed the time needed to determine the insertion location nor the time needed for assigning data to processors While both of these operations may be able to be done in a constant amount of time the time required could still be overwhelming Further the requirement of JMN processors is itself somewhat staggering Finally each processor must have some sort of broadcast capabilities to allow a word to be simultaneously compared with several other words which might be handled by memory access capability However Valiant's techniques are nevertheless worth considering if only for their elegance U This merging technique can easily be adapted to a sorting algorithm Consider the n n-1 problem of sorting N 2 words with 2 pron 1 cessors At time i we have 2 - sorted lists i n-i-1 of length 2 We can merge 2 pairs of i these lists by assigning 2 processors to each pair At stage i the time for merg ing is i and consider the word in X in position i x Mter merging X and Y with a stable merge algorithm to produce Z X is now in position q that is Z x This means that there q must be q - i words in Y that are less than or equal to x U Preparata's algorithm proceeds as foln lows Let N 2 and let A aili O ooo N-1 be our list to be sorted We assume that for 2 n N n log N n L i-I log N 2 log 1 L 2 log log N - 210g N o log log II i-I - O 1og N o log log N N log N n N log N - N log log N N log N o If it requires T k time to sort K words then this step requires T N n time Associated with the lth word of the sorted subarray Ai is the label i l about 2 log log 2 2 log i Thus the total time for sorting the N words is about log N n fewer than N words at most N log N n2 processors are needed to implement the sort and we will use induction to prove it for N Divide A into n subarrays each of size N n AO A ooo A _ and recursively calIon the I n l sort algorithm to sort the subarray By the inductive hypothesis each subarray requires at most N n log N n processors to be sorted With n subarrays the total number of processors needed to sort the sub arrays is U Next we copy our sorted subarrays Ai into longer arrays 5 j Ai' A for i j j i Note that there are n 2 n-l arrays 5 and i J each requires 2N n words including their labels o If we assign one processor to each word to be written into 5 j' we will need i n 2 n-1 2N n N 10g2N processors This copying can be done in one time unit and will require simultaneous fetches of some words for example Ai is copied into N - 1 arrays PREPARATA'5 ALGORITHM U Franco Preparata at the University of Illinois used Valiant's fast merging to design a parallel sorting algorithm for 5IMD machines 14 Recall that Valiant required n-1 n 2 processors to sort N s words in O log N o log log N time Preparata uses N log N processors to sort in O log n time Note that with jN log n times more processors he was able to reduce the time by a factor of only log log n U Preparata's algorithm as well as Hirshberg's are examples of what Knuth 7 terms enumeration sorting In these methods each word is compared with all others and the number of smaller keys determines the word's final position In this instance we will merge two sorted lists to count the number of terms less than a given word As an example consider two sorted lists X and Y Jan 83 U We now use Valiant's technique to merge each 5 j' This will require N n N n N n i processors for the n 2 n-1 5 j' or a total i of n 2 n-1 N n N 10g2N processors The time required is O log log N n O i j array R i j k n tion U k ofN neach is set up to hold the count informaword prior to the final rank An computation R i j k will equal the number of words in A that are less than or equal to j the kth word of A o 1 U The R i j k are determined as follows Let x R be the label associated with the word in the qth position of 5 j' 5 q i 1 i Recall that x is associated with the Zth word of A so x i or x j If x i x then R i j e I q - Z or 1GBP x j then R j i 2 q -t and R x x el L There are CRYPTOLOG Page I5I'JS1Ul'l' SPQIQl 140 SI38RI3'1' SF8 4011963 n o n o N n c N 10g2N words to be copied into R and as befo re we use one processor per word to accomplish the copying in one time unit likely to be seen in the near future These three algorithms fall in the class of the theoretically important but practically unworkable U Now to determine final rank of Ai R J we must sum up the number of words less than or equal to AielJ in all other subarrays Thus n rank Ai R R i j R MESH-CONNECTED COMPUTERS U A more practical avenue of research is to consider an SIMD model where each processor has its own memory and can communicate directly with other processors with which it is connected This fixed interconnection network in turn becomes the dominant factor to be considered in the design of efficient algorithms j-O THOMPSON AND KUNG'S ALGORITHM and this computation requires n 2 processors for each Ai GBPJ compare this with the buddy method in Hirshberg's Parallel Bucke t Sort and log log n time The total number of processors used here is N log N Finally we complete our work by U To conclude our analysis note that none of the steps used more than N log N processors The time required to sort N words T N is T N log N to sort the subarrays Ai one time unit to copy Ai and A into S l j j O log log N n O log log n time for merging the Si j one time unit to copy partial data into R log log N time to compute rank Ai 1 and one time unit to make the final rearrangement Thus T N T N log N U Thompson and Kung 21 and after them Nassimi and Sahni 12 have produced algorithms for a mesh-connected computer The ILL lAC IV computer is an 8 x 8 example of this type of architecture Figure 9 shows the two-dimensional array of processors each denoted by P and their interconnections The processors are placed in a square array and each one is connected to all of its neighbors Processors at the perimeter have two or three rather than four neighbors--there are no wrap-around connections as found on the ILLIAC IV ------_ n _------- C 1 log log N Cz' and solving this recurrence we have T N -ep n O log N Thus Preparata using an SIMD model similar to Valiant's model is able to sort in time O log N as compared to O log N log log N However this faster method uses N log N processors and it also requires a considerable amount 2 N log N of extra storage to keep up with the various arrays U Preparata in 14 also presents a generalized version of the preceding algorithm This generalized algorithm avoids memory fetch 1 a conflicts and uses N processors to sort in time 1 0 Clog N O log N for 0 o 1 and C a constant However as elegant as this result may be or that of Hirshberg or Valiant they all presuppose a multiple-access memory and this is not a likely or sound basis for design Even with the elimination of fetch conflicts this memory design is not Jan 83 Figure 9 U Before describing the algorithm it will be necessary to decide upon an indexing scheme Such a scheme is dependent upon how the sorted words will be used and upon the algorithm chosen Figure 10 shows two indexing methods row-major and snake-like row major While in general in an SIMD machine every processor executes the same ins true tion or transmits data in the same direction it would not be difficult to allow one special CRYPTOLOG SSSRE'I' SFe Page 141 ern SE8RE'f SP8I E 4011963 0 2 3 0 6 2 3 5 4 4 5 7 7 6 8 9 10 11 8 9 10 11 U Regardless of the algorithm selected for our model it is possible to get an absolute lower bound on the time For any indexing sCQeme there are situations where it will be necessary to exchange the words in opposite corners of the processor array For this movement shown in Figure 11 2 n-l routing steps are needed to move a up and to the right and 2 n-l routing steps are needed to move b down and to the left Thus at least 4 n-1 routing steps are needed For this 2 model then no algorithm can sort n words in time less than O n 15 14 13 12 12 13 14 15 Row-major indexing Snake-like row-major indexing Figure 10 instruction that permits data to be transmitted along some fixed path such as the snake-like row-maj or indexing Thompson and Kung use the snake-like row-major indexing for their sort and Nassimi and Sahni use row-major indexing for their scheme In our mesh-connected SIMD model we shall define t to be the time required to r route data one unit distance in any direction and t to be the time to perform the comparic son of two words wi thin one processor Any number of simultaneous data moves can be made in anyone direction at one time and any number of simultaneous comparisons can be made at one time Thus a comparison-exchange step between two items in horizontally adjacent processors can be done in time 2t t route c r left compare route right U al a2 a3 -0- o- 6 sort o- I -0 Figure 11 cl e1 c2 e2 c3 e3 c4 e4 odd merge a4 es e6 e7 even dZ merge Figure 12 Batcher's Odd-Even Merge Jan 83 CRYPTOLOG liK IHj'f liP8183 Page 142 -D I -0 SE8RE'i' SP8IEE 4011963 ODD-EVEN TRANSPOSITION SORT illustrated in Figure 13 with an arrow indicating a comparison-exchange U Before proceeding with a description of the Thompson-Kung algorithm we must discuss two other algorithms the odd-even transposition sort and the Batcher odd-even merge The odd-even transposition sort is described in Knuth 7 and is a straightforward i f slow sort To sort N words the first step is to compare words 2i and 2i 1 for o i N 2 and exchange or transpose them if needed so that the larger is now in position 2i 1 Then for the second step compare 2i-l and 2i and exchange them so that the larger is in position 2i After alternating N 2 of step 1 with N 2 of step 2 the words will be sorted with the smallest in position O The Thompson-Kung algorithm 21J assumes that for our N x N mesh-connected computer N is a power of 2 We first consider an odd-even transposition sort on a j x k subarray were both j and k are powers of 2 and the processors are indexed by a snake-like row-maj or order As discussed earlier the time required for a comparison-exchange on a pair of words or several similarly oriented pairs is 2t t o r c j k be the time required for oe an odd-even transposition sort on a j x k subarray If j 1 or k 1 then our model reduces to a linearly connected SIMn machine and To j k jk 2t t If k 2 the r c step 1 comparison-exchanges are all made horizontally and the step 2 comparison-exchanges are all made vertically and ToeU k jk 2t r t c These cases are Jan 83 step 2 0 I 0 0 I 0 I t 0 c I 0 I 0 0 I c 0 0 step step 2 Figure 13 c 0 0 0 I c 0 I Xc 0_0 H H I tc I c 0 0_0 I c 0 to 0-0 I step 1 k o step 2 k o 2 U In the case where j 1 and k 2 the times for steps 1 and 2 become different Step 1 still requires 2t t time because c r all of its comparison-exchanges are made horizontally however step 2 now requires 4t t time because some of its r c comparison-exchanges are made horizontally and some vertically Recall that data movements must all be in the same directions Thus for step 2 we perform route left route up compare route right route down Thus for j 1 k 2 T oe U U Let T D-D O-O 0 tc 0 if we start with step 1 or step 2 as long as they alternate When N is odd the beginning step will be executed once more than the 2 second step The algorithm requires N 2 comparison exchanges Because both steps 1 and 2 compare disjoint pairs of elements N 2 processors in parallel could execute the algorithm in O N time U The Batcher odd-even merge 1 7 is a technique for merging two sorted lists of possibly different lengths The two lists are unshuffled so that all the odd terms are together as are the even terms The odd terms and the even terms are merged by a recursive call to the odd-even merge the two merged lists are shuffled together and a final step of N 2 - 1 comparison-exchanges completes the merge Figure 12 illustrates Batcher's merge step 1 j o 1 U With this algorithm it does not matter BATCHER'S ODD-EVEN MERGE OAD-o This j U k 1 2jk 2t t 4t t J jk 3t t r c r c r c is k 4 illustrated OHO-D I I I c CD I I I oeo-oeo I I I Figure 14 for D-D -o I I D D-O I in I I c O-oJo-o tc I I I I I o-oeo-o I I c O D-o O-O -O Step 1 Step 2 CRYPTOLOG Page SE8RE'i' SP8l GBP Figure 14 143 ero 4011963 U By these timing arguments our initial 2 array of N n words could be sorted with N processors by the odd-even transposition sort in time N 3t t We will now describe a variation of atc er's odd-even algorithm for merging two j x k 2 sorted arrays to produce a This will lead to a j x k sorted array divide-sort-merge strategy that will sort in O JN log rather than O N First note that the two halves of a 1 x k can be shuffled or unshuffled in time k-2 t This is Algorithm 2 2 Merge M j k Parallel Interchange words 2i and 2i l on odd rows so that each column contains either all evens or all odds Time 2t r r The case for mergwill be treated j x k Input Two adjacent j x k 2 arrays in a mesh-connected computer each sorted in snake-like row-major order IN illustrated in Figure 15 ing two j x 1 lists separately Thompson-Kung M 2 - a - a - a - a - b - b - b - b Unshuffle each row so that the first quarter of the columns are now the odd columns from the first half of the columns Time k-2 t r a - a - a - b - a - b - b - b M - Merge each half with M j k 2 3 Time T j k 2 a - a - b - a - b - a - b - b M - Shuffle each row 4 Time k-2 t a - b - a - b - a - b - a - b r Figure 15 Algorithm 2 1 Merge MU 2 M 5 Thompson-Kung j x 1 - Parallel Interchange words rows Time 2t Figure 17 illustrates M 4 4 r - Sort each column with an odd-even transposition sort Time j 2t t r c Interchange on odd rows This fles the terms back together Time 2t B -0 -0 D - B QJ 2J 2 4 2J CD - I I I 0 I I J 4 I I B -0 I I 0 -B I I I I 0-0 I I 0 0 l J c J c I G -G l J c 0-0 - 1 I 8 - 5 6 - 3 I I 2 0 G G- J I I 15 - 14 I 7 - 9 I I M 1 12 - 11 I I I I 14 - I I 13 - 7 I SEeRE'f Sf6f6' 12 4 1 5 I 10 3 I 8 I 6 I I 0-0 9 i I 7 I Page 144 M 2 I 0 14 - 11 CRYPTOLOG I 2 I I 15 - 11 P1sun 16 Jan 83 I 1 I I EJ-Q I 6 10 G- J I 5 4 - 0 I I 8 - 3 I c I 0 I shuf- Figure 16 illustrates M 4 2 The merge MU 2 takes time T j 2 2j 6 t r j l t ' c I 4 I I M - Compare-exchange words 2i - 1 and 2i of 4 the j x 2 array Time 2t t o r 2 - 10 - 13 r I 2i l on r M - Move all even terms from the right column 1 to the left column and all odd terms from the left column to the right column This unshuffles the terms Time 2t I and M - Compare-exchange words 2i l and 2i 6 Time 4t t o r c Input Two adjacent j x 1 sorted arrays in a mesh-connected computer M 3 2i 13 9 I 15 - 12 M 3 odd SE8Il E'F SP8183 4011963 0 I 5 - 2 - 1 I I 3 - 8 6 I I I I 4 T' j k T j 2 k T j k I M 4 The case of particular interest to us yields 10 - 9 - 12 I I 11 - 15 - 13 7 I 14 - T' j j llj 8 log j t 3j 2 2 log j t o r c This means that we can sort an n x n array by M' 2 2 M' 4 4 M' n n that is we first merge 4 square adjacent 1 x 1 arrays then 4 square adjacent 2 x 2 arrays and so on The total time for our sort S' n n is then given by - 1 2 - 4 I I 5 - 8 - 3 - 6 I I I I 7 - 9 - 10 - 12 I I I 14 - 15 - 11 - 13 0 I c 1 - 2 I c I I 8 - 5 - 6 Ic I c I 7 10 9 I c J I 15 - 14 13 - o- 4 Ic 3 - I M 5 S n n logn L T' 2 i 2 i i l M 6 12 Ic 11 logn I ial llj 8 log j tr 3j 2 2 log j t c O n Figure 10 That is we can sort N U The time required to perform M j k given by T j k 2k 4 t r t c T j k 2 and we can find that T j k 2j 4k 4logk t r j logk t ' c i In particular T n n 2 O n Now to obtain our sorting algorithm we first sort each column in time T n 1 n 2t t and then successively calGBPeon M n 2 M n 4 oooo M n n The total time required for the sort S n n is then logn S n n a T oe L n l T n 2 i O n log n i l Thus we can sort N n 2 in time O JN log IN U One further refinement of the algorithm will give us an improvement in the time to sort N words from O JN log to O JN Rather than merge sorted columns of length n horizontally we shall merge columns of length i n 2 both horizontally and vertically The algorithm M j k merges two horizontally adjacent subarrays of size j x k 2 The same steps allow us to merge vertically adjacent subarrays of size k x j 2 in exactly the same time IN U Thus i f M' j k is an algorithm that merges four square adjacent subarrays of size j 2 x k 2 then Jan 83 n 2 in time O N is U Thompson and Kung use a slightly different square adjacent merge that has a time of about one-half that of ours They also have an s x s square adj acent merge whose linear term is 6N which is quite close to the optimal time of 4N However all of these algorithms are O N regardless of the value of the linear term U In the same paper 211 Thompson and Kung present an algorithm for performing a bitonic sort discussed later on a meshconnec ted computer They again require the data to be in snake-like row-major order and the sort time is O N In particular the linear term is 14N for the bitonic sort versus 6N for the s x s merge sort However for 18 small values of N N 2 the bitonic sort is faster under the assumption that t 2t r c Nassimi and Sahni 11 present a bitonic sort algorithm for a mesh-connected computer that runs in about the same time as Thompson and Kung's algorithm but it sorts in row-major order rather than snake-like row-major Finally Thompson and Kung state that for a j-dimensionally mesh-connected computer a bitonic sort on N words can be done in time O N 1 j o RING-CONNECTED COMPUTER U An important factor to be considered in choosing an algorithm for an SIMD machine is a good match of the machine's interconnection network with the data routing of the CRYPTOLOG Page SESRE'F SP8183 145 SJ3ERJ3'F SP8IEE ern 4011963 algorithm For example the odd-even transposition sort requires comparison-exchanges between adjacent words so a mesh-like connection seems naturally sui ted for this algorithm After discussing some sorting networks later we will discuss further SIMD networks that are well suited for sorting Figure 18 shows a ring connection and how an odd-even transposition sort naturally fits the network D If we have a technique for sorting N words it is quite easy to extend it to an N I -sorter Figure 21 shows the technique of insertion After sorting the N words the st n 1 word is compared with the smallest of the sorted list and exchanged if necessary The larger of these two is compared with the st next word and so on The n 1 word bubbles up to its final position D A good measure of the effectiveness of a parallel sorting algorithm is the ratio of time to the number of processors It is well known that for a serial processor this ratio is asymptotically N log N With k processors the best speed that we can hope for is N log N k This is so because otherwise we could make a serial machine run k times faster and then beat N log N time SORTING NETWORKS U The several algorithms previously discussed have been designed for various models of SIMD machines These involved several memories and processors with the capability of choosing among intercomiec tion paths and a master control unit If our primary use for this configuration is sorting then we have much more hardware than necessary We will now develop a series of processors whose only purpose is to sort and which achieve a more efficient use of their component parts D Figure 19 shows the basic processor unit that we will use a 2-sorter or a comparison-exchange module or a comparator The 2-sorter accepts two words one on each of its input lines A and B compares them and if necessary exchanges them so that the larger exits on the line marked high and the smaller on the line marked low The comparator would probably be built to accept words in bit serial order most significant bit first This would require the least amount of hardware though a parallel design is feasible U To sort more than two words we will seek some connection of comparators that will produce the desired result Figure 20 shows a 3-sorter and a 4-sorter In general it is difficult to determine if such a network sorts Knuth 7 has shown that if a network sorts all 0 - 1 sequences then it will sort N any sequence Clearly testing 2 sequences is easier than N but it is practical for small N The solution is to find a recursive construction which guarantees a network that sorts at perhaps the expense of less than an optimal design Jan 83 Figure 18 U The repeated application of this insertion principle produces the network shown in Figure 22 To sort N words this algorithm requires N - I N 2 comparators and a delay of 2N - 3 The product of time and processors 3 here is O N and this seems decidedly nonoptimal One apparent inefficiency of the network in Figure 22 is that line E is only involved with one comparison We shall soon present elegant constructions that exceed this naive approach BATCHER'S BrTONIC NETWORK U Before continuing it is necessary to 1 calls a define what Kenneth Ba tcher bitonic sequence and then state his basic theorem about bitonic sorting CRYPTOLOG SESRE'F SP8IEE Page 146 SE8RET SP8lE6 4011963 B--- ----ir------jf-------L-I Figure 19 Ct OCI 3-Sorter a 4-Sorter b 4-50rter c 4-Sorter d Figure 20 Jan 83 CRYPTOLOG Page 147 SE8llEy SP8 E aCID 4011963 Definition A sequence of numbers a i I i l N STONE-BATCHER NETWORK is said to be bitonic if either 1 there is a j such that a and a i a if i j j or i a if i j j 2 the sequence is an end-around shift of a sequence satisfying 1 Theorem define let a Ii 1 ooo N be i bitonic and 1 ooo N 2 and c Then i min a a i i 1 ooo N 2 i N 2 bii 1 ooo N 2 are both bitonic and b and i c cii 1 ooo N 2 j for all i and j U The importance of Batcher's Theorem is that it enables us to take a bitonic list of length N and with N 2 simultaneous comparison-exchanges divide the list into the smallest and largest elements with each of these two sublists itself bitonic It is easy to see that log N of these subdivisions will sort the initial bitonic list of length N U The initial list is obtained in a recursive manner First two words are sorted with one comparator and combined with another sorted 2-list to form a bitonic 4-list The 4-list is then sorted by using Batcher's Theorem and then paired with another sorted 4-lis t to make a bitonic 8-list and so on This procedure is illustrated in Figure 23 U A few calculations will show that the delay for sorting N words is 1 2 10g2 N log N 1 and the number of comparators needed is 1 4 N log N log N 1 As clever as Batcher's recursive construction is it does not produce the network with the least delay or the smallest number of comparators For example an 8-bitonic sorter requires 24 comparators and 6 delays see Figure 23 d while the network in Figure 24 needs only 19 comparators though still 6 delays which is minimal in time and comparators Networks in general and the Batcher network in particular as illustrated in Figure 23 have certain drawbacks a small number of comparisonexchanges are made at each stage but the interconnection varies from stage to stage Further once built the network can only be used to sort a fixed size list We will present techniques that overcome both of these disadvantages U Harold Stone 19 first observed that the perfect shuffle interconnection could be use as a fixed interconnection He noted that n Batcber's bitonic sorter for N 2 first compared words that differed in the l' s digit then the 2's digit and the l's digit then the 4's digit the 2's digit and the l's digit and so on The perfect shuffle permutation on n n N 2 elements has i - 2i mod 2 - 1 It can be visualized as the rearrangement caused by cutting the elements into halves like a deck of cards and shuff ling them together The permutation has the property of bringing together words that differ first in their most significant digit then the next most significant and so on U A sorting network that utilizes this fixed interconnection between stages is shown in Figure 25 a Note that some of the comparators are inactive and simply allow data to pass through By utilizing a three-state comparator sort up sort down and pass through it is possible to reduce a bitonic sorter to a single stage of comparators with a feed-around interconnection as shown in Figure 25 b N 2 U The Stone-Batcher sorter requires only com arators as compared to about 1 2 N log N for a bitonic sorter thoug its time is about twice as slow log Nlog N 1 versus 1 2 log2N log N While Stone's configuration does dramatically decrease the hardware needed at only a slight increase in time it will not allow data to be pipelined through it If it is necessary to sort several lists of length N the StoneBatcher network requires that each list be sorted before the next one can be processed A full network on the other hand can begin processing a new list as soon as the first stage of comparison-exchanges of the first list is completed U Another problem with sorting networks is that once built they cannot handle lists of a larger size and they can only handle lists of a smaller size by padding them with co or -CD This can be overcome by expanding on the Stone-Batcher configuration shown in Figure 25 b by replacing the storage register with first-in-first-out memories These could be realized with disks tapes or similar media o FASB SORTER U Morris 101 first considered this design and called it the FASB Sorter which is shown in Figure 26 Each box labeled M is a i Jan 83 CRYPTOLOG SKellKy SP8lEE Page 148 lE6 'f 6PQJPYcj 4011963 o-- 1 -- 2-- J---i 6---1 7 ---L ----L_ J --l ----t - I I --1 a Figure 25 Storage b Jan 83 CRYPTOLOG SEeRST 6PQ 6 Page 149 SE8Rf''i' BPS E ero 4011963 Xl N word X2 In-l o o Sorted 2-119t sorter a In i Xa l r ID ii Figure 21 bitonic 4-119t b c--l D Soreed 4-119r c ---- S-Sort er Figure 22 Ratcher's Bltool a-Sorrer d Flgure 23 a-Sorter Figure 24 Jan 83 CRYPTOLOG 6 SlHj'f 6 PSl Page 150 SEeRST SFBItE ern 4011963 serial memory and each box labeled C E is a three-state comparator Note that we have a special switch for each even-odd pair of memories that allows two words to be written simultaneously into one memory or another Because one word is written out while two are written in the memories must effectively work at half-speed unless radically redesigned o 0 2 ooo A ' IIorris-llisn1ew ki Soner Figure 27 MORRIS ISNIEWSKI SORTER U An improvement was made in this design by Morris and Wisniewski Ill Rather than have three-state comparators that were idle nearly half of the time they substituted a multiple interconnection scheme--in effect trading more wires for less time The interconnec tions needed are all nontrivial powers 2 3 of the perfect shuffle 0 0 0 ooo and two permutations called A and B Permutation A takes the outputs of the comparators and routes them in pairs to the first half of the memories and B routes the outputs in pairs to k the second half of the memories For 2 k k elements 0 id thus for 2 memories k - 1 2 k 1 interconnections are needed rather than 1 Figure 27 shows a MorrisWisniewski sorter SINGLE LADDER ODD-EVEN TRANSPOSITION SORTER U The last two sorting machines are highly specialized processors and would be useful only when considering the sorting of massive files If for example it was necessary to serially read the data out before it could be used then the I O would dominate our considerations For the latter situation IBM 3 has proposed a special-purpose sorting processor that would be attached to a serial computer Most of the sorting time would be hidden by the I O time U The device is called a single ladder odd-even transposition sort SLOETS It consists of a series of comparators that can be set to allow straight-through or exchange data flow The modules are linked by loops into a ladder Figure 28 shows a four-stage ladder in operation The words are routed in serially so that each loop is filled with one word Then as the words circulate through the loops alternately odd-even and even-odd pairs are brought together in the comparators As the data is routed in some comparisons can be made before the ladder is full and data can be routed out before the sort is entirely finished The net result is that all but about 20% of the sorting time is overlapped with I O U By having two ladders with the first sorting while the second is being filled it is possible to overlap all but 6% of the sorting time with I O After sorting the two separate lists they are merged as they are read out With three or four ladders the non-overlapped sorting time is negligible SORTING MASSIVE FILES U During the editing of this paper a paper appeared containing an analysis of merge and bitonic sorting in the context of massive files The paper A Comparison of Merge and Bitonic Sorting II RSl MATH OS 81 shows that when the distribution of data is known and uniform on all subsets of tapes then merge sorting is superior U The Morris-Wisniewski sorter requires a more complicated control mechanism than the FASB or the Stone-Batcher because of the k 1 data paths to choose from k However for a configuration with 2 memory n modules it can sort N 2 words in time n-k-l 2 log N log N 1 about one half the time of a Stone-batcher sorter if k m The Morris-W'isniewski sorter can be expanded to handle any lists up to memory capacity Jan 83 CRYPTOLOG Page 151 EO 1 4 c P L 86-36 EeRET SPSl@ SE6itGBPT SPElKE 4011963 FASll Sorrer Figure 26 Single Ladder Odd-Even Transposirion Sorr Figure 28 Jan 83 CRYPTOLOG Page Iii E6R E'f BP8lffi 152 SeeIHJ'f' SP6Ke ern 4 31 1 963 P L 86-36 U A standard tape reel has 2 400 feet of usable tape Current high-density tape has 6 250 bits per inch and eight tracks' plus a ninth track for paritl ' Thus one reel can hold about 2 25 x 10 64-bit words If we 7 allow for record gaps we have perhaps 2 x 10 64-bit words One of these tape reels can be sorted on a computer with sufficient disk storage in 20 minutes Two sorted tapes can be merged at essentially the rate at which the data can be written out about eilIht minutes per mer e I o One final note on sorting network$ be made Batcher's bitonic sort bf 2 N 2 elements in time 1 2 n 1 2 n is hot the fastest known network David van VOQrhis 231 has developed a recursiv construction that sorts in about time 1 2 n 1 4 n and the van Voorhis construction requires about 2 n n 1 4 n 2 - 37n2 comparators versus 2 n n 1 4 n 2 1 2 n2 for a bitonic sOlit However the van Voorhis network is not as easy to analyze as is Batcher's network For example it is a simple task to deteitmine which elements are being compared at any stage of a bitonic sort while the same cannot be done for an van Voorhis network This means that for actual construction of a small-size network van Voorhis' techniques would be used though Batcher's networks will continue to be used to obtain performance estimates U should n 1 U The very pertinent question What is the best way to sort in parallel can best be answered It depends For a truly massive sort some type of merging technique using tapes and many processors seems best A parallel processor though is another matter The instruction set timing and individual quirks are probably more important than the theoretical complexity of any algorithm The best strategy in advance of knowing the particular machine and its peculiarities is to have a broad know gl qf available algorithms P L 86-36 APPENDIX A Comparison of Some Algorithms in this Paper Hirshberg's Bucket Sort Words N Processors N Interconnections Each processor is connected to a common memory Time O log N Valiant's Fast Merge Two Lists N M Processors JNM In erconnections Each processor is connected to a common memory or the connections are sufficiently robust Time O log log N EO 1 4 c P L 86-36 Jan 83 CRYPTOLOG Page 153 S138R13'i' SPS IE13 aCID 4011963 Preparata's Sort n Words N 2 n 1 Processors 2 Interconnections Each processor is connected to a common memory Time O log N I Thompson and Kung's Sort 2 Words N n Processors N Interconnections Mesh-connected end-around paths Time 0 IN without Batcher's Bitonic Sorter n Words N 2 n Processors N 1 og 2 N n 2 2 Interconnections As required by rithm 2 2 Time log N n the algo- Stone-Batcher Sorter Words Processors Interconnections Time n 2 n N N 2 - 1 Perfect Sh ffle 10g N n 2 Morris-Wisniewski Sorter Words Processors Interconnections Time 6 Knuth Donald E The Art of Computer Programming Vol 1 Fundamental Algorithms Reading MA Addison Wesley 1973 7 ----- The Art 2f Computer Programming VoL 3 Sorting and Searching Re ading MA Addison Wesley 1973 8 Martin William S Sorting Comput Surveys Vol 3 No 4 December 1971 pp 147-174 9 1 Costing Massive Sorts R51 MEMO 06 80 13 FebrJ lary 1980 10 The FAS Sorter S61 Informal Note No 381 February 1976 S 2l8 292 11 J I l_ l m IlAmFastmparallel sortingml'ro '- cessor R51 MATH 17 78 S-216 947 P L 86-36 12 Nassimi David and Santaj Sahni Bitonic Sort on a Mesh-Connected Parallel Computer IEEE Trans Comp Vol C-27 No 1 1 January 1979 pp 2-7 13 ----- Parallel Permutation and Sorting Algorithms and a New Generalized Connec tion-Network Technical Report 798 April 1979 University of Minnesota to appear in JACM 14 Orcutt Samuel Ellis Jr Computer Organization and Algorithms for Very High Speed Computations Ph D dissertation Stanford University September 1974 15 Preparata Franco R New ParallelSorting Schemes IEEE Trans f Q Q Vol C-27 No 7 July 1978 pp 669-673 16 Schwartz J T Ultracompilers Compo Sci Dept New York University 1979 17 I I Shuffle Sorting with the Odd-Even Merge SCAMP Working Paper No 13 78 IDA October 1978 P L 86-36 18 Smith Burton J An Analysis of Sorting Networks Sc D thesis Dept of E E M I T August 1972 19 Stone Harold S Parallel Processing with the Perfect Shuffle IEEE Trans Comp Vol C-20 No 2 February 1971 pp 153-161 20 ----- Sorting on STAR IEEE Software Eng Vol SE-4 No 25 March 1978 pp 138-146 21 Valiant Leslie G Parallelism in Comparison Problems SIAM J Comput Vol 4 No 3 September 1975 pp 348-354 22 Van Voorhis David C An Economical Construction for Sorting Networks Proc AFIPS Nat Compo Conf 1974 pp 921-927 23 ----- Efficient Sorting Networks Ph D dissertation Camp Sci Stanford University December 1971 n k N 2 in 2 memories k 1 n 1 2 2 -1 Multirle perfect shuffles 2n - k - 10g2 N 2n - k - 1 n 2 BIBLIOGRAPHY 1 Batcher Kenneth E Sorting Networks and Their Applications Proc AFIPS Spring JoiI lComp Conf Vol 32 1968 pp 307314 2 Baudet Gerard and David Stevenson Optimal Sorting Algorithms for Parallel Computers IEEE Trans Compo Vol C-27 No 1 January 1978 pp 84-87 3 Chen T C K P Eswaran V Y Lum and C Tung Simplified Odd-Even Sort Using Mul tiple Shift-Register Loops Internat 1 Comput and Inform Sci Vol 7 No 3 1978 pp 295-314 4 Hirshberg D S Fast Parallel Sorting Algorithms Com ACM Vol 21 No 8 August 1978 p 657-661 5 1 I A Merging Sort Machine SCAMP Working Paper No 18 78 IDA September 1978 P L 86-36 Jan 83 CRYPTOLOG o BElSRB'F SF8 B Page 154 ero 4011963 IIDII WE III E ilL WIIYS LOOKING FOR IRN5A has designated T303 as the Office of Primary Responsibility for Ada planning and transition activi ties at N5A For information on the Agency's current and planned Ada technology utilization contact I o 923-3227 l your local Cadre member 1D III TICLES COMMENTS NOTES LEtTERS Ion TNII T WOfJL D 8E OF INTEREST TO The Ada Cadre is intended to serve as points of contact for the dissemination of information concerning Ada in addition to advising and assisting T303 as to Ada planning and requirements P L OUI I EIIDEI S 86-36 Current Cadre members are - A043 B62 C31 E09 G33 P309 P372 P5 R09 R623 5352 T303 n03 W09 SOLUTION TO NSA-Crostic No 4S 963-3177 963-4398 968-7155 968-8953 963-4301 963-5621 963-4604 963-3043 968-7381 968-8485 972-2346 963-3227 963-3227 963-3401 A J Salemme I Remember SPELLMAN CRYPTOLOG Jul-Aug 1978 EO 1 4 c P L 86-36 Jan 83 CRYPTOLOG Page 155 Fell eFFI61 15 Q'S K Qtll5JPY aCID 4011963 ' t Jan 83 CRYPTOLOG Page 156 fOlio OFHgrSb lSg EHlbY I oP L 86-36 Felt eFFIe lAb l JSl'J SllbY ero 4011963 Jan 83 PI-Jun 83-83-32237 CRYPTOLOG Page 157 FeR 8FFI8IAr eSB ElUt l L 86-36 4 3 2 K This document is from the holdings of The National Security Archive Suite 701 Gelman Library The George Washington University 2130 H Street NW Washington D C 20037 Phone 202 994-7000 Fax 202 994-7005 nsarchiv@gwu edu