US5377318A - Line probe diagnostic display in an iconic programming system - Google Patents

Line probe diagnostic display in an iconic programming system Download PDF

Info

Publication number
US5377318A
US5377318A US08/149,154 US14915493A US5377318A US 5377318 A US5377318 A US 5377318A US 14915493 A US14915493 A US 14915493A US 5377318 A US5377318 A US 5377318A
Authority
US
United States
Prior art keywords
data
iconic
icon
displaying
contained
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
US08/149,154
Inventor
Susan G. Wolber
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Agilent Technologies Inc
Original Assignee
Hewlett Packard Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Co filed Critical Hewlett Packard Co
Priority to US08/149,154 priority Critical patent/US5377318A/en
Application granted granted Critical
Publication of US5377318A publication Critical patent/US5377318A/en
Assigned to HEWLETT-PACKARD COMPANY, A DELAWARE CORPORATION reassignment HEWLETT-PACKARD COMPANY, A DELAWARE CORPORATION MERGER (SEE DOCUMENT FOR DETAILS). Assignors: HEWLETT-PACKARD COMPANY, A CALIFORNIA CORPORATION
Assigned to AGILENT TECHNOLOGIES INC reassignment AGILENT TECHNOLOGIES INC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: HEWLETT-PACKARD COMPANY
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing

