THE UNIVERSITY OF MICHIGAN Memorandum 28 CAMA: DEFINE PROBLEM COMMAND Suzanne D. Goodrich CONCOMP: Research in Conversational Use of Computers F.H. Westervelt,'Project Director -ORA Pto-j ect"'07 4 4 9 i i>~'' ~~'','*. supported by: ADVANCED RESEARCH PROJECTS AGENCY DEPARTMENT OF DEFENSE WASHINGTON, D.C. CONTRACT NO. DA-49-083 OSA-3050 ARPA ORDER NO. 716 administered through: OFFICE OF RESEARCH ADMINISTRATION ANN ARBOR June 1970

*Ne

TABLE OF CONTENTS 1. Introduction................ 1 2. User's Guide for Command DPROB....... 1 2.1. Data Structure...... 2 2.1.1. Master Directory Entries.. 2 2.1.2. Data Packs........ 4 2.2. General Execution Structure...... 5 2.3. Subroutines Used in DPROB Command... 22 3. References........ 31 iii

1. INTRODUCTION The Computer-Aided Mathematical Analysis system (CAMA) permits construction of symbols and expressions, manipulation of expressions, and solution of equations. CAMA operates under MTS in the IBM 360/67 and RAMP in the PDP-8/338 terminal. CAMA operations are divided into tasks which may be inserted into the queue via commands. 2. USER'S GUIDE FOR COMMAND DPR0B The command DPR0B is used to define a problem. Execution of this command causes a flag to be set so that a second specification of the command is ignored until the first request is completed. The command has four branches: (1) construct symbols, (2) select symbols for a problem, (3) define expressions for a problem, (4) escape to return to the CAMA system. (1) Construct symbols. The user specifies the menu into which the generated symbol will be placed. He constructs and names the symbol. Options exist during construction for erasing the existing symbol and starting again or rejecting the entire stage. If the user duplicates a symbol name, he may rename the symbol or destroy the old definition as he wishes. (2) Select Symbols for Problem. The user specified a problem. If the problem 1

2 exists and contains symbols, the symbols are displayed. The user selects entire menus or particular symbols from menus to be included in his problem. He may remove one or all symbols from his problem. A maximum of 63 symbols may be included in one problem. (3) Define Expressions for a Problem. The user specifies a problem and the problem symbols are displayed. He may display, modify, and save or destroy an existing expression of the problem, or create and save a new expression. 2.1 DATA STRUCTURE 2.1.1. Master Directory Entries The command DPROB uses entries MSYMTBL, MPROB, NAMEFLAG, and PROBLEM (see Fig. 1) in the master directory and the corresponding packs. MSYMTBL is a name-list containing the names of all menus, both system menus and user-named menus containing user-created symbols, and pointers to the menu packs. The menu packs are lists of symbols in the msnu and pointers to the data pack which contains the display file for the symbol. MPR0B is a list of problems and corresponding pack pointers. A problem pack is an association table identifying the symbols in a problem. The association object is the symbol name, and the value is the name of the menu

Entries in Master Directory MSYMTBL -._-MSYMTBL (name list) ALPHABET ptr~ ALPHABET (name list) NUMERALS ptr A ptr to DF data pack MENUl ptr-~MENU 1 (name list) B ptr to DF data pack MENU A3 ptr (Constructed symbols) SYMi ptr to DF data pack THETA ptr to DF data pack MPR0B~-> MPR0B (name list) PROB1 ptr PRPB K ptr-~^>PR0B K (association table) PR0B97 ptr @ SYM (symbol name) (menu) FLUID ptr @ SYM A ALPHABET TEST ptr @ SYM THETA MENUl NAMEFLAG —— NAMEFLAG (association table) DPR0B FLAG 0N DPR0B MENU (name) DPR0B PR0B (name) PR0BLEM- PROBLEM (name list) PR0B1 ptr PR0B97 ptr PR0B K ptr-~- PR0B K (name list) EXPRESS1 ptr to expression data pack FORM 3 ptr to expression data pack Figure 1. Entries in Master Directory

