head	1.8;
access;
symbols;
locks; strict;
comment	@% @;


1.8
date	92.10.28.10.31.38;	author lacey;	state Exp;
branches;
next	1.7;

1.7
date	92.10.28.10.30.21;	author lacey;	state Exp;
branches;
next	1.6;

1.6
date	92.10.28.10.13.21;	author marlow;	state Exp;
branches;
next	1.5;

1.5
date	92.10.28.07.06.28;	author lacey;	state Exp;
branches;
next	1.4;

1.4
date	92.10.28.05.24.14;	author marlow;	state Exp;
branches;
next	1.3;

1.3
date	92.10.28.05.02.28;	author marlow;	state Exp;
branches;
next	1.2;

1.2
date	92.10.28.03.49.51;	author lacey;	state Exp;
branches;
next	1.1;

1.1
date	92.10.28.03.35.24;	author lacey;	state Exp;
branches;
next	;


desc
@@


1.8
log
@*** empty log message ***
@
text
@%*****************************************************************************
% Remember, you need to be as detailed as possible in the description
% of the modules in order to facilitate the coding task. Do not leave any 
% room for ambiguity.
%*****************************************************************************
%
% For each module and major submodule complete the following
% section and subsections
%
\subsection{Database Creation Module}

   The data base creation module contains procedures which are used for 
creating tasks, and task related information in the \xplan\/ data base. The 
program design language (PDL) is given for each procedure which creates a data
structure in the data base. These procedures will be called when the user
issues a command to create a data base of task information for the PERT/Gantt
charts.  Doubly linked lists are the data structures used to represent task
lists for items like: the main task list used to calculate the critical path
for the PERT/Gantt chart, and the related information for a task such as
subtasks list, resources list, dependencies list and dependents list.  The 
user interface with the data base creation modules will be the xplan Graphical
User Interface pop-up windows for issuing commands.

% 
% Include a data flow diagram for this module
%
\subsubsection{Data Flow Diagram}
  The PDL is small enough to fully describe the functions of this module.
The reader is referred to the data flow diagrams for the data base as shown in
the Requirements Specification Document.


%
% Include a Structure Chart for this module
%
\subsubsection{Structure Chart}
  The PDL is small enough to fully describe the functions of this module. The
module procedures are to small to need a structure chart to describe them.

%
% Include a processing narrative for this module
%
\subsubsection{Processing Narrative}

The language of implementation for the xplan software will use
pointers to create the adjacency lists data structures used to
implement the data base.  Tasks will be represented by nodes, with
structures containing their relevant information and pointers to other
linked lists of task resources, dependencies, and dependents. The
procedure create-task-info will create a structure with information
representing a single task.  This structure will be a task node in the
linked list of tasks. The task node also contains pointers to the
other relevant task node information such as previous and next nodes,
and other linked lists containing the dependencies, resources,
subtasks, and dependents of a task.  The procedure create-task-node
creates a single node in the linked list of tasks. This node contains
the pointers to the tasks previous and next nodes, and the structure
containing the tasks information.  The procedure create-task-list is
called to create the first node of a task list.  The procedure
create-resource-info creates the linked lists of resources for a task.
The interface arguments for the procedure create-task-info will be all
of the parameters that define a task.  A data dictionary for those
parameters will be given with the PDL and data dictionary for the data
types declaration module for the data base.

%
% Include a PDL pseudocode description for this module
%
\subsubsection{PDL Description}

\begin{verbatim}

TYPE task-info IS STRUCTURE DEFINED
     name IS CHAR pointer to task name;
     desc IS CHAR pointer to task description;
     duration IS UNSIGNED task duration in days;
     planned-start-date IS UNSIGNED task planned start day;
     planned-end-date IS UNSIGNED task planned end day;
     actual-start-date IS UNSIGNED task actual start day;
     actual-end-date IS UNSIGNED task actual end day;
     forecast-start-date IS UNSIGNED task start forecasted;
     forecast-end-date IS UNSIGNED task end forecasted;
     earliest-start-date IS UNSIGNED task earliest start day;
     earliest-end-date IS UNSIGNED task earliest end day;
     latest-start-date IS UNSIGNED task latest end day;
     latest-end-date IS UNSIGNED task latest end day;
     float-time IS UNSIGNED days of task float time;
     milestone IS BOOLEAN indicates if task is milestone;
     deliverable IS BOOLEAN indicates if task is deliverable, yes or no?;
     resources IS STRUCT RESOURCE-LIST pointer to list of task resources;
     subtasks IS STRUCT TASK-LIST pointer to list of task subtasks;
     parent IS STRUCT TASK-NODE pointer to task parent, if task is
        subtask of, or NULL;
     dependencies IS STRUCT TASK-LIST pointer to task dependencies,
        before can finish task;
     dependents IS STRUCT TASK-LIST pointer to other tasks depending
        on this task completion;
     number-of-dependents IS UNSIGNED used when check for task
        dependency loops;
     x IS UNSIGNED horizontal coordinate position of PERT box or Gantt
        bar;
     y IS UNSIGNED vertical coordinate position of PERT box of Gantt
        bar;
     length IS UNSIGNED Gantt bar length;