Definitions

  • This invention relates to computer systems and more particularly to Iconic Programming Systems. Even more particularly, the invention relates to examining data and contact lines in an iconic programming system.
  • An iconic programming system is a "programming-less" environment where programming is done by connecting graphical images of devices (icons), together with connecting lines, to create an iconic network which represents a software program.
  • the iconic programming system may be used in research and development test environments, where several different electronic instruments are connected to test a system or device. Programming such a system requires instructions to cause the various instruments to perform desired functions in order to operate as a system.
  • each instrument When an iconic programming system is used, each instrument will be represented by a graphical icon, also called a graphical object, and the connections between the instruments are represented by connecting lines between the graphical icon images.
  • Each device may have multiple lines connecting from other devices, bringing data into the device for it to use during its execution.
  • Each device may also have multiple output lines connecting to other devices, to pass its new or changed data on to the other devices in the program.
  • graphical icons representing instruments in such a system
  • graphical icons are provided for programming functions, for example looping, IF-THEN statements, etc.
  • each device executes in turn, and during its execution, each device may use the data on its input lines, modify it, and put the same or other data on its output lines for other devices to use.
  • Yet another aspect is to allow the user to change the data values.
  • Still another aspect is to display any mappings on the data.
  • a further aspect of the invention is to display data on control and error lines within the iconic network.
  • a line probe function within an iconic programming system.
  • the user of the system can use mouse or keyboard input to select the line probe function.
  • the line probe stops the processing of the iconic system and displays a message asking the user to select a connecting line, an input terminal to an icon, or an output terminal of an icon.
  • the line probe queries the object selected to obtain information about data the object contains.
  • the line probe then creates a dialog box on the windowing system used by the iconic programming system to display the information about the object.
  • the line probe displays the information, along with an "OK" pushbutton, and waits for the user to use the mouse to click on the OK pushbutton.
  • the line probe erases the dialog box and continues processing the iconic program.
  • the line probe need not be configured in advance, but instead allows the user to dynamically select the object to be probed. Also, the user does not need to define the type of data to the line probe, but instead, when an object is selected, the line probe automatically determines the type and value of the data to be displayed.
  • FIG. 1 shows a block diagram of a computer system incorporating the present invention
  • FIG. 2 shows a prior art iconic network suitable for use with the present invention
  • FIG. 3 shows a computer display illustrating the line probe display of a connecting line between two icons
  • FIG. 4 shows a computer display illustrating the line probe display of an icon input terminal
  • FIG. 5 shows a computer display illustrating the line probe display of an icon output terminal
  • FIG. 6 shows a flowchart of the process of creating the line probe display
  • FIG. 7 shows a flowchart of the process of creating the dialog box of the line probe display.
  • FIG. 1 shows a block diagram of a computer system incorporating the present invention.
  • a computer system 100 contains a processing element 102 which connects to the other components of the system through a system bus 104.
  • a keyboard 106 allows a user to input textual data to the system, and a mouse 110 allows a user to input graphical data to the system.
  • a graphics display 108 allows the system to output text and graphical information to the user.
  • a disk 112 is used by the system to store the software of the iconic programming system environment, as well as the user-defined iconic network.
  • a communications interface 116 is used to create a communications network which allows the computer and iconic programming environment to communicate with other computers and other environments.
  • a multi-tasking operating system 120 can have a plurality of tasks, also called processes, here illustrated by task 122 and task 124. Task 122 is shown containing the iconic programming process including the line probe of the present invention.
  • FIG. 2 shows a simple prior art iconic network program that will be used to illustrate the line probe of the present invention.
  • This simple iconic network is for illustration purposes only.
  • the line probe of the present invention can be used with any iconic network, however complicated that network might be.
  • an iconic network 200 is shown displayed on a graphical display 202.
  • the graphical display 202 represents the output of the graphics display 108 (FIG. 1).
  • the iconic network 200 contains an icon 204 which is used to input a real number into an iconic network program.
  • the real number being input is the number 454.
  • the real number is output by the icon 204 via an output terminal 206.
  • the output terminal 206 is connected to an input terminal 210 of a formula icon 212.
  • the connection between the output terminal 206 of icon 204 and the input terminal 210 of icon 212 is made with a connecting line 208.
  • the formula icon 212 will process data received on the input 210 using a formula shown in the box 213. In this example, the formula multiplies the input terminal by 2 and adds 3 to the result. This is by way of example only since any arbitrary formula, however complex, could be used in the formula icon 212.
  • the number arrived at by applying the formula in the box 213 to the input data 210 is placed on the output 214, which is named the "result".
  • the output 214 is connected by a connecting line 216 to an input terminal 218 of an alphanumeric display icon 220.
  • the alphanumeric display icon 220 displays the input that it receives on input 218 in a box 222.
  • the line probe of the present invention can dynamically display the data on any of the input or output terminals of any of the icons, or any of the connecting lines.
  • the line probe could be used to display data on output terminal 206, line 208, input terminal 210, output terminal 214, line 216, or input terminal 218.
  • the user of the system may choose any of these terminals or lines to display when the user activates the line probe.
  • FIG. 3 shows the iconic network of FIG. 2 with the addition of the line probe display of the present invention.
  • the iconic network of FIG. 2 including the real icon 204, formula icon 212, and alphanumeric icon 220 is shown.
  • the user of the system has requested that the line probe of the present invention display data on the connecting line 216.
  • This data is displayed in a new icon 302 which displays signal information for the connecting line 216.
  • the icon 302, also called a dialog box has a title 303 called signal information and shows three types of signal attributes.
  • Box 304 displays the type of data that was present on the connecting line 206. In this case the data type is a real number.
  • Box 306 shows the shape of the data present on the connecting line 216, in this case the shape is scalar, that is, the data is a single value as opposed to an array of information.
  • Box 308 shows the value of the data, in this case the numeric value "911".
  • the "OK" box 310 is used when the user of the system desires to stop the line probe. When the user wishes to stop the line probe and continue processing of the iconic network, they move the mouse to position the mouse sprite over the "OK" box 310 and press or "click” the mouse button. When the system detects the mouse click with the sprite located over the box 310, the system erases the dialog box 302 and discontinues the line probe.
  • FIG. 4 shows the iconic network of FIG. 2 and further shows a dialog box with the line probe function being used to display information about an input terminal.
  • the iconic network is shown including the real icon 204, the formula icon 212, and the alphanumeric icon 220.
  • the user has requested that the line probe display information about the terminal 210 of the formula icon 212.
  • the information about the input terminal 210 is shown in a dialog box 402.
  • the title 404 indicates that the dialog box is displaying input terminal information.
  • Within the dialog box 402 are three boxes that display signal attributes.
  • Box 406 displays the data type being input to the icon 212 which, in this case, is a real number.
  • Box 408 indicates that the shape of the data is scalar, and box 410 indicates that the value of the data is the real number "454".
  • the dialog box 404 displays an additional set of information called constraints.
  • box 412 displays the name of the input terminal, in this case the single letter "A".
  • the name of the terminal was used in the formula to 213.
  • Box 414 illustrates that the type of data that this terminal will accept is any type.
  • Box 416 shows that the shape of the data that this terminal will accept is any shape, and box 418 indicates that the mode for this terminal is a data mode, as opposed to a control mode terminal.
  • Box 420 is used by the user of the system when they wish to terminate the display of the line probe information.
  • the cancel box 422 allows the user to cancel any changes made to the input constraint fields or the data.
  • FIG. 5 shows the iconic network of FIG. 2 and further illustrates the use of the line probe to display information about an output terminal.
  • the iconic network of FIG. 2 including the real icon 204, the formula icon 212, and the alphanumeric icon 220 is shown.
  • a dialog box 502 which is used by the line probe to display data about the output terminal 214 of the formula icon 212.
  • the title 504 of the dialog box 502 illustrates that this is the line probe display of output terminal information.
  • Part of the display includes signal attributes. Under the signal attributes, the type box 506 illustrates that the output data is a real number, and the shape box 508 illustrates that the output data is a scalar.
  • the data box 510 shows that the value of the output data is 911.
  • constraints the name box 512 shows that the name of the output terminal is "Result”, and box 514 shows that the mode of the output is data, as opposed to control.
  • the "OK” box 516 is used by the user to discontinue the line probe display, and the cancel box 518 allows the user to cancel any changes made to the input constraint fields or the data.
  • FIG. 6 shows a flow chart of the system including processing of the line probe display.
  • block 602 starts the processing of the iconic network.
  • Block 604 determines whether mouse input has occurred and if not transfers control to block 606 which determines whether keyboard input has occurred. If either mouse or keyboard input has occurred, control transfers to block 608 which determines whether a line probe has been requested.
  • a line probe is simply a menu item displayed on the screen along with the iconic network, and to request a line probe the user simply moves the mouse sprite to this menu item and clicks the mouse.
  • block 610 which processes part of the network and then returns block 602. Other aspects of the network processing are not shown in order to simplify the description of the invention. This loop continues until the user requests a line probe at which time control transfers to block 612.
  • Block 612 displays a request to the user asking them to select a line or terminal for the line probe to display.
  • Block 614 determines whether the user has selected a line or a terminal, and if not control simply returns to block 602 to continue the loop. If the user selects a line or terminal for display by the line probe, control transfers to block 616 which queries the object selected by the user to obtain information about the object.
  • object oriented system such as the iconic network of the present invention, icons, lines, terminals, and other items are defined as "objects”, which have procedures and data within them. Therefore, an object can be "queried” by calling one of its procedures and asking that procedure to return data.
  • Block 616 queries the object selected by the user, and asks it to return data describing the information to be displayed by the line probe.
  • Block 618 then calls the windowing system to establish a new dialog box.
  • the windowing system will be instructed to call FIG. 7 to display information within the dialog box and to process input by the user into the dialog box.
  • windowing systems exist that could be used by the present invention.
  • the X window system within the Unix operating system could be used. Unix is a registered trademark of AT&T.
  • Microsoft Windows could also be used with the present invention.
  • Microsoft and Windows are trademarks of Microsoft Corporation. The details of using specific windowing systems are well known to those skilled in the art.
  • block 620 After calling the windowing system to establish the dialog box, block 620 waits for the windowing system to return after the user has clicked the mouse on the "OK" button within the dialog box. After the user clicks the "OK” button, block 622 again calls the windowing system to remove the connection to FIG. 7.
  • the dialog box will be erased by FIG. 7, as described below, but the windowing system needs to be called to remove the access to FIG. 7 after the user has completed observing the display.
  • block 622 After calling the windowing system to remove the dialog box, block 622 returns to block 602 to wait for the user to input additional information.
  • FIG. 7 shows a flow chart of the process of creating and processing information within a dialog box.
  • FIG. 7 will be called at least twice by the windowing system, after the box has been set up by FIG. 6.
  • the first call to FIG. 7 will be to display the dialog box on the screen, and the second and possibly subsequent calls will be called whenever the user uses the mouse to click on one of the boxes within the dialog box, or attempts to input information to the dialog box.
  • the windowing system may call FIG. 7 at any time to re-display the dialog box on the screen, if some other event within the windowing system has obscured the dialog box. Referring now to FIG. 7, after entry, block 702 determines whether this call is for display or re-display.
  • block 702 transfers to block 704 which determines whether the line probe has been requested to probe a line. If the line probe has been requested to probe a line, block 704 transfers to block 712, which will be described below. If the probe is not for a line, block 704 transfers to block 706 which determines whether the probe is for an input terminal. If the probe is for an input terminal, block 706 transfers to block 724 which calls the window system to display a box for the name of the terminal. This call will display the name information, such as box 412 of FIG. 4. After displaying the name, block 726 calls the windowing system to display a box for the type information, such as type box 414 of FIG. 4.
  • Block 728 calls the windowing system to display a box and the shape information, such as the shape box 416 of FIG. 4.
  • Block 730 calls the windowing system to display a box and the data for the mode, such as box 418 of FIG. 4. Block 730 then transfers to block 712, which will be described below.
  • Block 706 determines that the probe is not for an input terminal, it assumes the probe is for an output terminal and transfers to block 708.
  • Block 708 calls the windowing system to display a box and data for the name, such as the name box 512 of FIG. 5.
  • Block 710 calls the windowing system to display the box for the mode information, such as mode box 514 of FIG. 5.
  • Control then transfers to block 712 to display the signal attributes information, which is the same for all three types of line probe displays.
  • Block 712 calls the windowing system to display the type information, such as type box 304 of FIG. 3.
  • Block 714 calls the windowing system to display a box and the data for the shape information, such as shape box 306 of FIG. 3.
  • Block 716 calls the windowing system to display a box and the data for the line or terminal, such as data box 308 of FIG. 3.
  • Block 718 calls the windowing system to display the "OK” box, such as "OK” box 310 of FIG. 3. This call also tells the windowing system to allow the user to click on this box and return control to FIG. 7 when the user performs the click.
  • block 702 transfers to block 720 which determines whether the user has clicked the mouse on the "OK" button. If the user has not clicked the mouse on the "OK” button, block 720 simply returns and ignores the user input. In the line probe, the only input allowed by the user is to terminate the probe by clicking on the "OK" box. If the user has clicked on the "OK” box, block 720 transfers to block 722 which calls the windowing system to erase the dialog box from the screen. FIG. 7 then returns to the windowing system, which will return to FIG. 6, block 622 if the user has clicked the "OK" box.
  • the line probe may also allow a user to modify the information displayed.
  • the data output from an icon may be displayed and modified, therefore sending modified data to the next icon. This is particularly useful in debugging an iconic network.
  • a user may have a requirement to limit the values of data output or input by an icon.
  • an icon may expect a real number which a user wants to limit to between the values of 1 and 100. This might occur, for example, in an iconic program in which an operator of the system is allowed to enter the value of the temperature for an operation.
  • the iconic programming system allows limits to be placed on data values.
  • the line probe allows a user to display and change these limits.
  • a user may also have a requirement to map data values over a range.
  • the user may be taking readings, from a voltmeter, of the voltage coming from a source, and the user wants to see how the voltage readings change as the room temperature changes. Over the span of the readings, the room temperature may change, for example, from 40 degrees to 50 degrees, however, voltage and temperature readings are not taken together so there is no correspondence between the readings.
  • the iconic programming system can map the voltage readings to the temperature readings by allowing the user to enter a formula or other means to cause the mapping. For example, the user could enter a method of linearly mapping the voltage to the temperatures such that the first voltage reading would be mapped to 40 degrees, and the last voltage reading would be mapped to 50 degrees.
  • each voltage reading would be mapped to an element of a two by 300 matrix, with each element having a voltage and a temperature.
  • the line probe allows the user to display and change the mappings of data.

