DE3685634T2 - Verteiltes datenverarbeitungssystem und -verfahren. - Google Patents
Verteiltes datenverarbeitungssystem und -verfahren.Info
- Publication number
- DE3685634T2 DE3685634T2 DE8686116819T DE3685634T DE3685634T2 DE 3685634 T2 DE3685634 T2 DE 3685634T2 DE 8686116819 T DE8686116819 T DE 8686116819T DE 3685634 T DE3685634 T DE 3685634T DE 3685634 T2 DE3685634 T2 DE 3685634T2
- Authority
- DE
- Germany
- Prior art keywords
- data
- program
- test
- processing
- test mode
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 27
- 238000012360 testing method Methods 0.000 claims description 87
- 230000005540 biological transmission Effects 0.000 claims description 29
- 238000003672 processing method Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 13
- 239000000872 buffer Substances 0.000 description 12
- 238000013500 data storage Methods 0.000 description 10
- 238000001514 detection method Methods 0.000 description 5
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 239000012536 storage buffer Substances 0.000 description 1
- 238000010998 test method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Debugging And Monitoring (AREA)
- Multi Processors (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Computer And Data Communications (AREA)
Description
- Die vorliegende Erfindung betrifft ein verteiltes Verarbeitungssystem. Spezieller betrifft sie in einem verteilten Verarbeitungssystem mit mehreren Verarbeitungseinheiten ein verteiltes Verarbeitungssystem und ein -verfahren, das Tests von Anwendungsprogrammen bei Onlinebetrieb zuläßt.
- Was ein verteiltes Verarbeitungssystem mit mehreren an eine gemeinsame Übertragungsleitung angeschlossenen Verarbeitungseinheiten betrifft, ist ein Verfahren, gemäß dem ein Programm zum Ausführen jedes einer Reihe von Prozessen begonnen wird, wenn Datenelemente, die zum Ausführen des Programmes erforderlich sind, vollständig über die Übertragungsleitung in der zugehörigen Verarbeitungseinheit empfangen wurden, im Dokument "Official Gazette of Japanese Patent Application Laid-open" unter der Nr. 57-146361 beschrieben. Dieses Verfahren ermöglicht es, eine Reihe von Prozessen durch die jeweils zugehörige Verarbeitungseinheit auszuführen, ohne daß ein Ausführungsprozessor zum Verwalten des gesamten Systems erforderlich ist. Jedoch weist es keine Einrichtung zum Testen von Programmen auf, die entwickelt wurden, um unter Verwendung von Onlinedaten die jeweiligen Verarbeitungseinheiten zu laden und um unter Onlinebedingungen zu entscheiden, ob die Programme normal oder anormal arbeiten.
- Einige herkömmliche Systeme neben den Systemen mit verteilter Verarbeitung weisen Einrichtungen zum Sammeln von Ergebnisdaten von Programmverarbeitungen auf. Jedoch arbeiten diese Einrichtungen nur dahingehend, daß sie den Logarithmus von Daten in zeitlicher Folge erfassen, was zum Analysieren von Testergebnissen mit Hilfe der gesammelten Ergebnisse unzufriedenstellend ist.
- Eine Aufgabe der vorliegenden Erfindung ist es, die vorstehend angegebene Schwierigkeit bei einem bekannten System mit verteilter Verarbeitung zu beseitigen, und es liegt ihr die Aufgabe zugrunde, ein System anzugeben, in dem Prozesse durch jeweilige Verarbeitungseinheiten ausgeführt werden, ohne daß ein Ausführungsprozessor zum Verwalten des gesamten Systems erforderlich ist, also ein verteiltes Verarbeitungssystem und -verfahren, die Programmtests unter Onlinebetrieb ermöglichen.
- Die vorliegende Erfindung zum Lösen der Aufgabe weist ein verteiltes Verarbeitungsverfahren gemäß Anspruch 1 oder ein verteiltes Verarbeitungssystem gemäß Anspruch 4 auf.
- Figur 1 ist ein Diagramm, das eine Systemarchitektur als Ausführungsbeispiel der Erfindung zeigt;
- Figur 2 ist ein Diagramm, das ein übertragenes Nachrichtenformat zeigt;
- Figur 3 und Figuren 4(a) und 4(b) sind Diagramme, die die innere Anordnung eines Prozessors zeigen;
- Figuren 5(a) und 5(b), Figur 6 und Figuren 7(a) und 7(b) sind Diagramme, die Verarbeitungsabläufe im Prozessor darstellen;
- Figuren 8(a) und 8(b) sowie Figuren 9(a) - 9(c) sind Diagramme zum Erläutern eines Prozesses zum Sammeln von Testdaten; und
- Figur 10 ist ein Diagramm zum Erläutern eines Prozesses zum automatischen Testen eines Programms in einer Testeinheit.
- Figur 1 ist ein Diagramm für die allgemeine Architektur eines Systems, bei dem die Erfindung angewendet ist. In der Figur bezeichnen Bezugszeichen 11 - 16 Prozessoren, von denen jeder ein Anwendungsprogramm in einem internen Speicher speichert und dieses gegebenenfalls ausführt, und das Bezugszeichen 1 bezeichnet eine Einrichtungs-Schleifenübertragungsleitung, die in Richtung des dargestellten Pfeils überträgt. Darüber hinaus zeigen Bezugszeichen 1001 - 1006 Netzwerk-Steuerprozessoren NCP an, von denen jeder eine Steuerung für Datenübertragung auf der Übertragungsleitung ausführt. Jeder der NCPs 1001 - 1006 und der jeweils zugehörige Prozessor 11 - 16 sind bidirektional miteinander verbunden.
- Die verarbeiteten Ergebnisse (Daten) der Prozessoren 11 - 16 werden über die NCPs 1001 - 1006 in die Übertragungsleitung 1 geleitet. Jeder der NCPs 1001 - 1006 entscheidet, ob Daten, die auf der Übertragungsleitung 1 laufen, in den angeschlossenen Prozessor überführt werden müssen und sendet die Daten nur dann an den eigenen Prozessor, wenn das Erfordernis hierfür erkannt wurde.
- Jeder der Prozessoren 11 - 16 startet ein Anwendungsprogramm zu demjenigen Zeitpunkt, zu dem alle Datenelemente zum Ausführen des im Prozessor gespeicherten Programms vollständig sind. Das gestartete Programm führt die zugehörigen Prozesse unter Verwendung der Datenelemente aus.
- Es sei angenommen, daß bei diesem System der Prozessor 14 einen Test gemäß dem erfindungsgemäßen Verfahren ausführen soll; eine Kathodenstrahl(CRT = cathode ray tube)-Konsole 14000 ist an ihn angeschlossen. Darüber hinaus ist bei diesem System eine externe Eingabe/Ausgabe-Ausrüstung 10001 an den Prozessor 11 angeschlossen; Daten werden von einem externen Prozeß über die externe Eingabe/Ausgabe-Ausrüstung 10001 eingegeben.
- Wenn zu den empfangenen Daten Information gehört, die einen Testmodus anzeigt, führt jeder Prozessor ein Programm aus, das die oben genannten Daten verwendet und er erzeugt Daten eines Testergebnisses auf Grundlage des Verarbeitungsergebnisses, unabhängig davon, ob sich das ausgeführte Programm im Testmodus befindet oder nicht.
- Figur 2 zeigt das Format der Daten, die auf der Übertragungsleitung 1 laufen. 201(f) bezeichnet ein Flag, das den Beginn einer Nachricht anzeigt, und 202(CC) bezeichnet einen Inhaltscode, der dem Dateninhalt entspricht.
- Auf Grundlage des Inhaltscodes entscheides jeder NCP, ob die empfangenen Daten für den an ihn angeschlossenen Prozessor erforderlich sind. 203(SA) bezeichnet die Adresse des NCP, der die Daten gesendet hat (Sendeadresse) und 204(C) bezeichnet eine Folgenummer, die für die Übertragung erforderlich ist.
- 206(DATA) bezeichnet Information, die vom zugehörigen Anwendungsprogramm auszuführen ist, 207(FCS) bezeichnet Fehlerermittlungsdaten und 208(F) bezeichnet ein Flag, das das Ende der Nachricht anzeigt. Darüber hinaus bezeichnet 205(EN) eine Folgenummer bei einem Verarbeitungspegel, die aus einer Prozessornummer und einer Datenerzeugungs-Folgenummer besteht. Nachfolgend wird diese als "Ereignisnummer" bezeichnet.
- Figur 3 ist ein Diagramm, das den inneren Aufbau des in Figur 1 dargestellten Prozessors 11 darstellt, wobei jeder der anderen Prozessoren 12 - 16 denselben Aufbau aufweisen.
- Eine Schnittstelle 101 ist eine Einheit, die Daten zwischen dem NCP 1001 und dem Prozessor 11 überträgt; über diese werden Daten, die vom NCP empfangen werden in einem Empfangspuffer 103 gespeichert. Darüber hinaus überträgt die Einheit 101 Daten aus einem Sendepuffer 104 an den NCP und speichert gleichzeitig die Daten im Sendepuffer 104 in den Empfangspuffer 103 ein, wenn dies für das in den eigenen Prozessor geladene Anwendungsprogramm erforderlich ist.
- Eine Testeinheit 101 ist eine Einheit, die für den erfindungsgemäßen Test dient; ein Programmattributregister 106 ist eine Tabelle, die Informationselemente speichert, die anzeigen, ob sich die jeweiligen Anwendungsprogramme im Testmodus befinden. Ein Prozessor, Eigennummerregister 113, ist ein Bereich, der eine von mehreren Nummern speichert, die den jeweiligen Prozessoren zugeordnet sind, um diese voneinander zu unterscheiden, und ein Folgenummerregister 114 ist ein Bereich, der als Zähler für die Anzahl erzeugter Daten verwendet wird.
- Eine Verarbeitungseinheit 107 ist eine Einheit, die dazu dient, die Ausführung von Anwendungsprogrammen 1101 - 1103 zu steuern. Darüber hinaus ist eine Schnittstelle 111 eine Einheit zum Empfangen eines Eingabesignals von der externen Eingabe/Ausgabe-Ausrüstung 10001. Ein Inhaltscoderegister 112 ist ein Bereich, in dem die Inhaltscodes externer Eingabedaten gspeichert werden. Ein Eingabe/Ausgabe-Datenregister 109 ist ein Bereich, der dazu dient, Eingabe/Ausgabe-Daten für jedes der Anwendungsprogramme zu speichern.
- Figur 4(a) ist ein Diagramm, das den Inhalt des Eingabe/Ausgabe-Datenregisters 109 zeigt. Die erste Zeile 1091 des Bereichs 109 besteht aus Eingabe/Ausgabe-Datenbereichen für das Anwendungsprogramm 1101; ein Bereich 10911 speichert die Eingangsdaten für das Anwendungsprogramm 1101, während ein Bereich 10912 die Verarbeitungsergebnisse hierfür speichert. Der zweite Bereich 1092 des Bereiches 109 besteht aus Bereichen zum Speichern der Eingabe/Ausgabe-Daten des Anwendungsprogramms 1102. Ab hier sind Eingabe/Ausgabe-Datenbereiche für die jeweiligen Anwendungsprogramme ähnlich eingerichtet.
- Figur 4(b) ist ein Diagramm, das das Format der Daten zeigt, die im Eingabedatenbereich oder im Ausgabedatenbereich gespeichert werden. 10901(CC) bezeichnet den Inhaltscode der Eingabe- oder Ausgabedaten, 10902(EN) bezeichnet die Ereignisnummer der Eingabe- oder Ausgabedaten und 10903(DATA) bezeichnet den Dateninhalt der Eingabe- oder Ausgabedaten.
- Nun wird ein Testverfahren als ein Ausführungsbeispiel der vorliegenden Erfindung beschrieben.
- Die Figuren 5(a) und 5(b) sind Diagramme, die Verarbeitungsflüsse in der Verarbeitungseinheit 107 zeigen. Zunächst wird die Verarbeitung beim Empfang von Daten unter Bezugnahme auf Figur 5(a) beschrieben.
- Daten werden vom Empfangspuffer 103 empfangen, und der Inhaltscode(CC), die Ereignisnummer(EN) und der Datenteil (DATA) der empfangenen Daten werden im Eingabedatenbereich innerhalb des Eingabe/Ausgabe-Datenbereichs abgespeichert (Schritt 501).
- Anschließend entscheidet die Verarbeitungseinheit, ob ein ausführbares Anwendungsprogramm vorliegt oder nicht, d. h. ob alle für die Ausführung des Programms erforderlichen Eingabedatenelemente in den Eingabedatenbereichen (10911, usw.) gespeichert sind (Schritt 502).
- Wenn ein ausführbares Programm vorliegt, wird der Inhalt(EN) des Ereignisnummerbereichs in dem dem Programm entsprechenden Eingabedatenbereich im Ereignisnummerbereich des dem Programm entsprechenden Ausgabedatenbereichs ohne jede Änderung abgespeichert (Schritt 503).
- Hier, im Fall eines Anwendungsprogramms, das mit mehreren Eingabedatenelementen gestartet wird, werden die Ereignisnummerbereiche des Ausgabedatenbereichs in die Nummer der Eingabedatenelemente übernommen und die Ereignisnummern aller Eingabedatenelemente werden in den Ereignisnummerbereichen innerhalb des Ausgabedatenbereichs ohne Änderung abgespeichert.
- Anschließend werden Anwendungsprogramme, die ausführbar wurden, aufeinanderfolgend gestartet (Schritt 504).
- Ein gestartetes Anwendungsprogramm führt Prozesse auf Grundlage der Daten innerhalb des zugehörigen Eingabedatenbereichs aus und gibt zugehörige Ergebnisse in den Ausgabebereich ein.
- Wenn die Ausführung des gestarteten Anwendungsprogramms gemäß dem vorstehenden Prozeß beendet wurde, entscheidet die Ausführungseinheit 107, ob die Ausgabedaten im Ausgabedatenbereich gespeichert sind (Schritt 521 in Figur 5(b)). Wenn die Daten gespeichert sind, werden sie an die Testeinheit 105 übertragen (Schritt 522 in Figur 5(b)).
- Figur 6 ist ein Diagramm, das die von der Schnittstelle 111 aus geführte Verarbeitung zeigt. Nach Erzeugung einer externen Eingabe legt die Schnittstelle 111 den Inhaltscode der Eingabedaten gemäß dem Inhaltscoderegister 112 fest und übergibt den Inhalt der Eingabedaten wie auch den vom Inhaltscoderegister 112 festgelegten Inhaltscode im Sendepuffer 104 ein (Schritt 610).
- Anschließend stellt die Einheit 111 den Inhalt des Prozessor-Eigennummerregisters 113 und den Inhalt des Folgenummerregisters 114 im Ereignisnummerbereich innerhalb des Sendepuffers 104 ein (Schritt 611). Anschließend wird der Inhalt des Folgenummerregisters um "1" erhöht.
- Nun wird die von der Testeinheit 105 nach der Ausführung des Anwendungsprogramms ausgeführte Verarbeitung unter Bezugnahme auf die Figuren 7(a) und 7(b) beschrieben.
- Wenn die Testeinheit 105 das Ausgabeergebnis eines Anwendungsprogramms von der Verarbeitungseinheit 107 erhalten hat, entscheidet sie aus dem Setzstatus eines Testflags im Programmattributregister 106, ob sich das Anwendungsprogramm im Testmodus befindet oder nicht. Wenn sich das Programm nicht im Testmodus befindet, speichert die Testeinheit die von der Verarbeitungseinheit erhaltenen Daten in unveränderter Weise in den Sendepuffer 104 ein (Schritte 701 und 702 in Figur 7(a)).
- Wenn sich das Programm dagegen im Testmodus befindet, erzeugt die Testeinheit 105 Testdaten, deren Datenteil die von der Verarbeitungseinheit 107 empfangenen Daten enthält (Schritt 703) und speichert diese in den Sendepuffer 104 ein (Schritt 704). Die Daten im Sendepuffer werden in der Schnittstelle 101 in das Übertragungsformat gebracht und dann auf die Übertragungsleitung 1 übertragen.
- Figur 7(b) zeigt das Format von Testdaten, wie sie im Verarbeitungsschritt 703 erzeugt werden. In einem Inhaltscodebereich 750 wird ein Inhaltscode CCT gesetzt, der Testdaten anzeigt. In einem Ereignisnummerbereich 751 werden der Inhalt des Prozessor-Eigennummerregisters 113 und derjenige des Folgenummerregisters 114 eingestellt.
- Nach dem Einstellvorgang für die Ereignisnummer erhöht die Testeinheit 105 den Inhalt des Folgenummerregisters um "1". Im Datenteil 752 wird der von der Verarbeitungseinheit 107 empfangene Dateninhalt, d. h. der Inhaltscode 7521, der Datenteil 7523 und die Ereignisnummer 7522 der Ausgabe des Anwendungsprogramms in unveränderter Weise eingestellt.
- Gemäß den von der Verarbeitungseinheit 107 und der Testeinheit 105 ausgeführten, vorstehend beschriebenen Prozesse wird das entwickelte Anwendungsprogramm im Testmodus in den Prozessor geladen und das Testflag im Programmattributregister wird gesetzt, wodurch der Test während Onlinebetrieb unter Verwendung von Onlinedaten gestartet werden kann, ohne daß irgendein Einfluß auf das System ausgeübt wird. Darüber hinaus werden die Ausgangsdaten des im Test ausgeführten Programms durch die Testeinheit 105 in Testdaten (Inhaltscode CCT) umgewandelt, die an die Übertragungsleitung 1 gegeben werden, so daß jeder beliebige der Prozessoren die Testdaten empfangen kann und das Ergebnis des begonnenen Tests analysieren kann.
- Nun wird das Verarbeiten und Sammeln der Testdaten unter Bezugnahme auf die Figuren 8(a) und 8(b) sowie 9(a) bis 9(c) beschrieben.
- Figur 8(a) ist ein Diagramm, das den Fluß von Daten zwischen der Systemarchitektur und dem Anwendungsprogramm zeigt. Es sei hier ein Fall angenommen, gemäß dem ein Programm B (1401), das Prozesse unter Verwendung von Ausgangsergebnissen eines in Onlinebetrieb ausgeführten Anwendungsprogramms A (1201) im Prozessor 12 ausführt, in den Prozessor 14 geladen wird, wobei für dieses der Testmodus eingestellt wird, damit es unter Verwendung von Onlinedaten getestet wird.
- Die Schnittstelle 111 im Prozessor 11 nimmt Eingabedaten von der externen Eingabeausrüstung 10001 an und erzeugt Daten 801, die einen Inhaltscode CCI (8011 in Figur 8(b)), eine aus einer Prozessornummer 11 und einer Datenerzeugungsfolgenummer 1 bestehende Ereignisnummer (8014) und einen Inhalt DATAI (8015) für externe Eingabedaten aufweisen, was gemäß dem in Figur 6 dargestellten Fluß erfolgt. Diese Daten werden über den NCP 1001 auf die Übertragungsleitung 1 übertragen.
- In dem in Figur 8(b) dargestellten Datenformat 801 bezeichnet SA&sub1; (8012) die Adresse des NCP 1001 und C&sub1; (8013) bezeichnet die für die Übertragung erforderliche Folgenummer. Der Prozessor 12 empfängt die Daten 801 über den NCP 1002 und die zugehörige Verarbeitungseinheit 107 startet das Anwendungsprogramm A (1201) gemäß dem in Figur 5(a) dargestellten Fluß.
- Das Anwendungsprogramm A führt unter Verwendung des Dateninhalts DATAI (8015) innerhalb der Daten 801 einen Prozeß aus und stellt verarbeitete Ergebnisdaten DATAA als auch einen Inhaltscode CCA, der den Inhalt derselben anzeigt, im Ausgabedatenbereich des Eingabe/Ausgabe-Datenbereichs 109 ein.
- Dieses Verarbeitungsergebnis wird als Dateninformation in einem Format, wie es mit dem Bezugszeichen 802 in Figur 8(b) versehen ist, über die Verarbeitungseinheit 107, die Schnittstelle 101 und den NCP 1002 auf die Übertragungsleitung 1 übertragen. Darüber hinaus wird durch die Verarbeitungseinheit in einem Ereignisnummerbereich 8024 der Inhalt der Ereignisnummer der Daten 801 in unveränderter Form eingestellt.
- Der Prozessor 14 wird mit einem Programm T (1402) geladen, um die Teststartergebnisse zu sammeln, zusätzlich dem Programm B (1401) im Testmodus, das mit den Daten 802 zu starten ist. Figur 9(a) zeigt das Schema des Datensammelprogramms T.
- Das Programm T besteht aus einem Programm T&sub1; (14021), das mit den Startdaten 802 des Programms B mit dem Inhaltscode CCA gestartet wird. Das Programm T weist weiterhin ein Programm T&sub2; (14022), das mit Testdaten des Inhaltscodes CCT gestartet wird, und einen Datenspeicherbereich 14023 auf. Der Datenspeicherbereich 14023 besteht aus einem Bereich 140231 zum Speichern der Eingabedaten des Programms B und einem Bereich 140232 zum Speichern der Ausgabedaten desselben.
- Jeder dieser Bereiche wird durch einen Datenspeicherpuffer entsprechend einer vorab angegebenen Anzahl von Einzeldaten aufgebaut; er ist als zyklischer Puffer aufgebaut, in dem dann, wenn eine Nummer überschritten wird, ein früher gespeichertes Datenelement früher gelöscht wird.
- Das Program B im Prozessor 14 wird mit den Ausgabedaten 802 des Programms A gestartet, wie in Figur 8(a) dargestellt, es führt einen Prozeß unter Verwendung des Inhalts DATAA (8025) innerhalb der Daten 802 aus, und es gibt die Verarbeitungsergebnisdaten DATAB als auch einen Inhaltscode CCB aus, der den Inhalt derselben anzeigt. Da sich das Programm B im Testmodus befindet, nimmt die Testeinheit 105 innerhalb des Prozessors 14 die Ausgabedaten an und wandelt sie in Testdaten 803 um, die ausgegeben werden.
- Inzwischen wird auch das Programm T&sub1; 14021 im Prozessor 14 mit den Daten 802 gestartet und es führt den Prozeß selbst aus (siehe Figur 8(a)). Der Verarbeitungsfluß des Programms T&sub1; ist in Figur 9(b) dargestellt.
- Das Programm T&sub1; speichert den Inhaltscode CCA (8021), die Ereignisnummer EN&sub1; (8024) und den Datenteilinhalt DATAA (8025) innerhalb der Eingabedaten 802 im Datenspeicherbereich CCA 140231 (Schritt 901).
- Anschließend wird entschieden, ob Daten mit derselben Ereignisnummer wie sie die aktuellen Eingabedaten 802 aufweisen, bereits im Testdatenspeicherbereich 140232 eingespeichert wurden (Schritt 902). Wenn solche Daten eingespeichert wurden, werden zu diesem Zeitpunkt zugeführte Daten und die Daten im Testdatenspeicherbereich mit derselben Ereignisnummer, wie sie die vorigen Daten aufweisen, als Testergebnisinformation auf der CRT-Konsole 14000 dargestellt (Schritt 903).
- Das Programm T&sub2; (14022 in Figur 9(a)) wird mit den Testdaten 803 (siehe Figur 8(b)) gestartet; es führt den Prozeß selbst aus. Der Verarbeitungsfluß des Programms T&sub2; ist in Figur 9(c) dargestellt. Das Programm T&sub2; speichert einen Inhaltscode CCB (80351), eine Ereignisnummer (80352) und einen Dateninhalt DATAB (80353) im Datenteil 8035 der Eingabedaten 803 in den Testdatenspeicherbereich (140232 in Figur 9(a)) ein (Schritt 950).
- Anschließend wird entschieden, ob Daten mit einer Ereignisnummer, die der Ereignisnummer innerhalb des Datenteils 8035 der aktuellen Eingabedaten 803 bereits in den Datenspeicherbereich CCA 140231 eingespeichert wurden oder nicht (Schritt 951). Wenn solche Daten eingespeichert wurden, werden die Datenelemente im Datenspeicherbereich CCA und im Testdatenspeicherbereich mit derselben Ereignisnummer als Testergebnisse auf der CRT-Konsole 14000 dargestellt (Schritt 952).
- Wie vorstehend ausgeführt, wird gemäß der vorliegenden Erfindung ein entwickeltes Programm als Testmodusprogramm in einen beliebigen gewünschten Prozessor geladen, wodurch das Programm während Onlinebetriebs für einen Test unter Verwendung von Onlinedaten gestartet werden kann, ohne daß das System beeinflußt wird. Darüber hinaus können Eingabedaten des Programms und das zugehörige Ausgabeergebnis in jedem gewünschten Prozessor gesammelt werden.
- Das Ausführungsbeispiel nahm nur auf einen Fall bezug, gemäß dem das Programm für Tests mit Onlinedaten gestartet wird. Darüber hinaus werden ein Bereich zum Speichern des normalen Ausgabemusters eines Anwendungsprogramms und ein Ausgabefehler-Ermittlungsflag im Programmattributregister (106 in Figur 3) gesetzt, und die Testeinheit (105 in Figur 3) wird mit der Funktion des Rücksetzens eines Programmattributflags ausgestattet, wenn Ausgabewerte für Eingabedatenelemente innerhalb einer festgelegten Periode oder einer festgelegten Anzahl seit dem Laden des Testmodusprogramms als fehlerfrei im Vergleich mit dem vorgenannten normalen Ausgangsmuster festgestellt wurden, wodurch es ermöglicht wird, daß das in den Prozessor geladene Programm automatisch in Onlinebetrieb übergeht, nachdem der Test des Programms mit den Onlinedaten beendet wurde.
- Als Beispiel zeigt Figur 10 den Verarbeitungsfluß der Testeinheit für den Fall, daß Eingabedatenelemente in festgelegter Anzahl (N&sub0;) dem Test unterzogen werden. Dieses Beispiel veranschaulicht einen Fall, gemäß dem ein Programm als fehlerfrei angesehen wird, wenn der Inhalt der Programmausgabedaten mit einem normalen Ausgabemuster übereinstimmt. Die Schritte 1701 - 1704 sind dieselben, wie sie als Schritte 701 - 704 in Figur 7(a) dargestellt sind. Nach dem Speichern von Testdaten im Sendepuffer (Schritt 1704) wird entschieden, ob der Inhalt der Programmausgabedaten mit einem Ausgabemuster im Programmattributregister übereinstimmt (Schritt 1705).
- Wenn keine Übereinstimmung besteht, wird ein Ausgabefehler- Ermittlungsflag im Programmattributregister gesetzt (Schritt 1706). Danach wird der Eingabedatenzähler, der dem zu diesem Zeitpunkt gestarteten Programm entspricht, um "1" inkrementiert (Schritt 1707).
- Anschließend wird der Zählerwert mit dem vorgegebenen Wert N&sub0; verglichen (Schritt 1708). Wenn der Zählerwert mit dem Wert N&sub0; übereinstimmt oder größer ist als dieser, wird der Zustand des Fehlerermittlungsflags untersucht (Schritt 1709). Wenn dieses Fehlerermittlungsflag nicht gesetzt ist, wird ein Testflag im Programmattributregister rückgesetzt (Schritt 1710).
- Aufgrund des vorstehend angegebenen Prozesses wird das in den Prozessor geladene Programm nicht direkt ausgeführt, sondern es wird unter OnlineBedingungen automatisch getestet, und es darf erst dann in Onlinebetrieb eintreten, wenn sich Fehlerfreiheit als Ergebnis des Tests herausgestellt hat.
- Beim Ausführungsbeispiel sind das Testprogramm und das Datensammelprogramm im Prozessor 14 eingestellt. Diese Programme können jedoch in jedem gewünschten anderen Prozessor als dem Prozessor 14 zum Ausführen des Tests eingestellt werden. Darüber hinaus können das Testprogramm und das Datensammelprogramm in verschiedenen Programmen eingestellt werden, um den Test auszuführen.
- Außerdem wurde beim Ausführungsbeispiel die unidirektionale Schleifenübertragungsleitung als ein Beispiel für eine gemeinsame Übertragungsleitung genannt. Es erübrigt sich zu sagen, daß jedoch eine gemeinsame Übertragungsleitung in jeder anderen Form verwendet werden kann, solange es sich um ein Datenübertragungsmedium handelt.
- Als bevorzugte Gesichtspunkte betreffend die Leistungsfähigkeit der vorliegenden Erfindung können die folgenden Einzelpunkte aufgelistet werden:
- (1) In einem dezentralisierten Verarbeitungssystem, in dem eine Reihe von Prozessen eines Verarbeitungsvorgangs (Task) dezentralisiert durch mehrere an eine gemeinsame Übertragungsleitung angeschlossene Prozessoren ausgeführt wird, ein dezentralisiertes Verarbeitungssystem, das dadurch gekennzeichnet ist, daß jeder Prozessor eine Einrichtung zum Entscheiden, ob ein Anwendungsprogramm in den eigenen Prozessor in einem Testmodus geladen ist, und eine Einrichtung zum Empfangen von Daten des Verarbeitungsergebnisses dieses Anwendungsprogramms und zum Erzeugen und Ausgeben von Daten eines Testergebnisses aufweist, wodurch dann, wenn sich herausstellte, daß die Entscheidungseinrichtung auf den Testmodus erkennt, die Daten des Testergebnisses durch die Einrichtung zum Erzeugen und Ausgeben von Daten an die gemeinsame Übertragungsleitung ausgegeben wird.
- (2) Ein dezentralisiertes Verarbeitungssystem gemäß Punkt (1), bei dem ein Programm in einem beliebigen der Prozessoren eingestellt wird, das Eingabedaten des Testmodusprogramms und den Eingabedaten entsprechende Testergebnisdaten sammelt und diese anzeigt, nachdem sie sie einander zugeordnet hat.
- (3) Dezentralisiertes Verarbeitungssystem gemäß den Punkten (1) und (2), bei dem jeder Prozessor ein abhängig vom Testmodusprogramm voreingestelltes Ausgabemuster aufweist und in ihm ein Programm eingestellt wird, gemäß dem die Testergebnisdaten mit dem Ausgabemuster verglichen wird, wobei der Testmodus des Prozessors abhängig vom Vergleichsergebnis freigegeben wird.
- Wie vorstehend beschrieben können gemäß der Erfindung in einem System, in dem eine Reihe von Prozessen eines Verarbeitungsvorgangs dezentralisiert durch mehrere an eine gemeinsame Übertragungsleitung angeschlossene Prozessoren ausgeführt wird, entwickelte Anwendungsprogramme unter Onlinebedingungen durch jeden gewünschten Prozessor getestet werden und die Ergebnisse der Tests können gesammelt werden, wodurch der Wirkungsgrad der Programmtests steigt. Darüber hinaus kann das Programm nur dann, wenn das Ergebnis des Tests als normal erkannt wurde, in Onlinebetrieb gebracht werden, wodurch die Zuverlässigkeit des Systems steigt.
Claims (4)
1. Verteiltes Verarbeitungsverfahren in einem
Verarbeitungssystem, in dem mehrere Programme von mehreren an eine
gemeinsame Übertragungsleitung (1) angeschlossenen
Verarbeitungseinheiten (11...16) dezentralisiert ausgeführt werden
können, dadurch gekennzeichnet, daß jede Verarbeitungseinheit
(11...16) jedes in sie geladene Programm entweder in einem
herkömmlichen Programmverarbeitungsmodus oder in einem
Testmodus ausführt und folgende Schritte ausführt:
Empfangen einer Nachricht von einer
Verarbeitungseinheit,
Entscheiden aufgrund der empfangenen Nachricht, ob ein
in sie geladenes Programm im Testmodus auszuführen ist oder
nicht,
Einstellen des Testmodus, wenn das Programm getestet
werden soll,
Verarbeiten des Programms unabhängig davon, ob es im
Testmodus ausgeführt wird oder nicht, wobei Daten eines
Testergebnisses aufgrund von Daten eines verarbeiteten
Ergebnisses erzeugt werden, wenn das Programm im Testmodus ausgeführt
wird, und
Abgeben des Ergebnisses an die gemeinsame
Übertragungsleitung (1).
2. Verfahren nach Anspruch 1, wobei das Programm ein
Anwendungsprogramm ist.
3. Verfahren nach Anspruch 1, wobei die Daten eines
Testergebnisses aufgrund von Daten eines verarbeiteten Ergebnisses
des Programmes erzeugt werden.
4. Verteiltes Verarbeitungssystem, in dem mehrere Programme
von mehreren an eine gemeinsame Übertragungsleitung (1)
angeschlossenen Verarbeitungseinheiten (11...16) dezentralisiert
ausgeführt werden können, dadurch gekennzeichnet, daß jede
Verarbeitungseinheit (11...16) jedes in sie geladene Programm
entweder in einem herkömmlichen Programmverarbeitungsmodus
oder in einem Testmodus ausführt sowie umfaßt:
eine Einrichtung (103) zum Empfang einer Nachricht von
einer Verarbeitungseinheit,
eine Einrichtung (107) zur Entscheidung aufgrund der
empfangenen Nachricht, ob das in sie geladene Programm im
Testmodus ausgeführt werden soll oder nicht,
eine Einrichtung (106) zur Einstellung des Testmodus,
wenn das Programm getestet werden soll,
eine Einrichtung (105) zur Verarbeitung des Programms
unabhängig davon, ob es im Testmodus ausgeführt wird oder
nicht, und zur Erzeugung von Daten eines Testergebnisses
aufgrund eines verarbeiteten Ergebnisses, wenn das Programm im
Testmodus ausgeführt wird, und
eine Einrichtung (104), die das Ergebnis an die
gemeinsame Übertragungsleitung (1) abgibt.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP60281418A JPH0756636B2 (ja) | 1985-12-11 | 1985-12-11 | データ処理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3685634D1 DE3685634D1 (de) | 1992-07-16 |
DE3685634T2 true DE3685634T2 (de) | 1993-01-28 |
Family
ID=17638882
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE8686116819T Expired - Fee Related DE3685634T2 (de) | 1985-12-11 | 1986-12-03 | Verteiltes datenverarbeitungssystem und -verfahren. |
Country Status (6)
Country | Link |
---|---|
US (1) | US4797885A (de) |
EP (1) | EP0225603B1 (de) |
JP (1) | JPH0756636B2 (de) |
KR (1) | KR870006481A (de) |
CN (1) | CN86108454A (de) |
DE (1) | DE3685634T2 (de) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0827738B2 (ja) * | 1986-08-15 | 1996-03-21 | 株式会社日立製作所 | オンラインテスト方法 |
JP2624676B2 (ja) * | 1987-04-24 | 1997-06-25 | 株式会社日立製作所 | プログラム世代管理方法 |
US4914659A (en) * | 1988-02-10 | 1990-04-03 | Hewlett-Packard Company | Method and apparatus for software branch analysis |
JPH0758502B2 (ja) * | 1988-06-30 | 1995-06-21 | 三菱電機株式会社 | Icカード |
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 |
US5048018A (en) * | 1989-06-29 | 1991-09-10 | International Business Machines Corporation | Debugging parallel programs by serialization |
US5157781A (en) * | 1990-01-02 | 1992-10-20 | Motorola, Inc. | Data processor test architecture |
US5119493A (en) * | 1990-02-23 | 1992-06-02 | International Business Machines Corporation | System for recording at least one selected activity from a selected resource object within a distributed data processing system |
EP0464352A3 (en) * | 1990-06-25 | 1994-11-17 | Ibm | Sub-entry point interface architecture for change management in a computer network |
US5475625A (en) * | 1991-01-16 | 1995-12-12 | Siemens Nixdorf Informationssysteme Aktiengesellschaft | Method and arrangement for monitoring computer manipulations |
US5371883A (en) * | 1993-03-26 | 1994-12-06 | International Business Machines Corporation | Method of testing programs in a distributed environment |
GB2276738A (en) * | 1993-03-30 | 1994-10-05 | Ibm | Generation of random conversation testcases. |
US5799142A (en) * | 1994-09-12 | 1998-08-25 | Nec Corporation | Debugging method and debugging system for multi-task programs |
US5812436A (en) * | 1994-10-20 | 1998-09-22 | Tandem Computers Incorporated | Method and apparatus for testing and analyzing the conformance of a proposed set of requirements for a proposed network management application |
US5872909A (en) * | 1995-01-24 | 1999-02-16 | Wind River Systems, Inc. | Logic analyzer for software |
US5881219A (en) * | 1996-12-26 | 1999-03-09 | International Business Machines Corporation | Random reliability engine for testing distributed environments |
US6374352B1 (en) | 1998-08-26 | 2002-04-16 | Intel Corporation | Temporary configuration with fall-back |
JP4845467B2 (ja) * | 2004-11-08 | 2011-12-28 | 株式会社エヌ・ティ・ティ・ドコモ | デバイス管理装置、デバイス及びデバイス管理方法 |
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 |
US8094566B2 (en) * | 2009-12-24 | 2012-01-10 | Advantest Corporation | Test apparatus and test method |
US20120179943A1 (en) * | 2011-01-06 | 2012-07-12 | International Business Machines Corporation | Method for information transfer in a voltage-driven intelligent characterization bench for semiconductor |
CN102184137A (zh) * | 2011-05-16 | 2011-09-14 | 浪潮集团山东通用软件有限公司 | 一种无人值守的智能的自动化回归测试方法 |
US11907755B2 (en) * | 2019-11-22 | 2024-02-20 | Rohde & Schwarz Gmbh & Co. Kg | System and method for distributed execution of a sequence processing chain |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4204251A (en) * | 1977-12-28 | 1980-05-20 | Finn Brudevold | Interconnection unit for multiple data processing systems |
JPS5582359A (en) * | 1978-12-18 | 1980-06-21 | Toshiba Corp | Microprogram test unit |
JPS5676698A (en) * | 1979-11-27 | 1981-06-24 | Mitsubishi Electric Corp | Test equipment for monitoring system |
JPS5710845A (en) * | 1980-06-23 | 1982-01-20 | Hitachi Ltd | Diagnostic method of other system |
JPS58105358A (ja) * | 1981-12-17 | 1983-06-23 | Fujitsu Ltd | デ−タ処理装置の保守方法 |
US4507727A (en) * | 1982-02-11 | 1985-03-26 | Texas Instruments Incorporated | Microcomputer with ROM test mode of operation |
JPS5913446A (ja) * | 1982-07-14 | 1984-01-24 | Hitachi Ltd | 分散処理システム |
JPS59216249A (ja) * | 1983-05-23 | 1984-12-06 | Toshiba Corp | 集積回路装置 |
US4622668A (en) * | 1984-05-09 | 1986-11-11 | International Business Machines Corporation | Process and apparatus for testing a microprocessor and dynamic ram |
-
1985
- 1985-12-11 JP JP60281418A patent/JPH0756636B2/ja not_active Expired - Lifetime
-
1986
- 1986-12-03 EP EP86116819A patent/EP0225603B1/de not_active Expired - Lifetime
- 1986-12-03 DE DE8686116819T patent/DE3685634T2/de not_active Expired - Fee Related
- 1986-12-08 KR KR860010457A patent/KR870006481A/ko not_active Application Discontinuation
- 1986-12-10 US US06/940,495 patent/US4797885A/en not_active Expired - Lifetime
- 1986-12-11 CN CN198686108454A patent/CN86108454A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US4797885A (en) | 1989-01-10 |
CN86108454A (zh) | 1987-06-17 |
EP0225603B1 (de) | 1992-06-10 |
EP0225603A2 (de) | 1987-06-16 |
EP0225603A3 (en) | 1989-03-15 |
JPS62138935A (ja) | 1987-06-22 |
JPH0756636B2 (ja) | 1995-06-14 |
DE3685634D1 (de) | 1992-07-16 |
KR870006481A (ko) | 1987-07-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3685634T2 (de) | Verteiltes datenverarbeitungssystem und -verfahren. | |
DE3629178C2 (de) | ||
DE2953432C1 (de) | Vorrichtung zum Testen eines Mikroprogramms | |
DE3201768C2 (de) | ||
DE3751949T2 (de) | Verfahren zum Starten eines Untersystems in einem verteilten Verarbeitungssystem | |
DE69831732T2 (de) | Verfahren und gerät zum korrigieren von fehlern in einem rechnersystem | |
DE2515297A1 (de) | Pruefsystem fuer logische netzwerke mit simulatororientiertem fehlerpruefgenerator | |
DE3852115T2 (de) | Simulationsverfahren für Programme. | |
DE102005027378B3 (de) | Dynamische Priorisierung von Prüfschritten in der Werkstattdiagnose | |
DE3902488A1 (de) | Vorrichtung zur dezentralen datenverarbeitung und verfahren zum laden von programmen dafuer | |
DE2244402A1 (de) | Datenverarbeitungsanlage | |
DE2500086A1 (de) | Diagnostisches verbindungssystem fuer computergesteuerte werkzeugmaschinen | |
WO2006105930A1 (de) | Diagnosesystem zur bestimmung einer gewichteten liste möglicherweise fehlerhafter komponenten aus fahrzeugdaten und kundenangaben | |
DE112008003732T5 (de) | Automatische Reproduktionstest-Vorrichtung und automatisches Reproduktionstest-Verfahren in einem eingebetteten System | |
DE3842289C2 (de) | Verfahren zur Entwicklung von Programmen für ein verteiltes Datenverarbeitungssystem | |
DE102019001129A1 (de) | Numerische Steuervorrichtung | |
DE2536625A1 (de) | Paritaetspruefschaltung | |
DE60002455T2 (de) | Verfahren und vorrichtung zur automatischen softwareprüfung | |
DE3718472C2 (de) | ||
DE4121481C1 (de) | ||
DE3841214C2 (de) | Vorrichtung zur Behandlung von Statusdaten in einem Mehreinheitensystem | |
DE10259794A1 (de) | Verfahren und Vorrichtung für das Event Management | |
DE4233837A1 (de) | Rechenanlage | |
DE60100007T2 (de) | Verfahren zum Analysieren einer Test-Software | |
DE3711273A1 (de) | Verfahren fuer eine verteilte datenverarbeitungsanlage zum ausfuehren einer folge von verarbeitungen eines auftrags in verteilter form sowie verteilte datenverarbeitungsanlage zur durchfuehrung des verfahrens |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |