1Summary of Function
2===================
3
4This tools shows the current delay goals during the execution of a query.
5
6
7Layout
8======
9
10This tool consists of:
11
12Filter bar: contains option buttons to select what filter to apply to
13 select which delay goals should be displayed.
14
15Delay goals window: the delay goals are shown in this window.
16
17Refresh button: the delay goals window is updated.
18
19Close: closes the tool.
20
21
22Functionality
23=============
24
25The delay goals in the system at a particular point in time is shown in the
26delay goals window. Both sleeping, and woken and scheduled goals are shown. 
27
28Scheduled goals are shown in green, whereas sleeping goals are shown in
29black. Filters can be applied so that only a subset of all delay goals are
30shown. 
31
32Filter bar
33----------
34
35Contains filter options to filter out some delayed goals.
36
37Traced only -- when selected, only those goals which can be traced will be
38  displayed. Default to on.
39
40Spied only -- when selected, only those goals which have spied points set
41  will be displated. Default is off.
42
43Scheduled only -- when selected, only those goals which have been scheduled
44(woken and awaiting execution) will be displayed. Default is off.
45
46Select from triggers: -- when selected, only those goals which have been
47suspended on a specific symbolic trigger is shown. Select which trigger from
48the list of the combobox. 
49
50Delayed Goals window
51--------------------
52
53The delayed goals, after filtering, are displayed in this window. The print
54depth and output mode settings are the same as for the tracer. The format
55of the printed goal is:
56
57(Invoc) <Prio> Goal
58
59where Invoc is the invocation number assigned to the delayed goal (if the
60tracer was active, zero otherwise). Prio is the priority at which the goal
61was suspended at. In addition, scheduled goals are shown in green. 
62
63If the tracer was active, the invocation number would be non-zero, and
64pressing and holding the right mouse-button on the goal will bring up a
65pop-up menu with more options.  The predicate name of the goal and its
66module are shown, followed by its invocation number (if non-zero) in
67brackets, and its priority in angled brackets. Note that this summary of the
68predicate is immediately affected by any changes in the debug output mode,
69even if the printed goal has not been refreshed by the refreshed button.
70The options available are:
71
72	toggle the spying/nospying of the predicate.
73
74	display the source of the predicate.
75
76        inspect the contents of the goal using the inspector.
77
78	observe the entire goal for changes to any of its arguments. A
79           display matrix will be created with the goal when ECLiPSe continue 
80           execution. Individual terms in the goal can also be selected for
81           observation from inside the inspector. See the inspector help
82           file for more information on observing terms. 
83
84Double clicking the left mouse-button on the goal will directly invoke the
85inspector on that goal.
86
87Note that if the written form of a predicate is different from its internal
88representation, then the predicate name shown in summary of the popup menu
89is in the written form, but in the internal form elsewhere in the menu.
90
91If the delayed goals window has not been updated, then it is possible to
92to select a delayed goal that is no longer valid. A message would popup to
93inform the user to refresh the display
94
95Refresh button
96--------------
97
98The state of the delayed goals are not necessarily automatically updated in
99the window. Upon clicking the refresh button, the current state of the
100delay goals are shown. In addition, refreshing will apply the current
101filter settings. so if the settings have been changed, then the set of
102displayed delayed goals may change.
103
104
105Note that with the tracer active, it is possible to update the status of
106the delay goals at every trace line in the tracer automatically.
107
108