Google
 

Trailing-Edge - PDP-10 Archives - decuslib20-06 - decus/20-158/acct20-plm.ps
There are no other files named acct20-plm.ps in the archive.
%!PS-Adobe-1.0
%%Title: ACCT20-PLM.MSS
%%DocumentFonts: (atend)
%%Creator: HDTODD and Scribe 5(1501)
%%CreationDate: 2 May 1988 09:48
%%Pages: (atend)
%%EndComments
% PostScript Prelude for Scribe.
/BS {/SV save def 0.0 792.0 translate .01 -.01 scale} bind def
/ES {showpage SV restore} bind def
/SC {setrgbcolor} bind def
/FMTX matrix def
/RDF {WFT SLT 0.0 eq 
  {SSZ 0.0 0.0 SSZ neg 0.0 0.0 FMTX astore}
  {SSZ 0.0 SLT sin SLT cos div SSZ mul SSZ neg 0.0 0.0 FMTX astore}
  ifelse makefont setfont} bind def
/SLT 0.0 def
/SI { /SLT exch cvr def RDF} bind def
/WFT /Courier findfont def
/SF { /WFT exch findfont def RDF} bind def
/SSZ 1000.0 def
/SS { /SSZ exch 100.0 mul def RDF} bind def
/AF { /WFT exch findfont def /SSZ exch 100.0 mul def RDF} bind def
/MT /moveto load def
/XM {currentpoint exch pop moveto} bind def
/UL {gsave newpath moveto dup 2.0 div 0.0 exch rmoveto
   setlinewidth 0.0 rlineto stroke grestore} bind def
/LH {gsave newpath moveto setlinewidth
   0.0 rlineto
   gsave stroke grestore} bind def
/LV {gsave newpath moveto setlinewidth
   0.0 exch rlineto
   gsave stroke grestore} bind def
/BX {gsave newpath moveto setlinewidth
   exch
   dup 0.0 rlineto
   exch 0.0 exch neg rlineto
   neg 0.0 rlineto
   closepath
   gsave stroke grestore} bind def
