DE3629178C2 - - Google Patents

Info

Publication number
DE3629178C2
DE3629178C2 DE3629178A DE3629178A DE3629178C2 DE 3629178 C2 DE3629178 C2 DE 3629178C2 DE 3629178 A DE3629178 A DE 3629178A DE 3629178 A DE3629178 A DE 3629178A DE 3629178 C2 DE3629178 C2 DE 3629178C2
Authority
DE
Germany
Prior art keywords
data
test
program
processor
output
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 - Lifetime
Application number
DE3629178A
Other languages
English (en)
Other versions
DE3629178A1 (de
Inventor
Kinji Yokohama Jp Mori
Yasuo Ebina Jp Suzuki
Katsumi Fuchu Jp Kawano
Masayuki Machida Jp Orimo
Minoru Yokohama Jp Koizumi
Hirokazu Hitachi Jp Kasajima
Kozou Katsuta Jp Nakai
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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
Priority claimed from JP60191782A external-priority patent/JPS6252643A/ja
Priority claimed from JP60281418A external-priority patent/JPH0756636B2/ja
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Publication of DE3629178A1 publication Critical patent/DE3629178A1/de
Application granted granted Critical
Publication of DE3629178C2 publication Critical patent/DE3629178C2/de
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing

Description

Die Erfindung betrifft ein Prüfverfahren und eine Prüfvorrichtung für Programme in einer verteilten Datenverarbeitungsanlage gemäß dem Oberbegriff des Anspruchs 1 bzw. des Anspruchs 15.
In letzter Zeit sind Rechneranlagen stärker verteilt ausgebildet, was eine Verteilung der Funktionen und eine Vermeidung der Belastungskonzentration ermöglicht, so daß sich eine Abnahme in den Kosten der Datenverarbeitung und Datenübertragung ergibt. Verteilte Anlagen sind hinsichtlich ihrer höheren Zuverlässigkeit und Erweiterbarkeit vorteilhaft, es stellt sich jedoch auch die Frage, wie eine Anlage zu warten ist, die räumlich verteilt ist. Für das Wartungspersonal ist es insbesondere notwendig zu prüfen, ob jede der Teilsysteme oder -anlagen, die die Gesamtanlage bilden, normal arbeitet oder nicht.
Herkömmliche verteilte Anlagen sind nicht in der Lage, das Anwenderprogramm jedes Prozessors während des Betriebes der Anlage zu prüfen. In diesem Fall wurden Prüfungen dadurch durchgeführt, daß die zu prüfenden Hardware- oder Software-Betriebsmittel vom aktiven System abgetrennt wurden oder zusätzlich ein prüforientierter Prozessorspeicher und eine Eingabe/Ausgabeeinheit an die Anlage angeschlossen wurden. Es war in jedem Fall nicht möglich, eine Anlage im selben Hardwareaufbau und im selben Betriebszustand wie im normalen Betrieb zu prüfen.
Im zuletzt genannten Fall werden zusätzliche Hardwareeinrichtungen benötigt. Es besteht jedoch ein dringender Bedarf daran, eine Anlage zu prüfen, ohne den Betrieb auszusetzen.
Bei einer verteilten Datenverarbeitungsanlage, bei der eine Reihe von Datenverarbeitungen für eine Aufgabe unter Prozessoren verteilt ausgeführt werden, die über eine gemeinsame Übertragungsleitung verbunden sind, ist bereits ein Anlagesteuerverfahren vorgeschlagen worden, bei dem jeder der verteilten Prozessoren das Programm zum Ausführen des zugeordneten Teils der Verarbeitungen speichert, Daten, die bei der Programmausführung benötigt werden, über die Übertragungsleitung abruft und mit der Ausführung des Programmes beginnt, wenn alle Daten bereitstehen, wie es beispielsweise in der JP OS 5 71 46 361 beschrieben ist. Dieses Verfahren macht keinen Steuerprozessor zur Steuerung der Gesamtanlage notwendig und erlaubt es, eine Reihe von Verarbeitungen verteilt auszuführen. Es liefert jedoch kein Verfahren für einen Prüflauf eines in jedem verteilten Prozessor gespeicherten Programmes während des on-line- Betriebes oder direkt prozeßgekoppelten Betriebes, so daß weiterhin Diagnose- und Wartungsaktivitäten für die Anlage erwünscht bleiben.
In IEEE Transactions on Software Engineering Vol. SE 10, Nr. 2, März 1984, werden Hilfsprogramme (Tools) und ihr Einsatz zum Testen der Programme einer verteilten Datenverarbeitungsanlage beschrieben. Auch dabei wird jedoch kein Verfahren angegeben, das es ermöglicht, eine solche Anlage oder Teile davon im on-line-Betrieb zu prüfen, d. h. während die nicht zu prüfenden Systemteile weiterbetrieben werden. Außerdem erfordert der Einsatz der dort beschriebenen Hilfsprogramme einen Hauptprozessor, von dem aus der Test gesteuert wird und der dann für weitere Prozesse nicht zur Verfügung steht.
Einige herkömmliche Rechneranlagen enthalten Einrichtungen zum Sammeln von Daten, die als Ergebnis einer Programmausführung erzeugt werden, wobei diese Einrichtungen jedoch lediglich Daten auf einer Zeitfolgebasis protokollieren, was nicht ausreicht, um das Prüflaufergebnis unter Verwendung der gesammelten sich ergebenden Daten zu analysieren.
Aufgabe der Erfindung ist es, ein Verfahren und eine Vorrich­ tung zu schaffen, die es ermöglicht, eine verteilte Datenver­ arbeitungsanlage unter on-line-Bedingungen, d. h. ohne den nor­ malen Betrieb auszusetzen, zu testen. Dabei soll ein Programm, das beispielsweise neu entwickelt wurde, im selben Hardware­ aufbau und im selben Betriebszustand wie beim normalen Anlage­ betrieb einem Prüflauf unterzogen werden können. Das zu prü­ fende Programm soll auf jedem Prozessor der verteilten Daten­ verarbeitungsanlage lauffähig sein, ohne daß für den Prüflauf ein zentraler Steuerprozessor für das gesamte System notwendig ist.
Die Lösung dieser Aufgabe ist im Kennzeichenteil des Anspruchs 1 bzw. des Anspruchs 15 angegeben.
Das Prüfverfahren und die Prüfvorrichtung gemäß der Erfindung gestatten es danach, die Programmprüfung unter on-line-Bedin­ gungen durchzuführen, oihne einen besonderen Steuer- oder Management-Prozessor zur Überwachung und Steuerung des Gesamt­ systems zu erfordern. Vielmehr beurteilt jeder Prozessor des Systems selbst während des on-line-Betriebs, ob ein Programm einem Testlauf unterzogen werden soll, und führt die Programm­ prüfung selbst durch, wenn er feststellt, daß eine Prüfung nötig ist. Im Ergebnis wird dadurch die Leistungsfähigkeit und Zuverlässigkeit der Datenverarbeitungsanlage erhöht.
Vorteilhafte Weiterbildungen des erfindungsgemäßen Prüfverfah­ rens sind in den Unteransprüchen 2 bis 14 angegeben.
Im folgenden werden anhand der zugehörigen Zeichnung besonders bevorzugte Ausführungsbeispiele der Erfindung näher beschrieben. Es zeigt
Fig. 1 ein Grundblockschaltbild einer verteilten Daten­ verarbeitungsanlage mit einem ersten Ausführungsbeispiel der Erfindung,
Fig. 2 in einem Blockschaltbild die Anordnung der zu prüfenden Teilanlagen in der in Fig. 1 dargestellten Gesamtanlage,
Fig. 3 in einem Diagramm das Format der Nachrichten, die von der in Fig. 2 dargestellten Teilanlage ausgegeben werden,
Fig. 4 ein Diagramm zur Erläuterung des Prüfvorganges gemäß der Erfindung,
Fig. 5 in einem Diagramm die Prüfspezifikationstabelle, die bei dem in Fig. 4 dargestellten Vorgang verwandt wird,
Fig. 6 und 7 in Diagrammen die Datenverarbeitungen gemäß der Erfindung,
Fig. 8 in einem Blockschaltbild einer verteilten Datenverarbeitungsanlage ein zweites Ausführungsbeispiel der Erfindung,
Fig. 9 in einem Diagramm das Format der Nachrichten für die in Fig. 8 dargestellte Anlage,
Fig. 10 in einem Blockschaltbild die Anordnung der Prozessoren in Fig. 8,
Fig. 11 in einem Diagramm das Format der Prüfdaten, die der Prozessor in Fig. 10 verwendet,
Fig. 12 und 13 Diagramme zur Erläuterung des Prüflaufs,
Fig. 14 und 15 Diagramme zur Darstellung der Datenverarbeitungen der Prüfeinheit im Prozessor,
Fig. 16 in einer Gruppe von Diagrammen die Datenverarbeitungen im Anwenderprogramm,
Fig. 17 das Blockschaltbild eines Prozessors in einer verteilten Datenverarbeitungsanlage, wobei ein drittes Ausführungsbeispiel der Erfindung dargestellt ist,
Fig. 18 ein Diagramm zur Erläuterung des Prüflaufs durch den in Fig. 17 dargestellten Prozessor,
Fig. 19 und 20 in Diagrammen die Datenverarbeitungen der Prüfeinheit im Prozessor von Fig. 17,
Fig. 21 in einem Blockschaltbild einer verteilten Datenverarbeitungsanlage ein viertes Ausführungsbeispiel der Erfindung,
Fig. 22 in einem Diagramm das Format der Nachrichten, die in dieser Anlage übertragen werden,
Fig. 23 und 24 in Diagrammen die interne Ausbildung und Anordnung eines Prozessors, der in Fig. 21 dargestellt ist,
Fig. 25, 26 und 27 in Flußdiagrammen die Verarbeitungsschritte, die vom Prozessor von Fig. 23 ausgeführt werden,
Fig. 28 und 29 Diagramme zur Erläuterung der Datenverarbeitung bei der Prüfdatensammlung und
Fig. 30 in einem Flußdiagramm den Ablauf eines automatischen Programmprüflaufs, der von der Prüfeinheit durchgeführt wird.
Fig. 1 zeigt den Gesamtaufbau einer verteilten Datenverarbeitungsanlage, die ein erstes Ausführungsbeispiel der Erfindung darstellt. In Fig. 1 sind Teilanlagen, d. h. verteilte Prozessoren 1 bis n, aus denen die Anlage besteht, Eingabe/Ausgabeeinrichtungen 10, 20, 30 . . . n0, unter denen die Einrichtung n0 eine Anzeigeeinheit ist, und ein Netzwerk 100 dargestellt, das ein öffentliches Nachrichtenübertragungsnetz oder ein gemietetes Nachrichtenübertragungsnetz sein kann. Die Teilanlagen 1 bis n sind über das Netzwerk 100 verbunden und die Eingabe/ Ausgabeeinrichtungen 10, 20 . . . n0 sind mit den jeweiligen Teilanlagen 1, 2 . . . n verbunden. Die Teilanlagen 1, 2, 3 usw. sind Gegenstand der Prüfung und die Anzeigeeinheit n0, die mit der Teilanlage n verbunden ist, dient dazu, die Prüfergebnisse anzuzeigen.
Wie es in Fig. 1 dargestellt ist, sind die zu prüfenden Prozessoren miteinander gekoppelt, wobei jeder Prozessor Prüfdaten identifizieren und unterscheiden kann. Wenn Eingangsdaten als Prüfdaten identifiziert werden, laufen nur die Verarbeitungsmoduln, die zu den Prüfdaten gehören, und wird das Ergebnis der Verarbeitung als Prüfausgangsergebnis am Anzeigeterminal angezeigt und gleichzeitig auf das Übertragungsnetz gegeben. Es ist auch möglich, die Prüfergebnisse über das Übertragungssystem mit einer Nachricht, die das Prüfausgangsergebnis angibt, an das Verarbeitungsergebnis anhängend auszugeben, statt es zum Ausgangsterminal zu führen. Die Prüfung kann zu jedem Zeitpunkt während des Betriebes beginnen und der Betrieb irgendeiner Eingabe/ Ausgabeeinrichtung kann eingeschränkt werden, muß jedoch nicht unterbrochen werden. Dieses Ausführungsbeispiel erlaubt eine Prüfung ohne Kenntnis der Stelle des zu prüfenden Subsystems oder der zu prüfenden Teilanlage und ihrer Verfassung.
Gemäß der Erfindung dürfen a) on-line-Daten und Prüfdaten gleichzeitig im Datenstrom im Netzwerk vorhanden sein und b) die on-line-Arbeitsprogramme und die zu prüfenden Programme gleichzeitig nicht nur im on-line-System sondern auch in den jeweiligen Prozessoren während des on-line-Betriebes vorhanden sein. Das erlaubt es, ein in Entwicklung befindliches Programm in einen Prozessor einzugeben und während des on-line-Betriebes zu prüfen. Es gibt drei Fälle des erfindungsgemäßen Prüfverfahrens:
(i) Prüfung einer den Daten anhängigen Information, (ii) Prüfung von Daten in einem Programm und (iii) Prüfung einer Information, die von einem Prozessor gehalten wird. Die folgenden Ausführungsbeispiele befassen sich mit dem Fall (i).
Fig. 2 zeigt die interne Anordnung einer in Fig. 1 dargestellten und zu prüfenden Teilanlage. Die Anordnung umfaßt eine Schnittstelle 11 zum Anschluß an das Netzwerk 100, eine Schnittstelle 12 zum Anschluß an die Eingabe/Ausgabeeinrichtung 10, einen Prozessor 13 zur Ausführung der Datenverarbeitung der Teilanlage, einen Aufnahmepuffer 14, einen Ausgabepuffer 15, eine Inhaltskodierungstabelle 16, eine Prüfkennzeichentabelle 17, einen Anwendungsdatenpuffer 18, der in einen Eingabepuffer und einen Verarbeitungsergebnispuffer unterteilt ist, und einen Anwenderprogrammspeicher 19.
Jede Teilanlage 1 bis n hat eine bestimmte Funktion, die durch die Anwendung eines Programmes ausgeführt wird, das im Anwenderprogrammspeicher 19 gespeichert ist. Die Teilanlagen führen ihre Anwenderprogramme aus, während sie über das Netzwerk 100 Daten austauschen und miteinander in Kontakt stehen.
Fig. 3 zeigt das Format der Nachrichten, die die von den Teilanlagen ausgegebenen Daten übertragen. Die Daten sind zu einer Nachricht formatiert, wie sie in Fig. 3 dargestellt ist, und werden von den Teilanlagen ausgegeben. Eine Nachricht 21 enthält am oberen Ende eine Inhaltskodierung 22, die den Inhalt der Daten angibt und auf die ein Prüfkennzeichen 23 folgt, das angibt, ob die Daten zur Prüfung bestimmt sind oder nicht. An das Prüfkennzeichen 23 schließen sich eine Ausgabeadresse 24 und anschließend die Daten 25 an. Die Nachricht 21 wird in das Netzwerk 100 eingespeist.
Fig. 4 zeigt die Abfolge der Datenverarbeitungsschritte für die in Fig. 3 dargestellte Nachricht. Die Nachricht 21 wird der Reihe nach unter den Teilanlagen verarbeitet. Beispielsweise wird eine Nachricht D1 in das Netzwerk 100 eingespeist. Es sei angenommen, daß das Anwenderprogramm der Teilanlage 1 auf die Inhaltskodierung 22 der Nachricht D1 ansprechend in Gang gesetzt wird. Es sei weiterhin angenommen, daß die Entsprechung zwischen den Inhaltskodierungen CC und den auszuführenden Anwenderprogrammen der Teilanlagen vorher in der Inhaltskodierungstabelle 16 jeder Teilanlage gespeichert ist. Wenn die Inhaltskodierung 22 der Nachricht 21, die vom Netzwerk 100 über die Schnittstelle 11 in den Aufnahmepuffer 14 abgerufen wird, mit der Inhaltskodierung in der Inhaltskodierungstabelle 16 übereinstimmt, überträgt der Prozessor 13 die Daten 25 in der Nachricht 21 auf den Eingangspuffer im Anwendungsdatenpuffer 18. Wenn festgestellt wird, daß das Prüfkennzeichen 23 in der Nachricht 21 gesetzt ist, was anzeigt, daß die Daten zur Prüfung zu verwenden sind, wird das zu der Anwendung gehörende Prüfkennzeichen in der Prüfkennzeichentabelle 17 gesetzt.
Nachdem die Daten im Eingangspuffer im Anwendungsdatenpuffer 18 gespeichert sind, beginnt der Prozessor 13 mit dem Anwenderprogramm. Der Prozessor 13 ruft Daten von der Eingabe/Ausgabeeinrichtung 10 ab, wenn das notwendig ist, und speichert das Verarbeitungsergebnis im Verarbeitungsergebnispuffer im Anwendungsdatenpuffer 18. Wenn festgestellt wird, daß das Prüfkennzeichen für das Anwenderprogramm in der Prüfkennzeichentabelle 17 rückgesetzt ist, überträgt der Prozessor 13 Daten D2 der Eingabe/Ausgabeeinrichtung 10 in Abhängigkeit vom Verarbeitungsergebnis im Verarbeitungsergebnispuffer sowie eine Nachricht D3 auf den Ausgabepuffer 14 mit der Absicht, die Daten D2 den anderen Teilanlagen zuzuführen. Danach gibt er die Daten D3 im Ausgabepuffer 15 über die Schnittstelle 11 in das Netzwerk 100 zu einem geeigneten Übertragungszeitpunkt ein.
Die Nachricht D3, die dem Netzwerk 100 eingespeist wird, wird in derselben Weise wie es oben beschrieben wurde, beispielsweise durch die Teilanlage 2 verarbeitet. Wie es in Fig. 4 dargestellt ist, werden die Daten D4, die durch die Teilanlage 2 verarbeitet werden, an die Eingabe/Ausgabeeinrichtung 20 abgegeben, und werden gleichzeitig die Daten D5, die vom Ausgabepuffer 15 ausgegeben werden, in das Netzwerk 100 eingespeist. In dieser Weise setzt jede Teilanlage während der Datentransaktion mit der Außenseite über ihre Eingabe/Ausgabeeinrichtung ihren Betrieb fort.
Fig. 6 zeigt die Verarbeitung der dem Prüfkennzeichen anhängenden Daten. Die vom Prüfkennzeichen begleiteten Daten sind mit Di (t) bezeichnet, wobei i gleich 1 bis n sein kann. Im folgenden wird der Arbeitsvorgang beschrieben, bei dem die Daten Di(t) in das Netzwerk 100 eingespeist werden. Es sei angenommen, daß am Anfang die Teilanlage n die Prüfdaten erzeugt und in Form einer Nachricht D1(t) ausgegeben hat. In der in Fig. 4 dargestellten Weise sammelt die Teilanlage 1 die Nachricht D1(t), wobei ihr Prozessor 13 die Daten im Anwendungsdatenpuffer 18 speichert und das Kennzeichen dieser Anwendung in der Prüfkennzeichentabelle 17 setzt. Der Prozessor 13 ruft Daten von der Eingabe/Ausgabeeinrichtung 10 ab, wenn das notwendig ist, und speichert das Verarbeitungsergebnis im Verarbeitungsergebnispuffer im Anwendungsdatenpuffer 18. Wenn der gesetzte Zustand des Prüfkennzeichens des Anwenderprogramms in der Prüfkennzeichentabelle 17 festgestellt wird, setzt der Prozessor 13 das Prüfkennzeichen 23 und überträgt der Prozessor 13 die Daten im Verarbeitungsergebnispuffer, die an die Eingabe/Ausgabeeinrichtung 10 abzugeben sind, auf das Netzwerk 100 in Form einer Nachricht D2(t) anstatt die Daten zur Eingabe/Ausgabeeinrichtung 10 weiterzuleiten. Die einer anderen Teilanlage zu übertragende Nachricht wird gleichfalls als Nachricht D3(t) in das Netzwerk 100 über den Ausgabepuffer 15 bei gesetztem Prüfkennzeichen 23 eingespeist. Die in das Netzwerk 100 eingespeiste Nachricht D3(t) wird durch die Teilanlage 2 in derselben Weise verarbeitet, wie es oben beschrieben wurde. Andererseits enthält die Nachricht D2(t) keine Daten, die im Einklang unter den Teilanlagen 1, 2, 3 usw. zu verarbeiten sind, und wird die Nachricht D2(t) durch die Teilanlage n empfangen, die die Prüfergebnisse überwacht. Die Teilanlage n empfängt alle Prüfkennzeichen anhängigen Nachrichten, die im Netzwerk 100 fließen und speichert diese Nachrichten. Die überwachende Teilanlage n ist vorher mit einer Prüfspezifizierungstabelle 31 versehen, in der die Beziehung zwischen den Eingabe/Ausgabedaten für die Anwender-Software-Betriebsmittel und die Reihenfolge der Ausgabe dieser Daten definiert ist.
Fig. 5 zeigt ein Diagramm zur Erläuterung der Prüfspezifikationstabelle. Die Prüfspezifikationstabelle 31 besteht aus einer Spalte 32 der Prüfdatenabfolge, einer Spalte 33 der Empfangsprüfdatenabfolge und einer Spalte 34 der Datenübertragungsteilanlage. Die Spalte 32 speichert die Prüfdaten 25 und die jeweilige Dateninhaltskodierung 21, die als di′ symbolisiert ist. Wenn das Anwenderprogramm, das für die Eingabe di′ läuft, eine Ausgabe dj′ liefern soll, wird die Spalte 32 der Prüfdatenabfolge als dj′/di′ geschrieben. Für die Eingabe D1′ zum Prüfen, die zuerst in das Netzwerk 100 eingespeist wird, werden die Anwendungen aller Teilanlagen der Reihe nach laufen gelassen und werden Ergebnisse erzeugt, wobei in diesem Fall ihre Eingabe/Ausgaberelationen der Reihe nach oben von der Spalte 32 der Prüfdatenabfolge geschrieben werden.
Die Überwachungsteilanlage n speichert die Inhaltskodierungen der empfangenen Nachrichten mit anhängendem Prüfkennzeichen, die Daten in der Spalte 33 der Empfangsprüfdatenabfolge in der Prüfspezifikationstabelle 31 und die Sendeadressen in der Spalte 34 des Datenübertragungshilfssystems. In diesem Fall werden die Nachrichten mit anhängendem Prüfkennzeichen in der Reihenfolge des Empfangs und an Plätzen gespeichert, die für die Inhaltskodierungen in der Spalte 32 der Prüfdatenabfolge relevant sind.
Wenn der Inhalt der Prüfdatenabfolgespalte 32 und der Empfangsprüfdatenabfolgespalte 33 nicht übereinstimmt, oder wenn es nichts gibt, was mit der Inhaltskodierung der empfangenden Nachricht mit anhängendem Prüfkennzeichen übereinstimmt, wird die Teilanlage, die diese Nachricht ausgegeben hat, als nicht normal arbeitend eingestuft. Die fehlerhafte Teilanlage kann aus der Sendeadresse dieser Nachricht identifiziert werden.
Wenn die Überwachungsteilanlage n nach Ablauf eines gegebenen Zeitintervalls anschließend an die Übertragung der Prüfdaten D1(t) oder den Empfang der Nachricht mit anhängendem Prüfkennzeichen keine nächste Nachricht mit anhängendem Prüfkennzeichen empfängt, und wenn gleichzeitig Daten in der Prüfdatenabfolgespalte 32 der Prüfspezifikationstabelle 31 vorhanden sind, wird die Teilanlage, die diese Daten senden sollte, als nicht normal arbeitend eingestuft. Wenn beispielsweise in Fig. 7 die Teilanlage 2 zusammenbricht, werden Nachrichten D4(t) und D5(t) mit anhängendem Prüfkennzeichen nicht übertragen. Die Überwachungsteilanlage n erkennt auf der Grundlage der Prüfspezifikationstabelle 31, daß die Teilanlage, die die Nachrichten D4(t) und D5(t) aussenden sollte, nicht normal arbeitet.
Die obige Erläuterung basierte auf der Annahme, daß jede Teilanlage eine einzigartige Funktion hat und daß jede Ausgangsnachricht eine einzigartige Inhaltskodierung hat. Wenn dennoch mehr als eine Nachricht mit anhängendem Prüfkennzeichen und gleicher Ausgangskodierung ausgegeben wird, erfolgt die Wahrnehmung einer nicht normalen Arbeitsweise genauso wie es oben beschrieben wurde. Es sei jedoch darauf hingewiesen, daß eine Vielzahl von Daten in die Empfangsprüfdatenabfolgespalte 33 der Prüfspezifikationstabelle 31 eingegeben werden kann. In diesen Fällen gibt es mehr als eine Sendeadresse in der Datenübertragungshilfssystemspalte 34.
Im folgenden werden abgewandelte Ausführungsformen des oben beschriebenen Ausführungsbeispiels beschrieben.
Abwandlungsform 1
Das obige Ausführungsbeispiel erlaubt es, daß der Prozessor 13 Daten von der Eingabe/Ausgabeeinrichtung 10 in der erforderlichen Weise am Anfang des Anwenderprogramms abruft. Die Verwendung der Eingabe/Ausgabeeinrichtung 10 für Prüfzwecke kann jedoch nicht erlaubt sein. In einem solchen Fall erzeugt die Teilanlage n beispielsweise dieselben Daten wie sie über die Eingabe/Ausgabeeinrichtung 10 empfangen würden in Form einer Nachricht D3(t) mit anhängendem Prüfkennzeichen, wobei diese Nachricht über das Netzwerk 100 ausgegeben wird. Danach wird das Prüfverfahren in derselben Weise wie beim obigen Ausführungsbeispiel fortgesetzt.
Abwandlungsform 2
Bei dem vorhergehenden Ausführungsbeispiel wurde das Ergebnis der Datenverarbeitung des Anwenderprogramms nicht an die Eingabe/ Ausgabeeinrichtung 10 abgegeben. Das Ergebnis kann jedoch nach außen ausgegeben werden, vorausgesetzt, daß die Prüfung die Arbeit der Anlage nicht beeinflußt.
Wie es oben beschrieben wurde, ist es bei dem ersten Ausführungsbeispiel der Erfindung möglich, daß die Anlage einschließlich mehrerer Teilanlagen während des on-line-Betriebes geprüft wird, ohne daß eine Umschaltung der Betriebsart für die geprüfte Teilanlage notwendig ist oder zusätzliche spezielle Hardware benötigt wird, und die Prüfung genau unter denselben Bedingungen wie beim normalen Betrieb erfolgt. Das Ausführungsbeispiel erlaubt auch Änderungen in der Stelle des Anschlusses der Teilanlage am Netzwerk. Darüber hinaus kann jeder Teil der Anlage auf der Grundlage des Prüfergebnisses überwacht werden, um eine fehlerhafte Teilanlage festzustellen.
Fig. 8 zeigt den Grundaufbau einer verteilten Datenverarbeitungs­ anlage mit einem zweiten Ausführungsbeispiel der Erfindung. Die Anordnung schließt Prozessoren 41 bis 46, die jeweils ein Anwenderprogramm ausführen, das in ihrem internen Speicher gespeichert ist, eine einseitig gerichtete Schleifenübertragungsleitung 47 mit der durch einen Pfeil dargestellten Übertragungseinrichtung und Netzwerksteuerprozessoren NCP 1001 bis 1006 zum Steuern der Datenübertragung auf der Leitung 47 ein. Die Prozessoren 41 bis 46 sind mit den jeweiligen NCP über Zwei-Richtungswege verbunden. Die Prozessoren 41 bis 46 übertragen die Daten ihrer Prozeßergebnisse über die jeweiligen NCP 1001 bis 1006 auf die Übertragungsleitung 47. Jeder NCP prüft, ob die Daten auf der Übertragungsleitung 47 für den zugehörigen Prozessor nutzbar sind, wobei dann, wenn das der Fall ist, die Daten dem Prozessor zugeführt werden. Jeder Prozessor 41 bis 46 sammelt alle für die Ausführung des gespeicherten Anwenderprogramms notwendigen Daten und geht dann auf die Programmausführung unter Verwendung der gesammelten Daten über.
Diese Anlage hat die Funktionen der Erzeugung von Prüfdaten und der Sammlung der Daten des Prüfergebnisses unter Verwendung des Prozessors 44 als Anlagenprüfer zwecks Durchführung des erfindungsgemäßen Prüfverfahrens. Der Prozessor 44 ist mit einem Kathodenstrahlröhrenanzeigeterminal 140 verbunden, das von dem Wartungspersonal benutzt wird.
Fig. 9 zeigt das Format der Daten, die über die Übertragungsleitung 47 gehen. Das Format schließt Kennzeichen (F) 101 und 107, die den Anfang und das Ende einer Nachricht anzeigen, eine Funktionskodierung FC 102, die den Dateninhalt und die Datenfunktion wiedergibt, eine Betriebsmitteladresse SA 103, die den NCP angibt, durch den die Daten erzeugt werden, eine Seriennummer C 104, die für die Übertragung benutzt wird, ein Datenfeld 105, dessen Information durch das Anwenderprogramm verarbeitet wird, und Fehlererfassungsdaten FCS 106 ein.
Jeder NCP nimmt die Daten auf, die eine Kodierung FC haben, die gleich der Kodierung ist, die im zugehörigen Prozessor registriert ist (FC der Daten, die bei seinem Anwenderprogramm benutzt werden) und liefert die Daten dem Prozessor.
Fig. 10 zeigt die interne Ausbildung der Prozessoren beispielsweise des Prozessors 41 in Fig. 8. Eine Übertragungssteuereinheit 201 führt die Datenübertragung zwischen dem NCP 1001 und dem Prozessor 41 aus, speichert die vom NCP empfangenen Daten im Empfangspuffer 203 und gibt die Daten im Sendepuffer 204 an den NCP ab. Die Prüfeinheit 205 hat die Aufgabe, die Anlagenprüfung gemäß der Erfindung durchzuführen, und eine Prüfmodultabelle 206 stellt einen Speicherbereich zur Verfügung, der durch die Prüfeinheit 205 benutzt wird. Eine Verarbeitungseinheit 207 steuert die Ausführung der Anwenderprogramme 1101 bis 1103. Ein Eingabe/ Ausgabedatenbereich 209 dient dazu, die Eingabe- und Ausgabedaten für jedes Anwenderprogramm separat zu speichern.
Fig. 11 zeigt den Aufbau des Eingabe/Ausgabedatenbereiches 209 in Fig. 10. Die erste Reihe 1091 besteht aus einem Eingabedatenbereich 10911, der die Eingabedaten für das Anwenderprogramm 1101 speichert, und einem Ausgabedatenbereich 10912, der das Prozeßergebnis speichert, das durch das Anwenderprogramm 1101 erzielt wird. Die zweite Reihe 1092 weist Bereiche 10921 und 10922 zum Speichern der Eingabe- und Ausgabedaten für das Anwenderprogramm 1102 auf. In dieser Weise sind jedem Anwenderprogramm Eingabe- und Ausgabedatenbereiche zugeordnet. Die Verarbeitungseinheit 207 (Fig. 10) speichert die von der Übertragungsleitung empfangenen Daten im Eingabedatenbereich eines Anwenderprogrammes, das diese Daten benötigt. Wenn es kein Anwenderprogramm gibt, das die empfangenen Daten benötigt, ignoriert die Verarbeitungseinheit 207 diese Daten. Nachdem alle im Anwenderprogramm benutzten Daten in den Eingabedatenbereich eingegeben sind, wird mit dem Programm begonnen. Wenn das Anwenderprogramm einmal begonnen ist, wird die Verarbeitung unter Verwendung der im Eingabedatenbereich innerhalb des Eingabe/Ausgabedatenbereiches 209 gespeicherten Daten fortgesetzt. Nach dem Abschluß der Programmausführung speichert das Programm die Verarbeitungsergebnisdaten zusammen mit der Datenkodierung FC im Ausgabedatenbereich innerhalb des Eingabe/ Ausgabedatenbereiches 209. Die Daten im Ausgabedatenbereich werden in den Ausgabepuffer 204 über die Verarbeitungseinheit 207 und die Prüfeinheit 205 eingegeben und anschließend durch die Übertragungssteuereinheit 201 über die Übertragungsleitung übertragen.
Fig. 12 zeigt den Prüflauf beim zweiten Ausführungsbeispiel der Erfindung. Der Prozessor 44, der als Anlagenprüfer für die verteilte Datenverarbeitungsanlage eingerichtet ist, weist ein Prüfdatenerzeugungsprogramm als Anwenderprogramm auf und erzeugt Prüfdaten unter Verwendung der Information, die über das Kathodenstrahlröhrenterminal 140 eingegeben wird, und gibt diese Daten über die Übertragungsleitung aus, wie es druch die fette Linie 501 dargestellt ist. Im folgenden wird die Prüfung im Anwenderprogramm A 1201 des Prozessors 42 beschrieben, das unter Verwendung der Daten mit der Funktionskodierung FCA abläuft.
Fig. 13 zeigt das Format der Prüfdaten. Dieses Format ist mit dem in Fig. 9 dargestellten Format identisch und die Kodierung FCT 602, die die Prüfdaten im Datenbereich 105 von Fig. 9 setzt, ist eine Funktionskodierung, die im folgenden Prüf-FC genannt ist und den Datenbereich angibt, der als Prüfdaten dienen soll. Das Format enthält Felder 605, die dem Datenfeld 105 in Fig. 9 äquivalent sind, und eine Kodierung FCA 6051 und Daten (A) 6053, die die Eingabedatenfunktionskodierung und die Daten selbst sind, die bei der Prüfung des Anwenderprogramms (A)1201 verwandt werden.
In den Prozessoren NCP, die mit den Prozessoren 41 bis 46 verbunden sind, sind Prüf-FC (FCT) registriert und jeder NCP ruft Prüfdaten 501 ab und liefert diese Daten dem zugehörigen Prozessor, wie es in Fig. 12 dargestellt ist. Die Prüfdaten werden im Empfangspuffer 203 (Fig. 10) über die Übertragungssteuereinheit 201 (Fig. 10) gespeichert.
Die Fig. 14 und 15 zeigen Diagramme zur Erläuterung der Arbeit der Prüfeinheit, die in jedem Prozessor enthalten ist. Die Arbeit der in Fig. 10 dargestellten Prüfeinheit 205 wird im folgenden unter Verwendung von Fig. 14 und 15 beschrieben. Fig. 14 zeigt die Datenverarbeitung der Prüfeinheit 205 beim Datenempfang. Die Prüfeinheit 205 prüft am Anfang, ob die im FC-Feld der Daten im Empfangspuffer gespeicherte Funktionskodierung ein Prüf-FC, d. h. eine Kodierung FCT ist (Schritt 701). Wenn diese keine FCT-Kodierung ist, führt die Prüfeinheit 205 die Daten 7001, die aus einer Funktionskodierung FCA, einem Datenfeld (Daten A) und einem T-Kennzeichen im rückgesetzten Zustand bestehen, aus den Daten 7000 im Empfangspuffer zu der Verarbeitungseinheit 207 (Fig. 10), wie es in Fig. 14b dargestellt ist (Schritt 702).
Wenn andererseits die Funktionskodierung des FC-Feldes der Daten in Empfangspuffer sich als eine FCT-Kodierung herausstellt, prüft die Prüfeinheit 205, ob die Funktionskodierung 6051 im Datenbereich in Fig. 13 die Funktionskodierung der Daten ist, die beim Selbstanwenderprogramm (Schritt 703) verwandt werden, wobei dann, wenn die Daten für das Selbstanwenderprogramm nicht brauchbar sind, die Prüfeinheit 205 den Arbeitsvorgang beendet. Wenn die Funktionskodierung im Datenbereich sich als eine Funktionskodierung der Daten herausstellt, die durch das Selbstanwenderprogramm benutzt werden, setzt die Prüfeinheit 205 das Kennzeichen in der Prüfmodultabelle 206 (Fig. 10), das einen Anwenderprogrammlauf mit Eingabedaten anzeigt, die für einen Testlauf bestimmt sind (Schritt 704). Anschließend leitet die Prüfeinheit 205 die Daten 7101, die aus einer Funktionskodierung FCA, einem Prüfdatenfeld (Daten A) und einem T-Kennzeichen im gesetzten Zustand bestehen, wobei alle diese Daten im Datenfeld 71000 der empfangenen Daten 7100 eingegeben sind, zu der Verarbeitungseinheit 207 (Fig. 10), wie es in den Fig. 14c dargestellt ist (Schritt 705).
Nachdem alle Daten, die für die Programmausführung benötigt sind, über die Prüfeinheit 205 abgerufen sind, beginnt die Verarbeitungseinheit 207 mit dem Anwenderprogramm. Nach Abschluß der Verarbeitung speichert das Anwenderprogramm die Verarbeitungsergebnisdaten, beispielsweise die Daten C, zusammen mit ihrer Funktionskodierung, beispielsweise der Funktionskodierung FCC im Eingabe/Ausgabedatenbereich 209 (Fig. 10). Die Daten werden über die Verarbeitungseinheit 207 (Fig. 10) auf die Prüfeinheit übertragen.
Im folgenden wird anhand der Fig. 15 der Arbeitsvorgang der Prüfeinheit für durch das Anwenderprogramm erzielte Ausgabedaten beschrieben. Auf den Empfang der Ausgabedaten des Anwenderprogrammes von der Verarbeitungseinheit prüft die Prüfeinheit am Anfang in der Prüfmodultabelle 206 (Fig. 10), ob es die Ausgabe von Prüfdaten eines Anwenderprogrammlaufes ist. (Schritt 801). Wenn diese Daten nicht das Ergebnis eines Prüflaufes sind, speichert die Prüfeinheit 205 die Funktionskodierung FCC der Ausgabedaten 8000 im FC-Feld des Ausgabepuffers und die Daten (Daten C) im Datenbereich des Ausgabepuffers, wie es in Fig. 15b dargestellt ist. (Schritt 802). Wenn die Daten sich als Ausgabedaten eines Prüflaufes herausgestellt haben, speichert die Prüfeinheit 205 die Funktionskodierung FCC der Ausgabedaten 8100 und die Daten (Daten C) im Datenbereich des Ausgabepuffers. Sie setzt die Prüf-FC-Kodierung, d. h. die Kodierung FCT in das FC-Feld des Ausgabepuffers (Schritt 803).
Fig. 16 zeigt den Arbeitsvorgang, der im Anwenderprogramm, ausgeführt wird. Im Anwenderprogramm wird das Unterprogramm, das in Fig. 16a dargestellt ist, dann ausgeführt, wenn Daten zu einer externen Einrichtung auszugeben sind. Das Unterprogramm 900 zur Ausgabe von Daten zu einer externen Einrichtung prüft das T-Kennzeichen in Fig. 14b und 14c (Schritt 901), wobei dann, wenn das T-Kennzeichen rückgesetzt ist, die Daten zur externen Einrichtung ausgegeben werden (Schritt 902) oder dann, wenn das T-Kennzeichen gesetzt ist, die Daten nicht zur externen Einrichtung ausgegeben werden, jedoch Daten mit dem Inhalt der Ausgabedaten und eine ungültige FC-Kodierung (FCf) im Datenfeld und die Prüf-FC (FTT) als Funktionskodierung (siehe Fig. 16b) erzeugt und im Eingabe/Ausgabedatenbereich 209 gespeichert werden (Fig. 10), (Schritt 903).
Im Anlagenprüfer, d. h. im Prozessor 44 in Fig. 8 wird ein Anwenderprogrammlauf über Daten mit der Funktionskodierung FCT ablaufen gelassen, um derartige Daten zu sammeln, so daß Programmprüfdaten gesammelt werden.
Selbst während des on-line-Betriebes der Anlage kann zu diesem Zweck ein Prüflauf des Anwenderprogrammes erfolgen, indem Prüfdaten mit der Prüf-FC durch den Prüfprozessor erzeugt werden. Dadurch, daß der Prüfprozessor so arbeitet, daß er die Daten mit der Prüf-FC abruft, können Prüfergebnisdaten oder Ausgabedaten für die externe Einrichtung erhalten werden.
Obwohl bei dem obigen Ausführungsbeispiel ein Prozessor, d. h. der Prozessor 44 in Fig. 8 fest als Prüfer zum Erzeugen der Prüfdaten bestimmt ist, soll gemäß der Erfindung der Prüfer nicht auf einen Prozessor begrenzt sein, sondern kann irgendein Prozessor oder irgendeine Anzahl von Prozessoren dazu benutzt werden, die Anwenderprogramme zu prüfen und die Prüfergebnisse zu sammeln.
Bei dem obigen Ausführungsbeispiel wird ein anderes Anwenderprogramm, das die Ausgabedaten verwendet, die über ein Anwenderprogramm gewonnen wurden, das über die Prüfdaten gelaufen ist, gleichfalls einem Prüflauf unterworfen, so daß eine Reihe von Verarbeitungsergebnissen für einen Vorgang erhalten werden kann, bei dem mehrere Programme der Reihe nach ausgeführt werden, indem lediglich Prüflaufdaten für das erste Programm erzeugt werden. Bei dem obigen zweiten Ausführungsbeispiel weist jeder Prozessor eine Prüfeinheit mit den Funktionen der Unterscheidung von Prüfdaten und on- line-Daten, der Erzeugung von Programmlaufdaten aus den Daten zum Ausführen des Programmes, der Umformung der Ergebnisdaten in weitere Prüfdaten und der Abgabe dieser Daten auf die gemeinsame Übertragungsleitung auf, so daß dann, wenn die Daten als Prüfdaten identifiziert sind, sie nicht nach außen ausgegeben werden, sondern die Ausgabedaten als Prüfdaten über die gemeinsame Übertragungsleitung gehen. Dadurch ist es möglich, ein Anwenderprogramm über einen willkürlichen Prozessor einem Prüflauf zu unterwerfen, um Prüfergebnisse selbst während des on-line-Betriebes der verteilten Datenverarbeitungsanlage zu erhalten, wodurch die Wartungsmöglichkeiten der Anlage verbessert sind.
Fig. 17 zeigt die interne Anordnung und den internen Aufbau von Prozessoren, die eine verteilte Datenverarbeitungsanlage bilden, gemäß eines dritten Ausführungsbeispiels der Erfindung. Bei der in Fig. 8 dargestellten verteilten Datenverarbeitungsanlage sind die Prozessoren 41 bis 46 so ausgebildet, wie es bei dem in Fig. 17 dargestellten Ausführungsbeispiel der Fall ist. Im Gegensatz zu dem zweiten in Fig. 10 dargestellten Ausführungsbeispiel enthält die Anordnung von Fig. 17 weiter einen Ausgabemusterspeicherbereich 211 zusätzlich zu der in Fig. 10 dargestellten Anordnung. Die Prüfeinheit 205 dient dazu, das Anwenderprogramm einem Prüflauf zu unterwerfen und ist mit einer Prüfmodultabelle 206 und dem Ausgabemusterspeicherbereich 211 versehen. Der übrige Teil der Anordnung ist mit Fig. 10 identisch. Der Eingabe/Ausgabedatenspeicherbereich 209 in Fig. 17 ist in den Eingabedatenbereich und den Ausgabedatenbereich unterteilt, wie es in Fig. 11 dargestellt ist.
Im folgenden wird anhand der Fig. 12 und 18 der Prüfbetrieb des dritten Ausführungsbeispiels beschrieben. Dem Prozessor 44 in Fig. 12, der als Anlagenprüfer arbeitet, wird ein Prüfdatenerzeugungsprogramm als Anwenderprogramm geliefert, so daß er Prüfdaten auf der Grundlage der Information erzeugt, die über das Kathodenstrahlröhrenterminal 140 eingegeben wird, und diese Daten über die Übertragungsleitung 501 ausgibt. Im folgenden wird die Prüfung eines Anwenderprogramms A 1201 des Prozessors 42 beschrieben, das Daten mit der Funktionskodierung FCA verwendet.
Fig. 18 zeigt das Format der Prüfdaten. Dieses Format ist mit dem in Fig. 9 dargestellten Format identisch und die Prüfdaten befinden sich im Datenfeld 105. Das Format umfaßt eine Funktionskodierung FCT (Prüf-FC) 602, die die Prüfdaten angibt, ein Feld 605, das dem Datenfeld 105 in Fig. 9 äquivalent ist, und eine Eingabedatenfunktionskodierung FCA 6051 und Eingabedaten (i-Data A) 6052 für den Prüflauf des Anwenderprogramms A 1201 (Fig. 12) sowie Ausgabedaten, die im folgenden als Ausgabemuster bezeichnet werden, das als Ergebnis der Ausführung des Programmes A unter Verwendung der Daten (i-DATA) 6052 erzeugt wird.
In den NCP, die mit den Prozessoren 41-46 verbunden sind, ist die Prüfkodierung FC (FCT) registriert und jeder NCP ruft die Prüfdaten 501 ab und liefert die Prüfdaten dem zugehörigen Prozessor, wie es in Fig. 12 dargestellt ist. Die Prüfdaten werden über die Übertragungssteuereinheit 201 (Fig. 17) im Aufnahmepuffer 203 gespeichert.
Im folgenden wird anhand der Fig. 19 und 20 die Arbeitsweise der Prüfeinheit 205 in Fig. 17 beschrieben. Die Fig. 19a, 19b und 19c zeigen die Datenaufnahme der Prüfeinheit und das Nachrichtentransaktionsformat. Bei der Datenaufnahme prüft die Prüfeinheit 205 am Anfang, ob die im FC-Feld der Daten im Empfangspuffer 203 gespeicherte Funktionskodierung eine Prüfkodierung FC, d. h. die Kodierung FCT ist (Schritt 701). Wenn das nicht der Fall ist, gibt die Prüfeinheit 205 die Daten 7001, die aus der Funktionskodierung FCA, dem Datenfeld (Data A) und dem T-Kennzeichen im rückgesetzten Zustand der Daten 700 im Empfangspuffer bestehen, auf die Verarbeitungseinheit 207, wie es in Fig. 19b dargestellt ist (Schritt 702). Wenn die Funktionskodierung des FC-Feldes der Daten im Empfangspuffer die Prüf-FC ist, dann prüft die Prüfeinheit 205, ob die Funktionskodierung 6051 im Datenfeld in Fig. 18 die Funktionskodierung der Daten ist, die durch das selbstorganisierte Anwenderprogramm benutzt werden (Schritt 703), wobei dann, wenn die Daten nicht brauchbar sind, die Prüfeinheit den Arbeitsvorgang beendet. Wenn es die Funktionskodierung der Daten ist, die beim selbstorganisierten Anwenderprogramm benutzt werden, setzt die Prüfeinheit das Kennzeichen in der Prüfmodultabelle 206, das angibt, daß das Anwenderprogramm mit Eingabedaten für einen Prüflauf abläuft (Schritt 704). Anschließend prüft die Prüfeinheit 205, ob ein Ausgabemuster im Datenfeld des Empfangspuffers eingegeben ist (Schritt 705), wobei dann, wenn das der Fall ist, die Prüfeinheit 205 das Ausgabemuster 0-Data A, das sich im Datenfeld 71000 der empfangenen Daten 7100 befindet, im Ausgabemusterspeicherbereich 211 speichert, wie es in Fig. 19c dargestellt ist (Schritt 706). Anschließend gibt die Prüfeinheit 205 die Daten 7101, die aus der Funktionskodierung FCA, den Prüflaufeingabedaten i-Data A und dem T-Kennzeichen im gesetzten Zustand bestehen und sich alle im Datenfeld 71000 der empfangenen Daten 7100 befinden, auf die Verarbeitungseinheit 207, wie es in Fig. 19c dargestellt ist (Schritt 707). Auf den Empfang aller für die Programmausführung notwendigen Daten von der Prüfeinheit 205 beginnt die Verarbeitungseinheit 207 mit dem Anwenderprogramm.
Nach Abschluß des Arbeitsvorganges speichert das Anwenderprogramm die Ergebnisdaten, beispielsweise die Daten C zusammen mit ihrer Funktionskodierung, beispielsweise der Funktionskodierung FCC, im Eingabe/Ausgabedatenspeicherbereich 204. Die Daten gehen über die Verarbeitungseinheit auf die Prüfeinheit 205.
Im folgenden wird anhand von Fig. 20 die Arbeitsweise der Prüfeinheit beim Umgang mit den Ausgabedaten des Anwenderprogramms beschrieben. Auf den Empfang der Ausgabedaten des Anwenderprogramms von der Verarbeitungseinheit 207 prüft die Prüfeinheit 205 am Anfang in der Prüfmodultabelle 206, ob es Ausgabedaten eines Anwenderprogrammlaufes mit Prüfdaten sind (Schritt 801). Wenn das nicht der Fall ist, speichert die Prüfeinheit 205 die Funktionskodierung FCC der Ausgabedaten 8000 im FC-Feld des Ausgabepuffers und die Daten Data-C im Datenfeld des Ausgabepuffers (Schritt 802). Wenn es sich herausstellt, daß die Ausgabedaten über einen Prüflauf erzeugt wurden, prüft die Prüfeinheit 205, ob das Ausgabemuster des Programmes im Ausgabemusterspeicherbereich 211 gespeichert ist, wobei dann, wenn das der Fall ist, die Prüfeinheit die Übereinstimmung mit dem Ausgabemuster überprüft (Schritte 803, 804). Wenn keine Übereinstimmung gefunden wird, speichert die Prüfeinheit 205 Daten, die angeben, daß der Prüflauf des Anwenderprogramms nicht normal abgelaufen ist, im Ausgabepuffer (Schritt 806). Wenn eine Übereinstimmung gefunden wird, speichert die Prüfeinheit die Funktionskodierung FCC und die Daten Data-C der Ausgabedaten 8100 im Datenfeld des Ausgabepuffers und setzt die Prüfeinheit die Prüfkodierung FC (FCT) in das FC-Feld des Ausgabepuffers, wie es in Fig. 20c dargestellt ist (Schritt 803). In diesem Fall wird vorher der O-Data-Bereich im Datenfeld des Ausgabepuffers gelöscht.
Das Anwenderprogramm schließt die in Fig. 16a dargestellte Datenverarbeitung ein, wenn Daten zu einer externen Einrichtung auszugeben sind. Das Programm prüft über das Ausgabeunterprogramm (Schritt 900) den Zustand des T-Kennzeichens in Fig. 19b und 19c, wobei dann, wenn das T-Kennzeichen rückgesetzt ist, die Daten zur externen Einrichtung ausgegeben werden (Schritt 902), oder dann, wenn das T-Kennzeichen gesetzt ist, Daten mit dem Ausgabegehalt und der Ungültigkeitskodierung FC (FCf) im Datenfeld und der Prüfkodierung FC (FTT) in der Funktionskodierung erzeugt werden (siehe Fig. 16b) und im Eingabe/Ausgabedatenspeicherbereich 209 gespeichert werden (Schritt 903). Die Prüfergebnisdaten und das Anwenderprogramm, das über die Prüfdaten abgelaufen ist und dazu bestimmt ist, die Daten zu sammeln, werden in den Anlagenprüfer 44( Fig. 12) gegeben, so daß das Programmprüflaufergebnis gesammelt wird.
Das oben beschriebene dritte Ausführungsbeispiel ist gleichfalls in der Lage, eine Abnormität des Anwenderprogrammes während des on-line-Betriebs der Anlage festzustellen, indem Prüfdaten mit der Prüf-FC unter Verwendung des Prüfprozessors erzeugt werden und das Anwenderprogramm mittels der empfangenen Prüfergebnisdaten einem Prüflauf unterworfen wird. Obwohl bei dem obigen Ausführungsbeispiel der Prozessor 44 in Fig. 12 fest als Prüfer zum Erzeugen der Prüfdaten bestimmt ist, ist die erfindungsgemäße Ausbildung nicht so zu verstehen, daß der Prüfer auf einem festen Prozessor festgelegt ist, vielmehr kann irgendein Prozessor oder irgendeine Anzahl von Prozessoren für die Prüfung der Anwenderprogramme benutzt werden.
Bei dem oben beschriebenen Ausführungsbeispiel werden die Anwenderprogramme, die Ausgabedaten eines Anwenderprogrammlaufes mit Prüfdaten verwenden, gleichfalls einem Prüflauf unterworfen. Es ist daher möglich, eine Reihe von Arbeitsvorgängen zu prüfen, die über eine der Reihe nach erfolgende Ausführung von mehreren Programmen durchgeführt werden, indem Ausgabemuster für die Programme in den Prüflaufdaten für das erste Programm eingegeben werden und eine Prüfeinheit vorgesehen ist, die die Funktion des Vergleiches mit einem Ausgabemuster in den Prüfdaten hat, die zu den Ausgabedaten des Prüflaufprogrammes gehören.
Obwohl bei dem obigen Ausführungsbeispiel die Information, die einen Prüflauf angibt, und die Prüflaufdaten dadurch übertragen werden, daß sie in dasselbe Datenfeld eingegeben werden, ist auch eine Abwandlung des Verfahrens möglich, derart, daß die Information und die Daten in Form von separaten Daten vorliegen und nur die Information, die den Prüflauf angibt, vorher übertragen wird.
Obwohl bei dem zweiten und dritten Ausführungsbeispiel das Netzwerk auf ein Schleifenübertragungssystem als Beispiel beschränkt war, ist die erfindungsgemäße Ausbildung auch auf übliche Netzwerke anwendbar.
Fig. 21 zeigt die Gesamtanordnung einer Anlage, bei der ein viertes Ausführungsbeispiel der Erfindung Verwendung findet. Die Anordnung umfaßt Prozessoren 311 bis 316, in denen Anwenderprogramme laufen, die in den jeweiligen internen Speichern gespeichert sind, eine in eine Richtung gehende Schleifenübertragungsleitung 301, die in der durch einen Pfeil angegebenen Richtung arbeitet, und Netzwerksteuerprozessoren NCP 1001-1006, die die Datenübertragungssteuerung auf der Übertragungsleitung ausführen. Die NCP 1001 bis 1006 sind über Zweirichtungswege mit den jeweiligen Prozessoren 311 bis 316 verbunden.
Die Prozessoren 311 bis 316 geben ihre jeweiligen Prozeßergebnisse (Daten) über die jeweiligen NCP 1001 bis 1006 auf die Übertragungsleitung 301. Jeder NCP 1001 bis 1006 prüft, ob die auf der Übertragungsleitung 301 fließenden Daten für den zugehörigen Prozessor notwendig sind, und liefert diese in den Eigenprozessor nur dann, wenn sie sich als verwendbar herausstellen.
Nachdem alle für die Ausführung des gespeicherten Anwenderprogrammes notwendigen Daten vorbereitet sind, beginnt jeder Prozessor 311 bis 316 mit dem Programm. Das begonnene Programm läuft unter Verwendung der abgerufenen Daten ab.
Bei dieser Anlage ist der Prozessor 314 mit einer Kathodenstrahlröhrenkonsole 14000 zur Verwendung bei der Prüfung gemäß der Erfindung verbunden. Auch bei dieser Anlage ist der Prozessor 311 mit einer externen Eingabe/Ausgabeeinrichtung 10001 verbunden, über die externe Prozeßdaten eingegeben werden.
Fig. 22 zeigt das Format der Daten, die über die Übertragungsleitungen 301 gehen. Das Format umfaßt ein Kennzeichen F 5201, das den Beginn einer Nachricht angibt, und eine Funktionskodierung FC 5202, die den Dateninhalt und die Datenfunktion wiedergibt. Jeder NCP prüft auf der Grundlage der Funktionskodierung, ob die empfangenen Daten für den zugehörigen Prozessor brauchbar sind. Das Format umfaßt weiterhin die Adresse des NCP, auf den die Daten übertragen werden (Betriebsmitteladresse: SA) 5203, eine Seriennummer C 5204, die für die Übertragung benutzt wird, eine Information (DATA) 5206, die durch das Anwenderprogramm verarbeitet wird, Fehlerfeststellungsdaten FCS 5207, ein Kennzeichen F 5208, das das Ende der Nachricht angibt, und eine Seriennummer in der Verarbeitung EN 5205, die aus einer Prozessornummer und einer Datenerzeugungsseriennummer besteht, wobei EN im folgenden als Ereignisnummer bezeichnet wird.
Fig. 23 zeigt die interne Ausbildung der Prozessoren 311 bis 316 beispielsweise des Prozessors 311 in Fig. 21. In dieser Anordnung überträgt die Übertragungssteuereinheit 5101 die Daten zwischen dem NCP 1001 und dem Prozessor 311 derart, daß die Daten, die vom NCP empfangen werden, im Aufnahmepuffer 5103 gespeichert werden und die Daten im Sendepuffer 5104 auf den NCP übertragen werden, wobei gleichzeitig dann, wenn die Daten für das Anwenderprogramm des Eigenprozessors brauchbar sind, diese im Aufnahmepuffer 5103 gespeichert werden. Die Prüfeinheit 5105 dient dazu, die Prüfung gemäß der Erfindung auszuführen und die Modulattributtabelle 5106 dient dazu, eine Information zu speichern, die angibt, ob jedes Anwenderprogramm sich im Prüflauf befindet oder nicht. Der Prozessornummerspeicherbereich 5113 dient dazu, die Prozessornummer zu speichern, die für jeden Prozessor eigen ist, und der Seriennummerbereich 5114 dient als Zähler zum Zählen der Anzahl der Datenerzeugungen.
Die Verarbeitungseinheit 5107 dient dazu, die Ausführung der Anwenderprogramme 1101 bis 1103 zu steuern. Die Steuereinheit 5111 für die externe Eingabe dient dazu, Daten von der externen Eingabe/Ausgabeeinrichtung 10001 einzugeben. Die FC-Tabelle 5112 für die externe Eingabe ist ein Bereich zum Speichern der Funktionskodierung der externen Eingabedaten. Der Eingabe/ Ausgabedatenspeicherbereich 5109 dient dazu, die Eingabe- und Ausgabedaten jedes Anwenderprogramms getrennt zu speichern.
Fig. 24a zeigt den Aufbau des Eingabe/Ausgabedatenspeicherbereiches 5109. Die erste Zeile 1091 ist der Eingabe/Ausgabedatenbereich für das Anwenderprogramm 1101, wobei der Bereich 10911 die Eingabedaten und der Bereich 10912 das Prozeßergebnis des Anwenderprogramms 1101 speichert. Die zweite Zeile 1092 ist für die Eingabe/Ausgabedaten des Anwenderprogrammes 1102 bestimmt und in der gleichen Weise dienen die übrigen Eingabe/Ausgabedatenbereiche für die restlichen Anwenderprogramme.
Fig. 24b zeigt das Format der im Eingabedatenbereich und im Ausgabedatenbereich gespeicherten Daten. Das Format schließt eine Funktionskodierung FC 10901 der Eingabe- oder Ausgabedaten, eine Ereignisnummer EN 10902 der Eingabe- oder Ausgabedaten und die Eingabe- oder Ausgabedaten selbst (DATA) 10903 ein.
Im folgenden wird ein Ausführungsbeispiel des erfindungsgemäßen Prüfverfahrens beschrieben.
Die Fig. 25a und 25b zeigen in Flußdiagrammen die Arbeit der Verarbeitungseinheit 5107. Der Datenempfang wird zunächst anhand von Fig. 25a beschrieben. Die Verarbeitungseinheit 5107 ruft die Daten von Empfangspuffer 5103 ab und speichert die Funktionskodierung FC, die Ereignisnummer EN und die Daten selbst (DATA) der Nachricht, die im Eingabedatenbereich eingegeben wurde, im Eingabe/Ausgabedatenspeicherbereich (Schritt 5501).
Anschließend prüft die Verarbeitungseinheit 5107, ob ein ausführbares Anwenderprogramm vorhanden ist oder nicht, d. h. ob alle für die Programmausführung notwendigen Eingabedaten im Eingabedatenbereich 10911 gespeichert sind (Schritt 5502). Wenn ein ausführbares Programm vorhanden ist, speichert die Verarbeitungseinheit 5107 den Inhalt des Ereignisnummerbereiches (EN) im Eingabedatenbereich für dieses Programm in den Ereignisnummerbereich des Ausgabedatenbereiches für dieses Programm (Schritt 5503).
Wenn das Anwenderprogramm unter Verwendung von mehreren Eingabedaten abläuft, sind Ereignisnummerbereiche der Ausgabedaten in einer Anzahl gleich der Anzahl der Eingabedaten reserviert und werden die Ereignisnummern aller Eingabedaten in den Ereignisnummerbereichen im Ausgabedatenbereich gespeichert.
Danach läuft das Anwenderprogramm, das ausführbar geworden ist, der Reihe nach ab (Schritt 5504).
Das begonnene Anwenderprogramm läuft ab unter Verwendung der Daten im Selbsteingabedatenbereich und speichert das Ergebnis im entsprechenden Ausgabedatenbereich.
Nach Abschluß der Ausführung des Anwenderprogramms, das über die oben genannten Arbeitsvorgänge abgelaufen ist, prüft die Verarbeitungseinheit 5107, ob die Ausgabedaten im Ausgabedatenbereich gespeichert sind (Schritt 5521 in Fig. 25b), wobei dann, wenn das der Fall ist, sie diese Daten der Prüfeinheit 5105 zuführt (Schritt 5522).
Fig. 26 zeigt die Arbeitsweise der Steuereinheit 5111 für die externe Eingabe. Beim Auftreten von extern eingegebenen Daten prüft die Steuereinheit 5111 in der FC-Tabelle 5112 für die externe Eingabe die Funktionskodierung dieser eingegebenen Daten und setzt die Steuereinheit 5111 im Ausgabepuffer 5104 die Funktionskodierung, die aus den Eingabedaten und der FC-Tabelle 5112 für die externe Eingabe bestimmt ist (Schritt 5610).
Anschließend gibt die Steuereinheit 5111 den Inhalt des Speicherbereiches 5113 für die Eigenprozessornummer und den Inhalt des Bereiches 5114 für die Seriennummer in den Ereignisnummerbereich im Ausgabepuffer 5104 (Schritt 5611), woraufhin sie den Inhalt des Seriennummerbereiches um eins erhöht.
Im folgenden wird anhand von Fig. 27 die Arbeitsweise der Prüfeinheit 5105 anschließend an die Ausführung des Anwenderprogramms beschrieben. Beim Empfang des ausgegebenen Ergebnisses des Anwenderprogramms von der Verarbeitungseinheit 5107 prüft die Prüfeinheit 5105 das Prüfkennzeichen in der Modulattributtabelle 5106 um zu ermitteln, ob das Anwenderprogramm sich im Prüflauf befindet, wobei dann, wenn das nicht der Fall ist, die Daten, die von der Verarbeitungseinheit abgerufen werden, in den Ausgabepuffer 5104 eingespeichert werden (Schritte 5701, 5702 in Fig. 27a). Wenn es sich herausstellt, daß das Programm sich im Prüflauf befindet, erzeugt die Prüfeinheit 5105 Prüfdaten, die als Datenfeld die Daten haben, die von der Verarbeitungseinheit 5107 abgerufen werden (Schritt 5703), und speichert die Prüfeinheit 5105 diese Daten im Ausgabepuffer 5104 (Schritt 5704). Die Daten im Ausgabepuffer werden in das Übertragungsformat durch die Übertragungssteuereinheit 5107 gebracht und über die Übertragungsleitung 301 ausgegeben.
Fig. 27b zeigt das Format der Prüfdaten, die im Schritt 5703 erzeugt werden. Der Funktionskodierungsbereich 5750 hält die Funktionskodierung FCT, die die Prüfdaten angibt, und der Ereignisnummerbereich 5751 hält den Inhalt des Speicherbereiches 5113 für die Eigenprozessornummer und den Inhalt des Bereiches 5114 für die Seriennummer.
Nach dem Setzen der Ereignisnummer erhöht die Prüfeinheit 5105 den Inhalt des Bereiches der Seriennummer um eins. Das Datenfeld 5752 dient dazu, den Dateninhalt von der Verarbeitungseinheit 5107, d. h. die Ausgabefunktionskodierung 5721 des Anwenderprogrammes, das Datenfeld 7523 und die Ereignisnummer 7522 aufzunehmen.
Über den obigen Arbeitsvorgang der Verarbeitungseinheit 5107 und der Prüfeinheit 5105 wird es möglich, ein neuentwickeltes Anwenderprogramm unter Verwendung der on-line-Daten einem Prüflauf zu unterwerfen, ohne den on-line-Betrieb der Anlage zu beeinflussen, indem das Anwenderprogramm im Prüfmodus in einen Prozessor eingeladen und das Prüfkennzeichen in der Modulattributtabelle gesetzt wird. Die Ausgabedaten, die durch den Prüflauf des Programmes gewonnen werden, werden in Prüfdaten (Funktionskodierung FCT) durch die Prüfeinheit 5105 umformatiert und über die Übertragungsleitung 301 ausgegeben, so daß jeder Prozessor die Prüfdaten für die Analyse des Prüflaufergebnisses abrufen kann.
Im folgenden wird anhand der Fig. 28 und 29 das Sammeln der Prüfdaten beschrieben. Fig. 28a zeigt die Anordnung der Gesamtanlage und den Datenfluß unter den Anwenderprogrammen. Bei dem folgenden Beispiel des Arbeitsablaufes wird ein Programm B 1401, das das Ausgabeergebnis eines on-line-Anwenderprogrammes A 1201 eines Prozessors 12 verwendet, im Prüfmodus in einen Prozessor 14 geladen, so daß es unter Verwendung der on-line-Daten geprüft wird.
Die Eingabedaten von der externen Eingabeeinrichtung 10001 werden von der Steuereinheit 5111 für die externe Eingabe in der Verarbeitungseinheit 311 empfangen und die Daten 5801 einschließlich einer Funktionskodierung FCI 8011 (Fig. 28b), einer Ereignisnummer 8014, die aus einer Prozessornummer 11 und einer Datenerzeugungsseriennummer 1 besteht, und der Inhalt der externen Eingabedaten (DATA I) 8015 werden über den Arbeitsablauf erzeugt, der in Fig. 26 dargestellt ist. Die Daten werden über den NCP 1001 auf der Übertragungsleitung 301 ausgegeben.
Das Datenformat 5801 in Fig. 28b umfaßt eine Adresse (SA1) 8012 des NCP 1001 und eine Seriennummer C1 8013, die für die Übertragung benutzt wird. Der Prozessor 312 ruft die Daten 5801 über den NCP 1002 ab und seine Verarbeitungseinheit 5107 wickelt das Anwenderprogramm A 1201 ab, wie es in Fig. 25a dargestellt ist. Das Anwenderprogramm A führt eine Datenverarbeitung unter Verwendung der Daten DATA I 8015 unter den Daten 5801 aus und speichert die Prozeßergebnisdaten DATA A und ihre Funktionskodierung FCA im Ausgabedatenbereich im Eingabe/Ausgabedatenspeicherbereich 5109. Das Prozeßergebnis geht über die Verarbeitungseinheit 5107, die Übertragungssteuereinheit 5101 und den NCP 1002 auf die Übertragungsleitung 301, wobei es in der Weise formatiert ist, wie es in Fig. 28b dargestellt ist. Der Inhalt der Ereignisnummer der Daten 5801 wird von der Verarbeitungseinheit in den Ereignisnummerbereich 8024 gegeben.
Neben dem Prüflaufprogramm B 1401, das mit den Daten 5802 läuft, wird ein Programm T 1402 zum Sammeln des Prüflaufergebnisses in den Prozessor 314 geladen. Fig. 29a zeigt den Aufbau des Datensammelprogramms T. Das Programm T besteht aus einem Unterprogramm T1 14021, das mit den Daten 5802 des Programmes B mit der Funktionskodierung FCA läuft, einem Unterprogramm T2 14022, das mit den Prüfdaten mit der Funktionskodierung FCT läuft, und einem Datenspeicherbereich 14023. Der Datenspeicherbereich 14023 ist aus einem Bereich 140231 zum Speichern der Eingabedaten für das Programm B und einem Bereich 140232 zum Speichern der Ausgabedaten aufgebaut. Diese Bereiche haben eine bestimmte Anzahl von Datenpuffern, die so arbeiten, daß sie den älteren Inhalt durch einen neuen Inhalt auf first-in-first-Löschbasis ersetzen.
Das Programm B im Prozessor 314 läuft mit den Ausgabedaten 5802 des Programmes A und liefert die Prozeßergebnisdaten DATA B und deren Funktionskodierung FCB, wie es in Fig. 28a dargestellt ist. Da das Programm B sich im Prüfmodus befindet, ruft die Prüfeinheit 5105 im Prozessor 314 die Ausgabedaten ab und reformatiert die Prüfeinheit 5105 diese Daten zu weiteren Prüfdaten 5803.
Das Programm T1 14021 im Prozessor 314 läuft gleichfalls mit den gleichen Daten 5802 (siehe Fig. 28a). Fig. 29b zeigt den Ablauf des Programmes T1. Das Programm T1 speichert die Funktionskodierung FCA 8021, die Ereignisnummer EN1 8024 und die Daten selbst DATA A 8025 der Eingabedaten 5802 im FCA-Datenspeicherbereich 140231 (Schritt 5901).
Anschließend prüft das Programm T1, ob Daten mit der gleichen Ereignisnummer wie die Eingabedaten 5802 bereits im Prüfdatenspeicherbereich 140232 gespeichert sind (Schritt 5902), wobei dann, wenn das der Fall ist, die Eingabedaten und die Daten im Prüfdatenspeicherbereich mit der gleichen Ereignisnummer an der Kathodenröhrenstrahlkonsole 14000 als Prüflaufergebnisinformation angezeigt werden (Schritt 5903).
Das Programm T2 14022 (Fig. 29a) läuft mit Prüfdaten 5803 (siehe Fig. 28b). Fig. 29c zeigt den Ablauf des Programmes T2. Das Programm T2 speichert die Eingabedaten 5803 und die Funktionskodierung FCB 80351, die Ereignisnummer 80352 und die Daten selbst DATA B 80353 im Datenfeld 8035 in den Prüfdatenspeicherbereich 140232 (Fig. 29a) (Schritt 5950).
Anschließend prüft das Programm T2, ob Daten mit der gleichen Ereignisnummer wie der im Datenfeld 8035 der Eingabedaten 5803 bereits im FCA Datenspeicherbereich 140231 gespeichert sind (Schritt 5951), wobei dann, wenn das der Fall ist, die Daten im FCA-Datenspeicherbereich und im Prüfdatenspeicherbereich mit der gleichen Ereignisnummer an der Kathodenstrahlröhrenkonsole 14000 als Prüflaufergebnis angezeigt werden (Schritt 5952).
Wie es oben beschrieben wurde, ist es beim vierten Ausführungsbeispiel möglich, ein neuentwickeltes Programm einem Prüflauf unter Verwendung von on-line-Daten zu unterwerfen, die im Prüfmodus in einen willkürlichen Prozessor eingeladen werden, ohne den on-line-Betrieb der Anlage zu beeinflussen, wobei es weiterhin möglich ist, daß ein willkürlicher Prozessor die Eingabedaten für das Prüflaufprogramm und dessen Ausgabeergebnis sammelt.
Obwohl das obige vierte Ausführungsbeispiel sich nur mit dem Fall des Prüflaufes eines Programmes unter Verwendung von on- line-Daten befaßte, ist es weiterhin möglich, den Prozessor, der ein Prüflaufprogramm speichert, dazu zu bringen, automatisch am Ende der Prüfung unter Verwendung von on-line- Daten auf den on-line-Betrieb überzugehen, indem ein Bereich zum Speichern des normalen Ausgabemusters des Anwenderprogramms und eines Kennzeichens für die Wahrnehmung einer Ausgabeabnormität in der Modulattributtabelle 5106 (Fig. 23) und eine Funktion vorgesehen werden, die das Modulattributkennzeichen rücksetzt, wenn die Ausgabe für die Eingabedaten zu einem gegebenen Zeitintervall oder eine gegebene Anzahl von Eingaben nach dem Einladen des Prüfprogramms in die Prüfeinheit 5105 (Fig. 23) als normal auf der Vergleichsbasis mit dem gespeicherten normalen Ausgabemuster beurteilt wird.
Fig. 30 zeigt ein Beispiel der Arbeit der Prüfeinheit bei der Ausführung der Prüfung für eine gegebene Anzahl No von Eingabedaten. Bei diesem Beispiel wird das Programm als normal angesehen, wenn die Ausgabedaten der Programmausführung mit dem normalen Ausgabemuster übereinstimmen. Die Verarbeitungsschritte 1701-1704 sind mit den Schritten 5701 bis 5704 in Fig. 27 identisch. Nachdem die Prüfdaten im Ausgabepuffer gespeichert sind (Schritt 1704), prüft die Prüfeinheit, ob die durch die Programmausführung erzeugten Ausgabedaten mit dem Ausgabemuster in der Modulattributtabelle übereinstimmen (Schritt 1705), wobei dann, wenn das nicht der Fall ist, das Kennzeichen für eine Abnormität in der Ausgabe in der Modulattributtabelle gesetzt wird (Schritt 1706). Danach erhöht die Prüfeinheit den Eingabedatenzähler für das Prüflaufprogramm um eins. (Schritt 1707).
Anschließend vergleicht die Prüfeinheit den Zählerinhalt mit einem vorbestimmten Wert N2 (Schritt 1708) und prüft die Prüfeinheit das Abnormitätskennzeichen, wenn der Zählerstand über No liegt (Schritt 1709), wobei dann, wenn das Kennzeichen keine Abnormität anzeigt, das Prüfkennzeichen in der Modulattributtabelle rückgesetzt wird (Schritt 1710).
Das obige Verfahren erlaubt es, ein in einem Prozessor eingeladenes Programm automatisch unter on-line-Bedingungen zu prüfen und auf den on-line-Betrieb nur dann überzugehen, wenn es als normal eingestuft ist, statt das Programm bedingungslos in Betrieb zu setzen.
Obwohl bei dem obigen vierten Ausführungsbeispiel ein Prüfprogramm und ein Datensammelprogramm in den Prozessor 14 eingegeben wurden, können diese Programme auch in einen willkürlichen Prozessor oder willkürliche Prozessoren separat zur Durchführung der Prüfung eingegeben werden.
Obwohl der gemeinsame Übertragungsweg des obigen vierten Ausführungsbeispiels eine in eine Richtung gehende Schleifenübertragungsleitung ist, können andere Datenübertragungsmöglichkeiten natürlich zur Durchführung des erfindungsgemäßen Verfahrens zugelassen werden.

