DE19725593A1 - Verfahren zum Steuern einer Datenverarbeitungsanlage - Google Patents

Verfahren zum Steuern einer Datenverarbeitungsanlage

Info

Publication number
DE19725593A1
DE19725593A1 DE19725593A DE19725593A DE19725593A1 DE 19725593 A1 DE19725593 A1 DE 19725593A1 DE 19725593 A DE19725593 A DE 19725593A DE 19725593 A DE19725593 A DE 19725593A DE 19725593 A1 DE19725593 A1 DE 19725593A1
Authority
DE
Germany
Prior art keywords
name
internal
program
module
program modules
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.)
Ceased
Application number
DE19725593A
Other languages
English (en)
Inventor
Christian Dr Rer Nat Weber
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.)
Fujitsu Technology Solutions GmbH
Original Assignee
Wincor Nixdorf International GmbH
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 Wincor Nixdorf International GmbH filed Critical Wincor Nixdorf International GmbH
Priority to DE19725593A priority Critical patent/DE19725593A1/de
Priority to EP98934758A priority patent/EP0990203B1/de
Priority to JP50353099A priority patent/JP2002508866A/ja
Priority to DE59801399T priority patent/DE59801399D1/de
Priority to PCT/DE1998/001389 priority patent/WO1998058311A1/de
Publication of DE19725593A1 publication Critical patent/DE19725593A1/de
Priority to US09/465,725 priority patent/US6189144B1/en
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/54Link editing before load time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural
    • G06F9/4484Executing subprograms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural
    • G06F9/4484Executing subprograms
    • G06F9/4486Formation of subprogram jump address
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure
    • Y10S707/99945Object-oriented database structure processing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99948Application of database or data structure, e.g. distributed, multimedia, or image

Description

