Specification of Tachyon File Format
There are three parts to the new (Version 3.0+) Tachyon file: a preamble, node information, and edge information. The preamble contains information about the temporal format Tachyon should use. Comments can be placed anywhere in the file. Those placed immediately before nodes or edges are considered to be annotations on those objects. Note, however, that at this time, all other comments are ignored at the time that the file is read in and will not be saved if you save a modified version of the file. For more information regarding node and edge field information, please refer to [3].
Valid qualitative constraints are sets of the following basic relations:
| before | meets | overlaps |
| after | metby | overlappedby |
| equals | ||
| starts | during | finishes |
| startedby | contains | finishedby |
These relations are exactly those discussed in [4,5]. Additionally, the relations before, overlaps, overlappedby, and after may be given parameters to quantify their meaning. These parameters should be in the appropriate format for the file. Formats that use dates (i.e. (mm/dd/yy, ddmonyy etc.), have distances specified in days (no months or years). The syntax is allenMIN-MAX, as exemplified below - assume format 7 (M/D/Y, therefore use days):
| ``at most five [days] after'' | after-5 |
| ``overlapped by at least two [days]'' | overlappedby2- |
| ``three to five [days] before'' | before3-5 |
Either MIN or MAX or both must be specified. The list of allen relations must appear on a single line, and the relations should be separated by spaces.
1: [-PREAMBLE-] 2: // This file created by Tachyon: Temporal Constraint Network Editor 3.0 Beta 3: format 3 4: [-NODES-] 5: height 40 6: width 120 7: node 368 536 8: nodedata unnamed_1 neginf posinf neginf posinf e posinf 9: // This comment will annotate the node on line a: a: node 218 358 b: nodedata unnamed_2 1 1 3 3 e 2 c: node 530 359 d: nodedata unnamed_3 neginf posinf neginf posinf e posinf e: node 530 359 f: hnodedata HierNode neginf posinf neginf posinf e posinf g: 2 unnamed_2 unnamed_3 h: [-EDGES-] i: // This comment goes with the next edge (below) j: // This comment, too. Note '1' below means constraint not displayed k: edge unnamed_2 unnamed_1 1 l: edgedata before m: edgedata after n: // Note next edge forces constraint display o: edge unnamed_1 unnamed_3 2 p: edgedata before q: edgedata after r: // Note next edge displays if *showEdgeLabels: true s: edge unnamed_3 unnamed_2 t: edgedata 1 2 1 2 1 2 1 2
This file indicates that numbers in it should be interpreted as ``days'' (format 3 - line 3). Nodes are 40 (pixels) high (5) and 120 wide (6) There are 3 nodes (7,a,c). The first node is named `` unnamed_1'' and is centered at (x=368,y=536) on the canvas. The sixtuple associated with it is (-oo,+oo,-oo,+oo,e,+oo) (8). There is a hierarchical (parent) node HierNode (e) that abstracts (contains or hides) unnamed_2 and unnamed_3. There are three edges (k,o,s), connecting each (leaf) node with the other two. Two of the edges (k-m,o-q) are non-convex, disjoint qualitative relationships ( before or after), while the third (s-t) is a convex, quantitative relationship ( (1,2),(1,2),(1,2),(1,2)).
unix% tach -h
Tachyon: command-line version 4.0alpha
Copyright (c) 1992-1995 General Electric Co. All Rights Reserved.
Usage: tach [stdin|-file inputfile] [-format type]
stdin Take input from stdin (yes, type that word)
Type Example
0 130 (seconds)
2 130 (hours)
4 13:45 (hours:seconds)
5 13:45:59 (hours:minutes:seconds)
6 130+13:14:59 (days+hours:minutes:seconds)
7 11/30/92 (month/day/year)
8 daymonyear (10jul92)
By default tach reads input from stdin and places its output on stdout, using the temporal format specified in the input. These default values may be modified by providing optional arguments as shown in the usage above. tach will display the usage if any unknown option is used as an argument.
If -pretty is specified, output will be in a pretty-printed format. If -pretty is not specified, output will be in Tachyon file format.
When output is generated in Tachyon file format, input-comments are lost, and
ordering of the nodes and constraints is probably different. If the network
was found to be inconsistent, the second line of the output file will look
like this:
// Network was inconsistent last solve
unix% tachyon -h Usage: tachyon [-batch | -gui] -file <filename> [other arguments] (Type 'tachyon -batch -h' or 'tachyon -gui -h' for help on those modes)
This script will default to running the gui version, but allows for a fairly uniform method of calling on either the gui (xtach) version or the batch (tach) version. It will pass on arguments to the chosen executable. Since the batch version does not read the resources file, this script will extract the DataDirectory from the resource file and use it for the relative path name of the -file.
(c) 1996 General Electric Co.