Page INTRODUCTION PART I - THE PLATO SYSTEM

Size: px
Start display at page:

Download "Page INTRODUCTION PART I - THE PLATO SYSTEM"

Transcription

1 INTRODUCTION PART I - THE PLATO SYSTEM Page A. General Desription - PLATO Ilardware B. Relationship of PLATO Hardware to Software C. System Operation by Student Input.... D. Relationship of Teaher to the System E. Preparation of Material for the System PART II - OPERATION OF THE SYSTEM L A. PLATO Equipment Operation ~ 1. Turn On/Off Proedures Sanners B. Computer Proedures Read-Ins a) Starting a run using a regular binary tape b) Starting a run using an autoloadable binary tape. 5 ) Continuing a run using a PROGSAV'd binary tape.. ~ d) Ending a run (Progsaving) G 2. Dopin g Emergeny Proedures 'if 4. Reviewing a Student Run Using SPECTRE PART III - PROGRAJ~iING FOR CATO (The PLATO Compiler) A. Program Constrution (0 1. PLATO-Modified FORTRAN Naming of Variables.. '.' /0 3. Program Organi zation I I 4. A Sample Program /2- B. PLATO statements Is 1. Charater-Symbol Definition 'If a) The Charater Statement /'1 b) The Assign Statement ) The Group Statement b 2. The Modeswi th /7 a) The Mode Statement I 'if b) The Keys Statement I~ ) The Cal Statement- The Entry Cal d) The Next Mode Statement / e) TIle Fore Key Statement f) The Copy Mode Statement- The Same As Statement Student Bank " PLATO Format (; S. PLATO Calulations - Fortran Programs..... ~ 5 6. Exeutable Logial Statements 'z7 7. PLATO System Routines ~. 2.. "1 8. Additional Remarks

2 Page C. Program Compilation and Editing ~~ 1. C omp1 '1' 1n g Errors '1 3. Editing _ 4. FORTRAN Resident Servie Routines q~ D. Codeheking Information lf~ 1. Running a Program Master Keyset Operation at the Console Diagnosti J-2 Doping... 4'1 4. Examining the Contents of Speified Memory Loations... <;)0 S. The Dumps Routine Making an autoloadable Binary Tape r:5i 7. Drivers (CATORES) "L PART IV - DOPING PROCEDURES AND ANALYSIS PART V - A. Jump Swith Settings &',1 I. No Jump Swi thes Setting J " h. q~ 3. T e J-l Optlon ::> 4. The J-3 Option Slf B. Identifiation and Format on Magneti Tape S" C. Sorting and Analysis " APPENDIX A. PLATO Input-Output Interfae B. Charater Plotting Information t;) C. PLATO Teletype Keyset '1 D. CATORES Information inluding Blok Diagram b~ E. List of Routines on the Master Tape g F. Listing of a PLATO Soure Program G. Listing of a PLATO Soure Program with MAP and Modeswith..

3 INTRODUCTION PLATO, an aronym standing for ~rogrammed Logi for Automati leahing Qperations, is the name of a omputer-ontrolled teahing system whih is an extremely versatile and useable man-mahine interation system. The teahing system, ontaining highly flexible omponents ontrolled by a entrally loated omputer, automatially presents information to a student (or subjet) and reeives responses from him in an instrutional sequene whih utilizes the prinipal of feedbak. The rate and manner of presentation of information to the student is determined by the author of the material presented and an be adjusted in aordane with the student's reations and responses. Although the PLATO system was originally designed for teahing purposes, it quikly proved itself useful for researh in many areas of eduation, behavioral siene, physial siene, mediine, et. The system inludes four major parts: 1) The eletroni hardware omposed of a entral omputer, the student stations, and the ommuniation links between student stations and the omputer. 2) The omputer program whih determines the partiular teahing rules (alled "logi") to be used and reords eah student's progress, alled "dope. II 3) The lesson materials stored partly on film and partly in the omputer, whih utilize the various teahing logis. 4) The speial effets used in the teahing system suh as audio equipment, movie projetor, physiologial test apparatus, et. This operating manual for the PLATO system has been written as an aid to all users of the system from the non-tehnially-oriented to the experiened programmers. Part I ontains a brief general desription of the funtions of the PLATO hardware (eletroni equipment), its relationship to the PLATO software (omputer program), the operation of the system by student input, the relationship of the teaher and/or programmer to the system, and remarks on the preparation of material for the system. Part II desribes the general operating proedures for the PLATO system. Part III is a setion designed for the PLATO teaher or programmer who is writing his own PLATO program using the PLATO Compiler (CATO). It is written in two parts, the first being detailed programming instrutions, the seond detailed ompiling and editing i~strutions. Part IV disusses "doping" (student response reords) proedures and analysis. The appendix, Part V, ontains information whih might be desired by the experiened PLATO programmer.

4 The PLATO Typing Form for Slides C ~ ~ 35 4 For the PLATO amera, the material on eah slide must fit within the retangle illustrated above. Forms are available for typing opy, fitting illustrations and writing rough drafts. The available typing area is 45 typed haraters aross (elite type) 18 lines. The same area plotted by the storage devie is 40 haraters aross by 18 lines.

5 A. PLATO EQUIPMENT OPERATION Turn On/Off Proedures 1. Equipment off: a. Chek the engineers' ard posted on the PLATO equipment. If the equipment may be turned on, push the "on" button. The time lok will be set automatially. b. After the equipment is turned on, push the storage devie buttons for the student stations to be used.. The first user after the equipment turn on must push the door button before autoloading to lear the equipment registers properly. d. When finished, turn the equipment off unless there will be another user in a short time. 2. Equipment already on: ( a. b.. Chek the time lok to see if adequate time is left for the TWl. (Blak hand shows remaining time.) I f not, push the "on" but ton to reset the lok. Chek the storage devie buttons for the student stations to be used. When finished, tul~ the equipment off unless there will be another user in a short time. 3. Unexpeted equipment turn off: a. Chek the time lok. (Blak hand shows remaining time.) If time has run out, push the "on" button to reset the lok. b. Chek for voltage drop. If the meter indiates a voltage drop, read the posted diretions arefully. Push the reset button, if indiated.. If neither a nor b is the ase, summon a PLATO engineer.

6 Sanners A. Using a progr~m with slides~ 1. Take the aetate sheet(s) from the storage abinet. The slide sheets are named and numbered. 2. Open the sanner doors and lift the lens plates. There are athes on the inner sides of the sanner whih must be moved aside before the plates an be raised. 3. Put the slide sheets, labeled side up, in their respetive sanners, A or B. Be sure the holes on the sheets fit the pegs in the front of the sanner. 4. Lower the lens plates by pushing the athes aside. Chek to see that the plates are all the way down. The sanners are turned on by a pressure button illlder the plates. 5. Close the sanner doors ompletely. 6. When the run is finished, remove the slide sheets and return them to the proper slot in the storage abinet. B. Using a program with ~ slides: 1. Open the sanner doors and lift the lens plates. There are athes on the inner sides of the sanner whih must be pushed aside before the plates an be raised. When the plates are up the sanners are off. 2, Close the sanner doors ompletely.

