Graphical program execution on a handheld computer -> Monitor Keywords
Fresh Patents
Monitor Patents Patent Organizer How to File a Provisional Patent Browse Inventors Browse Industry Browse Agents Browse Locations
     new ** File a Provisional Patent ** 
site info Site News  |  monitor Monitor Keywords  |  monitor archive Monitor Archive  |  organizer Organizer  |  account info Account Info  |  
04/26/07 | 80 views | #20070094642 | Prev - Next | USPTO Class 717 | About this Page  717 rss/xml feed  monitor keywords

Graphical program execution on a handheld computer

USPTO Application #: 20070094642
Title: Graphical program execution on a handheld computer
Abstract: A system and method for deploying one or more graphical programs on a personal digital assistant (PDA). One or more selected graphical programs may be programmatically converted to an executable format that can be executed by the portable computing device. For example, the graphical programs may be initially represented as a plurality of data structures that define or specify the operation of the respective graphical programs, and conversion software program may operate to access these data structures from memory and convert the data structures to an executable format suitable for the portable computing device. The executable may be transferred to the portable computing device for execution.
(end of abstract)
Agent: Jeffrey C. Hood Conley, Rose & Tayon, P.C. - Austin, TX, US
Inventors: Andrew Dove, Hugo Andrade, Darshan Shah
USPTO Applicaton #: 20070094642 - Class: 717124000 (USPTO)
Related Patent Categories: Data Processing: Software Development, Installation, And Management, Software Program Development Tool (e.g., Integrated Case Tool Or Stand-alone Development Tool), Testing Or Debugging
The Patent Description & Claims data below is from USPTO Patent Application 20070094642.
Brief Patent Description - Full Patent Description - Patent Application Claims  monitor keywords

CONTINUATION AND PRIORITY DATA

[0001] This application is a Continuation of U.S. application Ser. No. 10/989,849 titled "Graphical Program Execution On A Personal Digital Assistant" filed Nov. 15, 2004, whose inventors were Andrew Philip Dove, Hugo A. Andrade, and Darshan Shah, which is a Continuation of U.S. application Ser. No. 09/974,601 titled "System and Method for Deploying A Graphical Program to a handheld computer Device" filed Oct. 9, 2001, whose inventors were Andrew Philip Dove, Hugo A. Andrade, and Darshan Shah, and which claims benefit of priority of U.S. provisional application Ser. No. 60/312,133 titled "System and Method for Deploying A Graphical Program to a PDA Device" filed Aug. 14, 2001, whose inventor was Andrew Dove.

FIELD OF THE INVENTION

[0002] The present invention relates to the field of graphical programming, and more particularly to a system and method for executing a graphical program on a portable computing device, such as a personal digital assistant (PDA) device.

DESCRIPTION OF THE RELATED ART

[0003] Traditionally, high level text-based programming languages have been used by programmers in writing application programs. Many different high level programming languages exist, including BASIC, C, Java, FORTRAN, Pascal, COBOL, ADA, APL, etc. Programs written in these high level languages are translated to the machine language level by translators known as compilers or interpreters. The high level programming languages in this level, as well as the assembly language level, are referred to herein as text-based programming environments.

[0004] Increasingly, computers are required to be used and programmed by those who are not highly trained in computer programming techniques. When traditional text-based programming environments are used, the user's programming skills and ability to interact with the computer system often become a limiting factor in the achievement of optimal utilization of the computer system.

[0005] There are numerous subtle complexities which a user must master before he can efficiently program a computer system in a text-based environment. The task of programming a computer system to model or implement a process often is further complicated by the fact that a sequence of mathematical formulas, steps or other procedures customarily used to conceptually model a process often does not closely correspond to the traditional text-based programming techniques used to program a computer system to model such a process. In other words, the requirement that a user program in a text-based programming environment places a level of abstraction between the user's conceptualization of the solution and the implementation of a method that accomplishes this solution in a computer program. Thus, a user often must substantially master different skills in order to both conceptualize a problem or process and then to program a computer to implement a solution to the problem or process. Since a user often is not fully proficient in techniques for programming a computer system in a text-based environment to implement his solution, the efficiency with which the computer system can be utilized often is reduced.

[0006] Examples of fields in which computer systems are employed to interact with physical systems are the fields of instrumentation, process control, industrial automation, and simulation. Computer measurement and control of devices such as instruments or industrial automation hardware has become increasingly desirable in view of the increasing complexity and variety of instruments and devices available for use. However, due to the wide variety of possible testing and control situations and environments, and also the wide array of instruments or devices available, it is often necessary for a user to develop a custom program to control a desired system.

