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 PDF

Info

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
Application number
GB9102260A
Other versions
GB9102260D0 (en
Inventor
David Pugmire
Robert Dea
Angelo Vincent D
Susan Muldoon
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.)
HP 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
Publication of GB9102260D0 publication Critical patent/GB9102260D0/en
Publication of GB2240861A publication Critical patent/GB2240861A/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/76Adapting 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.
GB9102260A 1990-02-09 1991-02-01 Apparatus and method for adapting computer program from one operating environment to another Withdrawn GB2240861A (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (6)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)