Abstract

A line probe function within an iconic programming system. During execution of the iconic program, the user of the system can use mouse or keyboard input to select the line probe function. When selected, the line probe stops the processing of the iconic system and displays a message asking the user to select a connecting line, an icon input terminal, or an icon output terminal. When the user selects one of these, the line probe obtains information from the object about data the object contains. The line probe then creates a dialog box on the windowing system used by the iconic programming system, displays the information along with a pushbutton, and waits for user input. The user may input data to modify the information displayed, and when the user clicks on the pushbutton, the line probe erases the dialog box and continues processing the iconic program.

Description

This is a continuation of copending application Ser. No. 07/661,936 filed on Feb. 28, 1991 , now abandoned.
CROSS REFERENCE TO RELATED APPLICATIONS
This application is related to application Ser. No. 07/483,478 filed Feb. 22, 1990 for PROGRAMMING ESCAPE FROM AN ICONIC SYSTEM of Bailey, Beethe, Wolber, and Williams; and application Ser. No. 07/537,550 filed Jun. 13, 1990 for PROCESSING METHOD FOR AN ICONIC PROGRAMMING SYSTEM of Beethe; both assigned to the same entity.
FIELD OF THE INVENTION
This invention relates to computer systems and more particularly to Iconic Programming Systems. Even more particularly, the invention relates to examining data and contact lines in an iconic programming system.
BACKGROUND OF THE INVENTION
An iconic programming system is a "programming-less" environment where programming is done by connecting graphical images of devices (icons), together with connecting lines, to create an iconic network which represents a software program. The iconic programming system may be used in research and development test environments, where several different electronic instruments are connected to test a system or device. Programming such a system requires instructions to cause the various instruments to perform desired functions in order to operate as a system.
When an iconic programming system is used, each instrument will be represented by a graphical icon, also called a graphical object, and the connections between the instruments are represented by connecting lines between the graphical icon images. Each device may have multiple lines connecting from other devices, bringing data into the device for it to use during its execution. Each device may also have multiple output lines connecting to other devices, to pass its new or changed data on to the other devices in the program. In addition to graphical icons representing instruments in such a system, graphical icons are provided for programming functions, for example looping, IF-THEN statements, etc. By combining instrument and programming icons, a user can create an iconic network involving the programmed operation of several instruments. An example of a simple iconic network is shown in FIG. 2, described below.
When the program runs, each device executes in turn, and during its execution, each device may use the data on its input lines, modify it, and put the same or other data on its output lines for other devices to use.
One difficulty encountered in designing and creating an iconic network is the problem of debugging the network. Although some prior art systems show the type of data on a line connecting two icons, none provide a way of determining the value of the data that is sent on an output line and received by another icon. One method used in the prior art is to connect a display icon to a connecting line, however this requires anticipating which lines will encounter problems. For example, if a network has been running for a long time, and the user/programmer suddenly wants to see the data on a line which does not have a display icon connected to it, the network must be stopped, a display connected to the line, and the network restarted. This may take considerable time, and it will only work if the network performs in exactly the same manner when restarted. If the input data to the network is unpredictable, the network may not perform in the same way, and the user/programmer may have to examine a different line, which would require repeating this process.
There is a need in the art then for a system that will interactively probe an arbitrary line, so that the user can observe the data, if any, present on the line. There is further need for such a system that will display the data type, whether the data is scalar or array, the number of dimensions and dimensions sizes, if the data is an array, the data values, and any mappings on the data. There is a still further need for such a system that is capable of displaying control lines or error lines that may carry a boolean or error value. The present invention meets these needs.
Various features and components of an iconic network system are disclosed in U.S. patent applications:
(A) Application Ser. No. 07/483,478 filed Feb. 22, 1990 for PROGRAMMING ESCAPE FROM AN ICONIC SYSTEM of Bailey, Beethe, Wolber, and Williams;
(B) Application Ser. No. 07/537,550 filed Jun. 13, 1990 for PROCESSING METHOD FOR AN ICONIC PROGRAMMING SYSTEM of Beethe;
which are each hereby specifically incorporated by reference for all that is disclosed therein.
SUMMARY OF THE INVENTION
It is an aspect of the present invention to provide a system to interactively display data on an arbitrary connecting line or icon terminal within an iconic network.
It is another aspect of the invention to display the data type and shape as well as the data values.
Yet another aspect is to allow the user to change the data values.
Still another aspect is to display any mappings on the data.
A further aspect of the invention is to display data on control and error lines within the iconic network.
The above and other aspects of the invention are accomplished by a line probe function within an iconic programming system. During execution of the iconic program, the user of the system can use mouse or keyboard input to select the line probe function. When selected, the line probe stops the processing of the iconic system and displays a message asking the user to select a connecting line, an input terminal to an icon, or an output terminal of an icon. When the user selects one of these, the line probe queries the object selected to obtain information about data the object contains. The line probe then creates a dialog box on the windowing system used by the iconic programming system to display the information about the object. The line probe then displays the information, along with an "OK" pushbutton, and waits for the user to use the mouse to click on the OK pushbutton. When the user clicks on the pushbutton, the line probe erases the dialog box and continues processing the iconic program.
The line probe need not be configured in advance, but instead allows the user to dynamically select the object to be probed. Also, the user does not need to define the type of data to the line probe, but instead, when an object is selected, the line probe automatically determines the type and value of the data to be displayed.
BRIEF DESCRIPTION OF THE DRAWINGS
The above and other aspects, features, and advantages of the invention will be better understood by reading the following more particular description of the invention, presented in conjunction with the following drawings, wherein:
FIG. 1 shows a block diagram of a computer system incorporating the present invention;
FIG. 2 shows a prior art iconic network suitable for use with the present invention;
FIG. 3 shows a computer display illustrating the line probe display of a connecting line between two icons;
FIG. 4 shows a computer display illustrating the line probe display of an icon input terminal;
FIG. 5 shows a computer display illustrating the line probe display of an icon output terminal;
FIG. 6 shows a flowchart of the process of creating the line probe display; and
FIG. 7 shows a flowchart of the process of creating the dialog box of the line probe display.
DESCRIPTION OF THE PREFERRED EMBODIMENT
The following description is of the best presently contemplated mode of carrying out the present invention. This description is not to be taken in a limiting sense but is made merely for the purpose of describing the general principles of the invention. The scope of the invention should be determined by referencing the appended claims.
FIG. 1 shows a block diagram of a computer system incorporating the present invention. Referring now to FIG. 1, a computer system 100 contains a processing element 102 which connects to the other components of the system through a system bus 104. A keyboard 106 allows a user to input textual data to the system, and a mouse 110 allows a user to input graphical data to the system. A graphics display 108 allows the system to output text and graphical information to the user. A disk 112 is used by the system to store the software of the iconic programming system environment, as well as the user-defined iconic network. A communications interface 116 is used to create a communications network which allows the computer and iconic programming environment to communicate with other computers and other environments. A multi-tasking operating system 120 can have a plurality of tasks, also called processes, here illustrated by task 122 and task 124. Task 122 is shown containing the iconic programming process including the line probe of the present invention.
FIG. 2 shows a simple prior art iconic network program that will be used to illustrate the line probe of the present invention. This simple iconic network is for illustration purposes only. The line probe of the present invention can be used with any iconic network, however complicated that network might be. Referring now to FIG. 2, an iconic network 200 is shown displayed on a graphical display 202. The graphical display 202 represents the output of the graphics display 108 (FIG. 1). The iconic network 200 contains an icon 204 which is used to input a real number into an iconic network program. In the example icon 204, the real number being input is the number 454. The real number is output by the icon 204 via an output terminal 206. The output terminal 206 is connected to an input terminal 210 of a formula icon 212. The connection between the output terminal 206 of icon 204 and the input terminal 210 of icon 212 is made with a connecting line 208.
The formula icon 212 will process data received on the input 210 using a formula shown in the box 213. In this example, the formula multiplies the input terminal by 2 and adds 3 to the result. This is by way of example only since any arbitrary formula, however complex, could be used in the formula icon 212. The number arrived at by applying the formula in the box 213 to the input data 210 is placed on the output 214, which is named the "result". The output 214 is connected by a connecting line 216 to an input terminal 218 of an alphanumeric display icon 220. The alphanumeric display icon 220 displays the input that it receives on input 218 in a box 222.
The line probe of the present invention can dynamically display the data on any of the input or output terminals of any of the icons, or any of the connecting lines. For example, the line probe could be used to display data on output terminal 206, line 208, input terminal 210, output terminal 214, line 216, or input terminal 218. As will be described below, the user of the system may choose any of these terminals or lines to display when the user activates the line probe.
FIG. 3 shows the iconic network of FIG. 2 with the addition of the line probe display of the present invention. Referring now to FIG. 3, the iconic network of FIG. 2 including the real icon 204, formula icon 212, and alphanumeric icon 220 is shown. In FIG. 3, the user of the system has requested that the line probe of the present invention display data on the connecting line 216. This data is displayed in a new icon 302 which displays signal information for the connecting line 216. The icon 302, also called a dialog box, has a title 303 called signal information and shows three types of signal attributes. Box 304 displays the type of data that was present on the connecting line 206. In this case the data type is a real number. Box 306 shows the shape of the data present on the connecting line 216, in this case the shape is scalar, that is, the data is a single value as opposed to an array of information. Box 308 shows the value of the data, in this case the numeric value "911". The "OK" box 310, is used when the user of the system desires to stop the line probe. When the user wishes to stop the line probe and continue processing of the iconic network, they move the mouse to position the mouse sprite over the "OK" box 310 and press or "click" the mouse button. When the system detects the mouse click with the sprite located over the box 310, the system erases the dialog box 302 and discontinues the line probe.
FIG. 4 shows the iconic network of FIG. 2 and further shows a dialog box with the line probe function being used to display information about an input terminal. Referring now to FIG. 4, the iconic network is shown including the real icon 204, the formula icon 212, and the alphanumeric icon 220. In FIG. 4 the user has requested that the line probe display information about the terminal 210 of the formula icon 212. The information about the input terminal 210 is shown in a dialog box 402. The title 404 indicates that the dialog box is displaying input terminal information. Within the dialog box 402 are three boxes that display signal attributes. Box 406 displays the data type being input to the icon 212 which, in this case, is a real number. Box 408 indicates that the shape of the data is scalar, and box 410 indicates that the value of the data is the real number "454".
Because the line probe has been used to display information about a terminal to an icon, the dialog box 404 displays an additional set of information called constraints. Within the constraints information, box 412 displays the name of the input terminal, in this case the single letter "A". As also illustrated in FIG. 2, the name of the terminal was used in the formula to 213. Box 414 illustrates that the type of data that this terminal will accept is any type. Box 416 shows that the shape of the data that this terminal will accept is any shape, and box 418 indicates that the mode for this terminal is a data mode, as opposed to a control mode terminal. Box 420 is used by the user of the system when they wish to terminate the display of the line probe information. The cancel box 422 allows the user to cancel any changes made to the input constraint fields or the data.
FIG. 5 shows the iconic network of FIG. 2 and further illustrates the use of the line probe to display information about an output terminal. Referring now to FIG. 5, the iconic network of FIG. 2 including the real icon 204, the formula icon 212, and the alphanumeric icon 220 is shown. Also shown is a dialog box 502 which is used by the line probe to display data about the output terminal 214 of the formula icon 212. The title 504 of the dialog box 502 illustrates that this is the line probe display of output terminal information. Part of the display includes signal attributes. Under the signal attributes, the type box 506 illustrates that the output data is a real number, and the shape box 508 illustrates that the output data is a scalar. The data box 510 shows that the value of the output data is 911. Because the line probe is displaying an output terminal, additional information entitled constraints is shown. Under constraints the name box 512 shows that the name of the output terminal is "Result", and box 514 shows that the mode of the output is data, as opposed to control. The "OK" box 516 is used by the user to discontinue the line probe display, and the cancel box 518 allows the user to cancel any changes made to the input constraint fields or the data.
FIG. 6 shows a flow chart of the system including processing of the line probe display. Referring now to FIG. 6, when the system is started block 602 starts the processing of the iconic network. Block 604 then determines whether mouse input has occurred and if not transfers control to block 606 which determines whether keyboard input has occurred. If either mouse or keyboard input has occurred, control transfers to block 608 which determines whether a line probe has been requested. A line probe is simply a menu item displayed on the screen along with the iconic network, and to request a line probe the user simply moves the mouse sprite to this menu item and clicks the mouse. If no input has occurred, or if the request is not for a line probe, control transfers to block 610 which processes part of the network and then returns block 602. Other aspects of the network processing are not shown in order to simplify the description of the invention. This loop continues until the user requests a line probe at which time control transfers to block 612.
Block 612 displays a request to the user asking them to select a line or terminal for the line probe to display. Block 614 then determines whether the user has selected a line or a terminal, and if not control simply returns to block 602 to continue the loop. If the user selects a line or terminal for display by the line probe, control transfers to block 616 which queries the object selected by the user to obtain information about the object. In an object oriented system, such as the iconic network of the present invention, icons, lines, terminals, and other items are defined as "objects", which have procedures and data within them. Therefore, an object can be "queried" by calling one of its procedures and asking that procedure to return data. Block 616 queries the object selected by the user, and asks it to return data describing the information to be displayed by the line probe. Block 618 then calls the windowing system to establish a new dialog box. In particular, during the establishment of the new dialog box, the windowing system will be instructed to call FIG. 7 to display information within the dialog box and to process input by the user into the dialog box. Several windowing systems exist that could be used by the present invention. For example, the X window system within the Unix operating system could be used. Unix is a registered trademark of AT&T. Microsoft Windows could also be used with the present invention. Microsoft and Windows are trademarks of Microsoft Corporation. The details of using specific windowing systems are well known to those skilled in the art.
After calling the windowing system to establish the dialog box, block 620 waits for the windowing system to return after the user has clicked the mouse on the "OK" button within the dialog box. After the user clicks the "OK" button, block 622 again calls the windowing system to remove the connection to FIG. 7. The dialog box will be erased by FIG. 7, as described below, but the windowing system needs to be called to remove the access to FIG. 7 after the user has completed observing the display. After calling the windowing system to remove the dialog box, block 622 returns to block 602 to wait for the user to input additional information.
FIG. 7 shows a flow chart of the process of creating and processing information within a dialog box. FIG. 7 will be called at least twice by the windowing system, after the box has been set up by FIG. 6. The first call to FIG. 7 will be to display the dialog box on the screen, and the second and possibly subsequent calls will be called whenever the user uses the mouse to click on one of the boxes within the dialog box, or attempts to input information to the dialog box. The windowing system may call FIG. 7 at any time to re-display the dialog box on the screen, if some other event within the windowing system has obscured the dialog box. Referring now to FIG. 7, after entry, block 702 determines whether this call is for display or re-display. If the call is for display, block 702 transfers to block 704 which determines whether the line probe has been requested to probe a line. If the line probe has been requested to probe a line, block 704 transfers to block 712, which will be described below. If the probe is not for a line, block 704 transfers to block 706 which determines whether the probe is for an input terminal. If the probe is for an input terminal, block 706 transfers to block 724 which calls the window system to display a box for the name of the terminal. This call will display the name information, such as box 412 of FIG. 4. After displaying the name, block 726 calls the windowing system to display a box for the type information, such as type box 414 of FIG. 4. Block 728 calls the windowing system to display a box and the shape information, such as the shape box 416 of FIG. 4. Block 730 calls the windowing system to display a box and the data for the mode, such as box 418 of FIG. 4. Block 730 then transfers to block 712, which will be described below.
If block 706 determines that the probe is not for an input terminal, it assumes the probe is for an output terminal and transfers to block 708. Block 708 calls the windowing system to display a box and data for the name, such as the name box 512 of FIG. 5. Block 710 calls the windowing system to display the box for the mode information, such as mode box 514 of FIG. 5. Control then transfers to block 712 to display the signal attributes information, which is the same for all three types of line probe displays. Block 712 calls the windowing system to display the type information, such as type box 304 of FIG. 3. Block 714 calls the windowing system to display a box and the data for the shape information, such as shape box 306 of FIG. 3. Block 716 calls the windowing system to display a box and the data for the line or terminal, such as data box 308 of FIG. 3. Block 718 calls the windowing system to display the "OK" box, such as "OK" box 310 of FIG. 3. This call also tells the windowing system to allow the user to click on this box and return control to FIG. 7 when the user performs the click.
If the call is not for display, block 702 transfers to block 720 which determines whether the user has clicked the mouse on the "OK" button. If the user has not clicked the mouse on the "OK" button, block 720 simply returns and ignores the user input. In the line probe, the only input allowed by the user is to terminate the probe by clicking on the "OK" box. If the user has clicked on the "OK" box, block 720 transfers to block 722 which calls the windowing system to erase the dialog box from the screen. FIG. 7 then returns to the windowing system, which will return to FIG. 6, block 622 if the user has clicked the "OK" box.
Although not shown in the Figures, the line probe may also allow a user to modify the information displayed. In this manner, the data output from an icon may be displayed and modified, therefore sending modified data to the next icon. This is particularly useful in debugging an iconic network.
A user may have a requirement to limit the values of data output or input by an icon. For example, an icon may expect a real number which a user wants to limit to between the values of 1 and 100. This might occur, for example, in an iconic program in which an operator of the system is allowed to enter the value of the temperature for an operation. The iconic programming system allows limits to be placed on data values. The line probe allows a user to display and change these limits.
A user may also have a requirement to map data values over a range. For example, the user may be taking readings, from a voltmeter, of the voltage coming from a source, and the user wants to see how the voltage readings change as the room temperature changes. Over the span of the readings, the room temperature may change, for example, from 40 degrees to 50 degrees, however, voltage and temperature readings are not taken together so there is no correspondence between the readings. The iconic programming system can map the voltage readings to the temperature readings by allowing the user to enter a formula or other means to cause the mapping. For example, the user could enter a method of linearly mapping the voltage to the temperatures such that the first voltage reading would be mapped to 40 degrees, and the last voltage reading would be mapped to 50 degrees. The readings in between the first and last would be mapped to successive temperatures approximately one-thirtieth of a degree apart, using a linear equation. In this manner, each voltage reading would be mapped to an element of a two by 300 matrix, with each element having a voltage and a temperature. The line probe allows the user to display and change the mappings of data.
Having thus described a presently preferred embodiment of the present invention, it will now be appreciated that the aspects of the invention have been fully achieved, and it will be understood by those skilled in the art that many changes in construction and widely differing embodiments and applications of the invention will suggest themselves without departing from the spirit and scope of the present invention. The disclosures and the description herein are intended to be illustrative and are not in any sense limiting of the invention, more preferably defined in scope by the following claims.