4 containing the symbol. The NAMEFLAG entry in the master directory points to an association table which identifies the current problem and menu, and indicates the availability of this comma nd. PROBLEM is a name-list of problems and the corresponding pointers. The problem packs are name-lists of expressions in the specific problem and pointers to the data packs defining the expressions. 2.1.2. Data Packs The first ten words of the symbol display file data pack are the display file header (PSECT2 of the DF routines ). Byte 1 of word 1 and words 6, the buffer location pointer, 7, the PDP-8 word count, and 9, the first location of the actual buffer, must be set to appropriate values before the display file is transmitted. Switch 1 which is byte 1 of word 1 should be set to 4016 so the DF routines will not modify the last location of the display file. The remainder of the data pack contains the display file with one 338 word stored in two bytes using six bits in each byte, as described and illustrated in Appendix C of The DF Routines User's Guide Data packs are also used to define the expression with one 20-byte entry for each symbol of the expression (see Fig. 2).

5 s ymbo 1 en t i ty X Y m scale ee) (free) name no,.e 2 2 8 2 2 2 2 bytes Figure 2. The entry contains the X and Y coordinates of the symbol in raster points, the symbol name, the scale for the symbol in range 1-3, and the entity number. (The entity number is not used in command DPR0B and will be discussed in greater detail when relevant.) 2.2 GENERAL EXECUTION STRUCTURE The general sequence of execution of command DPROB is illustrated in Fig. 3. Successive tasks are executed in the central computer in response to light button requests until the user chooses to exit from the command. Command DPR0B Task TKDPB Task DMAIN Task DPDEF Task DCSYM Task SYSEL CAMA Task SSGTSK Figure 3.

6 Task TKDPB Task TKDPB examines the NAMEFLAG association table. If the association DPR0B FLAG 0N is present, a comment TASK IN CURRENT USE... NEW REQUEST IGNORED. is printed and a return is made to the CAMA system. If the flag association is not present, the task DMAIN is executed. Task DMAIN The DMAIN task is the main branching stage. The light buttons ESCAPE PROBLEM DEFINITION CONSTRUCT SYMBOLS SELECT SYMBOLS FOR PROBLEM are displayed. The user indicates the desired option with the Grafacon. If the user chooses to exit command DPR0B via the ESCAPE button, all DPR0B entries in the NAMEFLAG table are erased and a return is made to the CAMA system. Task DPDEF Task DPDEF is the response to the PROBLEM DEFINITION light button of task DMAIN. The execution of DPDEF is outlined in Fig. 4. The display screen is illustrated in

7 Fig. 5. Task DCSYM Task DCSYM is the response to the CONSTRUCT SYMB0LS light button. The 360 program which generates and transmits the display files is outlined in Fig. 6. The PDP-8 programs, specifically the actual symbol construction pro2 gram, will be discussed in a subsequent memo. The display screen is illustrated in Fig. 7. Task SSGTSK The SSGTSK task moves the display file for the constructed symbol from a line directory to a data pack as described in Section 2.1.2. Execution of the task will be discussed in another memo. Task SYSEL Task SYSEL is executed as the response to the SELECT SYMBOLS FOR PROBLEM light button. The subroutine is outlined in Fig. 8. A maximum of 63 symbols may be selected for a problem. The display screen is illustrated in Fig. 9.

