TECHNICAL SPECIFICATION OF RDCPM STANDARD
 

Historical Setting

The Critical Path Method (CPM) of planning and scheduling, and related methodologies was developed in the mid to late 1950s.  The earliest methodologies fell into two main camps.  The first was initially called the Kelley-Walker Method, then the Critical Path Method (CPM) and yet later the Activity-On-Arrow Method (AOA) to distinguish from newer variants, and yet later still the Arrow Diagramming Method (ADM) or variant of CPM as a more easily remembered acronym.  The second was Program Evaluation Review Technique (PERT.)  In the late 1950s and early to mid 1960s a new variant of CPM was developed which was initially named the Arrow-On-Node Method (AON) and later renamed the Precedence Diagramming Method (PDM) or variant of CPM.  A number of variants and extensions of the traditional or ADM variant of CPM and a somewhat larger number of variants or extensions of the PDM variant of CPM have been introduced over the years as well as several variations or extensions of the PERT methodology.  These variations or extensions have the effect of allowing the same data input to the CPM or PERT methodology to have differing output or outcomes calculated by such slightly differing methodologies. 

The Relationship Diagramming Method (RDM) or variant of CPM was developed in 2005 by Fredric L. Plotnick of the Commonwealth of Pennsylvania of the United States of America.  In an effort to prevent a similar balkanization of variants of RDM, Mr. Plotnick has created a standard that will hopefully be embraced by all who desire to implement the RDM variant of CPM.  While use of the standard is available to all, claims to be compliant with the standard and use of the RDCPM Certified Mark are restricted to those who have been given such permission by the holder of the Certification Mark. 

 

TECHNICAL SPECIFICATION FOR COMPLIANCE WITH STANDARD

 This section discusses the minimum data fields required for full compliance with the RDCPM standard.  Not all data fields are required to be certified as RDCPM Ready nor are all features discussed required to be certified RDCPM Compliance Certified.  For further information contact RDCPM@fplotnick.com

  The chart below specifies for each data file such information as:

a

b

c

d

e

f

g

a – numbered for convenience (Item number)
b – new field name
c – type of data N=numeric C=alphanumeric D=date
d – length of data field - * indicates length based on existing field or user entered number of fields, + for hourly dates
e – E=entered C=calculated
f – description
g - reserved

 

Activity Data

 

 

 

 

*

1

Unique Act ID

C

10

E

Unique Activity ID#

 

2

Sub-Act ID

C

5

E

for Split or Task Activity – typically sequential or incremental

 

3

Internal Act ID

C

16

C

Internal Unique Activity ID = Act ID + “s” + sub-act ID or as reqd

 

4

Event at Start

C

16

C

Unique Event ID# at start of activity = Act ID + “i” + five blank chars

 

5

Event at Finish

C

16

C

Unique Event ID# at finish of activity = Act ID + “j” + five blank chars

 

6

Title

C

48

E

Activity Description

 

7

Act Logs

C

*

E

Additional Description(s) assigned to user numbered log fields

 

8

Act Memos

C

*

E

Additional Description(s) assigned linked to the Activity ID

 

9

Act Codes

C

*

E

User Defined Codes relating to the Activity

 

10

Act Type

C

1

E

Type of Activity: Activity/Hammock/WBS/… (Detail/Summary)

 

11

Act Calendar

C

1

E

Duration Calendar

 

12

KeyedOD

N

5

E

Keyed Original Duration is time units of scope to be performed

 

13

Orig Duration

N

5

C

Calculated from KeyedOD, Resource Driven, or other (XF constraint)

 

14

KeyedOptDur

C

11

E

Keyed Optimistic Duration – such as 12345 or -15% or 12345/67890

 

15

KeyedPesDur

C

11

E

Keyed Pessimistic Duration – such as 67890 or +20% or 56789/67890

 

16

OptDur

N

5

C

Optimistic Duration from keyed or code or default

 

17

PesDur

N