Claims (12)

What is claimed is:
1. In an iconic programming system process within a computer system, wherein said process performs functions defined within an iconic program containing two or more connected graphical objects, a computer implemented method for displaying information describing data contained within or data assigned to said two or more graphical objects of said process, said computer implemented method comprising the steps of:
(a) accepting a display request to display data contained within or assigned to a graphical object;
(a1) when said iconic programming system process is performing said iconic program at a time said display request is accepted, stopping said performing of said iconic program after accepting said display request;
(b) programmatically obtaining data type information and data from the graphical object requested in step (a);
(c) displaying said data type information and said data in a dialog box of said iconic programming system process;
(d) accepting a terminate request to discontinue displaying said data type information and said data; and
(e) removing said dialog box;
(e1) continuing said performing of said iconic program after removing said dialog box.
2. The computer implemented method of claim 1 wherein step (a) further comprises the step of accepting a request to display data contained within a connecting line that connects at least two graphical objects.
3. The computer implemented method of claim 2 wherein step (c) further comprises the step of:
(c1) displaying, within said dialog box, a shape of said data contained within said connecting line object.
4. The computer implemented method of claim 3 wherein step (c) further comprising the steps of:
(c2) displaying data mappings applied to said data contained within said connecting line object; and
(c3) displaying data limits for said data contained within said connecting line object.
5. The computer implemented method of claim 1 wherein step (a) further comprises the step of accepting a request to display data assigned to or data contained within an icon terminal object, wherein said icon terminal object is located at an end of a connecting line that connects at least two graphical objects.
6. The computer implemented method of claim 5 wherein step (c) further comprises the steps of:
(c1) displaying a shape of said data contained within said icon output terminal object;
(c2) displaying a name of said icon output terminal object; and
(c3) displaying a mode of said icon output terminal object, wherein said mode comprises a data mode or a control mode.
7. The computer implemented method of claim 6 wherein step (c) further comprises the steps of:
(c4) displaying data mappings applied to said data contained within said icon output terminal object; and
(c5) displaying data limits for said data contained within said icon output terminal object.
8. The computer implemented method of claim 1 wherein step (c) further comprises the step of:
(c1) accepting input data from an input device attached to the iconic programming system process and
(c2) using said input data to modify said data assigned to or contained within said graphical object, wherein said input data may insert or delete characters within said data assigned to or contained within said graphical object.
9. In an iconic programming system process within a computer system, wherein said process performs functions defined within an iconic program containing two or more connected graphical objects, a computer implemented method for displaying data contained within at least one connecting line that connects at least two graphical objects, or data assigned to an icon terminal object of said process, wherein said icon terminal object is located at an end of a connecting line that connects two or more graphical objects, or data contained within said icon terminal object of said process, said computer implemented method comprising the steps of:
(a) accepting a display request to display data contained within a connecting line or data assigned to data contained within an icon terminal object;
(a1) when said iconic programming system process is performing said iconic program at a time said display request is accepted, stopping said performing of said iconic program after accepting said display request;
(b) programmatically obtaining said data from the connecting line object or the icon terminal object requested in step (a); and
(c) displaying said data in a dialog box of said iconic programming system process.
10. The computer implemented method of claim 9 further comprising the steps of:
(d) accepting a terminate request to discontinue displaying said data;
(e) removing said dialog box; and
(f) continuing said performing of said iconic program.
11. The computer implemented method of claim 9 wherein step (c) further comprises the steps of
(c1) displaying a data type of said data contained within said connecting line or said type of said data assigned to or contained within said icon terminal object;
(c2) displaying a shape of data contained within said connecting line or displaying a shape of data contained within or assigned to said icon terminal object.
12. The computer implemented method of claim 11 further comprising the steps of:
(c3) displaying data mappings of data contained within said connecting line or data assigned to or contained within said icon terminal object; and
(c4) displaying data limits of data contained within said connecting line or data assigned to or contained within said icon terminal object.
US08/149,154 1991-02-28 1993-11-08 Line probe diagnostic display in an iconic programming system Expired - Lifetime US5377318A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US08/149,154 US5377318A (en) 1991-02-28 1993-11-08 Line probe diagnostic display in an iconic programming system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US66193691A 1991-02-28 1991-02-28
US08/149,154 US5377318A (en) 1991-02-28 1993-11-08 Line probe diagnostic display in an iconic programming system

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US66193691A Continuation 1991-02-28 1991-02-28