Find and confirm current problem name. Check for problem name in MPROB list. name present L name not present Symbols have not been selected -y ~ for this problem. Enter problem name in NAMEFLAG table. Print comment requesting a new Create temporary data pack to save problem name or ESCAPE to exit. expression which is formed. Place problem name in negative region problem ESCAPE of temporary pack (required by dis-nme names play subroutine SE8). a y Enter problem name in PROBLEM list. ( a ) CMA Ready display, blank screen. Transmit problem symbols as invisible subroutine files (subroutine INIT8). Display symbols, 21/line. Draw line above symbols to indicate expression display area. Display light buttons. Draw 3 guidelines in expression display area. Reserve DF numbers. Request and confirm expression name. User may request a list of all expressions in the current problem. If the requested expression exists in this problem, copy the expression pack into the temporary data pack and display the expression. Request a Grafacon hit on a light button. Locate and mark the light button hit. Process the light button. Figure 4. Subroutine DPDEF

LIGHT BUTTONS PLACE SYMBOL WITH HALF/EQUAL/DOUBLE SIZE- Set switch=0O Print comment requesting con- no (do not remove)~ Blank expres- - DESTROY-> firmation of permanent removal sion and of expression from data structure. OK Destroy light button remove)~ expression mark. Empty pack temporary expression data ESCAPE Blaiink screen. N~>TaskDMAIN p, Free temporary expression pack. REPLACE SYMBOL ~> Set switch=O ~ MOVE SYMBOL UP/DOWN/LEFT/RIGHT -~ Set switch=l -Q6) AS \ Blank expression and light button mark. Empty temporary expression data pack. DELETE SYMBOL AND CLOSE GAP/LEAVE GAP -~ Set switch=l INSERT/INCREASE/DECREASE GAP-> Set switch=l Determine desired direction Display expression and increment/decrement the with new coordinates. MOVE WINDOW UP/DOWN/LEFT/RIGHT ->Y/X coordinates of all sym- ->Blank light button bols in the temporary ex- mark. pression pack. fMOVE Set switch=l MOVE/REMOVE GUIDELINES~~ J^ MGREMOVE ~> Blank guidelines and light button mark. If a form of the Enter the ex- Reorder the expres- Redisplay the requested expres- pression name sion as defined in expression. sion exists in the into the prob- the temporary data Save the pergSAVE g data structure, the lem list and pack into the per- manent data user is asked to >create a data manent data pack pack. confirm erasing tue pack for the with increasing X Blank light old form or to rename expression. then increasing Y button mark. the current expres- (subroutine EXORD). sion displayed. Figure 4. Subroutine DPDEF, continued

Wait for Grafacon hit. hit above - ihit abbve hit B - Blank current symbol mark jDetermine if hit on list of symbols or in expression display area. symbol expression display yes >> hit area hid - Is switch > O? hit area hit Determine and mark no symbol hit. 3.1^~~~~~~~~ ^^^Mark position hit. Is switch < 0? yes. Set switch = -1. o Is switch < 0? t no T Set switch = 1 o 6 —^"~~~M -Note: Switch is used to indicate a symbol hit — set to +1, a display position hit — set to -1, neither of above — set to 0. Switch may be preset to +1 if no symbol is Determine symbol hit. needed for the current light Process the light button. button action. Figure 4. Subroutine DPDEF, continued

LIGHT BUTTONS ~~~LIGHT BUTTONS ~Determine size desired. Set scale value for expression pack entry. PLACE SYMBOL WITH HALF/EQUAL/DOUBLE SIZE__g Calcult X and Y. _ Set switch=l-1 6 coordinates. Enter in temporary expression pack. Display expression. Print error comment. DESTROY(This light button DESTROY should have been -EXIT processed above.) ESCAPE Identify symbol of expression indicated (subrREPLACE SYMBOL outine EXLOC). Blank symbol mark. > Setswitch:O REPLACE ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~~- SetBO switch=OReplace symbol name in Display expression. temporary expression pack with symbol name from list. Identify symbol of expression hit. MOVE SYMBOL UP/DOWN/LEFT/RIGHT~ Calculate new X/Y __Display ~ Setswitch UP/DOWN/LEFT/RIGHT' "coordinate, expression. s Replace current coordinate with new value. ERASE~ Figure 4. Subroutine DPDEF, continued