END task-info TYPE;
 
TYPE task-node IS STRUCTURE DEFINED
     data IS STRUCT TASK-INFO pointer to task;
     prev IS STRUCT TASK-NODE pointer to previous node in linked list;
     next IS STRUCT TASK-NODE pointer to next node in linked list;
END task-node TYPE;
 
TYPE task-list IS STRUCTURE DEFINED
     head IS STRUCT TASK-NODE pointer to starting node in task linked list;
     tail IS STRUCT TASK-NODE pointer to end node in task linked list;
     current IS STRUCT TASK-NODE pointer to most recently accessed
        node in task linked list;
END task-list;
 
TYPE string-hash-node IS STRUCTURE DEFINED
     str IS CHAR pointer;
     length IS UNSIGNED;
END string-hash-node;
 
TYPE string-hash-table IS STRUCTURE DEFINED
     table IS STRUCT STRING-HASH-TABLE;
     size IS UNSIGNED;
END string-hash-node;
 
TYPE resource-info IS STRUCTURE DEFINED
     name IS STRUCT STRING-HASH-NODE;
END  resource-info;
 
TYPE resource-node IS STRUCTURE DEFINED
     data IS STRUCT RESOURCE-INFO pointer to resource for this node in
        resource linked list;
     prev IS STRUCT RESOURCE-NODE pointer to previous node in resource
        linked list;
     next IS STRUCT RESOURCE-NODE pointer to next nod in resource
        linked list;
END resource-node;
 
TYPE resource-list IS STRUCTURE DEFINED
     head IS STRUCT RESOURCE-NODE pointer to the starting node of the
        resource linked list;
     tail IS STRUCT RESOURCE-NODE pointer to the ending node of the
        resource linked list;
     current IS STRUCT RESOURCE-NODE pointer to most recently accessed
        node in the resource linked l-st;
END resource-list;
 
TYPE date IS STRUCTURE DEFINED
     year IS SHORT the year of a task date;
     month IS SHORT the month of a task date;
     day IS SHORT the day of a task date;
END date;
 
main-task-list IS STATIC STRUCT TASK-LIST;
resources-hash-table IS STATIC STRUCT STRING-HASH-TABLE;

PROCEDURE create-task-info;
   INTERFACE ARGUMENTS name, desc, duration, planned-start-date,
                       planned-end-date, actual-start-date,
                       actual-end-date, forecast-start-date,
                       forecast-end-date, earliest-start-date,
                       earliest-end-date, latest-start-date,
                       latest-end-date, float-time, milestone,
                       deliverable, resources, subtasks, parent,
                       dependencies, dependents, number-of-dependents,
                       x, y, length;
   INTERFACE RETURNS new-info;
   new-info IS STRUCT TASK-INFO;
   create new-info storage space;
   set new-info.name = name;
   set new-info.desc = desc;
   set new-info.duration = duration;
   set new-info.planned-start-date = planned-start-date;
   set new-info.planned-end-date = planned-end-date;
   set new-info.actual-start-date = actual-start-date;
   set new-info.actual-end-date = actual-end-date;
   set new-info.forecast-start-date = forecast-start-date;
   set new-info.forecast-end-date = forecast-end-date;
   set new-info.earliest-start-date = earliest-start-date;
   set new-info.earliest-end-date = earliest-end-date;
   set new-info.latest-start-date = latest-start-date;
   set new-info.latest-end-date = latest-end-date;
   set new-info.float-time = float-time;
   set new-info.milestone = milestone;
   set new-info.deliverable = deliverable;
   set new-info.resources = resources;
   set new-info.subtasks = subtasks;
   set new-info.parent = parent;
   set new-info.dependencies = dependencies;
   set new-info.dependents = dependents;
   set new-info.x = x;
   set new-info.y = y;
   set new-info.length = length;
   return new-info;