5

C

Pessimistic Duration from keyed or code or default

 

18

DurCode P/C/K

N

1

E

Duration Code – Progressed/Clocked/clock-but-checK (0,1,2)

 

19

DurCode C/I/S

N

1

E

Dur Code – Continuous/Interruptible/Stretched (0,1,2)

 

20

Dur Code M/R/P

N

1

E

Dur Code – Modified-logic/Retained-logic/Progress-override (0,1,2)

 

21

KeyedRD

C

11

E

Keyed Rem Dur for update info – e.g. 12345, 70% or 12345/67890 units

 

22

Rem Duration

N

5

C

Remaining Duration calculated from KeyedRD or other source

 

23

NTPreds

N

6

C

Number Total Predecessor Restraints

 

24

NIPreds

N

6

C

Number Predecessor Restraints to Beginning of Activity

 

25

NJPreds

N

6

C

Number Predecessor Restraints to End of Activity

 

26

NKPreds

N

6

C

Number Predecessor Restraints to Middle of Activity

 

27

NTSuccs

N

6

C

Number Total Successor Restraints

 

28

NISuccs

N

6

C

Number Successor Restraints from Beginning of Activity

 

29

NJSuccs

N

6

C

Number Successor Restraints from End of Activity

 

30

NKSuccs

N

6

C

Number Successor Restraints from Middle of Activity

 

31

NKEvents

N

5

C

Number of K-Events within Activity

 

32

AS

D

7+

E

Actual Start (Recorded)

 

33

AF

D

7+

E

Actual Finish (Recorded or by Clock)

 

34

Keyed AD

N

5

E

