DE3842289A1 - Verfahren zur entwicklung von programmen in einem verteilten verarbeitungssystem - Google Patents

Verfahren zur entwicklung von programmen in einem verteilten verarbeitungssystem

Info

Publication number
DE3842289A1
DE3842289A1 DE3842289A DE3842289A DE3842289A1 DE 3842289 A1 DE3842289 A1 DE 3842289A1 DE 3842289 A DE3842289 A DE 3842289A DE 3842289 A DE3842289 A DE 3842289A DE 3842289 A1 DE3842289 A1 DE 3842289A1
Authority
DE
Germany
Prior art keywords
program
programs
information
processors
attribute
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.)
Granted
Application number
DE3842289A
Other languages
English (en)
Other versions
DE3842289C2 (de
Inventor
Masayuki Orimo
Kinji Mori
Yasuo Suzuki
Katsumi Kawano
Minoru Koizumi
Kozo Nakai
Hirokazu Kasashima
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from JP62318822A external-priority patent/JPH01161567A/ja
Priority claimed from JP63060371A external-priority patent/JP2685477B2/ja
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Publication of DE3842289A1 publication Critical patent/DE3842289A1/de
Application granted granted Critical
Publication of DE3842289C2 publication Critical patent/DE3842289C2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/28Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00 for polarising
    • GPHYSICS
    • G03PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
    • G03BAPPARATUS OR ARRANGEMENTS FOR TAKING PHOTOGRAPHS OR FOR PROJECTING OR VIEWING THEM; APPARATUS OR ARRANGEMENTS EMPLOYING ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ACCESSORIES THEREFOR
    • G03B21/00Projectors or projection-type viewers; Accessories therefor
    • G03B21/54Accessories
    • G03B21/56Projection screens
    • G03B21/60Projection screens characterised by the nature of the surface
    • G03B21/604Polarised screens
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design

Description

Die Erfindung bezieht sich auf ein Verfahren gemäß dem Oberbegriff des Patentanspruchs 1 zur Entwicklung von Pro­ grammen in einem verteilten Verarbeitungssystem zur an­ teilsweisen Ausführung einer Serie von Prozessen durch eine Mehrzahl von Prozessoren, wobei ein Entwicklungsprozessor zur Programmentwicklung Anwendungsprogramme entwickelt, die durch die jeweiligen Prozessoren ausgeführt werden, und wo­ bei die entwickelten Anwendungsprogramme in die jeweiligen Prozessoren geladen werden.
Die Entwicklung von Programmen in einem verteilten Verar­ beitungssystem ist in der US-P 46 27 055 beschrieben. Die JP-A-57-1 46 361 offenbart bereits ein verteiltes Verarbei­ tungsverfahren zur unterteilten Bearbeitung einer Serie von Aufgaben durch Prozessoren, die mit einer gemeinsamen Über­ tragungsleitung verbunden sind. Bei diesem Verfahren sind Programme zur jeweiligen Ausführung eines zu einer Serie von Prozessen gehörenden Prozesses verteilt in den jeweili­ gen Prozessoren gespeichert. Die Programme in den jeweili­ gen Prozessoren werden gestartet, wenn zur Ausführung der Programme notwendige Daten, die über die Übertragungslei­ tung erhalten worden sind, in dem jeweiligen Prozessor ge­ laden worden sind. Dieses Verfahren ermöglicht eine aufge­ teilte Bearbeitung einer Serie von Prozessen durch jeweili­ ge Prozessoren, ohne daß ein Steuerprozessor zur Steuerung des Gesamtsystems erforderlich ist.
Die JP-A-61-2 86 959 offenbart ein Verfahren zur Übertragung von durch jeweiligen Prozessoren auszuführenden Programmen in Form einer Nachricht über eine Übertragungsleitung, so daß jeder Prozessor die über die Übertragungsleitung über­ tragenen Programme aufnehmen und in seinem Inneren spei­ chern kann.
In der Vergangenheit wurden Programme kollektiv entwickelt. Soll daher ein Programm geändert und angepaßt werden, um eine neue Version des Programms zu entwickeln, so lassen sich die neue und die alte Version der entwickelten Pro­ gramme durch bloßes Hinzufügen einer Seriennummer (Erzeu­ gungs- bzw. Generationsnummer) identifizieren, die angibt, wie oft das Originalprogramm aktualisiert bzw. auf den neuesten Stand gebracht worden ist. Aufgrund dieser Nummer kann bestimmt werden, ob das entwickelte Programm weiter aktualisiert werden soll (Modifikation oder Ergänzung), oder ob das entwickelte Programm in einem ausführenden Com­ puter verwendet werden soll.
Dieses Verfahren berücksichtigt jedoch nicht den Fall, bei dem Programme in separaten Entwicklungssystemen modifiziert oder ergänzt werden, und zwar auf der Grundlage eines Pro­ gramms in einem verteilten Verarbeitungssystem mit einer Mehrzahl von Entwicklungssystemen.
Bei einem herkömmlichen verteilten bzw. verzweigten Verar­ beitungssystem ist es möglich, jeweilige Programme indivi­ duell zu entwickeln, da Verbindungen bzw. Schnittstellen (Interfaces) zwischen den Programmen nur durch die Ein­ gangs-/Ausgangsdaten der Programme definiert sind. Es be­ steht bei diesem herkömmlichen Verfahren jedoch keine Mög­ lichkeit zu prüfen, ob eine Konsistenz bzw. Verträglichkeit zwischen den individuell entwickelten Programmen oder zwi­ schen den Programmen und definierter Information für die Programme vorhanden ist. Dies führt zu gewissen Problemen bei der Programmentwicklung.
Beim herkömmlichen Verfahren ist es erforderlich, beim La­ den der jeweiligen Prozessoren mit den entwickelten Pro­ grammen die Eingangs-/Ausgangsnachrichten der Programme zu definieren, um die Eingangs-/Ausgangsdaten der Programme identifizieren zu können. Wird eine falsche Information de­ finiert, so würde das Programm den Prozeß aufgrund einer von der gewünschten Nachricht völlig verschiedenen Nach­ richt ausführen.
Der Erfindung liegt die Aufgabe zugrunde, ein Verfahren zur Entwicklung von Programmen in einem verteilten Verarbei­ tungssystem anzugeben, das die Konsistenz bzw. Verträglich­ keit zwischen entwickelten Programmen prüfen kann und das in der Lage ist, auf der Grundlage von Programmattributin­ formation in einem Ladeprozessor zum Laden erforderliche Information zu erzeugen, so daß sich ein erhöhter Wirkungs­ grad bei der Programmentwicklung ergibt.
Der Erfindung liegt ferner die Aufgabe zugrunde, ein Ver­ fahren zur Entwicklung von Programmen in einem verteilten Verarbeitungssystem zur Durchführung einer Serie von Pro­ zessen durch eine Mehrzahl von Prozessoren zu schaffen, bei dem während der Entwicklung der in die jeweiligen Prozesso­ ren zu ladenden Programme eine Beziehung zwischen Nachrich­ ten mit Eingangs-/Ausgangsinformation und Programmen zur Eingabe oder Ausgabe dieser Nachrichten detektiert werden kann, so daß der Vorbereitungs- bzw. Herstellungsstatus der Programme erfaßt werden kann.
Ziel der Erfindung ist weiterhin die Schaffung eines Ver­ fahrens zur Entwicklung von Programmen in einem verteilten Verarbeitungssystem, mit dessen Hilfe eine Beziehung zwi­ schen den Programmen erfaßt und eine Abnormalität in der Beziehung zwischen den Programmen detektiert werden können, bevor die Programme in die jeweiligen Prozessoren geladen und in ihnen gestartet werden, so daß sich eine vergrößerte Zuverlässigkeit der Software ergibt.
Der Erfindung liegt weiterhin die Aufgabe zugrunde, ein Verfahren zur Entwicklung von Programmen in einem verteil­ ten Verarbeitungssystem zu schaffen, bei dem Programme nicht durch eine zentrale Steuerfunktion, sondern durch ei­ ne Kombination einer Mehrzahl von Entwicklungssystemen und einem Prozessor entwickelt werden, und bei dem charakteri­ stische Information, durch die jeder Prozessor bestimmen kann, ob er das Programm ausführen kann oder nicht, zum entwickelten Programm hinzugefügt wird, und zwar auf der Grundlage der Bestimmung durch jeden Prozessor.
Nach der Erfindung soll weiterhin ein verteiltes Verarbei­ tungssystem geschaffen werden, in welchem mehrere Programm­ entwicklungssysteme, die Programme in Kooperation entwik­ keln (die Entwicklungssysteme können z. B. ein Originalpro­ gramm parallel oder verschiedene Teile nacheinander modifi­ zieren), sehr schnell Programmbildungen, eine Beziehung zwischen den Programmen und Merkmale der Programme durch ihre eigene Entscheidung erkennen können.
Außerdem ist es Ziel der Erfindung, ein verteiltes Verar­ beitungssystem (distributed processing system) mit einer Mehrzahl von Prozessoren zu schaffen, das keinen zentralen Steuermechanismus zum zentralen Programmanagement benötigt und eine kooperative Entwicklung der Programme ermöglicht, ohne durch Hinzufügung eines neuen Prozessors in das System oder durch Wartungsarbeiten für den Prozessor beeinträch­ tigt zu sein.
Die Lösung der gestellten Aufgaben ist im kennzeichnenden Teil des Patentanspruchs 1 angegeben. Vorteilhafte Ausge­ staltungen der Erfindung sind den Unteransprüchen zu ent­ nehmen.
Die obigen Aufgaben werden durch die Erfindung insbesondere durch folgende Schritte gelöst: Separieren von Attributin­ formation in den Eingangs-/Ausgangsnachrichten, die in ei­ nem Quellenprogramm (source program) definiert sind, und zwar während des Kompilierens des Quellenprogramms, Spei­ chern der Attributinformation in einer entsprechenden Be­ ziehung zu einem kompilierten Lademodul und Erstellung ei­ ner Tabelle, die die Beziehung zwischen den Programmen re­ präsentiert, und zwar auf der Grundlage der Attributinfor­ mation.
Die Programmeingangs-/Ausgangsinformation wird für jedes Programm während der Entwicklung erstellt, wobei die Ein­ gangs-/Ausgangsinformationen für die jeweiligen Programme so korreliert sind, daß eine Beziehung zwischen den Pro­ grammen während der Entwicklung erfaßt und daher die Kon­ sistenz bzw. Verträglichkeit überprüft werden kann. Beim Laden der Programme wird eine Ladenachricht automatisch er­ zeugt, die einen Lademodul des Programms und die Eingangs-/ Ausgangsinformation enthält.
Bei der Entwicklung der Programme im verteilten Verarbei­ tungssystem werden Programme über die Übertragungsleitung gesendet, ohne daß diese gegenüber den normalen Daten dis­ kriminiert werden. Die Programmentwicklungsprozessoren im verteilten Verarbeitungssystem nehmen die erforderlichen Programme auf, und zwar nur auf der Grundlage von Codes, die die Inhalte der Programme engeben, und fügen charakte­ ristische Programminformation und Information hinsichtlich des Prozesses der Aktualisierung bzw. Erneuerung hinzu, so daß die entwickelten Programme durch die Entscheidung nur der jeweiligen Prozessoren gehandhabt werden.
Die charakteristische Programminformation ist eine Informa­ tion zur Identifizierung von Teilprogrammen. Programmver­ sionsinformation wird den herzustellenden bzw. zu modifi­ zierenden Programmen in den Prozessoren hinzugefügt, wobei diese Programme über das gemeinsame Übertragungsmedium übertragen bzw. gesendet werden. Empfangen die jeweiligen Entwicklungsprozessoren die Information vom gemeinsamen Übertragungsmedium, so modifizieren sie die Programme auf der Grundlage der charakteristischen Programminformation und senden diese wieder zum Übertragungsmedium. Die mehre­ ren Programmentwicklungssysteme können daher die Programme in einer kooperativen Weise entwickeln.
Die Erfindung wird nachfolgend unter Bezugnahme auf die Zeichnung näher beschrieben. Es zeigen:
Fig. 1 ein Beispiel eines in einen Entwicklungsprozessor zu ladenden Programms zwecks Durchführung eines Programmentwicklungsverfahrens nach der Erfindung,
Fig. 2 ein System, in das nach der Erfindung entwickelte Programme geladen werden können,
Fig. 3 ein Beispiel eines Formats eines Quellenprogramms, das Gegenstand des Programmentwicklungsverfahrens nach der Erfindung ist,
Fig. 4 bis 7 das Verfahren nach der Erfindung im einzelnen,
Fig. 8 ein Blockdiagramm eines verteilten Prozessorsy­ stems zur Durchführung des erfindungsgemäßen Ver­ fahrens,
Fig. 9 ein Beispiel eines Nachrichtenformats von Informa­ tion, die über ein Übertragungsmedium übertragen und empfangen wird,
Fig. 10 bis 12 Beispiele von Änderungen des Programms nach der Erfindung, und
Fig. 13 ein Flußdiagramm eines Prozesses in einem Prozes­ sor in Übereinstimmung mit dem erfindungsgemäßen Verfahren.
Die Fig. 2a bis 2c zeigen ein System zur Durchführung des Verfahrens nach der Erfindung. Die Gesamtansicht dieses Sy­ stems ist in Fig. 2a dargestellt. Die Ziffern 11 bis 14 be­ zeichnen Prozessoren, die in ihnen gespeicherte Anwendungs­ programme ausführen. Mit der Ziffer 15 ist ein Prozessor zur Entwicklung der Programme bezeichnet, die durch die Prozessoren 11 bis 14 ausgeführt werden. Mit diesem Prozes­ sor 15 sind eine Speicherplatte 1502 und ein Kathoden­ strahlröhren-Terminal 1501 verbunden. Jene Einheiten werden nachfolgend als Entwicklungssystem bezeichnet. Die entwik­ kelten Programme werden durch ein Ausführungssystem ausge­ führt. Die Prozessoren 11 bis 15 sind mit einem Netzwerk 1 verbunden, das in beliebiger Weise ausgebildet sein kann. Die erhaltenen Verarbeitungsergebnisse (data) der Prozesso­ ren 11 bis 14 werden zum Netzwerk 1 übertragen bzw. gesen­ det. Aus den über das Netzwerk 1 gesendeten Nachrichten nimmt jeder Prozessor Nachrichten (einschließlich Programme und Daten) auf, die zur Ausführung der in ihm gespeicherten Programme erforderlich sind und startet das Programm, wenn er alle Nachrichten, die zur Durchführung erforderlich sind, erhalten hat. Das gestartete Programm führt seinen eigenen Prozeß aus und liefert ein Ergebnis.
Die Fig. 2b zeigt das Format der Nachricht, die über das Netzwerk 1 gesendet wird. Jeder Prozessor bestimmt, ob die über das Netzwerk empfangene Nachricht für sein eigenes Programm erforderlich ist, und zwar anhand eines Inhalts­ codes (CC) 202 (content code), der den Dateninhalt bezeich­ net. Eine Quellenadresse (SA) 203 ist eine Adresse desjeni­ gen Prozessors, der eine Nachricht ausgegeben hat, während C 204 eine Seriennummer ist, die die Sequenz der Übertra­ gung angibt. Data 205 gibt den Inhalt des durch das Pro­ gramm erhaltenen Ergebnisses an, während FCS 206 Fehler­ prüfdaten für die Übertragungsdaten sind. F 201 und F 207 sind Steuerkennzeichen (flgas), die den Anfang und das Ende der Nachricht angeben.
Die Fig. 2c zeigt eine Tabelle, die ein jeder Prozessor zur Bestimmung des Starts seines eigenen Programms aufweist. Die Zeilen 1051, 1052, . . . in der Tabelle nach Fig. 2c stimmen mit entsprechenden Programmen überein. In der er­ sten Zeile ist Prog 10512 ein Bereich zur Speicherung von Information des zu startenden Programms, während IData 10511 ein Bereich ist, in dem eine vom Netzwerk erhaltene Nachricht gespeichert ist, die zur Ausführung des Programms Prog 10512 notwendig ist. Die zweite Zeile 1052 ist so auf­ gebaut, daß das Programm nur dann ausgeführt wird, wenn zwei Nachrichten IData-1 10521 und IData-2 10522 gespei­ chert worden sind. Die dritte und die nachfolgenden Zeilen sind von ähnlicher Struktur. Der Inhaltscode der Nachricht, die zur Programmausführung nötig ist, wurde bereits zuvor in IData 10511 der Tabelle für jedes Programm gespeichert. Jeder Prozessor vergleicht den Inhaltscode CC 202 der vom Netzwerk erhaltenen Nachricht mit dem Inhaltscode der in ihm gespeicherten Tabelle und speichert die Nachricht im Übereinstimmungsfall im Bereich IData 10511. Wurden alle erforderlichen Nachrichten im Bereich IData 10511 gespei­ chert, so benutzt der Prozessor die Daten der Nachrichten zur Ausführung des Programms im Bereich Prog 10512. Wurden alle erforderlichen Nachrichten in den Bereichen IData-1 und I-Data-2 gespeichert, so wird das Programm im Bereich Prog 10521 ausgeführt.
Das Programmentwicklungssystem führt das durch das obige System auszuführende Programm wird nachfolgend unter Bezug­ nahme auf die Fig. 1, 3, 4a, 4b, 5a, 5b, 6a, 6b, 6c, 7a und 7b im einzelnen erläutert.
Die Fig. 1 zeigt ein Programm zur Behandlung einer Nach­ richt im Entwicklungsprozessor 15. Im Prozessor 15 sind Programme 15001, 15002 und 15003 geladen. Diese Programme werden in Antwort auf Eingaben vom Anzeigeterminal 1501 (Kathodenstrahlröhren-Terminal) gestartet. Das Programm 15001 ist ein Attributerzeugungsprogramm, das Lademodul- Files 3501 bis 350 n und ein Attribut-File 3500 für ein be­ stimmtes von mehreren Quellenprogramm-Files 3011, 3012, . . ., 301 n erzeugt. Das Programm 15002 ist ein Rundfunkpro­ gramm, das eine Ladenachricht durch Kombination von Lademo­ dul-File und Attribut-File erzeugt und über das Netzwerk 1 sendet. Dagegen ist das Programm 15003 ein Konsistenzprüf­ programm, das Programme korreliert, und zwar auf der Grund­ lage des Attribut-Files 3500. Die Prozeßinhalte der jewei­ ligen Programme werden nachfolgend im einzelnen erläutert. Zunächst wird das Verfahren gemäß Programm 15001 unter Be­ zugnahme auf die Fig. 3 und 4 genauer beschrieben. Die Fig. 3 zeigt Inhalte der Quellenprogramme 3011 bis 301 n in Fig. 1. Diese Quellenprogramme wurden zuvor eingegeben, und zwar durch einen Programmentwickler vom CRT-Terminal 1501. Das Quellenprogramm als Gegenstand des vorliegenden Verfahrens besteht aus einem Attributteil 401 und einem Prozedurteil 402. Der Attributteil 401 enthält ein Programmnamen-Defini­ tionsfeld 4011, ein Eingabenachricht-Inhaltscode-Defini­ tionsfeld 4012, ein Ausgabenachricht-Inhaltscode-Defini­ tionsfeld 4013 sowie eine Information zum Testen des Pro­ gramms 4014 (z. B. Testeingang und das daraus erhaltene Er­ gebnis). Der Prozedurteil 402 enthält ein codiertes Pro­ gramm.
Die Fig. 4a zeigt den Verfahrensablauf gemäß dem Programm 15001. Das Compile-Programm 15001 beginnt seinen Betrieb, wenn ein Sourceprogramm-File, das in ein Lademodul umgewan­ delt werden soll, über die Eingabeeinheit 1501 (Terminal) bestimmt worden ist. Das Attributerzeugungsprogramm 15001 unterteilt das bestimmte Sourceprogramm in einen Attribut­ teil und in einen Prozedurteil (Schritt 551). Ein Formal des separierten Attributteils wird geprüft (Schritt 552). Beim Prüfen des Formats wird festgestellt, ob der Inhalt des Attributteils gleich dem in 401 von Fig. 3 ist. Ist das Ergebnis der Formatprüfung in Ordnung, so wird nachfolgend Schritt 554 erreicht. Ist dagegen das Ergebnis der Format­ prüfung nicht in Ordnung, so wird eine Fehlernachricht (Schritt 557) erzeugt, wonach das Verfahren endet. Der ent­ sprechende Vergleich erfolgt in Schritt 553. Im Schritt 554 wird der im Schritt 551 abgetrennte Prozedurteil kompi­ liert, um ein Lademodul-File zu erzeugen.
Wird das Kompilieren normal beendet, so wird nachfolgend Schritt 556 erreicht. Erfolgt dagegen eine nicht normale Beendigung des Kompilierens, so wird im Schritt 557 eine Fehlernachricht erzeugt, wonach das Verfahren endet. Im Schritt 556 werden die rechten Seiten der Ausdrücke der At­ tributteile 401, die die Formatprüfung durchlaufen haben, gesammelt, um ein Attribut-File (3500 in Fig. 1) zu erstel­ len (Schritt 556). Strukturen des so erhaltenen Attribut- Files und des so erhaltenen Lademodul-Files sind in Fig. 4b dargestellt. Das Attribut-File 3500 enthält Attributtabel­ len 35001, 35002, . . ., von denen jeweils einem Lademodul- File 3501, 3502, . . . zugeordnet ist, die in Schritt 554 er­ zeugt worden sind. Die Tabelle 35001 enthält einen Bereich PN 350011, der einen im Quellenprogramm-Attributteil 401 in Fig. 3 definierten Programmnamen 4011 aufweist, einen Be­ reich ICC 350012, der einen im Attributteil 401 definierten Eingangsnachricht-Inhaltscode 4012 aufweist, einen Bereich OCC 350013, der einen Ausgangsnachricht-Inhaltscode 4013 aufweist und eine File-Hinweisadresse (file pointer) FP 350014 zur Markierung eines Lademodul-Files, das durch ein Quellenprogramm mit Beiträgen der Bereiche PN, ICC und OCC hergestellt worden ist. Die Tabellen 35002, 35003, . . ., 3500 n weisen dieselbe Struktur auf. Auf die Lademodul-Files 3501, 3502, . . ., 350 n wird über die Attributtabellen 35001, 35002, . . ., 3500 n immer zugegriffen. Insbesondere erfolgt ein Zugriff auf die Lademodul-Files durch die Programmna­ men. Soll daher ein Lademodul-File gelöscht werden, so sollte die entsprechende Attributtabelle ebenfalls gelöscht werden. Existiert bereits eine Attributtabelle mit demsel­ ben Programmnamen PN, so sollten in Schritt 556 von Fig. 4a die existierende Attributtabelle und das entsprechende La­ demodul-File gelöscht und eine Attributtabelle hergestellt werden.
Im folgenden wird unter Bezugnahme auf die Fig. 5 das Lade­ programm 15002 nach Fig. 1 zur Erzeugung einer in einen Prozessor zu ladenden Nachricht erläutert. Dieses Programm wird ausgeführt, wenn der Programmname des Programms be­ stimmt worden ist, das von der CRT-Eingabeeinheit (1501 in Fig. 2) über das Netzwerk 1 geladen werden soll. Eine At­ tributtabelle mit einem PN-Feld (Fig. 4b) identisch zum be­ nannten Programmnamen wird aus dem Attribut-File herausge­ sucht (Schritt 581). Dann werden die aufgefundene Attribut­ tabelle und der entsprechende Lademodul miteinander kombi­ niert, um eine zu ladende Nachricht zu erstellen (Schritt 582). Der Inhalt des Datenfeldes (205 in Fig. 2b) der zu ladenden Nachricht, die in Schritt 582 erstellt worden ist, ist in Fig. 5b gezeigt. PN 591 speichert den Programmnamen PN der Attributtabelle, während ICC 592 und OCC 593 jeweils den Eingangs-Inhaltscode ICC und den Ausgangs-Inhaltscode OCC der Attributtabelle speichern.
LM 594 speichert den Inhalt des Lademodul-Files. Das CC- Feld (202 in Fig. 2b) der zu ladenden Nachricht speichert den Inhaltscode in Übereinstimmung mit dem Programm, wenn die Erstellung der Nachrichten gemäß den Fig. 5b und 2b vollständig beendet ist. Das Rundfunkprogramm 15002 (broad­ cast program) sendet die Nachrichten über das Netzwerk aus (Schritt 583). Die durch das Verfahren nach Fig. 5 herge­ stellte und über das Netzwerk gesendete Nachricht wird durch die mit dem Netzwerk verbundenen Prozessoren empfan­ gen. Auf der Grundlage des CC-Feldes in der Nachricht be­ stimmt der Prozessor, ob das Programm in der Nachricht für ihn selbst bestimmt bzw. erforderlich ist. Ist das Programm in der Nachricht für diesen Prozessor erforderlich, so nimmt der Prozessor die empfangene Nachricht auf. Nach der Aufnahme der Nachricht durch den Prozessor speichert er den Inhalt von LM des Datenfeldes der Nachricht in seinen Spei­ cherbereich und übernimmt ferner das in die Programmspei­ chertabelle nach Fig. 2c geladene Programm auf der Grundla­ ge der Inhalte von PN, ICC und OCC des Datenfeldes der Nachricht (vgl. Fig. 5b). Anschließend wird das geladene Programm zu Testzwecken gestartet, und zwar unter Verwen­ dung von Testinformation in der Attributinformation, also unter Verwendung von Testeingangsdaten, um bestimmen zu können, ob die durch das Programm erstellten Ausgangsdaten eine vorbestimmte Beziehung zu den Eingangsdaten aufweisen. Ist das Testergebnis in Ordnung, wird das Programm On-Line ausgeführt bzw. wiedergegeben. Beim oben beschriebenen Pro­ zeß sei angenommen, daß der Inhaltscode, der das für den Prozessor erforderliche Programm angibt, in diesem Prozes­ sor gespeichert worden ist.
Unter Bezugnahme auf die Fig. 6 und 7 wird nachfolgend das Konsistenz-Prüfprogramm 15003 (Fig. 1) näher beschrieben, das die Programme auf der Grundlage des Inhalts des Attri­ but-Files korreliert. Dieses Programm kann auch als Ver­ träglichkeitsprogramm oder als Programm zur Überprüfung der Übereinstimmung bezeichnet werden. Die Fig. 6a zeigt eine Tabelle mit einer Beziehung zwischen Eingangs-/Ausgangspro­ grammen, hergestellt durch das Programm 15003. Das Ein­ gangs/Ausgangs-Beziehungsprogramm enthält Zeilen 601, 602, . . . entsprechend den jeweiligen Inhaltscodes. Die erste Zeile 601 enthält einen Bereich CC 6011 zur Speicherung des Inhaltscodes, einen Bereich IPROG 6012 zur Speicherung des Namens des Programms, das die Nachricht mit dem Inhaltscode im Bereich CC 6011 eingibt bzw. liefert, und einen Bereich OPROG 6013 zur Speicherung des Namens des Programms, das die Nachricht mit dem Inhaltscode im Bereich CC 6011 aus­ gibt. Die zweite Zeile und die nachfolgenden Zeilen weisen dieselbe Struktur auf.
Die Fig. 6b zeigt einen Programmablauf zur Erstellung der Eingangs/Ausgangsbeziehungstabelle in Fig. 6a. Zunächst wird ein Zähler auf den Zählwert i gesetzt (Schritt 651). Auf der Grundlage des Inhalts der i-ten Attributtabelle (Fig. 4b) wird die Eingangs/Ausgangs-Beziehungstabelle in Übereinstimmung mit dem in Fig. 6c gezeigten Flußdiagramm erstellt (Schritt 652). Eine Zeile innerhalb des CC-Feldes, die den gleichen Inhaltscode wie den im ICC-Feld der Attri­ buttabelle eingestellten Inhaltscode aufweist, wird aus der Eingangs/Ausgangs-Beziehungstabelle (Schritt 681) herausge­ sucht. Existiert die entsprechende Zeile, so wird der In­ halt des PN-Feldes der Attributtabelle im Bereich IPROG 6012 der Zeile gesetzt (Schritt 682). Existiert die ent­ sprechende Zeile nicht, so wird eine neue Zeile zur Ein­ gangs/Ausgangs-Beziehungstabelle hinzugefügt bzw. hinzuad­ diert, wobei die Inhalte des ICC-Feldes und des PN-Feldes der Attributtabelle im CC-Feld und im IPROG-Feld dieser Zeile jeweils gesetzt werden (Schritt 683). Anschließend wird eine Zeile, die einen Inhaltscode gleich dem Inhalts­ code innerhalb des OCC-Feldes der Attributtabelle aufweist, aus der Eingangs/Ausgangs-Beziehungstabelle herausgesucht (Schritt 684). Existiert die entsprechende Zeile, so wird der Inhalt des PN-Feldes der Attributtabelle im Ausgangs­ programmbereich (OPROG) dieser Zeile gesetzt (Schritt 685). Existiert die entsprechende Zeile nicht, so wird der Pro­ grammname in Fig. 4 in eine neue Zeile der Eingangs/Aus­ gangs-Beziehungstabelle eingeschrieben, wobei die Inhalte des OCC-Feldes und des PN-Feldes der Attributtabelle im CC- Feld und im OPROG-Feld dieser Reihe jeweils gesetzt werden (Schritt 686). Nach Ablauf des Prozesses gemäß Fig. 6c wird geprüft, ob alle Attributtabellen im Attribut-File auf die­ se Weise verarbeitet worden sind oder nicht (Schritt 653). Ist dies nicht der Fall, so wird die Zählervariable i um den Wert 1 heraufgesetzt (Schritt 654), wonach das Verfah­ ren zum Schritt 652 zurückspringt.
Auf der Grundlage der so erstellten Eingangs/Ausgangs-Be­ ziehungstabelle lassen sich ein Programm, das durch eine Nachricht mit irgendeinem Inhaltscode gestartet wird, und ein Programm, das die Nachricht mit diesem Inhaltscode aus­ gibt, erfassen bzw. ausführen. Durch Aufsuchen einer Zeile, in der der IPROG-Bereich oder der OPROG-Bereich der Tabelle nicht gesetzt worden sind, lassen sich das Programm, wel­ ches kein Programm zur Ausgabe der Eingangsnachricht ent­ hält, und das Programm, welches kein Programm zur Aufnahme der Ausgangsnachricht enthält, detektieren. Dies ist ein Beispiel einer Fehlerdetektion in der Programmbeziehung. Durch diese Eingangs/Ausgangs-Beziehungstabelle kann eine Serie von Programmen detektiert werden, die für irgendeine Nachricht gestartet worden sind. Unter Bezugnahme auf die Fig. 7a und 7b wird ein hierfür geeigneter Prozessor genau­ er beschrieben. Der Prozeß beginnt mit der Benennung eines Inhaltscodes einer Nachricht, die als sogenannter Trigger arbeitet. Ein interner Zähler ℓ wird auf den Wert "0" ge­ setzt (Schritt 700). Ein Programm, das die Nachricht mit dem Inhaltscode empfängt, der durch einen Benutzer über die Eingabeeinheit 1501 eingegeben worden ist, wird aus der Eingangs/Ausgangs-Beziehungstabelle herausgesucht und als Pegel ℓ Programm bezeichnet (Schritt 701). Für jedes aufge­ suchte Pegel l Programm wird dasjenige Programm, das dessen Ausgangsnachricht empfängt, aufgesucht und als Pegel (ℓ+1) Programm definiert (Schritt 702). Dies wird dadurch er­ reicht, daß der Inhaltscode der Ausgangsnachricht von der Attributtabelle für das Programm detektiert und das Pro­ gramm aufgesucht wird, welches die Nachricht mit dem Code von der Eingangs/Ausgangs-Beziehungstabelle empfängt. Es wird geprüft, ob unter den bisher aufgesuchten Programmen (Pegel 0 bis ℓ Programme) ein Programm existiert, das gleich dem in Schritt 702 aufgefundenen Pegel (ℓ+1) Pro­ gramm ist. Existiert ein solches Programm, so wird das Pe­ gel (ℓ+1) Programm keiner Schleifenprüfung unterworfen (Schritt 703). Dies ist ein Prozeß zum Detektieren einer abnormalen Struktur, wie in Fig. 7b gezeigt, in der die Ziffern 761 und 762 Programme, die Ziffer 751 eine Nach­ richt mit einem Inhaltscode CC1 und die Ziffer 752 eine Nachricht mit einem Inhaltscode CC2 bezeichnen. In dieser Struktur erfolgt der Prozeßablauf für den Start des Pro­ gramms 761 durch die Ausgangsnachricht des Programms 762 innerhalb einer Schleife, so daß die Möglichkeit besteht, daß eine abnormale Beziehung zwischen den Programmen vor­ handen ist. Schritt 703 stellt demzufolge auch ein Beispiel für das Detektieren einer abnormalen Beziehung zwischen den Programmen dar. In einem Schritt 704 wird geprüft, ob das Pegel (ℓ+1)-Programm existiert oder nicht. Existiert es nicht, so endet der Prozeß. Existiert es dagegen, so wird die interne variable ℓ um den Wert 1 heraufgesetzt, wonach der Prozeß zurück zum Schritt 702 springt. Im Schritt 704 wird das Programm, das keiner Schleifenprüfung unterzogen worden ist, so behandelt, als wenn kein Pegel (ℓ+1)-Pro­ gramm vorhanden wäre.
Durch einfaches Definieren der Information bezüglich der Eingangs/Ausgangsnachricht in einem Quellenprogramm ist es auf diese Weise möglich, die Information zum Laden des Programms in den ausführenden Prozessor automatisch zu er­ zeugen. Es ist ebenfalls möglich, die Beziehung zwischen Programmen zu erfassen und eine abnormale Beziehung zwi­ schen den Programmen zu detektieren.
Beim vorliegenden Ausführungsbeispiel wird die Attributta­ belle des Programms zusammen mit dessen Lademodul erzeugt. Alternativ kann auch nur die Attributtabelle ohne Erzeugung des Lademoduls gebildet werden. Die Beziehung zwischen Pro­ grammen läßt sich auch dann überprüfen, wenn nur das Attri­ butfeld im Quellenprogramm definiert ist. Beim vorliegenden Ausführungsbeispiel ist die Attributtabelle in anderen Files als der Lademodul gespeichert. Alternativ dazu können der Lademodul und die entsprechende Attributtabelle aber auch in einem File gespeichert sein und als Einheit behan­ delt werden.
Bei der Erfindung wird ein System mit einer Mehrzahl von Prozessoren verwendet, obwohl das erfindungsgemäße Verfah­ ren aber auch bei einem System zum Einsatz kommen kann, das nur einen einzelnen Prozessor enthält (entwickelnder Pro­ zessor und ausführender Prozessor sind nicht voneinander getrennt).
Bei der vorliegenden Erfindung testet der mit einem Pro­ gramm geladene Prozessor das Programm auf der Grundlage der Testinformation in der Programmattributinformation. Im Ent­ wicklungsprozessor ist ein automatischer Test des entwik­ kelten Programms auf der Grundlage der Programmattributin­ formation möglich.
Die Fig. 8 zeigt ein Blockdiagramm eines verteilten Verar­ beitungssystems zur Durchführung des erfindungsgemäßen Ver­ fahrens. Beim verteilten Verarbeitungssystem nach Fig. 8 stehen n Prozessoren 111, 112, . . . 11 n in Verbindung mit­ einander, und zwar über ein gemeinsames Übertragungsmedium 3, wobei die Verbindung zwischen den Prozessoren mit Hilfe von Übertragungssteuereinheiten 121, 122, . . . 12 n zustande kommt, die einerseits mit den Prozessoren und andererseits mit dem gemeinsamen Übertragungsmedium verbunden sind. Je­ der Prozessor kann Programme ändern und erzeugen.
Die Fig. 9 zeigt ein Übertragungsformat für Information, die über das gemeinsame Übertragungsmedium 3 übertragen wird. Im verteilten Prozessorsystem wird die über das Über­ tragungsmedium übertragene Information durch die Übertra­ gungssteuereinheiten empfangen, die den Inhaltscode 200 der Information lesen und bestimmen, ob sie für die Prozessoren erforderlich ist. Ist sie für die Prozessoren erforderlich, so wird die Information zu dem mit der Übertragungssteuer­ einheit verbundenen Prozessor übertragen. Wenn die Informa­ tion mit diesem Inhaltscode vollständig von dem im Prozes­ sor gespeicherten Programm empfangen worden ist, so wird sie als Eingangsdateninformation des auszuführenden Pro­ gramms gelesen und verarbeitet. (Es sei angenommen, daß der Eingangscode im Speicher der Übertragungssteuereinheit ge­ speichert worden ist.) Beim vorliegenden Ausführungsbei­ spiel erfolgt eine datenflußweise verteilte Verarbeitung in Übereinstimmung mit dem Inhaltscode. Die Information läßt sich ferner zwischen den Prozessoren mittels eines Übertra­ gungsprotokolls bzw. Kommunikationsprotokolls austauschen, welches die einzelnen Ziele bestimmt, ohne den Inhaltscode zu verwenden.
Ein durch wenigstens einen der Prozessoren des verteilten Verarbeitungssystems erzeugtes und über das gemeinsame Übertragungsmedium übertragenes Programm wird in das Daten­ feld 220 der Fig. 9 eingeschrieben. Die nachfolgende Infor­ mation bezüglich des in das Datenfeld eingeschriebenen Pro­ gramms wird in das Programminformationsfeld 210 einge­ schrieben. Die Programminformation enthält (i) Programmin­ haltsinformation, (ii) Programmerzeugungsinformation und (iii) Programmcharakteristikinformation (Programmeigen­ schaftsinformation).
Die Programminhaltsinformation repräsentiert Funktion und Inhalt des Programms. Beispielsweise beschreibt sie eine Eingangs/Ausgangsbeziehung des Programms. Beim Programm nach dem vorliegenden Ausführungsbeispiel, bei dem eine da­ tenflußweise Verarbeitung unter Verwendung des Inhaltscodes erfolgt, kann die Eingangs/Ausgangsbeziehung den Inhalts­ code der für den Prozeß erforderlichen Information und den Inhaltscode der Information enthalten, die nach Durchfüh­ rung des Prozesses ausgegeben wird.
Die Programmerzeugungsinformation repräsentiert die Modifi­ kationen für ein Programm durch die Mehrzahl der Prozesso­ ren. Im verteilten Verarbeitungssystem nach dem vorliegen­ den Ausführungsbeispiel fließt ein Programm durch die Pro­ zessoren und durch das gemeinsame Übertragungsmedium, wobei jeder Prozessor den Programmen etwas hinzufügt, Löschungen in den Programmen vornimmt oder die Programme ersetzt. Die Programmerzeugungsinformation wird zum Diskriminieren des Quellenprogramms vor der Modifikation durch das Quellenpro­ gramm und danach verwendet. Diese Information kann durch Zusammenfassen aller Modifikationsprozesse beschrieben wer­ den, so daß die Programmentwicklungsstruktur im verteilten Verarbeitungssystem erkannt werden kann. Alternativ kann entsprechend Fig. 10 die Anzahl der Änderungen des Origi­ nalprogramms jedesmal dann gezählt werden, wenn der Prozes­ sor eine Änderung vornimmt. Modifizieren bei diesem Verfah­ ren in Fig. 10 mehrere Prozessoren jeweils individuell ein Programm A 1, so existieren mehrere Programme A 2 im verteil­ ten Verarbeitungssystem (der Index 2 gibt eine Programmer­ zeugungs- und -modifikationsversion an). Dies kann erfol­ gen, wenn die Änderungsarbeiten in den jeweiligen Prozesso­ ren im Entwicklungsprozeß des Programms vorbestimmt worden sind und ein Quellenprogramm durch Sammlung der Programme derselben Version erstellt werden soll. Die Programmerzeu­ gungsinformation kann Information bezüglich der Version oder Anzahl von Änderungen als auch Information bezüglich des Änderungsbereichs enthalten. Die Änderungs- bzw. Modi­ fikationsbereichsinformation kann den Änderungsbereich durch eine Anweisungsmarke des Programms angeben. Es kann aber auch eine Quellenmodulmarke (Quellenmodulpegel) des geänderten Bereichs nur unter Berücksichtigung einer Quel­ lenprogramm-Modulstruktur in einem Quellenprogramm be­ schrieben werden, wie in Fig. 11 gezeigt ist. Dieses Ver­ fahren ist ausreichend, wenn das Programm für jeden Modul­ pegel entwickelt wird. Entsprechend Fig. 12 wird ein Pro­ gramm A 1 durch die Prozessoren modifiziert bzw. verändert (die Übertragungssteuereinheiten sind nicht mit eingezeich­ net). A 1, A 2, A 3, . . . geben die Anzahl der Modifikationen bzw. Änderungen an, während 1-1 und 1-2 die Änderungsberei­ che (Modulpegel) bezeichnen.
Die Programmcharakteristikinformation bezieht sich auf eine Eigenschaft eines Programms bei der Ausführung des Pro­ gramms und enthält die Ausführungszeit, eine Programm­ größe und die Speicherkapazität. Diese Information wird in dem Prozessor hinzugefügt, in dem das Programm modifi­ ziert worden ist, und verwendet, wenn das Programm ausge­ führt wird.
Die oben beschriebene (i) Programminhaltsinformation, die (ii) Programmerzeugungsinformation und die (iii) Programm­ eigenschaftsinformation stimmen mit einer externen Spezifi­ kation des Programms überein. Gemäß der Erfindung wird die externe Spezifikation zum Programm hinzugefügt und eben­ falls über das gemeinsame Übertragungsmedium übertragen, so daß die weitere Programmentwicklung und Programmausführung im Prozessor erfolgen können, und zwar bei einer durch den Prozessor getroffenen Entscheidung, ohne daß irgendeine zentrale Steuerfunktion erforderlich ist.
Das Programminformationsfeld 210 in Fig. 9 enthält die ge­ samte oder einen Teil der Information (i) bis (iii).
Die Fig. 13 zeigt einen Programmablauf im Prozessor in Übereinstimmung mit dem erfindungsgemäßen Verfahren. Jeder Prozessor empfängt gemäß Fig. 13 das Quellenprogramm, das über das gemeinsame Übertragungsmedium übertragen worden ist (Schritt 61) und prüft die Programminhaltsinformation, die Programmerzeugungsinformation und die Eigenschaftsin­ formation innerhalb des Programms, um zu bestimmen, ob das Programm geändert werden muß oder nicht (Schritte 62 und 63).
Soll es geändert werden und ist kein weiteres Programm er­ forderlich (Schritt 64), so erfolgt eine Änderung des Pro­ gramms in Schritt 65, derart, daß neue Programminhaltsin­ formation, Erzeugungsinformation und Eigenschaftsinforma­ tion zum Programm (Schritt 66) hinzuaddiert werden. Sie werden über das gemeinsame Übertragungsmedium übertragen (Schritt 67). Ist ein anderes Programm erforderlich, so wird das Programm gespeichert (Schritt 68).

Claims (6)

1. Verfahren zur Entwicklung von Programmen durch we­ nigstens einen Prozessor in einem verteilten Verarbeitungs­ system zur anteilsweisen Ausführung einer Serie von Schrit­ ten durch Programme in einer Mehrzahl von Prozessoren (11 bis 15), die über eine Übertragungsleitung (1) miteinander verbunden sind, gekennzeichnet durch folgende Schritte:
  • (a) zu einem Schritte beschreibenden Programm wird Attri­ butinformation bezogen auf Eingangs-/Ausgangsdaten des Programms in einem Prozessor hinzugefügt und
  • (b) das die Attributinformation enthaltende Programm wird über die Übertragungsleitung übertragen, um durch einen der Prozessoren geladen zu werden.
2. Verfahren nach Anspruch 1, gekennzeichnet durch ei­ nen Schritt zur Prüfung der Beziehung der Eingangs-/Aus­ gangsdaten von Programmen auf der Grundlage der Attributin­ formation der Programme.
3. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß jeder der Prozessoren die für ihn selbst erforderliche Nachricht auf der Grundlage der Attributinformation der über die Übertragungsleitung übertragenen Nachricht auf­ nimmt bzw. lädt.
4. Verfahren nach Anspruch 1, gekennzeichnet durch ei­ nen Schritt zur Erstellung einer Tabelle zur Korrelation der Programme auf der Grundlage der Attributinformation.
5. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß die Attributinformation Information zum Testen der Pro­ gramme enthält.
6. Verfahren nach Anspruch 1, gekennzeichnet durch die weiteren Schritte:
  • - es wird über die Übertragungsleitung ein Programm über­ tragen bzw. gesendet, dem Programmerzeugungsinformation, Programminhaltsinformation und Programmänderungsinforma­ tion hinzugefügt sind,
  • - in jedem der Prozessoren wird das Programm auf der Grund­ lage der Information im übertragenen bzw. gesendeten Pro­ gramm geändert und es wird der Inhalt der Information in Übereinstimmung mit der Änderung aktualisiert,
  • - das geänderte Programm wird erneut über die Übertragungs­ leitung übertragen bzw. gesendet.
DE3842289A 1987-12-18 1988-12-15 Verfahren zur Entwicklung von Programmen für ein verteiltes Datenverarbeitungssystem Expired - Lifetime DE3842289C2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP62318822A JPH01161567A (ja) 1987-12-18 1987-12-18 分散処理システムのプログラム開発方式
JP63060371A JP2685477B2 (ja) 1988-03-16 1988-03-16 分散システムのプログラム開発方法

Publications (2)

Publication Number Publication Date
DE3842289A1 true DE3842289A1 (de) 1989-06-29
DE3842289C2 DE3842289C2 (de) 1997-12-18

Family

ID=26401431

Family Applications (1)

Application Number Title Priority Date Filing Date
DE3842289A Expired - Lifetime DE3842289C2 (de) 1987-12-18 1988-12-15 Verfahren zur Entwicklung von Programmen für ein verteiltes Datenverarbeitungssystem

Country Status (6)

Country Link
US (1) US5561802A (de)
KR (1) KR920007502B1 (de)
CN (1) CN1010807B (de)
BR (1) BR8806690A (de)
DE (1) DE3842289C2 (de)
IN (1) IN170793B (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0290828A2 (de) * 1987-04-24 1988-11-17 Hitachi, Ltd. Progammverwaltungsverfahren für verteilte Verarbeitungssysteme und angepasste Vorrichtung
EP0903666A1 (de) * 1997-09-23 1999-03-24 Alcatel Verfahren zum Verteilen von Datenpaketen einer Betriebssoftware

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0576546A4 (de) 1991-03-18 1995-01-25 Echelon Corp Netzwerkvariablen.
JP3552258B2 (ja) * 1993-12-27 2004-08-11 株式会社日立製作所 分散計算機システム及びその情報管理方法
US5781787A (en) * 1995-04-21 1998-07-14 Lockheed Martin Corporation Parallel program execution time with message consolidation
GB9603582D0 (en) 1996-02-20 1996-04-17 Hewlett Packard Co Method of accessing service resource items that are for use in a telecommunications system
JPH09212352A (ja) * 1996-01-31 1997-08-15 Hitachi Software Eng Co Ltd プログラム開発支援システム
US6308212B1 (en) 1998-05-29 2001-10-23 Hewlett-Packard Company Web user interface session and sharing of session environment information
US6728947B1 (en) * 1998-06-05 2004-04-27 R. R. Donnelley & Sons Company Workflow distributing apparatus and method
US6460136B1 (en) * 1999-07-12 2002-10-01 Hewlett-Packard Co., Method and apparatus for loading an operating system kernel from a shared disk memory
US6393435B1 (en) 1999-09-22 2002-05-21 International Business Machines, Corporation Method and means for evaluating the performance of a database system referencing files external to the database system
JP3861538B2 (ja) * 1999-12-15 2006-12-20 株式会社日立製作所 プログラム配付管理システム
US20030188300A1 (en) * 2000-02-18 2003-10-02 Patrudu Pilla G. Parallel processing system design and architecture
US7334216B2 (en) * 2000-04-04 2008-02-19 Sosy, Inc. Method and apparatus for automatic generation of information system user interfaces
US6681383B1 (en) * 2000-04-04 2004-01-20 Sosy, Inc. Automatic software production system
US7137017B2 (en) * 2001-04-27 2006-11-14 International Business Machines Corporation Method and apparatus for controlling processor operation speed
US7036114B2 (en) * 2001-08-17 2006-04-25 Sun Microsystems, Inc. Method and apparatus for cycle-based computation
EP1380938A1 (de) * 2001-11-12 2004-01-14 Alcatel Verfahren und Vorrichtung zur Überprüfung der Konsistenz von Rechnerprogrammen
US7007064B2 (en) * 2002-08-02 2006-02-28 Motorola, Inc. Method and apparatus for obtaining and managing wirelessly communicated content
US20040260797A1 (en) * 2002-11-07 2004-12-23 De Loye Martin Method and apparatus for checking the consistency of software applications
US8238538B2 (en) 2009-05-28 2012-08-07 Comcast Cable Communications, Llc Stateful home phone service

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57146361A (en) * 1981-03-06 1982-09-09 Hitachi Ltd Decentralized processing method
US4627055A (en) * 1984-01-09 1986-12-02 Hitachi, Ltd. Decentralized processing method and system
JPS61286959A (ja) * 1985-06-14 1986-12-17 Hitachi Ltd 分散処理方法
DE3711273A1 (de) * 1986-04-04 1987-10-15 Hitachi Ltd Verfahren fuer eine verteilte datenverarbeitungsanlage zum ausfuehren einer folge von verarbeitungen eines auftrags in verteilter form sowie verteilte datenverarbeitungsanlage zur durchfuehrung des verfahrens

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4130865A (en) * 1974-06-05 1978-12-19 Bolt Beranek And Newman Inc. Multiprocessor computer apparatus employing distributed communications paths and a passive task register
US4648064A (en) * 1976-01-02 1987-03-03 Morley Richard E Parallel process controller
US4307447A (en) * 1979-06-19 1981-12-22 Gould Inc. Programmable controller
US4500960A (en) * 1982-06-28 1985-02-19 At&T Bell Laboratories Geographically distributed multiprocessor time-shared communication processing system
US4577272A (en) * 1983-06-27 1986-03-18 E-Systems, Inc. Fault tolerant and load sharing processing system
US4558413A (en) * 1983-11-21 1985-12-10 Xerox Corporation Software version management system
US4719622A (en) * 1985-03-15 1988-01-12 Wang Laboratories, Inc. System bus means for inter-processor communication
JPS61220027A (ja) * 1985-03-27 1986-09-30 Hitachi Ltd 文書ファイリングシステム及び情報記憶検索システム
US4694396A (en) * 1985-05-06 1987-09-15 Computer X, Inc. Method of inter-process communication in a distributed data processing system
JP2709705B2 (ja) * 1985-06-12 1998-02-04 株式会社日立製作所 マルチコンピユータシステムにおけるプログラム管理方法
JPS625465A (ja) * 1985-07-01 1987-01-12 Akira Nakano 情報処理ユニツトおよびマルチ情報処理ユニツトシステム
US4803683A (en) * 1985-08-30 1989-02-07 Hitachi, Ltd. Method and apparatus for testing a distributed computer system
JPH06103481B2 (ja) * 1985-11-15 1994-12-14 株式会社日立製作所 プログラムロ−デイング方式
US4714992A (en) * 1985-11-26 1987-12-22 International Business Machines Corporation Communication for version management in a distributed information service
JPH071482B2 (ja) * 1986-01-22 1995-01-11 株式会社日立製作所 分散ファイルの編集方法
JP2585535B2 (ja) * 1986-06-02 1997-02-26 株式会社日立製作所 複合計算機システムにおけるプロセス結合方法
JPH0827738B2 (ja) * 1986-08-15 1996-03-21 株式会社日立製作所 オンラインテスト方法
US4819159A (en) * 1986-08-29 1989-04-04 Tolerant Systems, Inc. Distributed multiprocess transaction processing system and method
US5146559A (en) * 1986-09-29 1992-09-08 Hitachi, Ltd. System for recognizing program constitution within a distributed processing system by collecting constitution messages generated by different processors
US4841433A (en) * 1986-11-26 1989-06-20 American Telephone And Telegraph Company, At&T Bell Laboratories Method and apparatus for accessing data from data attribute tables
JP2624676B2 (ja) * 1987-04-24 1997-06-25 株式会社日立製作所 プログラム世代管理方法
JPH01161566A (ja) * 1987-12-18 1989-06-26 Hitachi Ltd 分散処理システムにおけるデータ処理方式
US4864497A (en) * 1988-04-13 1989-09-05 Digital Equipment Corporation Method of integrating software application programs using an attributive data model database

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57146361A (en) * 1981-03-06 1982-09-09 Hitachi Ltd Decentralized processing method
US4627055A (en) * 1984-01-09 1986-12-02 Hitachi, Ltd. Decentralized processing method and system
JPS61286959A (ja) * 1985-06-14 1986-12-17 Hitachi Ltd 分散処理方法
DE3711273A1 (de) * 1986-04-04 1987-10-15 Hitachi Ltd Verfahren fuer eine verteilte datenverarbeitungsanlage zum ausfuehren einer folge von verarbeitungen eines auftrags in verteilter form sowie verteilte datenverarbeitungsanlage zur durchfuehrung des verfahrens

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0290828A2 (de) * 1987-04-24 1988-11-17 Hitachi, Ltd. Progammverwaltungsverfahren für verteilte Verarbeitungssysteme und angepasste Vorrichtung
EP0290828A3 (de) * 1987-04-24 1991-10-09 Hitachi, Ltd. Progammverwaltungsverfahren für verteilte Verarbeitungssysteme und angepasste Vorrichtung
US5291591A (en) * 1987-04-24 1994-03-01 Hitachi, Ltd. Method of managing programs for distributed processing systems and apparatus therefor
EP0903666A1 (de) * 1997-09-23 1999-03-24 Alcatel Verfahren zum Verteilen von Datenpaketen einer Betriebssoftware

Also Published As

Publication number Publication date
IN170793B (de) 1992-05-23
CN1035189A (zh) 1989-08-30
DE3842289C2 (de) 1997-12-18
BR8806690A (pt) 1989-08-29
CN1010807B (zh) 1990-12-12
US5561802A (en) 1996-10-01
KR920007502B1 (ko) 1992-09-04
KR890010689A (ko) 1989-08-10

Similar Documents

Publication Publication Date Title
DE3842289C2 (de) Verfahren zur Entwicklung von Programmen für ein verteiltes Datenverarbeitungssystem
DE69932371T2 (de) Verschiebbare Instrumentationskennzeichen für die Prüfung und die Fehlerbeseitigung eines Computerprogramms
DE4235193C2 (de) Netzwerksystem und zugehöriges Softwareverwaltungsverfahren
DE3416939C2 (de)
DE19740525C1 (de) Verfahren zur Abspeicherung und Wiedergewinnung von Daten in einem Steuersystem, insbesondere in einem Kraftfahrzeug
DE69628965T2 (de) Verfahren und Gerät zum Verwalten von Beziehungen zwischen Objekten in einer verteilten Objektumgebung
DE69832932T2 (de) Programmkonvertiergerät für konstantenrekonstruierenden VLIW Prozessor
DE19959758A1 (de) Bestimmung der Art und der Genauigkeit von lokalen Variablen bei vorhandenen Subroutinen
DE10348591A1 (de) Automatically identifying a program error in a computer program
EP0685086B1 (de) Einrichtung zur automatischen erzeugung einer wissensbasis für ein diagnose-expertensystem
DE2611907A1 (de) Dv-system mit einer prioritaets- unterbrechungs-anordnung
EP1176482A1 (de) Verfahren und Computerprogramm zum Herstellen einer Regelung oder Steuerung
DE10128883A1 (de) Verfahren und System für die Verteilung von Anwendungsdaten auf verteilte Datenbanken mit verschiedenen Formaten
DE19729603A1 (de) Fernkompilierung eines Quellencodes für eine Querentwicklung
DE1900141A1 (de) Datenverarbeitungsvorrichtung
DE2210325B2 (de) Datenverarbeitungseinrichtung
DE19617976A1 (de) Kommunikationssystem mit Mitteln zum Austausch von Softwareprozessen
DE112013007083B4 (de) Programmanalysevorrichtung, Programmanalyseverfahren und Programmanalyseprogramm
DE19924702A1 (de) Systeme mit einheitlicher Datenstruktur, Verfahren und Computerprogrammprodukte zur Feststellung von globalen Konflikten
DE102008001162A1 (de) Zurücksetzverfahren und Informationsverarbeitungsvorrichtung, die dieses ausführt
DE19500626A1 (de) Programmierbare Steuerung und Verfahren zum Ändern ihrer Programmaufnahmefähigkeit
DE102020119853B3 (de) Verfahren zum Steuern eines Automatisierungssystems mit Visualisierung von Programmobjekten eines Steuerprogramms des Automatisierungssystems und Automatisierungssystem
DE19924437A1 (de) Verfahren, Computerprogrammprodukte und Vorrichtung zur Initialisierung von globalen Registern
DE19922767A1 (de) Verfahren zum Installieren von Software und/oder zum Testen eines Computersystems
EP0662226B1 (de) Verfahren zur bearbeitung eines anwenderprogramms auf einem parallelrechnersystem

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