END create-task-info;

PROCEDURE create-task-node;
   INTERFACE ARGUMENTS data, prev, next;
   INTERFACE RETURNS new-node;
   new-node IS STRUCT TASK-NODE;
   create new-node storage space;
   new-node.data = data;
   new-node.prev = prev;
   new-node.next = next;
   return new-node;
END create-task-node;

PROCEDURE create-task-list;
  INTERFACE ARGUMENTS head, tail, current;
  INTERFACE RETURNS new-list;
  new-list IS STRUCT TASK-LIST;
  create new-list storage;
  new-list.head = head;
  new-list.tail = tail;
  new-list.current = current;
  return new-list;
END create-task-list;

PROCEDURE create-resource-info
   INTERFACE ARGUMENTS name;
   INTERFACE RETURNS a pointer to STRUCT RESOURCE-INFO;
   new-info IS STRUCT RESOURCE-INFO;
   set new-info.name = CALL string-hash-search PROCEDURE WITH 
      ``resources-hash-table, name'';
   IF new-info.name = NULL
      THEN new-info.name = CALL string-hash-search PROCEDURE WITH 
      ``resources-hash-table, name'';
   ENDIF
   return new-info;
END create-resource-info;

\end{verbatim}

%
% Include a description of the interfaces for this module.
% This should include a list of data elements passed between
% modules.  The data elements described here should either be
% described in the next subsection or in the relevant owner's
% data dictionary
%
\subsubsection{Database Creation Internal Interfaces}

  See the section for the Database Addition Modules. The information
is the same.

