Trailing-Edge
-
PDP-10 Archives
-
decuslib20-07
-
decus/20-0161/pantt.hlp
There are no other files named pantt.hlp in the archive.
PANTT - The PERT and Gantt Program
Peter M. Hurley June 1, 1978
Help file for version 4.3(252) May 9, 1981
PANTT is a program written for project managers to aid them in both
scheduling and daily tracking of their projects. PANTT is an
interactive data base management program that allows the project
manager to enter and update project information and status as each
project progresses. Whenever needed, PANTT can output an updated PERT
chart of the project, an overall Gantt chart of the project, and a
Gantt chart for each of the developers on the project.
Unlike most other computerized PERT systems, PANTT is designed to
produce the optimum schedule for more than one interdependent projects
being staffed by a common set of developers. As work assignments are
made, the project manager can direct PANTT to associate each developer
with his or her assigned projects. The remainder of the projects are
scheduled to be completed in the shortest time by optimally allocating
available developers and by reassigning developers as projects are
completed.
PANTT also makes it possible for the project manager to set up
dependencies of some projects on other projects. The scheduling
routine determines the critical path and allocates developers to the
projects on the critical path in a manner that minimizes the length of
the critical path. While doing this, the scheduling routine
acknowledges the dependencies specified by the project manager and
does not schedule any project until all projects that are blocking
this project have been completed.
PANTT understands about the common problems of weekends, vacations,
new employees, outside dependencies, background activities, and
differing levels of developer productivity that plague all PERT
systems. There are facilities integrated into the PANTT system to
handle each of these problem areas.
Page 2
Each project being entered into the PANTT data base must be broken up
into a set of tasks. For example, the XYZ project might have the
following tasks: functional specification, design specification,
coding, debugging, and integration. In this example none of the tasks
can be started until the previous task has been completed. The
project manager would set this project up with each task being
dependent on the task immediately preceding it. If more detail is
desired, these tasks could be divided into smaller units. For
example, the coding task might be broken up into monitor code, utility
code, and application code. Both the utility code and the application
code are dependent on the monitor code being finished and could be
specified as being dependent on the monitor code task. But since the
utility code and the application code tasks are not dependent on each
other, these tasks can be done in parallel. The PANTT scheduler
routine would allocate developers to these tasks in the optimum
fashion to minimize the overall length of the project.
Page 3
PANTT Commands
1. Top level commands
ADD DEVELOPER user_name (RATE) x (HANDICAP) y
Add a developer to the overall developer list. This new
developer can spend up to x (0 to 1.0) amount of his or her
time working on projects. The handicap rating, y, is the
indication of the performance of this developer relative to
the other members on the project (1.0 is the norm).
ADD PROJECT (PROJECT NAME) project_name
Add a project to the data base.
ADD TASK (TASK NAME) task_name (TO PROJECT) project_name
Add a task to the specified project.
DELETE DEVELOPER user_name
Delete the specified user name from the overall developer
list.
DELETE PROJECT (PROJECT NAME) project_name
Delete the specified project and all of its tasks from the
data base.
DELETE TASK (FROM PROJECT) project-name (TASK NAME) task_name
Delete the specified task from the specified project.
EXIT
Exit from PANTT.
LIST (PROJECT) project_name (TASK) task_name
Type out all information about a given task. If task_name is
omitted then all tasks in the project will be listed.
Page 4
OUTPUT CHANGES-IN-ESTIMATED-DATES (TO FILE) file_specification
Outputs a list of all estimated dates which changed since the
last REMEMBER command.
OUTPUT CONTROL-FILE (TO FILE) file_specification
Writes a control file for a batch job to rebuild the PANTT
data-base. This lets one rename projects and make other
systematic changes with a text editor.
This process also flushes all dates stored by the last
REMEMBER command.
OUTPUT DEVELOPER-LIST (TO FILE) file_specification
Output the overall list of developers, their rates, and their
handicaps.
OUTPUT PATH-CHARACTER-LIST (TO FILE) file_specification
Outputs an alphabetical listing of each task with a given
path-character.
OUTPUT PERT-CHART (TO FILE) file_specification
Output a PERT chart of all tasks in the data base to the
specified file specification.
OUTPUT SCHEDULE (TO FILE) file_specification
Outputs a listing of all tasks sorted by earliest start date,
with the following information.
Estimated start and completion dates
Name of project and task
Project description
Task description
OUTPUT SELECTED-PERT-BOXES (TO FILE) file_spec
Same idea as OUTPUT PERT-CHART except one can select which
projects get included. See SELECT mode.
OUTPUT TASK-LIST (SORTED BY) EARLIEST-START-DATE (TO FILE) file_spec
Output a list of the tasks in the data base sorted by the
earliest start date. This list contains the task length, the
start date, the finish date, the developers available to work
on the task, the tasks blocking this task, and the tasks being
blocked by this task.
Page 5
OUTPUT TASK-LIST (SORTED BY) PROJECT (TO FILE) file_spec
Output a description of each task of each project in the data
base. This report lists all available data about each task.
The list is arranged alphabetically by project and by tasks
within each project.
Page 6
OUTPUT GANTT-CHART (OF) DEVELOPERS (TO FILE) file_spec
Output a Gantt chart for each developer scheduled to work on
some part of this set of projects and tasks. The Gantt chart
includes the dates that the developer is working on a task and
the amount of that developers time is being spent on that
task. The Gantt chart pictorially shows the start and end
dates for each task that this developer is working on. The
chart also indicates which tasks have been completed and which
tasks are in progress.
OUTPUT GANTT-CHART (OF) MILESTONES (TO FILE) file_spec
Output a chart show the dates of all milestones.
OUTPUT GANTT-CHART (OF) ONLY-DEVELOPER developer (TO FILE) file-spec
Output a gantt-chart for only one developer. This mode
figures out a good starting date for the chart.
OUTPUT GANTT-CHART (OF) TASKS (TO FILE) file_spec
Output a chart showing the start and finish of all tasks.
This chart also shows those tasks that have been completed,
those tasks that are in progress, and the number of people
allocated to each task at any point in time.
Page 7
PLOT GANTT-CHART (OF) DEVELOPERS (TO FILE) file_spec
PLOT GANTT-CHART (OF) MILESTONES (TO FILE) file_spec
PLOT GANTT-CHART (OF) ONLY-DEVELOPER developer (TO FILE) file_spec
PLOT GANTT-CHART (OF) TASKS (TO FILE) file_spec
PLOT PERT-CHART (TO FILE) file_spec
PLOT SELECTED-PERT-BOXES (TO FILE) file_spec
These commands are identical to the corresponding OUTPUT
commands except data is written in TXT2P format so that it may
be plotted on the VERSATEC plotter. Here is a brief example
of generating a PERT plot:
PANTT>PLOT PERT-CHART (TO FILE) PERT.T2P
PANTT>EXIT
@TXT2P
*PERT.DPL=PERT.T2P
NO ERRORS DETECTED
*^C
@R P
MODE(S)? 1
INPUT FILENAME(.DPL): PERT.DPL
@DO SYS:NETPLO PERT.PLO
now go over the LA36 next to the PDP-11 and type:
RUN MAPVP
INPUT FILENAME: PERT.PLO/E
The above procedure worked on system 1031 on 26 June 80.
Things may have changed since that date.
NOTE: The VERSATEC system is now located in CIRCUIT DESIGN
DRAFTING on MR1-2.
Page 8
REMEMBER (ESTIMATED DATES FOR FUTURE COMPARISON)
Remembers the estimated dates for each task. These may be
compared with the latest estimates with the OUTPUT CHANGES
command.
SCHEDULE
Perform a scheduling pass over all tasks in the data base.
This command requests the "Scheduler Look Ahead Value". This
is the searching depth to which the scheduler will go when
trying to resolve scheduling conflicts. A conflict arises
when there are more than one tasks that are not being blocked
by any other tasks and the set of developers available to work
on these tasks overlap. These conflicts are resolved by an
exhaustive check of all combinations and permutations of
developers and tasks. The scheduler choses the order that
minimizes the end date of the critical path.
Since the length of time to perform a scheduling pass
increases exponentially as the number of conflicts goes up,
PANTT allows the project manager to specify the depth of the
search. If the scheduler look ahead value is set to 0, PANTT
will do a complete scheduling pass in the shortest possible
time. [[Values other than zero have not been well tested]]
SET HOLIDAY (DATE) date
Prevents work from being scheduled on specified date.
SET PERT-PLACEMENT-ALGORITHM (TO THE) DEFAULT (PLACEMENT ALGORITHM)
Places the PERT boxes using minimum cpu time.
SET PERT-PLACEMENT-ALGORITHM (TO THE) HIGH-DENSITY (PLACEMENT
ALGORITHM)
Reduces the amount of white-space on the pert chart. If your
pert chart is larger than the plotter or line-printer page,
this command may help it fit.
This mode may also produce better looking pert charts.
[Depends on your definition of "good looking"]
SET SCHEDULE-DATE (TO) date
Pretend today is "date". Useful if a project will not start
for a while.
Page 9
UPDATE (PROJECT) project_name
Enter update mode for the specified project. This command
allows the project manager to go change project related data.
See the section on project commands for more detailed
information.
UPDATE (PROJECT) project_name (TASK) task_name
Enter update mode for the specified task. This command allows
the project manager to update task data for the specified
task. See the section on task commands for further details.
Page 10
2. Project Commands
DELETE DEVELOPER user_name
Delete a developer from the list of developers assigned to
this specific project.
DEVELOPER user_name (RATE) x (HANDICAP) y
Add the specified user to the list of developers available to
work on this project. The maximum amount of time that this
developer can spend on this project is x (0 to 1.0). The
relationship of this developer to the other developers on the
project is y (1.0 is the norm).
FINISHED (UPDATING PROJECT DATA)
This command returns to the top command level.
LIST
This command lists all the available data about this project.
PREFERENCE-VALUE (FOR FREE CHOICE) x
This command sets the free choice preference value for this
project. Whenever the scheduling routine makes a free choice
of the next task to be scheduled, this preference value will
bias its choice. The higher the value, the sooner the
scheduler will chose tasks of this project to be done.
PROJECT-DESCRIPTION
This command lets the project administrator rewrite the
description of this project. This description can be more
than one line in length, and it is terminated with an ALTMODE
or a CTRL/Z.
Page 11
3. Task Commands
ALL-DEVELOPERS-REQUIRED
This sets a bit which forces all listed developers to work on
this task for an equal amount of time. This is useful for
design reviews, group meetings and other tasks where all
developers are required.
This command will be replaced (or augmented) in a future
version by NUMBER-OF-DEVELOPERS-REQUIRED (IS EXACTLY)
n
which will schedule n of the available developers to work
together on this task.
ATTRIBUTE (NAME IS) name (VALUE) value
This allows the user to add additional description to a given
task. Attributes are remembered in the database and printed
when the task is listed. For example, the command:
ATTRIBUTE (NAME IS) BUDGET (VALUE) 35K
will generate a line containing:
BUDGET: 35K
whenever the task is listed.
COMPLETION-DATE date
This command specifies the actual completion date of the task.
If a task has a completion date specified, then the scheduler
assumes that this project must be scheduled according to this
date. The completion date can be specified as a date in the
future. An example of this is when a project manager adds a
task to indicate that a developer is going to be on vacation
on a particular date.
DELETE COMPLETION-DATE
This command deletes the actual finishing date for this task.
DELETE DEPENDENCY (ON PROJECT) project_name (TASK NAME) task_name
This command removes the dependency of the task being updated
on the task specified in this command.
DELETE DEVELOPER user_name
This command deletes the specified user from the list of
developers that are available to work on this task.
Page 12
DELETE ESTIMATED-PROJECT-LENGTH
This command deletes the specified task length.
DELETE EXPECTED COMPLETION-DATE
This command deletes the expected completion date of the task.
DELETE EXPECTED STARTING-DATE
This command deletes the expected start date of the task.
DELETE MINIMUM-STARTING-DATE
This command deletes the minimum starting date specification
for this task.
DELETE PATH-CHARACTER
Remove the critical path character from this task
DELETE PREFERENCE-VALUE
This command deletes the preference value for this task.
DELETE STARTING-DATE
This command deletes the starting date of the task.
DEPENDENCY (ON PROJECT) project_name (TASK NAME) task_name
This command indicates that this task cannot be started until
the specified task has been completed.
DEVELOPER user_name (RATE) x (HANDICAP) y
Add the specified user to the list of developers that can be
assigned to work on this task. The rate and handicap values
for this developer are x and y.
Page 13
ESTIMATED-PROJECT-LENGTH (IN DAYS) n
This command specifies the estimated length of the project.
The task length is specified in work days (5 work days per
week). This is an integer value; fractional days are not
accepted.
EXPECTED COMPLETION-DATE (IS) date
This command is used to set the expected completion date of a
project. This differs from the actual completion date only in
the fact that this date is not guaranteed. However, the
scheduling routine treats this date as if it is a firm date
for scheduling purposes.
EXPECTED STARTING-DATE (IS) date
Set the expected starting date. The scheduling routine will
cause this task to be scheduled on the specified date.
FINISHED (UPDATING TASK DATA)
This command returns to the top command level.
LIST
This command lists all available data about the task.
LONG-ATTRIBUTE name
This is the same as ATTRIBUTE except it takes a long string
terminated with an escape. Example:
LONG-ATTRIBUTE (NAME IS) COMPLETION-CRITERIA
VALUE OF ATTRIBUTE (<ESC> WHEN DONE)
ALL DEMO INFORMATION IS IN FILE.
$
will produce:
COMPLETION-CRITERIA:
ALL DEMO INFORMATION IS IN FILE.
whenever, the task is listed.
MILESTONE
This command marks this task as being a milestone.
Page 14
MINIMUM-STARTING-DATE date
This command specifies the earliest date that the this task
can be scheduled. The scheduling routines will schedule this
task at the optimal time after this date.
PATH-CHARACTER (IS) x
This command assigns a "critical-path character" to a task.
All tasks on the critical path blocking this task are flagged
with this path character. This allows several critical paths
to be monitored.
PREFERENCE-VALUE (FOR FREE CHOICE) x
This command sets the free choice preference value for this
task. Whenever the scheduler has a free choice between two
tasks belonging to the same project, it will chose the task
with the higher preference value. If both tasks have the same
preference value, then it will chose the task that will finish
in the longest time.
STARTING-DATE date
This command sets the actual starting date of the task. The
scheduling routines chose tasks that have starting dates
specified before any other tasks are chosen. In this way,
these tasks will be completed without interruption.
TASK-DESCRIPTION
This command allows the project manager to enter a new
description of the task.
TIME-TO-DATE (IN DAYS) n (AT DATE) date
This command specifies that n work days had been spent on this
project at the specified date. This command is used to give
updated information about the progress of a task after the
start date but before the completion date.
Page 15
4. SELECT MODE
There is a new option in the OUTPUT and PERT commands called
SELECTED-PERT-BOXES. The format of the command is exactly the same as
the normal PERT option except it leaves you in SELECT: mode when you
are done. SELECT: mode currently has 2 possible commands, FINISHED
and INCLUDE.
INCLUDE PROJECT project-name (NAME) task
If TASK is omitted the entire project is pert'ed. If TASK is
given, only that box is pert'ed. There may be any number of
INCLUDE commands.
FINISHED gets you out of select mode and writes out the pert.
example:
PANTT> PLOT SELECTED-PERT-BOXES (TO FILE) KL10.T2P
SELECT: INCLUDE PROJECT CPU
SELECT: INCLUDE PROJECT EBOX
SELECT: INCLUDE PROJECT MBOX
SELECT: INCLUDE PROJECT DEBUG CPU-POWERON
SELECT: FINISHED
This will produce a PERT chart of the CPU design up to CPU
poweron.
The selection happens prior to placing the boxes on the plot
and the plot looks as good as any full PANTT chart. Selection
only changes what gets plotted. All tasks are scheduled,
slacks set, and critical paths determined based on the full
network.
If the PERT is plotted (as opposed to printed on the line
printer) dependencies on boxes not plotted are indicated by
arrows. An arrow pointing up indicates that this task depends
on one or more tasks which are not in this PERT. An arrow
pointing down indicates that one or more tasks which are not
in this plot depend on this task.