7 G. CO~~UTE R?RQCEDURES Read-Ins G Before a run, hek to see if the equipment is properly turned on, the right slides in, and the proper key aps on the keysets to be used. Push the door button to.lear the equipment registers if the equipment has been turned off for any length of time. 1. Starting a run using a binary program tape: a. Put PLATO Master tape (#100) on tape unit 1, DOPE tape (ring in) on unit 2, and the binary program tape (and data tape if used) on unit 3 or 4. b. Push the autoload button. Type: at o run, et.; as desribed below. CATORUN,NAME,I,L,X. Puts the binary version of a PLATO program in memory ready to run. name = the name given in the title statement, or the name "program" if no title statement exists i = input medium for the binary version of the program 1 = input medium for the PLATO Master tape x = t if J-2 printout (DOPE) is desired on the typewriter p if.j-2 printout (DOPE) is desired on the line-printer. When the onsole lights up, set J-l or J-3 for the desired DOPE option, and J-2 if using a fresh DOPE tape. d. Hit Start. The typewriter will ask for DOPE identifiation tag, MONTH/DAY/YEAR/ID. Type the identifiation tag. e. If J-2 was set,unset it either after typeopt MONTH/DAY/YEAR/ID has ourred or after typing a message in. f. Chek to see if the hannel 5 light is on. If so, the program is ready to run. Put the prodution sign, PLATO, on the onsole desk. 2. Starting a run using an autoloadable program tape: a. Put the autoloadable program tape on tape unit 1, DOPE tape (ring in) on unit 2, and the data tape (if used) on unit 3 or 4. b. Push the autoload button. Chek to see if the "funtion ode" and the "exeution address" read " II If so, follow the instrutions in through f above. L

8 b 3. Continuing a run using a PROGSAVE'd program tape: a. Put the autoloadable program tape on unit 1, DOPE tape (ring in) on unit 2, and the data tape (if used) on unit 3 or 4. b. Push the autoload button. Chek to see if the "exeution address" reads "4201" (ready to transfer to RESTART). If the "exeution address" is not 4201 (this will be the ase if the "aumulatoruwas not set to 1 at the end of the previous run) simply reset 4201 in the exeution address.. Set J-l or J-3 for the desired DOPE option, and J-2 if using a fresh DOPE tape. The DOPE tape will be positioned automatially. d. Hit Start. The typewriter h'ill ask for DOPE identifiation tag, MONTH/DAY/YEAR/ID. Type the neh' identifiation tag. e. If J-2 was set, unset it either after typeout MONTH/DAY/YEAR/ID has ourred or after typing message in. f. Chek to see if the hannel 5 light is on. If so, the program is ready to run. Put the prodution sign, PLATO, on the onsole desk. 4. Ending a run (PROGSAVE' ing) a. Unset J-l or J-3 to end the DOPE tape properly. b. Clear up and down. (To make an autoloadable program tape for the ontinued run, follow through f beloh'.). Mount the tape on whih the saved program is to be written on unit 4~ with ring in. d. Set the "aumulator"to 1 and the "program address" to Start. (Unless J-2 is set, tape 4 will be rewound before writing.) e. Unload tapes after tape 4 is written, take the ring out, and put the tapes away. f. Turn the equipment off. L

9 7 Doping A. Use of DPLISTl: l. Put the PLATO Master tape on tape unit 1, the DOPE tape on unit 2 and the flextape of DPLISTI in the reader in assembly mode. DPLISTl is a binary flextape whih auses the printout of key inputs by name vertially on the printout page. 2. Autoload. 3. Type: all,f. 4. Put the parameter tape in the reader in harater mode. (The parameter tape is a data tape of the key names in the order of their appearane in the assign statement(s) of the soure program. This data tape is typed one name per line, left-justified and terminated by a BCD end-of-file.) 5. Put J-l up if the entire tape is to be proessed. Leave J-l down if only one session (1000 keys) is to be proessed. 6. Type: run. or dplistl. 7. If J-l was left down, type a arriage return and the session identifiation tag leaving out the slashes. After t>~ing the tag, type another arriage return, and the proessing wi 11 start. Example: r r (For an original tag of 7/24/65/1.) If more than one session or more than 1000 key inputs are desired, put J-l up anytime during the printer output for an addition 1000 key inputs. This proedure may be repeated for as many additional sets of 1000 key inputs as needed.

10 Emergeny Proedures A. Forgotten ENDOPE 1. When the DOPE tape position has been disturbed, but not the memory (e.g., a "reverse" or "rewind" button on the tape unit has been pushed without unsetting the jump swith): Position the dope tape by typing: opy,2,x. After the error printout, manually set the ''program address" to 4200 (the entry to ENDOPE). This auses all the neessary termination marks to be written on the DOPE tape. The ENDOPE program stops ready to jump to the RESTART program. 2. When both the DOPE tape position and the memory have been disturbed: B. Forgotten PROGSAVE Position the DOPE tape by typing: opy,2,x. After the error typeout, type: efmark,2. (This will write an end-of-file on tape unit 2.) Note, however, that the end-of-session mark will not be reorded and the last reord on the DOPE tape will be destroyed upon restarting a ontinued run. 1. Put the autoloadable tape whih was used for the previous run on tape unit 1, the Dope tape on unit Autoload. 3. Set the program address equal to 4202 (the entry to SPECTRE). Enter the proper values in A and Q (See Part II on reviewing using SPECTRE). This is a fast reading of the previous DOPE. 4. Start. 5. After a typeout END OF DOPE has ourred, proeed to PROGSAVE on tape unit 4 by setting the "program address" equal to Set ACC = 1, then Start. (See Part II-B, Ending a run. C. Voltage drop A voltage drop in the PLATO equipment may ause loss of information. See Part II-A, Unexpeted equipment turn off.

11 q Reviewing a Student Run Using SPECTRE 1. Put the PLATO Master tape on tape unit 1, and the written DOPE tape on unit Autoload. 3. Set the "program address" to 4202 (the entry to SPECTRE). 4. Set the "aumulator" for the desired option: ACC = 0 ACC = OOO... ON ACC = ON Run at the normal rate. Run at the power of 2 in the lower bits of the aumulator times the normal rate. Run at minus the power of 2 in the lower bits of the aumulator times the normal rate. Example ACC = ACC = means to run at four times the normal speed. means to run at 1/2 the normal speed. C 5. Set the "Q-register" for the desired option: Q = 0 Q = 1 Clear both student bank and ommon. Save ommon, but lear s tuden t bank. Q 2 Save student bank, but lear ommon. Q = 3 Save both student bank and ommon. 6. Hit Start. The typewriter will type WHAT SESSION. 7. Type the dope identifiation tag just as it was originally typed for the atual run. Example Type: 1/3/65/a. (For the original tag 1/3/65/a.) B. The typewriter will then ask WHAT STUDENTS. (IN OCTAL). Type the desired student number in otal. Example Type: 0/1/2/3/4/5/6/7/10/11. (For students 1,2,3,4,5,6,7,8,9.) In the ase of a typing error, the messages may be restarted after a arriage return. ' SPECTRE does not stop at the end of the speified session, but ontinues until it hits the end-of-dope-tape mark, at whih point the typeout "end of dope" will our. To stop before the end, simply use the step swith. If the session indiated is not on the dope tape, the program types "session not found" and stops ready to start at 4202b (the entry to SPECTRE). This program does not simulate simultaneous keyset inputs, but is designed to simulate many students at one with only very Slight hanges in the original timing of outputs to the PLATO equipment.

12 to A. PROGRAM CONSTRUCTION PLATO-~bdified FORTRAN CATO is a modified FORTRAN '60 ompiler with additional features to aommodate the need in teahing operations. These additions are listed in this setion of the manual under PLATO Statements, with examples.. In addition to the usual FORTRAN subroutines, there are many PLATO system routines whih are urrently available. More subroutines will be added to the library in the future as the need arises. With the knowledge of FORTRAN programming, it is a relatively easy matter to write a omplete omputer program for use with the PLATO system. The following setion assumes knowledge of FORTRAN. Naming of Variables All names reated in the program statements must be standard FORTRAN names, beginning with a letter and onsisting of from one to seven alphanumeri haraters. All harater, key, mode and al names are treated as integers regardless of the first letter. All other names must follow the Fortran rules for fixed and floating point operations. The following names may not be used as al names in PLATO programs: AUDIO NXTLINE SPACE MODE BKSP PACK UNPACK KEYS ERASE PLOT WRITE CALC EQUIPI PLOTG NOCALC NEXT EQUIP2 PRVLINE LISTARG SAME EQUIP3 READ DELTARG FORCE INTRUPT RING DRVOO COPY KEY SELRASE all Master Tape routine names KEYCHAR SLIDE DRV77 It is not advisable to use idential names for mode and al. The PLATO Compiler will aept idential names; however, one an run into trouble when the als are alled. Do not use single letter variable names in alulations, sine these are generally reserved for the names of alphabet haraters and keys.

13 I I Program Organization Title Statement Charater List Assign List Group List Modeswi th Statements PLATO Format Statements Student Bank Statement(s) Program Namel end x Program Name2 end x Funtion Fl end x Subroutine Sl (These statements may also be plaed inside alulations.) (This statement may also be plaed inside alulations.) PLATO Calulations end x Program Last end finis x

14 r "2... Sample Program This is a very simple PLATO program showing the organization in atual statement form. Detailed information about the "statements follows in this setion of the manual. 999 title explain this lesson shows slide 3 and plots plato when key go is pushed 898 harater dmy«~»~p«30,44)(31,44)(32,44)(33,44)(34,44)(35,44) 1(36,45)(37,46)(37~47)(36,50)(3S,51)(34,51)(33,51)(32,51)(31,51) 2(30,45) (30,46) (30,47) (30,50) (30,51) (30,52) (30,53) (30,54) (30,"55) 3(30,56)(30,57» 897 hatater 1«30~44)(30,45)(30,46)(30,47)(30,50)(30,51)(30,52) 1(30,53)(30,54)(30,55)(30,56)(30,57)(31,57)(32,57)(33,57)(34,57) 2(35,57)(36,57)(37,57» 896 harater a«30,57) (30,56)(30,55)(30,54)(30,53)(30,52)(30,51) 1(30,50)(30,47)(30,46)(31,45)(32,44)(33,44)(34,44)(35,44)(36~45) 2(37,46)(37,47)(37,50)(37,51)(37,52)(37,53)(37,54)(37.55)(37,56) 3(37,57)(31,51)(32,51)(33,51)(34,51)(35,51)(36,51» 895 harater t«30,44)(31,44)(32,44)(33,44)(34.44)(35,44)(~6.44) 1(37,44) (40,44) (34,45) (34,46) (34,47) (34,50){34,51) (34, 52)(34,53) 2(34,54)(34,55)(34,56)(34,57» 894 harater 0«30,54) (30,,53) (30,52) (30,51) (30,50) (30~47) (31~45) i (33,44) (34 ~44) (35,44) (37,45) (40,47) (40,50) (40,51) (40,52) (40~53) 2 (40,54) (37,56) (35,57) (34,57) (33,57) (31,56)) 710 assign dmy(140),go(101) 603 plato format sentl,8,plato 524 student bank ix,iy,kar1ist(s),nnar 481 mode intro keys go al show 390 program show all erase all slide(3) ix = 96 iy = 70 nebar = 5 karlist(o) = -1 all plot(ix,iy,kat1ist,nhar,sent1) end finis x

15 B. PLATO STATEMENTS The Title Statement Form: TITLE NAME Example: 999 title arh this lesson demonstrates arhimedes priniple using inquiry logi The title statement plaes the given name of the lesson in the title word of the binary version of the program. If no title statement ours, the title is automatially PROGRAM. Eah PLATO lesson should have a title statement to failitate alling the lesson by name from magneti tape. In binary form, several lessons an be "staked" on a single tape and are alled indi viduauy using eah unique name.

16 1l-J Charater-Symbol Definition ~ ) The Charater Statement Form: CHARACTER NAME((X,Y) (X,Y) (X,Y) (X,Y) (X,Y) (X,Y) (X,Y) l(x,y) (X,Y) (X,Y)(X,Y)(X,Y)... (X,Y)) Example: 805 harater a((30,57) (30,56) (30,55)(30,54)(30,53)(30,52)(30,51) 1(30,50)(30,47)(30,46)(31,45)(32,44)(33,44)(34,44)(35,44)(36,45) 2(37,46)(37,47)(37,50)(37,51)(37,52)(37,53)(37,54)(37,55)(37,56) 3(37,57) (31,51) (32,51) (33,51) (34,51)(35,51)(36,51)) Eah harater statement gives the points, in otal, whih form a harater to be plotted in a lesson. The X and Y oordinates for eah point are listed and enlosed by parentheses. Another set of parentheses enlose the entire set of points for eah harater. The length of eah harater statement is limited to 9 ontinuation statements as in regular FORTRk~, but there is no pratial limit to the number of haraters in the list. Several haraters may be listed in the same harater statement if the number of ontinuations does not exeed nine. Example: 823 harater 0((30,54)(30,53)(30,52)(30,51)(30,50)(30,47)(31,45) 1(33,44)(34,44)(35,44)(37,45)(40,47)(40,50)(40,51)(40,52)(40,53) 2(40,54) (37,56) (35,57) (34,57) (33,57) (31,56)),p((30,44) (31,44) 3(32,44)(33,44)(34,44)(35,44)(36,45)(37,46)(37,47)(36,50)(35,51) 4(34,51)(33,51)(32,51)(31,51)(30,45)(30,46)(30,47)(30,50)(30,51) 5(30,52)(30,53)(30,54)(30,55)(30,56)(30,57)) To denote a spae or a harat er with no points, use ((,)). To denote the speial arriage return harater, use ((-)). A harater number is assigned to eah harater aording to its position in the list. The first harater (position 0) should be a dummy. Example: 899 harater dmy((,)),a((30,57)(30,56)(30,55)... For more detailed information about harater plotting, see Appendix R.

17 15 The Assign Statement Form: ASSIGN NAMEl(otal input number),name2(otal input number),... Example: 734 assign go(os6),stop(073),a(101),b(102),m(116),kerase(177),nl( 061), ln2(062),n3(063),n4(064),ns(06s),n6(066),n7(067),n8(07 0),n9(07l), 2nO(060),kspae(040),omma(074) Eah key on the PLATO keyset sends an otal input to the omputer when the key is pushed. The assign statement gives a symboli name to eah of these inputs used in a lesson. The keyset has 96 unique inputs to the omputer and the maximum number of assigns is 128. Otal input 000 should be avoided sine it is the input of every key when the break button is depressed! A logial key number is given to eah key aording to its position in the assign list. If PLATO routine TRANSFR is used in the lesson, the first assign must be a dummy. Example: (dmy is logial key number O. 732 assign dmy(140),go(os6),stop(073),... go" I: " " 1. stop" II II " 2.) A harater and a key may have the same name, but in alulations the distintion must be made lear by the use of PLATO routine KEYCHAR, or the key number will take preedene over the harater number. Eah otal input may have only one name, but a name may have more than one otal input. Example: 740 assign go(os6, 177) orret 740 assign go(os6),go(177) inorret- go(177) will replae go(os6) 740 assign go(os6),ont(os6) inorret For further information about the PLATO keyset, see Appendix C. * The break key disengages all the keys and is ommonly used to prevent disruption of the program while keyaps are being attahed to the keyset.

18 16 The Group Statement Form: GROUP GROUPl(NAMEl,NAME2,NAME3~NAME4,NAME8),GROUP2(NAMElO, INAMElS,GROUPl,NAME20) Example: 644 group alpha(a,b,,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z), lnum(no,nl,n2,n3,n4,ns,n6,n7,n8,n9),alphnum(alpha,num),alfpun(r, 2period,omma,qmark,hyphen,alpha) The group statement partitions the keyset in any number of ways in addition to the listing of individual keys. Grouping is onvenient when the same alulation is performed for several different keys and when a program deision depends on a key's membership in a partiular group. A key name may appear in more than one group, and a group name may appear in another group. The nesting of groups inside other groups has no pratial limit as long as all the elements of the groups are learly defined.

19 17 Modeswith, ' The modeswith setion of a soure program desribes the teahing rules for a lesson. The "logi", as the, teahing ru'les are alled, is a series of modes in whih various keys available to the student ause omputer and system operations to be performed. E,ahrnod,e is 'a listing of the keys and their assoiated alulations whih are "legal" (available) at a partiular point in the lesson. Example: 100 mode intro keys ont al nxtpage next mode one The mode desribed above is named "intro." It has one legal key, "ont", whih when pushed dutinga student run will trigger its assoiated alulation,_ '''nxtpage.'' The alulation, a FORTRAN progriul1, loated elsewhere in th~ soure pr9gram, inreases the slide number by 1 and displays the next slide. When the alulation, ''nxtpage tl, is om ':'. pleted the,.~student is in the next mode, "one"_ with a new set of available keys ~,~~ alulations. All moa~ " exept the first one whih is mode 0, may our anywhere in the modes~1 t~h. The first mode is the starting point of the logi and is the first one" entered at the beginning of a student rtm. Logial mode ',numbers are assigned to the modes in the order 'of their appearane in the 'modeswith.

20 /'3 The Mode Statement Form: MODE NAME Example: 100 mode intro 101 mode one 102 mode two Eah mode statement speifies the start of the statements whih omprise a single mode. Eah mode is terminated by the start of the next, and the last mode is terminated by any legal statements other than modeswith statements.

21 The Keys Statement Form: or KEYS NAME KEYS NAMEl.NAME2~... Example: 100 mode intro keys ont. keys alpha keys nl~n2,n3 (a single key) (a group of keys) (several keys) Eah keys statement in a mode gives the name of a key whih is "legal" (available) in that mode. Only those keys whih are legal need to be listed. If a key is not listed and therefore "illegal", the PLATO routine J RING,. whih auses the keyset light to flash, is automatially the alulation for that key and the urrent mode is re-entered. The field of statements applying to a key is terminated by another keys statement or by a mode statement.

22 The Cal Statement Form: CALC NAME or CALC NAMEl,NAME2,... Example: 102 mode two keys ont al nxtpage keys go al numpage, plotnurn Eah al statement gives the name of the alulation. a FORTRAN program, to be exeuted when the key listed in the preeding keys statement is pushed. If a al statement is not listed after a keys statement, the PLATO routine, NOCALC, is automatially the alulation for that key. Logial al numbers are assigned to the als in the order of their appearane in the modeswith. Any al in the lesson may be alled by another al. Two suessive al statements assoiated with a keys statement will result in the overwriting of the first al by the seond. TI1e En try Cal Example: 102 mode two al setup A al statement immediately following a mode statement will ause the speified alulation to be exeuted eah time the mode is entered, unless the mode is re-entered by pushing an "illegal" key. An entry al in the first mode of the modeswi th will not be exeuted on initial entry to the mode at the start of a student run. It will be exeuted, however, on re-entry when a "legal" key is pushed,... hih does not hange modes or when the first mode is entered from another mode.

23 "&/ The Next Mode Statement Form: NEXT MODE NAME Example: 100 mode intro keys ont al nxtpage next mode one 101 mode one Eah next mode statement gives the name of the mode to be entered when the key in the preeding keys statement is pushed and the alulation (if any) assoiated with that key is ompleted. If a keys statement does not have a next mode statement assoiated with it, the urrent mode is re-entered automatially. Mode hanges an also be made inside FORTRAN alulations. See the setion, Exeutable Logial Statements.

24 The Fore Key Statement Form: FORCE KEY NAME Example: 104 mode m40 keys n7 al metal fore key ns next mode m mode m43 keys ns al medium next mode mso The fore key statement gives the name of the key to be fored after the key speified in the preeding keys statement is pushed. In effet, the fore key request is put into the request list ready for proessing just as if the student had pushed the key. In the above example, pressing key n 7 while in mode m40 wi 11 exeute the al, "metal", and ause key request ns to be put in the request list. The next mode, "m43 ", is then entered and key ns, already in the request list, immediately triggers the al, "medium. II Keys may also be fored inside FORTRAN alulations. See Exeutable Logial Statements in this setion of the manual.

25 The Copy Mode Statement Form: COPY MODE NAME Example: 103 mode three opy mode two keys alpha al a1fp1ot next mode four The opy mode statement reates another mode like the mode whose name is given in the opy mode statement. The statements following the opy mode statement are additions and/or exeptions to the mode being opied. Example: C 102 mode two Mode two has 3 keys and 2 mode hanges keys ant al nxtpage next mode four keys alpha al alfplot keys num al nump10t next mode four 103 mode three Mode three has the same 3 keys~ but 3 mode opy mode two hanges keys alpha al alfplot next mode four The opy mode statement an be used to add keys and a1s, replae als and to add and replae next modes. The Same As Statement Form: SAME AS NAME The same as statement is idential to the opy mode statement.

26 Student Bank The Student Bank Statement Form: STUDENT BANK NAMEl,NAME2,... ARRAYl(Nl),ARRAY2(Nl,N2),NAME4,... Example: 200 student bank ix,iy,nhar,karlist(16),kountl,jflag,jpp,nkey, lns,itim,jarray(4,5),kount2 The student bank statement provides a blok of memory storage for student variables. This storage bank is dupliated automatially to give eah student his own unique bank of variables. All variables whih are speifi or unique to a student and variables whih are referred to following a possible equipment-busy interruption of an output alulation must appear in a student bank statement. Sine a alulation may be interrupted during output of information to the PLATO equipment, the variables for the interrupted student must be saved in his bank to avoid hanges made for another student using the same alulation. Indies of DO loops may appear in the student bank and must appear there if an output of information is made inside the loop. Student bank arrays may have as many as three dimensions. Student bank 10ation(0) is automatially the number of the next mode, and loation(l) is automatially the fore key, if any. If there is no fore key, loation(l) equals 255. The names defined in the student bank statement begin at 10ation(2). Student bank statements may be plaed before the FORTRAN alulations or inside an individual alulation before the first use of the names defined. TIle value of every student bank variable is initially O. The beginning address of the student bank for the student whose key is urrently being proessed is ontained in index register 6.

27 PLATO Calulations (FORTRAN Programs) Eah alulation is written as a full FORTRAN program, subroutine, or funtion* in normal format, omplete with its subroutines whih may be used by any other alulation. A alulation is begtm with a Program, Subroutine, or Funtion statement whih must ontain a name. This is the name to l'lhih the Cal statement in the modeswi th refers. Names of PLATO system routines may not be used as alulation names (See Part IlIon Program Constrution Naming of Variables). A program, subroutine, and funtion must be terminated by a single End statement and an x. The x statement is a do-nothing statement whih follows eah End statement to improve the readability of the print-out. Example: 404 program pltal all erase ix = 70 iy = 180 nhar = 22 karlist(o) = -1 all plot(ix,iy, end x 405 program omment karlist,nhar,sent14) (This alulation plots sentene 14 beginning at oordinates 70,180. Sent14 has 22 haraters.) The last alulation (the end of the entire soure program) is terminated by an End, Finis, X, and a BCD end-of-file: 492 program name this routine plots eah harater as it is pushed to form the student's name on the sreen inkount = inkotmt + 1 if(inkotmt - 18) 1,2,2 1 all key(nkey) all key har (nkey,karlist (1)) ix = ' (inkotmt - 1) iy = 96 nhar = 1 all plot(ix,iy,karlist,nhar) return 2 all ring end finis x A alulation with arguments annot be used as a al by itself, but may be alled from another al. The plaement of a al with arguments in the list of alulations is arbitrary. * No subroutine may be alled in a funtion if the value of the ftmtion is to be returned to the alling program.

28 PLATO Format The PLATO Format Statement Form: PLATO FORMAT ARRAY,NPERWORD,A(SPACE) SENTENCE (PERIOD) Examples: 300 plato format senti, 8, welome (kspae) to (kspae)plato(period) 302 plato format sent3,8,this(kspae)is(kspae) lesson (kspae) (nl) 1 (n4) (period) The PLATO format statement paks harater numbers into an array. The array name is automatially plaed in internal ommon and may not appear in a DIMENSION or CO~~ON statement. One defined, the array may be referened by any alulation. NPERWORD is the number of haraters to be paked per omputer word. If the total number of haraters in the lesson is: C less than or equal to 2, NPERWORD must be less than or equal to II II 4, " " 24 II II II 11 II. 16, 12 II II II II " 64, 8 11 II II II 128, " 6 II II II II II 256, 6 II II II II II 512, 5 NPERWORD is followed by a list of harater names whih form the sentene or message. If the names are only one letter long, like the alphabet haraters in the examples above, they need not be separated from eah other. If a name ontains two or more l etters, suh as "kspae", it must be set off from the others by parentheses, (kspae). The total number of omputer words generated by a PLATO format statement is: ((no. of hars. in sentene)/nperword + (1 if remainder, 0 if not) + 1) The first word of a PLATO format array is a ode word ontaining (NPERWORD-l) in the upper address and (shift per harater) in the lower address. PLATO format statements may be plaed before the FORTRAN alulations or inside an individual alulation before the first use of the sentenes and names they define.

29 2.7 Exeutable Logial Statements (to be used in alulations) 1. FORCE = NAME Causes the fored key to be that whose name is speified. In effet, this statement overrides the Fore Key statement in the modeswith. A fored key may be speified in a alulation even though a orresponding Fore Key statement does not exist in the modeswith. 2. IN(KEY~GROUP)YES,NO This statement is used to determine whether a key is ontained in a given group. In alulations, group names may be used only within an In statement. The statement must be followed by two statement numbers. Control will go to the first if the key is in the group and to the seond if it is not. The In statement is preeded by CALL KEY(I), a PLATO system routine: Example: all key(nkey) in(nkey,alpha)5s,3l 3. MJDE = NAME Causes the next mode to be the mode whose name is speified. In effet, this overrides the Next Mode statement in the modeswith for one time. No mode hange may be made in an entry alulation, so assign a dummy key and fore it inside the entry alulation: Example: mode two al ntry keys dmy next mode four (The al ontains fore = d~y.) (The mode hange ours here.) 4. NAMEI = NAME2 Causes the numerial value of NAME2 to be stored in the loation of NAMEI. NAME2 may be a key name, a harater name, or a mode name. NAMEl may be a variable or array or student bank variable. If a key and a harater have the same name, the key takes preedene. The orresponding harater number an be obtained by CALL KEYCHAR(I,J), a PLATO system routine. S. XINCRMr = N = XINCRMf*( )+( ) (any mathematial expression) Statements of the first type above ause the X inrement for base address used in plotting to be reset to the value of N. It is wise to fix the X inrement only one during the program, sine it affets plotting for all students. Statements of the seond type permit use of the value of the X inrement in alulating starting oordinates, et.

30 6. YINCRMf = N The Y inrement for plotting. It may be used exatly like XINCRMf = N. 7. XMAXMUM = N The X maximum for plotting. It may be used exatly like XINCRMT = N. 8. YMAXMUM = N The Y maxi mum for plotting. It may be used exatly like XINCRMr = N.

31 PLATO System Routines (to be used in alulations) 1. CALL AUDIO(N) Selets audio effet N. 2. CALL BKSP(X,Y,N) Bakspaes the plotting oordinates for base address N times. Tests for X or Y equal to O. Resets X and Y bak to XMAXMUM or YMAXMUM as required. Upon exit, X and Y ontain the new oordinates, respetively. N remains unhanged. 3. CALL ERASE Completely erases the student's storage devie. Upon exit, the storage devie is set to ''write. It 4. CALL EQUIPl Ativates speial equipment #1. It 11 CALL EQUIP2 " #2. CALL EQUIPS " " " #3. 5. CALL INTRUPT Causes the alulation to be interrupted at this point to proess requests from other students. When all other requests are proessed, this routine automatially omes bak to ontinue where the alulation was interrupted. 6. CALL KEY(I) Stores the number of a key being proessed for a student in loation I. 7. CALL KEYCHAR(I,J) Takes the key number stored in loation I, find the number of the harater whose name is the same as the key and stores the harater number in loation J. If there is no harater of the same name, a 0 is stored in loation J. 8. CALL NXTLINE(Y,N) Moves the Y oordinate for base address down N lines without hanging X. If YMAXMUM is exeeded, YINCRMT is reset to 0 as required. Upon exit, Y ontains the new oordinate and N remains unhanged.. 9. CALL PACK(NPERWORD,PACKLIST,KARLIST,N) Paks N harater numbers in array KARLIST, beginning at KARLIST(l), into the array PACK LIST, beginning at PACKLIST(l). NPERWORD is the number of haraters from karlist to be paked into eah word of PACK LIST. PACKLIST(O) ontains (NPERWORD-l) in the upper address and (shift per harater) in the lower address.

32 "5D NOTE: The next two plot routines are essentially the same routine exept for the number of arguments. If PLOT with 4 arguments preedes PLOT with 5 arguments in the same alulation, give the first PLOT statement a fifth (dummy) argument. 10. CALL PLOT(IX,IY,KARLIST,N) Plots N equential haraters on the student's television sreen beginning at IX,IY. When the series of plots is ompleted, N, KARLIST(O), IX and IY are altered: N' = 0 KARLIST(O) = 0 IX' = IX + N * XINCRMT. Whenever IX' is greater than XMAXMUM, IX' is reset to O. If the number of haraters plotted after IX' is reset to 0 is M, IX' = 0 + M * XINCRMT. IY' = IY + (no. of times IX' was reset to 0) * YINCRMT. Whenever IY' is greater than YMAXMUM, IY' is reset to O. I f the number of additional times IX' was reset to 0 is M, IY' = 0 + M * YINCRMT. IX, IY, and N must be integer (fixed point) variables in the student bank. KARLIST must be an integer FORTRAN array of at least one dimension in the student bank. If KARLIST(O) is not hanged before alling PLOT, it is automatially 0 sine all student bank variables are 1n1- tially O. PLOT sets KARLIST(O) to 0 eah time a plot is ompleted. When KARLIST(O) is 0, karlist is assumed to ontain right-justified numbers stored in reverse order to the diretion of subsripting: KARLIST(l) KARLIST(2) KARLIST(N-l) KARLIST(N) ontains the last harater to be plotted ontains the next-to-iast harater ontains the seond harater ontains the first harater All loations of KARLIST are unhanged when the plot i~ ompleted and the storage devie is set to "read." 11. CALL PLOT(IX,IY,KARLIST,N,PACKLIST) The addition of PACKLIST as an argument is essentially the ombination of UNPACK and PLOT. If KARLIST(O) was set to -1 sine the last plot for this student, the PACKLIST option will be seleted. PACKLIST must be a FORTRfu~ array and must have been paked by a routine \'lhih plaes (NPERWORD-I) in the upper address and (shift per harater) in the lower address of PACKLIST(O). Subsequent words of PACKLIST must ontain NPERWORD harater numbers in eah word, paked in sequene from left to right, with the entire word left-justified if there are any unused bits. With the PACKLIST option, KARLIST(O) and KARLIST(l) are used for temporary storage during plotting. Upon exit, KARLIST(O) = 0, KARLIST(I) = last harater plotted, and the storage devie is set to "read."

33 5/ 12. CALL PLOTG(IX,IY,KARLIST,N) CALL PLOTG(IX,IY,KARLIST,N,PACKLIST) Plots exatly like the other PLOT routines, but does not automatially set the storage devie to "read" when the plot is ompleted. The haraters plotted by PLOTG are not visible on the television sreen until the student's storage devie is set to "read" ei ther by a subsequent plotting routine or by CALL READ, another PL~TO system routine. 13. CALL PRVLINE (Y,N) Moves the Y oordinate for base address up N lines without hanging the X oordinate. Tests for Y = 0 and resets Y = YMAXMUM as required. Upon exit, Y ontains the new oordinate and N remains unhanged. 14. CALL READ Sets the student's storage devie to the "read" state. IS. CALL RING Flashes the error light on the student's keyset. The light is turned off when the next key is pushed. The only way the light an be turned off is by pushing the next key. 16. CALL SELRASE(X,Y,N) Seletively erases the storage devie at N sequential harater positions, starting at X,Y. When the series of ' seletive erases is ompleted, X, Y, and N are altered: N' 0 X' = X + N * XINCRMT. Whenever X' is greater than XMAXMUM, X' is reset to O. If the number of harater positions erased after X' is reset to 0 is M, X' = o + M * XINCRMT. Y' = Y + (no. of times X' \vas reset to 0) * YINCRMT. Whenever Y' is greater than YMAXMUM, Y' is reset to O. If the number of additional times X' was reset to 0 is M, Y' = 0 + M * YINCRMT. 17. CALL SLIDE(N) Selets the slide whose number is ontained in loation N of the student bank. If the slide number is always the same in a partiular alulation, N may equal the slide number itself. N must be less than or equal to 121. N is modulo 128; presently 122 to 127 are blanks. 18. CALL SPACE(X, Y,N) Spaes the oordinates N times. Tests for XMAXMUM and Y~~MUM exeeded as PLOT does. X and Yare orretly altered upon exit. N is unhanged.

34 19. CALL UNPACK(PACKLIST,KARLIST,N) Unpaks N harater numbers of PACKLIST into KARLIST in reverse order, starting at KARLIST(N). Thus KARLIST is suitable for use with PLOT. PACKLIST must have been paked by a routine whih plaes (NPERWORD - 1) in the upper address and (shift per harater) in the lower address of PACKLIST(~), suh as PACK or the PLATO Format statement. 20. CALL WRITE Sets the student's storage tube to the write state.

35 Other PLATO Systems Routines on the Master Tape (to be used in alulations) 1. CALL CONNECT(Nl,N2) This subroutine will reate a fititious input, aording to the arguments given and plae it in a proper plae in the request list. NI is the key name and N2 is the student number. It \'lill appear as though student N2 pushed key NI, thus making interommuniation between student stations possible. Example: all onnet (n4,12) 2. CALL GETPUT(IWORDI,IPOSl,IWORD2,IPOS2) This subroutine is a speial ase of TRANSFER. It puts the ontents of harater position IPOSI of IWORDI in position IPOS2 of IWORD2 without destroying the ontents of the other harater positions of IWORD2. Upon exit only IWORD2 is hanged in any way. The subroutine treats eah word as 8 s"ix-bi t haraters numbered from the left. EXample IWORDl IWORD2 IAIBllDIEIFIGIHI CALL GETPUT(IWORD1,3,IWORD2,8) would result in: IWORDI IAIBllDJEfFIGIHI IWORD2 IIIJIKILIMINlolCl _I ~t 3. CALL GETPUT2(IWORDI,IPOSI,IWORD2,IPOS2) This subroutine, like GETPUT, is a speial ase of TRANSFER. It puts the ontents of two adjaent haraters beginning at IPOSl of IWORDI into two adjaent positions of IWORD2 beginning at position IPOS2. Upon exit only IWORD2 is hanged in any way. The subroutine treats eah word as 8 six-bit haraters numbered from the left. 4. CALL RDBANK(IWI, ISTVAR, ISTNUM) This subroutine reads from a student bank. It plaes the ontents of the student bank variable, ISTVAR, for student number,istnum, into loation IW1. ISTVAR must be a student bank variable. 5. CALL STBNK(IWI, ISTVAR, ISTNUM) This subroutine stores into a student bank. It plaes the ontents of IWI (whih may be any type of onstant or variable) into the student bank loation, ISTVAR, of student number ISTNUM. ISTVAR must be a student bank variable.

36 6. CALL SET6(ISTUD) This subroutine allows one student to referene another student I s bank. After a "CALL SET6 (ISTUD)", all subsequent operations involving student bank variable names will use the values foudn in student ISTUD's bank until "CALL RESET6" or an external operation suh as PLOT, ERASE, et. is performed. After suh an external operation, the program is in an undetermined state. Therefore, it is neessary to perform either a SET6(ISTUD) or a RESET6 if any further student bank referenes are made. Example CALL SET6(ISTUD) II = 5 CALL PLOT(IX,IY,KARLIST,II) The above sequene will plot the five haraters from student bank ISTUD. If no further student bank operations are to be performed in the alulation, no referene to index register 6 has to be made. To be sure that eah student is referening his own bank a "CALL RESET6" must follow. To be sure that operations ontinue in the ISTUD bank, a "CALL SET6 (ISTUD) is suffiient only if ISTUD is a onstant or a non-student-bank variable. If ISTUD is a student bank variable, two statements are required: CALL RESET6 CALL SET6(ISTUD) This last is due to the fat that one annot simultaneously re ferene two student banks using SET6. 7. CALL RESET6 This subroutine resets index register 6 (and hene all student bank operations) to the appropriate value for the student whose key is urrently being proessed. 8. CALL TRANSFR(LISTl,NBG.NCH, IQUIV, I GNORE, KOUNT, KOMPARE,KARFIND,NFINBG. LIST2) This routine is a multipurpose harater handling subroutine, based on 6-bit harater numbers. It piks up a string of haraters in an original list, LISTl, starting at a speified position in the list and transfers them to a final list,list2, subjet to various tests. TRANSFR has 10 arguments. The loations used by these arguments should be reserved by the Student Bank statement or by a DIMENSION statement: LIST! NBG NCH The original storage of (paked) haraters. The position to indiate where to start \'1ith referene to LIST! The number of haraters in LISTI to be examined starting at NBG

37 Example: harater positions with referene to kans: 1 through 8 9 through through 24 With referene to kans(o): nbg = 12 nh = 7 all transfr(kans,nbg,nh,.. With referene to kans(2): nbg = 4 nh = 7 all transfr (kans (2),nbg,nh,... C IQUIV IGNORE KOUNT KOMPARE KARFND NFINBG LIST2 Contains pairs of haraters to be treated as equivalent Contains haraters to be ignored ompletely. haraters are not inluded in the NCH ount. Contains haraters to be only ounted in the NCH ount. Contains haraters to be tested against Contains the harater, if any, found in KOMPARE These The position to indiate where to start with referene to LIST2 The final storage for haraters whih pass the IGNORE. KOUNT, and KOMPARE tests, starting with NFINBG in paked form LISTl, IGNORE, KOUNT, KOMPARE and LIST2 an be single wo~'d variables or arrays of any length. Pak 8 harater numbers per word, left-justified. For IGNORE, KOUNT and KOMPARE, the termination harater 008 must always follow. IQUIV also an be a single word variable or an arry of any length. Pak 4 equivalent pairs of harater numbers per word, left-justified. The termination harater 008 must always follow. LIST2 may be IQUIV, IGNORE, KOUNT or KOMPARE, that is to say the banks may be onstruted as tests proeed. MTY, a single word variable, must be reserved in COMMON, if a test is to be skipped. ~ITY is the dummy argument. Store a -0 (minus zero) in this loation.

38 Calling Sequene for TRANSFR: 1. Set NBG, NCR and NFINBG. The values of these three arguments must be equal to or greater than 1. If NFINBG is or negative upon entry to TRANSFR, the restoring proess will be skipped. 2. Call TRANSFR with the arguments desired. a) LISTI, IQUIV, IGNORE, KOUNT and KOMPARE may be subsripted with any integer. If the loation given ontains 0, TRANSFR assumes that it is the beginning of an array and proessing starts with the next word. b) LIST2 ~ be subsripted if it is an array, for haraters will be stored in LIST2 starting at the loation given in the alling sequene. ) If one wishes to skip various tests, write MTY in plae of IQUIV, IGNORE, KOUNT, KOMPARE, KARFND and NFINBG when desired. Example all transfr(listl,nbg,nh,mty,ignore,kount,mty,mty,mty) This sequene of arguments will skip!!equivalent'l, "ompare!! and "restore." The LIST2 argument may be dropped. d) If the first harater in IQUIV, IGNORE, KOUNT or KOMPARE is OOS' that test will be skipped. Upon exit from TRANSFR: 1. If NBG or NCH were zero or negative upon entry to TRANSFR, it will exit immediately with NCH=O and KARFND= -0 (error exit). 2. Charaters found in IGNORE, KOUNT and KOMPARE are not restored in LIST2. 3. When the "ompare" test is inluded the main FORTRAN program should hek, upon returning, to see if KARFND=O. a) If a harater in question is found in KOMPARE, exit from TRANSFR will our with harater found in KARFND and proper values in NBG,NCH and NFINBG. These are already inremented or deremented to be ready for the next harater. b) If no harater from LISTl is found in KOMPARE, exit from TRANSFR will our with KARFND=O, NCH=O. NBG AND NFINBG are inremented to be ready for the next harater. 4. When the "ompare" test is skipped, exit from TRANSFR ours when NCH=O NBG and NFINBG are inremented as if ready for the next harater.

