The present invention relates generally to graphical user interfaces, and more particularly to a panning and highlighting technique for navigation and presentation of detailed information within a dense graphical map structure.
Graphical user interfaces are used in computerized systems to facilitate input and output of information between a computerized device and a human operator of the device. An ideal graphical user interface (GUI) is easily navigable, straightforward in the type and format of input entries required, and presents information received from the computerized device in a format easily understandable by a human operator.
In some applications, the GUI may present a map structure representing, for example, a site map for a website, a device structure or layout, a control flow process, or other such graphical structure representing interrelations between items of interest. Typically, as is often the case in a website map, the map structure is presented as some form of list (e.g., a drop-down list). Items in the list may include subitems, which may in turn include subitems, and so on. Other graphical map structures represent items of interest with an icon or a shape (such as a box) and represent the interrelations between the items of interest via lines, arrows, or some other chosen representation.
Often, due to the pixel and/or font limitations of a display screen, it is not possible to display the entire map structure of interest on the display screen and still present reasonably viewable structural detail of the map. This phenomenon occurs especially when the map structure is fairly dense.
One method of addressing this problem is to provide a scrollbar in the window displaying the map structure. The scrollbar allows the user to pan from one extreme to the other extreme of the map structure. With a dense map structure, the window displays only a portion of the map structure. The portion of the map structure that is displayed depends on the position of the scrollbar, and the contents of the portion displayed are presented such that an operator can easily view and understand the detailed structural content of the displayed portion of the overall map structure. However, the above solution is limited in its ability to present the overall test flow structure while presenting details at the level of interest.
Another prior method for easing navigation of a dense map structure on a display is through the use of bookmarks defined at specific locations within the map structure. However, in order to jump to a location defined by a bookmark, that bookmark must have been previously defined. Therefore, in order to be useful, bookmarks must have been previously defined in locations that are likely to be useful to the operator. Furthermore, each bookmark must be named or otherwise identified such in order to convey to the operator the location in the overall map structure associated with that bookmark.
Another attempt at easing navigation through a dense map structure has been through a search capability provided through a dialog box. In this technique, the operator can select the name of an item in the map structure from a list box of available items. However, a search tool requires the operator to know the name of the item of interest. Alternatively, the search dialog may allow the user to search on a variable of interest or on content of the items represented by the boxes, or on other search criteria. However, again, the search capability requires the user to have some knowledge of the specific variable name, content, or search criteria in order for it to be useful.
Yet another attempt at easing navigation of a dense map structure has been the creation of “group” icons, where each “group” icon represents a number of sub-icons or symbols that are collapsed into the group. When a group icon is selected, the portion of the map structure belonging to the selected group is displayed. The grouping technique reduces the visual complexity of the map structure, thereby reducing the amount of information to be displayed. However, grouping also hides the very structure of the code that may be recognizable.
Accordingly, a need exists for an improved graphical navigational technique of a dense map structure which allows visual display of the overall map structure but also allows display of detailed structure within the overall map structure. It would be desirable if the improved navigational technique would allow simultaneous display of the overall map structure and portions of the detailed sub-structure.
The present invention is an improved technique for navigating a dense graphical map structure to be displayed which allows visual display of the overall map structure but also allows display of individual elements and detailed sub-structures within the overall map structure. The invention also allows simultaneous display of the overall map structure and selected detailed sub-structures.
In accordance with the invention, a graphical user interface displayable on a display screen is provided with a panning window interface that includes a high-level map structure panel which displays a map structure rendered according to a first image scale, a panning window displayed in the high-level map structure panel for selecting a sub-portion of the displayed map structure, and a detailed sub-structure panel which renders the selected sub-portion of the map structure according to a second image scale greater than the first image scale. The panning window interface may be turned on or off via a graphical switch such as a checkbox, radio button, or other graphical means on a graphical menu such as a pulldown menu.
The panning window interface may be enhanced by providing a highlight function, for example in the form of a highlight selection menu. The highlight function allows operator input of highlight selection criteria. When highlight selection criteria is selected, elements in the map structure that are displayed in said high-level map structure panel that meet said highlight selection criteria are highlighted. Preferably, when multiple selection criteria are selected, the highlight function provides visual differentiation between elements highlighted according to different respective selection criteria.
The panning window interface may be similarly be enhanced by providing a search and highlight function, for example in the form of a highlight selection menu. The search and highlight function integrates search capability with highlight capability to allow operator input of search criteria. When search criteria is selected, the search and highlight function searches the elements in the map structure to determine whether they meet the search criteria. Elements that do meet the search criteria are highlighted in the high-level map structure panel and detailed sub-structure panel.
A more complete appreciation of this invention, and many of the attendant advantages thereof, will be readily apparent as the same becomes better understood by reference to the following detailed description when considered in conjunction with the accompanying drawings in which like reference symbols indicate the same or similar components, wherein:
The present invention is technique for navigating a dense map structure in a graphical user interface which allows visual display of the overall map structure and simultaneous display of selected detailed sub-structures within the overall map structure.
For more understanding, the invention will be discussed in the context of a specific application—namely, a test flow GUI for an automated printed circuit assembly test system. However, it is to be understood that the novel aspects of the claimed invention apply equally to systems of varying applications, and more specifically, to any GUI in which a dense map structure must be presented to convey the overall map structure and in which capability is required for presentation of selected detailed substructures of the overall map structure.
Turning now to the drawings,
The test head 12 comprises all the tester electronics, including digital and analog testing capabilities to supply power to the DUT 14 and perform test measurements. The test head 12 includes a DUT interface 24. The device under test (DUT) 14 is mounted on a DUT board 15 which is connected to the I/O channels by the DUT interface 24. The DUT interface 24 consists of high performance coax cabling and spring contact pins (pogo pins) which make electrical contact to the DUT board 15. The DUT interface 24 provides docking capabilities to handlers and wafer probers (not shown). The docking mechanism is controlled by compressed air, but can also be operated manually, if required.
The test head 12 is water cooled. It receives its supply of cooling water from the support rack 18 which in turn is connected by two flexible hoses to a cooling unit (not shown). The manipulator 16 supports and positions the test head 12. It provides six degrees of freedom for the precise and repeatable connection between the test head 12 and handlers or wafer probers. The support rack 18 is attached to the manipulator 16. The support rack 18 is the interface between the test head 12 and its primary supplies (AC power, cooling water, compressed air). For detailed information concerning the internal electronics architecture and connections of the 93000 SOC test system, refer to the SOC Series System Reference, Agilent Technologies, Inc., February 2003, incorporated herein by reference for all that it teaches.
The workstation 22 is the interface between the user and the test head 12. On the Agilent 93000 SOC Series test system, Agilent 93000 SOC Series SmarTest software 26 runs on this workstation 22. The workstation 22 is preferably either a high-performance Unix workstation running the HP-UX operating system or a high-performance PC running the Linux operating system. The workstation 22 is connected to a keyboard 4 and mouse 5 for receiving operator input, and to a display monitor 3 for displaying a graphical user interface (GUI) 8 on the display screen 6 of the monitor 3. The GUI software 2 is integrated into the SmarTest software 26 and generates the GUI 8 on the display screen 6 of the monitor 3.
Communication between the workstation 22 and the test head 12 may be via direct cabling or may be achieved via a wireless communication channel, shown generally at 20. The SmarTest software 26 allows download of setups and test data 28a to the test head 12 and editing of this data. All testing is carried out by the test head 12, and test results 28b are read back by the workstation 22 and displayed on the monitor 3. During test program execution, upload and download are typically unnecessary, since the test head processors act independently of the workstation 22 once the test program is started.
As described, in the preferred embodiment, the test software 26 is Agilent's SmarTest 93000 Series software that allows testing of a device under test (DUT) 14 via a Testflow. As used herein, a Testflow is an interconnected collection of individual tests, called test suites, each one testing a particular parameter. These test suites can be interconnected in a multitude of different ways—sequentially, dependent on the previous/another result, while something is valid, etc. Together, all these test suites form a complete test of a device.
The SmarTest software 26 implements GUI software 2 that includes a graphical editor called the Testflow Editor 30. The Testflow Editor 30 provides menus and dialogues that allow an operator access to all provided functions for creating, modifying and debugging a Testflow. A complete description of the features and capabilities of the SmarTest software may be found in the SmarTest manual, “Agilent 9300 SOC Series: Test Setup-Volume 1-Introduction, Data Manager, Testflow”, Manual Part No. E7050-91010, Agilent Technologies, Inc., Revision 4.2.0, August 2003, incorporated herein by reference for all that it teaches.
Testflows are set up and executed through the Testflow Editor 30 of the SmarTest software 26 running on the workstation 22, which interfaces with the GUI 8 and user input devices keyboard 4 and mouse 5. Testflow icons are selected via mouse selection from within an Insert pulldown menu (not shown). Icons can be manipulated by highlighting icons in an existing testflow and using an Edit menu (not shown).
In an illustrative embodiment, the test approach is test function based. In this approach, a set of global setup files containing DUT configuration including pin configuration, timing, levels, vectors, pin attributes, analog control, waveforms and routing, is created for the whole of a given Testflow. Testsuites, based on test functions, are then developed by the operator via a series of Testflow Editor dialogues which test a particular parameter at a time.
In the particular embodiment shown, icons 52, 54, 56 are used to represent conditions 52, test suites 54, and bins 56, discussed hereinafter.
Each test suite icon 54, represented by a rectangular shape, represents an individual, independent, executable device test (a functional test, for example). The test may test a single parameter of a single node of the DUT 26, or may test a plurality of parameters of one or more components of the DUT 26. In the illustrative embodiment, the test flow can be made to be, or not to be, dependent on the results of a test suite. If the test flow is not dependent on the results of a given test suite, that test suite is configured as a simple “run” test suite icon. If the test flow is to be made dependent on the results (e.g., pass/fail) of the test suite, the test suite is configured as a “run and branch” test suite icon. The “run” and “run and branch” test suite icons are presented herein for purposes of illustration only. Other test suite icon types beyond the scope of the present invention may be defined. Furthermore, the executable that the icon represents may be any type of executable.
Each bin icon 56, represented by an octagonal or a triangular shape, represents a number of devices that fall into a similar category. For example, in the illustrative embodiment, hexagonal bins are storage bins for listing the device numbers of devices that fail a test suite associated with the bin. Of course, other bin icon types beyond the scope of the present invention may be defined, such as bins that store device identifiers of devices that pass the associated test suite and bins that store device identifiers of devices that have not yet been tested.
Each condition icon 52, represented by a hexagonal shape, represents a condition or set of conditions that determine the flow control of a branch, a while loop, a for loop, a repeat loop, or other flow control.
Each icon 52, 54, 56 includes an input 52i, 54i, 56i, and one or more outputs 52o1, 52o2, 54o1, 54o2, 56o. The sequence of the test flow is represented by connecting lines, or “connectors” between the outputs of the various icons and inputs of other icons. During execution of a test program, the test flow executes an executable associated with an icon, and moves to the icon whose input is connected to its output. In the test flow example shown, if more than one output exists, only one output will be selected. The selected output typically depends on the results of the executable represented by the icon. For example, referring to the condition icon 52 in
In the illustrative embodiment, the graphical sub-structure 50 includes a condition icon 52 followed by a test suite icon 54, which includes a device fail bin 56. It will be appreciated that the sub-structure 50 is presented by way of example only and that other structural configurations may be defined. For example, during a full test program, it is unlikely that a conditional control flow icon 52 will need to be executed prior to every test suite. Test suites will typically have one or more bins associated with them to track failures, passes, and/or other information; however, there may be reasons that such information need not be collected for every test suite,for example, information can be stored in a testflow variable or logged to a file.
A typical test program may include hundreds of test suites.
It is well known that the number of icons displayable on a display monitor is limited. Therefore, given a test program of even marginal size, it is unlikely that all condition, test suite, and bin icons representing the test program map structure can be simultaneously presented within a single GUI window.
As described in the background section one method of addressing the problem of limited viewing space in a GUI window is to provide a scrollbar in the window displaying the test flow map. The scrollbar allows the user to change the contents of the test flow map window to any position in the test flow map, displaying only a predefined number of Testflow map icons in the window. Other solutions might be to implement a bookmarking scheme or search capability, also discussed in the background section. However, while each of these solutions allows presentation of the detailed sub-structures, they are limited in their ability to present the overall test flow structure.
An alternative solution is to implement “group” icons, also discussed in the background section, which represent a number of test suite icons that collapsed into the group. However, as pointed out previously, while group icons allow the collapse of the detailed test flow structure into a form displayable on a display monitor, grouping also hides the detailed sub-structure of the overall map structure that may be of interest.
Presentation of the test flow map structure may also be used, for example, during execution of the test to allow a test operator to monitor the progress of the test flow. The test flow map structure may include an active icon for each condition, test suite, and/or bin. In this use, when clicked on by a mouse (or otherwise activated using well-known graphical user interface (GUI) input methods), test information associated with the execution results of the selected icon may be displayed, for example in a pop-up window or another panel.
Turning now to the details of the displayed portion of the test flow map structure 60 shown window 80 of
If control instead passes to test suite icon 54c as a result of the condition in the executable represented by conditional control flow 52a, the executable represented by test suite icon 54c is executed (and identifiers of components are added to bin 56c if the component fails the test). Test flow control then passes to conditional flow control 52d. Depending on the results of the executed condition, test flow control passes either to test suite icon 54d or test suite icon 54e. If control passes to test suite icon 54d, the executable represented by test suite icon 54d is executed, and test flow control then passes to subsequent test flow portions of the test program map structure not visible in the window 80. If control passes instead to test suite icon 54e, the executable represented by test suite icon 54e is executed, and test flow control then passes to subsequent test flow portions of the test program map structure 60 not visible in the window 80.
The presentation of test flow map window 80 of
It is clear from
The present invention solves these problems.
The detailed sub-structure panel 110 presents a large-scale view of the detailed structure of the portion of the high-level map structure 160 enclosed within the panning window 130 of the high-level map structure panel 120.
For example, in
In accordance with the invention, the panning window 130 is movable to allow the operator to select a portion of interest of the high-level map structure 160 that is displayed in the high-level map structure panel 120. In a preferred embodiment, the panning window 130 may be moved using a standard drag-and-drop mouse operation. For example, as illustrated in
It will be appreciated that the more of overall map structure 160 that can be presented within the high-level map structure panel 120, the easier the navigation of the map structure 160. Accordingly, if the entire map structure 160 can be presented within a single high-level map structure panel 120 without losing the overall detail of the structure, it is preferred to present it as such. However, if the entire high-level map structure 160 cannot be presented within the high-level map structure panel 120 without losing the overall detail of the structure due to limitations of the screen size, font size, and number of pixels, it is contemplated that one of several methods may be employed to maximize operator understanding of the overall test flow map structure while allowing simple navigation therein.
In one embodiment, the high-level test flow map panel may include horizontal and/or vertical scrollbars 122a, 122b (
In another embodiment, the high-level map structure panel 120 may include zoom-in and zoom-out capability which allows the operator to display the overall test flow map at various resolution levels, preferably between a lowest resolution level which displays the entire test flow map in the high-level map structure panel 120 to higher resolutions that present more and more structural and/or readable detail but which may not present the entire high-level map structure 160 within the high-level map structure panel 120. In this embodiment, the panning window 130 is movable via a drag-and-drop mouse technique, scrolling, left- and right-arrow keyboard input, or other means for moving the scrollbar now commonly utilized or utilized in the future, to enclose an area of interest in the high-level map structure 160 displayed in the high-level map structure panel 120.
Optionally, the panning window features may be switchably turned on or off. In one embodiment, the panning window features are switchably turned on or off by selecting a sub-item option of a menu. In one example, as illustrated in
The panning window interface described above in conjunction with
The search-and-highlight enhancement to the invention may be implemented in the panning window interface by one of several ways. In one example, the highlighting may be tied to the search engine of the window interface. Accordingly, when the Search menu item on the main toolbar is selected and the operator enters search criteria, if any of the icons displayed in the high-level map structure panel 120 include matches to the search results, the panning window interface highlights the corresponding icons in the panel to allow the operator to examine them more closely (either by selecting a highlighted icon directly from the high-level map structure panel 120 resulting in a pop-up window, or by moving the panning window 130 over the highlighted icon of interest to update the detailed sub-structure panel 110 with the portion of the map structure 160 enclosed in the panning window 130).
An alternative method for implementing the search and highlight capability is to include a highlight selection menu, either as a menu item in the toolbar or as a separate panel in the window.
In a more sophisticated embodiment, the search and highlighting capability visually differentiates highlights generated due to one selected search criteria from highlights generated due to other selected search criteria. Highlight differentiation may be implemented using different colors, different line thickness or patterns, or other such visual differentiation techniques known in the art. For example, referring to
If line thickness or pattern is used instead to differentiate highlighted icons with respect to selection criteria, a key is preferably presented to allow the operator to visually correlate selected criteria with respective highlighted icons.
It will be appreciated that addition of a search and highlight capability to the panning window interface improves the utility of the interface. Because the search and highlight capability visually indicates all instances of icons in the displayed map structure 160 that match the search criteria, the operator can more quickly locate the instances searched for. For example, suppose the operator enters the name of a variable in the “Variable 1” selection criteria of the highlight selection panel. The resulting highlighted image in the high-level map structure panel 120 and detailed sub-structure panel 110 will quickly reveal all test suites (and other icons) using the variable. This would make any errant usage of the variable immediately visible to an experienced operator and would allow the problem to be quickly corrected. Furthermore, especially in the case where multiple search criteria are allowed simultaneously, an astute operator can more easily formulate theories or conclusions from the information presented.
Although this preferred embodiment of the present invention has been disclosed for illustrative purposes, those skilled in the art will appreciate that various modifications, additions and substitutions are possible, without departing from the scope and spirit of the invention as disclosed in the accompanying claims. For example, it should be understood that the term “window” or “panel” as used in both the specification and the claims includes any defined section or area of the display screen of a display monitor that displays images to the operator, and that various terminology herein known or hereinafter developed may fit this definition. It is therefore intended that any element or device meeting this definition is included within the meaning of these terms. It is also possible that other benefits or uses of the currently disclosed invention will become apparent over time.