Critical path analysis overview
JViews Gantt provides basic facilities for automatically or manually computing the critical path for a Gantt data model. Critical path analysis is the process of finding those activities in the data model that, if delayed, will hinder completion of the entire project schedule.
The ilog.views.gantt.model package contains the following classes that perform critical path analysis:
IlvGanttModelScheduler: Uses an instance of
IlvCriticalPathCalculator to perform automatic critical path analysis of a Gantt data model each time the activities in the schedule change.
The following figure shows the relationship of these classes.
JViews Gantt performs critical path analysis by rescheduling all activities in the Gantt data model to occur as soon as possible after the project start time. This is done by modifying the activity start and end times. Preceding and succeeding constraints are taken into account in the analysis. Activities that are computed to have a total slack time that is less than a threshold are considered to be on the critical path. The default threshold value is zero.
NOTE Activity reservations are not taken into account and resource leveling is not performed when critical path analysis is performed.
In addition to updating each activity's start and end times, critical path analysis sets several additional properties for each activity. If the default property names conflict with properties that are already being used in your Gantt data model, property naming methods are available for both IlvCriticalPathCalculator and IlvGanttModelScheduler. These methods are used so the class instances can be customized to set different property names for your activities.
The following table shows the activity properties set by critical path analysis.
Description | Property type | Default activity property | Methods to change property name |
Earliest start time | Date | earliestStart | String getEarliestStartProperty() |
void setEarliestStartProperty( String propertyName) |
Earliest finish time | Date | earliestFinish | String getEarliestFinishProperty() |
void setEarliestFinishProperty( String propertyName) |
Latest start time | Date | latestStart | String getLatestStartProperty() |
void setLatestStartProperty( String propertyName) |
Latest finish time | Date | latestFinish | String getLatestFinishProperty() |
void setLatestFinishProperty( String propertyName) |
Total slack | IlvDuration | totalSlack | String getTotalSlackProperty() |
void setTotalSlackProperty( String propertyName) |
Critical | Boolean | critical | String getCriticalProperty() |
void setCriticalProperty( String propertyName) |
Copyright © 2018, Rogue Wave Software, Inc. All Rights Reserved.