GB2240861A - Apparatus and method for adapting computer program from one operating environment to another - Google Patents
Apparatus and method for adapting computer program from one operating environment to another Download PDFInfo
- Publication number
- GB2240861A GB2240861A GB9102260A GB9102260A GB2240861A GB 2240861 A GB2240861 A GB 2240861A GB 9102260 A GB9102260 A GB 9102260A GB 9102260 A GB9102260 A GB 9102260A GB 2240861 A GB2240861 A GB 2240861A
- Authority
- GB
- United Kingdom
- Prior art keywords
- code
- fragments
- computer program
- search
- environment
- 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.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/76—Adapting program code to run in a different environment; Porting
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
A tool for automatically adapting a computer program to run in a different operating environment. The tool receives the code of the program as originally written, searches for fragments identified with functional capabilities of the original environment, and modifies and replaces those fragments with fragments providing similar or additional functional capabilities in the new environment. A user selects desired functional capabilities from samples displayed on the computer screen. The user provides customized text strings, which may be visual display legends or additional code, for insertion into the adapted program.
Description
APPARATU8 AND METHOD FOR ADAPTING A COMPUTER PROGRAM
FROM ONE OPERATING ENVIRONMENT TO ANOTHER
BACKGROUND OF THE INVENTION
The present invention relates generally to software engineering and more particularly to a programming tool for automatically adapting a computer program designed for one operating environment to run in another operating environment.
Computers are being used for more and more purposes by more and more people. Until recently, a user could only interact with a computer by means such as typewritten commands and codes that are relatively difficult to learn and use. To make it easier for people to use computers, various kinds of non-verbal output devices such as graphic and pictorial visual displays and input devices such as the computer mouse have been developed and are now coming into widespread use.
Another limitation has been the inability of many of the most popular small computers to run more than one application program at a time. Even many computers that could run several programs at once have only been able to provide a user interface with one program at any one time. These limitations are now being overcome by operating systems that support simultaneous execution of several programs and by improved output means such as visual displays that are divided into a plurality of regions or "windows" each of which enables the user to communicate with a different program.
These various developments have been improved and combined with each other to form computer operating environments that are characterized, for example, as "user friendly." An example of such an environment is "Microsoft
Windows" marketed by Microsoft Corp. Both computers having such operating environments and application programs that are compatible with them are much easier to use than other computers, especially for users who are not technically trained.
As these new operating environments have grown in popularity, a demand has arisen for compatible application programs. This demand can be satisfied, for example, by adapting existing application programs to run in the new environments or by writing new programs from scratch. Even new programs usually include various modules, subroutines, code segments and the like that have been used before, and these must be adapted for operation in the environment for which the new program is being written. In addition, when writing a new application program it is often easier first to write the program without regard to the operating environment and then to add interface and other features necessary to adapt the program for the environment in which it will be used.Accordingly, much of the effort of providing either new or existing application programs to run under the new environments involves adapting existing code.
Regardless of how they are created, application programs operable in the new environments tend to have very complicated code. The complexity of the code increases with the features offered by the environment. For example, computer programs operable in the Hewlett-Packard "NewWave" environment, an environment having many features that make both the computer system and the application programs exceptionally easy to use, have exceptionally cotplicated and voluminous code. Thus, although programs that operate in such environments are much easier to use than other programs, they are much harder to write.
A software engineer confronted with the task of adapting or cre & ;ng an application program to run in an environment such as Newwave either must extensively modify code that has already been written for a different environment, a task which inevitably includes creation of much new code, or must create entirely new code from scratch. Either task requires a detailed knowledge of the internal workings of the target environment and is an enormous amount of work. As a consequence, program development times tend to be long and the resulting products expensive.
It will be apparent from the foregoing that there is a need for an efficient and economical way to adapt application programs to run in new computer environments.
SUMMARY OF THE INVENTION
The present invention provides a tool that automatically adapts a computer program from one computer operating environment to another and that includes in the adapted program any desired functional capabilities of the new operating environment.
Briefly and in general terms, a tool according to the invention includes input means for receiving input code that operates in a first operating environment, a set of function code fragments each providing a functional capability, and selection means for selecting code fragments from the input code and the function code fragments and connecting the selected code fragments together, for example by interleaving or otherwise arranging various portions of the input code and various function code fragments, to provide output code. The output code operates as a computer program in a second operating environment and includes any functional capabilities provided by the selected function code fragments.
The selection means preferably includes a set of search code fragments, means to select one of the fragments, and search means for locating any portion of the input code that is similar to the selected fragment. The search means may include a buffer for holding part of the input code and another buffer for holding one or more search code fragments.
A cut-and-paste buffer is optionally provided for copying a fragment of the input code into one or more desired locations in the output code.
If one pass through the input code is not sufficient to completely adapt the code for the new environment, the output code is placed in a temporary file and reprocessed as input code one or more times as needed to provide the final output code. During such an additional pass, both code from the original input file and code from the temporary file may be used.
Many kinds of computer program adaptation can be accomplished by a tool that embodies the principles of the invention. A primary use for such a tool is adapting an application program to operate in a new interface environment. When so used, the tool preferably includes means for providing a user with samples of interface features available in the new environment so that the user can select those features the user wishes to include in the reconfigured program. The tool automatically selects code fragments that will provide the selected features. The user can also provide a text string, for example a legend to be displayed by the computer in connection with a certain feature or a user-generated code fragment, and the tool automatically inserts the text at the appropriate place in the new program code.
A method of adapting a computer program according to the present invention comprises the steps of selecting, from the original computer program, code fragments that perform the essential tasks of the program; selecting function fragments according to desired capabilities in the new operating environment; and connecting the selected fragments to provide a computer program that performs the task in the new environment and that has all desired functional capabilities.
Other aspects and advantages of the present invention will become apparent from the following detailed description, taken in conjunction with the accompanying drawings, illustrating by way of example the principles of the invention.
BRIEF DESCRIPTION OF THE DRAWINGS
FIGURE 1 is a block diagram of a system according to the invention;
FIG. 2 is a state diagram of the system shown in FIG. 1; and
FIG. 3 is a flow chart of one embodiment of the system shown in FIG. 2.
DESCRIPTION OF THE PREFERRED EMBODIMENT
As shown in the drawings for purposes of illustration, the invention is embodied in a novel tool for adapting a computer program from one operating environment to another.
Existing methods of adapting application programs to run in new environments require a software engineer to create large amounts of complicated code and are time-consuming and expensive.
In accordance with the invention, a software development tool automatically adapts a computer program to run in a new environment and incorporates any desired functional capabilities of the new environment into the adapted program.
By means of the invention a software engineer or even an unsophisticated user can quickly and easily adapt an application program to run in a new environment without having to write any new code.
As shown in block diagram form in FIG. 1, a preferred embodiment of the invention comprises a system generally 11 for adapting a computer program that performs a defined task in a first operating environment to perform the task in a second operating environment. Input means receives the computer program to be adapted as indicated by an arrow 13.
The program is provided in the form of an input file 15 which may be stored, for example, on a floppy disk or in an internal memory. A plurality of function code fragments are provided in a database file 17 which may also be stored on a floppy disk or in an internal memory. Each function code fragment is operable to provide a desired functional capability in the second operating environment. The system includes selection means for selecting desired code fragments from the input file and from the function code fragments and connecting the selected code fragments together to provide output code, for example in an output file 19. The output code is operable as a computer program that performs the defined task in the second operating environment and that includes any functional capabilities provided by the selected function code fragments.
"Connecting" the code fragments together typically involves arranging a number of different portions of the input code and a number of function code fragments in a suitable sequence for operation in the second environment; this can be viewed as "merging" the various fragments together or as "splicing" them one after the other to form the final output code.
The invention is particularly well suited for adapting computer programs to operate in new interface environments such as Hewlett-Packard Company's "NewWave" windowing environment. In such an application, a complete system embodying the invention preferably includes computer means 21 having a user interface 23 such as a CRT display screen 25, a keyboard 27, and a mouse 29 and storage means such as an internal memory (not shown). The selection means includes means to provide the user with samples of interface features available in the second interface environment, for example by displaying the features on the screen 25. The user chooses which of these features are to be incorporated into the particular application program being adapted to run in the second environment.These choices are communicated through the interface means to the selection means, and the selection means selects appropriate function code fragments to include the chosen features in the adapted program.
The user interface also serves as means for receiving a text string which may be provided by the user for inclusion in an interface feature. For example, the user may wish that a certain phrase be displayed on the screen at a designated point in the operation of the program. The selection means includes means for inserting the text string as provided by the user into the reconfigured computer program together with any function code fragment required to cause the text string to be included in the interface feature.
In some cases the output code may require further processing before it is ready to run in the second environment. Accordingly, temporary file means 31 receives the output code and provides this code back to the selection means for processing a second time around.
A state diagram illustrating the internal working of a tool embodying the invention is shown in FIG. 2. Broadly speaking, the tool uses a set of search code fragments each indicative of an interface function in the first operating environment. The tool searches through the input code to identify any input code fragments that match one of these search code fragments. Input code fragments not related to interface functions are not identified during the search; these fragments usually relate to other aspects of the task to be performed by the application program and are passed through to the output without any modification. Input code fragments which are related to interface functions may be passed through, replaced, deleted, or copied for insertion at one or more other locations in the output, all according to the specifications of the second environment.
It will be apparent that some of the input code may be used in the output code "as is", in relatively large fragments or even entire blocks. Other portions of the input code may be modified, an operation which involves one or more of the operations of removing, inserting, rearranging, and the like. Still other portions of the input code may simply be deleted or may be replaced; for example, a portion of input code that provides a certain functional capability in the first operating environment may be entirely removed and replaced with one or more function code segments that provide a similar or equivalent functional capability in the second environment.
More particularly, specifications of the first operating environment are used to select search code fragments as indicated by a "select fragments" node 33. The search. code fragments are contained in a portion 17A of the database 17.
A search command is generated as indicated by a command arrow 35 from the "select fragments" node 33 to a "search buffers" node 37.
In response to the search command, a command to fetch input code is generated as indicated by a command arrow 39 from the "search buffers" node 37 to a "get input code" node 41. In response to this latter command, input code is fetched as indicated by a code fragment arrow 43 extending from the input file 15 through the "get input code" node 41 to a first buffer 45.
Also in response to the search command, a command to fetch a search code fragment is generated as indicated by a command arrow 47 from the "search buffers" node 37 to a "get search fragment" node 49. In response to this command, a search code fragment is fetched as indicated by a code fragment arrow 51 extending from the database 17A through the "get search fragment" node 49 to a second buffer 53.
Searching is carried out by comparing the contents of the two buffers 45 and 53. These buffers are preferably large enough to hold a large portion of the input code and a plurality of search code fragments at one time, thereby making it possible to search with respect to several search fragments at once.
Fragments of input code and results of the search are returned as indicated by fragment arrows 55 and 57 extending from the first and second buffers 45 and 53, respectively, to the "search buffers" node 37, and by a search status arrow 59 extending from the "search buffers" node 37 back to the "select fragments" node 33.
Search commands may be automatically generated by. the system or, as indicated by a command arrow 61 from the user interface 23 to the "select fragments" node 33, may be provided by the user.
As indicated above, some portions of the input code are passed through to the output without being modified. This is indicated by a fragment arrow 63 extending from the "search buffers" node 37 to an "output" node 65. In addition, a cutand-paste means is sometimes used to save a fragment of the input code for later insertion into a desired location in the output code. This is indicated by a "paste" node 67 which receives paste commands as indicated by a command arrow 69 from the "select fragments" node 33. In response to a paste command, a fragment of input code is saved in a paste buffer 71 as indicated by a fragment arrow 73 extending from the "search buffers" node 37 to the paste buffer 71 and is retrieved from the paste buffer 71 at the desired time as indicated by a fragment arrow 75 extending from the buffer 71 through the "paste" node 67 to the "output" node 65.
The search typically identifies locations in the input code for insertion of function code fragments, either according to the specifications of the second operating environment or according to user choices of functional capabilities to be included in the adapted program. These commands are represented by a command arrow 77 extending from the "select fragments" node 33 to an "insert function fragment" node 79. In response to such a command a function code fragment is included in the output as indicated by a fragment arrow 81 extending from the database 17B through the "insert function fragment" node 79 to the "output" node 65.
The user may specify a text string to be inserted into the output code, for example a legend to be displayed by the computer in connection with a given interface feature. The text string is provided through the user interface and the "select fragments" node 33 as indicated by a text string arrow 83 extending from the "select fragments" node 33 to an "add string" node 85. This results in generation of a code fragment to include the string in the output as indicated by a fragment arrow 87 extending from the "add string" node 85 to the "output" node 65.
A user is not limited to specifying a short text string such as a legend for a visual display. The text string may be of any desired length and the text may be any kind of information the computer itself can accept. The text string may comprise, for example, a pointer to a file containing code which the user wishes to insert into the adapted program, or the text string itself may be code provided by the user for insertion into the program.
If the output code requires further processing, it is placed in the temporary file 31 as indicated by a code arrow 89 extending from the "output" node 65 to the temporary file.
This "intermediate" code in the temporary file is then fetched for further processing as indicated by a fragment arrow 91 extending from the temporary file 31 to the "get input code" node 41. Fragments of both the original code in the input file 15 and the intermediate code in the temporary file 31 may be fetched as needed.
If the output code is ready for use as an application program in the second operating environment, it is placed in the output file 19 as indicated by a code arrow 93 extending from the "output" node 65 to the output file.
It will be apparent that various program flow arrangements can be used to implement the system as described above. One such arrangement is depicted in flow chart form in FIG. 3. Initially (begin block 101) the code of the computer program to be adapted is placed in the input file (process block 103). If another action is to be performed (decision block 105), a code fragment is obtained from-the input file or the temporary file as appropriate (process block 107).
An input (or temporary) code fragment is "obtained", for example, by searching according to one or more search code fragments as described above; the fragment which is obtained in this way may be code which matched one of the search code fragments or code which did not match any of the fragments.
If the code matched one of the fragments, it may have been identified for deletion, for insertion in the output, for replacement, or as a fragment to be saved for later insertion elsewhere. If the code did not match any of the search fragments, the code may be a functional portion of the application program that is required to perform the task of the program in the second environment and therefore that is to be passed unaltered to the output.
If the obtained fragment is to be included in the output (decision block 109) it is passed to the output (process block 111). If the fragment is to be saved for later use (decision block 113) it is placed in the paste buffer (process block 115). If a function fragment is to be inserted (decision block 117), it is "obtained" from the database according to the desired functional capability to be included in the adapted program, as described above, and passed to the output (process block 119). If a previouslysaved fragment is to be inserted (decision block 121) it is obtained from the paste buffer and passed to the output (process block 123). If a text string is to be inserted (decision block 125) it is passed to the output along with any necessary function code fragment (process block 127).
If another action is to be performed (decision block 105) the above steps are repeated. Otherwise, if the output code is not in final form (decision block 129) it is placed in the temporary file (process block 131) and the entire procedure repeated. If the output code is in final form (decision block 129) it is placed in the output file (process block 133) and the procedure ends (ending block 135).
The above process may be briefly summarized as a method which includes the steps of selecting, from a computer program that performs a defined task in a first operating environment, code fragments required to perform the task in a second operating environment; selecting, from a plurality of function code fragments each operable to provide a functional capability, fragments according to which capabilities are desired; and connecting the selected code fragments together to provide a computer program that performs the task in the second operating environment and that includes the desired functional capabilities. In addition the method preferably includes inserting a user-provided text string into the computer program together with any function code fragment required to cause the text string to be utilized in connection with a functional capability of the program.
Typically the functional capabilities provided by the function code fragments comprise interface features not available in the first environment.
In a specific application the invention is configured to adapt a computer program designed to operate in the Microsoft "Windows" environment for operation in the Hewlett-Packard "Newwave" environment. Such a program may have been originally produced, for example, by means of an engineering tool such as the tool known as "Case:W" distributed by
Caseworks, a software publisher.A program that operates in the "Windows" environment typically includes the following set of files:
.C .H Make .DEF .RC
These files are processed as input files according to the teachings of the present invention to provide the following output files which are operable in the "NewWave" environment:
.C (modified)
.H (modified)
Make (entirely replaced with a new file) .DEF (not modified)
.RC (modified)
icon (optional additional file)
.INS (optional additional file)
Various ones of these files are placed in the temporary file during processing and used to generate the final versions.
The optional files may be generated or not according to commands given by the user.
Following is an example of code which has been "modified" during the adaptation process by deletion and insertion of selected code fragments: hWnd = CreateWindow(szAppName, ghWnd = hWnd = "demo", NW#createWindow( szAppName, WS OVERLAPPEDWINDOW, "demo", CR USEDEFAULT, WS OVERLAPPEDWINDOW, O, CW USEDEFAULT, CW USEDEFAULT, NWCW STAGGERPOS, o, CW USEDEFAULT,
NULL, O,
NULL, NULL, instance, NULL,
NULL); hInstance,
NULL);
BEFORE AFTER
From the foregoing it will be apparent that the invention provides a software engineering tool that automatically adapts a computer program to operate in a new environment without any need for manually generating or modifying computer code. The user selects any desired features of the new environment and the tool automatically inserts any required code into the program to provide the desired features. With this tool a software engineer or even a non-technical user can readily adapt programs from one environment to another as required.
Although a specific embodiment of the invention has been described and illustrated, the invention is not to be limited to the specific forms or arrangements of parts so described and illustrated, and various modifications and changes can be made without departing from the scope and spirit of the invention. Within the scope of the appended claims, therefore, the invention may be practiced otherwise than as specifically described and illustrated.
Claims (15)
1. A system for adapting a computer program that performs a defined task in a first operating environment to perform the task in a second operating environment, the system comprising: input means for receiving input code operable as a computer program that performs a defined task in a first operating environment; a plurality of function code fragments each operable to provide a desired functional capability; and selection means responsive to external commands to select desired code fragments from the input code and from the function code fragments and to connect the selected code fragments together to provide output code operable as a computer program that performs the defined task in a second operating environment and that includes any functional capabilities provided by the selected function code fragments.
2. A system according to claim 1 wherein the selection means comprises: a plurality of search code fragments; means to select a search code fragment; and search means operative to search the input code to locate any portion of the input code that is similar to the selected search code fragment.
3. A system according to claim 2 wherein the search means comprises a first buffer for receiving the input code and a second buffer for receiving a search code fragment.
4. A system according to claim 3 wherein the second buffer accommodates a plurality of search code fragments and wherein the search means is operative to locate any portion of the input code that is similar to any search fragment in the buffer.
5. A system according to claim 1 and further comprising cut-and-paste means responsive to the selection means to copy a fragment of the input code into a desired location in the output code.
6. A system according to claim 1 and further comprising text insertion means responsive to the selection means to insert a text string into a desired location in the output code.
7. A system according to claim 1 and further comprising temporary file means to receive the output code and provide the received code to the selection means for processing in lieu of input code.
8. A system as claimed in any preceding claim comprising: computer means including a user interface and data storage means; wherein said plurality of function code fragments lie in the storage means and the selection means is responsive to external commands received from a user through the user interface.
9. A system for reconfiguring a computer program from a first interface environment to a second interface environment, the system comprising: input means for receiving a computer program configured to operate in a first interface environment: a plurality of function code fragments each operable to provide an interface feature; and selection means for selecting code fragments from the computer program and from the fragments and connecting the selected code fragments together to provide a computer program that is configured to operate in a second interface environment and that includes any interface features provided by the selected function code fragments.
10. A system according to claim 11 and further comprising means for providing a user with samples of interface features available in the second interface environment and for receiving user commands indicative of any features the user wishes to include in the reconfigured program, the selection means being responsive to these commands to select code fragments that will provide the desired features.
11. A system according to claim
12 and further comprising means for receiving a text string provided by the user for inclusion in an interface feature and text insertion means for inserting the text string into reconfigured -computer program together with any function code fragment required to cause tte text string to be in the interface feature.
13. A method of adapting a computer program that performs a defined task in a first operating environment to perform the task in a second operating environment, the method comprising: from a computer program that performs a defined task in a first operating environment, selecting input code fragments required to perform the task in a second operating environment; from a plurality of function code fragments each operable to provide a functional capability, selecting fragments according to which capabilities are desired; and connecting the selected code fragments together to provide a computer program that performs the task in the second operating environment and that includes the desired functional capabilities.
14. A method according to claim 14 and further comprising inserting a user-provided text string into the computer program together with any function code fragment required to cause the text string to be utilized in connection with a functional capability of the program.
15. A method according to claim 14 wherein the functional capabilities provided by the function code fragments comprise interface features not available in the first environment.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US47778790A | 1990-02-09 | 1990-02-09 |
Publications (2)
Publication Number | Publication Date |
---|---|
GB9102260D0 GB9102260D0 (en) | 1991-03-20 |
GB2240861A true GB2240861A (en) | 1991-08-14 |
Family
ID=23897358
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
GB9102260A Withdrawn GB2240861A (en) | 1990-02-09 | 1991-02-01 | Apparatus and method for adapting computer program from one operating environment to another |
Country Status (3)
Country | Link |
---|---|
JP (1) | JPH04213730A (en) |
FR (1) | FR2658334A1 (en) |
GB (1) | GB2240861A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2266982A (en) * | 1992-05-15 | 1993-11-17 | Nissan Motor | Program preparation for information managing apparatus. |
GB2269687A (en) * | 1992-08-14 | 1994-02-16 | Corita Consultancy Limited | Automatic program conversion for video terminal compatibility. |
EP0827072A1 (en) * | 1996-04-01 | 1998-03-04 | Sun Microsystems, Inc. | Correcting program porting errors |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3631896B2 (en) | 1997-12-26 | 2005-03-23 | 富士通株式会社 | Object conversion apparatus, object conversion method, and program recording medium |
US20020147969A1 (en) | 1998-10-21 | 2002-10-10 | Richard A. Lethin | Dynamic optimizing object code translator for architecture emulation and dynamic optimizing object code translation method |
JP2002287982A (en) * | 2001-03-28 | 2002-10-04 | Kawasaki Steel Systems R & D Corp | Conversion supporting system between different types of systems |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0106668A2 (en) * | 1982-10-14 | 1984-04-25 | Bull HN Information Systems Inc. | Computer system with multiple operating systems |
EP0168034A2 (en) * | 1984-07-09 | 1986-01-15 | Wang Laboratories Inc. | Emulation means in a data processing system |
US4597044A (en) * | 1982-10-14 | 1986-06-24 | Honeywell Information Systems, Inc. | Apparatus and method for providing a composite descriptor in a data processing system |
EP0260457A2 (en) * | 1986-09-17 | 1988-03-23 | International Business Machines Corporation | Networking processors |
EP0317478A2 (en) * | 1987-11-17 | 1989-05-24 | International Business Machines Corporation | Dynamically adaptive environment for computer programs |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4553205A (en) * | 1982-09-21 | 1985-11-12 | Salvatore Porchia | Flexible macro expansion process |
AU4504689A (en) * | 1988-10-12 | 1990-05-01 | Expressway, Inc. | Software manufacturing system |
-
1991
- 1991-02-01 GB GB9102260A patent/GB2240861A/en not_active Withdrawn
- 1991-02-07 FR FR9101378A patent/FR2658334A1/en not_active Withdrawn
- 1991-02-08 JP JP3956591A patent/JPH04213730A/en active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0106668A2 (en) * | 1982-10-14 | 1984-04-25 | Bull HN Information Systems Inc. | Computer system with multiple operating systems |
US4530052A (en) * | 1982-10-14 | 1985-07-16 | Honeywell Information Systems Inc. | Apparatus and method for a data processing unit sharing a plurality of operating systems |
US4597044A (en) * | 1982-10-14 | 1986-06-24 | Honeywell Information Systems, Inc. | Apparatus and method for providing a composite descriptor in a data processing system |
EP0168034A2 (en) * | 1984-07-09 | 1986-01-15 | Wang Laboratories Inc. | Emulation means in a data processing system |
EP0260457A2 (en) * | 1986-09-17 | 1988-03-23 | International Business Machines Corporation | Networking processors |
EP0317478A2 (en) * | 1987-11-17 | 1989-05-24 | International Business Machines Corporation | Dynamically adaptive environment for computer programs |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2266982A (en) * | 1992-05-15 | 1993-11-17 | Nissan Motor | Program preparation for information managing apparatus. |
US5404530A (en) * | 1992-05-15 | 1995-04-04 | Nissan Motor Co., Ltd. | Information managing apparatus |
GB2269687A (en) * | 1992-08-14 | 1994-02-16 | Corita Consultancy Limited | Automatic program conversion for video terminal compatibility. |
GB2269687B (en) * | 1992-08-14 | 1996-07-24 | Corita Consultancy Limited | Automatic program conversion for video terminal compatibility |
EP0827072A1 (en) * | 1996-04-01 | 1998-03-04 | Sun Microsystems, Inc. | Correcting program porting errors |
US5905892A (en) * | 1996-04-01 | 1999-05-18 | Sun Microsystems, Inc. | Error correcting compiler |
Also Published As
Publication number | Publication date |
---|---|
JPH04213730A (en) | 1992-08-04 |
GB9102260D0 (en) | 1991-03-20 |
FR2658334A1 (en) | 1991-08-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0785510B1 (en) | Program debugging system for debugging a program having a graphical user interface | |
JP3993215B2 (en) | File conversion system | |
US5615356A (en) | Method and apparatus for interactively displaying signal information during computer simulation of an electrical circuit | |
EP0536077B1 (en) | Method and system for enhancing interactive query of a database | |
US6041333A (en) | Method and apparatus for automatically updating a data file from a network | |
AU2005225130B2 (en) | Management and use of data in a computer-generated document | |
US6108668A (en) | Method and system for undoing edits within selected portion of electronic documents | |
US5220675A (en) | Method and system for customizing a user interface in an integrated environment | |
US5990906A (en) | Undo feature for a graphical programming system | |
KR101076867B1 (en) | Automatic image capture for generating content | |
JP4058118B2 (en) | Program generation system and method | |
US6185591B1 (en) | Text edit system with enhanced undo user interface | |
US5771380A (en) | Method for information retrieval with scaled down images | |
EP0748478B1 (en) | System for binding document parts and editors in a computer-human interface | |
US6289489B1 (en) | Method and apparatus for automatically cross-referencing graphical objects and HDL statements | |
JP4270391B2 (en) | Multimedia file tooltip | |
US5982365A (en) | System and methods for interactively generating and testing help systems | |
JP2008506183A (en) | Import automatically generated content | |
US5764983A (en) | Method and system for efficiently creating a new file associated with an application program | |
US5946493A (en) | Method and system in a data processing system for association of source code instructions with an optimized listing of object code instructions | |
GB2240861A (en) | Apparatus and method for adapting computer program from one operating environment to another | |
JP4288017B2 (en) | Method and system for changing a text file for computer configuration | |
US6321378B1 (en) | Automated code replication during application development | |
JP2794339B2 (en) | The process of designing the user interface of an application program | |
JP2004362442A (en) | Automatic program generation device, automatic program generation method, computer program and computer readable recording medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WAP | Application withdrawn, taken to be withdrawn or refused ** after publication under section 16(1) |