Development system with methods for assisting a user with...

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

Reexamination Certificate

active

06314559

ABSTRACT:

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 system and methods for creating software programs. More particularly, the present invention relates to a visual development system and methods for assisting users with the task of creating source code during development of software programs.
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,” i.e., 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. 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 an intermediate module or “object module,” which includes instructions for execution by a target processor. In the context of Borland's Turbo Pascal and Object Pascal, the intermediate module is a Pascal “unit” (e.g., .TPU file). Although an object module includes code for instructing the operation of a computer, the object module itself is not usually in a form which may be directly executed by 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 or units 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 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 (typically an .EXE file) which, after testing and quality assurance, is passed to the user with appropriate installation and usage instructions.
“Visual” development environments, such as Borland's Delphi™, Microsoft® Visual Basic, and Powersoft's PowerBuilder®, are rapidly becoming preferred development tools for quickly creating production applications. Such environments are characterized by an Integrated Development Environment (IDE) providing a form designer or painter, a property getter/setter manager (“inspector”), a project manager, a tool palette (with objects which the user can drag and drop on forms), an editor, a compiler, and a linker. In general operation, the user “paints” objects on one or more forms, using the form painter. Attributes and properties of the objects on the forms can be modified using the property manager or inspector. In conjunction with this operation, the user attaches or associates program code with particular objects on screen (e.g., button object); the editor is used to edit program code which has been attached to particular objects.
At various points during this development process, the user “compiles” the project into a program which is executable on a target platform. For Microsoft Visual Basic and Powersoft PowerBuilder, programs are “pseudo-compiled” into p-code (“pseudo” codes) modules. Each p-code module comprises byte codes which, for execution of the program, are interpreted at runtime by a runtime interpreter. Runtime interpreters themselves are usually large programs (e.g., VBRUNxx.DLL for Visual Basic) which must be distributed with the programs in order for them to run. In the instance of Delphi™, on the other hand, programs are compiled and linked into true machine code, thus yielding standalone executable programs; no runtime interpreter is needed.
To a large extent, the progress of a particular software development project is tied to the progress of the task of writing source code or “coding.” It is highly desirable, therefore, to facilitate this task. Although there has been some effort to address this task by increasing code reuse, one nevertheless finds that core functionality of a program must often at some point still be coded by hand. Since software components are often constructed from complex classes comprising numerous class members and methods, the developer user typically spends a lot of time looking up help information (e.g., class definitions) for such components before he or she can use such a component. Thus even with the high degree of reuse provided by component-based visual development environments, developers still must spend substantial amounts of time coding functionality to suit a new project, and of that, developers spend substantial amounts of time referencing on-line help information for understanding how to use numerous components.
What is needed is a system providing methods for assisting users with inputting source code—that is, the fundamental task of writing the individual code statements and expressions which comprise a software program. Such a system should free developers from having to repeatedly reference on-line reference or help materials. The present invention fulfills this and other needs.
SUMMARY OF THE INVENTION
A visual development system of the present invention includes a compiler, a linker, and an interface. Through the interface, the developer user “paints” forms with objects and supplies source listings (i.e., enters source code) for the compiler. From the source code or listings, once compiled by the compiler and linked with other run-time or support files by the linker, the system generates a computer program, which may be executed by a target processor(s).
The interface includes an Integrated Development Environment (IDE) interface having a code editor. The IDE provides “Code Insight” functionality to the code editor for displaying context sensitive pop-up windows within a source code file. Of particular interest to the present invention are Code Completion and Code Parameter features of Code Insight.
Code Completion is implemented at the user interface level by displaying a Code Completion dialog box after the user enters a record or class name followed by a period. For a class, the dialog lists the properties, methods and events appropriate to the class. For a record or structure, the dialog lists the data members of the record. To complete entry of the expression, the user need only select an item from the dialog list, whereupon the system automatically enters the selected item in the code.
Code Completion also operates

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 methods for assisting a user with... 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 methods for assisting a user with..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Development system with methods for assisting a user with... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2577674

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