%
% Include a data dictionary for this module.  The format should be:
%  
% Name: (this is the name of the data item)
% Aliases: (this is a list of aliases, if any)
% Where Used/ How Used: (this is a paired list of where the item is
%     used and how it is used
% Description: (this is a demarco description of the data item)
%
\subsubsection{Data base Creation Data Dictionary}

\begin{enumerate}
\item
\begin{description}
\item[Name:]  new-info
\item[Where Used/How Used:] Procedure create-task-info (input).
\item[Description (Content):] * All the parameters described in the
PDL interface arguments for procedure create-task-info are assigned to
the fields of the new-info structure *
\end{description}

\item
\begin{description}
\item[Name:]  data
\item[Where Used/How Used:] Procedure create-task-node
\item[Description (Content):] * data is a pointer to a structure of task
information for a node in the adjacency list of tasks *
\end{description}

\item
\begin{description}
\item[Name:] prev
\item[Where Used/How Used:] Procedure create-task-node
\item[Description (Content):] * prev points to the previous node in an adjacency list of task nodes *
\end{description}

\item
\begin{description}
\item[Name:] next
\item[Aliases:] Procedure create-task-node
\item[Where Used/How Used:] Procedure create-task-node
\item[Description (Content):] * next points to the next node in an adjacency
list of task nodes *
\end{description}

\item
\begin{description}
\item[Name:] head
\item[Where Used/How Used:] Procedure create-task-list
\item[Description (Content):]  * Head is the first node in an adjacency list
of task nodes *
\end{description}

\item
\begin{description}
\item[Name:] tail 
\item[Where Used/How Used:] Procedure create-task-list
\item[Description (Content):] * tail is the last node in an adjacency list
of task nodes *
\end{description}

\item
\begin{description}
\item[Name:] current
\item[Where Used/How Used:] Procedure create-task-list
\item[Description (Content):] * Current is the current node in an adjacency
list of task nodes *
\end{description}

\item
\begin{description}
\item[Name:] name
\item[Where Used/How Used:] Procedure create-resource-info
\item[Description (Content):] * name is a node in an adjacency list of
task resources *
\end{description}
\end{enumerate}






@


1.7
log
@*** empty log message ***
@
text
@d317 1
a317 1
\end{Description}
@


1.6
log
@*** empty log message ***
@
text
@d261 9
a269 6
NAME:  new-info
ALIASES: None
WHERE USED/HOW USED: Procedure create-task-info (input).
DESCRIPTION (CONTENT): * all the parameters described in the PDL interface
arguments for procedure create-task-info are assigned to the fields of the 
new-info structure *
d271 5
a275 4
NAME:  data
ALIASES: None
WHERE USED/HOW USED: Procedure create-task-node
DESCRIPTION (CONTENT): * data is a pointer to a structure of task
d277 1
d279 13
a291 10
NAME: prev
ALIASES: None
WHERE USED/HOW USED: Procedure create-task-node
DESCRIPTION (CONTENT): * prev points to the previous node in an adjacency
 list of task nodes *
 
NAME: next
ALIASES: Procedure create-task-node
WHERE USED/HOW USED: Procedure create-task-node
DESCRIPTION (CONTENT): * next points to the next node in an adjacency
d293 1
d295 5
a299 4
NAME: head
ALIASES: None
WHERE USED/HOW USED: Procedure create-task-list
DESCRIPTION (CONTENT):  * head is the first node in an adjacency list
d301 1
d303 5
a307 4
NAME: tail 
ALIASES: None
WHERE USED/HOW USED: Procedure create-task-list
DESCRIPTION (CONTENT): * tail is the last node in an adjacency list
d309 1
d311 5
a315 4
NAME: current
ALIASES: None
WHERE USED/HOW USED: Procedure create-task-list
DESCRIPTION (CONTENT): * current is the current node in an adjacency
d317 1
d319 9
a327 4
NAME: name
ALIASES: None
WHERE USED/HOW USED: Procedure create-resource-info
DESCRIPTION (CONTENT): * name is a node in an adjacency list of task resources *
@


1.5
log
@*** empty log message ***
@
text
@d10 1
a10 1
\subsection{Data base Creation Module}
d13 1
a13 1
creating tasks, and task related information in the xplan data base. The 
d27 1
a27 1
\subsubsection{Data base Creation Data Flow Diagram}
d36 1
a36 1
\subsubsection{Data base Creation Structure Chart}
d43 1
a43 1
\subsubsection{Data base Creation Processing Narrative}
d46 1
a46 1
pointers to create the doubly linked list data structures used to
d69 1
a69 1
\subsubsection{Database Creation PDL Description}
d272 1
a272 1
information for a node in the doubly linked list of tasks *
d277 2
a278 2
DESCRIPTION (CONTENT): * prev points to the previous node in a doubly
linked list of task nodes *
d283 1
a283 1
DESCRIPTION (CONTENT): * next points to the next node in a doubly linked
d289 1
a289 1
DESCRIPTION (CONTENT):  * head is the first node in a doubly linked list
d295 1
a295 1
DESCRIPTION (CONTENT): * tail is the last node in a doubly linked list
d301 1
a301 1
DESCRIPTION (CONTENT): * current is the current node in a double linked
d307 1
a307 1
DESCRIPTION (CONTENT): * name is a node in a doubly linked list of task resources *
@


1.4
log
@*** empty log message ***
@
text
@d22 1
a22 1
User Interface popup windows for issuing commands.
@


1.3
log
@*** empty log message ***
@
text
@d15 1
a15 1
sturcture in the data base. These procedures will be called when the user
d22 1
a22 1
User Interface popup windows for issueing commands.
d29 1
a29 1
The reader is refered to the data flow diagrams for the data base as shown in
@


1.2
log
@*** empty log message ***
@
text
@d12 12
d28 3
d32 1
d37 2
d263 4
a266 5
WHERE USED/HOW USED: Procedure create-task-info
DESCRIPTION (CONTENT): a new structure of task information and
pointers to linked lists of other relevant task information.  For the
data dictionary of the parameters assigned to new-info, see the data
dictionary for the data types declaration PDL for the database.
a267 1

d271 2
a272 2
DESCRIPTION (CONTENT): data is a pointer to a structure of task
information for a node in the doubly linked list of tasks.
d277 3
a279 4
DESCRIPTION (CONTENT): prev points to the previous node in a doubly
linked list of task nodes.


d283 2
a284 2
DESCRIPTION (CONTENT): next points to the next node in a doubly linked
list of task nodes.
a285 2


d289 2
a290 2
DESCRIPTION (CONTENT): head is the first node in a doubly linked list
of task nodes
a291 1
 
d295 2
a296 2
DESCRIPTION (CONTENT): tail is the last node in a doubly linked list
of task nodes
a297 1

d301 2
a302 2
DESCRIPTION (CONTENT): current is the current node in a double linked
list of task nodes
a303 1

d307 1
a307 1
DESCRIPTION (CONTENT): name is a node in a doubly linked list of task resources
@


1.1
log
@Initial revision
@
text
@a26 2
\begin{verbatim}

d32 1
a32 1
procedure create_task_info will create a structure with information
d37 1
a37 1
subtasks, and dependents of a task.  The procedure create_task_node
d40 1
a40 1
containing the tasks information.  The procedure create_task_list is
d42 2
a43 2
create_resource_info creates the linked lists of resources for a task.
The interface arguments for the procedure create_task_info will be all
a47 2
\end{verbatim}

d55 1
a55 1
TYPE task_info IS STRUCTURE DEFINED
d59 12
a70 12
     planned_start_date IS UNSIGNED task planned start day;
     planned_end_date IS UNSIGNED task planned end day;
     actual_start_date IS UNSIGNED task actual start day;
     actual_end_date IS UNSIGNED task actual end day;
     forecast_start_date IS UNSIGNED task start forecasted;
     forecast_end_date IS UNSIGNED task end forecasted;
     earliest_start_date IS UNSIGNED task earliest start day;
     earliest_end_date IS UNSIGNED task earliest end day;
     latest_start_date IS UNSIGNED task latest end day;
     latest_end_date IS UNSIGNED task latest end day;
     float_time IS UNSIGNED days of task float time;
     milestone IS BOOLEAN indicates if task is milestone, yes or no?;
d72 3
a74 3
     resources IS STRUCT RESOURCE_LIST pointer to list of task resources;
     subtasks IS STRUCT TASK_LIST pointer to list of task subtasks;
     parent IS STRUCT TASK_NODE pointer to task parent, if task is
d76 1
a76 1
     dependencies IS STRUCT TASK_LIST pointer to task dependencies,
d78 1
a78 1
     dependents IS STRUCT TASK_LIST pointer to other tasks depending
d80 1
a80 1
     number_of_dependents IS UNSIGNED used when check for task
d87 1
a87 1
END task_info TYPE;
d89 5
a93 5
TYPE task_node IS STRUCTURE DEFINED
     data IS STRUCT TASK_INFO pointer to task;
     prev IS STRUCT TASK_NODE pointer to previous node in linked list;
     next IS STRUCT TASK_NODE pointer to next node in linked list;
END task_node TYPE;
d95 4
a98 4
TYPE task_list IS STRUCTURE DEFINED
     head IS STRUCT TASK_NODE pointer to starting node in task linked list;
     tail IS STRUCT TASK_NODE pointer to end node in task linked list;
     current IS STRUCT TASK_NODE pointer to most recently accessed
d100 1
a100 1
END task_list;
d102 1
a102 1
TYPE string_hash_node IS STRUCTURE DEFINED
d105 1
a105 1
END string_hash_node;
d107 2
a108 2
TYPE string_hash_table IS STRUCTURE DEFINED
     table IS STRUCT STRING_HASH_TABLE;
d110 1
a110 1
END string_hash_node;
d112 3
a114 3
TYPE resource_info IS STRUCTURE DEFINED
     name IS STRUCT STRING_HASH_NODE;
END  resource_info;
d116 2
a117 2
TYPE resource_node IS STRUCTURE DEFINED
     data IS STRUCT RESOURCE_INFO pointer to resource for this node in
d119 1
a119 1
     prev IS STRUCT RESOURCE_NODE pointer to previous node in resource
d121 1
a121 1
     next IS STRUCT RESOURCE_NODE pointer to next nod in resource
d123 1
a123 1
END resource_node;
d125 2
a126 2
TYPE resource_list IS STRUCTURE DEFINED
     head IS STRUCT RESOURCE_NODE pointer to the starting node of the
d128 1
a128 1
     tail IS STRUCT RESOURCE_NODE pointer to the ending node of the
d130 1
a130 1
     current IS STRUCT RESOURCE_NODE pointer to most recently accessed
d132 1
a132 1
END resource_list;
d140 2
a141 2
main_task_list IS STATIC STRUCT TASK_LIST;
resources_hash_table IS STATIC STRUCT STRING_HASH_TABLE;
d143 7
a149 7
PROCEDURE create_task_info;
   INTERFACE ARGUMENTS name, desc, duration, planned_start_date,
                       planned_end_date, actual_start_date,
                       actual_end_date, forecast_start_date,
                       forecast_end_date, earliest_start_date,
                       earliest_end_date, latest_start_date,
                       latest_end_date, float_time, milestone,
d151 1
a151 1
                       dependencies, dependents, number_of_dependents,
d153 29
a181 29
   INTERFACE RETURNS new_info;
   new_info IS STRUCT TASK_INFO;
   create new_info storage space;
   set new_info.name = name;
   set new_info.desc = desc;
   set new_info.duration = duration;
   set new_info.planned_start_date = planned_start_date;
   set new_info.planned_end_date = planned_end_date;
   set new_info.actual_start_date = actual_start_date;
   set new_info.actual_end_date = actual_end_date;
   set new_info.forecast_start_date = forecast_start_date;
   set new_info.forecast_end_date = forecast_end_date;
   set new_info.earliest_start_date = earliest_start_date;
   set new_info.earliest_end_date = earliest_end_date;
   set new_info.latest_start_date = latest_start_date;
   set new_info.latest_end_date = latest_end_date;
   set new_info.float_time = float_time;
   set new_info.milestone = milestone;
   set new_info.deliverable = deliverable;
   set new_info.resources = resources;
   set new_info.subtasks = subtasks;
   set new_info.parent = parent;
   set new_info.dependencies = dependencies;
   set new_info.dependents = dependents;
   set new_info.x = x;
   set new_info.y = y;
   set new_info.length = length;
   return new_info;
END create_task_info;
d183 1
a183 1
PROCEDURE create_task_node;
d185 8
a192 8
   INTERFACE RETURNS new_node;
   new_node IS STRUCT TASK_NODE;
   create new_node storage space;
   new_node.data = data;
   new_node.prev = prev;
   new_node.next = next;
   return new_node;
END create_task_node;
d194 1
a194 1
PROCEDURE create_task_list;
d196 8
a203 8
  INTERFACE RETURNS new_list;
  new_list IS STRUCT TASK_LIST;
  create new_list storage;
  new_list.head = head;
  new_list.tail = tail;
  new_list.current = current;
  return new_list;
END create_task_list;
d205 1
a205 1
PROCEDURE create_resource_info
d207 7
a213 5
   INTERFACE RETURNS a pointer to STRUCT RESOURCE_INFO;
   new_info IS STRUCT RESOURCE_INFO;
   set new_info.name = CALL string_hash_search PROCEDURE WITH ``resources_hash_table, name'';
   IF new_info.name = NULL
      THEN new_info.name = CALL string_hash_search PROCEDURE WITH ``resources_hash_table, name'';
d215 2
a216 2
   return new_info;
END create_resource_info;
d227 1
a227 4
\subsubsection{Data base Creation Internal Interfaces}
\begin{verbatim}
  See the section for the Data base Addition Modules. The information is the same.
\end{verbatim}
d229 3
a241 1
\begin{verbatim}
d243 1
a243 1
NAME:  new_info
d245 5
a249 4
WHERE USED/HOW USED: Procedure create_task_info
DESCRIPTION (CONTENT): a new structure of task information and pointers to linked lists of 
other relevant task information.  For the data dictionary of the parameters assigned to 
new_info, see the data dictionary for the data types declaration PDL for the database.
d251 1
d254 3
a256 3
WHERE USED/HOW USED: Procedure create_task_node
DESCRIPTION (CONTENT): data is a pointer to a structure of task information for a node
in the doubly linked list of tasks.
d260 3
a262 2
WHERE USED/HOW USED: Procedure create_task_node
DESCRIPTION (CONTENT): prev points to the previous node in a doubly linked list of task nodes.
d264 1
d266 4
a269 3
ALIASES: Procedure create_task_node
WHERE USED/HOW USED: Procedure create_task_node
DESCRIPTION (CONTENT): next points to the next node in a doubly linked list of task nodes.
d272 1
d275 4
a278 2
WHERE USED/HOW USED: Procedure create_task_list
DESCRIPTION (CONTENT): head is the first node in a doubly linked list of task nodes
d282 3
a284 2
WHERE USED/HOW USED: Procedure create_task_list
DESCRIPTION (CONTENT): tail is the last node in a doubly linked list of task nodes
d286 1
d289 3
a291 2
WHERE USED/HOW USED: Procedure create_task_list
DESCRIPTION (CONTENT): current is the current node in a double linked list of task nodes
d293 1
d296 1
a296 1
WHERE USED/HOW USED: Procedure create_resource_info
a298 1
\end{verbatim}
@