Publications (1)

Publication Number Publication Date
US5377318A true US5377318A (en) 1994-12-27

Family

ID=24655715

Family Applications (1)

Application Number Title Priority Date Filing Date
US08/149,154 Expired - Lifetime US5377318A (en) 1991-02-28 1993-11-08 Line probe diagnostic display in an iconic programming system

Country Status (1)

Country Link
US (1) US5377318A (en)

Cited By (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5437007A (en) * 1992-11-10 1995-07-25 Hewlett-Packard Company Control sequencer in an iconic programming system
US5481668A (en) * 1992-06-09 1996-01-02 Bull S.A. System for designing information control networks for modeling all kinds of processes
US5490246A (en) * 1991-08-13 1996-02-06 Xerox Corporation Image generator using a graphical flow diagram with automatic generation of output windows
US5497500A (en) * 1986-04-14 1996-03-05 National Instruments Corporation Method and apparatus for more efficient function synchronization in a data flow program
US5537630A (en) * 1994-12-05 1996-07-16 International Business Machines Corporation Method and system for specifying method parameters in a visual programming system
US5594657A (en) * 1993-09-27 1997-01-14 Lucent Technologies Inc. System for synthesizing field programmable gate array implementations from high level circuit descriptions
US5630081A (en) * 1995-09-07 1997-05-13 Puma Technology, Inc. Connection resource manager displaying link-status information using a traffic light iconic representation
US5671378A (en) * 1995-03-31 1997-09-23 International Business Machines Corporation Method and system for sizing of graphical user interface objects for localization
US5682487A (en) * 1994-06-10 1997-10-28 Bay Networks, Inc. Method and apparatus providing resizable views
US5734863A (en) * 1986-04-14 1998-03-31 National Instruments Corporation Method and apparatus for providing improved type compatibility and data structure organization in a graphical data flow diagram
US5808612A (en) * 1996-01-12 1998-09-15 International Business Machines Corporation Virtual office with connections between source data machine, and a viewer objects
US5874952A (en) * 1995-04-07 1999-02-23 Sony Corporation Method and apparatus for improved graphical user interface with function icons
US5990891A (en) * 1996-11-25 1999-11-23 Kabushiki Kaisha Toshiba Apparatus and method for transmitting an attribute value between items by a user's operation
US6016143A (en) * 1995-12-29 2000-01-18 Hewlett Packard Company Multi-device direct I/O object that generates transactions capable of controlling multiple instruments and transaction dialog boxes having device and address fields
US6026233A (en) * 1997-05-27 2000-02-15 Microsoft Corporation Method and apparatus for presenting and selecting options to modify a programming language statement
US6064409A (en) * 1993-09-22 2000-05-16 National Instruments Corporation System and method for providing audio probe and debugging features in a graphical data flow program
DE19942315A1 (en) * 1999-09-04 2001-05-17 Gfs Systemtechnik Gmbh & Co Kg Process for the configuration and parameterization of a computer program for the operation of a plant for process data processing
US6331864B1 (en) 1997-09-23 2001-12-18 Onadime, Inc. Real-time multimedia visual programming system
US6366581B1 (en) 1997-04-02 2002-04-02 Fujitsu Network Communications, Inc. Method and apparatus for generating permanent virtual connections using graphical user interface
US6414699B1 (en) * 1995-05-18 2002-07-02 Sun Microsystems, Inc. Message box facility for graphical user interface for computer system video display
US20020100016A1 (en) * 2000-06-02 2002-07-25 Sun Microsystems, Inc. Interactive software engineering tool with support for embedded lexical contexts
US20020196282A1 (en) * 2001-06-20 2002-12-26 Washington Jeffrey D. Collector node for a graphical program
US20020199025A1 (en) * 2001-02-23 2002-12-26 Altoweb, Inc. System and method to create an application and to manipulate application components within the application
US20030046663A1 (en) * 2001-08-14 2003-03-06 Rogers Steven W. System and method for analyzing a graphical program using debugging graphical programs
US20030066058A1 (en) * 2001-10-01 2003-04-03 Sun Microsystems, Inc. Language-sensitive whitespace adjustment in a software engineering tool
US6584601B1 (en) 2000-02-07 2003-06-24 National Instruments Corporation System and method for converting graphical programs into hardware implementations which utilize probe insertion
US20030196187A1 (en) * 1997-08-18 2003-10-16 National Instruments Corporation Specifying and targeting portions of a graphical program for real-time execution on an embedded processor
US20040003373A1 (en) * 2002-06-28 2004-01-01 Van De Vanter Michael L. Token-oriented representation of program code with support for textual editing thereof
US20040031019A1 (en) * 2002-05-20 2004-02-12 Richard Lamanna Debugger for a graphical programming environment
US20040158812A1 (en) * 1999-08-19 2004-08-12 National Instruments Corporation Graphical programming system with block diagram execution and distributed user interface display
US20040225997A1 (en) * 2003-05-06 2004-11-11 Sun Microsystems, Inc. Efficient computation of line information in a token-oriented representation of program code
US20040225998A1 (en) * 2003-05-06 2004-11-11 Sun Microsystems, Inc. Undo/Redo technique with computed of line information in a token-oriented representation of program code
US20040261034A1 (en) * 2001-08-08 2004-12-23 Siemens Aktiengesellschaft Method for automatically creating at least one dialog box on an operator interface of a computer user station
US20050028138A1 (en) * 2003-07-28 2005-02-03 Case Jason B. Programmatically determining calling information of a graphical program
US20050066285A1 (en) * 2003-08-13 2005-03-24 Santori Michael L. Creating a graphical user interface for selected parameters of a graphical program
US20050212802A1 (en) * 2004-03-09 2005-09-29 Yamaha Corporation Apparatus for displaying formation of network
US20060228654A1 (en) * 2005-04-07 2006-10-12 International Business Machines Corporation Solution builder wizard
US20080104525A1 (en) * 2006-10-31 2008-05-01 Agilent Technologies, Inc. Modeless Watch Window in an Iconic Programming System
US7386834B2 (en) 2002-06-28 2008-06-10 Sun Microsystems, Inc. Undo/redo technique for token-oriented representation of program code
US20080263521A1 (en) * 2007-04-20 2008-10-23 Neumann Nicholas G Debugging a Statechart Using a Graphical Program
US20090193396A1 (en) * 2008-01-30 2009-07-30 Toga Hartadinata Debugging a Statechart for a Real Time Target
US20090276721A1 (en) * 2008-04-23 2009-11-05 Ian Bowman Brockbank Method and apparatus for configuring a device
US7770151B2 (en) 2005-04-07 2010-08-03 International Business Machines Corporation Automatic generation of solution deployment descriptors
US7797678B2 (en) 2005-04-07 2010-09-14 International Business Machines Corporation Automatic generation of license package for solution components

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4315315A (en) * 1971-03-09 1982-02-09 The Johns Hopkins University Graphical automatic programming
US4455619A (en) * 1980-05-30 1984-06-19 Hitachi, Ltd. Interactive equipment for computer programming by linkage of labeled block representations of arithmetic/logical subprograms
US4546435A (en) * 1980-06-24 1985-10-08 Herbert Frank P Graphic computer system and keyboard
US4812996A (en) * 1986-11-26 1989-03-14 Tektronix, Inc. Signal viewing instrumentation control system
US4813013A (en) * 1984-03-01 1989-03-14 The Cadware Group, Ltd. Schematic diagram generating system using library of general purpose interactively selectable graphic primitives to create special applications icons
US4901221A (en) * 1986-04-14 1990-02-13 National Instruments, Inc. Graphical system for modelling a process and associated method
US4914568A (en) * 1986-10-24 1990-04-03 National Instruments, Inc. Graphical system for modelling a process and associated method
US4956773A (en) * 1984-01-30 1990-09-11 Hitachi, Ltd. System and method of generating a source program from inputted schematic information
US4984152A (en) * 1987-10-06 1991-01-08 Bell Communications Research, Inc. System for controlling computer processing utilizing a multifunctional cursor with decoupling of pointer and image functionalities in space and time
US5040131A (en) * 1987-12-23 1991-08-13 International Business Machines Corporation Graphical processing

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4315315A (en) * 1971-03-09 1982-02-09 The Johns Hopkins University Graphical automatic programming
US4455619A (en) * 1980-05-30 1984-06-19 Hitachi, Ltd. Interactive equipment for computer programming by linkage of labeled block representations of arithmetic/logical subprograms
US4546435A (en) * 1980-06-24 1985-10-08 Herbert Frank P Graphic computer system and keyboard
US4956773A (en) * 1984-01-30 1990-09-11 Hitachi, Ltd. System and method of generating a source program from inputted schematic information
US4813013A (en) * 1984-03-01 1989-03-14 The Cadware Group, Ltd. Schematic diagram generating system using library of general purpose interactively selectable graphic primitives to create special applications icons
US4901221A (en) * 1986-04-14 1990-02-13 National Instruments, Inc. Graphical system for modelling a process and associated method
US4914568A (en) * 1986-10-24 1990-04-03 National Instruments, Inc. Graphical system for modelling a process and associated method
US4812996A (en) * 1986-11-26 1989-03-14 Tektronix, Inc. Signal viewing instrumentation control system
US4984152A (en) * 1987-10-06 1991-01-08 Bell Communications Research, Inc. System for controlling computer processing utilizing a multifunctional cursor with decoupling of pointer and image functionalities in space and time
US5040131A (en) * 1987-12-23 1991-08-13 International Business Machines Corporation Graphical processing

Non-Patent Citations (23)

* Cited by examiner, † Cited by third party
Title
An Instrument That Isn t Really, Michael Santori, IEEE Spectrum, Aug. 1990, pp. 36 39. *
An Instrument That Isn't Really, Michael Santori, IEEE Spectrum, Aug. 1990, pp. 36-39.
Borg, "Visual Programming and VNIX", IEEE, 1989, pp. 74-79.
Borg, Visual Programming and VNIX , IEEE, 1989, pp. 74 79. *
Chang, "Visual Languages: A Tutorial and Survey", IEEE Software, Jan. 1987, pp. 29-39.
Chang, Visual Languages: A Tutorial and Survey , IEEE Software, Jan. 1987, pp. 29 39. *
Edel, "The Tinkertoy Graphical Programming Environment", Compsac '86, Oct. 1986, pp. 1110-1115.
Edel, The Tinkertoy Graphical Programming Environment , Compsac 86, Oct. 1986, pp. 1110 1115. *
Labview Product Description, National Instruments Corp., Austin, Texas, 1987. *
Labview: Laboratory Virtual Instrument Engineering Workbench, G. Vose and G. Williams, BYTE Magazine, Sep. 1986, pp. 84 92. *
Labview: Laboratory Virtual Instrument Engineering Workbench, G. Vose and G. Williams, BYTE Magazine, Sep. 1986, pp. 84-92.
Mosley, "LabView Upgrade Reduces Execution Time and Enhances Editing and Graphics Controls", EDN, Sep. 15, 1988, p. 134.
Mosley, LabView Upgrade Reduces Execution Time and Enhances Editing and Graphics Controls , EDN, Sep. 15, 1988, p. 134. *
Myers et al, "Automatic Data Visualization for Novice Pascal Programmers", IEEE, 1988, pp. 192-198.
Myers et al, Automatic Data Visualization for Novice Pascal Programmers , IEEE, 1988, pp. 192 198. *
Programming With Pictures, Jeff Kodosky and Bob Dye, Computer Language Magazine, Jan. 1989, pp. 61 69. *
Programming With Pictures, Jeff Kodosky and Bob Dye, Computer Language Magazine, Jan. 1989, pp. 61-69.
Roberts et al, "The Design View", IEEE, 1988, pp. 213-220.
Roberts et al, The Design View , IEEE, 1988, pp. 213 220. *
Shimomura et al., "VIPS", IEEE, 1990, pp. 530-537.
Shimomura et al., VIPS , IEEE, 1990, pp. 530 537. *
Strassberg, "Icon-Based Instrument-Control Software Works with PC Bus Data-Acquisition Boards", Jan. 1990, EDN, p. 81.
Strassberg, Icon Based Instrument Control Software Works with PC Bus Data Acquisition Boards , Jan. 1990, EDN, p. 81. *

Cited By (71)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5497500A (en) * 1986-04-14 1996-03-05 National Instruments Corporation Method and apparatus for more efficient function synchronization in a data flow program
US5734863A (en) * 1986-04-14 1998-03-31 National Instruments Corporation Method and apparatus for providing improved type compatibility and data structure organization in a graphical data flow diagram
US5490246A (en) * 1991-08-13 1996-02-06 Xerox Corporation Image generator using a graphical flow diagram with automatic generation of output windows
US5481668A (en) * 1992-06-09 1996-01-02 Bull S.A. System for designing information control networks for modeling all kinds of processes
US5437007A (en) * 1992-11-10 1995-07-25 Hewlett-Packard Company Control sequencer in an iconic programming system
US6064409A (en) * 1993-09-22 2000-05-16 National Instruments Corporation System and method for providing audio probe and debugging features in a graphical data flow program
US5594657A (en) * 1993-09-27 1997-01-14 Lucent Technologies Inc. System for synthesizing field programmable gate array implementations from high level circuit descriptions
US5682487A (en) * 1994-06-10 1997-10-28 Bay Networks, Inc. Method and apparatus providing resizable views
US5537630A (en) * 1994-12-05 1996-07-16 International Business Machines Corporation Method and system for specifying method parameters in a visual programming system
US5671378A (en) * 1995-03-31 1997-09-23 International Business Machines Corporation Method and system for sizing of graphical user interface objects for localization
US5874952A (en) * 1995-04-07 1999-02-23 Sony Corporation Method and apparatus for improved graphical user interface with function icons
US6414699B1 (en) * 1995-05-18 2002-07-02 Sun Microsystems, Inc. Message box facility for graphical user interface for computer system video display
US5630081A (en) * 1995-09-07 1997-05-13 Puma Technology, Inc. Connection resource manager displaying link-status information using a traffic light iconic representation
US6016143A (en) * 1995-12-29 2000-01-18 Hewlett Packard Company Multi-device direct I/O object that generates transactions capable of controlling multiple instruments and transaction dialog boxes having device and address fields
US5808612A (en) * 1996-01-12 1998-09-15 International Business Machines Corporation Virtual office with connections between source data machine, and a viewer objects
US5990891A (en) * 1996-11-25 1999-11-23 Kabushiki Kaisha Toshiba Apparatus and method for transmitting an attribute value between items by a user's operation
US6366581B1 (en) 1997-04-02 2002-04-02 Fujitsu Network Communications, Inc. Method and apparatus for generating permanent virtual connections using graphical user interface
US6026233A (en) * 1997-05-27 2000-02-15 Microsoft Corporation Method and apparatus for presenting and selecting options to modify a programming language statement
US6311323B1 (en) * 1997-05-27 2001-10-30 Microsoft Corporation Computer programming language statement building and information tool
US20020095658A1 (en) * 1997-05-27 2002-07-18 Microsoft Corporation Computer programming language statement building and information tool
US7814461B2 (en) 1997-05-27 2010-10-12 Microsoft Corporation Computer programming language statement building and information tool
US7322023B2 (en) 1997-05-27 2008-01-22 Microsoft Corporation Computer programming language statement building and information tool with non obstructing passive assist window
US20070006142A1 (en) * 1997-05-27 2007-01-04 Microsoft Corporation Computer programming language statement building and information tool
US6715139B1 (en) 1997-08-18 2004-03-30 National Instruments Corporation System and method for providing and displaying debugging information of a graphical program on a first computer during execution of the graphical program on a second computer
US6802053B1 (en) 1997-08-18 2004-10-05 National Instruments Corporation Graphical programming system with distributed block diagram execution and front panel display
US20030196187A1 (en) * 1997-08-18 2003-10-16 National Instruments Corporation Specifying and targeting portions of a graphical program for real-time execution on an embedded processor
US6331864B1 (en) 1997-09-23 2001-12-18 Onadime, Inc. Real-time multimedia visual programming system
US6944825B2 (en) 1997-09-23 2005-09-13 Onadime, Inc. Real-time multimedia visual programming system
US20060010384A1 (en) * 1997-09-23 2006-01-12 Onadime, Inc. Real-time multimedia visual programming system
US8533670B2 (en) 1999-08-19 2013-09-10 National Instruments Corporation Graphical programming system with block diagram execution and distributed user interface display
US20090024981A1 (en) * 1999-08-19 2009-01-22 Dye Robert E Graphical Program Execution with Distributed Block Diagram Display
US8074203B2 (en) 1999-08-19 2011-12-06 National Instruments Corporation Graphical program execution with distributed block diagram display
US20040158812A1 (en) * 1999-08-19 2004-08-12 National Instruments Corporation Graphical programming system with block diagram execution and distributed user interface display
US6784902B1 (en) 1999-09-04 2004-08-31 National Instruments Corporation Method for configuration and parameterization of a graphical computer program for the operation of a data processing system
DE19942315A1 (en) * 1999-09-04 2001-05-17 Gfs Systemtechnik Gmbh & Co Kg Process for the configuration and parameterization of a computer program for the operation of a plant for process data processing
US6584601B1 (en) 2000-02-07 2003-06-24 National Instruments Corporation System and method for converting graphical programs into hardware implementations which utilize probe insertion
US20020100016A1 (en) * 2000-06-02 2002-07-25 Sun Microsystems, Inc. Interactive software engineering tool with support for embedded lexical contexts
US7127704B2 (en) * 2000-06-02 2006-10-24 Sun Microsystems, Inc. Interactive software engineering tool with support for embedded lexical contexts
US20020199025A1 (en) * 2001-02-23 2002-12-26 Altoweb, Inc. System and method to create an application and to manipulate application components within the application
US8185835B2 (en) * 2001-06-20 2012-05-22 National Instruments Corporation Collector node for a graphical program
US20020196282A1 (en) * 2001-06-20 2002-12-26 Washington Jeffrey D. Collector node for a graphical program
US20090228864A1 (en) * 2001-06-20 2009-09-10 Washington Jeffrey D Collector Node for a Graphical Program
US20040261034A1 (en) * 2001-08-08 2004-12-23 Siemens Aktiengesellschaft Method for automatically creating at least one dialog box on an operator interface of a computer user station
US7613998B2 (en) * 2001-08-08 2009-11-03 Siemens Aktiengesellschaft Method for automatically creating at least one dialog box on an operator interface of a computer user station
US7302675B2 (en) 2001-08-14 2007-11-27 National Instruments Corporation System and method for analyzing a graphical program using debugging graphical programs
US20030046663A1 (en) * 2001-08-14 2003-03-06 Rogers Steven W. System and method for analyzing a graphical program using debugging graphical programs
US7117479B2 (en) 2001-10-01 2006-10-03 Sun Microsystems, Inc. Language-sensitive whitespace adjustment in a software engineering tool
US20030066058A1 (en) * 2001-10-01 2003-04-03 Sun Microsystems, Inc. Language-sensitive whitespace adjustment in a software engineering tool
US20040031019A1 (en) * 2002-05-20 2004-02-12 Richard Lamanna Debugger for a graphical programming environment
US7386834B2 (en) 2002-06-28 2008-06-10 Sun Microsystems, Inc. Undo/redo technique for token-oriented representation of program code
US20040003373A1 (en) * 2002-06-28 2004-01-01 Van De Vanter Michael L. Token-oriented representation of program code with support for textual editing thereof
US20040225997A1 (en) * 2003-05-06 2004-11-11 Sun Microsystems, Inc. Efficient computation of line information in a token-oriented representation of program code
US20040225998A1 (en) * 2003-05-06 2004-11-11 Sun Microsystems, Inc. Undo/Redo technique with computed of line information in a token-oriented representation of program code
US20050028138A1 (en) * 2003-07-28 2005-02-03 Case Jason B. Programmatically determining calling information of a graphical program
US7979841B2 (en) * 2003-07-28 2011-07-12 National Instruments Corporation Programmatically determining calling information of a graphical program
US20050066285A1 (en) * 2003-08-13 2005-03-24 Santori Michael L. Creating a graphical user interface for selected parameters of a graphical program
US7533347B2 (en) * 2003-08-13 2009-05-12 National Instruments Corporation Creating a graphical user interface for selected parameters of a graphical program
US8161390B2 (en) * 2004-03-09 2012-04-17 Yamaha Corporation Apparatus for displaying formation of network
US20050212802A1 (en) * 2004-03-09 2005-09-29 Yamaha Corporation Apparatus for displaying formation of network
US7496888B2 (en) * 2005-04-07 2009-02-24 International Business Machines Corporation Solution builder wizard
US7770151B2 (en) 2005-04-07 2010-08-03 International Business Machines Corporation Automatic generation of solution deployment descriptors
US7797678B2 (en) 2005-04-07 2010-09-14 International Business Machines Corporation Automatic generation of license package for solution components
US20060228654A1 (en) * 2005-04-07 2006-10-12 International Business Machines Corporation Solution builder wizard
US20080104525A1 (en) * 2006-10-31 2008-05-01 Agilent Technologies, Inc. Modeless Watch Window in an Iconic Programming System
US20080263521A1 (en) * 2007-04-20 2008-10-23 Neumann Nicholas G Debugging a Statechart Using a Graphical Program
US8640100B2 (en) 2007-04-20 2014-01-28 National Instruments Corporation Debugging a statechart using a graphical program
US20090193396A1 (en) * 2008-01-30 2009-07-30 Toga Hartadinata Debugging a Statechart for a Real Time Target
US8458667B2 (en) 2008-01-30 2013-06-04 National Instruments Corporation Debugging a statechart for a real time target
GB2462997B (en) * 2008-04-23 2010-09-08 Wolfson Microelectronics Plc Method and apparatus for configuring a device
GB2462997A (en) * 2008-04-23 2010-03-03 Wolfson Microelectronics Plc Interactive block-diagram for configuration of electronic device
US20090276721A1 (en) * 2008-04-23 2009-11-05 Ian Bowman Brockbank Method and apparatus for configuring a device

Similar Documents

Publication Publication Date Title
US5377318A (en) Line probe diagnostic display in an iconic programming system
US5261043A (en) Input and output data constraints on iconic devices in an iconic programming system
US5325481A (en) Method for creating dynamic user panels in an iconic programming system
US5293476A (en) System for entering and modifying variable names for terminals of icons in an iconic programming system
EP0473414B1 (en) Image processing
US6684385B1 (en) Program object for use in generating application programs
US5437007A (en) Control sequencer in an iconic programming system
US7340721B1 (en) Program-development environment for use in generating application programs
US6425120B1 (en) Repeating program object for use with a graphical program-development system
US5450539A (en) Apparatus and method of dynamically displaying a graphic button on a monitor
US4823283A (en) Status driven menu system
US5588109A (en) User interface for a remote diagnostic device
US6072491A (en) Method and computer program product for accessing a web site
US20040031019A1 (en) Debugger for a graphical programming environment
US5574918A (en) Method and apparatus for configuring computer program from available subprograms
US6351766B1 (en) Front end navigator tool for automatically retrieving referenced URL links on distributed files for performing debugging, editing and browsing functions on distributed files
US5883626A (en) Docking and floating menu/tool bar
US5179655A (en) Multiwindow control method and apparatus for work station having multiwindow function
US5911075A (en) Query selection for a program development environment
EP0654735B1 (en) Apparatus and methods for analyzing a system of processes
US7007240B1 (en) Method and system for displaying non-overlapping program and auxiliary windows
US20080109785A1 (en) Graphical Program Having Graphical and/or Textual Specification of Event Handler Procedures for Program Objects
US5615346A (en) Method and system for a piano bar browser of information sets
EP1226477B1 (en) Improved interface for managing test definitions
JPH0574094B2 (en)

Legal Events

Date Code Title Description
STCF Information on status: patent grant

Free format text: PATENTED CASE

FEPP Fee payment procedure

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

FPAY Fee payment

Year of fee payment: 4

AS Assignment

Owner name: HEWLETT-PACKARD COMPANY, A DELAWARE CORPORATION, C

Free format text: MERGER;ASSIGNOR:HEWLETT-PACKARD COMPANY, A CALIFORNIA CORPORATION;REEL/FRAME:010841/0649

Effective date: 19980520

AS Assignment

Owner name: AGILENT TECHNOLOGIES INC, CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:HEWLETT-PACKARD COMPANY;REEL/FRAME:010977/0540

Effective date: 19991101

FPAY Fee payment

Year of fee payment: 8

REMI Maintenance fee reminder mailed
FPAY Fee payment

Year of fee payment: 12