Die Erfindung betrifft ein Verfahren zum Steuern einer Daten­ verarbeitungsanlage zum Erzeugen eines Zielprogramms durch Verknüpfen mehrerer Programm-Module.
Bei der Erstellung eines Zielprogramms, das in einer höheren Programmiersprache, beispielsweise COBOL, C, C++, Fortran etc. formuliert ist, werden in der Regel zunächst einzelne Quelltext-Module, beispielsweise Prozeduren und Funktionen erstellt, die unabhängig voneinander durch einen Hochsprach- Übersetzer, auch Compiler genannt, in die Maschinensprache, d. h. in für den Computer unmittelbar verständliche Befehle, übersetzt werden. Die auf diese Weise erzeugten Programm- Module werden dann durch einen Binder, auch Linker genannt, zu einem Zielprogramm verknüpft.
Bei einem Aufruf eines Programm-Moduls durch ein anderes muß sichergestellt sein, daß die beiden am Aufruf beteiligten Programm-Module einheitlichen Verknüpfungsvereinbarungen ge­ nügen, um einen fehlerfreien Parametertransfer zwischen dem aufrufenden und dem aufgerufenen Programm-Modul zu gewährlei­ sten. Solche Verknüpfungsvereinbarungen sind beispielsweise Konventionen über Registerbelegungen, Datenformate etc.
Hochsprach-Übersetzer für höhere Programmiersprachen erzeugen beim Übersetzen selbsttätig einen einheitlichen Vereinba­ rungssatz von Verknüpfungsvereinbarungen, der für alle Pro­ gramm-Module gültig ist, so daß sich der Programmentwickler nicht um die Verknüpfungsvereinbarung zu kümmern braucht.
Der Programmentwickler hat diese Verknüpfungsvereinbarungen jedoch zu beachten, sobald er Programm-Module, die nicht durch den vorgegebenen Hochsprach-Übersetzer erzeugt worden sind, in das Zielprogramm einbinden will, wie z. B. Programm- Module, die in einer Assembler-Sprache formuliert sind, im folgenden kurz Assembler-Module genannt. Bei der Assembler- Programmierung werden die Verknüpfungsvereinbarungen durch den Programmentwickler selbst programmiert, so daß die Ver­ knüpfungsvereinbarungen untrennbar in dem Assembler-Modul enthalten sind. Derartige Programm-Module, die nicht durch den vorgegebenen Hochsprach-Übersetzer erzeugt werden können und untrennbar an einen Vereinbarungssatz gekoppelt sind, werden im folgenden als fremde Programm-Modulen bezeichnet, während die durch den vorgegebenen Hochsprach-Übersetzer er­ zeugten Module interne Programm-Module genannt werden.
Der Vereinbarungssatz für Modul-Verknüpfungen, der zum Zeit­ punkt der Ersterstellung eines Zielprogramms sowohl durch den vorgegebenen Hochsprach-Übersetzer für interne Programm-Modu­ le erzeugt als auch in fremden Programm-Modulen entsprechend berücksichtigt worden ist, wird im folgenden als Ausgangs- Vereinbarungssatz bezeichnet.
Soll das Zielprogramm auf ein anderes Computersystem übertra­ gen werden, so ist es in der Regel zweckmäßig, einen neuen, an die Hardware des neuen Computersystems besonders gut ange­ paßten Vereinbarungssatz für Modul-Verknüpfungen zu verwen­ den, um gravierende Einbußen bei der Verarbeitungsgeschwin­ digkeit auf dem neuen Computersystem zu vermeiden. Dieser neue Vereinbarungssatz wird im folgenden als effizienter Ver­ einbarungssatz bezeichnet. Eine Verwendung dieses effizienten Vereinbarungssatzes ist dabei auch dann erforderlich, wenn kommerziell erhältliche Sammlungen von Programmroutinen des neuen Computersystems - im weiteren Standard-Module genannt - eingebunden werden sollen, die in der Regel nur für den be­ sonders gut an die Hardware angepaßten effizienten Vereinba­ rungssatz verfügbar sind. Aus diesen Gründen ist es wün­ schenswert, die Verknüpfungsvereinbarungen des Zielprogramms möglichst umfassend auf den effizienten Vereinbarungssatz um­ zustellen.
Der vorgegebene Hochsprach-Übersetzer könnte durch Neu-Über­ setzung aller Quelltext-Module mit effizientem Vereinbarungs­ satz die erzeugten internen Programm-Module optimal an die neue Hardware anpassen. Die Verknüpfbarkeit der internen mit den fremden Programm-Modulen, die fest an den Ausgangs-Ver­ einbarungssatz gekoppelt sind, wäre dann aber nicht mehr ge­ währleistet.
Zur Lösung dieses Problems ist ein Verfahren bekannt, bei dem Anpassungsroutinen verwendet werden, um von einander abwei­ chende Verknüpfungsvereinbarungen von Programm-Modulen aus zu­ gleichen. Um die Vereinbarungssätze von aufrufendem und auf­ gerufenem Programm-Modul aneinander anzupassen, muß der Pro­ grammentwickler bei dem bekannten Verfahren für alle betrof­ fenen Programm-Module eine solche Anpassungsroutine erstel­ len. Er muß dabei nicht nur die Unterschiede in den Verknüp­ fungsvereinbarungen, sondern auch die Anzahl und den Typ der bei dem Aufruf jeweils übergebenen Parameter kennen, da diese für jedes Programm-Modul individuell festgelegt sind. Das be­ kannte Verfahren ist deshalb sehr aufwendig und erschwert die Übertragbarkeit des Zielprogramms auf ein neues Computer­ system.
Es ist Aufgabe der Erfindung, ein Verfahren anzugeben, durch das ein Hochsprach-Übersetzer in die Lage versetzt wird, die eben genannten Anpassungsroutinen selbsttätig beim Übersetzen der Programm-Module zu erzeugen, und durch das die Anpas­ sungsroutinen beim Verknüpfen der einzelnen Programm-Module durch einen Binder automatisch in das Zielprogramm eingebun­ den werden.
Die Erfindung löst diese Aufgabe durch das Verfahren mit den Merkmalen nach Anspruch 1.
Bei dem erfindungsgemäßen Verfahren werden durch einen Hoch­ sprach-Übersetzer erzeugte, einem effizienten Vereinbarungs­ satz von Verknüpfungsvereinbarungen unterliegende interne Programm-Module mit Namen aus einer internen Namensklasse versehen. Ferner werden einem Ausgangs-Vereinbarungssatz von Verknüpfungsvereinbarungen unterliegende fremde Programm- Module mit Namen aus einer Fremd-Namensklasse versehen, wobei sich die den jeweiligen Vereinbarungssätzen zugeordneten Na­ mensklassen gegenseitig ausschließen. Es werden für die in­ ternen Programm-Module jeweils eine Anpassungsroutine erster Art erzeugt, die mit einem dem Namen des zugehörigen internen Programm-Moduls entsprechenden Namen aus der Fremd-Namens­ klasse versehen wird und die vor einem Aufruf des zugehörigen internen Programm-Moduls eine Anpassung des Ausgangs-Verein­ barungssatzes des auf ruf enden fremden Programm-Moduls an den effizienten Vereinbarungssatz des auf zuruf enden internen Pro­ gramm-Moduls vornimmt. Ferner werden Programm-Module von den internen Programm-Modulen aus mit Namen aus der internen Na­ mensklasse aufgerufen. Für die von den internen Programm- Modulen auf zurufenden Programm-Module wird jeweils eine An­ passungsroutine zweiter Art erzeugt, die mit einem dem Namen des zugehörigen Programm-Moduls entsprechenden Namen aus der internen Namensklasse versehen wird und die vor einem Ver­ zweigen zum entsprechenden fremden Programm-Modul eine Anpas­ sung des effizienten Vereinbarungssatzes an den Ausgangs- Vereinbarungssatz des auf zuruf enden fremden Programm-Moduls vornimmt, wobei die Anpassungsroutine zweiter Art mit einem Bindeattribut versehen ist, so daß sie nur dann in ein Ziel­ programm eingebunden wird, wenn neben ihr kein gleichnamiges internes Programm-Modul vorhanden ist. Weiterhin werden die internen Programm-Module, die fremden Programm-Module und die benötigten Anpassungsroutinen erster und zweiter Art mitein­ ander zu dem Zielprogramm verknüpft.
Durch die Maßnahme, daß die internen und die fremden Pro­ gramm-Module mit Namen aus einander ausschließenden Namens­ klassen versehen werden, ist für den Binder erkennbar, wel­ chem Vereinbarungssatz das jeweils einzubindende Programm- Modul zuzuordnen ist, so daß ein versehentliches Verknüpfen von Programm-Modulen, die unterschiedlichen Verknüpfungsver­ einbarungen unterliegen, sicher verhindert werden kann. Bei der Übersetzung der internen Programm-Module kann der Hoch­ sprach-Übersetzer jeweils eine Anpassungsroutine erster Art automatisch erzeugen, da dem Hochsprach-Übersetzer die für diesen Zweck wesentlichen Informationen, nämlich die Anzahl und der Typ der in dem erzeugten internen Programm-Modul ver­ wendeten Parameter, bekannt sind. Die fremden Programm-Module werden von den internen Programm-Modulen über die Anpassungs­ routinen zweiter Art aufgerufen, die mit Namen aus der inter­ nen Namensklasse versehen sind und zu dem zugehörigen fremden Programm-Modul verzweigen. Auf diese Weise sind die für die Anpassung der unterschiedlichen Vereinbarungssätze notwendi­ gen Anpassungsroutinen zweiter Art für die von den internen Programm-Modulen aufgerufenen fremden Programm-Module automa­ tisch in das Zielprogramm eingebunden. Da die Anpassungsrou­ tinen zweiter Art mit geeigneten Bindeattributen versehen sind, werden sie nur für solche Aufrufe eingebunden und durchlaufen, für die eine Anpassung des effizienten Ver­ einbarungssatzes an den Ausgangs-Vereinbarungssatz notwendig ist.
Bei dem vorgestellten Verfahren werden die Anpassungsroutinen beim Übersetzen durch den Hochsprach-Übersetzer automatisch erzeugt, durch den Binder in das Zielprogramm eingebunden und beim Abarbeiten des Zielprogramms aufgerufen. Insbesondere entfällt für den Programmentwickler die Notwendigkeit, die Anpassungsroutinen selbst zu erstellen. Die Erfindung erlaubt es, daß die internen und fremden Programm-Module korrekt über den Ausgangs-Vereinbarungssatz miteinander verknüpft werden, falls dies nötig ist. Die fremden Programm-Module können As­ sembler-Module oder durch einen anderen Hochsprach-Übersetzer erzeugte Programm-Module sein, die den Verknüpfungsver­ einbarungen des Ausgangs-Vereinbarungssatzes unterliegen. Die durch den vorgegebenen Hochsprach-Übersetzer erzeugten inter­ nen Programm-Module können untereinander über den effizienten Vereinbarungssatz miteinander verknüpft werden, wodurch die Abarbeitungsgeschwindigkeit des Zielprogramms erhöht wird.
Eine vorteilhafte Weiterbildung der Erfindung besteht darin, daß die Namen der internen Programm-Module durch Anfügen ei­ ner in der verwendeten Hochsprache als Namensbestandteil nicht zugelassenen Zeichenfolge an die Namen der den internen Programm-Modulen zugrundeliegenden Quelltext-Module erzeugt werden. Auf diese Weise lassen sich die Namensklassen der in­ ternen und der fremden Programm-Module ohne besondere An­ passungen des Binders trennen. So kann beispielsweise der Na­ mensbestandteil ein Zeichen enthalten, der in der vorgege­ benen höheren Programmiersprache als Namensbestandteil nicht vorgesehen ist. Die Namensklassen werden so sicher voneinan­ der getrennt, ohne daß die Namen der fremden Programm-Module verändert werden müssen.
Vorteilhaft wird für den Fall, daß das aufrufende Programm- Modul ein anderes Programm-Modul nicht über dessen Namen, sondern über dessen Adresse aufruft, vorausgesetzt, daß der Name des aufgerufenen Programm-Moduls der Fremd-Namensklasse zugeordnet ist. Für einen Aufruf eines Programm-Moduls über seine Adresse, im folgenden indirekter Aufruf genannt, wird also vorteilhaft angenommen, daß der Name des aufgerufenen Programm-Moduls in der Fremd-Namensklasse enthalten ist. Ferner wird durch die Anpassungsroutinen erster Art der auf­ gerufenen internen Programm-Module festgestellt, welchem Ver­ einbarungssatz das jeweilige auf rufende Programm-Modul unter­ liegt, und nur bei voneinander abweichenden Vereinba­ rungssätzen des aufrufenden und aufgerufenen Programm-Moduls die Anpassung der Vereinbarungssätze vorgenommen. Diese Maß­ nahme ermöglicht es unter anderem, daß die durch den Hoch­ sprach-Übersetzer erzeugten internen Programm-Module auch von dem effizienten Vereinbarungssatz unterliegenden Standard- Modulen, beispielsweise von Bibliotheksroutinen über ihre Adresse aufgerufen werden können.
In einer weiteren vorteilhaften Weiterbildung der Erfindung werden die Anpassungsroutinen erster Art jeweils mit einem Kennzeichnungscode versehen, durch den diese und die fremden Programm-Module voneinander zu unterscheiden sind. Bei einem indirekten Aufruf wird von dem aufrufenden internen Programm- Modul geprüft, ob unter der Adresse des aufgerufenen Pro­ gramm-Moduls der Kennzeichnungscode abgelegt ist und eine An­ passung der voneinander abweichenden Vereinbarungssätze von aufrufendem und aufgerufenem Programm-Modul vorgenommen, falls kein Kennzeichnungscode unter dieser Adresse abgelegt ist. Dieser Verfahrensschritt erlaubt es, fremde Programm- Module, die keine Anpassungsroutine zweiter Art besitzen, aus den durch den Hochsprach-Übersetzer erzeugten internen Pro­ gramm-Modulen heraus über ihre Adressen auf zurufen.
Vorteilhaft wird gemäß der Erfindung ein in Maschinensprache vorliegendes, dem effizienten Vereinbarungssatz unterliegen­ des Standard-Modul durch den Kennzeichnungscode ergänzt. Das Standard-Modul erhält neben dem ursprünglichen Namen aus der internen Namensklasse einen weiteren Namen aus der Fremd- Namensklasse. Auf diese Weise kann auch das Standard-Modul indirekt, d. h. über seine Adresse aufgerufen werden.
Durch die eben erläuterten Maßnahmen für indirekte Aufrufe werden die häufiger auftretenden direkten Aufrufe, d. h. die Aufrufe, welche die Namen der Programm-Module verwenden, kaum behindert.
Die Erfindung wird im folgenden an Hand der Figuren näher er­ läutert. Darin zeigen:
Fig. 1 eine schematische Darstellung eines bekannten Ver­ fahrens zum Anpassen der Vereinbarungssätze,
Fig. 2 eine schematische Darstellung, in der das Trennen der Namensklassen erläutert ist,
Fig. 3 eine schematische Darstellung, in der die Funkti­ onsweise der Anpassungsroutine erster Art erläutert ist,
Fig. 4 eine schematische Darstellung, in der die Funkti­ onsweise der Anpassungsroutine zweiter Art erläu­ tert ist,
Fig. 5 eine schematische Darstellung der Aufrufbeziehungen des Zielprogramms,
Fig. 6 eine schematische Darstellung der erzeugten Pro­ gramm-Module und Anpassungsroutinen des Zielpro­ gramms nach Fig. 5,
Fig. 7 eine schematische Darstellung des von dem Binder erzeugten, lauf fähigen Zielprogramms nach Fig. 5,
Fig. 8 ein Flußdiagramm der modifizierten Anpassungsrou­ tine erster Art bei einem indirekten Modulaufruf,
Fig. 9 eine schematische Darstellung der Anpassung des Vereinbarungssatzes des auf rufenden Programm-Moduls beim indirekten Modulaufruf,
Fig. 10 eine schematische Darstellung zur Erläuterung, wie ein Standard-Modul für indirekte Modulaufrufe zu modifizieren ist und
Fig. 11 eine Übersicht über die Anpassungen beim indirekten Modulaufruf.
Zum besseren Verständnis werden in den folgenden Figuren fremde Programm-Module einheitlich mit der Bezugsziffer 10, interne Programm-Module mit 12, Anpassungsroutinen erster bzw. zweiter Art mit 14 bzw. 16 und in einer Hochsprache ver­ faßte Quelltext-Module, die den lauf fähigen Programm-Modulen zugrundeliegen, mit 18 bezeichnet.
In Fig. 1 ist das bekannte Verfahren zum Anpassen von Ver­ einbarungssätzen erläutert. In Fig. 1 soll ein fremdes Pro­ gramm-Modul 10 mit dem Namen A, das einem Ausgangs-Vereinba­ rungssatz von Verknüpfungsvereinbarungen unterliegt, mit ei­ nem internen Programm-Modul 12 mit dem Namen B verknüpft wer­ den, für das ein effizienter Vereinbarungssatz von Verknüp­ fungsvereinbarungen vorgesehen ist. Diese beiden Vereinba­ rungssätze weichen voneinander ab, falls beispielsweise das interne Programm-Modul 12 mit dem Namen B durch einen Hoch­ sprach-Übersetzer erzeugt ist und das fremde Programm-Modul 10 mit dem Namen A ein Assembler-Modul ist oder durch einen mit dem vorgegebenen Hochsprach-Übersetzer nicht kompatiblen Hochsprach-Übersetzer einer anderen höheren Programmierspra­ che erzeugt worden ist. Als Hochsprach-Übersetzer kommen Übersetzer in Frage, die in höheren Programmiersprachen wie COBOL, C, C++, Fortran etc. verfaßte Quelltext-Module in eine Maschinensprache übersetzen und so lauffähige Programm-Module erzeugen. Um bei dem bekannten Verfahren die voneinander ab­ weichenden Verknüpfungsvereinbarungen des fremden Programm- Moduls 10 mit dem Namen A und des internen Programm-Moduls 12 mit dem Namen B zu überbrücken, muß von einem Programment­ wickler eine Anpassungsroutine 20 erstellt werden. Beim Ver­ knüpfen der beiden Programm-Module 10, 12 durch einen Binder (nicht dargestellt) wird die Anpassungsroutine 20 mit einge­ bunden, um bei einem Aufruf des internen Programm-Moduls 12 mit dem Namen B durch das fremde Programm-Modul 10 mit dem Namen A die Anpassung der voneinander abweichenden Verknüp­ fungsvereinbarungen vorzunehmen. Bei dem bekannten Verfahren muß der Programmentwickler für jedes Modul, das von einem Programm-Modul mit abweichendem Vereinbarungssatz aufgerufen werden soll, eine solche Anpassungsroutine 20 erstellen.
In Fig. 2 ist dargestellt, wie bei dem erfindungsgemäßen Verfahren den unterschiedlichen Vereinbarungssätzen voneinan­ der getrennte Namensklassen zugeordnet werden. In der vorge­ gebenen Hochsprache verfaßte Quelltext-Module 18 mit den Na­ men A und B werden sowohl durch einen Hochsprach-Übersetzer 22 gemäß dem Ausgangs-Vereinbarungssatz als auch durch einen Hochsprach-Übersetzer 24 gemäß dem effizienten Vereinbarungs­ satz übersetzt. Es wird nun festgelegt, daß die Namen der. durch den Hochsprach-Übersetzer 22 erzeugten fremden Pro­ gramm-Module 10 gegenüber den Namen der zugrundeliegenden Quelltext-Module 18 unverändert bleiben, nämlich A und B. Demgegenüber wird an die Namen der durch den Hochsprach-Über­ setzer 24 erzeugten internen Programm-Module 12 die Zeichen­ folge "" angehängt. Der Buchstabe "&" in der Zeichenfolge "" ist in keiner höheren Programmiersprache als Namensbe­ standteil eines Quelltext-Moduls zugelassen, so daß die Namen der internen Programm-Module 12 eine Namensklasse bilden, welche die Namen der fremden Programm-Module 10 mit Sicher­ heit nicht enthält. Den fremden Programm-Modulen 10 und den internen Programm-Modulen 12 sind also Namen aus sich gegen­ seitig ausschließenden Namensklassen zugeordnet, die eine Identifizierung des den jeweiligen Programm-Modulen zugeord­ neten Vereinbarungssatzes erlauben. In dem Beispiel nach Fig. 2 sind die fremden Programm-Module 10 durch den Hoch­ sprach-Übersetzer 22 erzeugt worden. Die fremden Programm- Module 10 können jedoch ebenso Assembler-Module oder in Ma­ schinensprache vorliegende Programm-Module sein, die den Ver­ knüpfungsvereinbarungen des Ausgangs-Vereinbarungssatzes un­ terliegen.
In Fig. 3 ist die Funktionsweise einer Anpassungsroutine er­ ster Art erläutert. Der Hochsprach-Übersetzer 24 erzeugt aus dem Quelltext-Modul 18 mit dem Namen A das interne Programm- Modul 12 mit dem Namen A Das interne Programm-Modul 12 er­ füllt dabei die Verknüpfungsvereinbarungen des effizienten Vereinbarungssatzes. Zusätzlich wird durch den Hochsprach- Übersetzer 24 eine Anpassungsroutine 14 erster Art erzeugt, die denselben Namen A wie das Quelltext-Modul 18 erhält. Der Name A der Anpassungsroutine 14 ist der dem Ausgangs-Verein­ barungssatz zugehörigen Namensklasse, d. h. der Fremd- Namensklasse zugeordnet. Die mit dem Namen A auf zuruf ende An­ passungsroutine 14 paßt den Ausgangs-Vereinbarungssatz an den effizienten Vereinbarungssatz an und ruft das mit dem Namen A versehene interne Programm-Modul 12 auf. Die Anpassungs­ routine 14 erster Art kann von dem Hochsprach-Übersetzer 24 automatisch erzeugt werden, da diesem die Anzahl und der Typ der Parameter des erzeugten internen Programm-Moduls 12 be­ kannt sind.
In Fig. 4 ist die Funktionsweise einer Anpassungsroutine 16 zweiter Art erläutert. In dem Quelltext-Modul 18 mit dem Na­ men A ist ein Programmbefehl "call B" vorgesehen, mit dem ein weiteres Quelltext-Modul mit dem Namen B aufgerufen wird. Durch den Hochsprach-Übersetzer 24 wird aus dem Quelltext- Modul 18 mit dem Namen A die in Fig. 3 erläuterte Anpas­ sungsroutine 14 erster Art ebenfalls mit dem Namen A und das interne Programm-Modul 12 mit dem Namen A erzeugt. Von dem internen Programm-Modul 12 aus wird nun jedes Programm-Modul grundsätzlich gemäß dem effizienten Vereinbarungssatz und mit dem für den effizienten Vereinbarungssatz festgelegten Namen aufgerufen. In diesem Beispiel ruft so das interne Programm- Modul A das Programm-Modul mit dem Namen B auf. Für jedes von dem internen Programm-Modul 12 aufgerufene Programm-Modul wird eine Anpassungsroutine 16 zweiter Art erzeugt, die in der Lage ist, den effizienten Vereinbarungssatz an den Aus­ gangs-Vereinbarungssatz anzupassen. Die Anpassungsroutine 16 zweiter Art erhält dabei einen Namen aus der dem effizienten Vereinbarungssatz zugeordneten Namensklasse, d. h. der inter­ nen Namensklasse. In dem Beispiel nach Fig. 4 erstellt der Hochsprach-Übersetzer 24 somit die Anpassungsroutine 16 zwei­ ter Art mit dem Namen B Die Anpassungsroutine 16 mit dem Namen B ist zudem mit einem Bindeattribut versehen, welches den Binder veranlaßt, die Anpassungsroutine 16 nur dann ein­ zubinden, wenn kein internes Programm-Modul mit dem Namen B vorhanden ist. Trifft der Binder ein solches internes Pro­ gramm-Modul nicht an, so bindet er die Anpassungsroutine 16 ein, welche die notwendige Anpassung der Vereinbarungssätze vornimmt und daraufhin das fremde Programm-Modul 10 mit dem Namen B aufruft.
Durch die in den Fig. 2 bis 4 erläuterten Maßnahmen können einzelne Programm-Module, die unterschiedlichen Vereinba­ rungssätzen unterliegen, durch den Binder zu einem Zielpro­ gramm verknüpft werden, ohne daß der Programmentwickler die Anpassungsroutinen selbst erstellen muß.
Das Zusammenwirken der eben erläuterten Maßnahmen wird im folgenden an Hand der Fig. 5 bis 8 an einem Beispiel er­ läutert.
In Fig. 5 sind die zu einem Zielprogramm 26 zu verknüpfenden Programm-Module und die Aufrufbeziehungen zwischen diesen Programm-Modulen dargestellt. Das Zielprogramm 26 besteht aus Assembler-Modulen 28 mit den Namen A und F, die dem Ausgangs- Vereinbarungssatz unterliegen, den in der Hochsprache verfaß­ ten Quelltext-Modulen 18 mit den Namen B, D, E, die dem effi­ zienten Vereinbarungssatz unterliegen, und einem ebenfalls dem effizienten Vereinbarungssatz unterliegenden Standard- Modul 30 mit dem Namen G. Das Zielprogramm 26 sieht vor, daß das Assembler-Modul A die Quelltext-Module B, D, E aufruft. Von dem Quelltext-Modul B werden wiederum das Quelltext-Modul D und das Standard-Modul G aufgerufen. Das Quelltext-Modul D ruft schließlich das Quelltext-Modul E, das Assembler-Modul F und das Standard-Modul G auf.
In Fig. 6 sind die durch den Hochsprach-Übersetzer 24 er­ zeugten Programm-Module und die Anpassungsroutinen des Ziel­ programms nach Fig. 5 dargestellt. Beim Übersetzen der Quelltext-Module 18 (vgl. Fig. 5) mit den Namen B, D, E wer­ den die entsprechenden internen Programm-Module 12 mit den Namen B, D, E erzeugt. Ferner erstellt der Hochsprach- Übersetzer 24 die Anpassungsroutinen 14 erster Art mit den Namen B, D, E. Von den internen Programm-Modulen 12 werden weitere Programm-Module mit den Namen aus der internen Na­ mensklasse aufgerufen. Das interne Programm-Modul B ruft so das Standard-Modul 30 mit dem Namen G sowie das interne Programm-Modul D auf. Ebenso ruft das interne Programm- Modul 12 mit dem Namen D das Standard-Modul 30 mit dem Na­ men G, das Assembler-Modul 28 mit dem Namen F sowie das interne Programm-Modul E auf. Es ist darauf hinzuweisen, daß das dem effizienten Vereinbarungssatz unterliegende Stan­ dard-Modul 30 mit dem Namen G zu versehen ist, falls es diesen Namen nicht schon hat. Dies läßt sich leicht über eine automatisch realisierbare Umbenennung erreichen.
Der Hochsprach-Übersetzer 24 erzeugt schließlich für die Pro­ gramm-Module, die von den internen Programm-Modulen 12 aufge­ rufen werden, die entsprechenden, mit dem Bindeattribut ver­ sehenen Anpassungsroutinen 16 zweiter Art. Für das interne Programm-Modul B sind dies die Anpassungsroutinen 16 mit den Namen D und G Entsprechend werden für das interne Programm-Modul 12 mit dem Namen D die Anpassungsroutinen 16 mit den Namen G, F und G erzeugt. Wie Fig. 6 zu ent­ nehmen ist, können die Anpassungsroutinen durch verschiedene Übersetzungsvorgänge mehrmals erzeugt werden. So wird bei­ spielsweise die Anpassungsroutine 16 mit dem Namen G sowohl bei der Übersetzung des Quelltext-Moduls B als auch bei der Übersetzung des Quelltext-Moduls D erstellt.
In Fig. 7 ist schließlich das von dem Binder erzeugte, lauf­ fähige Zielprogramm 26 gezeigt, das durch Verknüpfen der ein­ zelnen Programm-Module entstanden ist. Hier ist nochmals ver­ deutlicht, wie die internen Programm-Module B, D, E von dem Assembler-Modul 28 mit dem Namen A aus über die Namen B, D und E aufgerufen werden. Dementsprechend wird das Assem­ bler-Modul 28 mit dem Namen F von dem internen Programm-Modul 12 mit dem Namen D über die Anpassungsroutine mit dem Namen F aufgerufen. Im Gegensatz dazu ruft das interne Programm- Modul 12 mit dem Namen B das interne Programm-Modul 12 mit dem Namen G ohne Zwischenschaltung einer Anpassungsroutine auf, da bei diesem Aufruf keine Anpassung der Vereinbarungs­ sätze nötig ist.
In manchen höheren Programmiersprachen, z. B. der Sprache C, ist es möglich, ein Programm-Modul nicht nur über seinen Na­ men, sondern auch über seine Adresse, im weiteren Ziel- Adresse genannt, d. h. über einen "Funktions-Zeiger" auf seine Ziel-Adresse aufzurufen, so daß beim auf rufenden Programm- Modul der Name des aufgerufenen Programm-Moduls nicht mehr bekannt ist, sondern nur noch dessen Ziel-Adresse. Für diese indirekten Modulaufrufe ist das oben beschriebene Verfahren, das auf dem Trennen der den verschiedenen Vereinbarungssätzen zugrundeliegenden Namensklassen beruht, etwas zu modifizie­ ren, wie im folgenden an Hand der Fig. 8 bis 10 erläutert wird.
Fig. 8 zeigt ein Flußdiagramm einer modifizierten Anpas­ sungsroutine erster Art bei einem indirekten Modulaufruf. Zu­ nächst wird vorausgesetzt, daß der Funktions-Zeiger stets auf eine Variante des Programm-Moduls zeigt, die dem Ausgangs- Vereinbarungssatz unterliegt. Der indirekte Aufruf erfolgt so in Fig. 8 auf die Routine mit dem Namen A. Die Anpassungs­ routine erster Art ist nun insofern modifiziert, als daß sie durch eine Abfrage feststellt, welchem Vereinbarungssatz das auf ruf ende Programm-Modul unterliegt. Bei der Anpassungsrou­ tine nach Fig. 8 wird abgefragt, ob der Aufruf gemäß dem Ausgangs-Vereinbarungssatz erfolgt ist. Ist dies nicht der Fall, d. h. erfolgte der indirekte Aufruf gemäß dem effizien­ ten Vereinbarungssatz, so findet keine Anpassung der Verein­ barungssätze statt und es wird das Programm-Modul mit dem Na­ men A aufgerufen. Stellt die modifizierte Anpassungsroutine erster Art fest, daß das auf rufende Programm-Modul dem Aus­ gangs-Vereinbarungssatz unterliegt, so findet die Umsetzung dieses Vereinbarungssatzes auf den effizienten Verein­ barungssatz statt, bevor das Programm-Modul A aufgerufen wird.
Wie ein Kriterium zum Erfassen des Vereinbarungssatzes, gemäß dem der indirekte Aufruf erfolgt, festgelegt werden kann, hängt von den konkreten Verknüpfungsvereinbarungen ab. So ist es beispielsweise möglich, ein Register, das bei dem Aus­ gangs-Vereinbarungssatz nicht verwendet, wird, aber bei dem effizienten Vereinbarungssatz stets mit einer gültigen Be­ fehlsadresse besetzt ist, als Kriterium festzulegen, indem es bei Routinen mit Ausgangs-Vereinbarungssatz definiert auf ei­ ne vorgegebene ungültige Befehls-Adresse gesetzt wird.
Die in Fig. 8 erläuterte Modifizierung der Anpassungsroutine erster Art erlaubt es, die durch den Hochsprach-Übersetzer erzeugten internen Programm-Module auch von Standard-Modulen aus, die dem effizienten Vereinbarungssatz unterliegen, z. B. Bibliotheksroutinen, über Funktions-Zeiger auf zurufen.
Um ferner den indirekten Aufruf von fremden Programm-Modulen, die keine Anpassungsroutinen besitzen, aus internen Programm- Modulen heraus zu ermöglichen, ist eine weitere Modifizierung der Anpassungsroutinen erster Art nötig. So wird den Anpas­ sungsroutinen erster Art ein Kennzeichnungscode vorange­ stellt, der die Anpassungsroutine als solche kennzeichnet. Als Kennzeichnungscode kann beispielsweise ein spezieller Leerbefehl verwendet werden, der ansonsten bei der Erzeugung eines Maschinencodes nicht verwendet wird. Bei einem indirek­ ten Aufruf über die Ziel-Adresse des auf zurufenden Programm- Moduls wird geprüft, ob unter der Ziel-Adresse der Kennzeich­ nungscode abgelegt ist, wie in Fig. 9 dargestellt ist. Ist dies der Fall, d. h. zeigt der Funktions-Zeiger auf eine An­ passungsroutine erster Art, so wird diese übersprungen, da auch die auf zuruf ende Programmroutine dem effizienten Verein­ barungssatz unterliegt und somit keine Anpassung der Verein­ barungssätze notwendig ist. Wird unter der Ziel-Adresse der Erkennungscode nicht vorgefunden, so bedeutet dies, daß über den Funktions-Zeiger ein fremdes Programm-Modul mit Ausgangs- Vereinbarungssatz aufgerufen werden soll. In diesem Fall wird der effiziente Vereinbarungssatz des aufrufenden Programm- Moduls auf den Ausgangs-Vereinbarungssatz des aufzurufenden Programm-Moduls umgesetzt und die Ziel-Adresse angesprungen.
In Fig. 10 ist gezeigt, wie das Standard-Modul 30 mit effi­ zientem Vereinbarungssatz zu modifizieren, ist, um indirekte Modulaufrufe mit Funktions-Zeigern zu ermöglichen. Das Stan­ dard-Modul 30 mit dem Namen A wird mittels eines Hilfspro­ gramms 40 mit dem in Fig. 9 erläuterten Kennzeichnungscode versehen. Zudem erhält das Standard-Modul 30 neben dem Namen A den Namen A, der dem Ausgangs-Vereinbarungssatz zugeord­ net ist. Bei einem indirekten Modulaufruf des Standard-Moduls 30 wird nun unter der Ziel-Adresse der Kennzeichnungscode vorgefunden, so daß wie in Fig. 9 erläutert, ein indirekter Aufruf des Standard-Moduls 30 von dem internen Programm-Modul aus erfolgen kann, ohne daß eine Anpassung der Vereinbarungs­ sätze vorgenommen werden muß.
Durch das Zusammenspiel der in den Fig. 8 bis 10 erläuter­ ten Maßnahmen sind indirekte Modulaufrufe über Funktions- Zeiger möglich zwischen:
internen Programm-Modulen untereinander, die durch den Hochsprach-Übersetzer 24 erzeugt sind,
internen Programm-Modulen, die durch den Hochsprach-Über­ setzer 24 erzeugt sind, und fremden Programm-Modulen, die dem Ausgangs-Vereinbarungssatz unterliegen, z. B. Assembler- Modulen,
internen Programm-Modulen, die durch den Hochsprach-Über­ setzer erzeugt sind, und Standard-Modulen, die dem effizi­ enten Vereinbarungssatz unterliegen, z. B. Bibliotheksrouti­ nen.
Dies ist nochmals in der nachfolgenden Tabelle zusammenfas­ send dargestellt.
Fig. 11 gibt eine Übersicht über die durchgeführten Anpas­ sungen der Vereinbarungssätze bei indirekten Modulaufrufen.
Dargestellt ist das Assembler-Modul 28 mit dem Namen A, das durch den Hochsprach-Übersetzer 24 erzeugte interne Programm- Modul 12 mit dem Namen B und die diesem zugeordnete Anpas­ sungsroutine 14 erster Art mit dem Namen B, das durch den Hochsprach-Übersetzer 24 erzeugte interne Programm-Modul 12 mit dem Namen C und die diesem zugeordnete Anpassungsrou­ tine 14 erster Art mit dem Namen C und das Standard-Modul 30, das sowohl mit dem Namen D als auch mit dem Namen D vor­ liegt.
Bei dem indirekten Modulaufruf 1 findet die Anpassung der Vereinbarungssätze durch die Anpassungsroutine 14 mit dem Na­ men B statt. Bei den Aufrufen 2 findet keine Anpassung statt, da die auf rufenden Programm-Module 12 mit den Namen B, C den Kennzeichnungscode der Anpassungsroutinen 14 mit den Na­ men B bzw. C erkennen, und wie in Fig. 9 gezeigt verzweigt wird. Bei Aufruf 3 wird bei dem Assembler-Modul 28 mit dem Namen A der Kennzeichnungscode nicht vorgefunden, so daß die Anpassung der Vereinbarungssätze bei dem aufrufenden Pro­ gramm-Modul 12 mit dem Namen B vorgenommen wird. Bei Aufruf 4 erkennt das auf ruf ende Programm-Modul 12 mit dem Namen C wie bei Aufruf 2 den Kennzeichnungscode und verzweigt, wie in Fig. 9 dargestellt ist, ohne eine Anpassung der Vereinba­ rungssätze vorzunehmen. Auch bei Aufruf 5 wird keine Anpas­ sung der Vereinbarungssätze vorgenommen, da die aufgerufene Anpassungsroutine 14 mit dem Namen C das interne Programm- Modul 12 mit dem Namen C aufruft, und für das Standard- Modul 30 mit dem Namen D und das interne Programm-Modul 12 mit dem Namen C keine Anpassung der Vereinbarungssätze not­ wendig ist. Mit 6 sind auf rufe zwischen Programm-Modulen be­ zeichnet, die von vornherein demselben Vereinbarungssatz un­ terliegen, so daß auch in diesem Fall keine Anpassung der Vereinbarungssätze notwendig ist. Mit 7 sind schließlich in­ direkte Aufrufe zwischen dem Assembler-Modul 28 mit dem Namen A und dem Standard-Modul 30 mit dem Namen D bzw. D bezeich­ net, die bei dem erfindungsgemäßen Verfahren verboten sind.

