DE2432024A1 - PROCEDURE FOR OPERATING A DATA PROCESSING SYSTEM - Google Patents

PROCEDURE FOR OPERATING A DATA PROCESSING SYSTEM

Info

Publication number
DE2432024A1
DE2432024A1 DE2432024A DE2432024A DE2432024A1 DE 2432024 A1 DE2432024 A1 DE 2432024A1 DE 2432024 A DE2432024 A DE 2432024A DE 2432024 A DE2432024 A DE 2432024A DE 2432024 A1 DE2432024 A1 DE 2432024A1
Authority
DE
Germany
Prior art keywords
program
probe
command
command word
application program
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.)
Pending
Application number
DE2432024A
Other languages
German (de)
Inventor
Walter Dipl Ing Meyer
Helmut Dipl Ing Streidl
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.)
Siemens AG
Original Assignee
Siemens AG
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 Siemens AG filed Critical Siemens AG
Priority to DE2432024A priority Critical patent/DE2432024A1/en
Priority to NL7507532A priority patent/NL7507532A/en
Priority to GB26850/75A priority patent/GB1513946A/en
Priority to FR7519919A priority patent/FR2360939A1/en
Priority to IT24859/75A priority patent/IT1039436B/en
Priority to BE157960A priority patent/BE830977A/en
Publication of DE2432024A1 publication Critical patent/DE2432024A1/en
Pending legal-status Critical Current

Links

Classifications

    • 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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3636Software debugging by tracing the execution of the program

Description