39 "37 Remarks 1) STOP and PAUSE Statements are not allowed. 2) FORTRAN Mahine Language may be employed when neessary. However, are must be taken to insert index register 6 wherever the operand address refers to one of the student bank variables. 3) The ontents of loation 0, whih may be sampled at any time by the program, gives the elapsed time, in 60ths of a seond, from the start of a CATO program.

40 C. PROGRAM COMPILATION AND EDITING Compiling To ompile a PLATO program: 1. Put the PLATO Haster Tape (#100) on tape unit l. 2. Put a srath tape on tape unit 2. The binary version of the program will be written on this unit if the program ompiles. 3. Put the program soure tape on unit 3 or Push the autoload button. 5. Type: ato,et.; as desribed belm.". CATO,I,L,O,P,S,M,E. This routine ompiles a PLATO program and lists the PLATO soure program and FORTRAN errors if desired. If the soure tape is orret, a binary version of the program is written on the medium speified by argument O. If argument 0 is a zero, the binary version is written on tape unit 2 and an automati CATORUN,NAME,2,1,P. puts the program in memory ready to run. I = L = 0 = P = S = M = E = input medium (PLATO soure tape) FORTRAN library medium (PLATO master tape) output medium for binary version of the program soure language output medium symboli modeswith output medium MAP (symboli mahine language) output medium error listing medium Example 3 = 1 = ~ = p = p = p = p = Type: ato,3,1,0,p,p,p,p. PLATO soure tape on unit 3 PLATO master tape on unit 1 binary version of the program written on tape unit 2 and read into memory ready to run soure language (SCD) output on printe J symboli modeswith output on printer omplete printout ~~P language output on printer of ompilation error listing on printer

41 Errors Error Messages During Compilation: 1. alphabet name needed - FATAL error. This message will appear immediately after the statement where the name is needed. 2. assignment interpreted modulo NON-FATAL error. The otal input number given in the assign statement is greater than 2008' 3. oordinate oversized - FATAL error. A oordinate in the harater statement is outside the 64 x 64 plotting area for a harater. 4. diretive out of order - FATAL error. A modeswith statement preedes the first mode statement or some statement in a mode desription is in the wrong plae. 5. extra omma - NON-FATAL error. There is an extra omma somewhere in the statement. 6. illegal subroutine name used - FATAL error. A alulation name LISTARG, DELTARG or RING was used as a al name. 7. (list) are irularly defined - FATAL error. This message refers to a set of modes. There is no basi mode in the referenes whih is learly and fully defined. 8. (list) are undefined modes - FATAL error. A mode name is given whih ha orresponding mode in the modeswith. 9. (list) were irular - FATAL error. This message refers to groups. There i s no basi group in whih all the keys are learly and fully defined. 10. (list) were unassigned - - FATAL error. Some group or groups are not fully defined by assigned keys. 11. (name) already given - NON-FATAL error. Dupliate names appear in one keys statement, mode statement, or al statement. 12. (name) was already opied onto this mode - NON-FATAL error. The mode named is already part of the mode being proessed. 13. (name) was reassigned - NON-FATAL error. A key name has been used twie in the assign statements. 14. (name) was reshaped - NON-FATAL error. Coordinates for one harater name have been given twie. 15. no haraters given - NON-FATAL error. A harater statement with no oordinates exists. 16. numeri name needed - FATAL error. This message will appear after the st~ + ment where the name is needed.

42 17. only one argument read - NON-FATAL error. The PLATO Compiler re ads on ly one argument for Copy Mode, Next Mode, Same As, and Fore Key statements. No staking of arguments. 18. plato format name already used - FATAL error. A dupliate plato format name appears in a different plato format statement. 19. plato format variable name onflit - FATAL error. used i s also a harater name. plotting. The plato format n ame 111e onflit omes in 20. possible error - NON-FATAL error. All the als mentioned in the modeswith do not have orresponding FORTRAN programs of the s ame name. 21. storage limit - FATAL error. The total storage is exeeded. The program i s too large for the memory. 22. student variable previously speified - FATAL error. The variable name has appeared in a previous delarative statement. 23. student variable previously used - FATAL eltor. 111e student variable n ame appears before its delaration as a student variable. 24. tag overflow - FATAL error. The program is too large in a partiular segment. 25. (type) format error - FATAL error. The s)~tax of the statement is inorret (spelling, parentheses, omma, et.). 26. undefined harater name - FATAL error. A harater name appears in a FORTRAN program \'lhih wa.s never defined as a harater. 27. unidentified logial key name - FATAL error. The key name appears befor e its delaration. 28. zero haraters per word given - NON-FATAL error. NPERWORD in a plate>.ormat statement equals 0 or is not speified. If two modes have the same name, replaement of statements within the final omposite mode of that name is indefinite. Chek the modeswith printout for the atual omposition. This error is NON-FATAL in ompilation and is not tagged. If the same key is listed twie in the same mode, replaement of the statements defining that key is indefinite. Chek the modeswith printout for the atual key definition. This is a NON-FATAL error and is not tagged.

