DE2432024A1 - PROCEDURE FOR OPERATING A DATA PROCESSING SYSTEM - Google Patents
PROCEDURE FOR OPERATING A DATA PROCESSING SYSTEMInfo
- 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
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/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4482—Procedural
- G06F9/4484—Executing subprograms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3636—Software 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
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 -
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 Figuren8 claims
5 figures
VPA 9/610/4156 - 9 -VPA 9/610/4156 - 9 -
509884/0579509884/0579
Claims (8)
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)
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)
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 |
-
1974
- 1974-07-03 DE DE2432024A patent/DE2432024A1/en active Pending
-
1975
- 1975-06-24 NL NL7507532A patent/NL7507532A/en not_active Application Discontinuation
- 1975-06-25 GB GB26850/75A patent/GB1513946A/en not_active Expired
- 1975-06-25 FR FR7519919A patent/FR2360939A1/en active Pending
- 1975-06-27 IT IT24859/75A patent/IT1039436B/en active
- 1975-07-03 BE BE157960A patent/BE830977A/en unknown
Cited By (2)
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 |