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
Links
Classifications
-
- 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/3668—Software testing
- G06F11/3672—Test management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
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).
(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.
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.
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.
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 (33)
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 |
DE69113077T2 (de) * | 1990-02-15 | 1996-05-30 | Digital Equipment Corp | 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 |
WO2003096191A2 (en) * | 2002-05-11 | 2003-11-20 | 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 시스템 검증 방법 및 시스템 |
CN113076228B (zh) * | 2020-01-03 | 2024-06-04 | 阿里巴巴集团控股有限公司 | 分布式***及其管理方法与装置 |
Family Cites Families (4)
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 |
-
1986
- 1986-08-11 US US06/895,375 patent/US4803683A/en not_active Expired - Lifetime
- 1986-08-12 CA CA000515768A patent/CA1266328A/en not_active Expired - Lifetime
- 1986-08-28 DE DE19863629178 patent/DE3629178A1/de active Granted
- 1986-08-28 KR KR1019860007157A patent/KR950003201B1/ko not_active IP Right Cessation
- 1986-08-29 CN CN86105373A patent/CN1008485B/zh not_active Expired
- 1986-08-29 BR BR8604144A patent/BR8604144A/pt not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
CN86105373A (zh) | 1987-03-11 |
CN1008485B (zh) | 1990-06-20 |
KR870002457A (ko) | 1987-03-31 |
US4803683A (en) | 1989-02-07 |
BR8604144A (pt) | 1987-04-28 |
DE3629178A1 (de) | 1987-03-05 |
CA1266328A (en) | 1990-02-27 |
KR950003201B1 (ko) | 1995-04-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3629178C2 (de) | ||
DE3685634T2 (de) | Verteiltes datenverarbeitungssystem und -verfahren. | |
DE3486257T2 (de) | Synchrones dezentralisiertes Verarbeitungssystem. | |
DE2726753C2 (de) | Ferngesteuerter Prüf-Interface-Adapter | |
DE2953432C1 (de) | Vorrichtung zum Testen eines Mikroprogramms | |
DE3751949T2 (de) | Verfahren zum Starten eines Untersystems in einem verteilten Verarbeitungssystem | |
DE3382775T2 (de) | Elektronisches Dokumentenverteilnetzwerk mit gleichmässigem Datenstrom. | |
DE68920462T2 (de) | On-line-Problemverwaltung für Datenverarbeitungssysteme. | |
DE3850986T2 (de) | Verfahren zur Reservekapazitätsverwendung für Fehlererkennung in einem Multiprozessorsystem. | |
DE3201768C2 (de) | ||
DE69932654T2 (de) | Überwachungssystem für Anlagen | |
DE2244402A1 (de) | Datenverarbeitungsanlage | |
DE3902488A1 (de) | Vorrichtung zur dezentralen datenverarbeitung und verfahren zum laden von programmen dafuer | |
DE2500086A1 (de) | Diagnostisches verbindungssystem fuer computergesteuerte werkzeugmaschinen | |
DE68926329T2 (de) | Steuerungssystem für den automatischen Betrieb eines Rechnersystems | |
DE2515297A1 (de) | Pruefsystem fuer logische netzwerke mit simulatororientiertem fehlerpruefgenerator | |
DE69023695T2 (de) | Initialisierungs-system und -methoden für Eingang/Ausgang-Verarbeitungseinheiten. | |
DE3687765T2 (de) | Digitales automatisches flugsteuersystem. | |
DE69914568T2 (de) | Vorrichtung, Verfahren und System zur Dateisynchronisierung in einem Fehlertoleranten Netzwerk | |
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 | |
DE69908782T2 (de) | Fehlerkontrolle und -korrektur in einem datenkommunikationssystem | |
DE10259794A1 (de) | Verfahren und Vorrichtung für das Event Management |
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 |