Copy existing temporary exLEAVE pression pack 1 GAP into new pack omitting symbol indicated. Calculate width Identify symbol of symbol indiof expression hit. cated. KXL=X coordinate Read entries from DELETE SYMBOL AND CLOSE GAP/LEAVE GAP -KXL=X coordinate Read entries fom of indicated symbol. expression pack. Create a second If (X entry coortemporary file. dinate < KXL), CLOSE G -P move entry to GAP new pack. If (X entry coordinate > KXL), reduce X by width of symbol and move entry to new pack omitting indicated symbol. Free space of old pack. current pack pointer to ~Set switch=I new pack. Display expression. Read entries from expression pack. If the X coordinate of the symbol > the indicated posiINSERT/INCREASE/DECREASE GAP_> the id po- Set switch - -tion, increase/decrease the - coordinate and insert new value in pack. Display expression. MOVE WINDOW UP/DOWN/LEFT/RIGHT The indicated Y coordinate MOVE/REMOVE GUIDELINES -— ~is location of the highest 6 of three guidelines. SAVE ~ Figure 4. Subroutine DPDEF, concluded

13 EXPRESSION DISPLAY AREA PROBLEM SYMBOL DISPLAY AREA LIGHT BUTTON AREA Figure 5. Display Screen for DFDEF

14 Ready display, blank screen. Find and confirm current menu name. Enter menu name in MSYMTBL list and create menu list or obtain pointer to existing menu list. Call CAMSET which executes PDP-8 code to save main display file locations. Transmit a square as a subroutine display file. Transmit a small square as a main display file. This will later be used to indicate the Grafacon location by altering the end point of the first invisible vector. Transmit the light buttons, each as a main display file containing a push-jump to the subroutine box, the text of the label, and a stop blink code. Transmit the grid of endpoints by first generating and transmitting as a subroutine file a line of eight points. The grid is displayed as two main display files each containing four push-jumps to this subroutine file. Transmit a box to contain the symbol. The user generates the symbol on a large scale for convenience. The symbol in the box shows the actual transmitted size. Call CAMSET to stop saving main display file locations. Find the data pack containing the PDP-8 symbol generation program. Call PR0G to transmit the program to the PDP-8. PROG executes a PDP-8 task which reads the transmitted program, stores it, and transfers to the starting location of the transmitted code. Figure 6. Subroutine DCSYM.

15 * * * * 0 * * ~ ~~~~~N A M E 00 DESTROY0 * 0 D' E S T R 0 Y E S C A P E of D O D D DRAW ERASE REFERENCE SECONDARY Figure 7. Display Screen for DCSYM

Ready display, blank screen. Set LMP=O. Display light buttons. Draw separation line. Display menu names contained in MSYMTBL above light buttons. Draw 2 lines above menu names. Reserve DF numbers. Find and confirm current problem name. Enter name in NAMEFLAG table. Enter name in MPR0B list and create association table. table table did Create a temporary data pack. existed isnt e t Move problem name to negative reviously region of pack. Transmit symbols which already exist in this problem as invisible subroutine files (subroutine I8REG). Create a temporary data pack. Move problem name into negative region of pack. Move problem symbols into temporary pack as entries in an expression pack. The coordinates position the symbols in the problem symbol display area. Display the symbols. Figure 8. Subroutine DSYSEL

Blank light button mark. Request a Grafacon hit on a light button. Locate and mark the light button hit. all light buttons light button except ADD 0NE ~ ADD 0NE SYMB0L SYMB0L T0 PROBLEM T0 PR0BLEM Blank menu symbols displayed. LMP=O LMP/O Free space used for menu names and pack pointers. Set LMP==O. Process the light button. Figure 8. Subroutine DSYSEL, continued.