Claims (15)

1. Prüfverfahren für Programme in einer verteilten Daten­ verarbeitungsanlage mit einer Anzahl von Prozessoren, die über ein Netzwerk miteinander verbunden sind, wobei für jeden Pro­ zessor (13, 41) ein Speicher (19, 210) zum Speichern eines in Prüfung befindlichen Programms vorgesehen ist, dadurch gekennzeichnet, daß jeder Prozessor (13, 41) im on-line-Betrieb
  • 1. aufgrund von Information, die den Prüfbetrieb angibt, entscheidet, ob ein Programm einem Prüfablauf zu unter­ werden ist,
  • 2. dann, wenn das Programm einem Prüflauf zu unterwerfen ist, eine Prüfinformation bezüglich dieses Programms ge­ winnt, und
  • 3. die Prüfung des Programms auf der Grundlage der Prüf­ information durchführt.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß die Prüfinformation von dem Programm empfangen wird, das dem Prüflauf zu unterwerfen ist.
3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß die Prüfinformation eine Information, die den Prüfbetrieb angibt, und die Prüfdaten umfaßt.
4. Verfahren nach einem der Ansprüche 1 bis 3, dadurch ge­ kennzeichnet, daß die Information, die den Prüfbetrieb angibt, an die im Netzwerk übertragenen Daten angehängt ist.
5. Verfahren nach einem der Ansprüche 1 bis 4, dadurch ge­ kennzeichnet, daß die Prüfinformation dem Programm beigefügt ist.
6. Verfahren nach einem der Ansprüche 1 bis 5, dadurch ge­ kennzeichnet, daß die Prüfinformation durch die Prozessoren gehalten wird.
7. Verfahren nach einem der Ansprüche 1 bis 6, dadurch ge­ kennzeichnet, daß dann, wenn das Programm nach Maßgabe der Prüfinformation, die von einem anderen Prozessor (13, 41) emp­ fangen wird, einem Prüflauf unterworfen wird, das Ergebnis der Durchführung des Programms in das Netzwerk eingespeist wird und das Ergebnis vom anderen Prozessor (13, 41) zum Feststel­ len einer Abnormität des Programms empfangen wird.
8. Verfahren nach einem der Ansprüche 1 bis 7, dadurch ge­ kennzeichnet, daß jeder Prozessor (13, 41) dann, wenn er die Prüfdaten abruft und verarbeitet, so arbeitet, daß er die Ein­ gabe oder Ausgabe der zugehörigen Eingabe/Ausgabeeinrichtung (10) für die zu verarbeitenden Daten unterdrückt, ohne den Be­ trieb der Eingabe/Ausgabeeinrichtung (10) auszuschließen.
9. Verfahren nach einem der Ansprüche 1 bis 8, dadurch ge­ kennzeichnet, daß jeder der Prozessoren (13, 41) dann, wenn ein beliebiger Prozessor (13, 31) als Prüfer arbeitet, Daten mit einem daran anhängenden Prüfkennzeichen in das Netzwerk einspeist, die Prüfdaten und die üblichen Daten auf der Grund­ lage des Prüfkennzeichens unterscheidet und, wenn die Daten im Netzwerk als Prüfdaten identifiziert werden, durch eine Prüf­ einrichtung (205) Programmlaufdaten aus dem Dateninhalt er­ zeugt, das Programm unter Verwendung der laufenden Programm­ daten ausführt, Ausführungsergebnisdaten wieder in Prüfdaten umformt und die umgeformten Prüfdaten in das Netzwerk einspeist.
10. Verfahren nach Anspruch 9, dadurch gekennzeichnet, daß jeder Prozessor (13, 41) so arbeitet, daß er vom Netzwerk ab­ gerufene Daten als Prüfdaten, die einen Prüfeingabewert und einen normalen Ausgabewert einschließen, oder als übliche Daten identifiziert.
11. Verfahren nach Anspruch 10, dadurch gekennzeichnet, daß die Prüfeinrichtung (205) ein Programm ausführt, indem sie ab­ gerufene Prüfdaten verwendet und die Normalität oder Abnormität des Programms auf der Grundlage eines Vergleiches der Ausgabedaten als Folge der Ausführung mit dem normalen Ausgabewert in den Prüfdaten beurteilt.
12. Verfahren nach einem der Ansprüche 1 bis 8, dadurch ge­ kennzeichnet, daß jeder Prozessor (13, 41) ermittelt, ob ein Anwenderprogramm, das in den Prozessor (13, 41) geladen ist, sich im Prüfmodus befindet oder nicht, Daten eines Prüflauf­ ergebnisses dadurch erzeugt, daß er Daten als Folge der Aus­ führung des Anwenderprogrammes abruft, und, wenn das Anwender­ programm sich im Prüfmodus befindet, die erzeugten Daten in das Netzwerk einspeist.
13. Verfahren nach Anspruch 12, dadurch gekennzeichnet, daß Eingabedaten für das Programm im Prüfmodus und Prüfergebnis­ daten entsprechend diesen Eingabedaten gesammelt und die Ein­ gabedaten und die Ergebnisdaten dementsprechend angezeigt werden.
14. Verfahren nach Anspruch 12, dadurch gekennzeichnet, daß die Prozessoren (13, 41) ein vorbestimmtes Ausgabemuster haben, das dem Programm im Prüfmodus entspricht, und daß die Prüfergebnisdaten mit dem Ausgabemuster verglichen und der Prozessor (13, 41) aus dem Prüfbetrieb auf das Vergleichs­ ergebnis ansprechend entlassen wird.
15. Prüfvorrichtung für Programme in einer verteilten Datenverarbei­ tungsanlage mit einer Anzahl von Prozessoren, die über ein Netzwerk miteinander verbunden sind, wobei für jeden Prozessor (13, 41) ein Speicher (19, 210) zum Speichern des in Prüfung befindlichen Programms vorgesehen ist, dadurch gekennzeichnet, daß jeder Prozessor (13, 41) mit einer Einrichtung (11, 1001- 1006) versehen ist, die ansprechend auf einen Prüflauf, der durch die von einem anderen Prozessor empfangene Prüfinforma­ tion ausgelöst ist, in das Netzwerk ein Ergebnis der Programm­ ausführung einspeist, das Prüfergebnis empfängt und eine Ab­ normität des Programms feststellt.
DE19863629178 1985-08-30 1986-08-28 Pruefverfahren und -vorrichtung fuer eine verteilte datenverarbeitungsanlage Granted DE3629178A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP60191782A JPS6252643A (ja) 1985-08-30 1985-08-30 オンライン・テスト方式
JP60281418A JPH0756636B2 (ja) 1985-12-11 1985-12-11 データ処理方法