Claims (8)

1. Verfahren zum Steuern einer Datenverarbeitungsanlage zum Erzeugen eines Zielprogramms (26) durch Verknüpfen mehre­ rer Programm-Module,
bei dem durch einen Hochsprach-Übersetzer (24) erzeugte, einem effizienten Vereinbarungssatz von Verknüpfungsver­ einbarungen unterliegende interne Programm-Module mit Na­ men aus einer internen Namensklasse versehen werden (12),
bei dem einem Ausgangs-Vereinbarungssatz von Verknüp­ fungsvereinbarungen unterliegende fremde Programm-Module (10) mit Namen aus einer Fremd-Namensklasse versehen wer­ den, wobei sich die den jeweiligen Vereinbarungssätzen zugeordneten Namensklassen gegenseitig ausschließen,
bei dem für die internen Programm-Module (12) jeweils ei­ ne Anpassungsroutine (14) erster Art erzeugt wird, die mit einem dem Namen des zugehörigen internen Programm-Mo­ duls (12) entsprechenden Namen aus der Fremd-Namensklasse versehen wird und die vor einem Aufruf des zugehörigen internen Programm-Moduls (12) eine Anpassung des Aus­ gangs-Vereinbarungssatzes des auf ruf enden fremden Pro­ gramm-Moduls (10) an den effizienten Vereinbarungssatz des auf zuruf enden internen Programm-Moduls (12) vornimmt,
bei dem von den internen Programm-Modulen aus auf zuru­ fende Programm-Module mit Namen aus der internen Namens­ klasse aufgerufen werden,
bei dem für die von den internen Programm-Modulen (12) auf zurufenden Programm-Module jeweils eine Anpassungsrou­ tine (16) zweiter Art erzeugt wird, die mit einem dem Na­ men des zugehörigen Programm-Moduls entsprechenden Namen aus der internen Namensklasse versehen wird und die vor einem Verzweigen zu einem fremden Programm-Modul eine An­ passung des effizienten Vereinbarungssatzes an den Aus­ gangs-Vereinbarungssatz des auf zuruf enden externen Pro­ gramm-Moduls (10) vornimmt, wobei die Anpassungsroutine (16) zweiter Art mit einem Bindeattribut versehen ist, so daß sie nur dann in ein Zielprogramm (26) eingebunden wird, wenn neben ihr kein gleichnamiges internes Pro­ gramm-Modul (12) vorhanden ist,
und bei dem die internen Programm-Module (12), die frem­ den Programm-Module (10) und die benötigten Anpassungs­ routinen erster (14) und zweiter Art (16) miteinander zu dem Zielprogramm (26) verknüpft werden.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß die fremden Programm-Module (10) in einer Assembler-Spra­ che verfaßt sind.
3. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß die fremden Programm-Module (10) in einer Maschinenspra­ che vorliegen.
4. Verfahren nach einem der vorhergehenden Ansprüche, da­ durch gekennzeichnet, daß die Namen der internen Pro­ gramm-Module (12) durch Anfügen einer in der verwendeten Hochsprache als Namensbestandteil nicht zugelassenen Zei­ chenfolge () an die Namen der den internen Programm-Mo­ dulen zugrundeliegenden Quelltext-Module (18) erzeugt werden.
5. Verfahren nach einem der vorhergehenden Ansprüche, da­ durch gekennzeichnet, daß für den Fall, daß das aufrufen­ de Programm-Modul ein anderes Programm-Modul nicht über dessen Namen, sondern über dessen Adresse aufruft, vor­ ausgesetzt wird, daß der Name des aufgerufenen Programm- Moduls der Fremd-Namensklasse zugeordnet ist, und daß durch die Anpassungsroutinen erster Art der auf­ gerufenen internen Programm-Module (12) festgestellt wird, welchem Vereinbarungssatz das jeweilige auf ruf ende Programm-Modul unterliegt, und nur bei voneinander abwei­ chenden Vereinbarungssätzen des auf rufenden und aufgeru­ fenen Programm-Moduls die Anpassung der Vereinbarungssät­ ze vorgenommen wird.
6. Verfahren nach Anspruch 5, dadurch gekennzeichnet, daß die Anpassungsroutinen (16) erster Art jeweils mit einem Kennzeichnungscode versehen werden, durch den diese und die fremden Programm-Module (10) voneinander zu unter­ scheiden sind.
7. Verfahren nach Anspruch 6, dadurch gekennzeichnet, daß bei einem indirekten Aufruf geprüft wird, ob unter der Adresse des aufgerufenen Programm-Moduls der Kennzeich­ nungscode abgelegt ist und eine Anpassung der voneinander abweichenden Vereinbarungssätze von aufrufendem und auf­ gerufenem Programm-Modul genau dann vorgenommen wird, falls kein Kennzeichnungscode unter dieser Adresse abge­ legt ist.
8. Verfahren nach Anspruch 7, dadurch gekennzeichnet, daß ein in Maschinensprache vorliegendes, dem effizienten Vereinbarungssatz unterliegendes Standard-Modul (30) durch den Kennzeichnungscode ergänzt wird und neben dem ursprünglichen Namen aus der internen Namensklasse einen weiteren Namen aus der Fremd-Namensklasse erhält.
DE19725593A 1997-06-17 1997-06-17 Verfahren zum Steuern einer Datenverarbeitungsanlage Ceased DE19725593A1 (de)

