Files, Jobs, Nodes, and Sets
All FlowTracer services are based on the management of the dependencies between files and jobs.
These dependencies are represented in a dependency graph, called the runtime trace, the design flow or simply the flow. The nodes of the graph represent either files or jobs.
In the GUI display of the flow graph, the job nodes are represented by rectangles, while the file nodes are represented by either ovals or hexagons. The graphical representation of the direction of the flow dependency is either from top to bottom (in the vertical view) or from left to right (in the horizontal view).

Files Represent Design Data
When a project is a chip design flow, the design data for a project consists of the collection of all "files" in the design flow. A "file" in FlowTracer has a very broad definition: it is any timestamped named entity in a persistent database.
- Persistent Database to which the entity belongs
- Names of the entities in the database
- Timestamp to indicate when the entity was last modified.
- The persistency is provided by the file system itself
- The database attribute is set to FILE
- The name of the file is a canonical name, which is related to the full path for the file. The Canonical and Logical File Names is automatically computed by FlowTracer.
- The timestamp is the modification time of the file, as reported by the file system.
A FlowTracer file may also represent entities other than files, such as a symbolic links, or URL in the internet.
Jobs Represent Actions
- The environment in which it is executed
- The working directory
- The command and its arguments
- User, or owner, of the job
- Operating system group of the job
- FairShare group the job belongs to
- Resource list
- Legal exit codes
- Jobname
- Jobclass
- Host name where the job has been executed
- Execution start time
- Execution end time
- Expected duration
- Exit status
Nodes
Both files and jobs are represented by nodes of the flow graph. They share a number of important attributes. Each node has a VovId, which is a nine-digit string such as "000012345".
Each node also has a status, which indicates whether the node is up-to-date with respect to all its dependencies.
Each node also has a NodeTimestamp. This is different from the timestamp of a file and from the start or end date of a job. The NodeTimestamp represents the last time in which the node has changed status.
Sets of Nodes
- Name
- Selection Rules
- Time of creation
- Owner (not used)
The name of a set can be any unique string. The selection rule, if given, is a rule that is used to determine the membership of nodes in the set. The time of creation and the owner are managed automatically by FlowTracer.
Sets are used extensively in FlowTracer. Some sets are internal to FlowTracer; they can be recognized by their name, which begins with "System:". For example, the set "System:nodes" is the set of all nodes in the flow.
With the browser interface, you can either browse the set hierarchy or get a complete alphabetical list of all sets. You can also browse the set hierarchy in the FlowTracer GUI console.