Independent Study
Professor: Spiro N. Pollalis
Interactive Template in the Visual Scheduling and Management
System
Student: Hyeonsoo Park
Overview
The invention and development of the Visual Scheduling and Management
System originated from the need to use better scheduling and management
tools at the construction sites. It is commonly accepted that
the existing methods are insufficient and thus underutilized.
The goal of this system was set to create a decision support
system to aid the project planner and the project executor to
schedule and manage their projects. The system should augment
the creativity of the user, rather than substitute the user's
experience. So, a language was needed for the experienced user
to employ as a tool for modeling the scheduling operations. Such
language has its own concepts, symbols and rules for the manipulation
of those symbols to simulate scheduling, should be visual not
for a better interaction between the user and the computer but
for a better communication among the all project participants.
(In "Computer-Aided Project Management")
In this system, the representation of the tasks by quantified
bars allows the planner to move or alter the shape of the bars
on the quantified bar chart as long as these moves do not violate
the interdependencies of the tasks. The planner can move and alter
the quantified bars on the chart with sole freedom in order to
achieve a meaningful execution of the project. Four basic operations
are permitted on a quantified bar chart for the purpose of changing
the scheduling of tasks.
Independent Study Proposal
The study will be focused on exploring and implementing VSMS
(Visual Scheduling and Management System).
The system, entitled Visual Scheduling and Management System
(VSMS), was designed by Professor Spiro N. Pollalis at Harvard
University to provide the planner the better means to plan under
the circumstances using necessary data, to communicate with the
parties involved, and to monitor the execution of the project
with less effort.
He described the need for this scheduling management system in
his book. "Scheduling and management systems are necessary
tools for the scheduling and management of well-executed projects
but their use is not sufficient by itself to make well-executed
projects. The experience of the project planner and executor with
their domain knowledge cannot be substituted. So, this system
is handed out as a decision support system to facilitate the scheduling
and execution of projects and improve communication."
For me, there are five initiatives of this projects.
First, the study of scheduling management is important in architectural
design and construction process. Second, VSMS involves new communication
concept which demands high-level graphical representation of scheduling
data. Third, many concepts in VSMS need several interesting computational
approaches from programmers point of view. Forth, this project
can demonstrate the potential of an architectural communication
in Internet market use. Fifth, this project gave me an opportunity
to explore the language JAVA which is useful for a research area
in the future.
Program Design
This project consists of five steps.
| 1.
|
Make
two different formats for scheduling template; one for alphanumeric
data in a spreadsheet format, the other for a quantified bar
chart. The model was taken from the template shown at Figure
4.7, Computer-Aided Design Management. The format was drawn
basically with four functions in JAVA; drawLine(Pt1_x, Pt1_y,
Pt2_x, Pt2_y), fillRect(Pt1_x, Pt2_y, Width, Height), drawString(String,
X_pos, Y_pos), setColor(Color). |
| 2. |
Make
an alphanumeric data format workable by itself. Three cells
in a row were given for input; no. in crew, start date and
finish. From this input, other cells are computed properly.
The quantity of work, the data in columns 1 of the spreadsheet
format is obtained by multiplying the productivity with the
necessary personpower. Also, the data cells in folded up personpower
was programmed to be computed by given more than two data
rows. |
| 3. |
Connect
the alphanumeric data to the quantified bar chart. The data
inputted in a data sheet is transferred to the bar chart and
updates the chart at the same time. As output devices, the
bar charts display the information of the spreadsheet. The
third class, Messenger was designed and used as a communication
class between two destination classes; DataSheet and Qbars
class. To accomplish the goal of immediate update, the class,
Qbars was designed to implement Runnable, which makes the
class run for its life time. The static variable UPDATE in
the Messenger class was used to catch the moment of update
at the run( ) function of Qbars class. |
| 4-1. |
Make
a quantified bar chart work. Four basic ways were implemented
to modify a quantified bar; moving around within a boundary,
stretching left side edge, right side edge and top edge. |
| |
1 |
Moving
around: This operation causes a horizontal shift of the task.
The starting time of a task and the finishing time are changed
while the necessary persondays remain unchanged. The float
of the task is allowed within the established boundaries of
time limit and task intensity. |
| |
2 |
Stretching to
the left: It changes the start date while leaving the finish
date unchanged. This modification results in changing all
information related. |
| |
3 |
Stretching to
the right: The duration or the intensity of a task can be
expanded or contracted. Without changing the duration and
the start date, it changes the finish date, resulting in the
change of working days and all other information. |
| |
4 |
Stretching to
the top: It changes the task intensity resulting in the change
of quantity of a work. |
| |
The
function, drawCommonSquare(Graphics g, int ax1, int ay1, int
a_wid, int a_hei, int bx1, int by1, int b_wid, int b_hei)
was implemented to compute and draw the overlapped area of
planned and actual quantified bar for a better visualization.
With multiple existence of quantified bars, two kinds of representation
of folded up quantified bars; one to show the overall average
work intensity, the other to show work intensity in detail
hour by hour. For the second representation, another data
type was designed to accumulate each tasks work intensity
into sum. |
| 4-2. |
Connect
the quantified bar chart to the alphanumeric data sheet.
The quantified bars serve for input of information as well.
As input devices, they are generated or modified with the
help of a mouse device. The modifications result from the
basic operations on quantified bars. The corresponding data
in the spreadsheet change to reflect the changes applied directly
on the quantified bars. The basic way is same as the other
way, previously implemented. The text part of Tasks column
was used to send data to the buffer class, Messenger. The
static variable UPDATE_SHEET in the Messenger class was used
to give the signal for update to the run( ) function of Qbars
class. |
| 5. |
Implement
a mechanism of file input, output in this project for the
communication among multiple users, in other words multiple
users. Instead having different class, two functions; readDataFile(
), writeDataFile( ) were added to Messenger class. It made
easier the code to be modified for this functionality. In
step 5, the issue of security violation in Internet came out.
As a result, step 5 limited the usage in local machine space
other than Internet. Because Internet space was intended as
the communication space in this project, it is necessary to
make this project work in Internet in future. Actually, I
overrided some functions of SecurityManager class in System
as one system reference book guided, but it did not work out.
A discussion with Internet expert is needed at this point
to solve the problem easily. I do not need more than five
minutes of discussion. |
Term Definition
Quantified Bar
Each task of a project is represented by a quantified bar, an
object displayed in two dimensions. The length of the object along
the horizontal axis indicates the duration of the task and the
height or width of the object along the vertical axis indicates
intensity. The geometric area of the object indicates quantity,
as the product of intensity and time. If the quantity is constant,
then there is a specific relation between the intensity and the
duration of a task.
Quantified Bar Chart
The tasks are represented by quantified bars displayed in a quantified
bar chart. The position of the quantified bars on the chart represents
their time dependencies, while their shapes represent quantity,
intensity and duration. The quantified bar chart is designed to
display the interchangeable intensities of its quantified bars
in order to provide multiple points of view of the project.
Template
A template is composed of a quantified bar chart, its folded-up
task and alphanumeric data in a spreadsheet format. The template
in this project contains a quantified bar chart for the construction
of the reinforced concrete skeleton of a typical floor of a building.
The first column of the template contains the name of each task.
The second column contains the quantified bars that make the quantified
bar chart. The quantity of the work is in column 3, while the
productivity, the required person-days, and the number of workers
in the crews are presented in columns 4, 5 and 6. Column 7 and
8 show the starting and finishing days and column 9 shows the
duration of each task. The first row is the title row, while each
subsequent row contains a task. For each task there are two subrows
in the spreadsheet part of the template. The top subrow contains
the information during the planning stage and the bottom subrow
will contain the information of the mate quantified bar, for monitoring
and updating the task. Thus, during planning, the bottom subrow
is left intentionally blank. The last row of the template includes
the folded-up task that aggregates the individual tasks shown
on the template.
Programming Manipulation Description
| 1.
|
With three necessary data put
in a data sheet for computation, the system can generate newly
acquired data in other cells in data sheet as well as the
corresponding quantity bar in quantified bar char, accordingly..
Those three data are number in crew, start date, and finish
date. |
| |
Click for Larger Image |
| |
Click for Larger Image |
| 2. |
From input data of each different task,
the cells for folded up personpower in a datasheet are filled
with computed results; the earliest start date, the latest
finish date, total working days, average number of crews and
total necessary personpower. |
| |
Click for Larger Image |
| |
Click for Larger Image |
| 3. |
Also, by inputting cell for
the workers daily productivity, the quantity of work is computed
based on the productivity and necessary personpower. |
|
Click for Larger Image
|
4. |
After a quantified bar appears
on the bar chart, the data is changeable simply by modifying
the bar with four basic operations. This modification changes
the data in data sheet as well. |
| |
Click for Larger Image |
| |
Click for Larger Image |
| |
Click for Larger Image |
| |
Click for Larger Image |
| |
Click for Larger Image |
| |
The common area of planned bar and actual
bar is filled in with a different color and hence, clearly
distinguished from the rest. This is especially helpful when
the planned and the actual collide in equal area. Again, the
user modifies a quantified bar with four basic operations. |
| 5. |
By clicking on the task's name on proper
row, the data is now saved on a file that is named "output".
Unless clicked on to be saved, inputs and modifications are
temporary and are shown only on the template.. In this manner,
only the selected one is saved and the data in other rows
are not saved as they are subject to change. |
| |
Click for Larger Image |
| 6. |
By clicking on the text FOLDED UP PERSONPOWER
on the bar chart, the system generates a folded up bar which
represents the earliest start date and the latest finish date
of whole tasks. The height of these bars shows the average
of crew numbers by dividing the total necessary personpower
with the total working days. |
| |
Click for Larger Image |
| 7. |
After getting the initial folded up bar,
user can change the bar representation by clicking the area
of quantified bar in folded up personpower row. The second
representation shows the sum up of work intensity of all the
bars in every hour. |
| |
Click for Larger Image |
| 8. |
When the user clicks on the number bar which
is located at the bottom of the bar chart, the bar chart loads
the data from the data file "output" and updates
by itself. With this file mechanism, first, one party sends
the only desirable change to another party while getting any
undesirable change back to the original stage. Second, it
is possible to communicate between different templates graphically. |
| |
Click for Larger Image |
| |
Click for Larger Image |
Existing Problems
- This system does not have the flexibility to allow a different
number of tasks other than four which is defined in HTML file.
It needs to be solved to make possible for a multiple usage.
- The task names are also passed from the HTML file, which
means it can not be modified in the template interface.
- There came out the issue of security violation in Internet
when this program used a functionality of file reading and writing.
While the functionality worked properly in local machine, it
did not work at all on Internet. Because Internet space is most
desirable space for this communication, it is necessary to make
this program workable in Internet anyway.
- This program does not have function to toggle the selected
bar from planned bar to actual bar, vice versa. It makes hard
to select a bar which is overlapped with another bar.
Implications and Future Development
- There are also several other formats, demonstrated in the
Visual Scheduling and Management. By interconnecting this template
with other formats, system can reach a rich utility.
- To make usable in real construction site, the input should
be in the format of real documentation or revised one for this
project so that the system is able to digest real management
data.
- The mechanism behind this project seems to be applicable to
other research projects like design analysis and hierarchy analysis.
There should be further exploration.
- In order to have the concepts balancing the matrix chart in
VSMS, the relationship between tasks should be defined in this
system. And furthermore, the engine to compute the optimization
needs to be implemented.
- The employment of this system is expected to contribute to
an efficient construction process after fully developed as an
analytical tool for the project manager, communication tool
of quantitative information, and a recording device for documenting
the construction.
References
Spiro N. Pollals. 1992. Computer-Aided Project Management. Germany.:
Vieweg. Bertelsmann Publishing Group International.
Ken Arnold, James Gosling. 1996. The Java Programming Language.:
Massachusetts.: Addison-Wesley Publishing Company.
Michael Girdley, Kathryn A. Jones. 1996. Web Programming with
Java. Indiana.: Sams Net.
H.M. Deitel, P.J. Deitel. 1994. C++ How to Program.: New Jersey.
: Prentice-Hall, Inc.
Jeffrey D. Clark. 1992. Windows Programmar's Guide to OLE/DDE.:
Indiana.: Sams Publishing.
Diagram of Design Concept
|