IP Library Granted Patent US 8,910,130
Granted Patent B2
US 8,910,130 · App. 13/341,122 · Granted Dec 9, 2014

Method and system for executing a 3GL program and/or an assembler program within a 4GL runtime environment

Inventors: Michael Münster (Dreieich, DE); Uwe Henker (Reinheim, DE)
Assignee: Software AG
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,910,130
App. No.
13/341,122
Granted
Dec 9, 2014
Kind
B2
Abstract

Certain example embodiments transform a third-generation language (3GL) and/or an Assembler program so that it can be executed within a fourth-generation language (4GL) runtime environment. Certain example embodiments include a method for transforming a 3GL and/or an Assembler program that is callable by a 4GL program so that the 3GL and/or Assembler program is executable upon call by the 4GL program and from within a 4GL runtime environment. For instance a 4GL identifier may be included in the executable of the 3GL and/or the Assembler program to facilitate execution of the 3GL and/or the Assembler program upon call of the fourth-generation language (4GL) program and within the 4GL runtime environment.

Claims (29)

1. A method for transforming a third-generation language (3GL) and/or an Assembler program that is callable by a fourth-generation language (4GL) program so that the 3GL and/or Assembler program is executable upon call by the 4GL program and from within a 4GL runtime environment, the method comprising:

including a 4GL identifier in the executable of the 3GL and/or the Assembler program to facilitate execution of the 3GL and/or the Assembler program upon call of the fourth-generation language (4GL) program and within the 4GL runtime environment.

2. The method according to claim 1 , wherein the identifier is a 4GL program header.

3. The method according to claim 2 , wherein the 4GL is Natural.

4. The method according to claim 1 , wherein the executable of the transformed 3GL and/or the Assembler program further comprises a relocation stub routine.

5. The method according to claim 4 , further comprising checking whether a table of relocation dictionary (TRLD) exists in the executable.

6. The method according to claim 5 , further comprising locking the 3GL and/or the Assembler program and relocating A- and/or V-constants in the TRLD.

7. The method according to claim 4 , further comprising replacing the value of one or more unresolved V-constants using the relocation stub routine.

8. The method according to claim 1 , wherein the transformed 3GL and/or Assembler programs are marked as 4GL executable code.

9. The method according to claim 1 , further comprising modifying the call statement of a 4GL program that calls the transformed 3GL and/or Assembler program.

10. The method according to claim 1 , further comprising preloading the transformed 3GL and/or Assembler program into a 4GL program cache.

11. The method according to claim 1 , further comprising relocating the transformed 3GL and/or Assembler program in the 4GL program store area.

12. The method according to claim 1 , wherein the 4GL identifier is a 4GL program header transforming the 3GL and/or Assembler program into a 4GL executable without modifying the 3GL and/or Assembler program.

13. The method according to claim 12 , wherein the 4GL program header includes Natural Optimization Code parameters identifying the 3GL and/or Assembler program as Natural Optimization Code to be executed in the 4GL runtime environment.

14. The method according to claim 12 , wherein the 4GL program header includes a flag identifying that the 3GL and/or Assembler program is executable in the 4GL runtime environment.

15. A non-transitory computer readable storage medium tangibly storing a computer program comprising instructions for performing the method of claim 1 .

16. A system configured to transform a third-generation language (3GL) and/or an Assembler program that is callable by a fourth-generation language (4GL) program so that the 3GL and/or Assembler program is executable upon call by the 4GL program and from within a 4GL runtime environment, wherein the system comprises a processor operable to execute transformation logic configured to include a 4GL identifier in the executable of the 3GL and/or the Assembler program.

17. The system according to claim 16 , wherein the runtime environment employs an underlying zIIP processor.

18. A method of executing a fourth-generation language (4GL) program on a computer, the method comprising:

executing a call statement of the 4GL program that has been configured so that, in lieu of calling a third generation language (3GL) and/or an Assembler program, a transformed 3GL and/or Assembler program that includes logic of the 3GL and/or the Assembler program is instead called; and

executing the transformed 3GL and/or Assembler program within a 4GL runtime environment without requiring a context switch to the 3GL and/or the Assembler program, or an environment thereof.

19. The method according to claim 18 , further comprising loading the transformed 3GL and/or Assembler program into the 4GL program cache memory.

20. The method according to claim 18 , wherein the transformed 3GL and/or Assembler program comprises:

a 4GL identifier;

relocation code and a table of relocation dictionary; and

3GL records that comprise executable code of the 3GL and/or the Assembler program.

21. The method according to claim 18 , wherein the transformed 3GL and/or Assembler program comprises pseudo operation code that facilitates execution of the transformed 3GL and/or Assembler program by a compiler of the 4GL program.

22. The method according to claim 18 , wherein the transformed 3GL and/or Assembler program further comprises a relocation stub routine.

23. The method according to claim 22 , wherein the relocation stub routine is configured to replace a value of one or more unresolved V-constants.

Assignments (3)
MERGER Recorded Dec 17, 2024
From: SOFTWARE AG
To: MOSEL BIDCO AG
Reel/Frame 069715/0235 →
CHANGE OF NAME Recorded Dec 17, 2024
From: MOSEL BIDCO AG
To: SOFTWARE GMBH
Reel/Frame 069715/0411 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 30, 2011
From: MUNSTER, MICHAEL; HENKER, UWE
To: SOFTWARE AG
Reel/Frame 027462/0852 →
Priority Claims (1)
EP 11196078 · Dec 29, 2011 · regional
Continuity (1)
Related Publication 20130174130A1 · Jul 4, 2013