Priority Applications (6)

Application Number Priority Date Filing Date Title
DE19725593A DE19725593A1 (de) 1997-06-17 1997-06-17 Verfahren zum Steuern einer Datenverarbeitungsanlage
EP98934758A EP0990203B1 (de) 1997-06-17 1998-05-20 Verfahren zum steuern einer datenverarbeitungsanlage
JP50353099A JP2002508866A (ja) 1997-06-17 1998-05-20 データ処理装置の制御方法
DE59801399T DE59801399D1 (de) 1997-06-17 1998-05-20 Verfahren zum steuern einer datenverarbeitungsanlage
PCT/DE1998/001389 WO1998058311A1 (de) 1997-06-17 1998-05-20 Verfahren zum steuern einer datenverarbeitungsanlage
US09/465,725 US6189144B1 (en) 1997-06-17 1999-12-17 Method of controlling a data processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19725593A DE19725593A1 (de) 1997-06-17 1997-06-17 Verfahren zum Steuern einer Datenverarbeitungsanlage

Publications (1)

Publication Number Publication Date
DE19725593A1 true DE19725593A1 (de) 1999-01-07

Family

ID=7832739

Family Applications (2)

Application Number Title Priority Date Filing Date
DE19725593A Ceased DE19725593A1 (de) 1997-06-17 1997-06-17 Verfahren zum Steuern einer Datenverarbeitungsanlage
DE59801399T Expired - Lifetime DE59801399D1 (de) 1997-06-17 1998-05-20 Verfahren zum steuern einer datenverarbeitungsanlage