Publications (2)

Publication Number Publication Date
DE3629178A1 DE3629178A1 (de) 1987-03-05
DE3629178C2 true DE3629178C2 (de) 1991-02-14

Family

ID=26506898

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19863629178 Granted DE3629178A1 (de) 1985-08-30 1986-08-28 Pruefverfahren und -vorrichtung fuer eine verteilte datenverarbeitungsanlage

Country Status (6)

Country Link
US (1) US4803683A (de)
KR (1) KR950003201B1 (de)
CN (1) CN1008485B (de)
BR (1) BR8604144A (de)
CA (1) CA1266328A (de)
DE (1) DE3629178A1 (de)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0827738B2 (ja) * 1986-08-15 1996-03-21 株式会社日立製作所 オンラインテスト方法
JP2624676B2 (ja) * 1987-04-24 1997-06-25 株式会社日立製作所 プログラム世代管理方法
GB8814629D0 (en) * 1987-11-12 1988-07-27 Ibm Direct control facility for multiprocessor network
IN170793B (de) * 1987-12-18 1992-05-23 Hitachi Ltd
US5067107A (en) * 1988-08-05 1991-11-19 Hewlett-Packard Company Continuous computer performance measurement tool that reduces operating system produced performance data for logging into global, process, and workload files
US5008814A (en) * 1988-08-15 1991-04-16 Network Equipment Technologies, Inc. Method and apparatus for updating system software for a plurality of data processing units in a communication network
US5222212A (en) * 1988-09-16 1993-06-22 Chips And Technologies, Inc. Fakeout method and circuitry for displays
US5048018A (en) * 1989-06-29 1991-09-10 International Business Machines Corporation Debugging parallel programs by serialization
US5117352A (en) * 1989-10-20 1992-05-26 Digital Equipment Corporation Mechanism for fail-over notification
EP0442809B1 (de) * 1990-02-15 1995-09-20 Digital Equipment Corporation Modellgestütztes deduktives System für Netzwerksfehlerdiagnose
US5233611A (en) * 1990-08-20 1993-08-03 International Business Machines Corporation Automated function testing of application programs
JPH06188909A (ja) * 1992-12-18 1994-07-08 Fujitsu Ltd 異常パケット処理方式
US5371883A (en) * 1993-03-26 1994-12-06 International Business Machines Corporation Method of testing programs in a distributed environment
US5594872A (en) * 1993-04-27 1997-01-14 Hitachi, Ltd. Method of communicating messages in a distributed processing system
JP3552258B2 (ja) * 1993-12-27 2004-08-11 株式会社日立製作所 分散計算機システム及びその情報管理方法
KR19980073886A (ko) * 1997-03-20 1998-11-05 윤종용 교환기의 신호 테스트 장치
US5943391A (en) * 1997-06-10 1999-08-24 Cirrus Logic, Inc. Method and device for a debugger and test data collector
US5963743A (en) * 1997-08-29 1999-10-05 Dell Usa, L.P. Database for facilitating software installation and testing for a build-to-order computer system
US6512988B1 (en) * 2000-05-25 2003-01-28 Agilent Technologies, Inc. Fast test application switching method and system
US20030060996A1 (en) * 2000-06-07 2003-03-27 John Yi Semi-automated multi-site system tester
US6966837B1 (en) * 2001-05-10 2005-11-22 Best Robert M Linked portable and video game systems
US7373636B2 (en) * 2002-05-11 2008-05-13 Accenture Global Services Gmbh Automated software testing system and method
US7188275B2 (en) * 2004-01-16 2007-03-06 Hewlett-Packard Development Company, L.P. Method of verifying a monitoring and responsive infrastructure of a system
US20080320071A1 (en) * 2007-06-21 2008-12-25 International Business Machines Corporation Method, apparatus and program product for creating a test framework for testing operating system components in a cluster system
DE102008042894A1 (de) * 2008-10-16 2010-04-22 Robert Bosch Gmbh Verfahren und Vorrichtung zum Testen eines Rechnerkerns in einer mindestens zwei Rechnerkerne aufweisenden Recheneinheit
JP5304449B2 (ja) * 2009-06-02 2013-10-02 富士通株式会社 シナリオ作成プログラム、シナリオ作成装置およびシナリオ作成方法
CN101791989A (zh) * 2010-03-31 2010-08-04 上海磁浮交通发展有限公司 一种自律分散轨道交通信息网络架构系统
US8875092B2 (en) * 2011-05-31 2014-10-28 Red Hat, Inc. Certifying software components using a defect tracking system
US9104651B1 (en) * 2011-07-15 2015-08-11 Scale Computing, Inc. Techniques for distributing tests and test suites across a network
CN103078763B (zh) * 2012-12-18 2016-04-20 北京尊冠科技有限公司 一种信息存储系统的多协议并行测试方法及系统
US9081679B2 (en) * 2013-01-28 2015-07-14 Ca, Inc. Feature centric diagnostics for distributed computer systems
KR102180592B1 (ko) * 2018-12-14 2020-11-18 주식회사 엘지씨엔에스 It 시스템 검증 방법 및 시스템

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS594054B2 (ja) * 1979-04-17 1984-01-27 株式会社日立製作所 マルチプロセツサ障害検出方式
JPS57146361A (en) * 1981-03-06 1982-09-09 Hitachi Ltd Decentralized processing method
US4589068A (en) * 1983-10-03 1986-05-13 Digital Equipment Corporation Segmented debugger
US4627054A (en) * 1984-08-27 1986-12-02 International Business Machines Corporation Multiprocessor array error detection and recovery apparatus

