Development system with reference card and parameter wizard...

Data processing: software development – installation – and managem – Software program development tool – Translation of code

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C717S152000, C717S152000, C717S152000, C707S793000, C707S793000

Reexamination Certificate

active

06233726

ABSTRACT:

MICROFICHE APPENDIX
A two-fiche Microfiche Appendix, containing 96 frames, is included with this application.
COPYRIGHT NOTICE
A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever.
BACKGROUND OF THE INVENTION
The present invention relates generally to a system providing methods for facilitating development of software programs, with particular emphasis on decreasing the time a programmer spends creating or modifying source code during program development.
Before a digital computer may accomplish a desired task, it must receive an appropriate set of instructions. Executed by the computer's microprocessor, these instructions, collectively referred to as a “computer program,” direct the operation of the computer. Expectedly, the computer must understand the instructions which it receives before it may undertake the specified activity.
Owing to their digital nature, computers essentially only understand “machine code,” that is, the low-level, minute instructions for performing specific tasks—the sequence of ones and zeros that are interpreted as specific instructions by the computer's microprocessor. Since machine language or machine code is the only language computers actually understand, all other programming languages represent ways of structuring “human” language so that humans can get computers to perform specific tasks.
While it is possible for humans to compose meaningful programs in machine code, practically all software development today employs one or more of the available programming languages. The most widely-used programming languages are the “high-level” languages, such as C or Pascal, or more recently Java. These languages allow data structures and algorithms to be expressed in a style of writing which is easily read and understood by fellow programmers.
A program called a “compiler” translates these instructions into the requisite machine language. In the context of this translation, the program written in the high-level language is called the “source code” or source program. The ultimate output of the compiler is a compiled module such as a compiled C “object module,” which includes instructions for execution ultimately by a target processor, or a compiled Java class, which includes opcode instructions for execution ultimately by a Java virtual machine. Although a compiled module includes code for instructing the operation of a computer, such a module itself is typically not in a form which may be directly executed by a computer. In other words, it does not form the final program which is executable on a computer. Instead, it must undergo a “linking” operation before the final executable program is created.
Linking may be thought of as the general process of combining or linking together one or more compiled object modules to create an executable program. This task usually falls to a program called a “linker.” In typical operation, a linker receives, either from the user or from an integrated compiler, a list of object modules desired to be included in the link operation. The linker scans the object modules from the object and library files specified. After resolving interconnecting references as needed, the linker constructs an executable image by organizing the object code from the modules of the program in a format understood by the operating system program loader. The end result of linking is executable code (such as an .exe file) which, after testing and quality assurance, is passed to the user with appropriate installation and usage instructions.
Increasingly, the traditional programming tools (i.e., integrated editor/compiler/debugger developer tools) have evolved into visual rapid application development or “RAD” tools which deliver component-based programming. Instead of writing code from scratch, a programmer creates a program by assembling existing components or controls. Basically, the programmer “drags” existing (standard) components or objects onto a form and then attaches program code to those objects. By decreasing the need to write code, these tools have improved programmer productivity.
Even with all the assistance that a modern visual RAD environment affords, software development still remains a slow process. Development of a program of even modest complexity requires a substantial amount of “coding”—that is, crafting source code by hand. Although much progress has been made in eliminating the need to write code for program elements which can be represented as objects, particularly user interface objects, little has been done to date to help programmers with the task of creating program logic which must be coded. Although components can be visually placed on a form, there still exists a need to write custom code to handle events which arise from those components. To add handler code for a component visually added to a form, for instance, a programmer must have some understanding of the methods, properties, and events for that component. If the programmer selects a particular method of the component, he or she might have to provide required values, including parameter and return values.
What is needed is a system with methods for assisting a programmer with the task of actually creating source code, including custom program code which must be added by the programmer. Such a system should enable the programmer to easily add code to components which the programmer knows little about, all without requiring the programmer to refer to header files or other source files for those components. The present invention fulfills this and other needs.
SUMMARY OF THE INVENTION
A visual development environment is described which provides tools that facilitate creation and editing of source code. These tools include Editors, a Reference Card (feature), and a Parameter Wizard. Of particular interest, a code editor, which is a full-featured editor that can be used to edit the source code (e.g., C++ code) for a project, supports drag-and-drop code editing methodology of the present invention, using Reference Card and Parameter Wizard methodologies.
A Reference Card provides quick information on the most important classes and member functions, within one's code. During a session, the user may use the Reference Card to select an action that the user wants to perform. The user can search through a hierarchy of actions or perform a text search to locate the desired action, then open the Parameter Wizard to create the code (e.g., C++ code) required to perform that action. The Reference Card also provides help on all the items listed.
The Parameter Wizard, which operates in conjunction with the Reference Card, guides the user through the construction of function calls. This is particularly useful for complicated functions or for functions with which the user is unfamiliar. The Parameter Wizard helps the user construct a function call by showing what argument values are required. The Parameter Wizard can also store function results in a specified variable.
During use, the Parameter Wizard displays text boxes in a wizard window which lets the user enter variable names, constants, or expressions. The user can use the right mouse button to click the text box and get a list of variables that may be entered. Click on a name from this list to place that name into the text box. The user can also type in entries directly. When the user clicks Finish, the wizard pastes the constructed function call into the code editor window. The wizard also inserts declarations for any local variables that the method requires. Using drag-and-drop methodology of the present invention, the user can create the program code with minimal user input.


REFERENCES:
patent: 5437014 (1995-07-01), Busboom et al.
patent: 5485618 (1996-01-01), Smith
patent: 5487141 (

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Development system with reference card and parameter wizard... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Development system with reference card and parameter wizard..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Development system with reference card and parameter wizard... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2443757

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.