Spiro N. Pollalis
Professor
Department of Architecture

 

 

Research


 

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

  1. 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.
  2. The task names are also passed from the HTML file, which means it can not be modified in the template interface.
  3. 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.
  4. 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

  1. 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.
     
  2. 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.
     
  3. The mechanism behind this project seems to be applicable to other research projects like design analysis and hierarchy analysis. There should be further exploration.
     
  4. 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.
     
  5. 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