home *** CD-ROM | disk | FTP | other *** search
- -- A user of the Ada Software Repository on SIMTEL20 recently complained
- -- to the ADA-SW mailing list of having problems in compiling the TRACKER
- -- management tool. His problem may not be unique, and, in the interest
- -- of trying to help him and other users who may be encountering similar
- -- problems, I have prepared the following terminal session. It illustrates
- -- the steps I took in investigating his problem.
-
- -- The following terminal session was recorded on the NOSC-TECR DDN host
- -- computer (in San Diego, I believe). The FTP session illustrates the
- -- speed of FTP between SIMTEL20 (in White Sands, New Mexico) and NOSC-TECR.
- -- All work is done as a "normal" user (without using my priveleged account).
- -- The commands required by your particular FTP server may not be the same
- -- as the commands I am using in this demonstration -- FTP servers differ
- -- widely -- but this should be generic enough to allow you to figure out
- -- what your particular commands are.
-
- -- My comments are on lines prefixed with "--" (like these). All other lines
- -- are extracted from the transmission from NOSC-TECR with much extraneous
- -- detail edited out (to prevent this text from being too long).
-
- -- Rick Conn, 27 Feb 86
-
- -- The first step I took in looking at the TRACKER problem was to
- -- identify the program referred to. I had the following hints:
- -- it was named TRACKER and it was a Management tool
-
- -- From NOSC-TECR, I ran the online documentation system for the
- -- Ada Repository. I had copied the programs and data base over to
- -- NOSC-TECR from SIMTEL20 earlier, compiled the programs, and initialized
- -- the data base as per the documentation. See PD:<ADA.ONLINE-DOC>.
-
- -- Upon first running the online documentation system, I saw the following
- -- top-level menu:
-
- Ada AI APSE Interactive Mon
- ANSI-LRM Benchmarks CM_Data
- Compilation_Order Components Cross_Reference
- Data Base Management DDN Editors
- Education External_Tools Forms_Generator
- General Graphical_Kernel_Sys Management_Tools
- Math_Library Menu Message_Handling
- Metrics Miscellaneous_Tools NOSC_Tools
- Online_Documentation Pager Pointers
- Pretty_Printers Program_Stubber Simulation
- Spelling_Checkers Starter_Kit Style_Checkers
- Virtual_Terminal WIS-ADA_Tools
-
-
- -- My guess, which later proved to be correct, was that the TRACKER
- -- program would be under the topic of "Management_Tools", so I selected
- -- this topic as shown below. Note that I only needed to type enough
- -- characters to be unique.
-
-
- Level 0 Menu: (Exit, Selection) man
-
- -- The selection "man" generated the following (white space omitted):
-
- 1 Management_Tools
-
- PD:<ADA.MANAGEMENT-TOOLS>
-
- This subdirectory contains tools for use in managing an Ada
- software development project. Status tracking and Manpower estimation
- tools are included.
-
- PD:<ADA.MANAGEMENT-TOOLS>
- Bytes(SZ)
-
- MANAGE.CMM.1 1397(7)
- .PRO.1 3795(7)
- MANAGETR.DOC.1 25044(7)
- MANPOWER.DIS.1 167(7)
- .DOC.1 18973(7)
- .PRO.1 3795(7)
- .SRC.1 19412(7)
- PPLANNER.ABS.1 1594(7)
- .CMM.1 995(7)
- .DOC.1 144593(7)
- .PRO.1 3590(7)
- .SRC.1 394030(7)
- .TST.1 47041(7)
- PPLANNERS.DIS.1 178(7)
- PPLANNERT.DIS.1 410(7)
- TRACKDOC.DIS.1 67(7)
- TRACKER.DOC.1 262297(7)
- .INS.1 2924(7)
- .PRO.1 3795(7)
- .SRC.2 456782(7)
- .TST.1 37240(7)
- TRACKSRC.DIS.1 1432(7)
-
- Total of 571 pages in 22 files
-
- -- As a guess, TRACKER was probably what I was looking for. Since I'm
- -- just interested in looking at the code and resolving the CALENDAR
- -- question, I did not bother to transfer all the TRACK*.* files to
- -- NOSC-TECR. Instead, I only transferred the following:
- --
- -- TRACKER.INS -- probably installation instructions
- -- TRACKER.PRO -- the prologue (who wrote it and other good info)
- -- TRACKER.SRC -- probably the source code in pager format since
- -- there are no TRACKER.ADA files
- -- TRACKER.TST -- probably test routines or data
- --
- -- FYI, I also looked for TRACKER in the next lower menu:
-
- Level 0 Topic: 1 Management_Tools (Print, Exit, Up, Last, Menu) m
- Cost_Estimation General_Management Manpower
- Project_Tracking
-
-
- -- "Project_Tracking" is probably it. For more detail:
-
- Level 1 Menu: (Exit, Up, Selection) proj
-
- 2 Project_Tracking
- General Management
-
- Author : GTE Sylvania Systems Group
- : Western Division
-
- Keywords : Tracking
-
- Abstract :
- The TRACKR program tracks the progress within projects and
- generates reports, estimates time to complete a project,
- and estimates project requirements. INPREP builds the data
- file for TRACKR interactively and outputs error messages for
- invalid data. The MANPOWER program based on the Simple Boehm
- Model produces manpower loading curves for several calculated
- schedules based on the number of lines of code and type of
- system.
-
- -- More than likely, this is what the user was referring to. If I'm
- -- wrong, I can use the online doc system to look further. Elapsed time
- -- in the online doc system so far: approx 2 minutes
-
- -- I then exited the online doc system, moved into a directory I could
- -- work from, and then ran FTP to connect to SIMTEL20. This directory
- -- was already set up with a blank Ada library to compile into.
-
- -- The FTP session follows:
-
- -- 1. Run FTP and connect to SIMTEL20
- $ ftp simtel20
- Connection Opened
- Using 8-bit bytes.
- <SIMTEL20.ARPA FTP Server Process 5Z(46)-7 at Thu 27-Feb-86 19:23-MST
- nosc-tecr FTP User Process (Version 3.00)
-
- -- 2. Set my file type to ASCII
- *ascii
- <Type A ok.
-
- -- 3. Log in as a normal user (anonymous login)
- *login anonymous
- <ANONYMOUS user ok, send real ident as password.
- Password:
- <User ANONYMOUS logged in at Thu 27-Feb-86 19:23-MST, job 8.
-
- -- 4. Move to the target directory which contains the TRACKER files.
- -- Since I plan to extract only, no password is necessary.
- *cd pd:<ada.management-tools>
- <Default name accepted. Send password to connect to it.
-
- -- 5. Transfer the desired files:
- -- TRACKER.SRC
- -- TRACKER.PRO
- -- TRACKER.INS
- -- TRACKER.TST
- *get tracker.src
- <Port 7.67 at host 26.1.0.35 accepted.
- <ASCII retrieve of PD:<ADA.MANAGEMENT-TOOLS>TRACKER.SRC.2 started.
- 443709 bytes in 146 seconds--24312 bps
- <Transfer completed. 456782 (8) bytes transferred.
- *get tracker.pro
- <Port 7.70 at host 26.1.0.35 accepted.
- <ASCII retrieve of PD:<ADA.MANAGEMENT-TOOLS>TRACKER.PRO.1 started.
- 3717 bytes in 1 seconds--29736 bps
- <Transfer completed. 3795 (8) bytes transferred.
- *get tracker.ins
- <Port 7.71 at host 26.1.0.35 accepted.
- <ASCII retrieve of PD:<ADA.MANAGEMENT-TOOLS>TRACKER.INS.1 started.
- 2836 bytes in 1 seconds--22688 bps
- <Transfer completed. 2924 (8) bytes transferred.
- *get tracker.tst
- <Port 7.72 at host 26.1.0.35 accepted.
- <ASCII retrieve of PD:<ADA.MANAGEMENT-TOOLS>TRACKER.TST.1 started.
- 36681 bytes in 15 seconds--19560 bps
- <Transfer completed. 37240 (8) bytes transferred.
-
- -- Got them -- now exit
- *quit
- exit
-
-
- -- First, I'll look at TRACKER.PRO to overview the release info:
-
- $ type tracker.pro
- -------- SIMTEL20 Ada Software Repository Prologue ------------
- -- -*
- -- Unit name : General Management
- -- Version : 1.0
- -- Contact : Lt. Colonel Falgiano
- -- : ESD/SCW
- -- : Hanscom AFB, MA 01731
- -- Author : GTE Sylvania Systems Group
- -- : Western Division
- -- : PO Box 7188
- -- : San Diego, Ca 94039
- -- DDN Address :
- -- Copyright : (c) 1985 GTE, Inc.
- -- Date created : Dec. 1984
- -- Release date : May 1985
- -- Last update :
- -- -*
- ---------------------------------------------------------------
- -- -*
- -- Keywords :
- ----------------:
- --
- -- Abstract : The TRACKR program tracks the progress within projects and
- ----------------: generates reports, estimates time to complete a project,
- ----------------: and estimates project requirements. INPREP builds the data
- ----------------: file for TRACKR interactively and outputs error messages for
- ----------------: invalid data. The MANPOWER program based on the Simple Boehm
- ----------------: Model produces manpower loading curves for several calculated
- ----------------: schedules based on the number of lines of code and type of
- ----------------: system.
- ----------------:
- ----------------:
- ----------------:
- ----------------: This tool was developed as a precursor for
- ----------------: the WMCCS Information System (WIS). An
- ----------------: executable version of the tool has been
- ----------------: demonstrated. This source code has sub-
- ----------------: sequently been recompiled but has not under-
- ----------------: gone extensive testing.
- ----------------:
- -- -*
- ------------------ Revision history ---------------------------
- -- -*
- -- DATE VERSION AUTHOR HISTORY
- -- 5/84 1.0 Initial Release
- -- -*
- ------------------ Distribution and Copyright -----------------
- -- -*
- -- This prologue must be included in all copies of this software.
- --
- -- This software is copyright by the author.
- --
- -- This software is released to the Ada community.
- -- This software is released to the Public Domain (note:
- -- software released to the Public Domain is not subject
- -- to copyright protection).
- -- Restrictions on use or distribution: NONE
- -- -*
- ----------------- Disclaimer ----------------------------------
- -- -*
- -- This software and its documentation are provided "AS IS" and
- -- without any expressed or implied warranties whatsoever.
- --
- -- No warranties as to performance, merchantability, or fitness
- -- for a particular purpose exist.
- --
- -- Because of the diversity of conditions and hardware under
- -- which this software may be used, no warranty of fitness for
- -- a particular purpose is offered. The user is advised to
- -- test the software thoroughly before relying on it. The user
- -- must assume the entire risk and liability of using this
- -- software.
- --
- -- In no event shall any person or organization of people be
- -- held responsible for any direct, indirect, consequential
- -- or inconsequential damages or lost profits.
- -- -*
- ----------------- END-PROLOGUE -------------------------------
-
-
- -- Next, I'll type out the installation instructions:
-
- $ type tracker.ins
-
-
-
- 1 INSTALLING TRACKER
-
- 1.1 Changing TRACKER Parameters
-
- There are 3 parameters which may be modified before building the
- executable version of TRACKER. These parameters are located in
- package DATA_PKG, file DATAPKG.ADA. The parameters describe the
- working calendar of the company installing TRACKER and are used to
- predicting the completion date for projects. The holidays and
- vacation days are evenly distributed throughout the calendar year.
- The parameters are as follows:
-
- Name of Constant Default Description
- ---------------- ------ -----------
- DAYS_IN_WORK_WEEK 5 number of work days in the 7 day week
- HOURS_IN_WORK_DAY 8.0 number of hours worked in 1 work day
- WORK_DAYS_OFF_IN_YEAR 10 number of holidays and vacation days
- on an average
-
-
- In order to change the constants, the person installing the
- software must edit the DATA_PKG (contained in file DATAPKG.ADA).
- After the parameters have been changed to the desired values, the
- TRACKER executable image is now ready to be built.
-
-
-
- 1.2 Compiling And Linking TRACKER
-
- If the system TRACKER is being installed on is a VAX, the files
- can be compiled by submitting the command file called COMALL.COM. If
- some other system is being used, the Ada files should be compiled in
- the following order:
-
- CALENDARS.ADA
- CALENDARB.ADA
- LISTPKGS.ADA
- LISTPKGB.ADA
- DATAPKG.ADA
- VT100S.ADA
- VT100B.ADA
- PROMPTS.ADA
- PROMPTB.ADA
- TRACKER.ADA
- INITTR.ADA
- SETUPTR.ADA
- MANDATA.ADA
- PRIOR.ADA
- CALCTIME.ADA
- CHKPCT.ADA
- FIXDATA.ADA
- FIXRESET.ADA
- FIXORIG.ADA
- WRDATA.ADA
- MENUDR.ADA
-
- Page 2
-
-
- GETDATA.ADA
- GLOBAL.ADA
- AC.ADA
- MS.ADA
- PR.ADA
- SS.ADA
- EL.ADA
- REPORT.ADA
- CALCPCT.ADA
- RCOMMENTS.ADA
- RDATEDONE.ADA
- RLISTEL.ADA
- RLISTMS.ADA
- RLISTPR.ADA
- RLISTSS.ADA
- RPAGE.ADA
- RPARAM.ADA
- RPCTBYSS.ADA
- RPRINTED.ADA
- RSUMMS.ADA
- RSUMSS.ADA
- RWORKBYSS.ADA
- RWORKDIST.ADA
-
-
- After all units have been successfully recompiled, they can be
- linked together, forming the executable version.
-
- -- Note that a compilation order is given, and there are modules named
- -- CALENDAR or something like that. This may be the source of the
- -- problem.
-
- -- I now need to examine the SRC file. PAGER, another tool that I transferred
- -- from the Ada Repository earlier, is very convenient for doing this.
-
- $ pager
- PAGER, Version 1.6
- Type HELP for Help
-
- -- For illustration, these are the commands. Only the first letter is
- -- required.
- PAGER> h
- PAGER Commands:
- CHECK filename -- Ada Check on File
- LIST filename -- List Names of Component Files
- PAGE filename -- Create Paged File
- SCAN filename -- List Files in Paged File
- TOGGLE -- Indicate Flag Settings
- TOGGLE flag -- Toggle Indicated Flag:
- Comment, Include File, or
- Verbose
- UNPAGE filename -- Extract from Paged File
- X (Exit) -- Exit PAGER
-
- -- I can SCAN the contents of TRACKER.SRC to obtain useful information
- -- for later. Note the following from this listing:
- -- 1) data on magnitude of the software
- -- 2) names and sizes of the component files
- -- 3) if you compare this listing with the installation instructions,
- -- you will note that the component files are stored in
- -- compilation order; I can probably compile the entire
- -- tool by simply issuing one compilation command on the
- -- TRACKER.SRC file; however, I am interested in the
- -- CALENDAR information
- PAGER> s tracker.src
- Input File: tracker.src
- Ada Statements: 4343
- Ada Comments: 3196
- Text Lines: 13072
- Checksum: 125
- Component Files --
- calendars.ada
- 29 Lines
- calendarb.ada
- 237 Lines
- listpkgs.ada
- 35 Lines
- listpkgb.ada
- 322 Lines
- datapkg.ada
- 257 Lines
- vt100s.ada
- 18 Lines
- vt100b.ada
- 844 Lines
- prompts.ada
- 54 Lines
- promptb.ada
- 2010 Lines
- tracker.ada
- 155 Lines
- inittr.ada
- 36 Lines
- setuptr.ada
- 82 Lines
- mandata.ada
- 70 Lines
- prior.ada
- 209 Lines
- calctime.ada
- 242 Lines
- chkpct.ada
- 51 Lines
- fixdata.ada
- 122 Lines
- fixreset.ada
- 131 Lines
- fixorig.ada
- 32 Lines
- wrdata.ada
- 61 Lines
- menudr.ada
- 218 Lines
- getdata.ada
- 64 Lines
- global.ada
- 138 Lines
- ac.ada
- 684 Lines
- ms.ada
- 567 Lines
- pr.ada
- 853 Lines
- ss.ada
- 519 Lines
- el.ada
- 1304 Lines
- report.ada
- 182 Lines
- calcpct.ada
- 262 Lines
- rcomments.ada
- 63 Lines
- rdatedone.ada
- 369 Lines
- rlistel.ada
- 253 Lines
- rlistms.ada
- 331 Lines
- rlistpr.ada
- 289 Lines
- rlistss.ada
- 311 Lines
- rpage.ada
- 46 Lines
- rparam.ada
- 260 Lines
- rpctbyss.ada
- 174 Lines
- rprinted.ada
- 52 Lines
- rsumms.ada
- 267 Lines
- rsumss.ada
- 266 Lines
- rworkbyss.ada
- 197 Lines
- rworkdist.ada
- 274 Lines
-
- -- Now to extract the components from TRACKER.SRC; I have to extract
- -- all of them, but PAGER is fast and it does not take long. Note the
- -- file names with the "--" prefix; it really appears that TRACKER.SRC
- -- was designed to be compiled without component separation being
- -- necessary
- PAGER> u tracker.src
- --calendars.ada
- 29 Lines
- --calendarb.ada
- 237 Lines
- --listpkgs.ada
- 35 Lines
- --listpkgb.ada
- 322 Lines
- --datapkg.ada
- 257 Lines
- --vt100s.ada
- 18 Lines
- --vt100b.ada
- 844 Lines
- --prompts.ada
- 54 Lines
- --promptb.ada
- 2010 Lines
- --tracker.ada
- 155 Lines
- --inittr.ada
- 36 Lines
- --setuptr.ada
- 82 Lines
- --mandata.ada
- 70 Lines
- --prior.ada
- 209 Lines
- --calctime.ada
- 242 Lines
- --chkpct.ada
- 51 Lines
- --fixdata.ada
- 122 Lines
- --fixreset.ada
- 131 Lines
- --fixorig.ada
- 32 Lines
- --wrdata.ada
- 61 Lines
- --menudr.ada
- 218 Lines
- --getdata.ada
- 64 Lines
- --global.ada
- 138 Lines
- --ac.ada
- 684 Lines
- --ms.ada
- 567 Lines
- --pr.ada
- 853 Lines
- --ss.ada
- 519 Lines
- --el.ada
- 1304 Lines
- --report.ada
- 182 Lines
- --calcpct.ada
- 262 Lines
- --rcomments.ada
- 63 Lines
- --rdatedone.ada
- 369 Lines
- --rlistel.ada
- 253 Lines
- --rlistms.ada
- 331 Lines
- --rlistpr.ada
- 289 Lines
- --rlistss.ada
- 311 Lines
- --rpage.ada
- 46 Lines
- --rparam.ada
- 260 Lines
- --rpctbyss.ada
- 174 Lines
- --rprinted.ada
- 52 Lines
- --rsumms.ada
- 267 Lines
- --rsumss.ada
- 266 Lines
- --rworkbyss.ada
- 197 Lines
- --rworkdist.ada
- 274 Lines
- PAGER> x
-
- -- Finally, CALENDARS.ADA was one of the files in question. The
- -- listing follows, and, as you can see, the "missing" definitions
- -- are stored here. I can only assume that the user made some
- -- error in transferring the files or compiling them.
-
- $ type calendars.ada
- generic
- DAYS_IN_WEEK : positive := 5;
- HOURS_IN_DAY : float := 8.0;
- DAYS_OFF_IN_YEAR : natural := 0;
-
- package WORK_CALENDAR is
- subtype YEAR_NUMBER is integer range 1901..2099;
- subtype MONTH_NUMBER is integer range 1..12;
- subtype DAY_NUMBER is integer range 1..31;
- subtype HOUR_NUMBER is float range 0.0..HOURS_IN_DAY;
- type DATE_TYPE is record
- MONTH : month_number;
- DAY : day_number;
- YEAR : year_number;
- end record;
-
- NULL_DATE : constant date_type := (2,31,1902);
- UNDERFLOW_DATE : constant date_type := (2,30,1901);
-
- function "+" (DATE : in date_type; HOURS : in float) return DATE_TYPE;
- function "+" (HOURS : in float; DATE : in date_type) return DATE_TYPE;
- function "-" (DATE : in date_type; HOURS : in float) return DATE_TYPE;
- function "-" (DATE1, DATE2 : in date_type) return float;
- function "<" (DATE1, DATE2 : in date_type) return boolean;
- function "<=" (DATE1, DATE2 : in date_type) return boolean;
- function ">" (DATE1, DATE2 : in date_type) return boolean;
- function ">=" (DATE1, DATE2 : in date_type) return boolean;
- function VALID (MONTH, DAY, YEAR : in integer) return boolean;
- end WORK_CALENDAR;
-
-
- -- The total elapsed time for this session was under 30 minutes.
- -- I hope this answers many questions and clarifies some points.
- -- There are other terminal sessions and several document files in
- -- the Ada Repository on SIMTEL20 which were also designed to show
- -- you how to do this. It is just a matter of reading through the
- -- files in GENERAL and the Welcome message.
-
-