Family Applications After (1)

Application Number Title Priority Date Filing Date
DE59801399T Expired - Lifetime DE59801399D1 (de) 1997-06-17 1998-05-20 Verfahren zum steuern einer datenverarbeitungsanlage

Country Status (5)

Country Link
US (1) US6189144B1 (de)
EP (1) EP0990203B1 (de)
JP (1) JP2002508866A (de)
DE (2) DE19725593A1 (de)
WO (1) WO1998058311A1 (de)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3284956B2 (ja) * 1998-01-26 2002-05-27 日本電気株式会社 プログラム変換方法、プログラム変換装置及びプログラム変換プログラムを記憶した記憶媒体
US8522223B2 (en) * 2006-11-22 2013-08-27 Intel Corporation Automatic function call in multithreaded application
US9767004B2 (en) * 2014-06-16 2017-09-19 Symantec Corporation Dynamic call tracking method based on CPU interrupt instructions to improve disassembly quality of indirect calls
US10359998B2 (en) * 2016-05-06 2019-07-23 Unisys Corporation Runstream generator
US10235190B2 (en) 2016-12-14 2019-03-19 International Business Machines Corporation Executing instructions to store context information based on routine to be executed
US20180165073A1 (en) 2016-12-14 2018-06-14 International Business Machines Corporation Context information based on type of routine being called

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5247678A (en) * 1989-10-12 1993-09-21 Texas Instruments Incorporated Load time linker for software used with a multiprocessor system
GB2242293A (en) * 1990-01-05 1991-09-25 Apple Computer Apparatus and method for dynamic linking of computer software components
US5303332A (en) * 1990-07-30 1994-04-12 Digital Equipment Corporation Language for economically building complex, large-scale, efficient, rule-based systems and sub-systems
US5339422A (en) * 1991-03-07 1994-08-16 Digital Equipment Corporation System and method for jacketing cross-domain calls in a multi-code execution and debugging system within a multi-architecture environment
TW313282U (en) * 1991-03-07 1997-08-11 Digital Equipment Corp Apparatus for automatically interfacing call conventions between two dissimilar program units
US5519866A (en) * 1993-06-28 1996-05-21 Taligent, Inc. Method and apparatus of incrementally linking components of a modeled computer program
US5581769A (en) * 1993-12-29 1996-12-03 International Business Machines Corporation Multipurpose program object linkage protocol for upward compatibility among different compilers

