TGFF Version Notes

In order to allow other researchers with TGFF to reproduce your task graphs and resource databases, they will need to know the parameters given to TGFF, as well as the version of TGFF you used. In an ideal world, only the TGFF parameters would be necessary. Unfortunately, the behavior of TGFF has changed once again. Version 3.0 is not back compatible with previous versions. (While the results may be different, the input file format hasn't changed.)

Release 3.5

Minor updates to make building with gcc 4.3 easier. Pavel Ghosh has donated a perl script to convert from .tgff format to .dot graph format for plotting with graphviz.

Release 3.4

Updated to build with gcc 4.2

Release 3.3

Updated to build with gcc 4.0

Release 3.0

New features

Perhaps the biggest change in v3.0 is that the documentation and examples have been significantly improved. The examples have numerous comments explaining what several commands do. There is also documentation of all the features supported by v3.0.

A new graph generation algorithm that is highly configurable. It can generate series-parallel graphs (groups of strings of nodes) as well as randomly connected graphs.

VCG output is supported.

Multiple start nodes are supported.

Graphs can be labeled as periodic, aperiod, or a mix of the two.

Relative periods of graphs generated can be specified as decimals instead of integers.

Changes to default behavior

The old algorithm should generate graphs that are slightly less connected. A bug in the previous version often resulted in maximal connectivity between a set of nodes.

Release 2.0

New features

When TGFF combines multiple uniform random variables (URVs) in order to produce table entries, the result is filtered to ensure that it is a URV, as well. See flat_merge() in

Now supports hard and soft task deadlines.

Changes to default behavior

Defaults to filtering merged URVs in order to make the merged variable a URV as well. You can get the pre-2.0 behavior, a simple weighted sum which results in a decreased variance, by putting 'urv_merge false' in the options file.

The default task graph period was extremely high. It has been reduced. Although it would be possible to get the pre-2.0 behavior, this would not restore backward compatibility (see Critical loss of backward compatibility).

Change in required compiler

Due to the major changes between GCC v2.x and v3.x, TGFF compiles under GCC v3.x, but will not compile using GCC v2.x.

Critical loss of backward compatibility

Due to a bug in the previous task graph generation algorithm, and the addition of a new algorithm, TGFF v3.0 will not will not generate the same task graphs as v2.0 for the same input. The bugfix required a solution that would remove backward compatibility.

Start page Extension suggestions Packed schedules Download the source code Download the paper

Page maintained by Robert Dick.