DE19637883B4 - Data processing system for executing large program systems - Google Patents
Data processing system for executing large program systems Download PDFInfo
- Publication number
- DE19637883B4 DE19637883B4 DE19637883A DE19637883A DE19637883B4 DE 19637883 B4 DE19637883 B4 DE 19637883B4 DE 19637883 A DE19637883 A DE 19637883A DE 19637883 A DE19637883 A DE 19637883A DE 19637883 B4 DE19637883 B4 DE 19637883B4
- Authority
- DE
- Germany
- Prior art keywords
- subsystem
- software component
- data processing
- switching unit
- processing system
- 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.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Abstract
Datenverarbeitungsanlage
(10), die mindestens einen Prozessor (12, 13) enthält, der
Befehle eines gebundenen Programmsystems ausführt, und mit mindestens einem
Speicher (20), in dem die Programmbefehle gespeichert sind,
wobei
das Programmsystem mehrere gebundene, Softwarebausteine aufweisende
Subsysteme (50 bis 54) enthält,
die vorgegebene Funktionen der Datenverarbeitungsanlage (10) definieren,
ein
Softwarebaustein (74) für
mindestens eine Funktion eines ersten Subsystems (50) Bestandteil
eines zweiten Subsystems (54) ist,
dadurch gekennzeichnet,
dass
a) jedes Subsystem (50 bis 54) mindestens eine gleichartig aufgebaute
Vermittlungseinheit (60 bis 64) hat,
b) die ein Verzeichnis
(VZ1 bis VZ3) enthält,
welches auf im jeweiligen Subsystem (50 bis 54) enthaltene Softwarebausteine
(70 bis 76) verweist,
c) zum Ausführen der besagten Funktion
das erste Subsystem (50) die Vermittlungseinheit (64) im zweiten
Subsystem (54) aufruft (Pfeil 84) und
d) diese Vermittlungseinheit
(64) mit Hilfe des in ihr enthaltenen Verzeichnisses (VZ3) den dieser
Funktion zugeordneten Softwarebaustein (74) aufruft...A data processing system (10) comprising at least one processor (12, 13) executing instructions of a bound program system and having at least one memory (20) in which the program instructions are stored,
wherein the program system includes a plurality of bound software modules having subsystems (50 to 54) defining predetermined functions of the data processing system (10),
a software component (74) for at least one function of a first subsystem (50) is part of a second subsystem (54),
characterized in that
a) each subsystem (50 to 54) has at least one similarly structured switching unit (60 to 64),
b) which contains a directory (VZ1 to VZ3) which refers to software modules (70 to 76) contained in the respective subsystem (50 to 54),
c) to execute said function, the first subsystem (50) calls the exchange unit (64) in the second subsystem (54) (arrow 84) and
d) calls this switching unit (64) with the help of the directory contained therein (VZ3) associated with this function software component (74) ...
Description
Die Erfindung betrifft eine Datenverarbeitungsanlage gemäß dem Oberbegriff des Patentanspruchs 1.The The invention relates to a data processing system according to the preamble of claim 1
Unter einem Programmsystem wird im allgemeinen ein Programm mit mehreren Teilen und einer sehr großen Anzahl von Befehlen zur Lösung einer gemeinsamen übergeordneten Aufgabe verstanden. Ein Programmsystem ist zum Beispiel ein Betriebssystem für die Steuerung der Grundfunktionen der Datenverarbeitungsanlage, kurz DV-Anlage. Solche Betriebssysteme sind oft in einer Entwicklungszeit von vielen Jahren, z.B. 10 oder 20 Jahren, entstanden und enthalten mehrere Millionen Befehle. Ein Programmsystem kann auch ein Anwendungsprogramm sein, wie zum Beispiel ein Buchungsprogramm für eine Großbank oder eine Versicherungsgesellschaft. In DV-Anlagen mit mehreren gleichartigen Prozessoren ist auch ein paralleles Abarbeiten von Befehlen eines einzigen oder mehrerer Programmsysteme möglich.Under A program system is generally a program with several Share and a very big one Number of commands to solve a common parent Task understood. For example, a program system is an operating system for the Control of the basic functions of the data processing system, in short DP system. Such operating systems are often in a developmental of many years, e.g. 10 or 20 years, originated and included several million commands. A program system can also be an application program such as a booking program for a major bank or insurance company. In DV systems with several similar processors is also a parallel execution of commands of a single or multiple Program systems possible.
Programmsysteme enthalten gewöhnlich mehrere Subsysteme, die vorgegebene Funktionen der DV-Anlage definieren. Ein Speichersubsystem z.B. übernimmt bei einem Betriebssystem alle Funktionen, die mit Speichervorgängen in Verbindung stehen. Ein Dateisubsystem führt die Funktionen aus, die für das Arbeiten mit den Dateien auf der DV-Anlage benötigt werden. In einer Mehrprozessoranlage hat ein Mehrprozessor-Subsystem die Aufgabe, den parallelen Betrieb der Prozessoren zu steuern.program systems usually contain several Subsystems that define predefined functions of the DP system. A storage subsystem, e.g. takes over For an operating system, all functions that use memory operations in Connection stand. A file subsystem performs the functions that for the Working with the files needed on the DV system. In a multiprocessor plant has a multiprocessor subsystem the task of parallel operation to control the processors.
Jedes Subsystem bietet in der Regel mehrere Funktionen an. Eine Funktion im Dateisubsystem ist z.B. das Anlegen einer neuen Datei im Speicher der DV-Anlage. Zum Ausführen einer Funktion sind häufig mehrere tausend Befehle notwendig. Oft werden demzufolge die Funktionen in Teilfunktionen unterteilt. Die Befehle zum Ausführen einer Funktion oder zum Ausführen einer Teilfunktion sind zu einem Softwarebaustein zusammengefaßt. Ein Softwarebaustein ist zum Beispiel eine Befehlsfolge, auch Prozedur genannt, die an einer Startadresse beginnt und an einer Endadresse endet. Üblich ist das Bereitstellen von Parametern vor dem Ausführen der Prozedur bzw. des Softwarebausteins. Außerdem können beim Ausführen der Prozedur Ergebnisparameter erzeugt werden, die zur weiteren Bearbeitung gespeichert werden.each Subsystem usually offers several functions. A function in the file subsystem is e.g. the creation of a new file in the memory of the DP system. To run a function are common several thousand commands necessary. Often, therefore, the functions divided into subfunctions. The commands to execute a Function or to execute a subfunction are combined to form a software component. One Software module is for example a command sequence, also procedure called, which starts at a start address and an end address ends. Common is the provision of parameters before executing the Procedure or software component. Also, when running the Procedure result parameters are generated for further processing get saved.
Bekannte Verfahren zum Betreiben einer DV-Anlage haben den Nachteil, daß zwischen den Subsystemen eine sehr große Anzahl von verschiedenartigen Abhängigkeiten sowohl beim Erstellen der Softwarebausteine als auch beim Ausführen der Funktionen bestehen. So können Softwarebausteine für die Ausführung von Teilfunktionen einer übergeordneten Funktion in verschiedenen Subsystemen enthalten sein. Für das bereits genannte Beispiel, nämlich das Anlegen einer Datei, kann z.B. eine Teilfunktion für die Vorbereitung des Anlegens der Datei als Softwarebaustein im Dateisubsystem sowie eine andere Teilfunktion, nämlich das Bereitstellen von Speicherplatz zum Anlegen der Datei im Speicher der DV-Anlage, als weiterer Softwarebaustein im Speichersubsystem definiert sein. Wenn nun Änderungen am Softwarebaustein im Speichersubsystem vorgenommen werden, so können sich diese Änderungen auch auf den Softwarebaustein im Dateisubsystem auswirken, z.B. im Hinblick auf die Parameterübergabe. Das Dateisubsystem ist also vom Speichersubsystem abhängig. Diese Abhängigkeit wird unter anderem durch die Anzahl und die Formate zu übergebender Parameter und durch die verwendeten Entwicklungstechniken für die Softwarebausteine bestimmt. Weitere Abhängigkeiten entstehen, wenn auf eine Datenstruktur aus verschiedenen Subsystemen heraus zugegriffen wird, da bei Änderungen der Datenstruktur der Zugriff in allen Subsystemen geändert werden muß, die auf diese Datenstruktur zugreifen. Die Verschieden artigkeit und die Vielzahl der Abhängigkeiten im Programmsystem erschweren die Weiterentwicklung des Programmsystems und sind oft eine Fehlerursache, da das tatsächliche Ausmaß von Änderungen in einem oder mehreren der Subsysteme kaum zu überschauen ist. Durch die verschiedenartigen Abhängigkeiten der Subsysteme untereinander entsteht außerdem ein erhöhter Aufwand bei der Dokumentation, der Fehlersuche und der Pflege des Programmsystems.Known Methods for operating a computer system have the disadvantage that between the subsystems a very large Number of different dependencies both when creating the Software modules as well as while performing the functions exist. So can Software components for execution of subfunctions of a parent Function included in different subsystems. For that already named example, namely the creation of a file, e.g. a subfunction for the preparation creating the file as a software component in the file subsystem as well as another subfunction, namely providing space to create the file in memory DV system, defined as another software component in the storage subsystem be. If changes now on the software component in the storage subsystem, so can these changes also affect the software component in the file subsystem, e.g. with regard to parameter transfer. The file subsystem is thus dependent on the storage subsystem. These dependence is to be handed over, among other things by the number and the formats Parameters and by the development techniques used for the software components certainly. Further dependencies arise when looking at a data structure from different subsystems is accessed, as with changes the data structure of access in all subsystems to be changed must, that access this data structure. The diversity and the variety of dependencies in the program system complicate the further development of the program system and are often a cause of failure because of the actual extent of changes is hard to overlook in one or more of the subsystems. By the different types dependencies The subsystems with each other also creates an increased effort during documentation, troubleshooting and maintenance of the program system.
Da Programmsysteme in der Regel ständig weiterentwickelt werden und sich dabei aufgrund der zunehmenden Zahl von Funktionen in der Regel vergrößern, steigt aufgrund der genannten Abhängigkeiten der Aufwand für Neuentwicklungen und Änderungen im Programmsystem überproportional an. In der Praxis hat sich gezeigt, daß bei einem Betriebssystem z.B. durch Abänderungen und Modifikation etwa eine Million Befehle innerhalb von zwei Jahren zum Programmsystem hinzukommen können. Über die Zeit betrachtet steigt der Aufwand für Änderungen bei dem Betriebssystem in etwa exponentiell an.There Program systems usually evolve constantly and are doing so due to the increasing number of functions usually enlarge, soar due to the mentioned dependencies the effort for New developments and changes disproportionately in the program system at. In practice, it has been shown that in an operating system e.g. by modifications and modify about a million commands within two years can be added to the program system. Over time considered the effort for changes increases at the operating system in about exponential.
Aus
der
Die
Aus der WO 95/03575 A1 ist ein System bekannt, bei dem Anwendungsprogramme über Schnittstellenschichten, sogenannte Wrapper, an ein Betriebssystem angebunden sind. Durch die Wrapper ist es möglich, ein prozedurales Betriebssystem nach Außen als objektorientiert erscheinen zu lassen, so dass objektorientierte Anwendungsprogramme so auf Funktionen des Betriebssystems zugreifen können, als ob es objektorientiert programmierte Schnittstellen anbieten würde.Out WO 95/03575 A1 discloses a system in which application programs via interface layers, so-called wrappers, are connected to an operating system. By the wrapper is it possible a procedural operating system to the outside appear as object-oriented so that object-oriented application programs so on Functions of the operating system can access as if it were object oriented would offer programmed interfaces.
Die
Aus
der
Aufgabe der Erfindung ist es, eine Datenverarbeitungsanlage anzugeben, die bei der Abarbeitung der Befehle eines Programmsystems mit einer Vielzahl von Subsystemen einen fehlerfreien Betrieb gewährleistet und Änderungen im Programmsystem auf einfache Art und Weise gestattet. Diese Änderungen sollen unter Zuhilfenahme modernster Entwicklungstechniken und Programmiersprachen durchgeführt werden können.task The invention is to provide a data processing system, the in the execution of the commands of a program system with a variety Ensures error-free operation of subsystems and changes allowed in the program system in a simple manner. These changes should be using the latest development techniques and programming languages carried out can be.
Diese Aufgabe wird durch eine Datenverarbeitungsanlage gemäß Patentanspruch 1 gelöst.These Task is by a data processing system according to claim 1 solved.
Jedes Subsystem hat bei der Erfindung mindestens eine im wesentlichen gleichartig aufgebaute Vermittlungseinheit, die für das betreffende Subsystem oder einen Teil davon ein Verzeichnis enthält, welches auf im jeweiligen Subsystem enthaltene Softwarebausteine verweist. Zum Ausführen der besagten Funktion ruft das erste Subsystem die Vermittlungseinheit im zweiten Subsystem auf, und diese Vermittlungseinheit ruft mit Hilfe des in ihr enthaltenen Verzeichnisses den dieser Funktion zugeordneten Softwarebaustein auf. Die Vermittlungseinheit übernimmt dabei auch nötigenfalls die Aufgabe, die Verknüpfung zu einer anderen Entwicklungstechnik und Programmiersprache herzustellen. Nach dem Ausführen der Befehle dieses Softwarebausteins wird zum ersten Subsystem zurückgekehrt.each Subsystem in the invention has at least one substantially similarly structured switching unit, for the relevant Subsystem or part of it contains a directory which refers to software modules contained in the respective subsystem. To run of said function, the first subsystem calls the switching unit in the second subsystem, and this switch calls Help of the directory contained in it that of this function assigned software component. The switching unit takes over also if necessary the task, the linkage to make another development technique and programming language. After running The commands of this software component are returned to the first subsystem.
Die Erfindung geht von der Erkenntnis aus, daß Abhängigkeiten zwischen den Subsystemen unvermeidbar sind. So sind für eine Funktion eines ersten Subsystems auch Softwarebausteine, die Bestandteile anderer Subsysteme sind, aufzurufen und deren Befehle auszuführen. Werden die Abhängigkeiten aber übersichtlich realisiert, so können die oben beschriebenen Nachteile verhindert werden. Zu diesem Zweck hat bei der Erfindung jedes Subsystem mindestens eine im wesentlichen gleichartig aufgebaute Vermittlungseinheit. Die Aufrufe von Softwarebausteinen zwischen den Subsystemen erfolgen bei der Erfindung prinzipiell nur noch über die Vermittlungseinheiten. Damit stellen die Vermittlungseinheiten die hauptsächliche Schnittstelle zwischen den Subsystemen dar. Die Abhängigkeiten der Subsysteme sind somit gebündelt und überschaubar. Außerdem werden die Aufrufe zwischen Subsystemen vereinheitlicht und erfolgen bei der Erfindung bezüglich jeder Vermittlungseinheit auf gleiche Art und Weise. Dies ist möglich, da die Vermittlungseinheiten gleichartig aufgebaut sind.The The invention is based on the recognition that dependencies between the subsystems are unavoidable. So are for a function of a first subsystem also software modules that Components of other subsystems are to call and their commands perform. Become the dependencies but clear realized, so can the disadvantages described above are prevented. To this end In the invention, each subsystem has at least one substantially similarly structured switching unit. The calls of software components between the subsystems take place in the invention in principle only over the switching units. This is what the switching units provide the main one Interface between the subsystems. The dependencies the subsystems are thus bundled and manageable. In addition, will the calls between subsystems are unified and made of the invention each switching unit in the same way. This is possible because the switching units have a similar structure.
Aufrufe der Softwarebausteine eines Subsystems von außen, d.h. von anderen Subsystemen oder über Benutzerschnittstellen werden über die Vermittlungseinheit dieses gerufenen Subsystems ausgeführt. Nach außen hin kann dadurch die konkrete Realisierung einer bestimmten Funktion innerhalb des Subsystems verborgen bleiben. Damit kann das gerufene Subsystem geändert werden, ohne daß die Änderung nach außen, d.h. für rufende Subsysteme sichtbar werden muß. Insbesondere werden bei der Erfindung keine direkten Datenzugriffe von einem Subsystem in ein anderes Subsystem durchgeführt. Lesende und modifizierende Zugriffe auf Datenstukturen werden vielmehr durch Zugriffsfunktionen ersetzt, deren Befehle ebenfalls über die Vermittlungseinheit angesteuert werden. Die tatsächliche Realisierung des betreffenden Subsystems ist somit gegenüber der Umgebung, d.h. gegenüber den anderen Subsystemen verborgen. Innerhalb eines Subsystems können deshalb die Datenstrukturen frei gewählt und auch frei geändert werden, ohne daß auf rufende Subsysteme Rücksicht genommen werden muß. Diese Eigenschaft der Erfindung ist von besonderer Bedeutung, wenn innerhalb des Programmsystems oder innerhalb eines Subsystems im Laufe der Zeit zu moderneren Entwicklungstechniken übergegangen wird. So kann zum Beispiel innerhalb eines Subsystems schrittweise von einer prozeduralen Technik zu einer objektorientierten Technik übergegangen werden, wie sie z.B. mit der Sprache C++ möglich ist, ohne daß sogleich im gesamten Programmsystem Änderungen durchzuführen sind.Views the software building blocks of a subsystem from the outside, i. from other subsystems or via user interfaces are transmitted through the switching unit this called subsystem. Outwardly This can be the concrete realization of a specific function remain hidden within the subsystem. This can be the called Subsystem changed be without the change outward, i.e. For Calling subsystems must be visible. In particular, at the Invention no direct data access from a subsystem in a another subsystem. reading and modifying accesses to data structures are rather by Access functions replaced, whose commands also over the Switching unit to be controlled. The actual realization of the concerned Subsystem is thus opposite the environment, i. across from hidden from the other subsystems. Within a subsystem can therefore the data structures freely chosen and also changed freely be without calling on Subsystems consideration must be taken. This feature of the invention is of particular importance when within the program system or within a subsystem in the Over time, advanced to more modern development techniques becomes. For example, within a subsystem, it can be incremental from a procedural technique to an object-oriented technique be as they are e.g. with the language C ++ is possible without immediately throughout the program system changes perform are.
Jede Vermittlungseinheit greift bei der Erfindung auf ein Verzeichnis zu, welches auf im jeweiligen Subsystem enthaltene Softwarebausteine verweist. Dieses Verzeichnis hat bei der Erfindung die Aufgabe, einen einheitlichen Zugriff auf die verzeichneten Softwarebausteine zu gestatten. Während die Vermittlungseinheit, die ebenfalls als Befehlsfolge ausgeführt ist, gleichartig für alle Subsysteme aufgebaut ist, sind die konkreten Inhalte der jeweiligen Verzeichnisse von den konkreten verzeichneten Softwarebausteinen abhängig. Die Struktur der Verzeichnisse ist gleich, so daß gleichartig aufgebaute Befehlsfolgen der Vermittlungseinheiten verwendet werden können und in gleicher Weise auf das jeweilige Subsy stemverzeichnis zugreifen können. Durch diese Maßnahme wird erreicht, daß bei Erweiterungen oder Änderungen der über die Vermittlungseinheiten aufrufbaren Softwarebausteine zwar die Subsystemverzeichnisse zu ändern sind, die Befehlsfolgen der Vermittlungseinheiten jedoch nicht geändert werden müssen.In the invention, each switching unit accesses a directory which refers to software components contained in the respective subsystem. This directory has the invention in the Task to allow unified access to the listed software modules. While the switching unit, which is also executed as a command sequence, is constructed similarly for all subsystems, the concrete contents of the respective directories are dependent on the concrete software components listed. The structure of the directories is the same, so that similarly constructed command sequences of the switching units can be used and can access the same subdirectory directory in the same way. By this measure, it is achieved that in extensions or changes of the software modules which can be called via the switching units, the subsystem directories have to be changed, but the command sequences of the switching units do not have to be changed.
Zum Ausführen einer Funktion greift ein rufendes Subsystem auf die Vermittlungseinheit eines gerufenen Subsystems in der Weise zu, daß mit dem Ausführen der in der Vermittlungseinheit enthaltenen Befehlsfolge begonnen wird. Beim Ausführen dieser Befehlsfolge wird mit Hilfe des jeweiligen Subsystemverzeichnisses der für die Ausführung der Funktion benötigte Softwarebaustein ermittelt. Anschließend werden dessen Befehle ausgeführt. Der Zugriff ist somit einfach zu realisieren. Insbesondere wird die Vermittlungseinheit des rufenden Subsystems nicht benötigt, so daß Kommunikationsprozesse zwischen Vermittlungseinheiten entfallen.To the To run In one function, a calling subsystem accesses the switching unit a called subsystem in such a way that with the execution of the is started in the switching unit contained in the switching unit. When running This command sequence is determined using the respective subsystem directory the for execution needed the function Software component determined. Subsequently, its commands executed. The access is thus easy to realize. In particular, will the switching unit of the calling subsystem not needed, so that communication processes between switching units omitted.
Nach dem Ausführen der Befehle des Softwarebausteins wird in der Regel zum rufenden Subsystem zurückgekehrt. Das Zurückkehren kann mit oder ohne Verwenden der Vermittlungseinheit des gerufenen Systems und ohne Verwenden der Vermittlungseinheit des rufenden Systems erfolgen. Damit ist das Zurückkehren einfach und schnell.To the run The commands of the software component are usually the calling Subsystem returned. The return can with or without using the called party's switching unit Systems and without using the switching unit of the calling Systems take place. So returning is easy and fast.
Bei der Entwicklung, Dokumentation und Fehlerkorrektur können durch die Erfindung Entwicklungszeit, Rechenzeit und damit auch Kosten gespart werden, da eine Technik verwendet wird, bei der die Subsysteme im wesentlichen unabhängig voneinander erstellbar sind.at development, documentation and error correction can be done through the invention development time, computing time and therefore costs be saved as a technique is used in which the subsystems essentially independent can be created from each other.
In einem Ausführungsbeispiel der Erfindung erfolgen die Auswahl und der Aufruf der jeweiligen Vermittlungseinheit über ihren konventionierten Namen. Diese Namen sind Teil der Schnittstellenspezifikation und werden beim Binden des Programmsystems zu Adreßwerten aufgelöst, welche dann in Sprungbefehlen verwendet werden.In an embodiment The invention makes the selection and the call of the respective switching unit on their conventional name. These names are part of the interface specification and become address values when binding the program system resolved which are then used in jump instructions.
Gemäß der Erfindung erfolgt der Aufruf der Vermittlungseinheit unter Verwenden eines Übergabespeicherbereichs, der an einer Startadresse beginnt, die vorzugsweise an diese Vermittlungseinheit in einem Register des Prozessors übermittelt wird. In diesem Übergabespeicherbereich werden beim Aufruf einer Vermittlungseinheit Daten gespeichert, die es ermöglichen, auch bei Verwendung unterschiedlicher Versionen oder verschiedener Arten von Entwicklungstechniken nach einer Veränderung des Programmsystems für den Ablauf in den Vermittlungseinheiten denselben Binärcode zu verwenden. Wird eine Vermittlungseinheit parallel bzw. gleichzeitig mehrfach aufgerufen, so werden unterschiedliche Startadressen verwendet um ein Überschreiben der Übergabespeicherbereiche zu verhindern. Somit ist ein sogenannter Mehrfacheintritt in die Vermittlungseinheiten möglich.According to the invention the switching of the switching unit takes place using a transfer memory area, which starts at a start address, preferably to this switching unit in transmitted to a register of the processor becomes. In this transfer storage area When a switching unit is called, data is stored which make it possible even when using different versions or different Types of development techniques after a change in the program system for the Process in the switching units to the same binary code use. If a switching unit becomes parallel or simultaneous called several times, different start addresses are used overwriting the transfer storage areas to prevent. Thus, a so-called multiple entry into the Switching units possible.
Die Übergabe der Parameter an die aufzurufende Funktion erfolgt mit Hilfe des Übergabespeicherbereichs, welcher eine von den im ersten Subsystem und im zweiten Subsystem verwendeten Entwicklungstechniken und Programmiersprachen unabhängigen Aufbau besitzt.The handover the parameter to the function to be called is made with the help of the transfer memory area, which one of the first subsystem and the second subsystem used development techniques and programming languages independent construction has.
In einem weiteren Ausführungsbeispiel der Erfindung wird die Struktur des Übergabebereichs standardisiert. Sie besteht aus einem allgemeinen Teil, welcher zumindest teilweise von den Vermittlungseinheiten interpretiert wird, und einem speziellen Teil, welcher für die gerufene Funktion spezifisch ist und der nur vom Softwarebaustein interpretiert wird. Um die Abhängigkeiten in den Vermittlungseinheiten von Änderungen in den nachgelagerten Software-Bausteinen zu minimieren, sollte der allgemeine Teil möglichst klein gehalten werden. Falls es für eine Funktion mehrere Versionen des speziellen Teils gibt, kann dies über eine Versionsnummer aufgezeigt werden. Abhängig von dieser Versionsnummer kann der gerufene Softwarebaustein verschiedene Werte zur Startadresse addieren, um auf die Daten des Übergabespeicherbereichs zuzugreifen. Die Vermittlungseinheit soll Versionsabhängigkeiten nicht zur Kenntnis nehmen. Für den allgemeinen Teil gibt es nur eine Version. Die Versionsnummer gestattet es auch, bereits ausgelieferte Subsysteme ohne neues Compilieren und Linken über einen längeren Zeitraum zu verwenden, auch wenn es bereits neuere Versionen gibt. Dadurch kann der Nutzer der Subsysteme entscheiden, wann er für ein jeweiliges Subsystem eine neue Version verwenden möchte.In a further embodiment According to the invention, the structure of the transfer area is standardized. It consists of a general part, which at least partially is interpreted by the switching units, and a special one Part, which for the called function is specific and only the software component is interpreted. To the dependencies in the switching units of changes in the downstream To minimize software building blocks, the general part should be as possible kept small. If there are multiple versions for one feature of the special part, this can be indicated by a version number. Dependent From this version number, the called software component can different Add values to the start address to access the data of the transfer memory area access. The switching unit should have version dependencies do not take note. For the general part has only one version. The version number It also allows already delivered subsystems without recompiling and left over a longer one Period, even if there are already newer versions. This allows the user of the subsystems to decide when to go for a particular one Subsystem wants to use a new version.
Im allgemeinen Teil des Übergabespeicherbereich wird ein Namensdatum gespeichert, das den aufzurufenden Softwarebaustein nach Art eines Namens eindeutig kennzeichnet. Die, jeweilige Vermittlungseinheit kann anhand des Namensdatums feststellen, welcher Softwarebaustein aufgerufen werden soll. Da diese Daten standardisiert, immer an der selben Stelle relativ zur Startadresse gespeichert sind, braucht die Vermittlungseinheit nur diese Startadresse, um durch Addition eines vorgegebenen Werts auf die Namensdaten zuzugreifen.in the general part of the transfer memory area a name data is saved, which is the software component to be called clearly marked in the manner of a name. The, respective switching unit can use the name date to determine which software component should be called. Because these data are standardized, always on the same place are stored relative to the starting address needs the switching unit only this start address, by addition of a given value to access the name data.
In einem weiteren Ausführungsbeispiel der Erfindung wird im Subsystemverzeichnis ein Artkennzeichen gespeichert, dessen Wert die zum Erstellen des jeweiligen Softwarebausteins verwendete Entwicklungstechnik kennzeichnet. Der Zugriff auf den jeweiligen aufzurufenden Softwarebaustein erfolgt in einer durch die Befehlsfolge der Vermittlungseinheit definierten Art, abhängig vom Wert des Artkennzeichens. Die Erfindung berücksichtigt die Erkenntnis, daß es vorteilhaft ist, für die Entwicklung großer Programmsysteme je nach konkreter Funktion eines Softwarebausteins die jeweils zweckmäßigste Entwicklungstechnik zu verwenden. Insbesondere sollen im Laufe der Zeit entstehende neuere Entwicklungstechniken verwendbar sein. Deshalb wird bei diesem Ausführungsbeispiel das Artkennzeichen gespeichert. In diesem Artkennzeichen ist festgelegt, mit welcher Programmiertechnik und welcher Sprache inklusive Compilerversion die Befehle eines Softwarebausteins erstellt wurden.In a further embodiment the invention stores a type indicator in the subsystem directory, its value is the development technique used to create the respective software component features. Access to the respective software component to be called takes place in a through the command sequence of the switching unit defined type, dependent the value of the style mark. The invention takes into account the knowledge that it is advantageous for the development big Program systems depending on the specific function of a software component the most appropriate development technique to use. In particular, should arise over time newer development techniques can be used. That's why with this embodiment the style indicator is saved. In this type indicator is determined with which programming technique and which language including the compiler version the commands of a software component were created.
Mit Hilfe des Artkennzeichens und des sprachunabhängigen Aufbaus des Übergabespeicherbereichs ist es auf einfache Art und Weise möglich zwischen verschiedenen Entwicklungstechniken und Programmiersprachen umzuschalten. Damit übernimmt die Vermittlungseinheit eine Transformationsfunktion zwischen verschiedenen Entwicklungstechniken und Programmiersprachen in einem Programmsystem oder auch in einem Subsystem. Durch die Transformationsfunktion können z.B. bisher notwendige Kopiervorgänge von Übergabeparametern des Übergabespeicherbereichs oder eine Übergabe einer Vielzahl von Übergabeparametern in Registern des Prozessors entfallen. Als Entwicklungstechnik für die Softwarebausteine kann zum Beispiel eine prozedurale Programmiertechnik in der Sprache C und/oder eine objektorientierte Programmiertechnik in der Sprache C++ verwendet werden.With Help of type flag and language independent construction of transfer storage area is it possible in a simple way between different ones Switch development techniques and programming languages. With it takes over the switching unit has a transformation function between different ones Development techniques and programming languages in a program system or even in a subsystem. Through the transformation function can e.g. Previously necessary copying processes of transfer parameters of the transfer memory area or a handover a variety of transfer parameters in registers of the processor accounts. As a development technique for the software components For example, a procedural programming technique can be used in the language C and / or an object-oriented programming technique in the language C ++ can be used.
Durch das Artkennzeichen ist es möglich, in den Vermittlungseinheiten eine einheitliche Befehlsfolge zu verwenden. Abhängig vom Artkennzeichen wird beim Abarbeiten dieser Befehlsfolgen je nach Softwarebaustein unterschiedlich verzweigt.By the style indicator makes it possible to use in the switching units a uniform command sequence. Dependent The type tag is used when executing these command sequences Branched differently depending on the software component.
Werden beim Betreiben der DV-Anlage die Vermittlungseinheiten in einem Arbeitsspeicher ständig vorrätig gehalten, so müssen die Softwarebausteine eines gerufenen Subsystems erst dann in den Arbeitsspeicher kopiert werden, wenn das Subsystem aufgerufen wird. Durch diese Maßnahme läßt sich der meist begrenzte Arbeitsspeicher gut ausnutzen.Become when operating the computer system, the switching units in one Main memory all the time available kept, so must the software modules of a called subsystem only then into the main memory be copied when the subsystem is called. Through this measure let yourself Use the most limited memory well.
Vor dem Ausführen der Befehle eines gerufenen Softwarebausteins werden in einem weiteren Ausführungsbeispiel der Erfindung die im folgenden genannten Prüfschritte ausgeführt. Erstens wird geprüft, ob das zweite Subsystem momentan im Arbeitsspeicher der DV-Anlage gespeichert ist. Ist dies nicht der Fall, so wird das Subsystem z.B. von einer Festplatte in den Arbeitsspeicher kopiert. Das Kopieren kann entfallen, wenn das Subsystem bereits im Arbeitsspeicher gespeichert ist. In einem zweiten Prüfschritt beim Ausführen der Befehlsfolge der Vermittlungseinheit wird geprüft, ob der rufende Prozeß eine Kommunikationsverbindung zum gerufenen Subsystem hat. Diese Kommunikationsverbindung ist z.B. als Tabelle realisiert, mit deren Hilfe das betreffende Subsystem aus einem Prozeß aufgerufen werden kann. Wird im zweiten Prüfschritt festgestellt, daß eine Kommunikationsverbindung noch nicht besteht, so wird diese aufgebaut, so daß später die Befehle des gerufenen Softwarebausteins ausgeführt werden können. Ist eine Kommunikationsverbindung zum gerufenen Subsystem bereits vorhanden, so wird diese genutzt, womit ein zweiter Aufbau der Kommunikationsverbindung entfällt.In front the run the commands of a called software component are in a further embodiment the invention carried out in the following test steps. First is checked, whether the second subsystem currently in the main memory of the DV system is stored. If this is not the case, then the subsystem will be e.g. copied from a hard disk into the main memory. The copying may be omitted if the subsystem is already stored in memory is. In a second test step when running the command sequence of the switching unit is checked whether the calling process one Has a communication connection to the called subsystem. This communication connection is e.g. implemented as a table, with the help of which subsystem be called from a process can. Will in the second test step found that a Communication connection does not exist yet, then this is set up, so that later the Commands of the called software component can be executed. is a communication connection to the called subsystem already exists, so this is used, bringing a second structure of the communication link eliminated.
In einem dritten Prüfschritt wird geprüft, ob das gerufene Subsystem die gewünschte Funktionalität überhaupt anbietet, d.h., ob der über einen Namen bezeichnete Softwarebaustein im Verzeichnis der betreffenden Vermittlungseinheit verzeichnet ist. Ist dies nicht der Fall, so wird der Aufruf durch die Vermittlungseinheit mit einer entsprechenden Fehlermeldung zurückgewiesen.In a third test step is checked, whether the called subsystem has the desired functionality at all offers, that is, whether the over a name called software component in the directory of the respective Switching unit is listed. If this is not the case, then is the call by the switching unit with a corresponding Error message rejected.
In einem vierten Prüfschritt wird geprüft, ob der Softwarebaustein ordnungsgemäß initialisiert ist. Initialisiert bedeutet dabei, daß der Softwarebaustein in einem Anfangszustand ist, aus dem heraus er sofort ausgeführt werden kann. Zweckmäßigerweise wird der Anfangszustand nur dann hergestellt, wenn sich der Softwarebaustein noch nicht im Anfangszustand befindet, da so eine überflüssige Initialisierung vermieden wird.In a fourth test step is checked, whether the software module is initialized correctly. initializes means that the Software component is in an initial state, out of which he executed immediately can be. Appropriately, will the initial state is only established when the software component not yet in the initial state, since such a superfluous initialization avoided becomes.
Die genannten Prüfschritte ermöglichen es, Fehler frühzeitig zu erkennen und gegebenenfalls zu beseitigen. Somit ist ein sicheres Betreiben der DV-Anlage möglich. Durch die Prüfschritte wird außerdem erreicht, daß bereits durchgeführte Schritte nicht unnötig wiederholt werden. The mentioned test steps enable it, mistakes early and, if necessary, eliminate it. Thus, a safe Operating the computer system possible. Through the test steps will also achieved that already conducted Do not step unnecessarily be repeated.
Die Erfindung ermöglicht es, Abhängigkeiten in bereits bestehenden Programmsystemen zu verringern oder aber Abhängigkeiten, welche eine spätere Weiterentwicklung behindern könnten, beim Erstellen des Programmsystems von vorn herein zu vermeiden.The Invention allows it, dependencies in already existing program systems or dependencies, which one later Could hinder further development, when creating the program system from the beginning to avoid.
Die beschriebenen Wirkungen der Erfindung treten um so mehr hervor, je mehr Teile des Programmsystems in Subsystemen realisiert sind, denen jeweils mindestens eine Vermittlungseinheit zugeordnet ist.The described effects of the invention are the more apparent the more parts of the program system are implemented in subsystems, each of which at least one switching unit is assigned.
In einem weiteren Ausführungsbeispiel der Erfindung werden die Vermittlungseinheiten bzw. die Schnittstellen des Programmsystems klassifiziert nach Vermittlungseinheiten bzw. Schnittstellen, die von jedem Subsystem, von einigen Subsystemen oder nur von dem zugehörigen Subsystems aus aufrufbar sind. Mit Hilfe dieser Klassifizierung ist es möglich, die Abhängigkeiten der Subsysteme voneinander je nach Klasse in einem vorgegebenen Rahmen zu halten.In a further embodiment of the According to the invention, the switching units or the interfaces of the program system are classified according to switching units or interfaces which can be called up by each subsystem, by some subsystems or only by the associated subsystem. With the help of this classification, it is possible to keep the dependencies of the subsystems on a given framework, depending on the class.
Ausführungsbeispiele der Erfindung werden im folgenden anhand der Zeichnungen erläutert. Darin zeigen:embodiments The invention will be explained below with reference to the drawings. In this demonstrate:
Der
Ein-/Ausgabeprozessor
Als
Betriebssystem BS wird das Betriebssystem BS2000/OSD Version 1.0
der Firma SIEMENS NIXDORF INFORMATIONSSYSTEME AG verwendet. Dieses
Betriebssystem BS enthält
mehr als fünf Millionen
Befehle, und seine ältesten
Softwarebausteine wurden bereits vor etwa 20 Jahren erstellt. Das
Betriebssystem BS ist in mehrere Subsysteme unterteilt, denen jeweils
bestimmte Funktionen zugeordnet sind. Diese Funktionen sind u.a.
die Verwaltung des Arbeitspeichers
Jedes
Subsystem
In
jedem der Subsysteme
Soll
zum Beispiel durch das Betriebssystem BS eine Datei erstellt werden,
so müssen
die Befehle des Softwarebausteins
Hat
die Vermittlungseinheit VE3 den Aufruf des Softwarebausteins
Die
Befehlsfolge der Vermittlungseinheit VE3 wird immer dann ausgeführt, wenn
das Subsystem
Auch
vom Subsystem
Beim
Aufruf von Softwarebausteinen
Beim
Ausführen
der Befehle des Softwarebausteins
Im
Subsystem
Beim
Ausführen
der Befehle des Softwarebausteins
Ein
Pfeil
Ein
Adreßwert
ADR1 kennzeichnet in der
In
einer auf die Speicherzelle mit der Adresse ADR0 folgenden Speicherzelle
mit der Adresse ADR0+1 ist die Versionsnummer
In
einer weiteren Speicherzelle mit der Adresse ADR0+3, die drei Speicherplätze von
der Adresse ADR0 entfernt ist, wird ein Prozeßname
Beginnend
mit der folgenden Speicherzelle an einer Adresse ADR0+4 werden spezifische Übergabewerte
Teil
b der
Beginnend
an einer Adresse ADR2 des Arbeitsspeichers
Der
Verzeichniseintrag
Der
Verzeichniseintrag
Der
Verzeichniseintrag
Im
Befehl
Der
Maschinenbefehl
Die
Maschinenbefehle
Die
Im
Schritt
Im
Schritt
Im
Schritt
Im
Schritt
Im
Schritt
Wird
im Schritt
Im
Schritt
Im
Schritt
Im
Schritt
Wird
im Schritt
Das
beschriebene Verfahren ist auf einfache Art und Weise auf andere
als die genannten Entwicklungstechniken und Programmiersprachen
erweiterbar, indem zwischen den Schritten
Im
Schritt
Beim
Ausführen
des jeweils gerufenen Softwarebausteins im Schritt
Claims (17)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19637883A DE19637883B4 (en) | 1996-09-17 | 1996-09-17 | Data processing system for executing large program systems |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19637883A DE19637883B4 (en) | 1996-09-17 | 1996-09-17 | Data processing system for executing large program systems |
Publications (2)
Publication Number | Publication Date |
---|---|
DE19637883A1 DE19637883A1 (en) | 1998-03-26 |
DE19637883B4 true DE19637883B4 (en) | 2005-06-16 |
Family
ID=7805901
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19637883A Expired - Fee Related DE19637883B4 (en) | 1996-09-17 | 1996-09-17 | Data processing system for executing large program systems |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE19637883B4 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7191434B2 (en) | 1999-09-14 | 2007-03-13 | Tao Group Limited | Loading object-oriented computer programs |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1079302A1 (en) * | 1999-08-23 | 2001-02-28 | Siemens Aktiengesellschaft | Method for operating a data processing system, module, exchange and corresponding computer program |
EP1253532A1 (en) * | 2001-04-25 | 2002-10-30 | Siemens Aktiengesellschaft | Data processing method and apparatus |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0381167A2 (en) * | 1989-02-01 | 1990-08-08 | Hitachi, Ltd. | Method for managing multiple virtual storages divided into families |
EP0474340A2 (en) * | 1990-08-14 | 1992-03-11 | Digital Equipment Corporation | Methods and apparatus for providing dynamic invocation of applicatons in a distributed heterogeneous environment |
EP0558945A2 (en) * | 1992-03-06 | 1993-09-08 | International Business Machines Corporation | Storage isolation with subspace-group facility |
DE4211678A1 (en) * | 1992-04-07 | 1993-10-14 | Siemens Ag | Operating system architecture for system with object=oriented graphic user interface - contains general and special components with function modules for use with any open document |
WO1995003575A1 (en) * | 1993-07-19 | 1995-02-02 | Taligent, Inc. | Objet-oriented host system |
-
1996
- 1996-09-17 DE DE19637883A patent/DE19637883B4/en not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0381167A2 (en) * | 1989-02-01 | 1990-08-08 | Hitachi, Ltd. | Method for managing multiple virtual storages divided into families |
EP0474340A2 (en) * | 1990-08-14 | 1992-03-11 | Digital Equipment Corporation | Methods and apparatus for providing dynamic invocation of applicatons in a distributed heterogeneous environment |
EP0558945A2 (en) * | 1992-03-06 | 1993-09-08 | International Business Machines Corporation | Storage isolation with subspace-group facility |
DE4211678A1 (en) * | 1992-04-07 | 1993-10-14 | Siemens Ag | Operating system architecture for system with object=oriented graphic user interface - contains general and special components with function modules for use with any open document |
WO1995003575A1 (en) * | 1993-07-19 | 1995-02-02 | Taligent, Inc. | Objet-oriented host system |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7191434B2 (en) | 1999-09-14 | 2007-03-13 | Tao Group Limited | Loading object-oriented computer programs |
Also Published As
Publication number | Publication date |
---|---|
DE19637883A1 (en) | 1998-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69730276T2 (en) | Apparatus and method for facilitating the avoidance of exceptional specific conditions during the course of a program | |
DE60006410T2 (en) | METHOD AND SYSTEM FOR DISTRIBUTING OBJECT-ORIENTED COMPUTER PROGRAMS | |
DE69814174T2 (en) | JAVA RUNTIME SYSTEM WITH CHANGED CONSTANT COLLECTION | |
DE2839726A1 (en) | DATA PROCESSING SYSTEM WITH DISTRIBUTED CONTROL ARCHITECTURE IN A MULTIPROCESSOR SYSTEM | |
DE2630323B2 (en) | Data storage device with a main memory, an auxiliary memory and a look-ahead logic | |
DE102010011658A1 (en) | Application platform and method for operating a data processing device with such | |
DE69734348T2 (en) | DISTRIBUTED PROCESSING | |
DE10041072A1 (en) | Automatic generation of program code involves forming symbol for component with interfaces in graphical editor, offering selection, generating code combining components | |
DE4104568A1 (en) | Distributed program processing for processing system - examining input and output commands to organise data flow | |
EP0838054B1 (en) | Graphic control process and device for controlling operations in a network management system | |
EP1005215A2 (en) | Method and system for editing configuration data in telecommunications systems | |
DE102005026256A1 (en) | Method for carrying out the data transfer between program elements of a process, buffer object for carrying out the data transfer, and printing system | |
DE19637883B4 (en) | Data processing system for executing large program systems | |
DE2245284A1 (en) | DATA PROCESSING SYSTEM | |
DE2108157A1 (en) | Data processing system with superimposed memory traffic | |
EP1119801A1 (en) | Method for operating an automation system | |
DE102012106913A1 (en) | Modular tool for building a link to a rights program of article information | |
DE102007015507A1 (en) | Processor with first and second modes of operation and method of operation | |
EP2093663A1 (en) | Engineering system for developing a project and method | |
DE102018104752A1 (en) | Method for executing and translating a computer program in a computer network, in particular for controlling a microscope | |
EP1044409B1 (en) | Program flow method and method for expanding a program component system | |
EP1318451B1 (en) | Method to execute a program on a computer | |
EP0996888B1 (en) | Method and data processing system for testing an assembler program for transferability | |
DE1774866C3 (en) | Circuit for determining the address of a piece of information contained in a memory of a data processing system | |
EP0568717A1 (en) | Method for tracing calls made to a target program by other programs |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8127 | New person/name/address of the applicant |
Owner name: FUJITSU SIEMENS COMPUTERS GMBH, 81739 MUENCHEN, DE |
|
8120 | Willingness to grant licences paragraph 23 | ||
8364 | No opposition during term of opposition | ||
R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee |
Effective date: 20110401 |