[0007] As discussed above, computer programs used to control such systems traditionally had to be written in text-based programming languages such as, for example, assembly language, C, FORTRAN, BASIC, etc. Traditional users of these systems, however, often were not highly trained in programming techniques and, in addition, text-based programming languages were not sufficiently intuitive to allow users to use these languages without training. Therefore, implementation of such systems frequently required the involvement of a programmer to write software for control and analysis of instrumentation or industrial automation data. Thus, development and maintenance of the software elements in these systems often proved to be difficult.

[0008] U.S. Pat. Nos. 4,901,221; 4,914,568; 5,291,587; 5,301,301; and 5,301,336; among others, to Kodosky et al disclose a graphical system and method for modeling a process, i.e., a graphical programming environment which enables a user to easily and intuitively model a process. The graphical programming environment disclosed in Kodosky et al can be considered a higher and more intuitive way in which to interact with a computer. A graphically based programming environment can be represented at a level above text-based high level programming languages such as C, Basic, Java, etc.

[0009] The method disclosed in Kodosky et al allows a user to construct a diagram using a block diagram editor. The block diagram may include a plurality of interconnected icons such that the diagram created graphically displays a procedure or method for accomplishing a certain result, such as manipulating one or more input variables and/or producing one or more output variables. In response to the user constructing a diagram or graphical program using the block diagram editor, data structures may be automatically constructed which characterize an execution procedure which corresponds to the displayed procedure. The graphical program may be compiled or interpreted by a computer.

[0010] Therefore, Kodosky et al teaches a graphical programming environment wherein a user places or manipulates icons and interconnects or "wires up" the icons in a block diagram using a block diagram editor to create a graphical "program." A graphical program for performing an instrumentation, measurement or automation function, such as measuring a Unit Under Test (UUT) or device, controlling or modeling instruments, controlling or measuring a system or process, or for modeling or simulating devices, may be referred to as a virtual instrument (VI). Thus, a user can create a computer program solely by using a graphically based programming environment. This graphically based programming environment may be used for creating virtual instrumentation systems, modeling processes, control, simulation, and numerical analysis, as well as for any type of general programming.

[0011] A graphical program may have a graphical user interface. For example, in creating a graphical program, a user may create a front panel or user interface panel. The front panel may include various graphical user interface elements or front panel objects, such as user interface controls and/or indicators, that represent or display the respective input and output that will be used by the graphical program or VI, and may include other icons which represent devices being controlled. The front panel may be comprised in a single window of user interface elements, or may comprise a plurality of individual windows each having one or more user interface elements, wherein the individual windows may optionally be tiled together. When the controls and indicators are created in the front panel, corresponding icons or terminals may be automatically created in the block diagram by the block diagram editor. Alternatively, the user can place terminal icons in the block diagram which may cause the display of corresponding front panel objects in the front panel, either at edit time or later at run time. As another example, the front panel may comprise front panel objects, e.g., the GUI, embedded in the block diagram.

[0012] During creation of the block diagram portion of the graphical program, the user may select various function nodes or icons that accomplish his desired result and connect the function nodes together. For example, the function nodes may be connected in one or more of a data flow, control flow, and/or execution flow format. The function nodes may also be connected in a "signal flow" format, which is a subset of data flow. The function nodes may be connected between the terminals of the various user interface elements, e.g., between the respective controls and indicators. Thus the user may create or assemble a graphical program, referred to as a block diagram, graphically representing the desired process. The assembled graphical program may be represented in the memory of the computer system as data structures and/or program instructions. The assembled graphical program, i.e., these data structures, may then be compiled or interpreted to produce machine language that accomplishes the desired method or process as shown in the block diagram.

[0013] Input data to a graphical program may be received from any of various sources, such as from a device, unit under test, a process being measured or controlled, another computer program, or from a file. Also, a user may input data to a graphical program or virtual instrument using a graphical user interface, e.g., a front panel as described above. The input data may propagate through the data flow block diagram or graphical program and appear as changes on the output indicators. In an instrumentation application, the front panel can be analogized to the front panel of an instrument. In an industrial automation application the front panel can be analogized to the MMI (Man Machine Interface) of a device. The user may adjust the controls on the front panel to affect the input and view the output on the respective indicators. Alternatively, the front panel may be used merely to view the input and output, or just the output, and the input may not be interactively manipulable by the user during program execution.