LIGHT BUTTONS DISPLAY CONTENTS OF MENU Determine hit above menu or ~1 - Request Grafacon hit. - avif menu m light buttons name ADD ENTIRE MENU TO PROBLEM hit on name light button hit above menu names Identify menu name. Get space and find all symbol names ( I nd corresponding data pack pointers — >Branch for specific light button. for indicated menu. Set LMP 0 0. Create a temporary DF Convert Y and X coordinate data pack. to correct form for display Find pointer to pack file. DISPLAY CONTENTS OF MENU —containing display file - ~>Put excape bit on X. 2 for first symbol. Move PAR = 0417, MODE = 1127, x Move DF header from this Y, X, PAR = 0617 into temporpack into temporary DF ary DF pack. pack. Move symbol display Increment file to temporary DF no Xn Y n X and Y. 2m ^ pack omitting header Have all symbols and PAR at front and been processed? ye stop blink or PAR at y end. Calculate word 7 of the DF Transmit the pack as an header and store over pre- invisible display file Free space ( ^\ ~ vious value in temporary DF (subroutine DFPTB). used for pack. Set byte 1 of word 1 >Generate a main display temporary of the DF header in the pack file to display the DF pack. to 40 subroutine file. Figure 8. Subroutne DSYSEL, continued Figure 8. Subroutine DSYSEL, continued

Print comment that yes symbols will not fit in problem. Is (current number ADD ENTIRE MENU TO PROBLEM of symbols + number of symbols in menu) > 63? no n.oSet switch=l Find symbol name. Find pointer to aDsla Enter association pack containing switch a in problem associ- display file for Are all -1 proem / _ ation table. symbol. symbols yes symbols. " y~Move symbol name Transmit symbol ~ processed? switch into temporary as invisible sub- 2 pack as an entry routine file. no into an expres- Move DF number sion pack. into negative region of sym- bol display file pack. Free space used Free space used LMP 3 0 for menu names for temporary and pack pointers, pack. ESCAPE - Blank screen. ->Save MPR0B list ->Task DMAIN and problem assoLMP = O0 ciation table. Figure 8. Subroutine DSYSEL, continued

Is LMP = 0? yes ADD ONE SYMBOL TO PROBLEM —>(If LP no menu is displayed no Request hit above Grafacon hit. light button.; I ^hit on light button Determine if Display all 4 symbol of dis- Yes-Set switch=2 -- lm symls played menu hit. no Empty temporary expression pack.ALL and problem association table. o DELETE ONE/ALL SYMBOLS FROM PROBLEM A Blank problem symbols. Free DF numbers of invisible subroutine files. ONE _ Request hit above Determine ONE Grafacon- light buttons problem 5 hit. symbol hit. ( ) A hit on no problem light symbol hit button Blank all problem symbols. Replace indicated symbol problem Free DF number of invisible with last symbol in tem_ __5 subroutine file for symbol. porary pack. Display symbol Delete symbol association from Reset X,Y of symbols. al problem found problem association table. Reset end of data pointer syibols in pack. Figure 8. Subroutine DSYSEL, concluded

21 PROBLEM SYMBOLS DISPLAY AREA MENU SYMBOLS DISPLAY AREA MENU'NAMES DISPLAY AREA LIGHT BUTTON AREA Figure 9. Display Screen for DSYSEL

22 2.3 SUBROUTINES USED IN DPR0B COMMAND. Subroutine SE8 is used to display a string of symbols contained in a data pack with entries as shown in Fig. 2. The string could be an expression, entries in a matrix, or a list. The subroutine has one entry point, SE8MY, which can be used to set the minimum Y value to be displayed. This prevents the string from displaying over light buttons or other information located at the bottom of the screen. The execution of SE8 and SE8MY is outlined in Fig. 10. Subroutine EX0RD orders one expression data pack into another with increasing X, then increasing Y as outlined in Fig. 11. Subroutine EXL0C examines an expression data pack and returns the displacement to the entry located at a specified coordinate position (see Fig. 12). The entries in the data pack are not in any particular order. Subroutine INIT8 locates and transmits all the symbols of a problem as invisible display files. The DF numbers are acquired dynamically and then saved for reference in the negative region of the symbol display file data pack. The entry point I8REG also saves the DF numbers in an array with the array subscript equivalent to the position in the problem association table. The execution of INIT8 and I8REG is outlined in Fig. 13.

23 Arguments: LPK = pointer to expression data pack, NUM = display file number for expression. Retrieve problem name from negative region of pack. Find pointer to problem association table. Blank display file NUM. Initialize display file. Read entry from LPK. |Ln~ ~,.Transmit display entry end of pack - files with DF - return number NUM. Are values of X and Y coordinates within display area? yes.no.) Find name of menu containing this symbol from problem association table. Find pointer to menu name list. Find pointer to symbol display file data pack in menu name list. Find invisible subroutine display file number in negative region of symbol display file data pack. Enter Y, X with escape, PAR to reset the scale, a push-jump to the symbol subroutine file, and standard PAR and MODE into the expression display file. Reset the internal DF light-beam coordinates. Entry SE8Y in subroutine SE8. Entry SE8MY in subroutine SE8. Argument: MY = minimum Y for display area. Set minimum Y to be used for display area lower bound in SE8. Figure 10. Subroutine SE8.

24 Arguments: LEXP = pack to be ordered, LEPK = pack to contain the result of ordering. Empty pack LEPK. Set displacement for pack LEPK to 0. Read entry from LEXP. not end end of pack- y of pack Is scale _ 0? o 1 yes Save displacement to this entry and X And Y values. Read next entry in pack. not end not end Lend of pack ~f pack Is scale > 0? <no eyes If (new X < saved X) or (new X = saved X and new Y < saved Y), replace saved value with corresponding values for this entry. A) Q Copy pack LEPK to pack LEXP. Move entry with lowest X,Y to pack LEPK. Increment displacement for LEPK. Set scale in entry in LEXP to -1. return Figure II. Subroutine EX0RD

25 Arguments: IXL,IYL = position usually of Grafacon hit, LEXP = expression data pack, KDIS = displacement. Read entry from pack. Does IXL, IYL fall within symbol? (The entry contains the minimum X,Y for the symbol. The upper limits are calculated using the scale factor of the symbol.) no Lyes ~ return with displacement Vitj~~~, e Crtto symbol. Have all entries been examined? no, yes' IXL, IYL did not fall on a symbol. return 1 Figure 12. Subroutine EXL0C

26 Arguments: SPR0 = problem name. NSUB = array to save subroutine display file numbers. INIT8 I8REG Set switch=l Set switch=2 Find pointer to problem association table. Find all symbol and corresponding menu names in problem, Find pointer to pack containing display file for symbol. Transmit symbol as invisible subroutine file. If switch=2, save DF number in array NSUB. Move DF number into negative region of symbol display pack. Are all symbols processed? no yes ( rareturn Figure 13. Subroutine INIT8

27 Subroutine FONE is used to define and mark entities. The user indicates the position of the entity marks — above or below the expression —and points to the first and last symbols to be included in the entity. The expression is blanked and redisplayed with the indicated group of symbols marked. The subroutine exists as a routine independent of CAMA in file FONE with changes necessary to task under CAMA indicated on the listing. A test program is located in FONE (-100,-97). The object of the subroutine only is in FONEO. The RUN command is RUN (test)+FONEO+MATH+SAVE:XDF+SAVE:CAMA/L 2=SS73:TSAV2. The execution sequence of the subroutine is outlined in Fig. 14. The display screen is illustrated in Fig. 15.

Ready display, blank screen. Display light buttons. Find and confirm current problem name. Enter name in NAMEFLAG table. Find and confirm current expression name. Create a temporary data pack. Move expression into temporary pack. Display expression. Wait for a Grafacon hit on a light button. Locate and mark light button hit. Process the light button. Figure 14. Subroutine EX0NE

LIGHT BUTTONS Determine Request Find location DEFINE LOWER/UPPER ENTITY —-> entity Grafacon symbol on number. hit 1. expression hit in data pack.T hit on light button Y Search entity for minimum/ ^ Request - o Find locationCreate temporary maximum Y. ) — Grafacon hit on of symbol 2 hit-c > pack for expres- -> The entity hit2. expression indtpc.sions with entity marks are hit'2. in data pack.makmrs t onmarks.displaced 7 hit^\^~~~~~ on ~~~~raster points light from this value. button Move first part of expression to new Free space of old pack, insert left entity mark with en- temporary data pack. tity number in entry, move entity with Dislay w expression \ /J7 increased X, insert right entity mark Dis ne e si with entity number in entry, move remain- increase entity number. der of expression with increased X. CHANGE PROBLEM CHANGE Free space of temporary pack. PROBLEM or > Blank expressions, light button mark. CHANGE EXPRESSION CHANGE EXPRESSION Blank display. return ESCAPE - > Free space of or temporary pack. Task DMAIN Figure 14. Subroutine EX0NE, concluded

30 EXPRESSION DISPLAY AREA LIGHT BUTTON AREA Figure 15. Display Screen for FONE

REFERENCES 1. Cocanower, A.B., The DF Routines Users Guide, Memorandum 23, Concomp Project, University of Michigan, Ann Arbor, May 1969. 2. Bisgrove, J.L., Goodrich, S.D., Symbol Generation, Internal Memorandum, Concomp Project, University of Michigan, Ann Arbor, June 22, 1970. 31

oecurity ulassitication DOCUMENT CONTROL DATA - R & D.......Secur it l firati on of titlet body roi. e';.~.)tract.:?nd i'nex!'.,'u.:'notar.on musr he'c~::.''cr.:he overall report is classified) 1. ORIGINATING ACTIVITY (Corporate author) 2a-. R. PORT SECURITY CLASSIFICATION Unclassified THE UNIVERSITY OF MICHIGAN Unclassified CONCOMP PROJECT 2. GROUP.- t3. REPORT TITLE CAMA: DEFINE PROBLEM COMMAND l. DESCRIPTIVE NOTES (Type of report end inclusive dates) Memorandum 28 5. AUTHOR(S) (First name, middle initial, last name) SUZANNE D. GOODRICH -..,.,w..,........ ~..... 6. REPORT DATE 7a. TOTAL NO. OF PAGES Jib. NO. OF RPFS June 1970 31 2,a. CONTRACT OR GRANT NO. 9a. ORIGINATOR'S REPORT NUMBER(S) j DA-49-083 OSA-3050 Memorandum 28 b. PROJECT NO. I~~c ~~~~~~~~. j~|9b. OTHER REPORT NO(S) (Any other numbers that may be assigned I this report) d.. _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 10. DISTRIBUTION STATEMENT Qualified requesters may obtain copies of this report from DDC. Y 1. SUPPLEMENTARY NOTES 12. SPONSORING MILITARY ACTIVITY Advanced Research Projects Agency 13. ABSTRACT The Computer-Aided Mathematical Analysis system (CAMA) permits construction of symbols and expressions, manipulation of expressions, and solution of equations. CAMA operates under MTS in the IBM 360/67 and RAMP in the PDP-8/338 terminal. CAMA operations are divided into tasks which may be inserted into the queue via commands. The command DPR0B is used to define a problem. The user selects symbols to use in the problem, constructs symbols if necessary, and formulates the expressions which comprise the problem. DDO Nov 651,473 Unclassified Security Classification

ecurity Classification ^......L LINK A LINK.LI KEY WORDS ____________KEYWR__ROLE WT ROLE WT ROLE WTL define problem data structure display expression symbol Unc lassified - Security Classification

UNIVtIOI I T ur Miiilnlur 3 9015 03127 3348