SIEMENS AKTIENGESELLSCHAFT München 2, den - ^ J(J[_ | g7 4SIEMENS AKTIENGESELLSCHAFT München 2, the - ^ J (J [_ | g7 4

Berlin und München v/ittelsbacherplatz 2., Berlin and Munich v / ittelsbacherplatz 2.,

74/608874/6088

Verfahren zum Betrieb einer DatenverarbeitungsanlageMethod for operating a data processing system

In programmgesteuerten Datenverarbeitungsanlagen werden Programme abgewickelt, die bekanntlich in der Regel aus mehreren Unterprogrammen bestehen, die ihrerseits wieder aus einzelnen Programmschritten bestehen. Dabei können auch Fehler auftreten und es sind hierfür Abhilfemaßnahmen vorzusehen. Die erwähnten Fehler können von den Programmen selber oder von den an ihrer Ausführung beteiligten Einrichtungen hervorgerufen werden. Fehler in den Programmen können durch Prüfung der einzelnen Befehle mit Hilfe von besonderen Prüfprogrammen ermittelt werden (siehe z.B. DT-AS 1 O76 407). Mit Hilfe eines derartigen Programmes kann auch der Ablauf des gesamten Programmes verfolgt werden, wobei ein sogenanntes Ablaufverfolgungsprogramm benutzt wird (siehe z.B. DT-OS 2 010 746)« Die erwähnten Prüfprogramme werden insbesondere beim ersten Ablauf eines Anwendungsprogrammes benutzt. Durch die Prüfprogramme wird der Ablauf des Anwendungsprogrammes verlängert. Diese Verlängerung ist in der Regel so stark, daß für den späteren Nutzbetrieb der Datenverarbeitungsanlage solche Prüfprogramme wenig geeignet sind.In program-controlled data processing systems, programs are processed which, as is well known, usually consist of several sub-programs which in turn consist of individual program steps. Errors can also occur and are provide remedial measures for this. The errors mentioned can be caused by the programs themselves or by those involved in their execution Facilities are evoked. Errors in the programs can be identified by checking the individual commands with the help of special Test programs can be determined (see e.g. DT-AS 1 O76 407). With the help of such a program, the sequence of the entire Programs can be traced using a so-called tracing program (see e.g. DT-OS 2 010 746) «The The test programs mentioned are used in particular when an application program is run for the first time. The test programs will the execution of the application program is extended. This extension is usually so strong that such test programs are not very suitable for the later use of the data processing system.

Liegen bereits Hinweise vor, in welchem Teil eines Anwendungsprogrammes mit einem Fehler zu rechnen ist, so kann man für dessen genaue Ermittlung auch andere Methoden anwenden. Hierbei kann man z.B. zur Erfassung von fehlerhaften Programmschritten Programmschleifen wiederholt abwickeln, die mehr oder weniger viele Programmschritte umfassen. Die Länge der durch die erfaßten Programmschritte gebildeten Programmabschnitte kann durch Eingeben der Adressen der sie begrenzenden Programmschritte verändert werden, wodurch schließlich die Fehlerstelle gefunden werden kann (siehe z.B. DT-AS 2 002 166). Um Anhaltspunkte dafür zu gewinnen, wann mit Fehlern zu rechnen ist, kann an vorher festgelegten begrenzten Stellen des Programmes einer Ablaufverfolgung vorgesehen werden (siehe J. Martin: Echtzeit-Programmiertechnik, Seiten 275, 277, 283, 32Π). Für diese Stellen ist dann ein Ausdruck für die DatenAre there any indications in which part of an application program? If an error is to be expected, other methods can also be used to determine it precisely. Here you can E.g. to record faulty program steps, repeatedly process program loops that have a greater or lesser number of program steps include. The length of the program sections formed by the recorded program steps can be entered by entering the Addresses of the program steps that limit them can be changed, which ultimately allows the error location to be found (see e.g. DT-AS 2 002 166). In order to gain clues as to when errors can be expected, predetermined limits can be used Provide the program with a trace (see J. Martin: Real-time programming technology, pages 275, 277, 283, 32Π). For these positions there is then a printout for the data

509884/0579
VPA 9/610/4156 Hlr/EK - 2 -
509884/0579
VPA 9/610/4156 Hlr / EK - 2 -

ORIGINAL INSPECTiDORIGINAL INSPECTiD

erforderlich, die dabei in der Datenverarbeitungsanlage anfallen. Es zeigt sich, daß auch in diesen Fällen damit zu rechnen ist, laß der Umfang der anfallenden Daten recht groß ist und daß hierfür ein nicht unbeträchtlicher Zeitaufwand erforderlich ist, der insbesondere bei Echtzeit-Datenverarbeitungsanlagen sehr störend ist.required, which arise in the data processing system. It turns out that in these cases too it can be expected that let the volume of the resulting data is quite large and that a not inconsiderable amount of time is required for this, the is very annoying, especially in real-time data processing systems.

Die Erfindung geht von der Aufgabe aus, ein Verfahren zum Betrieb einer Datenverarbeitungsanlage zu schaffen, das zur Überwachung des Ablaufes eines Anwendungsprogrammes dient und welches vermeidet, daß hierfür ein störender Zeitaufwand erforderlich ist und dabei sehr umfangreiche Daten anfallen. Es wird dabei davon ausgegangen, daß dabei einzelne vorher festgelegte Befehlswörter erfaßt werden. Dieses Verfahren ist gemäß der Erfindung dadurch gekennzeichnet, daß in jedem linearen Programmzweig mindestens ein Befehlswort darauf überwacht wird, ob und wie oft es aufgerufen wird, daß hierzu diese Befehlswörter vorher durch Sondenbefehlswörter ersetzt v/erden, wobei die ursprünglichen Befehlswörter in einen besonderen Teil des Befehlsspeichers übertragen werden, und daß bei Ablauf des Anwendungsprogrammes ein Sondenbefehlswort jeweils das Aufrufen des zugehörigen ursprünglichen Befehlswortes und die Kinspeicherung einer Quittung darüber veranlaßt. Durch diese Maßnahmen wird auch festgehalten, ob und wie oft die einzelnen linearen Programmzweige des Anwendungsprogrammes durchlaufen werden. Die hierfür einzuspeichernden Daten haben verhältnismäßig kleinen Umfang, sodaß der Ablauf des Anwendungsprogrammes selber nur geringfügig verlängert wird. Damit ist das erfindungsgemäße Verfahren auch insbesondere für den Betrieb von Echtzeit-Datenverarbeitungsanlagen geeignet. Es kann dabei nicht nur beim ersten Ablauf eines Anwendungsprogrammes sondern auch später jederzeit mit Vorteil benutzt werden. Dadurch lassen sich dann auch Fehler in den beim Ablauf des Anwendungsprogrammes benutzten Einrichtungen erfassen, die erst nach wiederholtem Ablauf des Anwendungsprogrammes auftreten. Da die Anzahl der linearen Programmzweige, also derjenigen Prograinmzweige, die ihrerseits keine Unterverzweigungen aufweisen, im Vergleich zu der Anzahl der insgesamt vorhandenen Programmschritte gering ist, wird das ursprüngliche Programm durch die Er-The invention is based on the object of creating a method for operating a data processing system that is used for monitoring the execution of an application program is used and which avoids the need for a disruptive expenditure of time and this results in very extensive data. It is assumed here that individual previously defined command words are recorded will. According to the invention, this method is characterized in that at least one instruction word in each linear program branch It is monitored to see whether and how often it is called, that for this purpose these command words beforehand by probe command words replaces v / earth, the original instruction words being transferred to a special part of the instruction memory, and that When the application program is running, a probe command word is used to call up the associated original command word and the Kin storage of a receipt initiated. These measures also record whether and how often the individual linear Program branches of the application program are run through. The data to be stored for this are relatively small Extent, so that the execution of the application program itself is only slightly extended. This is the method according to the invention also in particular for the operation of real-time data processing systems suitable. It can be used to advantage not only when an application program is run for the first time but also later at any time will. This means that errors in the devices used when the application program is running can also be detected. which only occur after the application program has run repeatedly. Since the number of linear program branches, i.e. those Prograin branches that do not have any sub-branches, is small compared to the total number of program steps available, the original program is

VPA 9/610/4156 509884/0579 _5_VPA 9/610/4156 509884/0579 _ 5 _

Setzung vorher festgelegter Befehlswörter nur sehr wenig verändert, sodaß auch ein dem ursprünglichen Betrieb entsprechender Betrieb der Datenverarbeitungsanlage erhalten bleibt. Es ist auch vermieden, daß für die Überwachung ein besonderer Platz in den einzelnen Befehlswörtern benötigt wird, der von vornherein hierfür zu reservieren ist. Fehler werden z.B. daran erkannt, daß ein an sich zu durchlaufender Programmzweig überhaupt nicht durchlaufen wird-, weil ein dazugehöriges durch ein Sondenbefehlswort ersetztes Befehlswort überhaupt nicht aufgerufen wird, oder daran, daß ein Programmzweig ungewöhnlich oft durchlaufen wird, was daran zu erkennen ist, daß das zugehörige durch ein Sondenbefehlswort ersetzte Befehlswort ebenfalls ungewöhnlich oft aufgerufen wird. Die genaue Fehlerursache kann dann z.B. dadurch näher untersucht werden, daß die an sich bekannten bereits beschriebenen Programmschleifen zur Erfassung von fehlerhaften Programmschritten abgewickelt werden. Hiermit kann aber gewartet werden, bis sich ein Fehler gemäß dem erfindungsgemäßen Verfahren bemerkbar gemacht hat. Das erfindungsgemäße Verfahren kann daher auch ständig beim Ablauf eines Anwendungsprogrammes miJ.Venutzt werden.The setting of previously defined command words has only changed very little, so that the data processing system continues to operate in accordance with the original operation. It is also avoided that a special place is required in the individual command words for the monitoring, which is to be reserved for this in advance. Errors are recognized, for example, by the fact that a program branch to be run through is not run through at all, because an associated command word replaced by a probe command word is not called at all, or by the fact that a program branch is run through unusually often, which can be seen from the fact that the associated command word replaced by a probe command word is also called up unusually often. The exact cause of the error can then be examined in more detail, for example, by executing the already described program loops known per se for the detection of faulty program steps. However, this can be used to wait until an error has become noticeable in accordance with the method according to the invention. The inventive method can therefore also be continually during execution of an application program mi J .Venutzt.

Die Erfindung wird im folgenden anhand der beigefügten Figuren erläutert. Figur 1 zeigt ein Beispiel für ein Anwendungsprogramm, das aus mehreren linearen Programmzweigen besteht. Figur 2 zeigt dasselbe Anwendungsprogramm, jedoch ist dort in jedem Programmzweig ein Befehlswort durch ein Sondenbefehlswort ersetzt. Figuren 3 bis 5 zeigen Beispiele für Listen eines Sondenprogramms.The invention is described below with reference to the accompanying figures explained. FIG. 1 shows an example of an application program which consists of several linear program branches. Figure 2 shows the same application program, but in each program branch a command word is replaced by a probe command word. characters 3 to 5 show examples of lists of a probe program.

Zu dem in Figur 1 gezeigten Anwendungsprogramm gehören die linearen Programmzweige uAx-1, uAx, uAx+1 und uAx+2. Die Befehlswörter dieses Anwendungsprogrammes sind zeilenweise angeordnet und mit den Adressen i, i+1, i+2... versehen. Jeder Programmzweig weist hier mehrere Befehlswörter auf, von denen jeweils eines in der Figur bezeichnet ist. So ist in dem Programmzweig uAx-1 das Befehlswort x-1Bk, in dem Programmzweig uAx das Befehlswort xBl, in dem Programmzweig v.Ax+1 das Befehlswort x+1Bm und in dem Programmzweig uAx+2 das Befehlswort x+2Bn bezeichnet. Es sind dies dieje-The application programs shown in FIG. 1 include the linear ones Program branches uAx-1, uAx, uAx + 1 and uAx + 2. The command words of this application program are arranged in lines and with the addresses i, i + 1, i + 2 ... Each branch of the program has several command words, one of which is in the Figure is designated. Thus, in the program branch uAx-1, the command word x-1Bk, in the program branch uAx, the command word xBl, in the program branch v.Ax + 1 the command word x + 1Bm and in the program branch uAx + 2 denotes the command word x + 2Bn. These are the

509884/0579
VPA 9/610/4156 - 4 -
509884/0579
VPA 9/610/4156 - 4 -

nigen Befehlswörter, die hier beispielsweise im Zuge des erfindungsgemäßen Verfahrens auf ihr Aufrufen überwacht werden. In der Figur 2 ist gezeigt, daß diese Befehlswörter durch Sondenbefehlswörter ersetzt sind. In der Figur 2 sind daher dieselben Programmzweige wie in Figur 1 gezeigt. Jedoch ist in dem Programmzweig uAx-1 das Befehlswort x-1Bk durch das Sondenbefehlswort Sy-1 ersetzt. Das genannte Befehlswort und das zugehörige Sondenbefehlswort haben beide dieselbe Adresse i+5. Die Befehlswörter xBl, x+1Bm und x+2Bn sind durch die Sondenbefehlswörter Sy, Sy+1 und Sy+2 ersetzt, siehe Figur 2. Auch hier haben zusammengehörige Befehlswörter und Sondenbefehlswörter jeweils dieselben Adressen, die auch in den Figuren 1 und 2 dort angeschrieben sind. Zweckmässigerweise werden die Sondenbefehlswörter in das Anwendungsprogramm bei der Abwicklung eines Sondenprogrammes eingefügt, in das jeweils vorher die Adressen der zu ersetzenden Befehlswörter des Anwendung spr ogr amine s über die Eingabeeinrichtung der Datenverarbeitungsanlage eingefügt werden. Dabei ergibt sich also zum Beispiel, das in Figur 2 gezeigte modifizierte Anwendungsprogramm. Hierbei werden die ursprünglichen Befehlswörter, die durch Sondenbefehlswörter ersetzt werden, z.B. in einen besonderen Teil des Befehlsspeichers übertragen. Ausschnitte aus diesem Teil des Befehlsspeichers sind in den Figuren 3 und 4 gezeigt. Man findet dort die in Figur 2 nicht gezeigten ersetzten Befehlswörter x-1Bk, xBl, x+1Bm und x+2Bn wieder. Wenn nun das Anwendungsprogramm in der Form wie es aus Figur 2 erkennbar ist, abläuft, wird durch ein Sondenbefehlswort jeweils das Aufrufen des zugehörigen ursprünglichen Befehlswortes und die Einspeicherung einer Quittung darüber veranlaßt. Wird z.B. das Sondenbefehlswort Sy mit der Adresse i+10 aufgerufen, so veranlasst dieses durch einen Programmschritt, daß das zugehörige ursprüngliche Befehlswort xBl aus dem Befehlsspeicher aufgerufen wird und damit die durch dieses Befehlswort festgelegte Operation ausgeführt wird. Ferner wird durch einen weiteren Programmschritt die Einspeicherung einer Quittung darüber, daß dieses Befehlswort aufgerufen wurde, veranlaßt. Dabei kann jedes Mal, wenn ein Sondenbefehlswort aufgerufen wird, die Adresse oder die Nummer dieses Sondenbefehlswortes in die Quittungsliste in fortlaufender Reihenfolge eingegeben werden. In der Figur 3 ist einenigen command words, here for example in the course of the invention Procedure to be monitored for their calling. In FIG. 2 it is shown that these command words are replaced by probe command words are replaced. The same program branches as in FIG. 1 are therefore shown in FIG. However, it is in the program branch uAx-1 the command word x-1Bk replaced by the probe command word Sy-1. The mentioned command word and the associated probe command word both have the same address i + 5. The command words xBl, x + 1Bm and x + 2Bn are represented by the probe command words Sy, Sy + 1 and Sy + 2 replaced, see Figure 2. Here, too, command words and probe command words that belong together each have the same addresses, which are also written in Figures 1 and 2 there. The probe command words are expediently in the application program inserted when processing a probe program into which in each case beforehand the addresses of the command words to be replaced of the application spr ogr amine s via the input device of the data processing system inserted. This results in the modified application program shown in FIG. 2, for example. Here the original command words, which are replaced by probe command words, are transferred, for example, to a special part of the command memory. Excerpts from this part of the instruction memory are shown in Figures 3 and 4. The replaced instruction words x-1Bk, xBl, x + 1Bm, not shown in FIG. 2, are found there and x + 2Bn again. If the application program is now running in the form as can be seen from FIG. 2, a probe command word each causes the respective original command word to be called up and an acknowledgment to be stored about it. If, for example, the probe command word Sy is called with the address i + 10, so this causes a program step that the associated original command word xBl from the command memory is called and the operation specified by this command word is carried out. In addition, a further program step the storage of an acknowledgment that this command word has been called. Every time when a probe command word is called, the address or the number of this probe command word in the acknowledgment list in consecutive order Order to be entered. In Figure 3 is a

509884/0579
VPA 9/610/4156 - 5 -
509884/0579
VPA 9/610/4156 - 5 -

ierartige Quittungsliste gezeigt, die sich bei einem Betriebsbeispiel ergeben hat. Dort ist zunächst die Adresse i+5 des Sondenbefehls Sy-1 eingegeben. Dann folgt zweimal die Adresse i+19 des Sondenbefehls Sy+1. Danach folgt die Adresse i+24 des Sondenbefehls Sy+2. Danach ist neunmal die Adresse i+19 des Sondenbefehls Sy+1 eingegeben,,' Schließlich ist zweimal die Adresse i+24 des Sondenbefehls Sy+2 zu sehen. Der Umstand, daß der Programmzweig uAx+1 mit dem Sondenbefehl Sy+1 neunmal hintereinander abgewickelt wurde, ist unter Umständen als Hinweis auf einen Fehler anzusehen.ier-like receipt list shown, which is in an operating example has revealed. First the address i + 5 of the probe command Sy-1 is entered there. Then the address i + 19 des follows twice Probe command Sy + 1. This is followed by address i + 24 of the probe command Sy + 2. Then the address i + 19 of the probe command Sy + 1 is entered nine times, 'Finally the address i + 24 of the probe command is twice See Sy + 2. The fact that the program branch uAx + 1 is processed nine times in a row with the probe command Sy + 1 may be viewed as an indication of an error.

•Es können die Quittungen auch in einer Quittungsliste eines Ergebnisspeichers gesammelt werden. In jedem Fall können sie mit Hilfe eines Ausgabebefehlswortes durch die Ausgabeeinrichtung der Datenverarbeitungsanlage ausgedruckt werden. Quittungslisten, die beispielsweise im Befehlsspaicher enthalten sein können, sind in den Figuren 4 und 5 gezeigt. Sie sind entsprechend den Befehlswörtern zeilenweise gegliedert. Die Quittungen sind gemäß den Figuren 4 und 5 jeweils in der rechten Spalte gesammelt. Aus den dortig-en Eintragungen ergibt es sich, daß mit Hilfe des Sondenbefehlswortes Sy-1 bereits das Befehlswort x-1Bk einmal aufgerufen wurde. Das Befehlswort xBl wurde dagegen noch nicht aufgerufen. Das Befehls- \tfort x+1Bm wurde bereits elfmal aufgerufen, was aus der binär kodierten Darstellung der Zahl 11 in der jeweils zugehörigen Zeile der Figuren 3 und 4 ersichtlich ist. Das Befehlswort x+2Bn wurde bereits zweimal aufgerufen.• The receipts can also be stored in a receipt list in a results memory to be collected. In any case, you can use an output command word through the output device of the data processing system can be printed out. Acknowledgment lists, which can be contained in the command memory, for example, are in the Figures 4 and 5 shown. They are structured line by line according to the command words. The receipts are in accordance with FIGS and 5 each collected in the right column. From the entries there it follows that with the help of the probe command word Sy-1 the command word x-1Bk has already been called once. That Command word xBl, however, has not yet been called. The command forward x + 1Bm has already been called eleven times, which is from the binary coded Representation of the number 11 in the respective line of Figures 3 and 4 can be seen. The command word x + 2Bn was already called twice.

Die Reihenfolge, in der die in den Figuren 1 und 2 bezeigten linearen Programmzweige abgewickelt werden, ist insbesondere bei einer Echtzeit-Datenverarbeitungsanlage davon abhängig, wie sich während der Abwicklung von peripheren Einrichtungen her eintreffende Daten auswirken. Es können sich daher bei der Abwicklung des jeweils letzten Befehls eines Programmzweiges Sprünge in unterschiedliche andere Programmzweige ergeben, es kann sich auch dabei die Wiederholung desselben Programmzweiges ergeben. Schließlich kann sich auch, ohne das das zwangsläufig auf einen Fehler hinweist, ergeben, daß bestimmte Programmzweige übersprungen werden. Auch aus den in den Figuren 4 und 5 gezeigten Quittungslisten ergibt es sich, daßThe order in which the shown in Figures 1 and 2 linear Program branches are processed, is particularly in a real-time data processing system dependent on how during incoming data from the processing of peripheral equipment impact. There can therefore be jumps into different branches when the last command of a program branch is processed other program branches result, the same program branch can also be repeated. Finally can also, without this necessarily indicating an error, result in certain program branches being skipped. Also from the in the receipt lists shown in Figures 4 and 5, it follows that

509884/0579
VPA 9/610/4156 - 6 -
509884/0579
VPA 9/610/4156 - 6 -

bei dem vorliegenden Betriebsbeispiel der Programmzweig uAx-1 einmal, der Programmzweig uAx+1 elfmal und der Programmzweig uAx+2 zweimal abgewickelt wurde. Der Umstand, daß der Programmzweig uAx+1 bereits verhältnismäßig oft abgewickelt worden ist, kann auch hier unter Umständen bereits als ein Hinweis darauf anzusehen sein, daß ein Fehler vorliegt.in the operating example at hand, the program branch uAx-1 once, the program branch uAx + 1 eleven times and the program branch uAx + 2 was handled twice. The fact that the program branch uAx + 1 has already been processed relatively often, can under certain circumstances already be regarded as an indication that an error has occurred.

Um diesen Fehler näher untersuchen zu können, kann beispielsweise in an sich bekannter Weise (siehe DT-AS 2 002 166) die Abwicklung von Programmschleifen veranlaßt werden, die alleine diesen Programmzweig betreffen. Unter Umständen kann auch der Umstand, daß der Programmzweig uAx noch nicht abgewickelt wurde, als Hinweis auf einen damit zusammenhängenden Fehler angesehen werden, insbesondere dann, wenn es sich hier um einen Programmzweig handelt, der in jedem Fall etwa vor dem Programmzweig uAx+1 oder vor dem Programmzweig uAx+2 abzuwickeln ist. Dies wäre z.B. der Fall, wenn das letzte Befehlswort des Programmzweiges uAx einen bedingten Sprungbefehl für den Sprung in den Programcizweig uAx+1 oder in den Programinzweig uAx+2 enthalten würde. Auch in diesem Falle kann der Fehler näher in an sich bekannter Weise untersucht werden. Der mit der Untersuchung von Fehlern verbundene Zeitaufwand und sonstige Aufwand fällt aber zunächst bei der Abwicklung des Anwendungsprogrammes, wie es in der Figur gezeigt ist, nicht an. Er fällt erst an, wenn tatsächlich eine , Fehleruntersuchung stattfindet. Das gemäß Figur 2 modifizierte Anwendungsprogramm kann daher auch ohne weiteres regelmäßig beim Betrieb der Anlage benutzt werden.In order to be able to investigate this error more closely, the processing can for example be carried out in a manner known per se (see DT-AS 2 002 166) caused by program loops that only affect this branch of the program. Under certain circumstances, the The fact that the program branch uAx has not yet been processed is viewed as an indication of a related error especially if this is a program branch that is in any case before the program branch uAx + 1 or before the program branch uAx + 2 is to be processed. This would be the case, for example, if the last command word of the program branch uAx a conditional jump command for jumping into the program branch uAx + 1 or in the program branch uAx + 2 would contain. In this case too, the fault can be examined in more detail in a manner known per se. The one with the investigation of bugs The associated expenditure of time and other expenditure, however, initially falls during the execution of the application program, as shown in the figure is not indicated. It only arises when an error investigation actually takes place. The modified according to FIG The application program can therefore easily be used regularly when operating the system.

Wenn bei der Abwicklung des gemäß Figur 2 modifizierten Anwendungsprogramme s ein Sondenbefehlswort aufgerufen wird, so hat es mehrere Programmschritte zu veranlassen, wie bereits beschrieben. Diese Programmschritte können z.B. dadurch veranlaßt werden, daß ein Sondenbefehlswort jeweils einen unbedingten Sprungbefehl zur Abwicklung eines Unterprogramms des Sondenprogrammes auslöst, welches Befehle für diese zu veranlassenden Programmschritte enthält. Hierbei wird also die an sich bekannte Technik, bei der in ein Unterprogramm gesprungen wird, ausgenutzt. Stattdessen kannIf during the processing of the application programs modified according to FIG s a probe command word is called, it has to initiate several program steps, as already described. These program steps can be initiated, for example, by giving each probe command word an unconditional jump command to the Processing of a subroutine of the probe program triggers, which contains commands for these program steps to be initiated. In this case, the technology known per se, in which in a subroutine is jumped is used. Instead, you can

509884/0579 ;509884/0579;

VPA 9/610/4156 ' - 7 -VPA 9/610/4156 '- 7 -

aber auch die Abwicklung des erforderlichen Unterprogrammes durch eine Änderung der Priorität dieses Unterprogrammes oder der Priorität des gerade ablaufenden Anwendungsprogrammes ausgelöst werden. Hierbei kann entweder die Priorität des erforderlichen Unterprogrammes über die gerade vorhandene Priorität des Anwendungsprogrammes erhöht werden oder umgekehrt die Priorität des gerade ablaufenden Anwendungsprogrammes unter die bereits festgelegte Priorität des Unterprogrammes herabgesetzt werden. Dabei kann die an sich bereits bekannte Technik (siehe z.B. DT-OS 2 010 746) für den Programmwechsel durch Prioritätsänderung ausgenutzt werden.but also the processing of the necessary sub-program a change in the priority of this subroutine or the priority of the currently running application program. Either the priority of the required subroutine can be set over the current priority of the application program or vice versa, the priority of the currently running application program below the priority that has already been set of the subroutine can be reduced. The technology already known per se (see e.g. DT-OS 2 010 746) can be used for the Program changes can be exploited by changing the priority.

Wie bereits erläutert wurde, wird für das Sondenprogramm eine gespeicherte Liste benutzt, in der die im modifizierten Anwendungsprogramm ersetzten Befehlswörter enthalten sind und die Quittungen in einer Quittungsliste gesammelt werden. Um den Zusammenhang zwischen den im modifizierten Anwendungsprogramm enthaltenen Sondenbefehlen und den zugehörigen ursprünglichen Befehlswörtern sicher zu stellen, sind in den in den Figuren 4 und 5 gezeigten gespeicherten Listen noch weitere Angaben enthalten. So ist für diesen Zweck in der Liste gemäß Figur 4 beispielsweise neben einem ersetzten Befehlswort noch jeweils die Nummer des zugehörigen Sondenbefehls enthalten. So ist ziB. neben dem ersetzten Befehlswort xBl noch die Nummer y des zugehörigen Sondonbefehls Sy enthalten. Der fragliche Zusammenhang kann auch dadurch sichergestellt werden,^ daß neben einem ersetzten Befehlswort jeweils die Adresse dieses Befehlswortes im ursprünglichen Anwendungsprogramm bzw. die Adresse des zugehörigen Sondenbefehls im modifizierten Anwendungsprogramm enthalten ist. So ist z.B. in der gespeicherten Liste gemäß Figur 5 neben dem Befehlswort xBl noch die Adresse i+10 enthalten. Dadurch ist erreicht, daß jeweils zugleich ein ersetztes Befehlswort des Anwendungsprogrammes und die Nummer des zugehörigen Sondenbefehls oder die Adresse des betreffenden Befehlswortes aufrufbar sind. Damit ist ermöglicht, daß durch ein Sondenbefehlswort jeweils das bereits beschriebene Unterprogramm des Sondenprogramme s in eindeutiger Weise abgewickelt werden kann.As already explained, a saved one is saved for the probe program List used containing the command words replaced in the modified application program and the acknowledgments are collected in a receipt list. To see the relationship between the probe commands contained in the modified application program and the associated original command words The stored lists shown in FIGS. 4 and 5 contain further information. So is for this one Purpose in the list according to FIG. 4, for example, in addition to a replaced command word, the number of the associated probe command contain. So is ziB. next to the replaced command word xBl still contain the number y of the associated Sondon command Sy. Of the the connection in question can also be ensured by ^ that in addition to a replaced command word each the address of this command word in the original application program or the Address of the associated probe command is contained in the modified application program. E.g. in the saved list According to Figure 5, in addition to the command word xBl also contain the address i + 10. This ensures that a replaced command word of the application program and the number of the associated Probe command or the address of the relevant command word can be called up. This makes it possible to use a probe command word in each case the already described subroutine of the probe program can be processed in an unambiguous manner.

Wenn es nicht mehr für erforderlich gehalten wird, anstelle des ursprünglichen Anwendungsprogrammes das modifizierte Anwendungs-If it is no longer considered necessary to replace the original application program with the modified application

509884/0579
VPA 9/610/4156 - 8 -
509884/0579
VPA 9/610/4156 - 8 -

programm abzuwickeln, können z.B. mittels eines einzeln abwickelbaren Unterprogrammes des Sondenprogramms die Sondenbefehlswörter im Anwendungsprogramm durch die zugehörigen ursprünglichen Befehlswörter wieder ersetzt werden. Die dazu erforderlichen Angaben köny nen offensichtlich auch aus der in der Figur 4 oder der in der Figur 5 gezeigten gespeicherten Liste entnommen werden.program can be processed, for example, by means of an individually processable Subroutine of the probe program the probe command words in the application program by the associated original command words to be replaced again. The information required for this is available can obviously also be taken from the stored list shown in FIG. 4 or in FIG.

8 Patentansprüche
5 Figuren
8 claims
5 figures

VPA 9/610/4156 - 9 -VPA 9/610/4156 - 9 -

509884/0579509884/0579

Claims (8)

PatentansprücheClaims Verfahren zum Betrieb einer Datenverarbeitungsanlage, das zur Überwachung des Ablaufes eines Anwendungsprogrammes dient und bei dem einzelne vorher festgelegte Befehlswörter erfaßt werden, dadurch gekennzeichnet, daß in jedem linearen Programmzweig (z.B..uAx) mindestens ein Befehlswort (xBl) darauf überwacht wird, ob und wie oft es aufgerufen wird, daß hierzu diese Befehlswörter vorher durch Sondenbefehlswörter (z.B. Sy) ersetzt werden, wobei die ursprünglichen Befehlswörter in einen besonderen Teil des Befehlsspeichers übertragen werden, und daß bei Ablauf des Anwendungsprogrammes ein Sondenbefehlswort (Sy) jeweils das Aufrufen des zugehörigen ursprünglichen Befehlswortes (xBl) und die Einspeicherung' einer Quittung darüber veranlaßt.Method for operating a data processing system which is used to monitor the execution of an application program and in which individual predetermined command words are detected, characterized in that in each linear program branch (e.g. uAx) at least one command word (xBl) is monitored to determine whether and how often it is called that this Command words are replaced beforehand by probe command words (e.g. Sy), with the original command words in a special part of the command memory are transferred, and that a probe command word when the application program is running (Sy) each calling up the associated original command word (xBl) and storing an acknowledgment about it caused. 2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß die Quittungen in einer Quittungsliste eines Ergebnisspeichers gesammelt werden und mit Hilfe eines Ausgabebefehlswortes durch die Ausgabeeinrichtung der Datenverarbeitungsanlage ausgedruckt v/erden,2. The method according to claim 1, characterized in that the receipts are collected in a receipt list of a results memory are and printed out with the aid of an output command word by the output device of the data processing system v / earth, 3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß die Sondenbefehlswörter in das Anwendungsprogramm bei der Abwicklung eines Sondenprogrammes eingefügt v/erden, in das jeweils worher die Adressen der zu ersetzenden Befehlswörter des Anwendungsprogrammes über die Eingabeeinrichtung der Datenver~ arbeitungsanlage eingefügt werden.3. The method according to claim 1 or 2, characterized in that the probe command words in the application program during processing of a probe program inserted into the whence the addresses of the command words to be replaced in the application program via the input device of the data server processing system can be inserted. 4. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß ein Sondenbefehlswort (Sy) jeweils einen unbedingten Sprungbefehl zur Abwicklung eines Unterprogrammes des Sondenprogrammes-für die zu veranlassenden Programmschritte auslöste.4. The method according to any one of the preceding claims, characterized in that a probe command word (Sy) in each case an unconditional Jump command for processing a sub-program of the probe program for the program steps to be initiated triggered. VPA 9/610/4156 - 10 -VPA 9/610/4156 - 10 - 509884/0579509884/0579 5. Verfahren nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, daß ein Sondenbefehlswort (Sy) jeweils die Abwicklung eines Unterprogrammes des Sondenprogrammes für die zu veranlassenden Programmschritte durch eine Änderung der Priorität dieses Unterprogrammes oder der Priorität des Anwendungsprogrammes auslöst.5. The method according to any one of claims 1 to 4, characterized in that a probe command word (Sy) in each case the processing a sub-program of the probe program for the to initiating program steps by changing the priority of this sub-program or the priority of the application program triggers. 6. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß jedesmal, wenn ein Sondenbefehlswort aufgerufen wird, die Adresse oder die Nummer dieses Sondenbefehlswortes in die O.uittungsliste in fortlaufender Reihenfolge eingegeben wird.6. The method according to any one of the preceding claims, characterized in, that each time a probe command word is called, the address or number of that probe command word is entered in the message list in consecutive order. 7. Verfahren nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, daß für das Sondenprogramm eine gespeicherte Liste benutzt wird, in der jeweils zugleich ein ersetztes Befehlswort (xBl) des Anwendungsprogrammes und die Nummer des zugehörigen Sondenbefehls (y) oder die Adresse des betreffenden Befehlswortes (i+10) aufrufbar sind,7. The method according to any one of claims 1 to 5, characterized in that that a stored list is used for the probe program, in each of which a replaced command word is used (xBl) of the application program and the number of the associated Probe command (y) or the address of the relevant command word (i + 10) can be called, 8. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß mittels eines einzeln abwickelbaren Unterprogrammes des Sondenprogrammes die Sonderibafehlswörter im Anwendungsprogramm durch die zugehörigen ursprünglichen Befehlswörter ersetzt werden. 8. The method according to any one of the preceding claims, characterized in, that by means of an individually executable subroutine of the probe program, the Sonderiba error words in the application program be replaced by the associated original command words. VPA 9/610/A156 5 0 9 B B 4 / D 5 7 9VPA 9/610 / A156 5 0 9 B B 4 / D 5 7 9 A4A4 LeerseiteBlank page
DE2432024A 1974-07-03 1974-07-03 PROCEDURE FOR OPERATING A DATA PROCESSING SYSTEM Pending DE2432024A1 (en)

Priority Applications (6)

Application Number Priority Date Filing Date Title
DE2432024A DE2432024A1 (en) 1974-07-03 1974-07-03 PROCEDURE FOR OPERATING A DATA PROCESSING SYSTEM
NL7507532A NL7507532A (en) 1974-07-03 1975-06-24 PROCEDURE FOR THE OPERATION OF AN INFORMATION PROCESSING DEVICE.
GB26850/75A GB1513946A (en) 1974-07-03 1975-06-25 Data processing systems
FR7519919A FR2360939A1 (en) 1974-07-03 1975-06-25 PROCESS FOR THE OPERATION OF A DATA PROCESSING INSTALLATION
IT24859/75A IT1039436B (en) 1974-07-03 1975-06-27 DATA PROCESSING SYSTEM
BE157960A BE830977A (en) 1974-07-03 1975-07-03 PROCESS FOR THE OPERATION OF A DATA PROCESSING INSTALLATION

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE2432024A DE2432024A1 (en) 1974-07-03 1974-07-03 PROCEDURE FOR OPERATING A DATA PROCESSING SYSTEM

Publications (1)

Publication Number Publication Date
DE2432024A1 true DE2432024A1 (en) 1976-01-22

Family

ID=5919641

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2432024A Pending DE2432024A1 (en) 1974-07-03 1974-07-03 PROCEDURE FOR OPERATING A DATA PROCESSING SYSTEM

Country Status (6)

Country Link
BE (1) BE830977A (en)
DE (1) DE2432024A1 (en)
FR (1) FR2360939A1 (en)
GB (1) GB1513946A (en)
IT (1) IT1039436B (en)
NL (1) NL7507532A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0307075A2 (en) * 1987-07-10 1989-03-15 Tandem Computers Incorporated Method and apparatus for measuring program execution

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59133610A (en) * 1983-01-19 1984-08-01 Omron Tateisi Electronics Co Programmable controller
US5263153A (en) * 1987-01-22 1993-11-16 National Semiconductor Corporation Monitoring control flow in a microprocessor
DE3740762A1 (en) * 1987-01-22 1988-08-04 Nat Semiconductor Corp DATA PROCESSING SYSTEM WITH AN EXTERNAL INTERFACE

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0307075A2 (en) * 1987-07-10 1989-03-15 Tandem Computers Incorporated Method and apparatus for measuring program execution
EP0307075A3 (en) * 1987-07-10 1990-10-10 Tandem Computers Incorporated Method and apparatus for measuring program execution

Also Published As

Publication number Publication date
FR2360939A1 (en) 1978-03-03
NL7507532A (en) 1976-01-06
IT1039436B (en) 1979-12-10
GB1513946A (en) 1978-06-14
BE830977A (en) 1976-01-05

Similar Documents

Publication Publication Date Title
EP1330685B1 (en) Testing method and testing device for starting up systems which are controlled by means of a program logic
DE2328058C2 (en) Fault diagnosis device in a digital data processing arrangement
CH654943A5 (en) TESTING DEVICE FOR MICRO PROGRAMS.
DE19535546B4 (en) Method for operating a real-time computer system controlled by a real-time operating system
EP0207255A1 (en) Arrangement for operating and maintaining a telecommunication exchange, especially a telephone exchange
DE2518588C3 (en) Method for monitoring the consistency of code signal groups in telecommunications equipment
EP1008993A2 (en) Writeable memory with self-test device and method therefor
CH658137A5 (en) CONTROL DEVICE WITH A STORAGE AND AN INTERFACE, IN PARTICULAR FOR MACHINE TOOLS.
CH625895A5 (en)
DE2246863A1 (en) PROCEDURE AND ARRANGEMENT FOR LOGGING THE PROGRAM RUN IN DATA PROCESSING SYSTEMS
EP3080668A1 (en) Method for manipulating a control program of a control device
DE2432024A1 (en) PROCEDURE FOR OPERATING A DATA PROCESSING SYSTEM
DE2723706A1 (en) DEVICE FOR ADDRESS COMPARISON
DE2403669A1 (en) SPECIAL COMPUTER
DE3704318A1 (en) Method and arrangement for monitoring the function of a microprocessor
EP0990964A1 (en) Method for operating an automatic device
WO2000043885A1 (en) Method for tracing data
DE2801517A1 (en) PROCEDURES AND CIRCUIT ARRANGEMENT TO PREVENT PREMATURE PROGRAM CHANGE-OVER
DE19850650C2 (en) Method of transferring data
DE2544929B2 (en) Method for determining sporadic errors in telecommunications, in particular telephone systems
DE2649932A1 (en) CENTRAL CONTROL UNIT FOR PERIPHERAL UNITS OF A DATA PROCESSING SYSTEM
DE2939194A1 (en) Monitoring system for complex program functioning - checks for presence of marked sub-program branch points
EP0236818B1 (en) Method and circuit arrangement for monitoring subscribers' lines connected to a data switching or data transmission installation
DE2950342A1 (en) Telephone exchange fault diagnostic routine - receiving faults detected by central processor in excitation register for fault locating and separately storing according to fault type
DE2616186C3 (en) Method for testing the memory part of a control device for a switching system, in particular a telephone switching system