[0014] Thus, graphical programming has become a powerful tool available to programmers. Graphical programming environments such as the National Instruments LabVIEW product have become very popular. Tools such as LabVIEW have greatly increased the productivity of programmers, and increasing numbers of programmers are using graphical programming environments to develop their software applications. In particular, graphical programming tools are being used for test and measurement, data acquisition, process control, man machine interface (MMI), supervisory control and data acquisition (SCADA) applications, simulation, image processing/machine vision applications, and motion control, among others.

[0015] In the prior art, graphical programs have been limited to certain types of computing platforms, such as desktop computer systems and workstations. With the proliferation of new types of computing devices, it would be desirable to expand the platforms on which a graphical program can execute. In particular it would be desirable to enable a graphical program to execute on a portable computing device, such as a personal digital assistant (PDA) or mobile terminal.

[0016] In general, small form factor devices such as PDAs present certain issues for programs with graphical content, such as graphical user interfaces. For example, PDAs generally have reduced processor and memory capabilities compared to standard desktop computers, and also generally have more limited display capabilities. PDAs also generally have reduced capabilities in the types of programs they can execute.

SUMMARY OF THE INVENTION

[0017] One embodiment of the present invention comprises a system and method for deploying one or more graphical programs on a portable computing device. In the preferred embodiment, the portable computing device comprises a personal digital assistant (PDA) device. Other examples of portable computing devices include mobile terminals, handheld computers, wearable devices (e.g., wristwatch computers), "smart" cellular telephones, game consoles, global positioning system (GPS) units, electronic textbook devices, etc.

[0018] The one or more graphical programs may first be created, e.g., may be created using a graphical programming development environment executing on a desktop computer system or workstation. The graphical program(s) may be created or assembled by the user arranging on a display a plurality of nodes or icons and then interconnecting the nodes to create the graphical program(s). In response to the user assembling the graphical program, data structures (or code) may be created and stored which represent the graphical program. The nodes may be interconnected in one or more of a data flow, control flow, and/or execution flow format. The graphical program may thus comprise a block diagram having a plurality of interconnected nodes or icons that visually indicate the functionality of the program. The graphical program may implement any desired function. The graphical program may also include a user interface portion or front panel portion. Where the graphical program includes a user interface portion, the user may assemble the user interface on the display. Alternatively, the user interface portion may be specified in the block diagram. As one example, the user may use the LabVIEW graphical programming development environment to create the graphical program.

[0019] In one embodiment, the user may then select an option to build an executable for the portable computing device, e.g., PDA device. For example, the user may select an option from a menu in the graphical programming development environment to create a "build" or select an option to build an executable that will execute on a portable computing device.

[0020] In response to the user selecting this build option, the user may be prompted to specify or select one or more graphical programs from which the user desires to create the executable. As one example, this may involve selecting the graphical program(s) created as described above. In one embodiment, the user may select one main graphical program and a plurality of sub-graphical programs. Alternatively, the user may select a single graphical program or a plurality of different graphical programs for which the user desires to create an executable. The user may select the one or more graphical programs in any of various ways. For example, selecting the graphical program(s) may comprise the user browsing through a file system to obtain the graphical programs, or dragging and dropping icons from a palette onto an icon for the PDA, or other appropriate selection methods.

Continue reading...
Full patent description for Graphical program execution on a handheld computer

Brief Patent Description - Full Patent Description - Patent Application Claims
Click on the above for other options relating to this Graphical program execution on a handheld computer patent application.
###
monitor keywords

How KEYWORD MONITOR works... a FREE service from FreshPatents
1. Sign up (takes 30 seconds). 2. Fill in the keywords to be monitored.
3. Each week you receive an email with patent applications related to your keywords.  
Start now! - Receive info on patent apps like Graphical program execution on a handheld computer or other areas of interest.
###


Previous Patent Application:
Product configuration using configuration patterns
Next Patent Application:
Programmable extended compression mask for dynamic trace
Industry Class:
Data processing: software development, installation, and management

###

FreshPatents.com Support
Thank you for viewing the Graphical program execution on a handheld computer patent info.
IP-related news and info


Results in 0.19093 seconds


Other interesting Feshpatents.com categories:
Qualcomm , Schering-Plough , Schlumberger , Seagate , Siemens , Texas Instruments ,