43 lfj Editing EDIT,I,O,C. This routine orrets a BCD soure tape; it is a FORTRAN resident servie routine. EDIT is ontrolled by speial diretives from medium C whih properly sequene insertions, deletions and substitutions as the ontents of the unedited soure tape I are transferred to a new medium O. The diretives are: Insert Replae Delete Move & Copy olumn 1 I R D blank M olumns 2-5 statement number or other tag " " " olumn 6 blank " " olumns 7-9 up to 3 deimal digit numbers appearing any''lhere in this field olumns 2-72, a omplete reord appearing on the soure,- or blank for the last reord of the e di t tape " 11 " Upon deteting a I, R, or D diretive in olumn 1 of the edit tape on medium C, EDIT opies the old medium to the new medium searhing for a reord whih ontains a tag in olumns 1-5 (2-5 if olumn 1 is nonnumeri) whih is idential to tag in olumns 2-5 of the diretive. When this reord is found, the deimal digits in olumns 7-9 of the diretive are interpreted as an integer N, and N more reords are opied. The last reord read will be alled the key reord and is not opied immediately onto the new medium 0, but is held in storage. Spaes?~~ ompletely ignored. The diretive then positions the input medium I at the proper plae for editing, and ontrols what sort of editing is to be done. A diretive reord with spaes in olumns 2-5 will hunt for the first reord on the old medium I whih has no tag in olumns 1-5, or possibly a reord with only a non-numeri harater in olumn 1. The I Diretive The reords following this diretive on the edit tape are inserted in the soure program after the key reord. Termination is by deteting a new diretive. The R Diretive The reord following the diretive replaes the key reord. Reords following replae those following the key reord on a one-to-one basis. Termination is by deteting a new diretive.

44 The D Diretive The reord following the diretive is read and interpreted in the same manner as the diretive. Reords between these two key reords and inluding these t\ojo key reords are deleted. The seond reord must have a spae in olumn 1, and must be followed by another diretive. At least two reords are deleted by this diretive The M Diretive The M diretive has a slightly different format. Its effet is to opy the old medium I onto the new med um 0 searhing for a reord idential (exept for spaes) to that in olumns 2-72 of the diretive. Column 1 of the soure medium is inluded in the searh. The key reord thus found is the first one examined by any of the other diretives. NOTE: It is expeted that the M diretive will generally be used to position the input medium I at the start of a given program or subroutine. A speial M diretive whih is blank exept for an tv! in olumn 1 is used as the last reord on the edit tape. Upon identifying this diretive, EDIT opies the input medium onto the output until two onseutive reords ontaining period odes, ".. /1, in olumns 1 and 2 are found, ausing normal exiting from the routine. All orretions must be arranred in the order in whih the statement b numbers they refer to appear on the soure tape on medium I. Editing goes forward through the soure tape, never bakward.

