SCRIPT EXTERNAL DOCUMENTATION 100-180-003-01 TONY LAUCK REV: PETER CONKLIN FILE: SCRIPT.RNO%006 25 JULY 70 The information in this document is subject to change without notice and should not be construed as a comitment by Digital Equipment Corporation. Digital Equipment Corporation assumes no responsibility for and errors that may appear in this document. The software described in this document is furnished under a license and may be used or copied only in accordance with the terms of such license. Digital Equipment Corporation assumes no responsibility for the use or reliability of its software on equipment that is not supplied by DIGITAL. Copyright (C) 1973,1979 by Digital Equipment Corporation The following are trademarks of Digital Equipment Corporation: DIGITAL DECsystem-10 MASSBUS DEC DECtape OMNIBUS PDP DIBOL OS/8 DECUS EDUSYSTEM PHA UNIBUS FLIP CHIP RSTS SCRIPT 25 JULY 70 100-180-003-01 Page 2 COMPUTER LABS FOCAL RSX COMTEX INDAC TYPESET-8 DDT LAB-8 TYPESET-10 DECCOMM DECsystem-20 TYPESET-11 SCRIPT 25 JULY 70 100-180-003-01 Page 3 THE PROGRAM DESCRIBED IN THIS MEMORANDUM WAS DEVELOPED TO AID THE STUDY OF THE PDP-10 MONITOR. IT IS NOT A SUPPORTED PRODUCT, BUT IS AVAILABLE TO CUSTOMERS ON A FOR INFORMATION PURPOSES ONLY BASIS. CONTENTS 1 PURPOSE 2 JOB CAPABILITY 3 CONTROL FEATURES 4 ANALYSIS OF RESULTS 5 FORMAT OF SCRIPT FILES 6 OPERATING INSTRUCTIONS SCRIPT 25 JULY 70 100-180-003-01 Page 4 1.0 PURPOSE THE SCRIPT PROGRAM ALLOWS PREDETERMINED SEQUENCES OF CHARACTERS TO BE SENT OVER MULTIPLE PSEUDO-TELETYPES AND THEREBY ALLOW THE SIMULATION OF A LOAD ON THE TIME-SHARING SYSTEM. THE RESULTS OF A RUN CAN BE WATCHED ON-LINE AND STATISTICS OF RESPONSE TIME, ETC. CAN BE RECORDED ON THE SYSTEM DISK. 2.0 JOB CAPABILITY THE SCRIPT PROGRAM HAS BEEN WRITTEN AS A REENTRANT PROGRAM. THE CODE AND TEXT TO BE SENT ARE IN THE HIGH SEQMENT AND CAN BE SHARED BY SEVERAL JOBS, EACH WITH A 1K LOW SEGMENT. EACH JOB CAN CONTROL UP TO 14 JOBS, SO IT BECOMES POSSIBLE TO SIMULATE A LARGE NUMBER OF PDP-10 TIME-SHARING USERS. SCRIPT 25 JULY 70 100-180-003-01 Page 5 CONTROL FEATURES 3.0 CONTROL FEATURES THE SCRIPT IS LOADED INTO THE HIGH SEGMENT FROM ANY PDP-10 INPUT DEVICE. IN ADDITION TO THE TEXT TO BE SENT, CONTROL COMMANDS CAN BE INCLUDED TO DETERMINE THE SPEED AT WHICH THE SIMULATED USERS WILL OPERATE. 3.1 TIMING PARAMETERS PARAMETERS SUBJECT TO VARIATION INCLUDE TYPE-IN TIME, TYPE-OUT TIME, AND USER "THINK" TIME. THE TYPE-IN AND TYPE-OUT TIME CAN BE SPECIFIED AS A CONSTANT OR AS A RATE, IN WHICH CASE THE TIME WOULD DEPEND ON THE NUMBER OF CHARACTERS SENT OR RECEIVED. THE "THINK" TIME IS BROKEN UP INTO TWO PARTS: 1) THE ALLOWED RESPONSE TIME, AND 2) "FREE" TIME. IF THE COMPUTER GIVES INSTANTANEOUS RESPONSE TO A COMMAND, THE TOTAL DELAY IS SIMPLY THE SUM OF THE TWO QUANTITIES. IF RESPONSE IS GREATER THAN ALLOWED, "THINK" TIME IS EQUAL TO THE "FREE" TIME. IN BETWEEN, "THINK" TIME IS THE SUM OF ALLOWED RESPONSE PLUS "FREE" TIME MINUS THE ACTUAL COMPUTER RESPONSE TO THE COMMAND. ONE ADDITIONAL TIME FACTOR ALLOWED IS THE ABILITY TO SET A MAXIMUM RESPONSE PLUS TYPE-OUT DELAY FOR A GIVEN COMMAND. IF THE COMMAND EXCEEDS THIS LIMIT, THEN THE JOB IS INTERRUPTED BY SENDING TWO CONTROL-C CHARACTERS OVER THE PSEUDO TELETYPE. THIS ALLOWS A SCRIPT TO INCLUDE PROGRAM LOOPS WHICH ARE INTERRUPTED AFTER A SPECIFIED TIME INTERVAL. THE OPERATOR CAN MULTIPLY THESE DELAY TIMES BY AN INTEGER FACTOR. IN PARTICULAR, THEY CAN BE SET TO 0 TO DEBUG A SCRIPT WITHOUT THE DELAYS PRESENT. 3.2 REPETITION OF SCRIPTS AN ADDITIONAL SCRIPT LANGUAGE FEATURE ALLOWS THE SCRIPT TO SPECIFY HOW MANY TIMES IT WILL BE EXECUTED, SO THAT STEADY STATE LOADING CONDITIONS CAN BE MEASURED. THE OPERATOR CAN OVERRIDE THE REPEAT COUNT. 3.3 STAGGERING LOAD BUILDUP WHEN MULTIPLE JOBS ARE TO FOLLOW THE SCRIPT, THE SCRIPT MAY SPECIFY A STAGGERING INTERVAL SO THAT LOAD BUILDUP CAN BE GRADUAL. 3.4 MULTIPLE USER NUMBERS AS AN OPTIONAL FEATURE, THE SCRIPT PROGRAM WILL CONVERT THE "#" CHARACTER INTO A TWO DIGIT OCTAL STRING EQUAL TO THE PTY UNIT NUMBER. THIS WILL ALLOW ONE SCRIPT TO LOG MANY JOBS IN UNDER DIFFERENT NUMBERS OR FOR MULTIPLE JOBS TO USE SEPERATE FILES. ALL STANDARD SCRIPTS USE THIS FEATURE TO LOG INTO [4,777#]. SCRIPT 25 JULY 70 100-180-003-01 Page 6 ANALYSIS OF RESULTS 4.0 LOGGING OF RESULTS THE SCRIPT PROGRAM MAKES AN ENTRY IN THE LOG FILE FOR EACH LINE OF PTY DATA SENT TO THE TIME-SHARING SYSTEM. THE TIME, IDENTITY OF A PARTICULAR JOB, NUMBER OF CHARACTERS SENT, NUMBER OF CHARACTERS RECEIVED, NUMBER OF BUFFERS RECEIVED, AND TOTAL RESPONSE TIME ARE ALL RECORDED. IN ADDITION, DELAYS IN SENDING OR SIMULATING TELETYPE OUTPUT DUE TO POOR SCRIPT PROGRAM RESPONSE ARE ALSO RECORDED. THIS PROVIDES SOME IDEA OF HOW THE RESPONSE TO THE CONTROLLING JOB AFFECTED SYSTEM LOAD AND RESPONSE TIME MEASUREMENTS. IDEALLY THE CONTROLLLING JOB WOULD BE REAL-TIME, I.E. HIGH PRIORITY AND LOCKED IN CORE. DELAYS TO THE SCRIPT INPUT/OUTPUT LIGHTEN THE OVERALL SYSTEM LOAD, WHILE DELAYS IN RECEIVING REQUESTS FOR MORE INPUT ARE MEASURED AS IF THE USER JOB HAD EXPERIENCED WORSE RESPONSE THAN IT ACTUALLY DID. AS A FURTHER CHECK ON ERRORS IN RESPONSE TIME MEASUREMENTS DUE TO POOR SCRIPT PROGRAM RESPONSE, A "+" CHARACTER IS OUTPUT WHEN POOR SCRIPT PROGRAM RESPONSE MAY HAVE CAUSED THE PT WAKE FUNCTION IN THE MONITOR TO FAIL. WHEN THIS HAPPENS, THE SCRIPT PROGRAM WILL WAKE UP BASED ON ITS SLEEP INTERVAL AND NOT ON OBJECT JOB RESPONSE. NORMALLY, THE MONITOR RESETS THE SLEEP COUNT WHEN A JOB RUNNING ON A PSEUDO-TELETYPE NEEDS SERVICE. THE SCRIPT PROGRAM TESTS THE PTY FLAGS, AND IF THE PTY DOESN'T NEED SERVICE SLEEPS. IDEALLY, THIS SLEEP WILL BE TERMINATED IMMEDIATELY BY THE MONITOR. HOWEVER, SHOULD THE SCRIPT PROGRAM BE RESCHEDULED BETWEEN TESTING THE PTY AND DOING THE SLEEP, THIS CAN'T HAPPEN. IN THIS CASE, THE SCRIPT PROGRAM COULD SLEEP FOR ITS MAXIMUM INTERVAL. THIS COULD BE UP TO 5 SECONDS. UNFORTUNATELY, THERE IS NO WAY TO TELL IF THIS HAPPENED. THE "+" IS SET WHENEVER A JOB GETS RESPONSE AND THE TIME OF DAY EXCEEDED THE TIME OF DAY THE SLEEP ENTRY WOULD HAVE TERMINATED. THIS CAN OCCUR ALSO DUE TO POOR RESPONSE ONCE THE SLEEP INTERVAL HAS TERMINATED. 4.1 DEFINITION OF RESPONSE TIME THE RESPONSE TIME MEASURED IS THE TOTAL TIME FROM OUTPUTTING ("TYPING") A LINE OVER THE PTY UNTIL THE PROGRAM REQUESTS THE NEXT LINE OR TIMES OUT TO TWO CONTROL-C CHARACTERS, LESS TIME SPENT SIMULATING TTY OUTPUT. THUS, IF ONE LINE TO THE SYSTEM PRODUCES 50 LINES OF OUTPUT, ONE RESPONSE TIME WILL BE RECORDED, WHICH IS THE TOTAL TIME THE USER WAS WAITING FOR THE COMPUTER. SCRIPT 25 JULY 70 100-180-003-01 Page 7 ANALYSIS OF RESULTS 4.2 OVERLAP AND ITS EFFECT ON RESPONSE TIME MEASUREMENTS THERE IS ONE POSSIBLE DIFFICULTY: OVERLAP BETWEEN OUTPUT AND THE NEXT INPUT. NORMALLY AN OUTPUT-BOUND PROGRAM IS WOKEN UP WHEN 8 CHARACTERS OF SPACE REMAIN IN THE MONITOR BUFFER. THUS A 0.8 SECOND DELAY (AT 10 CHARACTERS/SEC) WOULD NOT CAUSE A PAUSE IN TYPE-OUT. UNFORTUNATELY, THE PTY TRANSFERS A LINE AT A TIME, SO THIS OVERLAPPED TIME IS LOST. THE NET AFFECT IS TO MAKE THE MEASURED RESPONSE TIMES LOOK A LITTLE WORSE THAN RESPONSE TIMES AN ACTUAL TTY USER WOULD SEE. INCIDENTALLY, SHOULD THE PROGRAM REQUEST INPUT WHILE TYPEOUT IS IN PROGRESS, ALL TYPEOUT DELAY WILL BE COMPLETED BEFORE ACTING ON THE INPUT REQUEST. 4.3 DIFFERENT BUFFERING MODES IF THE SCRIPT SPECIFIED OUTPUT AS A FUNCTION OF TIME, THEN THE SCRIPT PROGRAM WAITS UNTIL THE DELAY IS UP, THEN DATA IS TRANSFERRED OVER THE PTY TO THE SCRIPT PROGRAM. WHEN THE SCRIPT SPECIFIES AN OUTPUT RATE, THE SCRIPT PROGRAM MUST FIRST READ THE DATA FROM THE PTY, DETERMINE THE DELAY, AND THEN SLEEP. SPECIFYING ONE MODE OR THE OTHER MAY BE APPROPRIATE TO PARTICULAR PROGRAMS DUE TO DIFFERENT BUFFERING MODES. 4.4 ANALYSIS OF RESPONSE TIME RESULTS IN ANY EVENT, THE USER MUST ANALYZE RESPONSE-TIME RESULTS WITH A KNOWLEDGE OF THESE FACTORS, AND AN UNDERSTANDING OF THE OVERLAP BETWEEN USER PROGRAM BUFFERS, MONITOR BUFFERS, AND SCRIPT BUFFERS. ALTERNATELY, IF PSYCHOLOGICAL SYSTEM PERFORMANCE IS IMPORTANT, THE USER CAN USE THE SYSTEM MANUALLY AND SEE HOW CLEVERLY THE SYSTEM IS CONCEALING ITS RESPONSE. THE MAIN PURPOSE OF THE SCRIPT PROGRAM IS TO OBTAIN CONSISTENT RELATIVE RESPONSE FIGURES TO ASSESS THE EFFECT OF HARDWARE AND SOFTWARE CHANGES IN THE TIME-SHARING SYSTEM. SCRIPT 25 JULY 70 100-180-003-01 Page 8 FORMAT OF SCRIPT FILES 5.0 FORMAT OF SCRIPT FILES 5.1 COMMAND LINES A SCRIPT FILE CONSISTS OF SCRIPT LINES WHICH END WITH A CHARACTER. SCRIPT LINES ARE EITHER COMMAND LINES OR TEXT LINES. COMMAND LINES ARE USED TO CONTROL TYPING AND OPERATION OF THE SCRIPT PROGRAM. TEXT LINES ARE SENT OVER THE PSEUDO TELETYPE TO RUN THE OBJECT JOBS. 5.2 TEXT LINES A COMMAND LINE BEGINS WITH ONE EXCLAMATION POINT WHICH IS FOLLOWED BY A NON-EXCLAMATION POINT CHARACTER. A TEXT LINE BEGINS WITH NO EXCLAMATION POINT, OR WITH TWO EXCLAMATION POINTS. IN THIS CASE, ONLY THE SECOND IS SENT TO THE OBJECT JOB. IF A SCRIPT LINE BEGINS WITH ONE UP-ARROW, THEN THE UP-ARROW IS NOT SENT; INSTEAD THE NEXT CHARACTER IS CONVERTED TO A CONTROL CHARACTER BY COMPLEMENTING BIT 100. TWO UP-ARROWS RESULT IN ONE UP-ARROW BEING SENT. (THE CR/LF AT THE END OF ANY LINE STARTING WITH A SINGLE UP-ARROW ARE NOT SENT.) NOTE THAT "!" AND "^" HAVE NO SIGNIFICANCE EXCEPT AT THE BEGINNING OF A TEXT OR COMMAND LINE. 5.3 COMMAND LINE SYNTAX COMMAND LINES CONSIST OF NUMBERS AND LETTER SWITCHES. SWITCHES THAT TAKE NUMERICAL VALUES MAY BE PRECEEDED BY A NUMBER. A NUMBER CONSISTS OF POSSIBLY ONE MINUS SIGN FOLLOWED BY A STRING OF DECIMAL DIGITS. THERE CAN BE NO SPACES OR TABS BETWEEN THE START AND END OF A NUMBER. AT OTHER POINTS, SPACES AND TABS ARE IGNORED IN COMMAND LINES. SHOULD A NUMBER NOT BE SPECIFIED, THE LAST NUMBER SUPPLIED IS ASSUMED. IF NO VALUE HAS BEEN SUPPLIED, A ZERO IS ASSUMED AT THE START OF EACH COMMAND LINE. CERTAIN LETTER SWITCHES MAY NOT HAVE NUMBERS ASSOCIATED WITH THEM. THESE SWITCHES MAY NOT BE PRECEEDED BY A NUMBER UNLESS THERE IS AN INTERVENING LETTER SWITCH THAT ALLOWS A NUMBER. ILLEGAL CHARACTERS OR BAD SYNTAX RESULT IN AN ERROR WHEN PROCESSING JOBS. THESE ERRORS ARE NOT DETECTED WHEN THE SCRIPT IS LOADED INTO THE HIGH SEGMENT. SCRIPT 25 JULY 70 100-180-003-01 Page 9 FORMAT OF SCRIPT FILES A COMMAND LINE MAY INCLUDE A COMMENT BY USING A SEMICOLON. A DOUBLE SEMICOLON AND ANY CHARACTERS REMAINING ON THE COMMAND LINE ARE DELETED WHEN THE SCRIPT IS LOADED AND SO USE NO CORE AT RUN-TIME. THE FIRST 6 CHARACTERS FOLLOWING THE FIRST PERCENT SIGN OF THE DOUBLE SEMICOLON COMMENT OF THE FIRST SCRIPT LINE (IF ANY) ARE TAKEN AS THE SCRIPT'S VERSION NUMBER (USUALLY "%NNN"). A COMMAND LINE MUST NOT END WITH A NUMBER. THUS A LETTER SWITCH MUST FOLLOW ANY NUMBER IN A COMMAND LINE. 5.4 LETTER SWITCHES I IF NON-NEGATIVE ARGUMENT SUPPLIED -- SETS TYPE-IN DELAY IF NEGATIVE ARGUMENT SUPPLIED -- SETS TYPE-IN RATE. O SAME AS I EXCEPT THAT IT SETS TYPE-OUT RATE. R IF NON-NEGATIVE ARGUMENT SUPPLIED -- SETS ALLOWED RESPONSE TIME F IF NON-NEGATIVE ARGUMENT SUPPLIED -- SETS FREE TIME S IF NON-NEGATIVE ARGUMENT SUPPLIED -- SETS STAGGER TIME T IF POSITIVE ARGUMENT SUPPLIED -- SETS NUMBER OF TIMES TO DO SCRIPT. C IF A POSITIVE ARGUMENT SUPPLIED -- SETS MAXIMUM DELAY BEFORE PROGRAM SENDS ^C^C IF ZERO ARGUMENT SUPPLIED -- INHIBITS SENDING ^C^C TIME-OUT L NO ARGUMENTS ALLOWED -- SETS L MODE FLAG N NO ARGUMENTS ALLOWED -- CLEARS L MODE FLAG U NO ARGUMENTS ALLOWED -- SETS U MODE FLAG V NO ARGUMENTS ALLOWED -- CLEARS U MODE FLAG Q IF POSITIVE ARGUMENT SUPPLIED -- SETS NUMBER OF EXPECTED ERRORS IF ZERO ARGUMENT SUPPLIED -- INHIBITS ERROR CHECKING (APPLIES FOR NEXT LINE ONLY) X NO ARGUMENTS ALLOWED -- REST OF LINE IS SCRIPT 25 JULY 70 100-180-003-01 Page 10 FORMAT OF SCRIPT FILES COMMENT TO OPERATOR 5.5 TIMING UNITS TIMES ARE IN MILLISECONDS. RATES ARE IN MILLISECONDS PER CHARACTER. 5.6 L MODE WHEN L MODE IS SET AND WILL NOT BE SENT OVER THE PTY. THUS A LINE ENDING WITH CAN BE SENT. ANY LINE MUST END HOWEVER WITH A FULL CHARACTER SET BREAK CHARACTER DUE TO A LIMITATION IN THE PTY. 5.7 U MODE. WHEN SET U MODE CONVERTS "#" IN TEXT LINES INTO A STRING OF TWO OCTAL DIGITS EQUAL TO THE PTY UNIT NUMBER. (LEADING ZEROS WILL BE INCLUDED.) ALL DEC SCRIPTS USE THIS FEATURE TO LOG IN THE JOB UNDER PPN 4,77700 THROUGH 4,77777 (I.E., 4,777#). 5.8 INITIAL VALUES. AT THE START OF EACH PASS OVER A SCRIPT, THE FOLLOWING PARAMETERS ARE SET UP. ALL REMAINING QUANTITIES ARE SET TO ZERO. TYPE IN RATE .3 SEC/CHAR TYPE OUT RATE .1 SEC/CHAR ALLOWED RESPONSE TIME 10 SEC FREE TIME 7 SEC STAGGER TIME 20 SEC/JOB REPEAT COUNT 1 PASS U MODE ON, L MODE OFF SCRIPT 25 JULY 70 100-180-003-01 Page 11 FORMAT OF SCRIPT FILES 5.9 SAMPLE SCRIPT !;;SAMPLE SCRIPT/PFC 25 JULY 1970 IDENTIFY SCRIPT LOGIN START LOGIN 4,777# USE 4,77700+ XXXX# PASSWORD !XIN TELL OPERATOR DEL *.* CLEAR DIRECTORY MA FOO.F4 TYPE 1 1 FORMAT (' HI') END !L TERMINATE $EX$$ !N EXECUTE FOO KJOB START LOGOUT K KILL FILES !XOUT TELL OPERATOR SCRIPT 25 JULY 70 100-180-003-01 Page 12 OPERATING INSTRUCTIONS 6.0 OPERATING INSTRUCTIONS 6.1 BUILD A TIME-SHARING SYSTEM WITH SUFFICIENT JOBS AND PSEUDO-TELETYPES. ONE CONTROL JOB WILL BE NEEDED FOR EACH 14 JOBS FOLLOWING THE SCRIPT. 6.2 CREATE AN APPROPRIATE SCRIPT. 6.3 START THE SCRIPT PROGRAM. 6.4 IT WILL TYPE OUT THE NAME OF THE CURRENTLY LOADED SCRIPT. IF THE SEGMENT IS SHARABLE, IT WILL GO TO STEP 6.10. 6.5 IF THE SEGMENT IS NOT SHARABLE, IT ASKS "WHERE TO LOAD A SCRIPT?". TYPE THE DEVICE, FILE NAME, EXTENSION, AND DIRECTORY. IF ARGUMENTS ARE NOT SUPPLIED, THEY DEFAULT TO DSK:.SCP 6.6 THE PROGRAM WILL RESPOND WITH "NAME LOADED XX LINES" AND RETURN TO MONITOR COMMAND LEVEL. IF THERE WERE ERRORS IT WILL ASK INSTEAD IF A SCRIPT IS TO BE LOADED. GO BACK TO STEP 6.5. 6.7 IF THE SCRIPT IS NOT GOING TO BE SHARED TYPE "CONT" AND GO TO STEP 6.10. 6.8 SAVE THE LOADED SCRIPT WITH A SSAVE COMMAND. EXAMPLE: "SSAVE DSK:FOO". 6.9 START N COPIES OF THE PROGRAM BY LOGGING IN N JOBS AND GIVING THE COMMAND "RUN DSK SCRIPT" OR WHAT EVER IS NEEDED TO LOAD THE SAVED VERSION FROM STEP 6.8. THE INSTRUCTIONS IN THE REMAINING STEPS SHOULD BE FOLLOWED FOR EACH OF THE N JOBS. SCRIPT 25 JULY 70 100-180-003-01 Page 13 OPERATING INSTRUCTIONS 6.10 THE PROGRAM WILL NOW ASK HOW MANY JOBS ARE TO BE RUN. ENTER THE NUMBER FOR EACH CONTROL JOB ON ITS TTY. THE MAXMIMUM NUMBER IS 14 JOBS PER CONTROL JOB. EACH OBJECT JOB NEEDS A PTY. 6.11 SHOULD THERE BE TOO FEW PTYS, THEN THE SCRIPT PROGRAM WILL RELEASE ALL GOTTEN SO FAR AND ASK OVER AGAIN HOW MANY JOBS ARE TO BE RUN. 6.12 THE FIRST 1-14 JOBS RUN BY A GIVEN SCRIPT JOB CAN BE MONITORED ON ANY DEVICE. THIS IS USEFUL FOR DEBUGGING A NEW SCRIPT. ANSWER THE QUESTION "WATCH HOW MANY JOBS?" APPROPRIATELY. A NULL RESPONSE (JUST ) WILL RESULT IN ALL JOBS BEING MONITORED. IF YOU ANSWER WITH A NUMBER MORE THAN 0, IT WILL ASK "WHERE". RESPOND WITH DEVICE, FILE NAME, EXTENSION, AND DIRECTORY. THE DEFAULTS ARE DSK:.WCH. SHOULD THE DEVICE BE UNAVAILABLE, OR THE FILE UNENTERABLE, AN ERROR MESSAGE WILL APPEAR ON THE TELETYPE AND THE QUESTION WILL BE ASKED AGAIN. SHOULD AN ERROR OCCUR ON THE DEVICE WHILE RUNNING, THE RUN WILL NOT BE SUSPENDED. HOWEVER, SUBSEQUENT MONITORING WILL BE INHIBITED. IF MORE THAN ONE JOB IS BEING MONITORED, EACH LINE IS PRECEEDED BY THE PROCESS NUMBER (01-14, DECIMAL). EXCEPT ON A TELETYPE MONITOR, EACH LINE WILL BE INDENTED 2*I SPACES. 6.13 IF THE SCRIPT CALLS FOR FASTER OUTPUT THAN THE DEVICE CAN HANDLE, THEN THE SCRIPT JOB WILL GO INTO I/O WAIT. THIS WILL RESULT IN VERY LONG DELAY TIMES ATTRIBUTED TO THE SCRIPT PROGRAM. THIS CONDITION SHOULD BE AVOIDED BY CHANGING THE SCRIPT PARAMETERS, USING A FASTER DEVICE OR NOT MONITORING AT ALL. 6.14 THE PROGRAM WILL NOW ASK, "WHERE TO LOG RESPONSE TIMES?" ANSWER WITH A DEVICE, FILE NAME, EXTENSION, AND DIRECTORY. ARGUMENTS NOT SUPPLIED WILL DEFAULT TO DSK:.RSP. A NULL RESPONSE (JUST ) WILL RESULT IN NO RESPONSES BEING LOGGED. SCRIPT 25 JULY 70 100-180-003-01 Page 14 OPERATING INSTRUCTIONS IF THE DEVICE IS NOT AVAILABLE, OR IF THE FILE CAN NOT BE ENTERED, GO BACK TO STEP 6.14. SHOULD A DATA ERROR OCCUR WHILE RUNNING, THE RUN WILL PROCEED WITH SUBSEQUENT RESPONSE LOGGING INHIBITED. AN ERROR MESSAGE WILL APPEAR ON THE TELETYPE. 6.15 SCRIPT ASKS "REPEAT COUNT = ". TYPE A DECIMAL NUMBER. IF ZERO OR NULL, THE REPEAT COUNT IN THE SCRIPT WILL BE USED. 6.16 SCRIPT ASKS "DELAY FACTOR = ". TYPE A DECIMAL NUMBER. THIS MULTIPLIES ALL THE DELAY TIMES. IF 1 OR NULL (JUST ), THE SCRIPT IS TAKEN LITERALLY, IF 0, DELAYS ARE IGNORED. 6.17 SCRIPT ASKS "STAGGER TIME = ". TYPE A DECIMAL NUMBER. IF NULL, THE VALUE IN THE SCRIPT WILL BE USED. IF 0, NO STAGGERING WILL APPLY. IF NON-ZERO, THE VALUE TYPED IN WILL BE TAKEN (IN SECONDS). 6.18 SCRIPT ASKS "SEE COMMENTS TO OPERATOR? ". TYPE YES OR NO. IF YES, ALL X SCRIPT COMMANDS WILL BE TYPED AS PROCESSED PREFIXED BY THE PROCESS NUMBER (1-14) IN DECIMAL WITHIN PARENTHESIS. 6.19 IF SCRIPT WAS ASSEMBLED WITH THE DEBUG SWITCH ON (THE NORMAL CASE), IT WILL ASK "DEBUG? ". ANSWER YES OR NO. IF YOU ANSWER YES, THEN SCRIPT WILL OPERATE IN DEBUG MODE. THIS WILL ADD TO THE MONITOR FILE (UNDER MONITORS WITH THE IMAGE MODE SCANNER SERVICE) THE JOB STATUS EACH TIME IT IS NOTICED TO BE DIFFERENT. THE OUTPUT WILL BE IN THE FORM "[\NN\]" WHERE NN IS THE HIGH ORDER SIX BITS RETURNED BY THE JOBSTS UUO. THESE BITS ARE AS FOLLOWS: 40 JOB NUMBER ASSIGNED 20 JOB COMPLETED LOGIN, NOT STARTED LOGOUT 10 TTY AT MONITOR LEVEL 04 TTY OUTPUT AVAILABLE 02 TTY IN NEED OF INPUT TO DO ANYTHING 01 CONTROL C DEFEATED SCRIPT 25 JULY 70 100-180-003-01 Page 15 OPERATING INSTRUCTIONS 6.20 SCRIPT ASKS "WATCH FOR ERRORS?". TYPE YES OR NO. IF YES, ALL PTY OUTPUT FOR ALL THE JOBS WILL BE MONITORED FOR "?" LINES. UNLESS THE SCRIPT HAS PREDICTED ERRORS, ALL SUCH LINES WILL BE TYPED ON THE TELETYPE PREFIXED BY THE PROCESS NUMBER (1-14) IN DECIMAL WITHIN PARENTHESES AND FOLLOWED BY TWO BELLS. 6.21 SCRIPT WILL SAY "STARTING". JOBS UNDER CONTROL OF A GIVEN CONTROL PROGRAM WILL BE STAGGERED BY THE INTERVAL SPECIFIED BY THE OPERATOR OR IN THE SCRIPT. IF MULTIPLE SCRIPT JOBS ARE RUNNING, THE USER CAN STAGGER THEIR TIMING BY ENDING STEP 6.20 AT THE APPROPRIATE TIME OF DAY. 6.22 WHEN THE LAST JOB UNDER A GIVEN SCRIPT PROGRAM HAS FINISHED, THE MESSAGE "ALL JOBS DONE" WILL APPEAR ON THE USERS TELETYPE AND THE LOG FILE AND MONITOR FILE WILL BE CLOSED. THE PROGRAM WILL THEN EXIT. 6.23 SHOULD IT BE NECESSARY TO TERMINATE A RUN, STOP THE CONTROL PROGRAM BY TYPING TWO CHARACTERS. TO CLOSE OUT THE LOG FILE REENTER THE PROGRAM BY A REENTER COMMAND. A MESSAGE "JOBS ABORTED" WILL APPEAR ON THE TELETYPE, AND ALL JOBS WILL BE KJOBBED. 6.24 THE FORTRAN PROGRAM TOTAL CAN BE USED TO SUMMARIZE THE RESPONSE LOG FILE. IT TAKES INPUT FROM 1:FOR01.DAT AND PLACES A SHORT LISTING ON 6:FOR06.DAT. SCRIPT 25 JULY 70 100-180-003-01 Page 16 OPERATING INSTRUCTIONS 6.25 SAMPLE DIALOGUE R SCRIPT GET SCRIPT NO SCRIPT LOADED WHERE TO LOAD A SCRIPT? SYS:DELALL NAME OF SCRIPT DELALL.SCP%002 LOADED 15 LINES .SS DSK:DELALL SAVE SO CAN SHARE JOB SAVED ^C .RU DSK:DELALL GET SHARABLE COPY SCRIPT DELALL.SCP%002 LOADED HOW MANY JOBS TO BE RUN? 14 MAX NUMBER WATCH HOW MANY JOBS? DO ALL WHERE? DEL1 USE DSK:DEL1.WCH WHERE TO LOG RESPONSE TIMES? DEL1 USE DSK:DEL1.RSP REPEAT COUNT = USE SCRIPT VALUE DELAY FACTOR = USE SCRIPT VALUE STAGGER TIME = USE SCRIPT VALUE SEE COMMENTS TO OPERATOR? Y WATCH PROGRESS DEBUG? N NOT USUALLY NEEDED WATCH FOR ERRORS? Y A GOOD IDEA STARTING (1) IN JOB 1 LOGGED IN (2) IN JOB 2 LOGGED IN ... (13) OUT JOB 13 LOGGED OUT (14) OUT JOB 14 LOGGED OUT ALL JOBS DONE IT HAS FINISHED EXIT ^C .