Reported Actual Duration (if different than AF – AS (– (RSM – SUS))

 

35

AD

N

5

C

Actual Duration (=AF – AS (– (RSM – SUS))) or Keyed AD

 

36

TRD

N

5

C

Trend Remaining Duration

 

37

ES

N

7+

C

Early Start

 

38

EF

N

7+

C

Early Finish

 

39

LS

N

7+

C

Late Start

 

40

LF

N

7+

C

Late Finish

 

41

STF

N

6

C

Start Total Float (-99999 to +99999)

 

42

FTF

N

6

C

Finish Total Float (-99999 to +99999)

 

43

MTF

N

6

C

Most-Critical Total Float (-99999 to +99999)

 

44

NTF

N

6

C

Normalized Most-Critical Total Float (re-calc on 365/7/24 calendar)

 

45

JLS

D

7+

C

Just-in-Time Late Start

 

46

JLF

D

7+

C

Just-in-Time Late Finish

 

47

JSTF

N

6

C

Just-in-Time Start Total Float (-99999 to +99999)

 

48

JFTF

N

6

C

Just-in-Time Finish Total Float

 

49

JMTF

N

6

C

Just-in-Time Most-Critical Total Float

 

50

JNTF

N

6

C

Normalized Just-in-Time Most-Critical Total Float

 

 

 

 

 

 

 

 

 

Event Data

 

 

 

 

 

1

Unique Event ID

C

16

E

Unique Event ID#

 

2

ETitle

C

48

E

Event Description (optional by user or software generated)

 

3

Event Logs

C

*

E

Additional Description(s) assigned to user numbered log fields

 

4

Event Memos

C

*

E

Additional Description(s) assigned linked to the Event ID

 

5

Event Codes

C

*

E

User Defined Codes relating to the Event

 

6

Event Type

N

1

E

Special Event Codes to support GERT functions

 

7

Event Type Case

C

3

E

Condition or argument for Event Type Code

 

8

NTPreds

N

6

C

Number of Total Predecessor Restraints to the Event

 

   9

NEPreds

N

6

C

Number of Predecessor Restraints from an Independent Event

 

10

NIPreds

N

6

C

Number of Predecessor Restraints from Beginning of an Activity

 

11

NJPreds

N

6

C

Number of Predecessor Restraints from End of an Activity

 

12

NKPreds

N

6

C

Number of Predecessor Restraints from Middle of an Activity

 

13

NTSuccs

N

6

C

Number of Total Successor Restraints

 

14

NESuccs

N

6

C

Number of Successor Restraints to an Independent Event

 

15

NISuccs

N

6

C

Number of Successor Restraints to Beginning of an Activity

 

16

NJSuccs

N

6

C

Number Successor Restraints to End of an Activity

 

17

NKSuccs

N

6

C

Number Successor Restraints to Middle of an Activity

 

18

ECal

C

1

E

Event Calendar

 

19

Day2Date

N

1

E

Report Date as Beginning of Start of Day or End of Day

 

20

TimeEarly

D

7+

C

Time Early for Event

 

21

TimeLate

D

7+

C

Time Late for Event

 

22

TimeJust

D

7+

C

Time Just-in-Time for Event

 

23

TF

N

6

C

Total Float

 

24

NTF

N

6

C

Normalized Total Float (re-calc on 365/7/24 calendar)

 

25

JTF

N

6

C

Just-in-Time Total Float

 

26

JNTF

N

6

C

Normalized Just-in-Time Most-Critical Total Float

 

 

 

 

 

 

 

 

 

Restraint Data

 

 

 

 

 

1

Restraint I-ID

C

16

E

Activity (or Event) ID at beginning of Restraint

 

2

Restraint J-ID

C

16

E

Activity (or Event) ID at end of Restraint

 

3

LIEvent

C

16

C

Event ID at Beginning of Restraint from Activity (or Event)

 

4

LJEvent

C

16

C

Event ID at End of Restraint to Activity (or Event)

 

5

Reason

C

1

E

Reason for Restraint P/R/_/J, also S/L (calculated)

 

6

Why

C

*

E

Why – see Resource Codes for length of field

 

7

LTitle

C

48

E

Description of reason for or about Restraint

 

8

LLogs

C

*

E

Equivalent to Activity Logs

 

   9

LMemos

C

*

E

Equivalent to Activity Memos

 

10

LUserCodes

C

*

E

Equivalent to User Defined Activity Codes

 

11

Logic

C

2

E

Restraint Logic FS/SS/PS/FF/FP/SF

 

12

KeyedLDur

C

11

E

Keyed Logic (Lag) Duration – e.g. 12345, 70% or 12345/67890 units

 

13

LDur

N

5

C

Restraint Logic Duration Between Activities (Lag)

 

14

KeyedLCal

C

1

E

Keyed Activity Calendar for Restraint Logic Duration

 

15

LCal

C

1

C

Activity Calendar for Restraint Logic Duration

 

16

LDurCd P/C/K

N

1

C

Logic Duration Code – Progressed/Clocked/clock-but-checK

 

17

LDurCode C/I/S

N

1

C

Logic Dur Code – Continuous/Interruptible/Stretched

 

18

LDurCd M/R/P

N

1

E

Logic Dur Code – Modified-logic/Retained-logic/Progress-override

 

19

KeyedLOptDur

C

11

E

Keyed Optimistic LDur – such as 12345 or -15% or 12345/67890

 

20

KeyedLPesDur

C

11

E

Keyed Pessimistic LDur – such as 67890 or +20% or 56789/67890

 

21

LOptDur

N

5

C

Optimistic LDur from keyed or code or default

 

22

LPesDur

N

5

C

Pessimistic LDur from keyed or code or defaul

 

23

LActCodes

N

1*

C

Relationship Status of Pred/Succ Activity Codes _/=/≠/</≤/>/≥

 

24

ES

D

7+

C

Early Start for Restraint

 

25

EF

D

7+

C

Early Finish for Restraint

 

26

LS

D

7+

C

Late Start for Restraint

 

27

LF

D

7+

C

Late Finish for Restraint

 

28

JS

D

7+

C

Just-in-Time Late Start for Restraint

 

29

JF

D

7+

C

Just-in-Time Late Finish for Restraint

 

30

TF

N

6

C

Total Float

 

31

FF

N

6

C

Free Float

 

32

NTF

N

6

C

Normalized Total Float (re-calc on 365/7/24 calendar)

 

33

JTF

N

6

C

Just-in-Time Total Float

 

34

JNTF

N

6

C

Normalized Just-in-Time Most-Critical Total Float

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Act Code Dict

 

 

 

User Defined Activity Code Dictionary

 

 1

ACodeID

C

*

E

User code ID (length also user defined)

 

 2

ACodeDes

C

48

E

User code description for selected value

 

 3

ACodeOrder

N

3

E

Sort code for placement in dictionary

 

4

AOptAdj

N

3

E

Set Opt Dur as -_% of RD

 

5

APesAdj

N

3

E

Set Pes Dur as +_% of RD

 

6

TotalActCdRDur

N

11

C

Total Rem Duration for all activities utilizing this code with this value

 

7

TotalActCdADur

N

11

C

Total Act Duration for all activities utilizing this code with this value

 

8

Trend Trigger

N

3

E

Trend Trigger Percent to Use to Calculate Trend Durations

 

9

TrendAdj

N

3

E

Trend Adjustment / Damper – Blank or Percent 0% to 100% to 999%

 

 

 

 

 

 

 

 

 

Event Code Dict

 

 

 

User Defined Event Code Dictionary

 

 1

ECodeID

C

*

E

User code ID (length also user defined)

 

 2

ECodeDes

C

48

E

User code description for selected value

 

 3

ECodeOrder

N

3

E

Sort code for placement in dictionary

 

 4

EOptAdj

N

3

E

Set Opt Dur as -_% of RD

 

 5

EPesAdj

N

3

E

Set Pes Dur as +_% of RD

 

 6

TotalActCdRDur

N

11

C

Total Rem Duration for all activities utilizing this code with this value

 

 7

TotalActCdADur

N

11

C

Total Act Duration for all activities utilizing this code with this value

 

 8

Trend Trigger

N

3

E

Trend Trigger Percent to Use to Calculate Trend Durations

 

 9

TrendAdj

N

3

E

Trend Adjustment / Damper – Blank or Percent 0% to 100% to 999%

 

 

 

 

 

 

 

 

 

Logic Code Dict

 

 

 

User Defined Restraint Code Dictionary

 

 1

LCodeID

C

*

E

User code ID (length also user defined)

 

 2

LCodeDes

C

48

E

User code description for selected value

 

 3

LCodeOrder

N

3

E

Sort code for placement in dictionary

 

4

LOptAdj

N

3

E

Set Opt Dur as -_% of RD

 

5

LPesAdj

N

3

E

Set Pes Dur as +_% of RD

 

6

TotalActCdRDur

N

11

C

Total Rem Duration for all activities utilizing this code with this value

 

7

TotalActCdADur

N

11

C

Total Act Duration for all activities utilizing this code with this value

 

8

Trend Trigger

N

3

E

Trend Trigger Percent to Use to Calculate Trend Durations

 

9

TrendAdj

N

3

E

Trend Adjustment / Damper – Blank or Percent 0% to 100% to 999%

 

 

 

 

 

 

 

 

 

Res Code Dict

 

 

 

Resource Code Dictionary

 

1

OptAdj

N

3

E

Set Opt Dur as -_% of RD

 

2

PesAdj

N

3

E

Set Pes Dur as +_% of RD

 

3

TotalActCdRDur

N

11

C

Total Rem Duration for all activities utilizing this code with this value

 

4

TotalActCdADur

N

11

C

Total Act Duration for all activities utilizing this code with this value

 

5

Trend Trigger

N

3

E

Trend Trigger Percent to Use to Calculate Trend Durations

 

6

TrendAdj

N

3

E

Trend Adjustment / Damper – Blank or Percent 0% to 100% to 999%