Also Published As

Publication number Publication date
DE3629178A1 (de) 1987-03-05
CN1008485B (zh) 1990-06-20
KR950003201B1 (ko) 1995-04-04
CA1266328A (en) 1990-02-27
CN86105373A (zh) 1987-03-11
US4803683A (en) 1989-02-07
KR870002457A (ko) 1987-03-31
BR8604144A (pt) 1987-04-28

Similar Documents

Publication Publication Date Title
DE3629178C2 (de)
DE2726753C2 (de) Ferngesteuerter Prüf-Interface-Adapter
DE2953432C1 (de) Vorrichtung zum Testen eines Mikroprogramms
EP0346801B1 (de) Verfahren und Anordnung zur Ausführung eines Programms in einem heterogenen Mehrrechnersystem
DE3201768C2 (de)
DE2244402A1 (de) Datenverarbeitungsanlage
DE3902488A1 (de) Vorrichtung zur dezentralen datenverarbeitung und verfahren zum laden von programmen dafuer
DE2500086A1 (de) Diagnostisches verbindungssystem fuer computergesteuerte werkzeugmaschinen
DE2515297A1 (de) Pruefsystem fuer logische netzwerke mit simulatororientiertem fehlerpruefgenerator
DE4317729A1 (de) Programmierbare Steuereinheit
DE69914568T2 (de) Vorrichtung, Verfahren und System zur Dateisynchronisierung in einem Fehlertoleranten Netzwerk
DE19827431A1 (de) Verfahren zur Fehlererkennung in einem Prozessorsystem
DE3718472C2 (de)
DE4010109C2 (de) Duplexrechnersystem
DE4302908C2 (de) Verfahren zur Ermittlung kritischer Fehler insbesondere für ein Kommunikationssystem und eine nach diesem Verfahren arbeitende Schaltungsanordnung
DE3841214C2 (de) Vorrichtung zur Behandlung von Statusdaten in einem Mehreinheitensystem
DE3619660A1 (de) Programmverwaltungsverfahren fuer ein mehrfachrechnersystem
DE69908782T2 (de) Fehlerkontrolle und -korrektur in einem datenkommunikationssystem
DE4121481C1 (de)
DE2657897A1 (de) Externes geraet, das die ureingabe fest gespeichert enthaelt, fuer elektronische datenverarbeitungsanlagen mit einem zentralen speicher
DE10259794A1 (de) Verfahren und Vorrichtung für das Event Management
DE4233837A1 (de) Rechenanlage
DE4402866A1 (de) Puffer-Verwaltungssystem zur Verwaltung eines Puffer-Pools
DE3040429A1 (de) Ueberwachungseinrichtung fuer ein computersystem
WO2000043885A1 (de) Verfahren zum tracen von daten

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8128 New person/name/address of the agent

Representative=s name: STREHL, P., DIPL.-ING. DIPL.-WIRTSCH.-ING. SCHUEBE

D2 Grant after examination
8364 No opposition during term of opposition