Also Published As

Publication number Publication date
WO1998058311A1 (de) 1998-12-23
DE59801399D1 (de) 2001-10-11
EP0990203A1 (de) 2000-04-05
JP2002508866A (ja) 2002-03-19
EP0990203B1 (de) 2001-09-05
US6189144B1 (en) 2001-02-13

Similar Documents

Publication Publication Date Title
DE19810814B4 (de) Rechnersystem und Zustandskopierverfahren zur skalierbaren Software-Aktualisierung
DE69728811T2 (de) Datenprozessor
DE60313652T2 (de) Verfahren und gerät zur kontrolle der umwandlung von programm-kodes
EP2332042A1 (de) Verfahren und vorrichtung zum austauschen einer komponente eines computersystems
EP0502857A1 (de) Verfahren zur dynamischen bindung von definierbaren programmelementen eines interaktiven datenverarbeitungssystems.
DE19535519C2 (de) Verfahren zur Reduzierung des Umfanges von Computerprogrammen
EP3543844B1 (de) Verfahren zum durchführen von änderungen an einer software-anwendung
DE19725593A1 (de) Verfahren zum Steuern einer Datenverarbeitungsanlage
DE10041072A1 (de) Verfahren zur automatischen Erzeugung von Programmcode
DE4104568A1 (de) Verfahren und vorrichtung zur programmverarbeitung
DE69734348T2 (de) Verteilte verarbeitung
DE2617485B2 (de) Schaltungsanordnung für Datenverarbeitungsanlagen zur Abarbeitung von Mikrobefehlsfolgen
WO2004088549A2 (de) Verfahren und anordnung zur veränderung von software oder quellcode
DE19527808C2 (de) Verfahren zum Modifizieren der Softwareprozeduren eines Kommunikationssystems
EP0662226B1 (de) Verfahren zur bearbeitung eines anwenderprogramms auf einem parallelrechnersystem
DE19637883B4 (de) Datenverarbeitungsanlage zur Ausführung großer Programmsysteme
DE2613703C2 (de) Schaltungsanordnung zum Übersetzen von Programmtexten
EP1318451B1 (de) Verfahren zum Ausführen eines Programms auf einem Computer
DE19954793A1 (de) Verfahren zur Compilierung eines Maschinenprogramms
DE10314832B3 (de) Verfahren und Anordnung zur kundenseitigen Anpassung von Software
DE102004022183A1 (de) Verfahren zum Ändern von Programmobjektcode bei Quelltextänderungen
EP1271349A1 (de) Verfahren zur Zusammenführung verteilter Datenbanken
WO2003038612A2 (de) Verfahren zum betrieb eines rechnersystems
DE10141799A1 (de) Verfahren zum Betrieb eines Rechnersystems
DE19617719A1 (de) Verfahren zur Programmübersetzung eines in der Programmiersprache C++ geschriebenen Programms

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8131 Rejection
8127 New person/name/address of the applicant

Owner name: FUJITSU SIEMENS COMPUTERS GMBH, 81739 MUENCHEN, DE