home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The World of Computer Software
/
World_Of_Computer_Software-02-387-Vol-3of3.iso
/
c
/
civil-ab.zip
/
GANTT.ZIP
/
SCHEDULE.DOC
< prev
next >
Wrap
Text File
|
1988-10-18
|
163KB
|
5,017 lines
▀▀▀▀▀▀▀ ▀▀▀▀▀▀▀ ▀▀▀▀▀▀▀ ▀▀▀▀▀▀▀▀▀▀▀ ▀▀▀▀▀▀▀▀▀▀▀
▀▀▀▀▀ ▀▀▀▀▀ ▀▀▀▀▀ ▀▀▀▀▀▀▀▀▀▀▀ ▀▀▀▀▀▀▀▀▀▀▀
▀▀▀ ▀▀▀ ▀▀▀ ▀▀▀▀▀ ▀▀▀▀▀
▀▀▀▀▀▀▀▀▀▀▀▀ ▀ ▀▀▀ ▀▀▀
▀▀▀▀▀▀▀▀▀▀▀▀ ▀ ▀ ▀
▀▀▀ ▀▀▀ ▀▀▀ ▀▀▀ ▀▀▀
▀▀▀▀▀ ▀▀▀▀▀ ▀▀▀▀▀ ▀▀▀▀▀ ▀▀▀▀▀
▀▀▀▀▀▀▀ ▀▀▀▀▀▀▀ ▀▀▀▀▀▀▀ ▀▀▀▀▀▀▀ ▀▀▀▀▀▀▀
PERSONAL SOFTWARE
SCHEDULE
Shareware Version 1.2
(C) Copyright 1984,88 Donald C. Hitt
HITT Personal Software Company
13 Rosalind Road
Poughkeepsie, N.Y. 12601
914-471-5354
10-18-1988
SCHEDULE
PROGRAM LICENSE AGREEMENT
SCHEDULE Shareware version 1.2 is the property of
HITT Personal Software Company
13 Rosalind Road
Poughkeepsie, New York 12601
Using this program indicates your acceptance of the terms, conditions,
and limitations for the use of this program. If you do not agree with
these conditions, you should destroy the material immediately without
attempting to use or copy it.
LICENSE
You may
1. Use the program for educational or personal purposes.
2. Copy the program for backup purposes in support of your use of the
program.
3. Copy the program for another party if the other party agrees to
accept the terms and conditions of this agreement.
4. Terminate the license at any time by destroying or transferring
the program along with all copies.
You must
1. Reproduce and include the copyright notice on all copies,
modifications, or portions of this program.
2. Purchase the commercial version of the program from "HITT Personal
Software Company" if you are using the program for commercial
applications.
You understand that
1. There is no warranty.
2. There is no oblication on the part of "HITT Personal Software
Company" to provide any level of service for the free Shareware
version.
3. The program has a limited capacity designed to satisfy student
homework problems.
HITT Personal Software Page ii
SCHEDULE
ABSTRACT
SCHEDULE provides a system which allows task and resource modeling to
be done independently from start/end times. CPM and PERT techniques
are used to establish scheduling priorities. The AON grid is created
automatically at the time the schedule is processed.
A rich assortment of resource types are provided to allow realistic
modeling. The program works with resource limits to provide a schedule
which is consistent with the constraints and is based on the
priorities established by the requested completion times.
The program control allows for background processing of the scheduling
and printing while providing keyboard and display services in the
foreground.
HITT Personal Software Page iii
SCHEDULE
PREFACE
The first version of "SCHEDULE" was developed in the 1960's to
optimize the computer resources of a multiple computer installation
while prioritizing the schedule based on requested completion times.
Those principles have been applied to this system to provide a real
time interactive resource scheduling system.
The principles of CRITICAL PATH SCHEDULING are used in an environment
of resource constraints. This system generates its own matrix grid
based on the requested end results.
This system provides REAL TIME task coordination and dispatching while
providing INTERACTIVE updating, status inquiries, and new job
scheduling.
These features allow the program to be used effeciently in a broad
range of applications.
o Project managers will be better able to control project
interdependincys.
o Managers of small businesses will discover improvements in their
ability to predict when a job will be completed as well as
improvements in their resource utilization.
o Planners will find real answers to difficult management questions
concerning new resource assumptions or changes during the project.
HITT Personal Software Page iv
SCHEDULE
USING THIS DOCUMENT
The following is a general outline of the document.
Chapters 1, 2, and 3 contains information of general interest but is
not required to use the program.
Chapters 4, and 5 is not required if you know your system has the
required features and you know how to backup your disks using DOS
commands.
Chapters 6, 7, 8, 9, and 10 describe the operation of the program.
Chapters 11 defines the special types of resources supported by the
program. When you start making complex task models this chapter is
required reading.
Chapter 12, 13, and 14 describe three types of applications which you
may wish to read. Also the STATION project is described in appendix B.
Chapter 15 is a collection of ideas on ways to use the program. You
should review it to give yourself ideas.
Chapter 16 is a list of ways that others have had trouble. Review it
if you think the program is acting strangely. It is required reading
before getting serious.
Chapter 17, and 18 is reference material which describes the command
language and the program exit codes. This is useful when setting up
automatic batch procedures.
Appendix A contains an explanation of the messages which may be
produced by the program.
Appendix B is the detailed data used with the STATION project.
HITT Personal Software Page v
SCHEDULE
FEATURES
Editing functions
o Full frame field editing
o Insert
o Delete
o Cursor control
o Field definition
Overlapped operation
o Foreground entry/display
o Background processing
o Background (overlapped) printouts
o Continually active task display
Multiple Job Mode
o Task definitions used for multiple jobs
o Resources shared across jobs
o Real time job additions/changes/control
Calendar/time controls
o Calendars specified by resource
o Two time spans per day
o Calculations to the minute
Five resource types
o Inventory (use once)
o Capital equipment (use repeatedly)
o Labor (restricted calendar/time)
o Job (associated with individual jobs)
o Buffer (can be added as well as deleted)
Automatic network grid generation
o Based on task prerequisites.
Built in Data Base Management
o Access by name
o Automatic additions and deletion
o ASCII format (editor compatible)
Command Language
o Disk data used as keyboard input
o Direct display
o Conditional testing of screen data
HITT Personal Software Page vi
SCHEDULE
TABLE OF CONTENTS
PROGRAM LICENSE AGREEMENT . . . . . . . . . . . . . . . . . . . . . II
LICENSE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ii
Abstract . . . . . . . . . . . . . . . . . . . . . . . . . . . . iii
Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iv
Using this document . . . . . . . . . . . . . . . . . . . . . . . . v
Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vi
Chapter 1. About the Author . . . . . . . . . . . . . . . . . . . . 1
Chapter 2. CPM and PERT . . . . . . . . . . . . . . . . . . . . . . 2
A discussion of CPM and PERT . . . . . . . . . . . . . . . . . . 2
PERT, CPM, and MAP . . . . . . . . . . . . . . . . . . . . . . 2
Arrow and precedence methods . . . . . . . . . . . . . . . . . 3
Definitions for Project, Job, Task, and Activities . . . . . . 3
Time considerations . . . . . . . . . . . . . . . . . . . . . . 4
Resource types . . . . . . . . . . . . . . . . . . . . . . . . 4
Decision making . . . . . . . . . . . . . . . . . . . . . . . . 5
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Chapter 3. Concepts of scheduling . . . . . . . . . . . . . . . . . 7
Chapter 4. Minimum system requirements . . . . . . . . . . . . . . 8
Chapter 5. Preparing your diskette . . . . . . . . . . . . . . . . 9
Chapter 6. Operation description . . . . . . . . . . . . . . . . . 10
Function control keys . . . . . . . . . . . . . . . . . . . . . . . 10
Display formats and control . . . . . . . . . . . . . . . . . . . . 11
Edit and record selection conventions . . . . . . . . . . . . . . . 12
Cursor controls . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Chapter 7. Creating the data base . . . . . . . . . . . . . . . . . 15
Job description . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Task description . . . . . . . . . . . . . . . . . . . . . . . . . 16
Resource description . . . . . . . . . . . . . . . . . . . . . . . 17
Calendar definition . . . . . . . . . . . . . . . . . . . . . . . . 18
Chapter 8. Starting and ending tasks . . . . . . . . . . . . . . . 20
Chapter 9. Interactive status displays . . . . . . . . . . . . . . 21
Chapter 10. Control frame . . . . . . . . . . . . . . . . . . . . . 23
Printer output selections . . . . . . . . . . . . . . . . . . . . . 23
Background processing control . . . . . . . . . . . . . . . . . . . 24
Data Base Maintenance . . . . . . . . . . . . . . . . . . . . . . . 25
HITT Personal Software Page vii
SCHEDULE
Chapter 11. Special Resources . . . . . . . . . . . . . . . . . . . 27
Inventory Resources . . . . . . . . . . . . . . . . . . . . . . . . 27
Buffer Resources . . . . . . . . . . . . . . . . . . . . . . . . . 27
Job Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Chapter 12. Assignment tracking . . . . . . . . . . . . . . . . . . 30
Job Definition . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Task Definition . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Resource Definition . . . . . . . . . . . . . . . . . . . . . . . . 31
Job file listings . . . . . . . . . . . . . . . . . . . . . . . . . 32
Frame 10 controls . . . . . . . . . . . . . . . . . . . . . . . . . 32
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Chapter 13. Meeting Calendars . . . . . . . . . . . . . . . . . . . 33
Job Description . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Task Description . . . . . . . . . . . . . . . . . . . . . . . . . 33
Resource Description . . . . . . . . . . . . . . . . . . . . . . . 34
Meeting calendar listings . . . . . . . . . . . . . . . . . . . . . 34
Interactive meeting reminders . . . . . . . . . . . . . . . . . . . 34
Automatic operation . . . . . . . . . . . . . . . . . . . . . . . . 34
Chapter 14. Development project planning . . . . . . . . . . . . . 36
Detail level 1: . . . . . . . . . . . . . . . . . . . . . . . . . . 37
JOB definition . . . . . . . . . . . . . . . . . . . . . . . . . 37
TASK definition . . . . . . . . . . . . . . . . . . . . . . . . . 37
RESOURCE definition . . . . . . . . . . . . . . . . . . . . . . . 38
The critical path . . . . . . . . . . . . . . . . . . . . . . . . 39
Detail level 2 . . . . . . . . . . . . . . . . . . . . . . . . . . 39
JOB definition . . . . . . . . . . . . . . . . . . . . . . . . . 39
TASK definition . . . . . . . . . . . . . . . . . . . . . . . . . 40
RESOURCE definition . . . . . . . . . . . . . . . . . . . . . . . 40
The critical path . . . . . . . . . . . . . . . . . . . . . . . . 40
Detail level 3 . . . . . . . . . . . . . . . . . . . . . . . . . . 41
JOB definition . . . . . . . . . . . . . . . . . . . . . . . . . 41
TASK definition . . . . . . . . . . . . . . . . . . . . . . . . . 41
RESOURCE definition . . . . . . . . . . . . . . . . . . . . . . . 41
The critical path . . . . . . . . . . . . . . . . . . . . . . . . 41
Detail level 4 . . . . . . . . . . . . . . . . . . . . . . . . . . 42
TASK descriptions . . . . . . . . . . . . . . . . . . . . . . . . 42
RESOURCE descriptions . . . . . . . . . . . . . . . . . . . . . . 42
CALENDAR descriptions . . . . . . . . . . . . . . . . . . . . . . 42
Quality programs . . . . . . . . . . . . . . . . . . . . . . . . . 42
Chapter 15. Ideas for the expert . . . . . . . . . . . . . . . . . 44
Introduction to the expert section . . . . . . . . . . . . . . . . 44
Using SCHEDULE output as data for other programs or printers . . . 44
Building large similar files . . . . . . . . . . . . . . . . . . . 45
Creating calendars . . . . . . . . . . . . . . . . . . . . . . . . 46
Data base maintenance . . . . . . . . . . . . . . . . . . . . . . . 46
Sorting the data base . . . . . . . . . . . . . . . . . . . . . . . 46
Resolving multiple action required messages . . . . . . . . . . . . 47
TASK " " NOT FOUND FOR JOB " " . . . . . . . . . . . . . 48
CALENDAR " " NOT FOUND FOR RESOURCE " " . . . . . . . . . . . . 48
HITT Personal Software Page viii
SCHEDULE
RESOURCE "" IS NOT AVAILABLE FOR TASK "" . . . . . . . . . . . 49
Redefining the keyboard . . . . . . . . . . . . . . . . . . . . . . 49
Header line printing . . . . . . . . . . . . . . . . . . . . . . . 50
Chapter 16. SCHEDULE TRAPS . . . . . . . . . . . . . . . . . . . . 51
Resource Names . . . . . . . . . . . . . . . . . . . . . . . . . . 51
HOURS/DAY field in the Task descriptions. . . . . . . . . . . . . . 51
Creating GANTT files. . . . . . . . . . . . . . . . . . . . . . . . 51
SCHEDULING late and CALENDAR NOT FOUND messages . . . . . . . . . . 52
Editing the data base . . . . . . . . . . . . . . . . . . . . . . . 52
Chapter 17. Command File . . . . . . . . . . . . . . . . . . . . . 53
Command definitions . . . . . . . . . . . . . . . . . . . . . . . . 53
Additional control . . . . . . . . . . . . . . . . . . . . . . . . 55
Chapter 18. Program exit return codes to DOS . . . . . . . . . . . 56
Appendix A. Messages . . . . . . . . . . . . . . . . . . . . . . A-1
Appendix B. SERVICE project environment and data base . . . . . . B-1
INDEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . INDEX-1
HITT Personal Software Page ix
SCHEDULE
CHAPTER 1. ABOUT THE AUTHOR
Donald C. Hitt is a Senior Engineer Manager for the IBM Corporation.
He has been in the computer business for over 25 years with a majority
of that time in large system design at IBM's Poughkeepsie, New York
Laboratory.
While Mr. Hitt recognizes that IBM holds the rights to all of its
employee's intellectual output, IBM has released Mr. Hitt to retain
the rights to this program. It was developed independently from his
work at IBM. IBM has reviewed this work, and has no objections to Mr.
Hitt's marketing or distributing this program as submitted to them.
Mr. Hitt's experience with development projects has given him
knowledge of management techniques and an appreciation for project
management systems. He feels that PERT/CPM programs which cannot deal
with constrained resources offer few benefits. The program "SCHEDULE"
was created because of the frustrations in trying to use both main
frame and mini project management systems.
According to Mr. Hitt, "SCHEDULE does what no other program even
attempts to do". He expects it to set new precedents not only in
scheduling technology but also in what he calls "expert friendliness".
New users will spend extra time pressing the HELP key, with experience
no keystrokes are wasted.
The company "HITT Personal Software" is structured to be cost
effective. It operates out of the home of Don and his wife Joan. Joan
is a key contributor to this private business endeavor.
----------------
1 IBM is the trademark of International Business Machines
Corporation.
HITT Personal Software Page 1
SCHEDULE
CHAPTER 2. CPM AND PERT
A discussion of CPM and PERT
The Critical Path Method and Program Evaluation and Review Technique
Many text books are available on the subject of project management
using CPM and PERT techniques. These techniques have received mixed
reviews partly because the models they produced did not necessarily
represent reality, and partly because the effort required to use them
can be extensive and untimely. With the introduction of the IBM
Personal Computer an interactive, real time tool that overcomes these
criticisms is now possible..
This document is not intended to teach CPM/PERT techniques. A search
of the subject will reveal numerous methods for optimizing resource,
schedule, and cost. These techniques do not provide a single solution
to all three parameters because they remain independent or separated
and do not converge. SCHEDULE is designed to help you optimize
resource utilization (indirectly cost), and prioritize according to
the schedule. In addition it provides a tracking/control tool which
represents the project plan.
The remainder of this section is devoted to bridging the text book
definitions and SCHEDULE's operation for those who are interested.
This understanding is not necessary to use the program.
PERT, CPM, and MAP
SCHEDULE is not a PERT program. It uses single task times and these
are considered to be absolute. Normally the PLAN of a project is
considered to be absolute but we all know it changes. When exceptions
occur we "change the plan" so SCHEDULE is designed to allow changes
during the execution of the plan. Rescheduling is done at any time and
actual start/end of tasks are indicated to the program as they occur
so that it can track and adjust for changes.
SCHEDULE is not a CPM program. It does not display to you the Critical
Path or Slacks although it uses this information to establish resource
priorities. When resources are committed there are interlocking
dependencies not described by these parameters. It is possible that a
delay in a low priority task (with lots of slack) could delay a high
priority task because it requires the same resource. For a program
like SCHEDULE, which is designed to operate with resource constraints,
it is Resource Slack that is important.
SCHEDULE is a MAP (Multiple-resource Allocation Procedure) program. It
does not vary resource levels to maintain a schedule (it will use
HITT Personal Software Page 2
SCHEDULE
additional resources to obtain the required number if a task is
critical). It does give you the schedule based on the resource levels
specified. Resource leveling to the specified limits is its normal
mode and is the primary advantage of this program over other programs
of this type.
Arrow and precedence methods
Some texts use arrow diagrams to describe tasks and their
interconnections. The problem with using a single line to represent
both is that it introduces DUMMY tasks to interlock multiple nodes and
requires that we describe the entire grid manually.
The Precedence method was introduced later and is a simpler concept
which allows independent definition of each task by listing the
predecessor tasks required before the task can begin. The program can
then construct the equivalent of the arrow diagram internally (called
AON or Activity On Node diagrams). MILE-STONES or EVENTS become tasks
with zero time and no resources with this method.
SCHEDULE incorporates the Precedence Method of task description. This
provides the ability to define the tasks in the form of a model that
can be used repeatedly. Task descriptions are used to construct a grid
for each job based on the Job specifications. These JOB grids are
combined into a common Project grid which represents all the jobs
which share a single resource pool. In most project definitions we
find many processes repeated even though the output product is
different. SCHEDULE allows a single definition to be used
independently in each JOB.
Definitions for Project, Job, Task, and Activities
Texts may use these words interchangeably. Since they are normally
discussing a single level of arrow diagrams this is understandable.
SCHEDULE however has specific definitions which will be described
here. It will be up to you to determine the similarities with the text
descriptions.
A Project: is the entire group of jobs which are considered within a
single grid. A project has a single resource pool. When schedule
processing is done it is for the project. There are no
interrelationships (unless manually introduced) between projects.
A Job: is a set of tasks. It has a requested starting and completion
time which establishes its earliest starting time and priority. A job
also specifies the name(s) of the task(s) which will produce the
desired end result(s). A grid is then created, by the program, of the
HITT Personal Software Page 3
SCHEDULE
tasks required to produce the JOB.
A Task: is a single job step. It specifies the time duration, the
resources required, and the immediate predecessor tasks which must be
completed before it can begin. The same task descriptions can be used
with other jobs and produces independent activities. Tasks cannot be
linked between jobs using predecessors (resources can be used for this
purpose).
An Activity: may be a task or a piece of a task which has been split.
For example, if a task lasts many days and the resource calendar
specifies only 8 hours per day availability, the task will be split
into a number of activities. Also one resource may be used on first
shift and an alternate resource used on second shift, resulting in a
task being split into a number of activities.
Time considerations
Project management programs normally deal in some arbitrary time
duration which could be considered to be hours, days, weeks, months,
or years, as appropriate to the problem. Some have the concept of a
calendar which allows the program to expand the output schedule into a
schedule bar chart or listing with work days, holidays, and weekends
taken into consideration.
SCHEDULE specifies duration in hours and minutes since that is the
only scale which is not ambiguous. A calendar can be specified for all
the resources, or separate calendars can be specified for each
resource. This level of flexibility allows scheduling of resources
with defined availability hours and individualized vacation, holidays,
etc.
Resource types
Resources are normally defined as an object which can be used
repeatedly and is required for the duration of the task to which it is
assigned. This would be a standard definition and some programs
support multiple resources of this type.
SCHEDULE not only supports multiple resources but it also supports a
number of resource types. This allows modeling to be more realistic.
Capital resources, machines or tools are in the standard resource
class. They are available 24 hours per day 7 days a week. They can be
used repeatedly and there usage starts and stops with the scheduled
activity.
In some cases however a resource is committed even though it is not
HITT Personal Software Page 4
SCHEDULE
being used. For example: A job requires a truck to drive to another
city, the truck is unloaded, and then returns. If the unload or return
tasks are delayed the truck will still not be available for other
tasks since it is in the wrong city. The ability to secure a resource
with one task and release it with another is required. SCHEDULE
provides this capability with "Bxx" class resources.
Labor resources can be used repeatedly and there usage starts and
stops with the scheduled activity. They are not available 24 hours per
day however, so we use a calendar with working hours to describe there
availability. With SCHEDULE any resource can have a calendar.
Some resources cannot be used repeatedly. Once they are used they are
gone (like money). This type of resource has an availability start
date associated with it and the stocking rate may gate some schedules.
SCHEDULE provides an "Ixx" class resource for this function and
availability start dates can be specified for any resource.
Some resources are created as the result of a process we would like to
schedule. We could construct prerequisite jobs to the one requiring
the resource but that would force the creation of a large job
consisting of all the jobs requiring the resource. SCHEDULE allows
resources to be created by one job for use by others.
Some times there are a number of tasks within a job that could be done
in parallel except that they are all operating on the same part. To
specify the tasks as prerequisites would be preventing the program
from shifting the sequence based on resource availabilities. The same
kind of condition can exist with sequences of tasks. Any one of a
number of sequences can be started but once that choice is made, other
sequences cannot be started. SCHEDULE provides JOB resources which are
used within jobs to force sequential scheduling while allowing a
variety of sequences depending on resource availability.
Resources of the same type may not be interchangeable in both
directions. We might use a car or a pickup truck to go across town but
we cannot use a car to carry a load of plywood. SCHEDULE provides
generic names and size codes to account for LEVELS of resources.
Decision making
In development projects there are points in the project plans where
decisions must be made. SCHEDULE allows alternative task models to be
described and the most probable (or other criteria) selected in the
job description. As decisions are make the job description is modified
to reflect the choice and rescheduling done. The use of Job class
resource funneling allows for optional prerequisite specifications.
HITT Personal Software Page 5
SCHEDULE
Summary
SCHEDULE provides a rich assortment of resource types to allow a more
realistic task modeling process. It does not impose artificial
constraints while providing valid schedules. It also provides a real
time update and tracking capability to bridge between the plan and
reality.
The book "RESOURCES MANAGEMENT" by R. L. Martino, Ph.D. published by
MANAGEMENT DEVELOPMENT INSTITUTE, INC. and copyrighted 1968 is
recommended reading.
The tables used by SCHEDULE can be displayed using the Ctl-F1/F2/F3/F4
keys. This capability was left active but increases processing time by
orders of magnitude while the display is active. These displays may be
of interest to those interested in the academics of the subject.
HITT Personal Software Page 6
SCHEDULE
CHAPTER 3. CONCEPTS OF SCHEDULING
Scheduling (from WEBSTER's) is "a tabular statement of times of
projected operations, recurring events, arriving and departing times,
etc.;(a timetable)."
To create a SCHEDULE there are several things that must be understood.
o The TASKs or steps required to accomplish the objective.
o The TIME required to do each task.
o The SEQUENCE in which each task must be done.
o The RESOURCES that are required to do each task.
We all do scheduling everyday. When the number of tasks gets large and
there interactions complex, then Computers can help to keep track of
the complexity.
The objective of this scheduling program is to process the data
supplied in a systematic way to optimize the resource utilization and
minimize the overall time required.
Unfortunately there is no "OPTIMUM" schedule since the value of a
short schedule verses the minimum number of resources is one of
judgement not easily specified. A schedule program can provide the
ability to locate the areas of sensitivity, it can calculate the
interactions fast enough to do "what if's", and it can be a means for
projecting and tracking progress.
One of the objectives of this scheduling system is to allow you to
define the TASKS, TIMES, SEQUENCES, and RESOURCES in a way that is
independent of the interactions that result from conflicts over
resources and priorities, and to provide the results in a timely way.
Schedule processing consists of the following steps:
o Input from the user (PROCESSING JOBS)
- Job requested
- Desired completion date/time
- Desired start date/time
o From the data base (PROCESSING TASKS)
- Get the tasks required to accomplish the job
o Build a table with the task data (CONNECTING GRID)
o Build a table with the resource data (PROCESSING RESOURCES)
o Build a table with the calendar data (PROCESSING CALENDARS)
o Calculate earliest start time (CALCULATING EST)
o Calculate latest start time (CALCULATING LST)
o Determine the next task to schedule (SCHEDULING)
o Loop until done and output the completed schedule
HITT Personal Software Page 7
SCHEDULE
CHAPTER 4. MINIMUM SYSTEM REQUIREMENTS
In order to operate this system you must have the following:
o An IBM Personal Computer with a minimum of 192K-bytes of storage.
o One diskette drive.
o The IBM Personal Computer Disk Operating System (DOS 2.0 or
above).
o One additional IBM Personal Computer compatible diskette.
In addition the following is recommended but not required
o An IBM Matrix or Graphics Printer, adapter, and cable.
o Two displays, one 80 character per line and one 40.
o A high performance fixed disk as with the IBM Personal computer
XT/AT, or extra storage to emulate a disk, or both. This will
provide improved performance and a smoother operation.
HITT Personal Software Page 8
SCHEDULE
CHAPTER 5. PREPARING YOUR DISKETTE
SCHEDULE is a program that runs under the IBM Personal Computer DOS
(Disk Operating System). "SCHEDULE" need not be on the same disk as
DOS but DOS must be loaded before SCHEDULE can be run.
The diskette contains a number of programs which support a menu system
using batch and command files. These files are setup to run from the
A: diskette but can be changed to support any disk. You will need an
editor program to make modifications to the xxx.BAT, xxx.SKB, and
xxx.GKB files if you want to use the menu's from other than the A:
diskette.
1. In the xxx.BAT files look for all occurrences of "A:" and change
them to the disk of your choice.
2. In the xxx.SKB and xxx.GKB files look of all occurences of "ODA"
and change the "A" to the disk of your choice.
Normal DOS commands are used to backup your master diskette.
With the master diskette in the A: drive.
o Create a backup of the master diskette using:
DISKCOPY A: B:
o Move the program to a disk with other programs (DOS for example)
use:
COPY A:SCHEDULE.EXE B:/V
o or
COPY A:SCHEDULE.EXE C:/V
HITT Personal Software Page 9
SCHEDULE
CHAPTER 6. OPERATION DESCRIPTION
You may wish to follow the descriptions given in this section with
your Personal Computer in actual operation. While not necessary it is
sometimes helpful to observe what is being described.
Place the Version 1.2 (backup copy) in drive A:
Load "SCHEDULE" by responding to the DOS prompt.
A>A:SCHEDULE A:STATION
When the program loading is complete, execution starts in the
copyright frame. Press any key to continue.
There are a number of different frames used to control different
aspects of the scheduling process and we will discuss the details of
each separately. These frames are under control of the FOREGROUND
processing control and have priority over the BACKGROUND processing.
Background processing occurs when the foreground is waiting for
keyboard input and includes print jobs as well as the actual
scheduling calculations. This foreground/background technique provides
the real time interactive capability of this program.
First lets see how we get from one frame to another using the Fn keys.
FUNCTION CONTROL KEYS
Each of the function keys is assigned to a control frame. The meaning
of these keys are not changed throughout "SCHEDULE". You can always
get from any frame to any frame. Press each key as it is discussed and
observe the FRAME format.
Esc will terminate the program and return to DOS. There will normally
be a checkpoint taken in a file named "xxxx.STA" so re-starting the
program does not start from scratch unless you ERASE xxxx.STA before
starting the program. If you have hit this key re-start the program by
responding to the DOS prompt as before.
A>SCHEDULE STATION
F1 key: Is for HELP. Pressing F1 again will provide additional
detail. Pressing F1 while operating within frames will display help
about the particular field the cursor is in.
F2 key: Displays tasks which are to be started or stopped. On this
frame placing the cursor next to the task desired and pressing the "X"
key will indicate to Schedule that this task has indeed started or
ended. This allows rescheduling to be done with real information when
HITT Personal Software Page 10
SCHEDULE
things don't work out as expected.
F3 key: Selects the JOB REQUEST frame. This frame controls the
contents of a data set named "xxxx.JOB". (xxxx=the project name)
F4 key: Will page the interactive activity display backwards.
F5 key: Selects the TASK DEFINITION frame where tasks are described.
This frame controls the contents of a file named "xxxx.TSK".
F6 key: Is used with the auxiliary monitor to display detail
information for the interactive environment.
F7 key: Is for RESOURCE DEFINITION where each resource is described.
This frame controls the contents of a file named "xxxx.RES".
F8 key: Will page the interactive activity display forward.
F9 key: Is for the CALENDAR DEFINITION where calendars and working
hours are described. This frame controls the contents of a file named
"xxxx.CAL"
F10 key: Provides the output selections and processing
controls.: Note:xxxx is the project name specified when SCHEDULE was
invoked. A<B:SCHEDULE C:xxxx is possible. The default name is
"PROJECT".
DISPLAY FORMATS AND CONTROL
The top 23 lines of the 80 column display are used by the Frame in
control.
The bottom two lines are under control of the background processing
routines and are independent of the selected frame.
The left side of line 25 (the bottom line) displays the status of the
background processing and will be blank when no processing is in
process. Status messages such as "CONNECTING GRID" will be seen in
this location of the screen. These are status only messages and
require no action from you.
The right side of line 25 displays the current date and time (24 hour
time) as provided to the program by DOS. The display is updated as
task switching occurs from the background to the foreground. If the
date or time is incorrect it should be corrected by exiting to DOS
(Esc) and using the DOS command "DATE" or "TIME".
Line 24 (one up from the bottom) is used by the background processing
to display problems encountered while attempting to perform the
background tasks. Messages such as "PRINTER NOT READY" are displayed
on this line. See "MESSAGE APPENDIX" for details of the meaning of
HITT Personal Software Page 11
SCHEDULE
these messages.
The remainder of the screen is under control of the foreground program
(the frame selected). The frames which control and update files (F3,
F5, F7, F9) use common editing and record selection conventions as
follows:
EDIT AND RECORD SELECTION CONVENTIONS
The keyboard operates in one of three modes depending on the data
field being entered. The modes are upper case alpha-numeric,
upper-lower case alpha-numeric, and numeric.
Upper case alpha: In these fields the program allows all characters
to be entered but will translate lower case characters to upper case.
This mode is used for fields with significance to the program in that
they must be compared or matched with other names. Forcing upper case
removes the problem of inadvertent mismatches do to case mismatches.
Upper/lower case alpha: In these fields both upper and lower cases,
special characters, and numerals are allowed. It is used for
information only fields such as TASK DESCRIPTION that becomes part of
the output listings but are not compared or matched with other names.
Numeric only: In these fields only numbers 0 through 9, and, space
are allowed. Any other character or special character will sound a
note on the built in speaker and the entry is ignored. This mode will
also force the cursor to jump over slashes (/) and colons (:). The
jump function is used for date and time fields and speeds entry in
these cases.
Insert and delete are not allowed in numeric fields as this becomes
ambiguous with fixed position fields.
Field definition: Brackets are used to define the entry field
associated with the current cursor position. The brackets will move
under control of the cursor controls. Square brackets [ ] are used for
alphabetic fields and { } brackets are used for numeric fields.
Record selection: The first field of most frames (F3,F5,F7,F9) is the
CONTROL field. This field specifies a specific record in the data
base. When the cursor is moved out of this field the data base will be
scanned comparing the characters from the start of the field to the
cursor (before it was moved). An information message will be displayed
to the right of the entry field indicating whether or not a record was
found. If a name match was found the remaining data fields will be
filled in. If a match was not found the data fields will be left
unchanged.
Leaving the frame (or re-selecting the same frame), using the Fn keys
while the cursor is in any location other than the first field, will
HITT Personal Software Page 12
SCHEDULE
update the data base to the changes made. Changes can be prevented
from altering the data base by first pressing "PgUp" before pressing a
Fn key.
CURSOR CONTROLS
Full screen editing is allowed within the defined fields. The cursor
controls are used to select the field to be entered or modified. The
following describes the rules followed by the program in controlling
the cursor position.
Right: Steps the cursor right one position. If the end of field is
reached the cursor will go down and to the left side of the next
field.
Left: Steps the cursor left one position. If the beginning of the
field is reached the cursor will go up and to the right side of the
previous field.
Up: Sets the cursor in the same position of the next field up unless
the new field is not long enough in which case it will be set to the
right margin of the new field.
Down: Sets the cursor in the same position of the next field down
unless the new field is not long enough in which case it will be set
to the right margin of the new field.
Home: Sets the cursor to the left margin of the current field, or if
already there, to the left margin of the first field on the frame (as
with PgUp).
End: Sets the cursor to the right margin of the current field.
PgUp: Sets the cursor to the first entry field in the frame.
PgDn: Sets the cursor to the last entry field in the frame.
Backspace: (long left arrow) Steps the cursor left one position and
places a blank in the new position. Trying to backspace past the
beginning of the field will leave the cursor in the beginning position
and will sound a note.
Tab right: (key above Ctrl) Moves the cursor to the first position of
the next field to the right, or if none, down.
Tab left: (upper case shift and the key above Ctrl): Moves the cursor
to the first position of the current field, or if already there, to
the first position of the previous field.
Enter: (down left arrow): Sets the cursor at the left margin of the
next field down. It is not required for commands as it provides only
HITT Personal Software Page 13
SCHEDULE
the carriage return line feed cursor positioning function.
HITT Personal Software Page 14
SCHEDULE
CHAPTER 7. CREATING THE DATA BASE
In order to do effective scheduling we must be able to define the
steps required to do a job using our knowledge and experience. This
task description process is best approached by thinking about the end
result desired and working the problem backwards.
JOB DESCRIPTION
First go to the JOB entry frame by pressing the "F3" key. This is
where we will describe the final result desired and the dates and
times of our request. There are three fields which effect the
processing.
The NAME field identifies the requestor who is requesting an end
result JOB to be STARTED and COMPLETED at specified times. The other
fields are used for output listings but do not effect processing.
Fill in the fields (use your name in the name field) and specify the
name of the task which results in the desired end result as the JOB
REQUESTED. (for example enter "INSPECTION")
When the cursor was moved from the NAME field the data base was
searched for a match of as many characters as the cursor position
would indicate were entered. A message "NAME NOT FOUND" should have
been displayed if this was the first time this name was entered. If
this was not the first time then the remaining fields will be filled
in according to the data base, and a message "NAME FOUND" will be
displayed.
Background schedule processing will be started when exiting from this
frame (if in auto start). Pressing "F10" in this example will request
the processing (exiting from the job request frame) and will take us
to the process control frame. If an arrow is pointing to the "A"
control, processing will have started, if not press "S" to start the
processing.
HITT Personal Software Page 15
SCHEDULE
TASK DESCRIPTION
Press F5. This is the task definition frame.
Enter the task name for the job we requested.
(INSPECTION)
Tasks which require more resources or prerequisites than can be
described on a single frame are accommodated by specifying as many
records as required (max 9, 3 for our example). If you wish to
completely delete a task enter 0.
Note the resources required to accomplish this task. (MECHANIC)
A blank quantity field implies "1".
Note the prerequisites that must be accomplished before this task can
begin. (BRAKE CHECK)
Since we have a record number greater than 1 we can get to the second
record by pressing F5. At this record we can see the additional
resources or prerequisites. (TIRE CHECK)
Keep pressing F5 for as many records as requested and make the
appropriate entries. (LIGHT CHECK)
You can look at and/or modify any task description using the full
screen edit controls. You can find the other task descriptions by
entering the name (BRAKE CHECK) and moving the cursor down.
In our example the tasks are described in the sample data base so
scheduling should complete. If you get any line 24 messages see the
message appendix for an explanation.
You may find the example task descriptions interesting in that there
is a variety of acceptable forms that may be used. Some fields can
have multiple entries which are parsed (separated with a comma) and
numeric right alignment is normally performed by the program. You can
look at and or modify these data base records by selecting the
appropriate frame and entering the name (F5, TIRE CHECK, move the
cursor down).
HITT Personal Software Page 16
SCHEDULE
RESOURCE DESCRIPTION
F7 Selects the resource description frame. There are many ways and
levels to specify resources so a general discussion about resources is
probably appropriate before describing each field.
One kind of resource is a piece of equipment which is required to do a
task. The equipment can be used over and over again but can only be
used for one task at a time. This is a CAPITAL resource and we can
give it a particular name like "PICKUP TRUCK".
Another kind of resource is a consumable which can be used only once
and is then gone. This is an INVENTORY resource and we can give it a
particular name like "OIL BATCH 15".
The third kind of resource is things which are only available for use
at particular times. People normally are in this category and require
a calendar of available times. We can give these resources a
particular name like "JOHN DOE" or a name which represents otherwise
interchangeable resources like "ENGINE MECHANIC". The later case could
have a quantity other than 1 since there could be any number of engine
mechanics to choose from.
The last kind of resource is an item to be operated on that is
particular to a job. A JOB resource allows us to define items which
might be provided by the customer such as a car which needs an
inspection.
Within a given category there may also exist an upward
interchangeability that should be considered. For example a task which
required a "PICKUP TRUCK" could also use a "ONE TON TRUCK" if the
pickup was not available. However a task which required a "ONE TON
TRUCK" could not use the "PICKUP TRUCK".
The program provides two facilities to account for these
possibilities. One is the GENERIC NAME which can be added in addition
to the specific name. The other facility is the resource size which
can be a number from 0 to 99.
In our example both the pickup and one ton truck would have the
generic name "TRUCK" and an appropriate difference in the size field.
Each task description also contains a size field which indicates the
minimum size resource that can be used.
The scheduling process will option the resources for use in order by
the size field starting at the minimum size specified in the task. The
size being optioned for use will be increased a maximum of 30, unless
the task is critical (earliest start time = latest start time) in
which case it may be increased to 99. The exception is if there does
not exist enough resource either already scheduled or not, unless the
number is increased.
This generic resource size capability provides a powerful
HITT Personal Software Page 17
SCHEDULE
schedule/cost optimizing capability. It is assumed that the smaller
resource size number represents a lower cost and the +30 limit limits
the amount of cost allowed unless the task is critical. It is
necessary to keep the forgoing in mind when choosing resource sizes
and generic names.
A task can specify either the specific name or the generic name for a
required resource as appropriate.
CALENDAR DEFINITION
Resources which use a calendar have a one character code which must
match the code specified on the F9 frame. Using a blank allows you to
specify a month and year and see a calendar for that date without
effecting the data base. A blank in the calendar field of the resource
definition indicates that the resource is available 24 hours per day,
7 days per week.
Many resources may use the same calendar. A separate calendar would be
required for multiple shifts or other special conditions such as part
time employees working individualized shifts. The STATION project uses
two calendar codes "A" and "B".
Moving the cursor below the year will invoke a data base search for
the code, month, and year specified. A message will indicate whether
or not a match was found. If a match is found the remainder of the
screen will be filled in from the data base. If a match is not found
the old data is retained.
A calendar is calculated and displayed on the right side of the
display.
Two time span's can be defined for the days of the month. If both
spans are used in any day (#3) then the span's cannot overlap and span
2 must be later than span 1.
Each day of the month can specify a number from 0 to 3 (blank=0).
0 is for days when the resource is not available.
1 is for days when the resource is available during time span #1.
2 is for days when the resource is available during time span #2.
3 is for days when the resource is available during both time
spans.
The normal usage of this facility would be to specify normal working
hours (1=starting time to lunch, 2=lunch to end of work day). The
calendar would then contain 3's for normal working days and 0's or
blanks for days not worked.
Leaving this display (or re-entering it) by pressing any function key
while the cursor is below the year entry area will update the data
HITT Personal Software Page 18
SCHEDULE
base to reflect the data that was displayed.
HITT Personal Software Page 19
SCHEDULE
CHAPTER 8. STARTING AND ENDING TASKS
The process of scheduling produces a table in storage that contains
projected start and completion times. This table is maintained by
copying it onto the disk when exiting from SCHEDULE and is restored
when SCHEDULE is started. The name of this checkpoint data is
"xxxx.STA" and allows you to use the personal computer for other
purposes without loosing the current scheduling status.
When the F2 frame is activated the table is searched to determine if
there are any tasks with a start time equal to or later than the
current time and that have the prerequisites completed. These are
tasks which should be started, according to the schedule. Placing the
cursor next to the selected task and pressing the X key will indicate
to the program that this task has indeed been started and the table
will be updated to indicate the current time (actual start time).
Tasks which have not been started at the scheduled time may be
rescheduled by going to the F10 frame and re-running the schedule
program (S). Since they have not been declared to have been started
they will be rescheduled.
At the time a task is declared to have been started any inventory
(Ixx) or buffer (Bxx) resources, used by the task, will be updated in
the resource (xxxx.RES) data base.
The table is also searched for tasks which are in process (previously
declared to have been started) and who's scheduled completion time is
equal to or later than the current time. These tasks will be listed on
the right side of the screen. Placing the cursor next to the task and
pressing the X key will indicate to the program that the task has been
completed. The table will be updated to indicate the current time as
the completed time and if the indicated task was the last task of a
job, the job will be removed from the table and the xxxx.JOB data base
will be updated to erase the JOBS TO BE DONE field.
These procedures are designed to allow new jobs to be added at any
time and for rescheduling dynamically as real time events occur.
Listings of the schedule will include an * between the date and time
fields if the time indicated is actual rather than scheduled.
HITT Personal Software Page 20
SCHEDULE
CHAPTER 9. INTERACTIVE STATUS DISPLAYS
In the interactive job shop environment there is a requirement to be
able to re-schedule at any time to adjust for the unexpected. If a
piece of equipment breaks down or an employee becomes ill, we can
access the resource in the data base, set a date and time the resource
is expected back, and re-compute the schedule. If a customer does not
provide an item required to start the job we can access the job file,
set a new requested start time, and re-compute the schedule. If things
are getting backed up, re-compute the schedule.
With this type of interaction it is desirable to be able to inquire
into the system rather than getting the detailed printouts each time a
change is made. For this purpose the F4, F6, F8 functions can be used
with an optional color or black and white monitor (40 x 25).
Pressing the F6 key causes detail displays to be placed on the
optional monitor. Using the optional display has the advantage that it
can be broadcast to multiple displays and the display will remain
until changed (you can even exit to DOS and run other programs between
scheduled events).
There are three displays that are supported on the monitor for the
interactive job shop environment.
1. Job status display
2. Start task detail
3. Activity detail
Job status display: In order to answer the question "how is my job
coming" select F3, enter the name, move the cursor down to select the
job in question, press F6 to display the status summary.
Start task detail: Frame F2 displays the tasks to be started. To get
the details about one of these, select it with the cursor and press
F6.
Activity detail: When in other than the first two states the activity
file detail can be displayed by pressing F6. This has special
considerations but will normally display the next task to be started.
The advantage and disadvantage of this display is that it does not
require the internal tables as do the other two interactive displays.
Detail status can be displayed when the tables are being re-computed
but the logic of what has to be completed before something else can
start will not be present. Also milestones (tasks without resources)
do not exist on the activity file as they are not activities.
F6 will locate the first activity which is scheduled after the current
time. This is normally the next task if you are on schedule.
F8 will advance to the next task in the activity file. If the horn
HITT Personal Software Page 21
SCHEDULE
sounds the end of file has been reached.
F4 will move back one activity in the activity file. If the horn
sounds the first record is being displayed.
The activity file records are in the scheduled sequence (not
necessarily in time sequence).
HITT Personal Software Page 22
SCHEDULE
CHAPTER 10. CONTROL FRAME
Key letters and numbers are used to activate a variety of functions on
the F10 frame as follows:
PRINTER OUTPUT SELECTIONS
It should be noted that the actual printing is done as a background
task and overlaps the disk operations with the printers line buffer.
Most SPOOL packages provide no advantage in print time, require extra
memory, and delay attempts to terminate unwanted printouts.
Print selection 1: Requests a listing for the entire Project. This
lists all scheduled jobs and tasks in order by the start times.
Included in the listing is Job name, Task name, Start and Stop times.
Print selection 2: Requests a Schedule by Job listing. This lists
separately the tasks for each job. Included in the listing is the job
name field, job description field, jobs to be done field, and the
requested start and stop times as the header. The task name, task
description, and scheduled start and stop times are tabulated in order
by the start time.
Print selection 3: Requests a Schedule by Job listing as in #2 but
includes the resources assigned to each task. This listing contains
the maximum amount of detail about the jobs.
Print selection 4: Requests a Schedule for the Jobs just started or
changed. The format is the same as #2. This request does not reset
itself after the printout as it is intended for the interactive
environment and will start a printout each time a new job is entered
and will print only the new jobs schedule.
Print selection 5: Requests an ACTUAL time listing for the job
completed. The format is the same as #2. When the last task of a job
is marked as being complete (on the F4 frame) this printout will
capture the actual data before the table is deleted from memory. This
request does not reset itself as it is meant to capture the actual
task performance in the job shop interactive environment.
Print selection 6: Requests a listing of activities for each resource
selected. The class field in the resource record has 3 characters, and
the frame suggests you use "INV, CAP, LAB, or JOB". However there are
other selections that can be used to make this printout selection more
meaningful. The only requirement the program places on this field is
that any class that has a first letter of "I", "B", or "J" get special
attention, the remainder of the field can be used to select groups of
resources to print with a single request.
HITT Personal Software Page 23
SCHEDULE
If you would like to provide an activity listing for a single
resource, give it a unique class code within the first letter class
desired.
Print selections 7, 8, 9, and 0: Requests a listing of the data base
files. When developing complex project task definitions it is
sometimes useful to have a hard copy reference. Also when decoding the
internal tables the numeric codes refer to the record numbers
displayed in these listings.
Selection H: Allows you to enter a line of data to be printed as the
first line of each page of printer output. This is normally used to
print the security classification.
Selection R: Resets all print requests. Any printout in process will
continue.
Selection T: Terminates the printout in process. The next printout
selected will start after the termination unless they are reset using
"R" or multiple terminate "T"s are entered.
BACKGROUND PROCESSING CONTROL
Selection S: Starts the scheduling program to schedule or
re-schedule. This can be done at any time but may obsolete previous
resource allocations and job estimates (in process resource
allocations are preserved). Tasks marked as started or completed will
be accounted for as the process is not starting over by rescheduling
(unless you first erase the "xxxx.STA" file).
Selection A: Provides an automatic "S" function each time the F3 (JOB
REQUEST) frame updates the data base with a new or changed job request
or when a task is completed (X in frame F2 IN PROCESS).
Selection E: Tasks to be started or ended can be displayed before the
actual time has arrived. The amount it will be early is determined by
the value entered here.
HITT Personal Software Page 24
SCHEDULE
Selection C: The color attributes can be set using this function.
CODE COLOR MONOCHROME Use F1 HELP to find the position
@ or 0 = Non Display Non Display 1 = 40x25 Date/time
A or 1 = Blue Underscored 2 = 80x25 "
B or 2 = Green Green 3 = 40x25 Fixed format
C or 3 = Cyan " 4 = 80x25 "
D or 4 = Red " 5 = 40x25 Data base data
E or 5 = Magenta " 6 = 80x25 "
F or 6 = Brown " 7 = 40x25 Disk command display
G or 7 = White " 8 = 80x25 "
H or 8 = Gray Non Display 9 = 80x25 Background processing
I or 9 = Light Blue Bright Green 10 = 80x25 Help displays
J or : = Light Green " 11 = 80x25 Keyboard data
K or ; = Light Cyan "
L or < = Light Red "
M or = = Light Magenta "
N or > = Yellow "
O or ? = Bright White "
DATA BASE MAINTENANCE
Data base maintenance provides for the automatic deletion of
individual records in the data base. The file size will not get
smaller but space will be created so that records can be added without
increasing the file size.
Selection D: When the arrow is pointing to the "D", records will be
deleted as follows.
Job Request records will be deleted at the completion of the job. The
REQUESTED JOBS field is made blank when the last task is completed and
the record will be deleted the next time scheduling is done.
Task records are not automatically deleted. Entering a zero for the
number of records required will delete task definitions.
Resource Definition records are deleted when the quantity is "0000".
If you would like to delete a record put "0000" in the quantity field.
Inventory records will have this value when used up.
Calendar records will be deleted when the year and month is less than
the current time. Be sure the DOS date is correct or you may loose
some calendars.
Selection U: Task and resource data base files can be protected from
accidental alteration by locking these files. Each depression of "U"
reverses the state of the lock.
HITT Personal Software Page 25
SCHEDULE
Selection M: Max Activities set the maximum number of activity
records that will be written by the scheduling process. Each activity
record is 24 characters in length so a space of 24 times the number
entered in maximum activities could be required for the activity file.
In addition a xxxx.TMP file is created and is renamed xxxx.ACT so
additional space is actually required.
You will normally want all the scheduled activities recorded. However
there are cases where a huge number of activities are generated and
are of little value. For example: in project planning over a number of
years it is not necessary to see each employee go to lunch and go home
(2 activities) each day when the task lasts for months. Limiting the
size of the activity file has the effect of being able to see the
detail activity for the next n days without generating huge listings.
You can play with the number to get the desired detail look ahead.
The effect of loosing activity records is that a resource will not be
listed with the task and inventory records will not be updated if the
task is started. You should allow enough activity records to cover the
period between re-scheduling.
Running out of disk space while scheduling is normally not
catastrophic as long as there is room to take a checkpoint. Recording
of activities will stop but scheduling will continue. The MAX
ACTIVITIES number will be automatically adjusted downward to the
actual available space.
HITT Personal Software Page 26
SCHEDULE
CHAPTER 11. SPECIAL RESOURCES
There are three types of resources that the program handles in special
ways. These resources provide some of the powerful task modeling
abilities of the program.
INVENTORY RESOURCES
Resources which use a type code which starts with the letter "I" are
considered to be inventory type resources. These are subtracted from
the data base when used.
The generic name of the resource can be used to allow selection from a
number of inventory specifications which may be available at different
times. The size code can be used to control the sequence of the
selection.
This facility can also be used to control the rate at which things
(like money) are used. Making the resources available using the
resource availability date and specifying the amount required in the
task description will constrain the starting time of tasks.
BUFFER RESOURCES
The name comes from the idea of modeling a production line where
buffers separate operations which are defined as tasks. A given
station can stop for a period of time without stopping the other
stations to the limit of the buffer.
One example of the use of this buffer type resource is available in
the TUTOR use of a resource named "BLD". The generic name of this
resource is "XBLD" and the data base shows a quantity of 3. When the
task "CAR TO GARAGE" is started it requires one BLD resource. When the
task "CAR TO LOT" is started it requires one XBLD resource.
What is happening is that when the NAME of a buffer resource is used
the resource is subtracted from the available quantity in a manner
similar to inventory resources. That is the resource is not returned
for use when the task is completed. When the GENERIC NAME is used the
quantity is added to the available quantity. In this way the number
of cars in the building is limited to three by the original quantity
of this resource.
The same function can be used to create a resource with one job for
use by others. If a number of jobs cannot be started until a
specification is available and this specification is the end result of
HITT Personal Software Page 27
SCHEDULE
scheduling a job. This could be modeled by defining a "SPECIFICATION"
resource with a generic name of "RELEASE SPEC" and a quantity of zero.
The tasks which require the specification before they can start,
specify a resource requirement of "SPECIFICATION" with a quantity of
one. The task which releases the specification and is gating the other
jobs would specify a resource requirement of "RELEASE SPEC" and a
large quantity (9999).
The generic names of Bxx class resources should be unique.
JOB RESOURCES
Job resources allow a single resource specification to be used
independently within a job. The program will create an additional
resource for each job that uses it. This concept provides for the idea
that a number of tasks could be preformed on this job resource except
that there are restrictions on how many can be preformed at once.
Generic name job resources: The task specifies the generic name of
the resource which is a type Jxx. This will limit the number of tasks
which can be executed in parallel to the quantity provided without
restricting the sequence in which they are done.
An example of this is in the TUTOR resource "CUSTOMER CAR" with a
quantity of 1. The generic name "CAR" is specified in the tasks which
require the car as the object to be operated on. Only one operation
within the job which specifies this resource can be executed at a time
because the quantity of this resource is 1. Specifying a quantity of
two would allow any two tasks (within the constraints of the
prerequisite task requirements) to be executed simultaneously.
The resource name should be selected to describe the resource in the
printouts and display.
Specific name job resources: When the specific name of a job resource
is used it is handled in a vary special way which allows for
controlling task sequences in addition to allowing for the concept of
job parameters and decision points within a job/task model.
The TUTOR data base uses this feature to control the start of task
sequences which cannot be interrupted as well as allowing the
individual task requests (LUB, OIL, FILTER, ETC.) to be specified
within the job description and inserted at the appropriate points
within the job grid. This facility essentially provides a resource
method of describing task sequences.
The rules followed by the program for specific named job resources are
as follows:
o Of the tasks which have their prerequisites satisfied.
HITT Personal Software Page 28
SCHEDULE
o Select the tasks which do not specify a specific name job
resource.
o If none select the tasks with the lowest size requirement for the
specific name job resource.
o Of the tasks selected apply the other resource constraints to
select the task to schedule.
It may be helpful to study the TUTOR.TSK file to gain an understanding
of how this facility is used.
HITT Personal Software Page 29
SCHEDULE
CHAPTER 12. ASSIGNMENT TRACKING
If you happen to be managing a group of people who's assignments are
to respond to individual questions (staff work) then SCHEDULE can be
used to track these assignments without really doing any scheduling.
Some people call these assignments "ToDo's".
In this environment the program is used to track the ToDo's
o Name of the assignment and the description
o Name of the employee assigned the task
o Amount of time before a review should be done
o Date and time the assignment was entered into the system
o Date and time the employee was told of the assignment
o Reminder when the task should be completed
o Date and time the assignment was completed
o Printouts of all active assignments
o Printouts of all active assignments by employee
o Printouts of completed tasks for the department activity file
As the questions arise the new jobs are entered into the system. The
name and description field of frame 3 (F3) are filled in. SCHEDULE
will automatically set the starting and ending time to the current
time thus providing the first time stamp. If the name of the person
that is to receive the assignment is known, it should be entered in
the JOBS TO BE DONE field. If the name is unknown a name such as
"ASSIGN" should be entered.
Processing the schedule will cause this job to be displayed on the F2
frame under "TASKS TO BE STARTED". This is the list of assignments
which must be communicated to the employees. Pressing an "X" next to
the task will indicate to the program that the task has been assigned
and the time will be recorded.
Pressing F2 again will display all the ToDo's that are to be
completed. When they are completed, position the cursor next to the
task and press "X". This will indicate to the program that the task
has been completed and the actual time will be recorded.
When the task completion time is due it will appear on the right side
of the F2 frame under "TASKS TO BE COMPLETED".
The F10 5 function will provide an automatic printout of completed
HITT Personal Software Page 30
SCHEDULE
tasks which can be placed in the department activity file for
posterity. The requested start time is the time you first entered the
ToDo. The task start time is equal to the time the task was
communicated to the employee. The task completion time was the time
the answer was communicated to you.
JOB DEFINITION
Each task is defined as a job. The person to be assigned the job is
entered into the "JOBS TO BE DONE" field. If a time duration is also
to be set the duration becomes part of the name. For example "JOHN 1
WEEK" for employee JOHN and a duration of 1 WEEK.
TASK DEFINITION
Each employee's name (nickname etc.) can be used as a task name. One
task should also be created with the name "ASSIGN".
The tasks which are given a name that implies an unlimited duration
should be given a large duration (9999). The tasks which specify a
time in addition to the name are given appropriate durations (1
week=7x24=168 hours). The hours/day field should be left blank.
In the resource field, enter the name of the person referred to in the
task name. The quantity and size fields should be left blank.
No prerequisites should be specified.
RESOURCE DEFINITION
Each employee is defined as a resource by using their name as the
resource name. An entry is also made for a resource named "ASSIGN".
A type of Lxx is used where xx is unique (such as initials). This
allows us to use the L** option with the F10 print 6 function to
provide listings of all the employees, or we can use the Lxx to get
individual listings.
The quantity field is set to a large number (9999).
The size and calendar fields are left blank.
HITT Personal Software Page 31
SCHEDULE
JOB FILE LISTINGS
Printing the entire job file will provide a listing with all the
description information of the outstanding jobs. If you wish to sort
this file it should first be copied to a new project name, sorted,
then printed from that new name. A batch file and .SKB command file
can be setup to provide a single operation that will copy the file,
sort it using DOS sort, start SCHEDULE using the new project name,
enter the keys to cause the printout, and exit SCHEDULE.
FRAME 10 CONTROLS
For this application the F10 controls should be set as follows:
o 5 on to provide automatic summary task listings.
o A on to provide automatic recalculation when new jobs are entered.
o D on to provide automatic job record deletion when tasks are
completed.
o M set to 9999 to save all started activities.
SUMMARY
There are other ways of structuring the task data base which may be
more appropriate for your application. For example the persons name
could specify a start and end task and optional duration tasks could
be inserted by the program using the Jxx resource funneling function
with appropriate size codes. This approach would not require as many
task descriptions if a large number of different time durations were
required for a large number of employees.
The example here is simpler and is offered as a suggestion to get you
started.
HITT Personal Software Page 32
SCHEDULE
CHAPTER 13. MEETING CALENDARS
Keeping track of your meeting calendar is a useful application that
can be combined with project management and staff assignment
applications into a single department project file. It can also be
done independently to produce a daily listing of your meeting calendar
to be carried by you.
This application will provide the following:
o Time stamp of the date/time the item was entered
o Scheduled date/time of the meeting
o Time stamp of the date/time the meeting was started
o Time stamp of the date/time the meeting ended
o Optional listing of each meeting for your activity file
o Optional listing of all pending meetings in order by date/time
o Optional listing of all pending meeting conflicts
JOB DESCRIPTION
The name of the meeting will be entered as a job on the F3 frame.
The duration of the meeting will be the "JOB TO BE DONE". For example:
".5 HRS" for a one half hour meetings.
The requested start time must be set to the date/time of the meeting.
The requested completion time was set by the program to the current
time and should be left unchanged as it represents the the time stamp
for the time the meeting was entered into the system.
TASK DESCRIPTION
A task description is created for each possible meeting time duration.
For example: ".5 HRS", "1 HR", "1.5 HRS" ... "8 HRS" would be used as
the task names.
The task duration is set to the duration indicated by the task name.
The hours/day field is left blank.
The resource field will specify your name (nickname) and the resource
"REP". For example: "JOHN,REP".
The quantity, size, and prerequisite fields are left blank.
HITT Personal Software Page 33
SCHEDULE
RESOURCE DESCRIPTION
One resource is created with your name as the resource name and with
your nickname as the generic name. Make the class equal to "Lxx" and
the quantity field equal to "9999".
The next resource is created with "CONFLICT" as the resource name and
with "REP" as the generic name. Make the class equal to "Lxx" where xx
is the same as was used with your name so the CONFLICTs will print
anytime your resource class is requested for print. Make the size
field equal to "1" and the quantity field equal to "9999".
The last resource is created with "DUMMY" as the resource name and
with "REP" as the generic name. Leave the class and size fields blank
and make the quantity field equal to "1". The quantity represents the
number of meeting you can attend simultaneously.
MEETING CALENDAR LISTINGS
The F10 print 6 of "Lxx" will print a listing of all the scheduled
meetings in order by the date and time. If any conflicts exist an
additional listing will be created which indicates the conflicts.
You may wish to send this file to the disk using the "ODx" command and
setting the lines per page to zero using the "L00" command. This will
allow you to browse your schedule using an editor program such as the
"IBM Personal Editor".
INTERACTIVE MEETING REMINDERS
Using the F10 "E" command you can set the amount of advanced notice
you would like to have regarding the upcoming meetings. For example:
setting 8 hours would allow you to see all of todays events on the F2
frame.
AUTOMATIC OPERATION
A batch file in combination with a command file can be setup to
automatically display your events according to your own routine. You
may wish to have your days agenda displayed when you first turn on
your system, press Esc and enter a mode where each event is displayed
five minutes prior to its scheduled time, press Esc again and print
the entire calendar to disk, exit the program and invoke and editor to
display your entire schedule on the screen.
HITT Personal Software Page 34
SCHEDULE
See the chapters "Keyboard Command File", "Ideas for the expert",
"Program exit return codes to DOS" and your DOS manual under "BATCH"
for details.
HITT Personal Software Page 35
SCHEDULE
CHAPTER 14. DEVELOPMENT PROJECT PLANNING
SCHEDULE provides a number of features which allow the process of
"Development Project Planning" to be done in levels, while providing
continuity in the projects scheduling and tracking functions.
The service station job shop environment is a situation where the
tasks have been done before and are very well understood. In that
environment "tasks" and "resources" remain relatively constant and
jobs become the variable. Not so with development projects.
With development projects the plan has varying detail available
depending on how far out we are looking. Typically we will have a
general idea of how to go about attacking the project but do not know
details. Therefore we would like to be able to schedule with variable
levels of detail.
Most development projects have major phases like:
o Research
o Plan
o Design
o Prototype (simulate or model)
o Debug
o Release (to manufacturing)
o Product Support
These phases represent the points where the responsibility moves from
one organization to the next. These are normally considered
MILE-STONES and represent the points at which an output from one group
is available as an input to the next group.
It is important for the project model to have boundaries which
represent the actual organizational responsibility boundaries of the
project. Most organizations have hierarchies and the detail levels
described here could be considered to be levels in this hierarchy.
Another way of looking at the levels is as a "TOP DOWN DESIGN", and
since the final detail is added to the bottom, it becomes a "BOTTOM UP
PLAN" much like the Eastern Cultural Methods.
"QUALITY plans" also have characteristics which can be mapped into the
process. Defining the input/output and required steps to produce a
measurable quality process independently from schedule and resource
constraints is a powerful tool. As pressure is applied (schedule or
resource) the steps being bypassed become apparent. Choices can then
HITT Personal Software Page 36
SCHEDULE
be made intelligently to compromise the quality, schedule, or cost.
The following detail levels describe ways or levels that SCHEDULE can
be applied to development type projects. You may wish to jump in at
some level with your project, or you may choose to use the entire
process. SCHEDULE allows you to plan, track, and project from any
level. It is unique in its ability to allow a great deal of detail.
DETAIL LEVEL 1:
This detail level is equivalent to the level provided by most project
management programs. We specify an unconstrained resource environment
and impose the market requirements (requested completion). If the
requested completion time cannot be accomplished the critical path is
defined so that we can adjust our assumptions accordingly.
The objective of this level is to bring the planning to the point
where each of the independent areas can independently asses there
ability to meet the overall schedule. The output from this level is
used to commit resources from each of the effected areas to complete
the definition of detail level 2.
Our first pass would define each of the phases, of the project, as a
task with a duration and the previous phase as a prerequisite task. As
the responsible areas estimate the resource requirements they are
added to the task descriptions.
JOB definition
There is only one job. It requests the final task (PRODUCT SUPPORT),
and has a requested start and completion time. These same assumptions
are used by the planning department, along with a product description,
to estimate quantities etc.
TASK definition
Each phase becomes a task with the previous phase as its prerequisite.
It is an over simplification to imply that there would be only 7 tasks
however. The grid should contain as much detail as is available from
historic information or planning judgement. There may be hundreds of
tasks defined at this level. This level of scheduling is equivalent to
the only level provided by most project management systems. The task
duration is estimated in hours but we normally are not thinking at
this detail level. The number to use is derived by doing some
multiplication.
HITT Personal Software Page 37
SCHEDULE
With 8 hour days and 5 day weeks
1 day = 8 hours
1 week = 40 hours
1 month = 150 hours (173 without holidays/vacations)
1 quarter = 500 hours (520 without holidays/vacations)
1 year = 2000 hours (2080 without holidays/vacations)
SCHEDULE allows you to define up to 5 years (9999 hours) as a single
task duration (assuming 40 hour weeks).
Since the resources will not have calendars, at this detail level, we
will set the HOURS PER DAY to match our assumptions. With 8 hour days
and 5 day weeks the hours/week will be 40 so we should use 6 hours/day
(6x7=42) since the program will assume 7 day weeks. This field allows
us to specify approximate time scales without requiring calendars.
When we start specifying calendars with resources we will make the
hours/day = 24.
32 to 38 hour weeks use 5 hours/day
39 to 45 hour weeks use 6 hours/day
46 to 52 hour weeks use 7 hours/day
53 to 59 hour weeks use 8 hours/day hours/week / 7 = hours/day
60 to 66 hour weeks use 9 hours/day
67 to 73 hour weeks use 10 hours/day
74 to 80 hour weeks use 11 hours/day
Usually, at this level, projects are estimated as people-days,
people-weeks, or people-months and assume calendar durations. The
estimated effort required to accomplish a task should always be the
product of the resources specified times the duration specified.
SCHEDULE always uses hours as the duration so that functions like
putting on a 2nd shift or scheduling overtime will automatically
reduce the calendar time. Increasing the hours/day field, over normal
working hours, is equivalent to adding overtime.
RESOURCE definition
Only the main resources are specified and these are specified at a
high level. For example we might require Researchers, Planners,
HITT Personal Software Page 38
SCHEDULE
Engineers, Technicians, Manufacturing Engineers, etc. We will create
one resource definition for each of these and specify a large
available quantity to allow an unconstrained (best possible) schedule.
The critical path
The output listing prints an "*" before the task name if the float
time is zero or negative. With an unconstrained resource environment,
as described here, this will be the tasks which must be improved to
improve the schedule (The Critical Path).
DETAIL LEVEL 2
This level becomes appropriate when each area of the business is
committed to the schedule derived by detail level 1. Here we define
the output product of each area that is required before the next group
can start, and we will set the requested start and completion times
for each area to the committed times negotiated using detail level 1.
To do this we will define additional JOBs, one for each of the steps
previously defined at the points where the responsibility moves to a
different organization. We will also alter the task descriptions so
that rather than connecting the tasks with prerequisites we will
specify a resource as being the product produced by one group and
required by the next. This allows us to plan and track based on
organizational boundaries.
You may find later that it is desirable to break the project into a
number of projects based on the same organizational boundaries. This
will allow scheduling at a lower level within organizations that have
responsibilities to multiple projects. Here we would create a project
that is really jobs from multiple projects that are sharing the same
resource pool. In this case the schedules are manually controlled,
between projects, using the availability dates of the output resource.
SCHEDULE is unique in its ability to use "Bxx" class resources to
represent a resource created as the result of executing a set of
scheduled tasks. This resources creation represents a "Mile Stone" in
most project management systems but is more realistically a resource
as described here.
JOB definition
Add a job for each organization that will have responsibilities to
this project. The requested start and end times were derived and
HITT Personal Software Page 39
SCHEDULE
agreed to during detail level 1 planning. Under JOB REQUESTS we will
specify the task(s) that produce the end result resource.
TASK definition
Modify the task descriptions for the tasks which called out
prerequisite tasks from other organizations. We will remove the
prerequisite requirement and instead specify the resource created by
the other organization.
The tasks, specified as the requested tasks in the added job
definitions, will be modified to add the creation of the resource
which is its end result product.
RESOURCE definition
The "Bxx" class resources are added as appropriate with the quantity
field left blank. This describes the resource even though it does not
exist until the task which creates it is executed. The GENERIC name
will be used in tasks descriptions which are adding to the pool and
the SPECIFIC name (top line) will be used in task descriptions which
are using Bxx class resources.
At this point it may also be appropriate to increase the detail of the
labor resource. Rather than a single resource "ENGINEER" we could keep
that name as the generic name and use specific names such as ASSOCIATE
ENGR, STAFF ENGR, ADVISORY ENGR, SR ENGR, with appropriate level codes
and quantities. If we were thinking ahead, we would already have the
levels specified in the tasks.
[Caution: The specific name(s) should not equal generic name(s).]
The critical path
The output listing prints an "*" before the task name if the float
time is zero or negative. Since this detail level is not resource
constrained this will be the critical path. Each job's start/end time
was specified independently in this case so some jobs may not display
critical paths while others (in sequence) may.
At this level we should be making adjustments between the amount of
resources, and the duration of the tasks, to balance the schedule. For
example we might decrease the resource of the noncritical tasks and
increase the resource of critical tasks while adjusting the duration
appropriately until an acceptable schedule is obtained.
HITT Personal Software Page 40
SCHEDULE
DETAIL LEVEL 3
The objective of this level is to obtain agreement and commitment for
the resources required to accomplish the tasks on the schedule
previously determined.
This is not as easy as it might sound. Normal variables are Quality,
Resource, and Schedule. Quality gets compromised by bypassing steps
(tasks) in the defined process (like documenting your work). Here we
can only vary resource and schedule, and we will track the steps.
JOB definition
Unchanged
TASK definition
Unchanged
RESOURCE definition
The resource definition is modified to reflect the assumed resource
levels.
Some reductions of resource will cause little or no schedule change
due to the resource smoothing that will be accomplished by the
program. Printing the resource utilization of the resources will give
you the data required to determine the peeks and valleys.
The critical path
When scheduling is done while resource constrained it is possible for
the job to be noncritical when scheduling the first tasks but, because
of delays acquiring resources, later tasks become critical. To see the
entire critical path you can temporarily change the requested
completion time to force the "*" display in the early tasks (SCHEDULE
used "local float" for this determination).
HITT Personal Software Page 41
SCHEDULE
DETAIL LEVEL 4
This is the level where calendars are imposed on the plan. With this
level of detail it is possible to use the interactive update and
re-schedule functions of the program to track and project changes. If
delays occur corrective actions can be taken (more resource applied,
more shifts, etc) and the corrections effect projected.
At this level the program is allowed to switch resources at calendar
hour/minute boundaries depending on the priority of the tasks. When
rescheduling with calendars for the first time there may be some
critical task improvements because of resource switches and task
splits.
Also the program may allocate one resource on first shift and others
on 2nd shift to improve the schedule as allowed by the calendars.
Without calendars the HOURS/DAY field allowed the idea of overtime but
not resource changes. With calendars overtime and shifts are
controlled by the calendars.
TASK descriptions
Clear the hours/day field (blank = 24).
RESOURCE descriptions
Specify the appropriate calendar(s).
Split resources (same generic name) into as many groups as require
separate calendars.
CALENDAR descriptions
Describe the appropriate working hours for each calendar.
QUALITY PROGRAMS
Quality is defined as "Meeting the Requirements" and is emphasizing
the idea of doing it right the first time rather than building
expensive techniques for fixing it later. Some would consider the
techniques being discussed as just good management style, while others
HITT Personal Software Page 42
SCHEDULE
believe its a new way of doing business.
Quality is currently getting a lot of attention from U.S. business.
Most are modeling their programs after Japanese business. A number of
things provide the foundation of most quality programs:
o Understand the customer's requirements.
o Involve the implementers in developing the plan.
o Develop a process which emphasizes early detection and correction
of flaws.
o Define quality measures so that improvement can be identified.
o Identify the cost of quality.
o Involve your suppliers in defining your requirements to them.
One technique currently being used to help manage quality programs in
some corporations is known as DAA (Department Activity Analysis).
DAA defines every operation or task as a PROCESS.
Each PROCESS has inputs, value added action, and outputs. The input is
treated as coming from suppliers and the output is that going to
customers. The discipline for defining this process is much the same
as that required for the project management steps previously
described.
Applying DAA to the project management approach makes it a quality
program rather than just a planning tool.
Each task of a process should be described in detail and developed by
the group responsible for implementing the tasks. Quality standards
and measures should also be defined by the people responsible.
SCHEDULE allows the durations and required resources to be described
independently from the schedule and available resources. Quality is
sometimes compromised by skipping steps in an effort to meet schedules
with limited resources. SCHEDULE varies the schedule with the
available resources but keeps the process the same.
SCHEDULE provides tracking which insures that all the steps are
executed. Resources can be defined to represent the product being
developed by one group and required for the next step in its
completion.
SCHEDULE will not automatically insure quality, but it can provide an
important component in the control of the process and resources which
will effect the quality of the product or output. SCHEDULE used with
DAA helps departments to understand the product they are producing,
the processes required to produce it, and the interdependences on
other organizations.
HITT Personal Software Page 43
SCHEDULE
CHAPTER 15. IDEAS FOR THE EXPERT
INTRODUCTION TO THE EXPERT SECTION
SCHEDULE was written for the expert. Prompts don't get in your way as
they are provided only with error detection or requests for help. It
is meant to be fast and efficient if you know what you would like to
do.
SCHEDULE is vary flexible and can be used in any number of
applications. It can also be setup by the expert for use by people
with limited knowledge. A particular application can limit the
flexibility to keep people out of trouble.
This section is devoted to ideas that may improve your efficiency in
using the program. Ideas which may have general applicability are
described here and may stimulate your own ideas. Its a list of hints
that may be of help to the experienced user.
You will find that SCHEDULE's disk command language in combination
with DOS's batch facilities will allow you to tailor your operating
environment to your particular needs. These command languages were
used to provide the demonstration material which demonstrates some of
its power and flexibility.
USING SCHEDULE OUTPUT AS DATA FOR OTHER PROGRAMS OR PRINTERS
The normal listing outputs can be directed to a selected disk using
the F10 output unit selection parameters. This creates a data file
which if directed to the printer will produce exactly the same
printout as would be produce if it had been printed directly. This
file contains all the printer control characters, page eject
characters, headers, and page numbers with spacing appropriate with
the page size setting.
Making the number of lines per page parameter on the F10 frame equal
to "00" eliminates the headers and printer control characters. Each
line is ended with the normal ASCII carriage return line feed
characters (13,10) with the exception of the last line of each listing
which contains a carriage return eject (13,12). Other printer controls
have been stripped and an infinite page length is assumed.
This form is more easily used by other programs which would otherwise
have to deal with the control characters and is also in a better form
for other printers which do not use the IBM matrix printer controls.
You may also wish to use this form when communicating thru the RS-232
serial adapter or when connected via terminal (327x) type emulation
HITT Personal Software Page 44
SCHEDULE
adapters to your central system.
BUILDING LARGE SIMILAR FILES
With some applications a large number of tasks and/or resources must
be created which are similar except for small changes. There are
methods which will reduce the amount of data entry required.
Solution 1: Takes advantage of the zero length name entry function to
re-select the last record.
1. Enter the first task (or resource).
2. Press "F5" (or "F7") to record it and clear the frame.
3. Press "Enter" to re-select the last one recorded.
4. Press "Home" and modify the name.
5. Press "Enter" to select the new task/resource.
6. Modify the data (rather than re-key it) as required.
7. Repeat from step 2 until done.
Solution 2: Is accomplished by using the .SKB command file and an
editor program to build it. Some editors allow block copies and global
changes. Refer to the appendix which defines command files.
The initial data should look as follows:
"\.\0?" This will get you to the F5 frame.
"\." Gives the background a chance to start.
"\0?" Selects F5.
Note: Do not enter the quotes.
"\0A" Gets you to the F7 frame.
You can use the "Alt Number" keyboard function to enter extended ASCII
codes. These codes can be found in the BASIC Manual Appendix which
describes extended codes that have a null as the first character.
The "\0" command provides the null and the ASCII code for F5 can be
entered by using "Alt,6,3" or by entering the equivalent character
"?".
Solution 3: The ".SKB" file used for solution 2 can be created by
writing a program in BASIC or some other language. This might be
appropriate if the data is already in existence in some other form.
For example a list of resources or names.
This technique would provide automated maintenances of the data since
the process could be repeated when the source was changed.
HITT Personal Software Page 45
SCHEDULE
CREATING CALENDARS
If you intend to create a large number of calendars or a calendar for
extended periods it may be easier to create a command file that can be
reused after minor modifications with an editor.
Refer to the COMMAND Appendix for an explanation of the commands.
DATA BASE MAINTENANCE
Normal data base maintenance should be preformed as described using
the "D" function on the F10 frame. This insures that records are
deleted at appropriate times so that continuous scheduling is not
adversely effected.
There is an alternate method which applies in some circumstances using
the Ctl" key in conjunction with "Pg Up", "Pg Dn", and "End" keys.
There are cautions however with using this method.
Individual records can be deleted from the Job, Task, Resource, and
Calendar data bases (x.JOB, x.TSK, x.RES, and x.CAL) by selecting the
record on the appropriate frame (F3, F5, F7, F9) and holding the
"Ctl" key while pressing the "End" key. The record will be deleted and
the next record in the data base displayed. *Caution* Holding down
"Ctl,End" will delete multiple records at a type-o-matic rate.
Once a record is selected (whether or not you intend to delete it) it
is possible to step through the data base records by pressing "Ctl, Pg
Up" or "Ctl, Pg Dn". This is required when deleting TASK DESCRIPTION
records which have more than one record associated with it (NUMBER OF
RECORDS > 1). It is essential that you find and delete all the records
associated with the task name.
**CAUTION** Deleting records using the "Ctl,End" function should only
be done when there is nothing being processed in the background and
there are no jobs partially completed.
SORTING THE DATA BASE
You can only sort the data base when there are no incomplete jobs
since the checkpointed tables refer to records in the data base by the
record numbers, and these numbers will change when the data base is
sorted. If the project has been started (the first task has been
marked as having started) you must copy the files to a new project
name and use this procedure on the temporary project data.
DOS 2.x and above comes with a SORT and FIND filter that can be used
HITT Personal Software Page 46
SCHEDULE
to sort the .JOB, .TSK, .RES, and the .CAL files. The DOS SORT only
works for files less the 60,000 bytes so watch your file size and keep
a backup copy of your data base. If your files get larger that this
you will need one of the other sort programs available on the market.
Use the following commands where %1 equals the project name. This is
in a form appropriate for a batch (BAT) file.
SORT <%1.JOB >%1.TMP
FIND ":" <%1.TMP >%1.JOB
SORT <%1.TSK >%1.TMP
FIND ":" <%1.TMP >%1.TSK
SORT <%1.RES >%1.TMP
FIND ":" <%1.TMP >%1.RES
SORT <%1.CAL >%1.TMP
FIND ":" <%1.TMP >%1.CAL
ERASE %1.TMP
The FIND filter is required to eliminate a null record which is
somehow created by the SORT filter.
These files are standard ASCII files and can be edited with standard
editors. Care must be taken to maintain the record length and tab
substitution is not allowed. The other files used by SCHEDULE (.STA,
.ACT, .TMP) are binary files and will probably be destroyed by editors
that expect ASCII files.
The .TSK file has some special considerations. The records contain
numbers which are record number pointers to the previous extension
record.
After the sort is completed it will be necessary to reconnect the
extension records in the .TSK data file. This can be accomplished with
the following manual procedure.
1. Start the SCHEDULE program with the sorted data base.
2. Press F5 then enter to select the first record.
3. Press F5 repeatedly until no more extensions appear.
4. Press enter to re-select the record.
5. Press Ctl-PgDn until you get to the next 1st of N records
6. Repeat from step 3 until there are no more records.
The above procedure will reconnect the record extension pointers. This
procedure can be described in a command file.
RESOLVING MULTIPLE ACTION REQUIRED MESSAGES
While developing a new project data base it is not unusual to get
multiple messages about unresolved names or calendar codes.
The normal process for resolving these discrepancies is to start with
HITT Personal Software Page 47
SCHEDULE
the last one first (it's the one still being displayed when the
scheduling has completed). Then to reschedule again and work on the
next message.
In some cases it may be more convenient to look at some of the
internal tables developed by the program to assist in resolving
multiple messages without having to reschedule each time.
"Ctl,F1" displays the main matrix task grid. If you have printed the
data base it will help you decode the numeric substitute numbers such
as JOB, TASK, and RESOURCE, since these are the record numbers listed
by the file print functions.
TASK " " NOT FOUND FOR JOB " "
This message will appear when a JOB specifies a TASK which is not in
the data base or when a TASK specifies another TASK as a prerequisite
which is not in the data base. The "Ctl,F1" table will have the
unresolved task names displayed on the right side just proceeding a
status code of 1. You will find all the unresolved task names listed
in this table.
With a working task description data base the message will normally
indicate a typographical error in the JOB definition record and is
easily located. With an incorrect task prerequisite however it is not
always obvious.
The task associated with the mismatched name can be determined by
using the ONODE number. If the ONODE is 0000 it is the job name
specified which is requesting the task which cannot be found. If the
ONODE is non-zero find the entry with an equal INODE number. The task
number specified in this entry is the task specifying a prerequisite
task name which cannot be matched. Find this task using the task
number and a task file listing.
CALENDAR " " NOT FOUND FOR RESOURCE " "
If the calendar code is correct and the calendar does exist it is
possible that one of the other possibilities listed in the message
section applies.
"Ctl,F4" will display all the calendars found in the data base which
are associated with resources required for the set of tasks being
scheduled. You can determine the Years, and Months, which are
available without requiring a calendar file listing.
"Ctl,F3" will display all the resources associated with the tasks
being scheduled. Only the Generic name is directly available but the
HITT Personal Software Page 48
SCHEDULE
resource number is the record number. The tasks which are attempting
to schedule the resource can be found in the "Ctl,F2" table.
RESOURCE "" IS NOT AVAILABLE FOR TASK ""
"Ctl,F2" will display the resource names required for each task. If
you look down the FLAG column any FLAG=0 is an unresolved resource
name.
REDEFINING THE KEYBOARD
The "SCHEDULE" program does not provide any facilities for redefining
the keyboard keys directly.
If you are using DOS 2.x there is an "EXTENDED SCREEN and KEYBOARD
CONTROL" facility that can be used for that purpose. See your DOS
manual.
To use this facility you must include "DEVICE=ANSI.SYS" in your
"CONFIG.SYS" file. You can then use an editor to create a file with
the appropriate controls and then use the "TYPE" command to effect the
keyboard changes.
Since the changes will be in effect for DOS as well as for SCHEDULE
you will need to create a second set of redefinition controls to undo
the changes when you are done using SCHEDULE.
This can all then be placed in a .BAT file to provide single command
execution. The command "SCHED project" will effect the change using
the following files.
SCHED.BAT
TYPE change.kbd
SCHEDULE %1
TYPE undo.kbd
CHANGE.KBD
-[0;25;"Poughkeepsie, N.Y."p
UNDO.KBD
-[0;25;0;25p
The above will cause "Poughkeepsie, N.Y." to be entered anytime
"ALT-P" is pressed. This process can be used to setup macro's as in
the example or to redefine any of the keys. The number of characters
HITT Personal Software Page 49
SCHEDULE
that can be translated is limited by the table size in this facility.
NOTE: In the above example the "-" character is an "Esc" character
which normally displays as an arrow pointing left.
HEADER LINE PRINTING
Frame 10 allows you to enter a line to be printed as the header line
of all listings (F10 "H"). This facility can be used in a number of
ways since it allows entry of any keyboard character (Null first
extended codes cannot be entered).
Most commands to the printer can be issued from this line entry. Esc,
Enter, Tab, and all other ASCII keys (Line feed) can be entered into
this line. The following are ideas which consider this capability:
Tired ribbons: The life of old ribbons can be prolonged by printing
twice over each line. The printer will print at less than 1/2 the
speed. Double print is a command which is not used by the program but
can be invoked by entering the command on the "H" line.
Enter "Esc G" to turn on Double Print. ("Esc H to turn it off)
Multiple header lines: Since the carriage return and line feed
characters can be entered the header can occupy multiple lines
(limited to a total of 78 characters). You must reduce the number of
lines per page specified in order to compensate for the number of
lines over one. Also you can use the TAB character to position the
header line without using up the entry line space with blanks.
Header line control characters: The header line can be printed in
Condensed, Underscored, Emphasized, Double strike, etc. by entering
the appropriate control characters. Some of these will be
automatically reset, others will not.
The following printer commands are reset by the program after the "H"
line has printed.
o Double Width
o Compressed Character mode
o Page length (will be set according to the F10 frame)
Changing the header for each page: Since the printing is being done
in the background and the header line entry is being done in the
foreground it is possible to change the line as printing is being
done. You can suspend the printing by making the printer not ready
(Press on-line button) while you are changing the header line for the
next page. Do not turn the printer power off as that would reset all
the special controls.
HITT Personal Software Page 50
SCHEDULE
CHAPTER 16. SCHEDULE TRAPS
This chapter is the place I have documented the traps people have
gotten into. Read over the list and avoid the problems. If all else
fails ask for Don (Hitt) at HITT Personal Software.
RESOURCE NAMES
Many resources may have the same generic name. A generic name cannot
be the same as a specific name of a resource. The program does not
check for this duplication and may allocate the wrong resource.
HOURS/DAY FIELD IN THE TASK DESCRIPTIONS.
This field should be left blank if the task also specifie a resource
that uses a calendar. Using both (resource calendar and HR/DY) will
cause a problem because the program will try to use the task HR/DY
field to create its own calendar from hour zero to the number
specified. See the chapter on PROJECT PLANNING for the appropriate use
of this field.
CREATING GANTT FILES.
If you set the lines/page option of SCHEDULE frame F10 to zero the
printer control characters will be suppressed and the program will
assume a continuous form. That is the correct form for GANTT. I like
print option 2 and 6*** for my GANTT charts. Direct the print to the
disk using the "O" option.
There is a batch and command file on the SCHEDULE diskette that will
automatically link the programs. Look for the following files:
o PLAN.BAT
o PLAN.SKB
o VIEW.BAT
o VIEW.GKB
You may need to modify this file for your system configuration and
disk structure.
HITT Personal Software Page 51
SCHEDULE
SCHEDULING LATE AND CALENDAR NOT FOUND MESSAGES
If you use AM, PM time in the calendar definition rather than 24 hour
time it may look to the program as though the time is going backwards.
You must use 24 hour time (00:00 to 24:00).
The program does not check for this condition and will not schedule
any time for the backward periods. It therefor runs out of calendars
and gives the no calendar message.
EDITING THE DATA BASE
The project.JOB, project.TSK, project.RES, and project.CAL files are
ASCII and can be edited with most editors. The record length must
remain fixed.
Don't use an editor on the project.STA or project.ACT files as they
are binary.
o project.STA is the checkpoint file for restarting the program.
o project.ACT is an extension of the checkpoint and contains the
last scheduled resource activities.
Always store the files with the NO TABS option.
If you move data around, read the expert chapter abo7ut sorting the
data base. The project.TSK file has special considerations.
The program deletes records by placing a blank in the first location
of the appropriate record(s). New records are placed in the deleted
locations, or if none, at the end of the file. This process retains
the name to physical location relationship required once you have
started the project.
The project.TSK file has backward pointers to connect multiple record
task description records. Use the RECONN.KBD command file to reconnect
these records if you have moved them around.
HITT Personal Software Page 52
SCHEDULE
CHAPTER 17. COMMAND FILE
When SCHEDULE is invoked it attempts to open a disk file to use as
keyboard input. The file has the same first file name (the project
name) as the remainder of the files and the extension of "SKB". If the
file is not present on the same disk as the data base the program will
use the normal keyboard.
Each character is used by the programs as if it came from the
keyboard. In addition the "\" (back slash) is used to indicate that
the next character is a command rather than a keyboard character. This
technique is used to provide the demonstration sessions and can also
be used to predefine a particular setup or to drive the program much
like "PIPING" (a DOS 2.+ function).
COMMAND DEFINITIONS
\. Pause 1 second: Wait for the next second timer tic. This command
can be used to provide delays. The background will continue during the
delays. It is sometimes used in conjunction with the "\," command to
insure that the next printout has an opertunity to start before
looking for completion with the comma command.
\, Wait for processing or any key: Wait for background processing to
complete or for any key to be depressed. The keyboard option allows
for problems, such as the printer not being ready, which could prevent
the background from ever completing.
\
Comment.: All characters on the line after this code are passed over
and not used. This allows comments to be placed in the command file.
In addition it can be used to prevent the carriage return code from
being passed to the program [see Carriage return (13)]. Comments do
require time to pass over during the execution of the keyboard
procedure and therefor should be placed after procedures that loop.
\Bx Branch to \Nx: This command resets the command file and scans it
to find the position named x as defined by the \Nx command. Command
processing is then restarted with the character following the \Nx
command. If a matching \Nx is not found, control is returned to the
keyboard. The branch can be made conditional by using it in
conjunction with the \U or \E commands on the same line.
\C Clear the display: Clear the selected display screen and set the
locate address to zero.
\D Display: The characters following this command are directed to the
selected display starting at the locate address. The locate address is
updated +1 with each character.
HITT Personal Software Page 53
SCHEDULE
The display mode is terminated with the next command (\). When using
the graphics display as the 80 character/line display it is selected
as the monochrome display and the \G selection is disabled.
This display does not affect the cursor position or display pointers
being used by SCHEDULE.
\Ex If Equal: If the character x is equal to the monochrome screen
character pointed to by the locate address, Do the remainder of the
line. Else skip the remainder of the line (to the next ASCII 13).
\G Select the Graphics 40x25: Select the graphics display (TV). 40x25
(This is the default selection)
\Lnnnn Locate: Locate the display and conditional test pointer to the
screen character position nnnn where 0000=Top left and 1999=Bottom
Right of the 80 character per line display and 0999=Bottom Right of
the 40 character per line display.
\M Select the Monochrome 80x25: Select the display being used as the
80x25 (This may be the graphics display if it is being used as the 80
character display.)
\Nx Name this position x: This is used in conjunction with the \B
command to allow looping within the keyboard procedure. The position
of the \Nx marks the target of the \Bx. (x is any character and must
match the x in the \Bx.)
\Ux If Unequal: If the character x is not equal to the monochrome
screen character pointed to by the locate address, do the remainder of
the line. Else skip the remainder of the line (to the next ASCII 13).
\W Wait for any key: Wait for any key to be depressed. Used to pace
the demonstration to the user speed. The key actually depressed is not
used.
\X Exit to the keyboard: Keyboard entry is allowed at this point.
When "Esc" is pressed control is returned to the command file at the
point following this command.
\0x ZERO: Enters a null. This allows you to enter special keyboard
characters not normally allowed by editors. See your Basic Manual
(Appendixes G) for a definition of the null-x extended character
codes. These codes are used to stimulate functions such as function
keys or cursor controls.
HITT Personal Software Page 54
SCHEDULE
ADDITIONAL CONTROL
In addition to the "\" command characters, the carriage return (13)
character is handled as follows.
Carriage return (13): This code is normally inserted at the end of
each line by editor programs. It is then followed with a "Line feed
(10)" code.
The carriage return is used as follows:
o If in display mode the display pointer is advanced to the next
40th position. This forces the display pointer to the next line
(or half line on the monochrome display). The line feed characters
are skipped.
o If in keyboard input mode an "ENTER" key is passed to the program
and the next character (normally a line feed) is skipped.
o If directly following a "\" the carriage return is skipped and the
character following is passed to the program (normally the line
feed ASCII 10).
o If following a "\;" anywhere on the line the carriage return and
the character following (normally a line feed 10) is skipped.
HITT Personal Software Page 55
SCHEDULE
CHAPTER 18. PROGRAM EXIT RETURN CODES TO DOS
IBM DOS 2.0 and above supports the ability of a program to set an exit
code that can be interrogated from a batch file (.BAT) using the "IF
[NOT] ERRORLEVEL n" DOS command. DOS 1.1 does not support this
command. Refer to your DOS manual under BATCH PROCESSING for the
command definition.
SCHEDULE attempts to set this code as it terminates (exits to DOS). If
the attempt fails it then exits with DOS 1.x conventions (no exit
code).
The codes set by SCHEDULE are as follows:
0 = Normal exit via the Esc key.
The checkpoint was successful.
Background processing had completed.
1 = Exit was by the Esc key and a "Y" response to the busy
message.
The checkpoint was successful but depends on the state of
processing.
Background processing was terminated.
2 = Exit was by the Ctl F10 key (A debug mode exit).
No checkpoint was taken but all files were closed.
The background processing state is unknown.
4 = Exit was via the Esc Key.
The checkpoint attempt did not have enough disk space to
complete.
Background processing had completed.
5 = Exit was by the Esc key and a "Y" response to the busy
message.
The checkpoint attempt did not have enough disk space.
Background processing had not completed.
6 = During start up it was not possible to open the required data
files. The program also attempted and failed to create the data
files.
This is normally caused by the disk file index space being
full.
8 = There was not enough processor storage to support the data
area required.
HITT Personal Software Page 56
SCHEDULE
As with most return codes the number increases with the severity of
the problem. When multiple conditions occur the highest code is
indicated.
The batch file "EXITCODE.BAT" will display the meaning of the exits
and can be used by other batch files by branching on the error level
of concern to this file.
For example:
"IF ERRORLEVEL 1 EXITCODE" placed in a batch file will exit that batch
file, if it is a 1 or greater, and will display the meaning of the
exit code.
HITT Personal Software Page 57
SCHEDULE
APPENDIX A. MESSAGES
ACTIVITY FILE DISK FULL: Activity recording has been terminated prior
to the count allowed on the control frame (F10) because the disk has
run out of space.
Scheduling will continue with this reduced activity count. See the MAX
ACTIVITIES parameter setting on frame "F10" and the description of the
considerations for this setting in the F10 control frame description.
Do not attempt to exit the program at this point as additional space
may be required to take the check point and you may loose the started
and completed task status.
Make the MAXIMUM ACTIVITIES smaller than the value now being displayed
and re-schedule before attempting to exit.
CALCULATING EST: The schedule processing is calculating the earliest
start time for each task. This is required after each task is
scheduled if the task was delayed because of resource constraints.
CALCULATING LST: The schedule processing is calculating the latest
start time for each task. This always follows CALCULATING EST.
CALENDAR " " NOT FOUND FOR RESOURCE " ": The named calendar is
required by the named task but it cannot be found in the data base.
o The resource calendar code may be incorrect.
o The calendar data base may not exist.
o The required month/year may not exist in the data base.
o A task duration may be incorrect which is extending the schedule
past the last available calendar.
o A resource availability time may be extending the schedule past
the last available calendar.
CAUTION do not remove disk " " before exiting this program via the
"Esc" key: The disk indicated is being used by the program and a
number of files have been opened. Changing the disk could cause
erroneous data to be written or the catalog to be over-written unless
the program is terminated via the normal exit (Esc) before changing
the diskette.
When the message is removed from the screen, this is NOT an indication
that the disk can be changed. The CAUTION is still in effect until the
program is terminated.
CONNECTING GRID: The background processing is connecting the input
and output node numbers to create a critical path grid.
ENTER CHANGES: Changes can be entered using the full screen editing
controls.
HITT Personal Software Appendix A-1
SCHEDULE
ENTER INFO: Data can be entered using the full screen editing
controls.
ENTER NAME: An attempt has been made to move the cursor up from the
name field.
INVALID RUN TIME IN TASK " ": The run time or hours per day field of
the named task contains one of the following and should be of the form
"Hour:minute", "Hours", or ":Minutes".
o Minutes greater than 59
o Hours per day greater than 24
o (note: blank hours per day =24)
Must be P0 to P2 or DA to DD: Printer port 0, 1, or 2 or Disk A: B:
C: or D: may be selected.
Must be 0 to 3: Day code must be 0,1,2,3, or blank (blank = 0)
Must be 01 to 12: Month entry is zero or greater than 12
Must be 16 to 99: The page size must be in this range or 00. The
printer is set to eject to this number of lines and will print fewer
than this number on a page. If 00 is entered the printer controls are
not issued and the printout is treated as a continuous form.
NAME FOUND: The name entered on the first line has been found in the
data base and the remainder of the display is displaying the current
contents of the record.
NAME NOT FOUND: The name entered on the first line was not found in
the data base and the remainder of the display remains unchanged. If
the name is incorrect move the cursor to the name line and make the
correction, otherwise this is a new data base record.
NO STATUS FILE!: While attempting to open all the files no "xxxx.STA"
file was found. xxxx = the project name specified when evoking the
program. This is a warning message which could indicate that the wrong
disk drive is being used as the default drive or that the wrong disk
has been placed in the drive. CAUTION: Do not change disks without
exiting this program first (Esc). The program has opened a number of
files which must first be closed by exiting. The message is normal
when starting a new scheduling session (to start from scratch erase
"xxxx.STA" and "xxxx.ACT".
OUT OF DISK SPACE: The disk cannot be written because of a lack of
space. You must exit to DOS (Esc) and resolve the problem.
The attempt to take a checkpoint may also fail if additional space is
required. If this occurs you will see a "NO STATUS FILE!" message when
you start again, and you will be starting from scratch (in process and
completed activity status will be lost).
HITT Personal Software Appendix A-2
SCHEDULE
PRINTER NOT READY: The printer is not in the ready state. Press
"Online" to make it ready.
PRINTER OUT OF PAPER: The printer is indicating end of forms. The
program will continue to print to the end of the page before stopping.
Press the "on-line" button on the printer to take it off-line (ready
light off) before putting new paper in or the printing will start as
soon as the end of forms indicator is gone.
Align the paper, then press "on-line" to continue with the next page.
PRINTER POWERED OFF: The printer is indicating a power off condition.
The system will wait indefinitely for it to be powered on, unless
terminated.
PRINTER TERMINATING: "T" has been pressed on frame "F10". The system
will complete the print line in the printer, terminate any transfer to
the printer, drain the buffer, eject the forms, and reset the print
request.
PROCESSING CALENDAR: The background processing is building a table of
the required calendars. The calendar definition file "xxxx.CAL" is
being scanned.
PROCESSING JOBS: The background processing is building a table of the
requested jobs. The "xxxx.JOB" file is scanned to find new entries or
modifications.
PROCESSING RESOURCES: The background processing is building a table
of the required resources. The resource definition file "xxxx.RES" is
being scanned.
PROCESSING TASKS: The background processing is building a table of
the required tasks to accomplish the job. The "xxxx.TSK" file is
scanned to find the required entries.
RESOURCE " " IS NOT AVAILABLE FOR TASK " ": The named resource is
required by the named task but the allocation is not possible. Any of
the following is possible.
o The name is incorrect in the task description.
o The name is incorrect in the resource description
o The size required cannot be satisfied.
o The quantity required cannot be satisfied.
RESOURCE QUANTITY NEGATIVE: A resource quantity has gone negative. If
tasks are started out of sequence it is possible that you have
indicated that a task has been started before another task which is
holding a required resource has been completed. Find the task which
has been completed and mark it accordingly.
This can also occur if the ACTIVITY file is not in agreement with the
HITT Personal Software Appendix A-3
SCHEDULE
STATUS file. When starting over, erase the xxxx.ACT file as well as
the xxxx.STA file. Its also a good idea to check the RESOURCE file
quantities for inventory (Ixx class) and buffer (Bxx class) resources
when starting over.
SCHEDULE BY JOB: The requested printout for SCHEDULE BY JOB is in
process.
SCHEDULING: The schedule processing is determining the priorities of
the tasks and allocating resources.
STANDBY: This message is displayed during the data base search for
the named record.
START/END PRINT: An automatic print request for a job just started or
ended is in process.
TASK " " MUST HAVE A DURATION SINCE IT HAS A RESOURCE: A milestone is
a task with zero duration and no resources. If you assign a resource
you must have a non zero duration. A schedule processing loop may
occur with this condition.
TAKING A CHECKPOINT: The background task is writing a table
checkpoint to disk. This is done at the end of each scheduling run and
also when exiting to DOS. This allows the system to pickup where it
left off without having to re-process all the information.
TASK " " REQUIRES A DURATION SINCE IT HAS RESOURCES: The named task
is not a Milestone (a task with zero time and no resource) since a
resource has been specified. This could cause the program to run
forever in the SCHEDULING phase depending on the particular situation.
You may eliminate the resource specification or provide a nonzero
duration. If the program is staying in the SCHEDULING phase, it may be
necessary to exit the program and restart the program after fixing the
task definition.
THERE ARE MORE ACTIVITIES (left side): The table contains additional
tasks which should be started. Moving the cursor down one past the
last (bottom) entry will allow you to see the next 5 entries. It is
possible to see some tasks listed which were listed on previous pages
because of the way the table is ordered, but no task will be listed
twice on the same page.
Moving the cursor up one position above the top entry will return you
to the first page.
If the list is long you should be considering re-running the
scheduling program (F10 S) unless you think it is possible to catch up
again.
THERE ARE MORE ACTIVITIES (right side): The table contains additional
tasks which should be completed. Up and down cursor controls will
allow you to see the additional tasks.
HITT Personal Software Appendix A-4
SCHEDULE
If the list is long you should consider re-running the scheduling
program (F10 S) unless you think it is possible to catch up again.
THERE IS NOT ENOUGH MEMORY TO RUN SCHEDULE: A test of available
storage has been made and there is not enough storage to support the
required work space. The program will normally have enough available
memory on a 128K Personal Computer using DOS 1.1 or 2.x. If not you
may have to reduce the size of DOS by reducing the I/O buffers or
other resident routines.
TOO MANY JOBS/TASKS SPECIFIED: Storage space has been filled and
compression has been unsuccessful. The background scheduling has been
abnormally terminated.
It is possible that a task prerequisite loop has been created which is
filling the table with the same tasks or sequence of tasks over and
over again. If so correct the task prerequisite definition and
re-schedule.
Although storage requirements are a function of many factors it should
be possible to contain in excess of 1000 tasks at a time.
If you have not created a loop, you have exceeded the capacity of the
system. The project must be broken into multiple projects and
interdependences must be manually controlled.
UNDEFINED TASK NAME " " FOR JOB " ": Either the job named by FOR JOB
is requesting an incorrect task name or a task description has an
incorrect prerequisite name in the string of tasks required for the
named job.
When developing task descriptions it is sometimes helpful to allow the
system to find these undefined tasks as one builds the data base
starting from the requested end result. In these cases the message
will lead you through the definition process by using a test case.
VIEW ONLY: The data base cannot be modified unless it is first
unlocked using the F10 U control. Locking the data base prevents
accidental modifications. xxxx.TSK, and xxxx.RES are controlled by
this switch.
WAITING FOR PROCESSING: The requested display cannot be provided
because the table that is required to resolve prerequisite and task
start/stop status is being changed.
If you have the 2nd display option, try using the F4, F6, F8,
functions to get the data you need.
HITT Personal Software Appendix A-5
SCHEDULE
APPENDIX B. SERVICE PROJECT ENVIRONMENT AND DATA BASE
The sample data base describes a fictitious automotive SERVICE
STATION.
Our service station has four people resources all of them are
described by the generic name MECHANIC.
OLD TIMER is the main mechanic. He can perform any job and is
licensed to give automotive inspection stickers.
JACK BE NIMBLE is the apprentice and helper. He can do some of the
mechanic type work but is not qualified in most areas.
EXTRA HELP is available sometimes. When he is, we set the quantity
field and availability time accordingly. EXTRA HELP is qualified to do
mechanic work but is not licensed to give inspections.
BOSS is also a qualified mechanic but steps in only when a job is
going to be late.
OLD TIMER and BOSS go to lunch together. They both use calendar "A" to
describe their availability hours.
JACK BE NIMBLE and EXTRA HELP have a shorter lunch break but come to
work later. Also, they have to watch the store until the BOSS gets
back. They both use calendar "B" to describe their availability hours.
The station has 3 (generic name) WORK AREA's. Two racks and space for
one additional car.
At FLOOR SPACE 1 we can do work that does not require a rack, this is
where the wall is marked for headlight adjustments.
RACK A and RACK B can be used interchangeably except that only RACK A
has access to the grease gun.
A lot next to the station will hold more cars than necessary. The
station will hold a total of 3 (buffer class resource BLD).
Some tools can create conflicts because they may be required at more
than one place at a time. We will define them as resources so this
conflict can be resolved. TIMING LIGHT, TIRE TREADGAUGE, LAMP
ALIGNGAUGE are of this type.
Normally used inventory items will also be tracked. Cases of OIL come
in once a month. OIL 10W-40 GRPx is added with appropriate
availability dates as they are ordered. SPARK PLUGS, AIR FILTER, OIL
FILTER and GREASE will only be tracked by there totals (not by type).
The station offers normal automotive maintenance. Customers can ask
for a variety of jobs. Most of the jobs are normal everyday items that
HITT Personal Software Appendix B-1
SCHEDULE
we can specify in the task data base. Jobs like TUNE UP, SERVICE,
INSPECTION, LUB, OIL, AIR FILTER, ANNUAL, and BREAK CHECK are defined
as a model of task descriptions. These models can be used by many
customers since they will be operating on different JOB resources
(CUSTOMER CAR).
As customers come to the station or call for appointments we will
select F3 and enter the names of the jobs they would like done. In
addition we enter the date and time they can make there car available
and the time they would like to have it back.
If a special or unusual job is requested we will ask the boss to
estimate the task and create a new task description model.
Sometimes our first assumptions are found to be incorrect. If we find
that the brakes don't pass inspection we can dynamically change the
requested job to include BRAKE PADS and reschedule.
When the customer calls and asks for the status of his job. We will
enter his name (F3) and display the status (F6) for his job. When the
job is completed we will automatically get a printout of the actual
start and ending times of each task.
On frame F10 we will probably want print request 4 and 5 on, AUTO
START on, and DATA BASE MAINTENANCE on. This will normally do
everything we need without having to refer to this frame.
Normal operation will be to monitor the F2 frame and use the 25 by 40
monitors to display the detail to the mechanics as they start the next
task. We will mark task actual start and ending times with an X on
this (F2) frame.
The forgoing describes a fictitious environment that has been
described to SCHEDULE as a SERVICE project data base. The resources
and tasks can be displayed and you can make up customers with requests
to observe the operation.
HITT Personal Software Appendix B-2
INDEX
A CPM 1, 2, 3
Critical Path 4, 39, 40, 41
Abstract 3 Cursor controls 13
ACT file 47
Activities 3, 4
Activity display 21 D
Adapters 45
Alt Number 45 DAA 43
AON Activity on node 3 Data base 6, 7, 12, 15, 18,
Arrow Diagrams 3 20, 25, 27, 45, 46, 47
ASCII 47 Data base listing 24
Auto processing 24 Data base maintenance 25
Aux monitor 11 Date time display 11
Decisions 5
Delete 12, 46
B Delete a TASK 16, 25
Deleting records 25
Background 3, 10 Development Projects 36
Background display 11 Disk files 8
Backup the program 2, 9 Disk space 26
Basic 45 Display 8, 55
Batch 44 Display Command 53
Batch files 32, 35 Display format 11
Bottom Up Plan 36 DOS 8, 56
Brackets 12 Dummy Tasks 3
Branch Command 53
Buffer resource 5, 20, 27
E
C Early display 24
Edit 6
Calculating EST 7 Edit controls 13
Calculating LST 7 Edit conventions 12
Calendar 4, 5, 6, 11, 18, 42, Editing files 52
46 End Key 46
CALENDAR NOT FOUND 52 Ending tasks 20
Capital Resources 4 Equal Command 54
Carrage Return 55 Erase records 25
Clear Command 53 Esc key 10
Colons : 12 Events 3
Color control 25 Exit command 54
Command 44, 45, 46, 47, 50, Expert 44
53 Expert Friendliness 1
Command file 32, 35
Comment Command 53
Concepts 7 F
Connecting grid 7
Control 23 File 45, 53
Control field 12 Find 47
Copying the program 2, 9 Foreground 3, 10
Index-1
Frame 10 controls 32 License 2
Full screen edit 13 Limitations of use 2
Function keys 10 Line Feed 55
Locate Command 54
G
M
GANTT files 51
Generic name 27, 28 MAP 2
Generic Resources 5 Meeting calendar 33, 34
Getting started 9 Message 47, 56, 57
Graphics Command 54 Mile-Stone 3, 36, 39
Grid 6 Models 3, 6
Monochrome Command 54
Multiple jobs 6
H
Header 50 N
Header print line 24
Help 1, 10 Name command 53, 54
Hints 44 Network 6
Hours Null Command 54
Day 51
O
I
Organization 39
Ideas 44 Output selections 11
If Not Errorlevel 56 Overlap 6
Insert 12
Interactive display 11, 21
Inventory resource 5, 20, 27 P
Pause Command 53
J PERT 1, 2, 3
Pg Dn Key 46
Job 3, 11, 30, 31, 37, 39, 41 Pg Up Key 46
Job description 15, 33 Piping 53
Job file 32 Precedence method 3
Job resource 5, 28 Printer 8, 44
Job status display 21 Printer selections 23
Problems 51
Process controls 11
K Processing calendars 7
Processing Jobs 7
Keyboard 49 Processing resources 7
Processing tasks 7
Program operation 10
L Project 3
Project Management 43
Labor Resources 5 Project Planning 2, 36
Index-2
Q T
Quality 36, 41, 42 Tab 47, 50
Tables 6
Task 3, 4, 11, 28, 31, 37,
R 40, 41
Task description 16, 33
Record deletion 25 Task detail display 21
Record selection 12 Task Duration 37, 38
Redirect 49 Task Model 3
RES file 20 Tasks 7
Reset print requests 24 Terminal Emulation 45
Resource 2, 3, 4, 6, 7, 11, Terminating printing 24
27, 31, 37, 38, 40, 41, 42 Time 4, 7
Resource description 17, 34 Time date display 11
Resource names 51 Time stamp 30
Ribbons 50 TMP file 47
RS-232 44 Top Down Design 36
Tracking 30
Transfer the program 2
S Traps 51
TSK 47
Schedule 2, 7, 41 Tutor 27, 29
Security header 24
Sequence 7
SKB 53 U
Slashes 12
Smoothing 41 Unequal Command 54
Sort 32, 46, 47 Updating data 13
Specific Resources 40
STA file 20, 47
Staff assignments 30 W
Start processing 24
Starting tasks 20 Wait command 53, 54
STATION 10, 18 Warranty 2
Status display 11
Storage size 8
System requirements 8 Z
Zero Command 54
Index-3