45 Error Exits from EDIT: Any messages typed on the typewriter indiate that errors have been deteted. 1. no diretive - No diretive letter was found in olumn 1 when one was needed. 2 j.. deteted - The end of the soure tape was reahed before a blank M diretive was given. 3. format ol A harater other than a numeral appears in olumns 7-9 of the present diretive. 4. d format error - The seond reord in a 0 diretive has something other than a spae in olumn 1. Jump Swith Option for EDIT: Setting J-I will ause replaement of olumns of all reords from the old soure medium I with blanks (spaes) when they are transferred to medium O. Other Uses of EDIT: EDIT may be used for purposes other than orreting a soure program. For instane, it may be used to position a soure medium at a given reord preparatory to some other operation. In suh a ase the ontrol program would be: edit,soure medium,x,orretion medium m (a reord sought for) i x(o1. 7) - a deliberate error to ause exiting from EDIT bksp, soure medium - to position the key reord so it is ready to be read again (possible only for magneti tape). (

46 FORTRAN RESIDENT o A low-pithed tone is heard \"hen the omputer is waiting to aept instrutions from the typewriter. All typewriter and paper tape inputs must be in lower ase. A high-pithed tone is heard when the omputer is waiting to punh or to read paper tape. When a seventh-level is read from the paper tape, the reader stops and the high-pithed tone is heard. Depressing the reader harater-mode swith restarts the reader. Two alternating tones are heard when the omputer is waiting to print on the line printer. Chek the printer- ready button or the CSX-1604 swith. On paper tape input and output, a flex ode ~2, underline) ats as a tab to olumn 73. (question mark or 'The FORTRAN resident handles the tape operations, typewriter, and printer ontrol, punh and reader ontrol -- all input and output operations required to reate a omplete and orret soure tape for a lesson. Autoloading with jump-swith 1 set automatially alls FORTBIN. Autoloading with jump-swith 2 set automatially alls CATOCOM, so that it does not have to be alled by the CATO driver. Stepping, learing the onsole and setting the program address to 108 returns the ontrol to the onsole typewriter. Setting the program address to 2~8 has the same effet as autoloading. Standard Argument List (for use in FORTRAN resident subroutines) t 9 - typewriter f - paper tape the eight magneti tape units p - printer q - printer, no line format ontrol m - memory (a subroutine with m as an argument must be preeded by the subroutine SET.) x - dummy argument

47 FORTRAN Resident Servie Routines (available without alling) I. CATO,I,L,O,P,S,M,E. This routine is the driver for ompiling a PLATO soure program. For users' instrutions, see Part III-C, Compiling. 2. CATORUN,I,L,X. This routine reads a PLATO binary program tape into memory ready to run. For users' instrutions, see Part II-B, Read-Ins. 3. BKSP,N. Bakspaes the tape unit speified by argument N. 4. CALL, I,NAME,NAME,.... Reads up to 10 binary programs into memory from medium 1. If argument I is f, the reader must be in the assembly mode. The programs named are read into unique storage but are not exeuted. TIley must be alled in the usual fashion. 5. CLEAR. Clears all of the memory above the resident. 6. CONTROL,I,O,E. Transfers ontrol from the typewriter to medium I. Control statements are listed on medium O. Errors are listed on medium E. 7. COPY,I,O. Copies from one medium to another until a BCD end-of-file (.. ) is read and opied. When argument I is f, the paper tape must be in flex ode (BCD). At the end of opying, the typewriter types the number of entries. Eah entry is a120-harater blok. 8. COPYR,I,O. Copies one reord from medium I to medium O. 9. COPYS,I,O,C. Copies medium I to medium 0 omparing olumns 1-5 of I with olumns 1-5 of the diretive from medium C. Spaes are ignored When an idential reord is found, the number in olumns 7-9 of the diretive of medium C is interpreted and that many more reords are read from I. All reords but the last one are opied onto O. If argument I is magneti tape, a bakspae over the last reord read ours. Example Example Type: Type opys,3,4,t opys,t,3,t. Copies tape 3 to tape 4 until statement 208 is read from tape 3. Five more reords are read from tape 3; the first four are opied to tape 4 and tape 3 is bakspaed over the last reord read. Tapes 3 and 4 are now positioned at the beginning of the fifth reord past statement 208. Copies the typewriter input to tape 3 until ".. " is read from the typewriter. A spae followed by a arriage return will erase the urrent reord typed if an error is made.

48 10. CP,I,O. Copies from one medium to another with the added verifying fea ture. Exeutes an automati (REWIND,I, REWIND,O.) COPY, I,0. (REWIND,I, REWIND,O.) VERIFY,I,O. 11. DUMPS,Al,A2. Dumps the memory onto the line printer in otal. Al is the beginning address i n otal and A2 is the final address in otal. This routine is partiularly useful for dumping the memory when the program oupies the entire memory. W'ith this routine, there is no need to re-load the program. For users' information, see Part III-D, The Dumps Routine. 12. EDIT,I,O,C. TI1is routine orrets a BCD soure tape. It is ontrolled by speial diretives from medium C whih properly sequene insertions, deletions and substitutions as the ontents of the lffiedi ted soure tape are transferred to a new medium 0. For users' information, see Part II I-C, Editing. 13. EFMARK,N. This routine puts a physial end-of-file mark on the tape speified by the argument number. (a physial end-of-file is a flip flop set inside the tape unit.) 14. INPUT, Il,I2. Swithes input from the medium speified in the program to another medium. Use the standard argument list to speify 11. Permissible designators fot 12 are: 01 - typewriter 02 reader, punh 04 - line-printer (no line format ontrol) 05 line-printer 06 - memory 00 empty media (disard) 21 - magneti tape unit 1 22 " " "2 23 " "" Example Type: input, f, 01. Swithes the input from the reader to the typewriter. 15. LOCK,N. Rewinds and unloads the tape speified by N. LOCK,X1234. Rewinds and unloads all four tape units. 16. OUTPUT,01,02. This routine swithes the output from the medium speified in the program to another output medium. Use the standard argument list to speify 01. Permissible designators for 02 are the same as those listed under INPUT,Il,I2. Example Type: output,p,24. Swithes the output from the printer to tape unit 4. " " " " " " " " " " " "

49 PTMAR,NAME. This routine punhes up to eight alphanumeri haraters on paper tape for visual identifiation. The first harater must be a letter. Example Type: ptmar.arhml PThfAR. 18. RESET. Punhes 2" of blank tape. This routine resets the input and output media, hanged by INPUT,Il.I2 and OUTPUT,01,02, bak to the original media speified within the program. 19. REWIND,N. Rewinds the tape speified by argument N. REWIND,F. Punhes 6" of blank tape. REWIND,M. Resets the memory pointer to the end of CATORES. REWIND,P. Ejets a printer page. REWIND,XNFMP. Performs all the above. 20. RUN. RN. 21. SAVE. 22. SET,M. These routines exeute binary FORTRAN programs. This routine auses the present memory bank to be saved if further programs are alled. This routine allows the use of memory as a tape mit. M must be a memory address given in otal. The memory length is set to o. This routine must preede any resident routine with m as an argument. 23. SKIP,I,NAME. Skips tape I until a reord beginning with " NAME" is read. SKIP,X. Skips past the first reord beginning with ". ". 24. TRANSFER,I,O,N~ffi. This routine opies binary programs from,~a L to, t~ up to but not inluding the named program. By using argument x, the tape may be positioned without opying. ", Example Type: trans fer, 1, x, endfi Ie. Moves tape I to the end-offile ready to add programs. Example Type: transfer,l,x,name. Moves tape l ' to the beginni~g of the named program. ExamEle Type: transfer,4, f. Copies binary tape 4 to the punh. 25. VERIFY.I,O. Compares tape I with tape 0. Tapes must be in BCD format. Verifiation ontinues until ". II is read. The typewriter prints the number of entries (120-harater bloks) that have been verified. Error printout will give the blok number after whih the error ourred and a listing of the two bloks involved. Verifiation will ontinue after error printout. 26. VFYLIB,I,O. Compares binary tape I with binary tape 0, ounting the pairs of bloks ompared. Error printout is the number of the pair of bloks ontaining the error.

50 D. CODECI-lECKING INFORi\1ATION Running a Program After the program is ompiled, it is neessary to run the lesson to test whether the FORTRAN programs perform the intended funtions with the PLATO equipment and to be sure that all the alternative moves assoiated with the teahing rules have been inluded and provided for throughout the program. To aomplish this, the programmer and/or teaher of the lesson need to put themselves in the position of a student operating the keyset and viewing the lesson material. Follow the diretions given in Part II-B on reading in a program as a student run. Be sure to test all the segments of the logi thoroughly. Master Keyset Operation at the Console There is a PLATO master keyset and television sreen in the omputer room \'lhih will allow the programmer to run his program while at the omputer onsole. It is onvenient for pushing keys and heking program operation simultaneously in the debugging proess of developing a lesson. 111e master keyset is equipped with a set of buttons for seleting any student stations for operation or viewing by the programmer, author, or teaher of a lesson. Manual seletion of a student number (in binary) may be made at any time by pushing the buttons for that number. 111e master keyset seletor ontrols are diagramed below: 4 student number seletor buttons and lights (binary) master kset to st 30 \ lok master vid 1 to m kset I door light 0 D 0 0 lr~ power light 0 P OWE R 0 o off warning video seletion door button onnets PLATO equipment to the omputer.

51 Diagnosti J-2 Doping o Running a program with J -2 set, resul ts in a printout of the keys pushed and the alulations performed during a trial diagnosti run. The printout also gives the sequene of mode hanges whih our with eah key input. Putting J-2 up during exeution auses an on-line printout to our in the following form: STUDENT KEY MODE CALC (in otal) The printout of DOPE will our on the onsole typewriter if 'CATORES was entered with a zero in the aumulator. Otherwise, if the aumulator was non-zero, the printout will our on the line printer.

52 50 Examining the Contents of Speified Memory Loations It is possible to print the ontents of speified memory loations in a program vlhenever desired and to ontinue on with the program \~here it was interrupted; i.e., with undisturbed "ommon", "student bank", and related banks suh as "modebank", "justdone", et. To aomplish this: 1. Step. Master lear up and down. 2. Set the "program address" to 10 for typewriter ontrol. Start. 3. Print the ontents of the desired loations by using the "dumps routine, as desribed be 1m., 4. Clear. Set the "program address" to 4201 (the entry to RESTART). 5. Start. When the hannel 5 light omes on, ontinue with the run. NOTE: If the program has been stopped due to programming errors, it may or may not be possible to ontinue by RESTART depending on the nature of the errors. The DUIvIPS Routine DUMPS,AI,A2. Dumps the memory onto the line-printer in otal. Al is the beginning address in otal and A2 is the final address in otal. This routine is partiularly useful for dumping the memory when the program oupies the entire memory. There is no need to reload the program. The format of the printout is similar to that of the ILLRES routine, SNAPSHOT, exept: a) It will print out a line of stars if the ontents of one or more full lines are the same as the last word printed and the first \~ord of the next line printed. b) It will print out a line of dots after printing the last line. For information about CATORES tables and onstants (ontents, beginning addresses, et.), see Appendix D. --

53 s J Making an Autoloadable Binary Tape A. Starting with a soure program tape: 1. Put the PLATO Master tape (#100) on tape unit 1, the soure program on unit 3, and a srath tape on unit Put the tape for the autoloadable binary on unit 4. (ring in) 3. Type: ato,3,1,0. (The program will be ompiled and read into memory.) 4. When the onsole lights, push the door button and Start. 5. Step. Clear up and down. 6. Set the "program address" to (entry to PROGSAVE). Set the "aumulator" to Start. The autoloadable binary will be written on tape unit 4. B. Starting \'Jith a binary program tape: 1. Put the PLATO Master tape on tape unit 1, the binary program tape on unit Put the tape for the autoloadable binary on unit 4. (ring in) 3. Type: atorun,2,i,x. (The program will be read into memory.) 4. Follow steps 4 through 7 above.

54 Drivers (CATORES) 1. CATORES Resets all neessary tables, lears student bank and ommon, and begins the exeution of the program urrently in memory. Aumulator options for CATORES: ACC = 0 ACC = (non-o) J-2 printout ours on the onsole typewriter. J-2 printout ours on the line-printer. 2. ENDOPE The program to end a dope tape on tape unit 2. This auses all the neessary speial reords (end-of-session, end-ofdope-tape, and end-of-file) to be written. This program stops ready to jump immediately to the RESTART program. For more information, see Part II-B, Emergeny Proedures. 3. RESTART The program for the ontinuation of a run whih has been interrupted. The dope tape must be on tape unit 2 and must have an end-of-dope-tape mark after the session to be restarted. The "student tables" (student bank, mode bank, justdone,...) and "ommon ll are not reset. The lok is reset. Upon entry to RESTART, the jump swith settings are heked. For more information about the use of RESTART, see Part II-B, Read-Ins. 4. SPECTRE The simulation program exeuting transribed reruns of PLATO sessions. This program uses DOPE on tape unit 2 to simulate doped inputs. Tape 2 is never rewound. This program does not simulate simultaneous keyset inputs, but is designed to simulate many students at one with only very slight hanges in the original outputs to the PLATO equipment. For more information about the use of this program, see Part II-B, Reviewing a Student Run Using SPECTRE. 5. PROGSAVE The program to write memory onto tape unit 4 i~ the form of an autoloadable binary version of the lesson. If J-2 is set> tape 4 is not rewound. The FORTRAN resident, as well' as the lesson program, is saved. Aumulator options for PROGSAVE: ACC = 0 When autoloaded, the program stops ready to start at CATORES. ACC = 1... starts at RESTART (does not reset student tables). ACC = 2... starts at SPECTRE. For more information about the use of PROGSAVE, see Part II-B, Read Ins. L

55 A. JUMP SWITCH SETIINGS No Jump Swithes If no jump swithes are set, normal operation of the run will proeed without doping. The typewriter types: DOPING SUPPRESSED. The run then proeeds automatially. Setting J-2 If J-2 is set until the hannel 5 ative light omes on, the program will rewind tape 2 before starting to write DOPE, if doping option J-l or J-3 has been hosen. If J-2 is not set before the hannel 5 ative light omes on, and either J-I or J-3 is set, the program will skip to the end of the DOPE tape on unit 2, whih is assumed to be a orretly terminated old DOPE tape ontaining DOPE from previous runs. This option allows the olletion of DOPE from several runs on a single tape. The tape may run away if it was not previously terminated orretly. The J-l Option If J-I is set during entry and kept set during exeution, the DOPE is written on tape unit 2, whih must be ready to be written upon when the r~ gram be gins. The typewriter types: TYPE MONTH/DAY/YEAR/ID. The operator must then type the tag by whih the run is to be identified. The slashes are required after eah segment of the date. Only one identifying harater may be typed after the third slash. The message may be terminated at any point by a period and, in ase of a typing error, may be restarted after a arriage return. Examples: 2/22/44. a. 1l/28/64/a. te/st/. ju/ne/8. 1/1/65/7. ///q. The J-l option gives a reord of input time of the keys, a reord of the mode at the time eah key is proessed. J-l gives ~ reord of fititious keys suh as fore keys. Unsetting J-l during exeution auses the DOPE tape to be terminated by an end-of-session mark, an end-of-dope-tape mark and a physial end-of-file. The omputer stops ready to exeute the RESTART program. The same results an be ahieved in the ase of aidental stopping of the program by startinry at 4200b (the entry to ENDOPE). For more information on the use of J-I, see Part II-B, Read-Ins.

56 ~ I The J-3 Option If J-3 is set during entry and kept set during exeution J the DOPE is written on tape unit 2J whih must be ready to be written upon when the program be gins. The DOPE written with J-3 set has a slightly different form from that written with J-1 set in that the key numbers for fititious keys have been inreased by 400b. This does not affet the validity of the data beause the largest possible key number is l77b. The J-3 option gives a reord of the mode at the time eah key is proessed, a reord of input time of the keys. J- 3 also reords all fititious keys as real inputs inreased by 400b. Unsetting J-3 during exeution auses the DOPE tape to be ended just as when J-1 is unset during exeution. l

57 5"5 B. DOPE IDENTIFICATION A.t~D FORMAT ON MAGNETIC TAPE The DOPE for all students simultaneously is written on tape unit 2 in l20-harater BCD reords. In eah l20-harater reord, there are seven l6-harater bloks and a final 8-harater blok. Eah l6-harater blok is written as follows: 2 hars. = otal student number 3 hars. = otal key number (J-l set = true number) (J-3 set = number + 400b) 3 hars. = otal mode number (J-l set = mode at the time of input) (J-3 set = mode at the time of exeution) 8 hars. = otal time in 15 ths of a seond (The time reorded is input time.) The final 8-harater blok is in FORTRAN (AS) format, apportioned as follows: 7 hars. = the identifiation tag, up to seven haraters in length, that was typed by the operator 11/28/64/a. results in l12864a a. results in ~a(followed by 5 BCD blanks) 1/1/64/7. te/st/s. results in ~1~1647 results in test~s Cfollmved by 1 BCD blank) //a.results in ~1i'~Ii'~a(fol1owed by 1 BCD blank) ///z. g//un. results in ~~~~~~z results in ~g~~un(followed by 1 BCD blank) results in ~~(followed by 5 BCD blanks) 1 har. = an indiator harater whih is: 1. a BCD spae (20b) for an ordinary dope reord 2. a BCD slash (2lb) for an end-of-session mark 3. a BCD T (23b) for an end-of-dope-tape mark (This is always preeded by an end-of-session mark and followed by an end-of-file.) The lok is never 0 exept in a 16-harater blok whih ontains no information, so DOPE proessing routines should ignore reords with time~. If a restart (use of the RESTART program) ours, the lok is reset to 1. Thus, a negative time hange indiates that a restart ourred. A message must be typed. If the physial end of the DOPE tape is reahed, the tape is rewound with interlok, instrutions are typed out, and the omputer stops ready to go on. In this ase, the tape is ended only with a physial end-of-file to allow the opying of this tape to a longer tape. Bakspae over the physial end-of-file on the tape, and opy the remaining DOPE (assumed to have been reorded on a blank tape after the end-of-tape stop and subsequent ontinuation of the program) on to the end of the longer tape.

58 C. DOPE SORTING AND ANALYSIS o 1. DPLISTl - TIlis routine prints out key inputs by name vertially on the printout page. It will print the entire tape of the number of individual sessions desired. For users' instrutions, see Part II-B, Doping. 2. COPY,I,O - 11lis routine will dump BCD reords of DOPE onto the medium speified. For information on the use of this routine, see Part III-C, FORTRAN Resident servie routines.

59 r', 100 Charaters to be plotted by a PLATO program are originally drawn as a series of dots (points) within a 64 x 64 point plotting square. The points whih form the harater are then translated into oor.. dinate pairs whih make up the bulk of a Charater statement in a PLATO soure program. The "A" above, in Charater statement format is as follows: harater a((30,57)(30,56) (30,55) (30,54) (30,53)(30,52}(30,51) 1(30,50)(30,47)(30,46)(31,45)(32,44)(33,44)(34,44)(35,44)(35,45) 2(37,46)(37,47)(37,50)(37,51)(37,52)(37,53)(37,54)(37,55)(37,56) 3(37,57)(31,51)(32,51)(33,51)(34,51)(35,51)(36,51)) l The number of points whih onstitute a harater is lindted to 9 ontinuation statements, about 88 points with a one to six letter harater name. Eah named harater must fit within the plotting square. If larger symbols are desired, they must be plotted as several haraters or as a single point with a hanging base address.

On - Line Path Delay Fault Testing of Omega MINs M. Bellos 1, E. Kalligeros 1, D. Nikolos 1,2 & H. T. Vergos 1,2

On - Line Path Delay Fault Testing of Omega MINs M. Bellos 1, E. Kalligeros 1, D. Nikolos 1,2 & H. T. Vergos 1,2 On - Line Path Delay Fault Testing of Omega MINs M. Bellos, E. Kalligeros, D. Nikolos,2 & H. T. Vergos,2 Dept. of Computer Engineering and Informatis 2 Computer Tehnology Institute University of Patras,

More information

DECT Module Installation Manual

DECT Module Installation Manual DECT Module Installation Manual Rev. 2.0 This manual desribes the DECT module registration method to the HUB and fan airflow settings. In order for the HUB to ommuniate with a ompatible fan, the DECT module

More information

Reading Object Code. A Visible/Z Lesson

Reading Object Code. A Visible/Z Lesson Reading Objet Code A Visible/Z Lesson The Idea: When programming in a high-level language, we rarely have to think about the speifi ode that is generated for eah instrution by a ompiler. But as an assembly

More information

Reading Object Code. A Visible/Z Lesson

Reading Object Code. A Visible/Z Lesson Reading Objet Code A Visible/Z Lesson The Idea: When programming in a high-level language, we rarely have to think about the speifi ode that is generated for eah instrution by a ompiler. But as an assembly

More information

Chapter 2: Introduction to Maple V

Chapter 2: Introduction to Maple V Chapter 2: Introdution to Maple V 2-1 Working with Maple Worksheets Try It! (p. 15) Start a Maple session with an empty worksheet. The name of the worksheet should be Untitled (1). Use one of the standard

More information

ZDT -A Debugging Program for the Z80

ZDT -A Debugging Program for the Z80 ZDT -A Debugging Program for the Z80 il I,, 1651 Third Ave.. New York, N.Y. 10028 (212) 860-o300 lnt'l Telex 220501 ZOT - A DEBUGGING PROGRAM FOR THE ZAO Distributed by: Lifeboat Assoiates 1651 Third Avenue

More information

Series/1 GA File No i=:: IBM Series/ Battery Backup Unit Description :::5 ~ ~ >-- ffi B~88 ~0 (] II IIIIII

Series/1 GA File No i=:: IBM Series/ Battery Backup Unit Description :::5 ~ ~ >-- ffi B~88 ~0 (] II IIIIII Series/1 I. (.. GA34-0032-0 File No. 51-10 a i=:: 5 Q 1 IBM Series/1 4999 Battery Bakup Unit Desription B88 0 (] o. :::5 >-- ffi "- I II1111111111IIIIII1111111 ---- - - - - ----- --_.- Series/1 «h: ",

More information

UCSB Math TI-85 Tutorials: Basics

UCSB Math TI-85 Tutorials: Basics 3 UCSB Math TI-85 Tutorials: Basis If your alulator sreen doesn t show anything, try adjusting the ontrast aording to the instrutions on page 3, or page I-3, of the alulator manual You should read the

More information

CleanUp: Improving Quadrilateral Finite Element Meshes

CleanUp: Improving Quadrilateral Finite Element Meshes CleanUp: Improving Quadrilateral Finite Element Meshes Paul Kinney MD-10 ECC P.O. Box 203 Ford Motor Company Dearborn, MI. 8121 (313) 28-1228 pkinney@ford.om Abstrat: Unless an all quadrilateral (quad)

More information

13.1 Numerical Evaluation of Integrals Over One Dimension

13.1 Numerical Evaluation of Integrals Over One Dimension 13.1 Numerial Evaluation of Integrals Over One Dimension A. Purpose This olletion of subprograms estimates the value of the integral b a f(x) dx where the integrand f(x) and the limits a and b are supplied

More information

Multiple Assignments

Multiple Assignments Two Outputs Conneted Together Multiple Assignments Two Outputs Conneted Together if (En1) Q

More information

A DYNAMIC ACCESS CONTROL WITH BINARY KEY-PAIR

A DYNAMIC ACCESS CONTROL WITH BINARY KEY-PAIR Malaysian Journal of Computer Siene, Vol 10 No 1, June 1997, pp 36-41 A DYNAMIC ACCESS CONTROL WITH BINARY KEY-PAIR Md Rafiqul Islam, Harihodin Selamat and Mohd Noor Md Sap Faulty of Computer Siene and

More information

Outline: Software Design

Outline: Software Design Outline: Software Design. Goals History of software design ideas Design priniples Design methods Life belt or leg iron? (Budgen) Copyright Nany Leveson, Sept. 1999 A Little History... At first, struggling

More information

'* ~rr' _ ~~ f' lee : eel. Series/1 []J 0 [[] "'l... !l]j1. IBM Series/1 FORTRAN IV. I ntrod uction ...

'* ~rr' _ ~~ f' lee : eel. Series/1 []J 0 [[] 'l... !l]j1. IBM Series/1 FORTRAN IV. I ntrod uction ... ---- --- - ----- - - - --_.- --- Series/1 GC34-0132-0 51-25 PROGRAM PRODUCT 1 IBM Series/1 FORTRAN IV I ntrod ution Program Numbers 5719-F01 5719-F03 0 lee : eel II 11111111111111111111111111111111111111111111111

More information

Pipelined Multipliers for Reconfigurable Hardware

Pipelined Multipliers for Reconfigurable Hardware Pipelined Multipliers for Reonfigurable Hardware Mithell J. Myjak and José G. Delgado-Frias Shool of Eletrial Engineering and Computer Siene, Washington State University Pullman, WA 99164-2752 USA {mmyjak,

More information

PASCAL 64. "The" Pascal Compiler for the Commodore 64. A Data Becker Product. >AbacusiII Software P.O. BOX 7211 GRAND RAPIDS, MICK 49510

PASCAL 64. The Pascal Compiler for the Commodore 64. A Data Becker Product. >AbacusiII Software P.O. BOX 7211 GRAND RAPIDS, MICK 49510 PASCAL 64 "The" Pasal Compiler for the Commodore 64 A Data Beker Produt >AbausiII Software P.O. BOX 7211 GRAND RAPIDS, MICK 49510 7010 COPYRIGHT NOTICE ABACUS Software makes this pakage available for use

More information

Analysis of input and output configurations for use in four-valued CCD programmable logic arrays

Analysis of input and output configurations for use in four-valued CCD programmable logic arrays nalysis of input and output onfigurations for use in four-valued D programmable logi arrays J.T. utler H.G. Kerkhoff ndexing terms: Logi, iruit theory and design, harge-oupled devies bstrat: s in binary,

More information

CA Release Automation 5.x Implementation Proven Professional Exam (CAT-600) Study Guide Version 1.1

CA Release Automation 5.x Implementation Proven Professional Exam (CAT-600) Study Guide Version 1.1 Exam (CAT-600) Study Guide Version 1.1 PROPRIETARY AND CONFIDENTIAL INFORMATION 2016 CA. All rights reserved. CA onfidential & proprietary information. For CA, CA Partner and CA Customer use only. No unauthorized

More information

OvidSP Quick Reference Card

OvidSP Quick Reference Card OvidSP Quik Referene Card Searh in any of several dynami modes, ombine results, apply limits, use improved researh tools, develop strategies, save searhes, set automati alerts and RSS feeds, share results...

More information

Xpander Rack Mount 2 Gen 3 HPC Version User Guide

Xpander Rack Mount 2 Gen 3 HPC Version User Guide Xpander Rak Mount 2 Gen 3 HPC Version User Guide Xpander Rak Mount 2 is a 2U rak mount PCI Express (PCIe) expansion enlosure that enables onnetion of two passively-ooled aelerators to a host omputer. The

More information

Compilation Lecture 11a. Register Allocation Noam Rinetzky. Text book: Modern compiler implementation in C Andrew A.

Compilation Lecture 11a. Register Allocation Noam Rinetzky. Text book: Modern compiler implementation in C Andrew A. Compilation 0368-3133 Leture 11a Text book: Modern ompiler implementation in C Andrew A. Appel Register Alloation Noam Rinetzky 1 Registers Dediated memory loations that an be aessed quikly, an have omputations

More information

An Event Display for ATLAS H8 Pixel Test Beam Data

An Event Display for ATLAS H8 Pixel Test Beam Data An Event Display for ATLAS H8 Pixel Test Beam Data George Gollin Centre de Physique des Partiules de Marseille and University of Illinois April 17, 1999 g-gollin@uiu.edu An event display program is now

More information

Drawing lines. Naïve line drawing algorithm. drawpixel(x, round(y)); double dy = y1 - y0; double dx = x1 - x0; double m = dy / dx; double y = y0;

Drawing lines. Naïve line drawing algorithm. drawpixel(x, round(y)); double dy = y1 - y0; double dx = x1 - x0; double m = dy / dx; double y = y0; Naïve line drawing algorithm // Connet to grid points(x0,y0) and // (x1,y1) by a line. void drawline(int x0, int y0, int x1, int y1) { int x; double dy = y1 - y0; double dx = x1 - x0; double m = dy / dx;

More information

Installation & Operation Manual 6060 MODBUS PROTOCOL. This manual is a supplement to the 6060 Full Installation & Operation Manual PK514

Installation & Operation Manual 6060 MODBUS PROTOCOL. This manual is a supplement to the 6060 Full Installation & Operation Manual PK514 Installation & Operation Manual 6060 MODBUS PROTOCOL This manual is a supplement to the 6060 Full Installation & Operation Manual PK514 PK539 0037-75565 July 2016 1 Explanation of Symbols: General Information

More information

Algorithms, Mechanisms and Procedures for the Computer-aided Project Generation System

Algorithms, Mechanisms and Procedures for the Computer-aided Project Generation System Algorithms, Mehanisms and Proedures for the Computer-aided Projet Generation System Anton O. Butko 1*, Aleksandr P. Briukhovetskii 2, Dmitry E. Grigoriev 2# and Konstantin S. Kalashnikov 3 1 Department

More information

Xpander Rack Mount 8 5U Gen 3 with Redundant Power [Part # XPRMG3-81A5URP] User Guide

Xpander Rack Mount 8 5U Gen 3 with Redundant Power [Part # XPRMG3-81A5URP] User Guide Xpander Rak Mount 8 5U Gen 3 with Redundant Power [Part # XPRMG3-81A5URP] User Guide Xpander Rak Mount 8 5U Gen 3 with Redundant Power (RP) supplies is a rak mount PCI Express (PCIe) expansion enlosure

More information

Xpander Rack Mount 8 5U Gen 3 User Guide

Xpander Rack Mount 8 5U Gen 3 User Guide Xpander Rak Mount 8 5U Gen 3 User Guide Xpander Rak Mount 8 5U is a rak mount PCI Express (PCIe) expansion enlosure that enables onnetion of 8 double-wide graphis or other ontrollers with top-onneted auxiliary

More information

CA Test Data Manager 4.x Implementation Proven Professional Exam (CAT-681) Study Guide Version 1.0

CA Test Data Manager 4.x Implementation Proven Professional Exam (CAT-681) Study Guide Version 1.0 Implementation Proven Professional Study Guide Version 1.0 PROPRIETARY AND CONFIDENTIAL INFORMATION 2017 CA. All rights reserved. CA onfidential & proprietary information. For CA, CA Partner and CA Customer

More information

represent = as a finite deimal" either in base 0 or in base. We an imagine that the omputer first omputes the mathematial = then rounds the result to

represent = as a finite deimal either in base 0 or in base. We an imagine that the omputer first omputes the mathematial = then rounds the result to Sientifi Computing Chapter I Computer Arithmeti Jonathan Goodman Courant Institute of Mathemaial Sienes Last revised January, 00 Introdution One of the many soures of error in sientifi omputing is inexat

More information

Interconnection Styles

Interconnection Styles Interonnetion tyles oftware Design Following the Export (erver) tyle 2 M1 M4 M5 4 M3 M6 1 3 oftware Design Following the Export (Client) tyle e 2 e M1 M4 M5 4 M3 M6 1 e 3 oftware Design Following the Export

More information

What follows is a description of a basic time sharing systems, as. seen by a knowledgeable user. There are three basic kinds of objects,

What follows is a description of a basic time sharing systems, as. seen by a knowledgeable user. There are three basic kinds of objects, 11/15/67 H. Sturgis 1.0 What follows is a desription of a basi time sharing systems, as seen by a knowledgeable user. There are three basi kinds of objets, and some ations that an be performed on them.

More information

COMP 181. Prelude. Intermediate representations. Today. Types of IRs. High-level IR. Intermediate representations and code generation

COMP 181. Prelude. Intermediate representations. Today. Types of IRs. High-level IR. Intermediate representations and code generation Prelude COMP 181 Intermediate representations and ode generation November, 009 What is this devie? Large Hadron Collider What is a hadron? Subatomi partile made up of quarks bound by the strong fore What

More information

1. Introduction. 2. The Probable Stope Algorithm

1. Introduction. 2. The Probable Stope Algorithm 1. Introdution Optimization in underground mine design has reeived less attention than that in open pit mines. This is mostly due to the diversity o underground mining methods and omplexity o underground

More information

Gray Codes for Reflectable Languages

Gray Codes for Reflectable Languages Gray Codes for Refletable Languages Yue Li Joe Sawada Marh 8, 2008 Abstrat We lassify a type of language alled a refletable language. We then develop a generi algorithm that an be used to list all strings

More information

Finding the Equation of a Straight Line

Finding the Equation of a Straight Line Finding the Equation of a Straight Line You should have, before now, ome aross the equation of a straight line, perhaps at shool. Engineers use this equation to help determine how one quantity is related

More information

Constructing Transaction Serialization Order for Incremental. Data Warehouse Refresh. Ming-Ling Lo and Hui-I Hsiao. IBM T. J. Watson Research Center

Constructing Transaction Serialization Order for Incremental. Data Warehouse Refresh. Ming-Ling Lo and Hui-I Hsiao. IBM T. J. Watson Research Center Construting Transation Serialization Order for Inremental Data Warehouse Refresh Ming-Ling Lo and Hui-I Hsiao IBM T. J. Watson Researh Center July 11, 1997 Abstrat In typial pratie of data warehouse, the

More information

FORTRAN Programming in Nuclear Medicine

FORTRAN Programming in Nuclear Medicine FORTRAN Programming in Nulear Mediine Till Noever Emory University Hospital, Atlanta, Georgia This is the seond in a series of four ontinuing Eduation artiles on omputers in nulear mediine. After studying

More information

ENGINEERING update FOR 2.0 PRINTGEN. A C Page 1 of 120 PRINTGEN. Engineering Update (DAA -170)

ENGINEERING update FOR 2.0 PRINTGEN. A C Page 1 of 120 PRINTGEN. Engineering Update (DAA -170) o ENGINEERING update FOR 2.0 A-09-01159-01-C Page 1 of 120 Speifiations Subjet to Change. Convergent Tehnologies and NGEN are registered trademarks of Convergent Tehnologies, In. Convergent, CT-DBMS, CT-MAIL,

More information

Xpander Rack Mount 8 6U Gen 3 with Redundant Power [Part # XPRMG3-826URP] User Guide

Xpander Rack Mount 8 6U Gen 3 with Redundant Power [Part # XPRMG3-826URP] User Guide Xpander Rak Mount 8 6U Gen 3 with Redundant Power [Part # XPRMG3-826URP] User Guide Xpander Rak Mount 8 6U Gen 3 with Redundant Power (RP) supplies is a rak mount PCI Express (PCIe) expansion enlosure

More information

1 The Knuth-Morris-Pratt Algorithm

1 The Knuth-Morris-Pratt Algorithm 5-45/65: Design & Analysis of Algorithms September 26, 26 Leture #9: String Mathing last hanged: September 26, 27 There s an entire field dediated to solving problems on strings. The book Algorithms on

More information

Power Factor Controller. Power Factor Controller USER MANUAL

Power Factor Controller. Power Factor Controller USER MANUAL Power Fator Controller Power Fator Controller USER MANUAL Power Fator Controller TABLE OF CONTENTS SECTION GENERAL INFORMATION...0. Symbols...0.2 General Warnings...0.3 Reeipt Control and Contents of the

More information

HEXA: Compact Data Structures for Faster Packet Processing

HEXA: Compact Data Structures for Faster Packet Processing Washington University in St. Louis Washington University Open Sholarship All Computer Siene and Engineering Researh Computer Siene and Engineering Report Number: 27-26 27 HEXA: Compat Data Strutures for

More information

A {k, n}-secret Sharing Scheme for Color Images

A {k, n}-secret Sharing Scheme for Color Images A {k, n}-seret Sharing Sheme for Color Images Rastislav Luka, Konstantinos N. Plataniotis, and Anastasios N. Venetsanopoulos The Edward S. Rogers Sr. Dept. of Eletrial and Computer Engineering, University

More information

Algorithms for External Memory Lecture 6 Graph Algorithms - Weighted List Ranking

Algorithms for External Memory Lecture 6 Graph Algorithms - Weighted List Ranking Algorithms for External Memory Leture 6 Graph Algorithms - Weighted List Ranking Leturer: Nodari Sithinava Sribe: Andi Hellmund, Simon Ohsenreither 1 Introdution & Motivation After talking about I/O-effiient

More information

SAND Unlimited Release Printed November 1995 Updated November 29, :26 PM EXODUS II: A Finite Element Data Model

SAND Unlimited Release Printed November 1995 Updated November 29, :26 PM EXODUS II: A Finite Element Data Model SAND92-2137 Unlimited Release Printed November 1995 Updated November 29, 2006 12:26 PM EXODUS II: A Finite Element Data Model Gregory D. Sjaardema (updated version) Larry A. Shoof, Vitor R. Yarberry Computational

More information

AN INTRODUCTION TO FORTRAN AND NUMERICAL MODELING

AN INTRODUCTION TO FORTRAN AND NUMERICAL MODELING AN INTRODUCTION TO FORTRAN AND NUMERICAL MODELING Dr. L. W. Shwartz Department of Mehanial Engineering University of Delaware September, 2000 INTRODUCTION The first part of this short doument ontains a

More information

Introductory Programming, IMM, DTU Systematic Software Test. Software test (afprøvning) Motivation. Structural test and functional test

Introductory Programming, IMM, DTU Systematic Software Test. Software test (afprøvning) Motivation. Structural test and functional test Introdutory Programming, IMM, DTU Systemati Software Test Peter Sestoft a Programs often ontain unintended errors how do you find them? Strutural test Funtional test Notes: Systemati Software Test, http://www.dina.kvl.dk/

More information

Orientation of the coordinate system

Orientation of the coordinate system Orientation of the oordinate system Right-handed oordinate system: -axis by a positive, around the -axis. The -axis is mapped to the i.e., antilokwise, rotation of The -axis is mapped to the -axis by a

More information

Test Case Generation from UML State Machines

Test Case Generation from UML State Machines Test Case Generation from UML State Mahines Dirk Seifert To ite this version: Dirk Seifert. Test Case Generation from UML State Mahines. [Researh Report] 2008. HAL Id: inria-00268864

More information

CA Agile Requirements Designer 2.x Implementation Proven Professional Exam (CAT-720) Study Guide Version 1.0

CA Agile Requirements Designer 2.x Implementation Proven Professional Exam (CAT-720) Study Guide Version 1.0 Exam (CAT-720) Study Guide Version 1.0 PROPRIETARY AND CONFIDENTIAL INFORMATION 2017 CA. All rights reserved. CA onfidential & proprietary information. For CA, CA Partner and CA Customer use only. No unauthorized

More information

System-Level Parallelism and Throughput Optimization in Designing Reconfigurable Computing Applications

System-Level Parallelism and Throughput Optimization in Designing Reconfigurable Computing Applications System-Level Parallelism and hroughput Optimization in Designing Reonfigurable Computing Appliations Esam El-Araby 1, Mohamed aher 1, Kris Gaj 2, arek El-Ghazawi 1, David Caliga 3, and Nikitas Alexandridis

More information

What are Cycle-Stealing Systems Good For? A Detailed Performance Model Case Study

What are Cycle-Stealing Systems Good For? A Detailed Performance Model Case Study What are Cyle-Stealing Systems Good For? A Detailed Performane Model Case Study Wayne Kelly and Jiro Sumitomo Queensland University of Tehnology, Australia {w.kelly, j.sumitomo}@qut.edu.au Abstrat The

More information

Detection and Recognition of Non-Occluded Objects using Signature Map

Detection and Recognition of Non-Occluded Objects using Signature Map 6th WSEAS International Conferene on CIRCUITS, SYSTEMS, ELECTRONICS,CONTROL & SIGNAL PROCESSING, Cairo, Egypt, De 9-31, 007 65 Detetion and Reognition of Non-Oluded Objets using Signature Map Sangbum Park,

More information

Symbol indicating an action that must not be done. Symbol indicating an action that should be done. Symbol indicating related or useful information

Symbol indicating an action that must not be done. Symbol indicating an action that should be done. Symbol indicating related or useful information Using the Produt Safely Safety Instrutions For your safety, read all the instrutions in this guide before using this produt. Inorret handling that ignores instrutions in this guide ould damage this produt

More information

Video Data and Sonar Data: Real World Data Fusion Example

Video Data and Sonar Data: Real World Data Fusion Example 14th International Conferene on Information Fusion Chiago, Illinois, USA, July 5-8, 2011 Video Data and Sonar Data: Real World Data Fusion Example David W. Krout Applied Physis Lab dkrout@apl.washington.edu

More information

Triangles. Learning Objectives. Pre-Activity

Triangles. Learning Objectives. Pre-Activity Setion 3.2 Pre-tivity Preparation Triangles Geena needs to make sure that the dek she is building is perfetly square to the brae holding the dek in plae. How an she use geometry to ensure that the boards

More information

Flow Demands Oriented Node Placement in Multi-Hop Wireless Networks

Flow Demands Oriented Node Placement in Multi-Hop Wireless Networks Flow Demands Oriented Node Plaement in Multi-Hop Wireless Networks Zimu Yuan Institute of Computing Tehnology, CAS, China {zimu.yuan}@gmail.om arxiv:153.8396v1 [s.ni] 29 Mar 215 Abstrat In multi-hop wireless

More information

Adobe Certified Associate

Adobe Certified Associate Adobe Certified Assoiate About the Adobe Certified Assoiate (ACA) Program The Adobe Certified Assoiate (ACA) program is for graphi designers, Web designers, video prodution designers, and digital professionals

More information

A Novel Validity Index for Determination of the Optimal Number of Clusters

A Novel Validity Index for Determination of the Optimal Number of Clusters IEICE TRANS. INF. & SYST., VOL.E84 D, NO.2 FEBRUARY 2001 281 LETTER A Novel Validity Index for Determination of the Optimal Number of Clusters Do-Jong KIM, Yong-Woon PARK, and Dong-Jo PARK, Nonmembers

More information

8 Instruction Selection

8 Instruction Selection 8 Instrution Seletion The IR ode instrutions were designed to do exatly one operation: load/store, add, subtrat, jump, et. The mahine instrutions of a real CPU often perform several of these primitive

More information

Automatic Physical Design Tuning: Workload as a Sequence Sanjay Agrawal Microsoft Research One Microsoft Way Redmond, WA, USA +1-(425)

Automatic Physical Design Tuning: Workload as a Sequence Sanjay Agrawal Microsoft Research One Microsoft Way Redmond, WA, USA +1-(425) Automati Physial Design Tuning: Workload as a Sequene Sanjay Agrawal Mirosoft Researh One Mirosoft Way Redmond, WA, USA +1-(425) 75-357 sagrawal@mirosoft.om Eri Chu * Computer Sienes Department University

More information

Partial Character Decoding for Improved Regular Expression Matching in FPGAs

Partial Character Decoding for Improved Regular Expression Matching in FPGAs Partial Charater Deoding for Improved Regular Expression Mathing in FPGAs Peter Sutton Shool of Information Tehnology and Eletrial Engineering The University of Queensland Brisbane, Queensland, 4072, Australia

More information

Exploring the Commonality in Feature Modeling Notations

Exploring the Commonality in Feature Modeling Notations Exploring the Commonality in Feature Modeling Notations Miloslav ŠÍPKA Slovak University of Tehnology Faulty of Informatis and Information Tehnologies Ilkovičova 3, 842 16 Bratislava, Slovakia miloslav.sipka@gmail.om

More information

TLP 350CV Setup Guide

TLP 350CV Setup Guide TLP 350V Setup Guide The Extron TouhLink 3.5 inh able ubby TLP 350V provide users with aess to AV onnetivity using onvenient pullout ables. It also provides simple and versatile onfiguration and ontrol

More information

Cracked Hole Finite Element Modeling

Cracked Hole Finite Element Modeling Craked Hole Finite Element Modeling (E-20-F72) Researh Report Submitted to: Lokheed Martin, Program Manager: Dr. Stephen P. Engelstad Prinipal Investigator: Dr. Rami M. Haj-Ali Shool of Civil and Environmental

More information

Multi-Channel Wireless Networks: Capacity and Protocols

Multi-Channel Wireless Networks: Capacity and Protocols Multi-Channel Wireless Networks: Capaity and Protools Tehnial Report April 2005 Pradeep Kyasanur Dept. of Computer Siene, and Coordinated Siene Laboratory, University of Illinois at Urbana-Champaign Email:

More information

Learning Convention Propagation in BeerAdvocate Reviews from a etwork Perspective. Abstract

Learning Convention Propagation in BeerAdvocate Reviews from a etwork Perspective. Abstract CS 9 Projet Final Report: Learning Convention Propagation in BeerAdvoate Reviews from a etwork Perspetive Abstrat We look at the way onventions propagate between reviews on the BeerAdvoate dataset, and

More information

MATH STUDENT BOOK. 12th Grade Unit 6

MATH STUDENT BOOK. 12th Grade Unit 6 MATH STUDENT BOOK 12th Grade Unit 6 Unit 6 TRIGONOMETRIC APPLICATIONS MATH 1206 TRIGONOMETRIC APPLICATIONS INTRODUCTION 3 1. TRIGONOMETRY OF OBLIQUE TRIANGLES 5 LAW OF SINES 5 AMBIGUITY AND AREA OF A TRIANGLE

More information

Department of Electrical Engineering and Computer Science MASSACHUSETTS INSTITUTE OF TECHNOLOGY Fall Test I Solutions

Department of Electrical Engineering and Computer Science MASSACHUSETTS INSTITUTE OF TECHNOLOGY Fall Test I Solutions Department of Eletrial Engineering and Computer iene MAACHUETT INTITUTE OF TECHNOLOGY 6.035 Fall 2016 Test I olutions 1 I Regular Expressions and Finite-tate Automata For Questions 1, 2, and 3, let the

More information

1. The collection of the vowels in the word probability. 2. The collection of real numbers that satisfy the equation x 9 = 0.

1. The collection of the vowels in the word probability. 2. The collection of real numbers that satisfy the equation x 9 = 0. C HPTER 1 SETS I. DEFINITION OF SET We begin our study of probability with the disussion of the basi onept of set. We assume that there is a ommon understanding of what is meant by the notion of a olletion

More information

Wireless Rear Speaker Kit

Wireless Rear Speaker Kit Wireless Rear Speaker Kit Thank you for purhasing this produt (SWA-8000S). Model : SWA-8000S For more detailed information on how to onnet and use the Wireless Rear Speaker Kit (SWA-8000S), refer to the

More information

- 1 - S 21. Directory-based Administration of Virtual Private Networks: Policy & Configuration. Charles A Kunzinger.

- 1 - S 21. Directory-based Administration of Virtual Private Networks: Policy & Configuration. Charles A Kunzinger. - 1 - S 21 Diretory-based Administration of Virtual Private Networks: Poliy & Configuration Charles A Kunzinger kunzinge@us.ibm.om - 2 - Clik here Agenda to type page title What is a VPN? What is VPN Poliy?

More information

Performance of Histogram-Based Skin Colour Segmentation for Arms Detection in Human Motion Analysis Application

Performance of Histogram-Based Skin Colour Segmentation for Arms Detection in Human Motion Analysis Application World Aademy of Siene, Engineering and Tehnology 8 009 Performane of Histogram-Based Skin Colour Segmentation for Arms Detetion in Human Motion Analysis Appliation Rosalyn R. Porle, Ali Chekima, Farrah

More information

C 2 C 3 C 1 M S. f e. e f (3,0) (0,1) (2,0) (-1,1) (1,0) (-1,0) (1,-1) (0,-1) (-2,0) (-3,0) (0,-2)

C 2 C 3 C 1 M S. f e. e f (3,0) (0,1) (2,0) (-1,1) (1,0) (-1,0) (1,-1) (0,-1) (-2,0) (-3,0) (0,-2) SPECIAL ISSUE OF IEEE TRANSACTIONS ON ROBOTICS AND AUTOMATION: MULTI-ROBOT SSTEMS, 00 Distributed reonfiguration of hexagonal metamorphi robots Jennifer E. Walter, Jennifer L. Welh, and Nany M. Amato Abstrat

More information

EXODUS II: A Finite Element Data Model

EXODUS II: A Finite Element Data Model SAND92-2137 Unlimited Release Printed November 1995 Distribution Category UC-705 EXODUS II: A Finite Element Data Model Larry A. Shoof, Vitor R. Yarberry Computational Mehanis and Visualization Department

More information

Extracting Partition Statistics from Semistructured Data

Extracting Partition Statistics from Semistructured Data Extrating Partition Statistis from Semistrutured Data John N. Wilson Rihard Gourlay Robert Japp Mathias Neumüller Department of Computer and Information Sienes University of Strathlyde, Glasgow, UK {jnw,rsg,rpj,mathias}@is.strath.a.uk

More information

We P9 16 Eigenray Tracing in 3D Heterogeneous Media

We P9 16 Eigenray Tracing in 3D Heterogeneous Media We P9 Eigenray Traing in 3D Heterogeneous Media Z. Koren* (Emerson), I. Ravve (Emerson) Summary Conventional two-point ray traing in a general 3D heterogeneous medium is normally performed by a shooting

More information

Starter Kit B80 User Guide. Version: 01 DocId: Starter_Kit_B80_v01. User Guide

Starter Kit B80 User Guide. Version: 01 DocId: Starter_Kit_B80_v01. User Guide Starter Kit B80 User Guide Version: 01 DoId: Starter_Kit_B80_v01 User Guide User Guide: Starter Kit B80 User Guide Version: 01 Date: 2012-08-14 DoId: Status Starter_Kit_B80_v01 GENERAL NOTE THE USE OF

More information

Direct-Mapped Caches

Direct-Mapped Caches A Case for Diret-Mapped Cahes Mark D. Hill University of Wisonsin ahe is a small, fast buffer in whih a system keeps those parts, of the ontents of a larger, slower memory that are likely to be used soon.

More information

the machine and check the components Basic User s Guide

the machine and check the components Basic User s Guide Quik Setup Guide Start Here MFC-7860DW Please read the Safety and Legal ooklet first efore you set up your mahine. Then, please read this Quik Setup Guide for the orret setup and installation. To view

More information

Performance Improvement of TCP on Wireless Cellular Networks by Adaptive FEC Combined with Explicit Loss Notification

Performance Improvement of TCP on Wireless Cellular Networks by Adaptive FEC Combined with Explicit Loss Notification erformane Improvement of TC on Wireless Cellular Networks by Adaptive Combined with Expliit Loss tifiation Masahiro Miyoshi, Masashi Sugano, Masayuki Murata Department of Infomatis and Mathematial Siene,

More information

Torpedo Trajectory Visual Simulation Based on Nonlinear Backstepping Control

Torpedo Trajectory Visual Simulation Based on Nonlinear Backstepping Control orpedo rajetory Visual Simulation Based on Nonlinear Bakstepping Control Peng Hai-jun 1, Li Hui-zhou Chen Ye 1, 1. Depart. of Weaponry Eng, Naval Univ. of Engineering, Wuhan 400, China. Depart. of Aeronautial

More information

Query Evaluation Overview. Query Optimization: Chap. 15. Evaluation Example. Cost Estimation. Query Blocks. Query Blocks

Query Evaluation Overview. Query Optimization: Chap. 15. Evaluation Example. Cost Estimation. Query Blocks. Query Blocks Query Evaluation Overview Query Optimization: Chap. 15 CS634 Leture 12 SQL query first translated to relational algebra (RA) Atually, some additional operators needed for SQL Tree of RA operators, with

More information

Calculation of typical running time of a branch-and-bound algorithm for the vertex-cover problem

Calculation of typical running time of a branch-and-bound algorithm for the vertex-cover problem Calulation of typial running time of a branh-and-bound algorithm for the vertex-over problem Joni Pajarinen, Joni.Pajarinen@iki.fi Otober 21, 2007 1 Introdution The vertex-over problem is one of a olletion

More information

Connection Guide. Installing the printer locally (Windows) What is local printing? Installing the printer using the Software and Documentation CD

Connection Guide. Installing the printer locally (Windows) What is local printing? Installing the printer using the Software and Documentation CD Page 1 of 7 Connetion Guide Installing the printer loally (Windows) Note: When installing a loally attahed printer, if the operating system is not supported y the Software and Doumentation CD, then the

More information

Incremental Mining of Partial Periodic Patterns in Time-series Databases

Incremental Mining of Partial Periodic Patterns in Time-series Databases CERIAS Teh Report 2000-03 Inremental Mining of Partial Periodi Patterns in Time-series Dataases Mohamed G. Elfeky Center for Eduation and Researh in Information Assurane and Seurity Purdue University,

More information

Total 100

Total 100 CS331 SOLUTION Problem # Points 1 10 2 15 3 25 4 20 5 15 6 15 Total 100 1. ssume you are dealing with a ompiler for a Java-like language. For eah of the following errors, irle whih phase would normally

More information

The Minimum Redundancy Maximum Relevance Approach to Building Sparse Support Vector Machines

The Minimum Redundancy Maximum Relevance Approach to Building Sparse Support Vector Machines The Minimum Redundany Maximum Relevane Approah to Building Sparse Support Vetor Mahines Xiaoxing Yang, Ke Tang, and Xin Yao, Nature Inspired Computation and Appliations Laboratory (NICAL), Shool of Computer

More information

Machine Vision. Laboratory Exercise Name: Student ID: S

Machine Vision. Laboratory Exercise Name: Student ID: S Mahine Vision 521466S Laoratory Eerise 2011 Name: Student D: General nformation To pass these laoratory works, you should answer all questions (Q.y) with an understandale handwriting either in English

More information

特集 Road Border Recognition Using FIR Images and LIDAR Signal Processing

特集 Road Border Recognition Using FIR Images and LIDAR Signal Processing デンソーテクニカルレビュー Vol. 15 2010 特集 Road Border Reognition Using FIR Images and LIDAR Signal Proessing 高木聖和 バーゼル ファルディ Kiyokazu TAKAGI Basel Fardi ヘンドリック ヴァイゲル Hendrik Weigel ゲルド ヴァニーリック Gerd Wanielik This paper

More information

Title: Time-Based Tree Graphs for Stabilized Force Structure Representations

Title: Time-Based Tree Graphs for Stabilized Force Structure Representations Paper for the 8 th International Command & Control Researh & Tehnology Symposium Title: Time-Based Tree Graphs for Stabilized Fore Struture Representations Submitted by: Sam Chamberlain U.S. Army Researh

More information

Define - starting approximation for the parameters (p) - observational data (o) - solution criterion (e.g. number of iterations)

Define - starting approximation for the parameters (p) - observational data (o) - solution criterion (e.g. number of iterations) Global Iterative Solution Distributed proessing of the attitude updating L. Lindegren (21 May 2001) SAG LL 37 Abstrat. The attitude updating algorithm given in GAIA LL 24 (v. 2) is modified to allow distributed

More information

Zippy - A coarse-grained reconfigurable array with support for hardware virtualization

Zippy - A coarse-grained reconfigurable array with support for hardware virtualization Zippy - A oarse-grained reonfigurable array with support for hardware virtualization Christian Plessl Computer Engineering and Networks Lab ETH Zürih, Switzerland plessl@tik.ee.ethz.h Maro Platzner Department

More information

ERISA Form 8955-SSA 2-D Barcode Standards. Version 1.3 June 7, 2012

ERISA Form 8955-SSA 2-D Barcode Standards. Version 1.3 June 7, 2012 ERISA 8955-SSA 2-D Barode Standards Versi 1.3 June 7, 2012 Plan Years: 2009 2010 2011 History Log Versi Date Summary of Changes Editor 1.0 01/14/2011 Versi 1.0 WBAPSO/CIT 1.1 6/27/2011 - Update Barode

More information

A Partial Sorting Algorithm in Multi-Hop Wireless Sensor Networks

A Partial Sorting Algorithm in Multi-Hop Wireless Sensor Networks A Partial Sorting Algorithm in Multi-Hop Wireless Sensor Networks Abouberine Ould Cheikhna Department of Computer Siene University of Piardie Jules Verne 80039 Amiens Frane Ould.heikhna.abouberine @u-piardie.fr

More information

Space- and Time-Efficient BDD Construction via Working Set Control

Space- and Time-Efficient BDD Construction via Working Set Control Spae- and Time-Effiient BDD Constrution via Working Set Control Bwolen Yang Yirng-An Chen Randal E. Bryant David R. O Hallaron Computer Siene Department Carnegie Mellon University Pittsburgh, PA 15213.

More information

Self-Adaptive Parent to Mean-Centric Recombination for Real-Parameter Optimization

Self-Adaptive Parent to Mean-Centric Recombination for Real-Parameter Optimization Self-Adaptive Parent to Mean-Centri Reombination for Real-Parameter Optimization Kalyanmoy Deb and Himanshu Jain Department of Mehanial Engineering Indian Institute of Tehnology Kanpur Kanpur, PIN 86 {deb,hjain}@iitk.a.in

More information

A PROTOTYPE OF INTELLIGENT VIDEO SURVEILLANCE CAMERAS

A PROTOTYPE OF INTELLIGENT VIDEO SURVEILLANCE CAMERAS INTERNATIONAL JOURNAL OF INFORMATION AND SYSTEMS SCIENCES Volume 1, 3, Number 1, 3, Pages 1-22 365-382 2007 Institute for Sientifi Computing and Information A PROTOTYPE OF INTELLIGENT VIDEO SURVEILLANCE

More information

XML Data Streams. XML Stream Processing. XML Stream Processing. Yanlei Diao. University of Massachusetts Amherst

XML Data Streams. XML Stream Processing. XML Stream Processing. Yanlei Diao. University of Massachusetts Amherst XML Stream Proessing Yanlei Diao University of Massahusetts Amherst XML Data Streams XML is the wire format for data exhanged online. Purhase orders http://www.oasis-open.org/ommittees/t_home.php?wg_abbrev=ubl

More information

Tavultesoft Keyboard Manager. User s Guide and Reference. Tavultesoft

Tavultesoft Keyboard Manager. User s Guide and Reference. Tavultesoft Tavultesoft Keyboard Manager User s Guide and Referene VERSION 4.0 Tavultesoft This doumentation may be freely opied, but the opyright notie must not be altered or removed. No part of this doumentation

More information