/BX1 {grestore} bind def
/BX2 {setlinewidth 1 setgray stroke grestore} bind def
/PB {/PV save def translate 100.0 -100.0 scale pop} bind def
/PE {PV restore} bind def
/SH /show load def
/MX {exch show 0.0 rmoveto} bind def
/W {0 32 4 -1 roll widthshow} bind def
/WX {0 32 5 -1 roll widthshow 0.0 rmoveto} bind def
%%EndProlog
%%Page: 0 1 
BS
0 SI
16 /Times-Bold AF
27534 14032 MT
(ACCT20)SH
18892 17812 MT
(DECSYSTEM-20 Resource-Usage)SH
23423 19702 MT
(Accounting Program)SH
/Times-BoldItalic SF
26822 23482 MT
(Version 2.0)SH
/Times-Bold SF
22556 27262 MT
(Program Logic Manual)SH
14 SS 
27314 46082 MT
(Written by)SH
27041 47760 MT
(David Todd)SH
20471 49438 MT
(Director of University Computing)SH
24436 51116 MT
(Wesleyan University)SH
23736 52794 MT
(Middletown, CT 06457)SH
/Times-BoldItalic SF
27216 56150 MT
(2 May 1988)SH
ES
%%Page: 1 2 
BS
0 SI
10 /Times-Bold AF
7200 4270 MT
(ACCT20 Program Logic Manual)SH
27877 XM
(Introduction)SH
51195 XM
(Page 1)SH
13 SS 
27060 8071 MT
(Introduction)SH
11 /Times-Roman AF
9700 11314 MT
(ACCT20 analyzes the TOPS-20)209 W
/Courier SF
24955 XM
(SYSTEM-DATA.BIN)SH
/Times-Roman SF
35338 XM
(files that contain audit trails of DEC-20)208 W
7200 12419 MT
(usage and produces summary and detailed reports of usage statistics.  The)8 W
/Times-Italic SF
40071 XM
(ACCT20 User)
8 W( Manual)9 W
/Times-Roman SF
50334 XM
(explains)SH
7200 13524 MT
(the use of the program for)
52 W( usage accounting.  This)51 W
/Times-Italic SF
30104 XM
(ACCT20 Program Logic Manual)51 W
/Times-Roman SF
45160 XM
(outlines the internal)51 W
7200 14629 MT
(operation of ACCT20 and explains how to assemble and load the necessary program modules.)SH
9700 16836 MT
(Before attempting to understand the operation of program,)
114 W( you will need to have read the Digital)115 W
/Times-Italic SF
7200 17941 MT
(DEC-20 Accounting System Specifications)218 W
/Times-Roman SF
27073 XM
(manual, Order Number DEC-20-UASSA-A-D \050part of the)217 W
7200 19046 MT
(TOPS-20 documentation)
98 W( set\051.  This document explains the internal format of the)99 W
/Courier SF
44100 XM
(SYSTEM-DATA.BIN)SH
/Times-Roman SF
7200 20151 MT
(file that TOPS generates to)
66 W( record system usage.  The binary, variable-length records in that file contain)65 W
7200 21256 MT
(information about CPU usage, structure and tape mounts, printer usage, etc.  It is that file)
77 W( that ACCT20)78 W
7200 22361 MT
(processes to summarize system usage.)SH
9700 24568 MT
(It will also be helpful to have access to the files that generate and are used)
184 W( by ACCT20.  The)183 W
7200 25673 MT
(distribution tape for ACCT20 contains the following files:)SH
/Courier SF
7200 27555 MT
(ACCT20.MAC, .REL, .EXE)SH
/Times-Roman SF
16000 28751 MT
(The assembly-language source program, assembled code, and executable)
215 W( code for)214 W
16000 29947 MT
(ACCT20.)SH
/Courier SF
7200 31642 MT
(BINTAB.MAC, .REL)SH
/Times-Roman SF
16000 32838 MT
(A package of routines for handling binary tables.)SH
/Courier SF
7200 34533 MT
(TREES.MAC, .REL)SH
/Times-Roman SF
16000 35729 MT
(A package of routines used for binary-tree manipulation by ACCT20.)SH
/Courier SF
7200 37424 MT
(CLSACT.MAC, .REL, .EXE)SH
/Times-Roman SF
16000 38620 MT
(A program that can be)
42 W( used to close the TOPS-maintained file)41 W
/Courier SF
44100 XM
(SYSTEM-DATA.BIN)SH
/Times-Roman SF
16000 39816 MT
(daily, giving a unique)
106 W( name to the file that summarizes the accounting data for that)107 W
16000 41012 MT
(day.)SH
/Courier SF
7200 42707 MT
(MONTHLY.CTL)SH
/Times-Roman SF
16000 XM
(A prototype for a batch control file that can be used)
92 W( to perform monthly accounting)91 W
16000 43903 MT
(with ACCT20.)SH
/Courier SF
7200 45598 MT
(ACCT20.CHG)SH
/Times-Roman SF
16000 XM
(An example of a file that can)
61 W( be used to specify charges to be assessed for resources)62 W
16000 46794 MT
(used.)SH
/Courier SF
7200 48489 MT
(ACCT20.PCG)SH
/Times-Roman SF
16000 XM
(An example of a file that can be used)
85 W( to specify charges to be assessed for different)84 W
16000 49685 MT
(types of printer forms used.)SH
/Courier SF
7200 51380 MT
(ACCT20.CAT)SH
/Times-Roman SF
16000 XM
(An example file to demonstrate how specific users and departments can)
102 W( be grouped)103 W
16000 52576 MT
(together into categories for summarization of use by broad categories instead of use)97 W
16000 53772 MT
(by individual users.)SH
/Courier SF
7200 55467 MT
(ACCT20-USER.MSS, .PS, .LPT)SH
/Times-Roman SF
16000 56663 MT
(The SCRIBE source)
20 W( file, PostScript-printable, and line-printable text files for the user)19 W
16000 57859 MT
(manual.)SH
/Courier SF
7200 59554 MT
(ACCT20-PLM.MSS, .PS, .LPT)SH
/Times-Roman SF
16000 60750 MT
(The SCRIBE source)
208 W( file, PostScript-printable, and line-printable text files for this)207 W
16000 61946 MT
(manual.)SH
9700 63051 MT
(The latter, data files are used by ACCT20 in processing)
203 W( the accounting information into usage)204 W
7200 64156 MT
(summaries, and much of the program deals with building tables from these files.)SH
ES
%%Page: 2 3 
BS
0 SI
10 /Times-Bold AF
7200 4270 MT
(ACCT20 Program Logic Manual)SH
26530 XM
(Internal Operation)SH
51195 XM
(Page 2)SH
13 SS 
25310 8071 MT
(Internal Operation)SH
11 /Times-Roman AF
9700 11314 MT
(The ACCT20 program is table-driven by various commands.)
41 W( The)
355 W( primary loop of the program is a)40 W
7200 12419 MT
(very simple one beginning at)187 W
/Courier SF
21180 XM
(LOOP)SH
/Times-Roman SF
(, shortly after the)187 W
/Courier SF
32357 XM
(ACCT20)SH
/Times-Roman SF
36779 XM
(starting address, and is driven by the)187 W
7200 13524 MT
(processing of a COMAND JSYS call \050to DPROMP\051 that takes a command from the user)
65 W( and dispatches)64 W
7200 14629 MT
(to the appropriate routine to process the command.  Most commands set status bits)
50 W( in a flag accumulator)51 W
7200 15734 MT
(to indicate post-processing output routine)
135 W( to be invoked, open and process auxiliary data files to build)134 W
7200 16839 MT
(internal data tables, and open output JFN's.)SH
9700 19046 MT
(The main processing routine is the one that processes the system data)
66 W( file \050)67 W
/Courier SF
(SYSTEM-DATA.BIN)SH
/Times-Roman SF
(\051.)SH
7200 20151 MT
(This processing is initiated by the)166 W
/Courier SF
23290 XM
(PROCESS)SH
/Times-Roman SF
28351 XM
(command. The)
606 W( code in that section, starting at address)165 W
/Courier SF
7200 21256 MT
(.PRO)SH
/Times-Roman SF
(:)SH
/Symbol SF
9169 22756 MT
(\267)SH
/Times-Roman SF
9950 XM
(reads in a record and validates it as best it can,)SH
/Symbol SF
9169 24849 MT
(\267)SH
/Times-Roman SF
9950 XM
(dispatches to the processing routine appropriate for the type)
256 W( of entry of the accounting)257 W
9950 26244 MT
(record,)SH
/Symbol SF
9169 28337 MT
(\267)SH
/Times-Roman SF
9950 XM
(returns to read the next record to process, and)SH
/Symbol SF
9169 30430 MT
(\267)SH
/Times-Roman SF
9950 XM
(at the end of the last input file \050from a possible sequence of input files\051, invokes)
67 W( procedures)66 W
9950 31825 MT
(to dump and list summary data tables.)SH
9700 34032 MT
(The summary information is maintained in a binary tree that is dynamically created)
201 W( during the)202 W
/Courier SF
7200 35137 MT
(PROCESS)SH
/Times-Roman SF
(ing of the accounting files.  The)490 W
/Courier SF
29546 XM
(DUMP)SH
/Times-Roman SF
32951 XM
(command dumps)
490 W( the \050memory-independent\051)489 W
7200 36242 MT
(information in)
93 W( this tree, along with some header information, into the)94 W
/Courier SF
38998 XM
(SUMMARY.BIN)SH
/Times-Roman SF
46627 XM
(file. This)
463 W( file is)94 W
7200 37347 MT
(can be used for)22 W
/Courier SF
14250 XM
(REPROCESS)SH
/Times-Roman SF
(ing, to re)21 W
/Courier SF
(CATEGORIZE)SH
/Times-Roman SF
31069 XM
(the summarized data for various usage analyses, for)21 W
7200 38452 MT
(example. The)275 W
/Courier SF
13736 XM
(LIST)SH
/Times-Roman SF
16651 XM
(commands process the binary summary tree into text files.)SH
9700 40659 MT
(Most of the processing is actually straightforward, and there are, hopefully, few)
85 W( interdependencies)86 W
7200 41764 MT
(between sections of code. The addition of new commands should be relatively)
343 W( easy should new)342 W
7200 42869 MT
(developments be desired.)SH
ES
%%Page: 3 4 
BS
0 SI
10 /Times-Bold AF
7200 4270 MT
(ACCT20 Program Logic Manual)SH
25710 XM
(Assembly and Loading)SH
51195 XM
(Page 3)SH
13 SS 
24242 8071 MT
(Assembly and Loading)SH
11 /Times-Roman AF
9700 11314 MT
(ACCT20 must be compiled with several standard)
180 W( Digital symbol-definition modules and loaded)181 W
7200 12419 MT
(with two other modules written specifically for ACCT20, BINTAB and TREES.  BINTAB is a set of)141 W
7200 13524 MT
(routines to keep one-word-entry binary tables)
93 W( \050similar to TBLUK JSYS methods but with binary keys\051.)94 W
7200 14629 MT
(TREES builds, maintains, and processes the internal binary trees used for data storage for summary)214 W
7200 15734 MT
(purposes \050among other things\051. The LOAD command then takes the form)SH
/Courier-Bold SF
9840 17392 MT
(@LOAD ACCT20,BINTAB,TREES)SH
9840 18616 MT
(@SAVE)SH
/Times-Roman SF
9700 20823 MT
(The TREES routines use height-balancing algorithms explained by Knuth in)
522 W( Volume 1,)523 W
/Times-Italic SF
7200 21928 MT
(Fundamental Algorithms)48 W
/Times-Roman SF
18601 XM
(in his series on)47 W
/Times-Italic SF
25633 XM
(The Art of Computer Programming)47 W
/Times-Roman SF
(. Version)
369 W( 1 of ACCT20 did)47 W
7200 23033 MT
(not use height-balancing.  Height balancing was expected to improve performance, but)
39 W( the net effect was)40 W
7200 24138 MT
(minimal: sometimes)
42 W( an improvement, sometimes not, depending upon the data stream.  Version 2 retains)41 W
7200 25243 MT
(the height-balancing algorithms, though.)SH
9700 27450 MT
(There are numerous demonstration and support files supplied with the)
72 W( ACCT20 package.  Most of)73 W
7200 28555 MT
(these are described in the ACCT20)
65 W( User Manual. The)64 W
/Courier SF
31727 XM
(MONTHLY.CTL)SH
/Times-Roman SF
39326 XM
(and)SH
/Courier SF
41253 XM
(BILLER.CTL)SH
/Times-Roman SF
48192 XM
(files serve as)64 W
7200 29660 MT
(prototypes for a monthly summary report generating batch control file and for a monthly billing)
175 W( file.)176 W
7200 30765 MT
(Instructions on use of these files are contained in the files themselves.)SH
ES
%%Page: 4 5 
BS
0 SI
10 /Times-Bold AF
7200 4270 MT
(ACCT20 Program Logic Manual)SH
28073 XM
(Deficiencies)SH
51195 XM
(Page 4)SH
13 SS 
27315 8071 MT
(Deficiencies)SH
11 /Times-Roman AF
9700 11314 MT
(The following are the major decificiencies of which I'm aware in ACCT20:)SH
/Symbol SF
9169 12814 MT
(\267)SH
/Times-Roman SF
9950 XM
(Error recovery for various commands processing from disk files is poor.  For example, if)
96 W( a)95 W
9950 14209 MT
(keyword is)
97 W( mistyped in the)98 W
/Courier SF
22630 XM
(ACCT20.CHG)SH
/Times-Roman SF
29603 XM
(file, no recovery is attempted and the user must)98 W
/Courier SF
9950 15604 MT
(CNTL-C)SH
/Times-Roman SF
14185 XM
(and search through the file to attempt to find and fix the problem.)SH
/Symbol SF
9169 17697 MT
(\267)SH
/Times-Roman SF
9950 XM
(The binary tree routines do height balancing, but)
68 W( it appears that algorithm does not improve)67 W
9950 19092 MT
(execution time of the program \050and may make it worse)
104 W( in some cases\051.  It appears that the)105 W
9950 20487 MT
(efficiency of the summarizing process depends upon)
49 W( the order in which entries appear in the)48 W
9950 21882 MT
(system data file.  Use)
85 W( of a height-balancing algorithm for tree maintenance may help in the)86 W
9950 23277 MT
(generation of the tree but not in its processing.)
261 W( Further)
795 W( analyses might be useful \050but)260 W
9950 24672 MT
(probably won't effect significant performance improvements\051.)SH
/Symbol SF
9169 26765 MT
(\267)SH
/Times-Roman SF
9950 XM
(The summary listing file does not visually group)
167 W( summary lines by directory level.  This)168 W
9950 28160 MT
(should be a relatively easy fix.)SH
/Symbol SF
9169 30253 MT
(\267)SH
/Times-Roman SF
9950 XM
(Generation of details listings for bills should be)
233 W( made automatic rather than requiring a)232 W
9950 31648 MT
(separate processing step.)SH
/Symbol SF
9169 33741 MT
(\267)SH
/Times-Roman SF
9950 XM
(Rob Austein has pointed out that)
381 W( while reading a data file to establish tables \050e.g.,)382 W
/Times-Italic SF
9950 35136 MT
(ACCT20.CAT)SH
/Times-Roman SF
(\051, the message)
73 W( "too big for internal buffer" can occasionally be generated.  He)72 W
9950 36531 MT
(points out that this is because even in processing a file the DPROMP JSYS should be called)53 W
9950 37926 MT
(to set up state pointers.  I haven't had a)
94 W( chance to try his suggested patches and so haven't)93 W
9950 39321 MT
(installed them in Version 2, but I trust that these will solve that problem:)SH
9950 41414 MT
(Replace)SH
/Courier-Bold SF
12590 43072 MT
(HRROI A,[ASCIZ)
1320 W( "Foo>"])SH
12590 44296 MT
(TXNE F,F%TTIN)1980 W
13250 45520 MT
(CALL DPROMP)SH
/Times-Roman SF
9950 47192 MT
(with code such as)SH
/Courier-Bold SF
12590 48850 MT
(HRROI A,[ASCIZ)
1320 W( "Foo>"])SH
12590 50074 MT
(TXNN F,F%TTIN)1980 W
13250 51298 MT
(HRROI A,[Z])660 W
12590 52522 MT
(CALL DPROMP)1980 W
/Times-Roman SF
9950 54615 MT
(This will invoke DPROMP)
8 W( with a null string if not interactive, so the state block is initialized)9 W
9950 56010 MT
(as it should be.)SH
9700 58217 MT
(Unfortunately I will be unable to provide ongoing)
79 W( support or future versions of ACCT20.  I invite)78 W
7200 59322 MT
(anyone who has additional edits to submit the revised code to the DECUS Library, Marlboro, MA.)SH
ES
%%Page: i 6 
BS
0 SI
10 /Times-Bold AF
7200 4270 MT
(ACCT20 Program Logic Manual)SH
51417 XM
(Page i)SH
13 SS 
25652 8071 MT
(Table of Contents)SH
12 SS 
9000 9327 MT
(Introduction)SH
53400 XM
(1)SH
9000 10583 MT
(Internal Operation)SH
53400 XM
(2)SH
9000 11839 MT
(Assembly and Loading)SH
53400 XM
(3)SH
9000 13095 MT
(Deficiencies)SH
53400 XM
(4)SH
ES
%%Trailer
%%Pages: 6 
%%DocumentFonts: Times-Roman Times-Bold Times-BoldItalic Courier Times-Italic Symbol Courier-Bold