-
Die vorliegende Erfindung betrifft Prozeßsteuersysteme und Anwendungen und spezifischer Verfahren und zugeordnete Strukturen zum Sammeln und Darstellen von historischen Daten, die einen Realzeit-Stapelprozeß betreffen, und um solche Daten Formulierungen, Prozeduren und einer Ausrüstung zuzuordnen, die bei dem Stapelprozeß verwendet werden.
-
Es gibt viele Typen von industriellen Prozessen. Einige laufen kontinuierlich, bis sie angehalten werden, wobei in typischer Weise sehr große Mengen des Produktes zwischen dem Startzeitpunkt und dem Abstellzeitpunkt erzeugt werden. Andere industrielle Prozesse arbeiten mit Gruppen von Teilen, wobei die Gruppe als eine Einheit zwischen Workstations bewegt wird, wobei jedoch jeder Teil seine eigene einzigartige Identität beibehält.
-
Ein dritter Typ eines industriellen Prozesses ist der Batch-Prozeß, der es mit sich bringt, dass Rohmaterialien Verarbeitungsschritten unterworfen werden unter Verwendung von einem oder mehreren Teilen der Ausrüstung, um einen ”Stapel”(”batch”) des Produktes zu erzeugen. Backen stellt ein Beispiel eines Batch-Prozesses dar, der im Haushalt praktiziert wird. Es wird rohes Nahrungsmittel vorbereitet, wird in eine Pfanne gelegt, wird für eine Zeitdauer, die durch ein Rezept spezifiziert wird, gebacken, und endet dann als ein Gericht oder ”Stapel”(”batch”) fertig für den Verzehr.
-
Die Herstellung von Polyvinylchlorid stellt ein Beispiel dar, welches in einem industriellen Maßstab praktiziert wird. Polyvinylchlorid wird dadurch hergestellt, indem sehr viel kleinere Moleküle des Vinylchlorids polymerisiert oder ”aneinandergefügt” werden. Dies wird dadurch erreicht, indem ein Batch-Reaktor bis zu einem geeigneten Pegel mit einer Mischung aus Vinylchlorid, einem Lösungsmittel und einem Polymerisations-Induzierer gefüllt wird, die Mischung in dem Reaktor erhitzt wird, der resultierende Stapel (batch) abgekühlt wird und der Stapel gereinigt wird, indem das verbliebene Ausgangsmaterial entfernt wird.
-
Dies sind nur einige Beispiele von Batch-Prozessen oder Stapelprozessen. Im allgemeinem gibt es sehr viele unterschiedliche Arten von Stapelprozessen. Diese können beispielsweise eine Produktherstellung, Verteilung und Testen enthalten als auch mehrere andere Produkt- und nicht Produkt orientierte Prozesse umfassen.
-
Allgemein gesagt ist es wichtig, einen Stapelprozeß zu steuern. Wenn beispielsweise ein Gericht auf dem Ofen zu lange belassen wird und zwar während des Backvorganges, verbrennt es und der resultierende Nahrungsmittelstapel wird zerstört. Wenn gemäß einem anderen Beispiel eine Reaktionsmischung aus Vinylchlorid nicht lange genug zur Reaktion gebracht wird, ist die ausbeute an Polyvinylchlorid aus dem Prozeß nicht angemessen und es wird Geld verloren. Die Steuerung eines Stapel-Prozesses kann kritisch werden, wenn ein Produkt aus gefährlichen chemischen Stoffen oder vergleichbaren Größen dabei involviert ist.
-
Ein Weg, um einen Stapelprozeß zu steuern, besteht aus der Handsteuerung. Dies bedeutet, dass ein oder mehrere Arbeiter den Auftrag erhalten alle Aspekte des Stapelprozesses zu beobachten, um sicher zu sein, dass alles gemäß dem Plan verläuft. Dies ist jedoch eine ermüdende Arbeit und es können sich Fehler unbemerkt einschleichen.
-
Aus diesen und aus anderen Gründen haben Beschäftigte auf dem Gebiet der Stapelsteuerung für einige Zeit versucht, die Steuerung der Stapelprozesse durch Verwendung elektronischer Vorrichtungen zu automatisieren. Es wurden Computer, programmierbare Regler und vergleichbare elektronische Vorrichtungen in Verbindung mit intelligenten Feld-Vorrichtungen verwendet (d. h. intelligenten Sensoren und steuerbaren Ventilen) und zwar durch eine Anzahl von Zulieferern eines Stapelsteuersystems, um die Steuerung der Stapelprozesse zu automatisieren.
-
Ein intelligenter Sensor wird in typischer Weise bei einem Teil der Ausrüstung plaziert und berichtet über die Zustände der Ausrüstung zu einem zentralen Steuerraum in der Anlage. Ein steuerbares Ventil steuert in typischer Weise die Eingabe in oder die Ausgabe von einem Teil der Ausrüstung und kann von einem zentralen Kontrollraum gesteuert werden, häufig basierend auf Informationen, die von einem intelligenten Sensor empfangen wurden.
-
Anstrengungen die Stapelverarbeitung zu automatisieren haben zu dem Zusammenschluß von Standardkomitees aufgrund von Mitgliedern von Industrien geführt, die in der Stapelverarbeitung involviert sind und von Zulieferern einer Stapelverarbeitungsausrüstung und zwar unter anderen. Der allgemeine Zweck dieser Standardkomitees bestand darin, einheitliche Standards für die automatisierte Stapelverarbeitung zu definieren.
-
Ein solcher Standard wurde durch die International Society for Measurement and Control bekannt gemacht, einer internationalen Organisation, die sich mit den Ausgaben von Prozeßsteuerungen befaßt. Dieser Standard trägt den Titel Batch Control Part 1: Models and Terminology und wird häufig als der ISA S88.01-1995 Standard bezeichnet (oder als ”S88” für die Zwecke dieser Anmeldung)
-
Der S88.01 Standard definiert Modelle der Ausrüstung und Prozeduren für die Verwendung bei automatisierten Stapelprozessen als auch die Terminologie für die Verwendung bei Bezugnahme auf solche Modelle und deren Elemente. Der S88.01 Standard definiert einen ”Stapelprozeß” als einen Prozeß, der zu dem Produkt mit endlichen Eigenschaften des Materials führt, indem Mengen von Eingabematerialien einem geordneten Satz von Verarbeitungsaktivitäten über eine endliche Zeitperiode unterworfen werden unter Verwendung von einem oder mehreren Teilen der Ausrüstung. Ein ”Stapel oder Ladung”(”batch”) wird als das Material definiert, welches produziert wird oder durch eine einzelne Ausführung eines Stapelprozesses erzeugt worden ist.
-
Eine Stapelverarbeitungsausrüstung (d. h. steuerbare Elemente wie Ventile, Heizvorrichtungen, Mischvorrichtungen usw.) werden in Einklang mit Prozeduren betrieben, um einen Stapel (batch) herzustellen. für die Zwecke dieser Anmeldung werden alle solche Ausrüstungen synonym als Ausrüstung, Ausrüstungsmodule, Verarbeitungsausrüstung oder physikalisches Element bezeichnet. Die Prozeduren, um solche physikalische Elemente zu betreiben, werden häufig durch den S88.01 Standard als das ”Prozedur-Model” bezeichnet. Gemäß dem S88.01 Standard ist das Prozedur-Model als ein hierarchischer Verlauf von Prozeduren strukturiert, wobei die höchste Ebene jede der niedrigeren Ebenen umschließt, die nächst höhere Ebene jede der darunterliegenden Ebenen umschließt usw. Die Ebenen des S88.01 Prozedur-Models, die von praktischem Interesse für die Zwecke dieser Anmeldung sind, sind in abnehmender Reihenfolge wie folgt:
- – die ”Prozedur” die – ”Einheit-Prozedur” die – ”Operation” die – ”Phase”
-
Der Ausdruck ”Prozedur-Element” wird in dieser Anmeldung verwendet, um irgendeine Ausführungsform oder Implementierung von irgendeinem dieser Ebenen des S88.01 Prozedur-Models zu bezeichnen und zwar nicht nur solche der ”Prozedur”-Ebene oder irgendeine andere einzelne Ebene des Prozedur-Models.
-
Das Prozedur-Element der höchsten Ebene, welches von Interesse ist, wird als eine Prozedur bezeichnet, die aus einer oder aus mehreren Einheit-Prozeduren besteht. Jede Einheit-Prozedur ist ihrerseits aus einer oder aus mehreren Operationen gebildet, die ihrerseits jeweils aus einer oder aus mehreren Phasen bestehen. Das S88.01 Prozedur-Model schließt die Definition und die Verwendung von anderen hierarchischen Ebenen nicht aus und erfordert auch nicht, dass jede Ebene bei speziellen Anwendungen vorhanden ist. Vielmehr zielt der Standard darauf ab, ein breites standardisiertes Model zu schaffen, um die Prozeduren zu beschreiben, die in automatisierten Stapelprozeß-Steuerungen folgen.
-
Im allgemeinem sind Prozedur-Elemente als Computerprogramme implementiert, die durch und innerhalb von datenverarbeitenden Vorrichtungen ausgeführt werden, inklusive Personal Computern, Workstations und programmierbaren Reglern. Die Ausführung eines typischen Prozedur-Elements resultiert in einer elektrischen oder optischen Ausgangsgröße aus der datenverarbeitenden Vorrichtung, die dazu verwendet werden kann ein physikalisches Element zu steuern, wobei in typischer Weise eine Ausgangsgröße der datenverarbeitenden Vorrichtung direkt an das physikalische Element angelegt wird oder auch indirekt über ein örtliches Bereichs- oder weitläufiges Bereichs-Netzwerk.
-
Ein Prozedur-Element führt seine zugeordnete Aufgabe durch, indem es ”die Grundsteuerung” in Bezug auf wenigstens ein physikalisches Element aufruft. Dieser Steuertyp zielt darauf ab, einen spezifischen gewünschten Zustand des physikalischen Elements herzustellen und aufrecht zu erhalten. Die Grundsteuerung würde beispielsweise eine Materialströmung in einem Speicherbehältniselement starten oder aufrecht erhalten oder würde Ausgangsmaterialien in einem Polyvinylchlorid-Reaktorelement erhitzen.
-
In der Praxis führen die niedrigeren Ebenen des Prozedur-Models (nämlich die Phasen) die tatsächlichen Kommunikationen mit den aktuellen physikalischen Elementen durch, wodurch die Grundsteuerung aufgerufen oder durchgeführt wird. Höhere Ebenen des Prozedur-Models sind im wesentlichen Abstraktionen, um die Organisation und Struktur des Prozedur-Models zu verbessern und auch das physikalische Model zu verbessern.
-
Prozedur-Elemente und Zustand-Maschinenmodel Ein Zustand-Maschinenmodel besteht aus einem logischen Aufbau, der allgemein dazu verwendet wird, um den Zustand eines Prozesses oder der Aktivität zu beschreiben. Das Model beschreibt oder definiert eine Zahl von Prozeßzuständen zusammen mit Aktionen, die Übergänge zwischen solchen Zuständen hervorrufen. Ein Zustand-Maschinenmodel eines Prozesses wird als ein spezieller Zustand entsprechend einem früheren Übergang in diesen Zustand bezeichnet. Wenn ein spezielles Ereignis auftritt oder ein spezieller Status erfaßt wird, führt das Zustand-Maschinenmodel einen Übergang in einen anderen Zustand durch und zwar entsprechend dem speziellen Ereignis oder dem festgestellten Status.
-
Ein Zustand-Maschinenmodel bildet eine nützliche Technik, um die Operation eines Prozedur-Elements eines Stapelprozesses zu definieren und zu implementieren. Ein Prozedur-Element, welches als eine Zustand-Maschine definiert oder implementiert ist, initialisiert eine Aktion beispielsweise dann, wenn deren zugeordnete Zustand-Maschine einen Übergang von einem alten Zustand in einen neuen Zustand durchführt. Der S88.01 Standard erlaubt die Definition und Implementierung von Prozedur-Elementen in Einklang mit einem Standard-Zustand-Maschinenmodel. Während der S88.01 Standard diese Annäherung nicht fordert, wurde er weitreichend an die Prozeß-Steuerindustrie angepaßt, um einen höheren Grad von Inter-Betriebsfähigkeit unter den Produkten von verschiedenen Vertreibern zu ermöglichen (was weiter unten erläutert wird). Eine momentane wirtschaftliche Anwendung des S88.01 Standards, der Prozedur-Elemente enthält und gemäß einem Zustand-Maschinenmodel definiert und implementiert ist, ist das Delta V-Batch-Produkt von Fisher-Rosemount Systems, Inc. in 8301 Cameron Road, Austin, Texas 78754.
-
Das DeltaV Batch, ein Serverprogramm läuft auf der Datenverarbeitungsvorrichtung, welche die Prozedur-Elemente ausführt. Das Serverprogramm koordiniert die Ausführung der Prozedur-Elemente in Einklang mit einem oder mehreren Zustand-Maschinenmodellen. Prozeduren entsprechend den Einheit-Prozeduren, entsprechend Operationen und entsprechend den Phasen werden gemäß deren jeweiligen Schritte durch das Serverprogramm durchlaufen.
-
Wenn eine Phase durch das Serverprogramm initialisiert wird, überträgt beispielsweise die Phase die Initialisierungsanfrage zu dem logischen Phaseninterface innerhalb eines programmierbaren Reglers. Der programmierbare Regler führt dann die aktuelle Zustandslogik für die Phase aus und liefert die erforderliche Prozeßsteuerung vermittels Kommunikationen zu der Prozeßausrüstung.
-
Bei solchen Stapelprozessen ist es wünschenswert Daten zu sammeln, die historische bze. Entwicklungs- Ereignisse wiedergeben, welche die Verarbeitung eines Stapels ausmachen. Solche historischen Daten können beispielsweise bei der Bestimmung von Trends in der Qualitätssteuerung oder zum Bestimmen, wann die Ausrüstung, die bei dem Stapelprozeß verwendet wird, einen Service erfordert, nützlich sein.
-
Eine Anzahl von Datentypen sind potentiell bei der Rückverfolgung der Qualität oder des Voranschreitens eines Stapelprozesses nützlich. Eine solche Datenquelle besteht aus fortlaufenden Daten, die durch verschiedene Datenpunkte in dem Stapelprozeß erzeugt werden und zwar während der Verarbeitung des Stapels. Ein Datenpunkt besteht aus einer einzelnen Quelle von solchen fortlaufenden Daten, die einen gewissen Steuerwert oder anderen Status oder Messung des Stapelprozesses wiedergeben. Beispielsweise kann ein bestimmter Wert eines Materialflusses oder einer Temperatur, wie durch einen Sensor gemessen, einen solchen Datenpunkt darstellen. Die vorhandene Einstellung eines Steuer- oder Regelventils würde einen anderen solchen beispielhaften Datenpunkt darstellen.
-
Jeder solche Datenpunkt erzeugt einen fortlaufenden Strom von Datenwerten, die über die Zeit hinweg durch die Stapelprozeßanwendung erfaßt oder gesteuert werden. Die Ansammlung all solcher fortlaufender Daten, die während der Verarbeitung eines Stapels generiert werden, wird häufig durch ein Stapelverarbeitungssystem protokolliert. Protokollaufzeichnungen von solchen Datenpunkten enthalten gewöhnlich ein Zeitprotokoll und einen momentanen Wert zusammen mit anderen identifizierenden Informationen für den Datenpunkt wie beispielsweise ein Etikettenkennzeichen, um die Datenquelle zu identifizieren.
-
Ein andere Typ von Daten, der für die Rückverfolgung der Qualität des Voranschreitens einer Stapelverarbeitung nützlich ist, sind die Ereignisinformationen. Die Ereignisinformation, wie sie hier verwendet wird, bezeichnet eine Information, die den Stapelprozeß in Ausdrücken der Prozedurmodel-Ausführung beschreibt. Beispielsweise bilden Stapelereignisse, die den Startzeitpunkt und den Ende-Zeitpunkt einer bestimmten Phase oder einer bestimmten Operation, die Einheitsprozedur oder Prozedur des Prozedurmodels beschreiben, solch eine Ereignisinformation. Die Ereignisinformation enthält auch Prozeßereignisse-Informationen, die durch die physikalischen Elemente des Stapelprozesses oder durch einen Operator erzeugt werden. Jeder Ausrüstungsmodul, Zelle usw. kann Prozeßereignisse generieren, um dessen oder deren spezifische Aktivität beim Starten und Anhalten einer bestimmten Phase anzuzeigen (d. h. die Durchführung spezifischer Grundsteueraktionen). Alarmzustände, die durch die Ausrüstung erkannt werden, stellen weitere Beispiele von Prozeßereignissen dar. Die Prozeßereignisse können auch Informationen enthalten, die Operator-Änderungen hinsichtlich des Stapelprozesses während dessen Operation betreffen.
-
Es ist äußerst nützlich diese verschiedenen Formen von Ereignisinformationen und fortlaufenden Daten zu integrieren, um eine umfassende, verständliche Wiedergabe solcher Informationen für einen Anwender des Stapelprozesses zu schaffen. Jedoch liegen die gegenwärtig verfügbaren Werkzeuge für einen Bericht über die Stapelverarbeitungsqualität und den fortschritt desselben weit von solch einer Integration ab. Ein Anwender ist genötigt die ”Integration” von Hand unter Verwendung von vielfältigen nicht zusammenpassenden Werkzeugen durchzuführen. Ferner muß ein Anwender, um die ausgeweitete Wiedergabe-Lösungen zum Vorsehen solch einer Integration zu begrenzen, signifikante detaillierte Konfigurationsinformationen liefern, um es den Bericht-Programmen zu ermöglichen die verschiedenen Typen und Quellen der Ereignisinformationen und fortlaufenden Daten zu korrelieren.
-
Die momentan verfügbaren Werkzeuge, die bei der Stapelverarbeitung verwendet werden, sammeln fortlaufende Daten aus dem Stapelprozeß. Andere Werkzeuge versehen den Anwender mit einer lästigen Schnittstelle, um spezielle Abschnitte von interessierenden Daten zu lokalisieren. Beispielsweise kann ein Anwender ein Weiterschaltwerkzeug verwenden, um ein Filter oder einen Trigger zu definieren, die eingefangene Daten lokalisieren, welche ein bestimmtes Ereignis oder Prozedur in dem Stapelprozeß betreffen. Das Filter oder der Trigger kann beispielsweise so einfach sein wie das Definieren eines Startzeitpunktes und eines Ende-Zeitpunktes für die Daten, welche die Ausführung einer bestimmten Phase betreffen. Oder es kann die Definition komplexer sein, so dass der Anwender gezwungen wird andere Parameter zu identifizieren, welche die Daten identifizieren, die einem bestimmten Prozedur-Element entsprechen.
-
Im allgemeinen muß der Anwender von Hand Konfigurationsinformationen liefern, um die Ereignisse, die von Interesse sind, in dem Stapelprozeß zu definieren. Die Konfiguration dieser Informationen stellt häufig eine komplexe Aufgabe dar, die ein umfangreiches Wissen des Anwenders erfordert und zwar über die Ereignisse, die von Interesse sind und über ähnliche Eigenschaften der Daten, die für solche interessierenden Ereignisse relevant sind. Ferner stellt ungeachtet der Komplexität der Definierung des Filters zum Zuordnen der Daten zu einem Prozedurereignis der Prozeß der Definition solcher Filter, um die Daten den Stapelereignissen zuzuordnen einen weitreichenden Handbetätigungsprozeß dar, wie dieser gegenwärtig auf dem Gebiet praktiziert wird. Im wesentlichen muß der Anwender Konfigurationsdaten eingeben, die ein spezielles Ereignis identifizieren und auch spezielle Abschnitte der fortlaufenden Daten spezifizieren, die diesem Ereignis zugeordnet sind. Solche Handeingabeprozesse sind fehlerträchtig in solcher Weise, daß die Beziehungen zwischen den Ereignisinformationen und den darauf bezogenen fortlaufenden Daten in nicht korrekter Weise erstellt werden können.
-
Der Anwender der Daten benötigt ein Wissen über die Struktur der gespeicherten Daten und ist für die Erzeugung bedeutungsvoller Beziehungen unter den Daten für deren Wiedergabe verantwortlich. Obwohl die in Frage stehenden Fähigkeiten der existierenden Techniken signifikant sind, liefern sie wenig mehr als ein Bezugs-Datenbank-”Front-Ende” zum Zugreifen auf die Daten. Solche fraglichen Operationen von Bezugs-Datenbank-Managementsystemen erfordern es, dass ein Anwender die Beziehungen unter den verschiedenen Elementen der gespeicherten Daten versteht und daraus bedeutungsvolle Fragen für die Präsentation der gewünschten Daten erzeugt.
-
Aus der
EP 0 383 911 A1 ist ein Wissensmanagementsystem bekannt, das es ermöglicht, prozessspezifische Daten zu erfassen und anzuzeigen. Eine detaillierte Anzeige der Prozessabläufe erfolgt in dieser Druckschrift nicht. Die
EP 0 514 104 A2 beschreibt eine Prozesssteuereinrichtung, wobei eine Überwachung des Prozesses erfolgt.
-
Die
EP 0 652 539 A1 beschreibt ein Daten-Sammelsystem zur ausführlichen Rekonstruktion des Fertigungsverfahrens für jedes einzelne Endprodukt, das die Fertigungsstraße verlässt, wodurch eine wesentliche Herabsetzung der gespeicherten Daten erreicht wird. In diesem System werden zwei Datenreihen gesammelt und gespeichert. Zum einen Erkennungscodes und zum anderen Betriebsbedingungen sowie die Zustände der Arbeitsstationen. Diese zwei Datenreihen werden unabhängig gespeichert und nur dann korreliert, wenn dies tatsächlich notwendig ist, um die Produktgeschichte zu rekonstruieren. Hiervon unabhängig erfolgt eine Überwachung der Betriebsbedingungen.
-
Ausgehend von der
EP 0 652 539 A1 ist es Aufgabe der vorliegenden Erfindung, ein System bereitzustellen, das ein schnelles und wirksames Anzeigen von Problemquellen ermöglicht.
-
Insbesondere wird eine verbesserte Struktur benötigt, die sowohl die Erstellung der Beziehungen unter den verschiedenen gesammelten Ereignissen und Daten automatisiert als auch vereinfacht. Es ist ferner wünschenswert, dass verbesserte Verfahren und Strukturen eine verbesserte Flexibilität bei der Präsentation der gesammelten Daten bieten, um eine bessere Analyse der Daten durch die Anwender des stapelverarbeitenden Systems zu ermöglichen.
-
Diese Aufgabe wird erfindungsgemäß durch ein Ereignisgeschichtsaufzeichnungssystem nach Anspruch 1 und ein Stapelentwicklungs-Betrachtungsclient-System nach Anspruch 8 gelöst.
-
Insbesondere löst die vorliegende Erfindung die oben angegebenen und weitere Ziele durch ein Schaffen von Verfahren und zugeordneten Strukturen für ein effektiveres Einfangen, Speichern und Präsentieren von historischen Daten, die einen Stapelprozeß betreffen. Speziell enthält die Stapel-Historie der vorliegenden Erfindung ein ausführbares Programm, welches alle Ereignisinformationen empfängt, die durch einen Stapelprozeß erzeugt werden. Das Ausführungsprogramm analysiert die Daten, um zu bestimmen, wann die empfangenen Ereignisse die Initialisierung eines neuen Stapels reflektieren oder eines neuen Prozedur-Elements innerhalb der Verarbeitung eines Stapels reflektieren. Solch eine Analyse bestimmt daher die Beziehungen unter den verschiedenen vervielfältigen Ereignissen, die empfangen wurden, um die Beziehungen zwischen einem Stapel und der Stapelverarbeitung, die diesem Stapel zugeordnet ist, zu rekonstruieren. Die Ereignisse und die Beziehungen unter den Ereignissen werden daher automatisch aus den gesammelten Stapelereignissen und Prozeßereignissen abgeleitet.
-
Die durch die Analyse des Ausführungsprogramms in solcher Weise identifizierten Ereignisse können dann dazu verwendet werden, um automatisch protokollierte fortlaufende Daten den Ereignisinformationen, die durch das Ausführungsprogramm abgeleitet wurden, zuzuordnen. Es können fortlaufende Datenaufzeichnungen geparst werden unter Verwendung der Ereignisinformationen, die durch das Historie-Ausführungsprogramm abgeleitet wurden, und können in einer Form dargestellt werden, welche diese zu den Ereignisinformationen in Beziehung setzt.
-
Gemäß der vorliegenden Erfindung werden daher automatisch Beziehungen zwischen vielfältigen Stapelereignissen bestimmt, die aus der Prozedurmodel-Server-Verarbeitung generiert wurden, als auch Prozeßereignisse bestimmt, die durch die physikalischen Elemente erzeugt wurden, die in aktueller Form die gewünschte Steuerung ausführen. Die vorliegende Erfindung ordnet auch in automatischer Weise diese abgeleiteten Ereignisinformationen den fortlaufenden Daten zu, die durch andere Komponenten des Stapelverarbeitungssystems protokolliert wurden. Die vorliegende Erfindung begegnet daher den Bedarf, dass ein Anwender von Hand das System konfiguriert, um die Stapelereignisse zu identifizieren und um solche Ereignisse anderen Prozeßereignissen oder den fortlaufenden Daten zuzuordnen.
-
Bei der bevorzugten Ausführungsform werden die abgeleiteten Ereignisinformationen in einem Objekt orientierten dauerhaften Speicher abgespeichert (d. h. einem Objekt orientierten Datenbank-Managementsystem oder OODBMS). Diese Speicherannäherung verbessert die Flexibilität für einen Anwender, um ad hoc Anfragen hinsichtlich der gesammelten und abgeleiteten Daten zu erzeugen, um die historische Sequenz der Ereignisse und der Beziehungen unter den vielfältigen Ereignissen besser zu verstehen. Wie hier weiter unten festgehalten ist, erkennen Fachleute, dass irgendwelche oder mehrere Dateien oder Datenbankstrukturen in Verbindung mit der vorliegenden Erfindung angewendet werden können, um dauerhaft die Daten zu speichern. Ein ODDBMS ist lediglich eine solche Struktur, die eine signifikante Flexibilität hinsichtlich der Stapel-Geschichtsmerkmale der vorliegenden Erfindung liefert.
-
Die vorliegende Erfindung schafft ferner ein grafisches Anwenderschnittstellen-Betrachtungs-Clientprogramm, welches es dem Anwender erlaubt die strukturierten historischen Daten in einer Weise zu betrachten, die die hierarchischen Beziehungen der gesammelten Daten reflektiert. Die verschiedenen oder vielfältigen gesammelten Daten und die Ereignisse, welche diese wiedergeben, werden dem Anwender in einer solchen Weise präsentiert, dass eine Navigation unter den verschiedenen Beziehungen der Daten ermöglicht wird. Beispielsweise können Informationen, die ein spezielles Prozedur-Element der Verarbeitung eines Stapels betreffen, dem Anwender präsentiert werden und der Anwender kann auf die grafischen Anzeigeelemente klicken, um die bezogenen Prozedur-Aspekte der niederen Ebene wie beispielsweise eine spezifische Phase zu betrachten. Der Anwender betrachtet unmittelbar die verschiedenen Beziehungen unter den Objekten, welche die Stapelverarbeitung umfassen und betrachtet auch speziell hergestellte Stapel (batches).
-
Bei der bevorzugten Ausführungsform präsentiert der Betrachtungs-Client einen Stapelprozeß auf einem Anzeigebildschirm in Form einer Gantt-Zeitliniengrafik, wobei grafisch die verschiedenen Prozeduren dargestellt werden, die ausgeführt werden, um den Stapel herzustellen und auch die Zeitpunkte gezeigt werden, die zu jedem Prozedur-Element zugeordnet sind. Um Einzelheiten einer Prozedur gemäß einer niedrigeren Ebene (hierarchisch) zu betrachten, ”klickt” der Anwender auf (wählt) eine Prozedur, um darin die Einheit-Prozeduren zu betrachten. In ähnlicher Weise wird eine Einheit-Prozedur angeklickt, um Operationen zu betrachten, und es wird eine Operation ausgewählt, um Phasen zu betrachten. Ein tabellarischer Textabschnitt des Bildschirms unter der Gantt-Grafik offenbart Einzelheiten der Ereignisse, die das ausgewählte Prozedur-Element ausmachen. Es können Vielfachebenen der Prozedur-Modelhierarchie gleichzeitig auf dem Gantt-Grafikabschnitt der Anzeige dargestellt werden. Ein Anwender kann die Ebene eines Details konfigurieren, um sie so darzustellen.
-
Ein erster und ein zweiter Stapel können durch den Betrachtungs-Client gleichzeitig dargestellt werden, um einen Sichtvergleich von zwei Stapeln zu ermöglichen. Beispielsweise kann ein ”goldener” Stapel, der das gewünschte Produkt erzeugt, mit einem ausgefallenen oder fehlerhaften Stapel verglichen werden. Häufig ist der Grund des Ausfalls oder Fehlers des Stapels sichtbar zu erkennen und zwar aus dem grafischen Vergleich der Stapel-Gantt-Grafiken. Die Eigenschaften des Betrachtungs-Client ermöglichen es, Zeitlinien für jede Gantt-Grafik in einer absoluten Zeit wiederzugeben oder in einer relativen Stapelzeit, um die Möglichkeit zu schaffen, die Grafiken visuell besser auszurichten. Die Zeitlinien können beim Start des Stapels ausgerichtet werden oder können an irgendeinem anderen definierten Prozedurereignis in beiden Zeitlinien ausgerichtet werden (d. h. dem Start oder dem Ende oder einem speziellen Prozedur-Element, welches beiden Zeitlinien gemeinsam ist).
-
Grafische Anwender-Schnittstellenmerkmale des Betrachtungsclients ermöglichen es auch einem Anwender in einfacher Weise fortlaufende Daten wieder zu betrachten, die einem ausgewählten Prozedur-Element zugeordnet sind. Die Beziehungen, die in automatischer Weise durch die vorliegende Erfindung bestimmt werden, korrelieren protokollierte fortlaufende Daten mit bestimmten Prozedur-Elementen. Der Betrachtungsclient schafft die Möglichkeit, dass ein oder mehrere gekennzeichnete Datenpunkte in den fortlaufend protokollierten Daten für irgendein bestimmtes Prozedur-Element wiedergegeben wird bzw. werden. Beispielsweise können ein oder mehrere gekennzeichnete Datenpunktwerte dargestellt werden und/oder für eine bestimmte ausgewählte Phase eines Stapels aufgetragen werden. Die gewünschte Phase wird ausgewählt und es wird eine Dialogbox dargestellt, die es dem Anwender erlaubt, den protokollierten oder gekennzeichneten (tagged) Datenpunkt für die Phase auszuwählen. Die ausgewählten mit Etiketten gekennzeichneten Datenpunkte für die Phase werden dann aus dem Protokoll der fortlaufenden Daten wieder aufgefunden oder wiedergewonnen und werden an der Anzeige des Anwenders dargestellt. Ein Schlüssel der Erfindung besteht darin, dass der Anwender nicht den Start und das Ende von jedem Prozedur-Element in Form von von Hand eingegebenen Konfigurationsinformationen spezifizieren muß, wie dies beim Stand der Technik praktiziert wurde. Vielmehr wählt der Anwender lediglich ein Prozedur-Element aus der grafischen Darstellung aus und die Verfahren und Strukturen der vorliegenden Erfindung ordnen das ausgewählte Prozedur-Element der Ereignisinformation für dieses Prozedur-Element zu und zu anderen in Beziehung stehenden Ereignissen, Prozedur-Elementen und der Ausrüstung.
-
Weitere Merkmale des Betrachtungsclients ermöglichen es, dass entweder Ereignisdaten (d. h. Gantt-Grafiken) oder aufgetragene kontinuierliche oder fortlaufende Daten in Realzeit überwacht werden können. Diese Realzeit-Darstellung der Daten ermöglicht das Scrollen der Grafik oder ein Durchlaufen des Bildschirms, um neue Daten an dem Ende der Grafik hinzuzufügen oder einen Graphen und zwar während der Stapelprozeß ausgeführt wird.
-
Die obigen und weitere Gegenstände, Aspekte und Merkmale und auch Vorteile der vorliegenden Erfindung ergeben sich aus der folgenden Beschreibung der beigefügten Zeichnung.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
1 ist ein Blockdiagramm, welches den gegenwärtigen Stand der Technik der Stapel-Entwicklungsprotokollierung und Bericht-Systeme herausgreift;
-
2 ist ein Blockdiagramm, welches eine Architektur herausgreift, die eine Stapelereignis-Entwicklung (historian)gemäß der vorliegenden Erfindung enthält;
-
3 ist ein Flußdiagramm, welches die Operation der Stapelereignis-Entwicklung der vorliegenden Erfindung beschreibt;
-
4–8 sind Flußdiagramme, welche zusätzliche Einzelheiten der Stapel-Ereignis-Entwicklung von 3 beschreiben;
-
9 ist ein Flußdiagramm, welches die Operation eines Stapelereignis-Entwicklungs-Betrachtungs-Clients von 2 beschreibt;
-
10–21 sind beispielhafte Anzeigebildschirme, die durch den Stapelereignis-Entwicklungs-Betrachtungs-Client von 9 erzeugt wurden.
-
DETAILLIERTE BESCRHEIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
-
Obwohl die vorliegende Erfindung vielfältigen Modifikationen und alternativen Ausführungsformen zugänglich ist, wird eine spezifische Ausführungsform derselben anhand eines Beispiels in den Zeichnungen gezeigt und soll hier in Einzelheiten beschrieben werden. Es sei jedoch darauf hingewiesen, dass nicht beabsichtigt ist die Erfindung auf die bestimmte offenbarte Form einzuschränken, sondern dass im Gegenteil die Erfindung alle Modifikationen, äquivalenten Ausführungen, Alternativen mit umfaßt, die in den Rahmen der Erfindung fallen, wie er durch die anhängenden Ansprüche definiert ist.
-
1 ist ein Blockschaltbild, welches den gegenwärtigen Stand der Technik für die Aufzeichnung und Präsentation von historischen Daten herausgreift, die eine Stapelverarbeitungsumgebung betreffen. Ein Protokoll 100 für kontinuierliche Daten protokolliert Etiketten gekennzeichnete Informationen entsprechend einer Vielfalt oder Vielzahl von fortlaufenden Datenquellen in der Stapelverarbeitungsumgebung. Speziell empfängt ein Sammelelement 106 für die fortlaufenden Daten momentan einen Strom von fortlaufenden Werten von jeder einer Vielzahl von Datenpunkten 104. Solche Datenpunkte oder Datenstellen enthalten beispielsweise vorhandene analoge und digitale Werte von den Sensoren und Betätigungsvorrichtungen der Stellgliedern, die in dem Stapelprozeß involviert sind. Jeder auf solche Weise empfangene Datenwert wird etikettenmäßig gekennzeichnet und zwar mit einer Identifizierung und mit anderen Informationen (d. h. Zeitprotokollwerten), um die Möglichkeit zu bieten, dass der Datenpunktwert gespeichert werden kann oder ähnlichen Datenpunkten aus der gleichen Quelle zugeordnet werden kann. Die mit Etiketten gekennzeichneten Datenpunktwerte werden dann komprimiert und werden in einem komprimierten Etikettenkennzeichen-Protokoll 110 für eine spätere Verarbeitung abgespeichert.
-
Diese komprimierten, mit Etiketten gekennzeichneten Daten werden über eine Anwendungsprogramm-Schnittstelle (API) 108 für die Verwendung durch Client-Anwendungen 114 bis 118 und eine Anwender-Zugriffsmaschine 112 wieder aufgefunden. Die API 108 führt eine einfache Filtration und Auswahl der gewünschten Datenpunktwerte aus dem komprimierten Kennzeichenprotokoll 110 durch. Die Werte, die mit der gleichen Quellenidentifikation gekennzeichnet sind können dekomprimiert werden und werden aus dem Protokoll wieder aufgefunden und zwar für einen ausgewählten Bereich von Zeitprotokollwerten.
-
Die Standarddatenreduktions- und Analyse-Client-Anwendungen 114 bis 118 erzeugen eine statistische Analyse von bestimmten Datenpunkten durch Wiederauffinden und Analysieren der komprimierten, gekennzeichneten Datenpunktwerte. Der Bereich der Werte, der zu analysieren ist, wird dem Anwender angeboten, indem das Etikettenkennzeichnen des Datenpunktes oder Datenpunkte identifiziert wird bzw. werden und auch der Bereich der Interessierenden Zeitprotokolle (timestamps).
-
Die Anwender-Zugriffsmaschine 112 versieht einen Anwender mit einer flexibleren ad-hoc Abfrage in Bezug auf die komprimierten gekennzeichneten Datenpunktwerte. Ein Anwender führt zunächst Konfigurationsdaten 122 zu, um die Beziehungen unter den vielfältigen Datenquellen und den Zeitpunkten, die mit dem Start und dem Stopp mit jedem Stapel-Prozedurschritt zugeordnet sind, zu beschreiben. Mit anderen Worten muß ein Anwender von Hand den Start und Stopp von jedem Prozedurereignis definieren (die Phase, Operation, Einheit-Prozedur und Prozedur), so dass die Anwender-Zugriffsmaschine 112 die Beziehungen unter den verschiedenen komprimierten gekennzeichneten Datenpunktwerten und der Stapelprozedur bestimmen kann, die betrieben wird, um den zugeordneten Stapel zu erzeugen.
-
Die Anwender-Zugriffsmaschine 112 verwendet diese Anwender-Konfigurationsdaten 122 um ein traditionsgemäßes Bezugs-Datenbank-Managementsystem 120 zu strukturieren zum Speichern dieser Beziehungen unter den verschiedenen vom Anwender definierten Prozedurereignissen.
-
Die Prozeßereignisse 101 sind kennzeichnend für die Realzeit-Ereignisse, die durch die Prozeßausrüstung und die Operatoren generiert werden und zwar während der Verarbeitung eines Stapels. Diese Ereignisse enthalten auch Zeitprotokollinformationen als auch Identifizierungsinformationen, welche die Ausrüstung angeben oder den Operator, der die Nachricht erzeugt ha, und diese werden in dem Prozeßereignisprotokoll 102 protokolliert und werden auch der Anwenderzugriffsmaschine 112 angeboten, um andere Beziehung unter diesen Ereignissen zu bestimmen.
-
Der Kernpunkt der herkömmlichen Techniken besteht aus den Anwender-Konfigurationsinformationen 122. Der Anwender ist dafür verantwortlich, um von Hand die Prozedurereignisse zu identifizieren, die die Realzeit-Prozeßereignisse und fortlaufenden Daten an das S88 Prozedur-Model binden. Um mit anderen Worten die Prozeßereignisse und die fortlaufenden Daten in einer Weise zu betrachten, die mit dem Stapelverarbeitungs-Prozedurmodel verkettet ist, welches dem Anwender sehr vertraut ist, muß der Anwender Zeitsteuerinformationen eingeben, um die verschiedenen Prozedurereignisse zu identifizieren. Handprozeduren so wie diese sind für den Anwender mühsam und sind fehleranfällig. Fehlerhafte Anwender-Konfigurationsdaten führen zu einer weniger bedeutungsvollen Präsentation der Daten, die die Prozedurereignisse in dem Stapelprozeß betreffen.
-
Im Gegensatz dazu zeigt 2 die vorliegende Erfindung, welche eine Stapelereignis-Entwicklung 200 enthält, um Ereignisinformationen zu speichern und wieder aufzufinden, die einen Stapelprozeß betreffen, um auf diese Weise die Bestimmung der Beziehungen zwischen den gesammelten Prozeßereignisdaten, den Stapelprozedurereignissen und den zugeordneten fortlaufenden Daten zu automatisieren. Durch so eine Automatisierung der Bestimmung solcher Beziehungen begegnet die vorliegende Erfindung dem Erfordernis der herkömmlichen Techniken, solche Ereignis-Zeitsteuerinformationen von Hand zu konfigurieren. Die mühsame Last, die den Anwendern durch die herkömmliche Technik auferlegt wird, um solche Ereignisse zu konfigurieren und auch die induzierten Fehler, die aus solchen von Hand durchgeführten Prozeduren resultieren, werden beseitigt.
-
Speziell enthält die Stapelereignis-Entwicklung oder – Geschichte 200 eine Stapel-Entwicklungs-Exekutive 202, die Ereignisinformationen von vielfachen Datenquellen empfängt und welche die Beziehungen unter verschiedenen Elementen der gesammelten Ereignisdaten festlegt. Noch spezifischer ausgedrückt empfängt bei der bevorzugten Ausführungsform die Exekutive 202 die Prozeßereignisse 101 über das -Prozeßereignisprotokoll 102 und den Prozeß-Ereignisserver 218. Wie oben angegeben wurde, werden die Prozeßereignisse durch die physikalische Ausrüstung und/oder die Operator-Interaktion mit dem Stapel (nicht gezeigt) generiert. Das Prozeß-Ereignisprotokoll 102 repräsentiert daher einen Puffer (d. h. einen Zwischenprozeß-Kommunikations-FIFO oder -pipe) zum Puffern solcher Ereignisse, die durch den Prozeß-Ereignisserver 218 zu verarbeiten sind. Die Exekutive oder der Ausführungsteil 202 empfängt auch Stapelserver-Ereignisse (auch als Prozedurereignisse bezeichnet) 212 über die Stapelereignisse 214 und den Stapelereignisserver 216. Wie oben angeführt werden die Stapelereignisse 212 durch einen Stapelserverprozeß (nicht gezeigt) generiert, der den Stapelprozeß ausführt. Die Stapelereignisse 214 repräsentieren daher einen Puffer (d. h. einen Interprozeß-Kommunikations-FIFO oder -pipe) zum Puffern solcher Ereignisse, die durch den Stapelereignisserver 216 zu verarbeiten sind.
-
Der Prozeßereignisserver 218 und der Stapelereignisserver 216 sind in der bevorzugten Ausführungsform vorhanden, um eine gemeinsame Interprozeß-Kommunikationsschnittstelle zwischen dem Ausführungsteil 202 und dessen angehängten Datenquellen-Stapelereignissen 214 und dem Prozeß-Ereignisprotokoll 102 vorzusehen. Fachleute erkennen hier viele äquivalente Software Strukturen, um es dem Ausführungsteil 202 zu erlauben Daten von einer Vielfalt von Datenquellen zu sammeln, die potentiell unterschiedliche Datenformate besitzen. Die in 2 gezeigte bevorzugte Ausführungsform dient daher als ein Beispiel von einer solchen Konstruktionsauswahl, um die Möglichkeit einer einzelnen gemeinsamen Schnittstelle zwischen dem Ausführungsabschnitt 202 und der Vielfalt der Datenquellen zu ermöglichen. Fachleute werden hier auch erkennen, dass irgendeine Zahl von Datenquellen durch den Ausführungsteil 202 so integriert sein können, um die Ereignisbeziehungen dazwischen zu bestimmen. Bei der bevorzugten Ausführungsform ist jede Datenquelle einem Serverprozeß zugeordnet, um die Datenquelle in ein kanonisches Format zu übersetzen und um solche kanonischen Daten dem Ausführungsteil über -gut bekannte Interprozeß-Kommunikationstechniken anzubieten.
-
Die Struktur und die Verfahren der vorliegenden Erfindung zielen darauf ab, das Anbringen oder Anhängen einer willkürlichen Zahl von Datenquellen an den Stapel-Entwicklungs-Ausführungsteil 202 zu erlauben. Andere Ereignisse 240 sind daher für solche einen anderen Typ eines Ereignisses repräsentativ, welches in dem dauerhaften Speicher aufzuzeichnen ist und auf die Stapelverarbeitungshierarchie oder die Prozedur-Elemente und die physikalischen Elemente bezogen ist. Ein Protokoll 242 von solch anderen Ereignissen dient dazu die Erzeugung solcher Ereignisse für die Verarbeitung zu Puffern. Ein anderer Ereignisserver 244 verarbeitet dann die protokollierten anderen Ereignisse und bietet diese dem Ausführungsabschnitt 202 für eine dauerhafte Speicherung an. Fachleute erkennen hier, dass irgendeine zahl von solchen Datenquellen an den Ausführungsabschnitt 202 angeheftet werden kann. Jede ist einem Serverprozeß zugeordnet, der die protokollierten Ereignisinformationen in das kanonisches Format umwandelt, welches für die Eingabe in den Ausführungsteil spezifiziert ist.
-
Der Ausführungsteil 202 rekonstruiert die Stapel-Verarbeitungs-Prozedurhierarchie der ausgeführten Prozedurereignisse aus den Ereignisnachrichten, die von dem Stapelserver 212 empfangen werden. Der Stapelserver 202 generiert eine Nachricht, wenn jedes Prozedur-Element zu Gunsten eines bestimmten identifizierten Stapels ausgeführt wird. Die Ereignisinformationen in solchen Nachrichten enthalten Identifizierungsinformationen, um das spezielle Prozedur-Element und den Zeitpunkt des Ereignisses zu identifizieren. Die Ereignisse umfassen das Starten des Prozedur-Elements, das Anhalten, Pausieren, Verwerfen usw. Im wesentlichen bewirken alle Zustandsübergänge des Prozedurmodels des S88 Standards die Erzeugung einer Ereignis-Informationsnachricht und der Übertragung der Nachricht (über den Stapelereignisserver 216) zum Ausführungsteil 202. Alle anderen Ereignisnachrichten sind auf die Prozedurhierarchie bezogen, die durch den Ausführungsteil 202 rekonstruiert wird.
-
Der Ausführungsteil 202 speichert Objekte in DB 204, was die rekonstruierte Stapel-Prozeß-Prozedurausführung reflektiert. Der Ausführungsteil 202 inspiziert alle solchen gesammelten Ereignisinformationen aus deren angehängten Datenquellen und bestimmt, ob die Stapelereignisse, auf die darin Bezug genommen wird, bereits dem Ausführungsteil bekannt sind. -Solche Ereignisse sind dem Ausführungsteil im wesentlichen dann bekannt, wenn festgestellt wird, dass sie an früherer Stelle als Objekte in DB 204 abgespeichert wurden. Dort, wo neue Stapelereignisse detektiert werden, werden geeignete beschreibende Objekte generiert und werden in DB 204 abgespeichert. Dort, wo beispielsweise eine Phase gestartet wird, wird ein Objekt für diese Phase, die alle Identifizierungsinformationen und Zeitprotokollinformationen enthält, erzeugt und gespeichert. Wenn die Phase eine Operation betrifft, die bereits in dem DB 204 bekannt ist, werden solche Beziehungen erstellt. Wenn die Operation (oder Einheit-Operation oder Prozedur) gegenwärtig nichtbekannt ist, werden andere Objekte erzeugt und werden in DB 204 gespeichert, um diese höheren Ebenen der Prozedur-Hierarchieausführung zu reflektieren. Der Empfang von jeder Stapel-Ereignisnachricht über den Stapelereignisserver 216 erzeugt daher Ereignisinformationen, welche es dem Ausführungsteil 202 erlauben, die Stapelprozedur-Ausführung zu rekonstruieren.
-
Der Ausführungsteil 202 speichert auch die Prozeßereignisse 102, die über das Prozeßereignisprotokoll 102 und den Prozeßereignisserver 218 in DB 204 empfangen wurden. Die Beziehungen zwischen den Stapelereignissen und den Prozeßereignissen werden dadurch automatisch erzeugt und werden in DB 204 ohne das Erfordernis einer vom Anwender von Hand durchgeführten Konfiguration festgehalten.
-
Das Objekt API 222 liefert ein Objekt orientiertes Programmierinterface für den Anwenderzugriff auf die Ereignisinformationen um die abgeleiteten Beziehungen, die in DB 204 gespeichert sind. Bei der bevorzugten Ausführungsform liefert die Stapelereignisentwicklung 200 eine ”Structured Query Language(SQL)-Interface” 206 für einen externen Zugriff auf die Informationen, welche in DB 204 gespeichert sind. Das Objekt API 222 greift daher auf DB 204 über den offenen Datenbank-Verbindungs-(ODBC)Treiber 220 und das SQL Interface 206 zu. diese Struktur macht den zugrundeliegenden dauerhaften Speicher stark transparent für den Anwender oder die Anwendungs-Clientprogramme. Der dauerhafte Speicher kann so implementiert werden, wie dies in der bevorzugten Ausführungsform von 2 dargestellt ist unter Verwendung der OODBMS Technologie. Oder es kann in Hinblick auf die verborgene zugrundeliegende Struktur der dauerhafte Speicher unter Verwendung von Standard-Bezugsmodel-Datenbank-Management-Packages oder irgendeinem anderen strukturierten Speicher-Subsystem DB 204 implementiert werden. Zum Zwecke der weiteren hier erfolgenden Erläuterung wird der DB 204 hier als Synonym eines dauerhaften Speichers bezeichnet, eines Dauerspeichers, eines Objektspeichers und anderer Varianten desselben, um zu unterstreichen, dass die Speicherarchitektur in irgendeiner von mehreren gut bekannten Arten strukturiert sein kann unter Verwendung von irgendwelchen von mehreren im Handel erhältlichen Speichermanagementwerkzeugen. Der Kern der Erfindung besteht aus der Funktion des Ausführungsteils 202, um die Beziehungen unter den Stapelereignissen und anderen gesammelten Daten und dem API 222 abzuleiten, der in transparenter Weise auf solche Ereignisinformationen und die in Beziehung stehenden fortlaufenden Daten zu Gunsten des Anwenders zugreift.
-
Als Beispiel gewählte Anwender-Anwendungen 224 bis 230 greifen auf die Informationen in dem dauerhaften Speicher zu und zwar unter Verwendung des Objektes API 222. Der Betrachtungsclient 224 stellt eine beispielhafte Anwender-Anwendung dar, die eine standardisierte hierarchische Betrachtung der angesammelten historischen Daten liefert. Der Betrachtungsclient 224 wird im folgenden mehr in Einzelheiten erläutert. Der Report-Client 226 ist eine als Beispiel gewählte Anwender-Anwendung, die standardisierte Berichte aus den historischen Daten produziert. Solche Standardberichte können beispielsweise auf die Qualitätssicherheit bezogene Berichte enthalten, um die Qualität der Stapel zu überwachen, die erzeugt wurden und auch der Ausrüstung, die in dem Stapelprozeß verwendet wird oder können Standard-Status-Berichte enthalten, um die speziellen Stapelprozesse voranzutreiben. Der SQL Browser-Client 228 ist eine beispielhafte Anwender-Anwendung, die eine SQL Standard-Abfrageschnittstelle für einen Anwender vorsieht, um Informationen durchzusehen, die in dem Dauerspeicher gespeichert sind. In ähnlicher Weise ist die Anwender-SQL API 230 eine als Beispiel gewählte Anwender-Anwendung, die es anderen vom Anwender erzeugten Anwendungsprozessen erlaubt, auf den Dauerspeicher zuzugreifen unter Verwendung von Standard-Abfrage-Programmierschnittstellen. Fachleute erkennen hier, dass die als Beispiel gewählten Anwender-Anwendungen 224 bis 230 hier lediglich als Beispiele von allgemeinen Anwendungsprogrammen gewählt sind, die Daten in dem Dauerspeicher verwenden können. Fachleute erkennen hier eine Vielfalt von ähnlichen Anwendungen, die diese Standardschnittstelle zu den Daten in dem dauerhaften Speicher verwenden könnten.
-
Eine weitere Funktion des Objektes API 222 besteht darin eine Standardschnittstelle für einen Anwenderzugriff auf die fortlaufenden Daten 100 zu schaffen. Das Objekt API 222 erlaubt es dem Anwender auf die kontinuierlichen Daten 100 in transparenter Weise zuzugreifen als ob diese mit den Objekten in DB 204 integriert und auf diese bezogen wären. Mit anderen Worten erlaubt das Objekt API 222 einem Anwender frei Zugriff-Prozeßereignisse, darauf bezogene Stapelereignisse und darauf bezogene fortlaufende Daten miteinander zu mischen so als ob alle Daten in einer einzelnen Datenbank abgespeichert wären. Das Lenken des Zugriffs des Anwenders zu dem geeigneten Dauerspeicher (d. h. auf DB 204 oder die fortlaufende Daten 100) und das Bestimmen aller Beziehungen, die erforderlich sind, um die Daten der Anfrage eines Anwenders zuzuordnen, werden mit einer gemeinsamen Anwender-Schnittstelle durch das Objekt API 222 gehandhabt. Ein Anwender kann ein bestimmtes Stapelereignis spezifizieren und kann von diesem aus auf alle bezogenen Stapelereignisse zugreifen (hierarchisch bezogene Prozedur-Elemente), ebenso auf alle bezogenen Prozeßereignisse und alle bezogenen fortlaufenden Daten. Die Beziehungen unter den verschiedenen Daten wird automatisch durch den Ausführungsteil 202 und das Objekt API 222 der vorliegenden Erfindung bestimmt.
-
Das Diagnoseinterface 208 und das administrative Interface 210 liefern administrative Anwender-Schnittstellen zum Managen des Dauerspeichers (DB 204). Speziell werden Anfragen, die die Entwicklungsverarbeitung anlaufen lassen oder beenden lassen oder die den Dauerspeicher rekonfigurieren (d. h. den DB 204 neu bemessen oder Informationen über die Datenquellen hinzufügen/entfernen/modifizieren) werden durch einen Anwender über das Diagnoseinterface 208 und/oder das administrative Interface 210 erzeugt.
-
Das administrative Interface 210 steuert auch den Ausführungsteil 202 hinsichtlich der Archivmerkmale. Der Ausführungsteil 202 kann steuerbar stapelbasierte Backups ausführen. Ein stapelbasierter Backup ist ein solcher, der alle Ereignisinformationen in dem Dauerspeicher sichert, welche die Verarbeitung eines bestimmten Stapels betreffen. Das Backup oder die Sicherung kann in einem anderen Abschnitt von DB 204 erzeugt werden, um diese für eine andere Verarbeitung zu sichern. diese Backup-Abschnitte des dauerhaften Speichers können von dem DB 204 für eine Offline-Verarbeitung ”abgetrennt” werden. Im wesentlichen instruiert das administrative Interface 210 den Ausführungsteil 202 einen ”Schnappschuß” von allen Ereignisinformationen zu nehmen und zwar für einen oder mehrere identifizierte Stapel. Der Schnappschuß kann dann in ein Sicherheits-Backup kopiert werden unter Verwendung von Offline-Verarbeitungstechniken. Solche archivierten (als Schnappschuß festgehaltenen) Ereignisinformationen können dann aus dem dauerhaften Speicher weggelassen werden, um Raum für weitere Stapel-Entwicklungsinformationen zu schaffen. Zu einem späteren Zeitpunkt kann ein früheres Archiv wieder hergestellt werden (wieder angehängt werden) und zwar an DB 204, um die Möglichkeit zu schaffen, dass die Daten betrachtet und erneut manipuliert werden können. Das Weglassen und die Wiederherstellung solcher archivierten Informationen wird ebenfalls durch die Steuerung des administrativen Interface 210 ausgeführt, welches seinerseits den Ausführungsteil 202 steuert.
-
Fachleute erkennen hier, dass das Diagnoseinterface 208 und das administrative Interface 210 wesentliche Komponenten der Stapelereignis-Entwicklung 200 darstellen. Eine Vielfalt von äquivalenten Strukturen können gemäß einer Designwahl oder Konstruktionswahl durch einen Fachmann verwendet werden. Oder es kann beispielsweise die Stapelereignis-Entwicklung 200 den dauerhaften Speicher statisch konfigurieren und/oder kann ohne ein Anwender-Interface laufen, um dessen Operation zu starten und zu stoppen. Solche archivierten (als Schnappschuß festgehaltenen) Ereignisinformationen können dann aus dem dauerhaften Speicher weggelassen werden, um Raum für weitere Stapel-Entwicklungsinformationen zu schaffen. Zu einem späteren Zeitpunkt kann ein früheres Archiv wieder hergestellt werden (wieder angehängt werden) und zwar zu dem DB 204, um die Möglichkeit zu schaffen die Daten zu betrachten und erneut zu manipulieren. Das Weglassen und Wiederherstellen von solchen archivierten Informationen wird ebenfalls durch die Steuerung des administrativen Interface 210 durchgeführt, welches seinerseits den Ausführungsteil 202 steuert.
-
Fachleute erkennen, dass die Architektur der Stapelereignis-Entwicklung 200 und des bezogenen Objekts API 222 lediglich als ein Beispiel von einer bevorzugten Ausführungsform der vorliegenden Erfindung dient. Zahlreiche Variationen der Architektur sind für einen Fachmann möglich. Beispielsweise können die fortlaufenden Daten 100 innerhalb von DB 204 gemischt werden und zwar dort, wo installierte Systeme existieren (allgemein als Vermächtnissysteme (legacy systems) bezeichnet) nicht involviert sind und zwar beim Erstellen von Protokollen im dauerhaften Speicher von solchen Informationen. Oder es kann beispielsweise der dauerhafte Speicher für die Ereignisinformationen anders ausgebildet sein als ein Objekt orientierter Datenspeicher. Oder um noch ein weiteres Beispiel zu nennen, kann der Ereignis-Ausführungsteil 202 direkt auf die verschiedenen Eingangsquellen zugreifen, die Ereignisinformationen liefern anstatt auf Serverprozesse zurückzugreifen (216 und 218), um die Eingangsgröße in kanonische Formate zu übersetzen. Für einen Fachmann sind viele solche Konstruktionsauswahlen offensichtlich.
-
3 bis 8 sind Flußdiagramme, welche den Betrieb der Stapelentwicklung 200 und speziell des Stapel-Entwicklungs-Ausführungsteiles 202 beschreiben. 3 beschreibt den Betrieb in einer hohen Ebene des Stapel-Entwicklungs-Ausführungsteiles 202 von 2. Die 4 bis 8 zeigen zusätzliche Einzelheiten in Bezug auf die speziellen Aspekte des Betriebes des Ausführungsteiles.
-
Das Element 300 von 3 ist zuerst betreibbar, um Verbindungen zu allen momentan konfigurierten Datenquellen zu erstellen – um die Datenquellen ”anzuheften”. Wie oben dargelegt wurde, werden bei der bevorzugten Ausführungsform Zwischenprozeß-Kommunikationen zwischen dem Ausführungsteil (executive) und einem Serverprozeß (nicht gezeigt) verwendet, der jeder Datenquelle zugeordnet ist. Die momentan konfigurierten Datenquellen bilden einen Konfigurationsparameter der Entwicklung (historian), die in dem dauerhaften Objektspeicher gespeichert ist. Bei der bevorzugten Ausführungsform sind zwei Datenquellen vorhanden, nämlich die Prozeßereignisse und die Stapelereignisse (Prozedurereignisse).
-
Es werden dann weitere Zwischenprozeß-Kommunikationsverbindungen durch das Element 302 zu den Diagnose- und Administrations-Schnittstellenprogrammen erstellt, um dem Anwender zu ermöglichen den Betrieb der Stapelentwicklung zu verwalten. Wie oben angegeben wurde, erlauben es die Diagnose- und Administrations-Schnittstellen einem Anwender den Betrieb der Stapelentwicklung zu managen, indem dessen Betrieb gestartet wird oder der Betrieb abgestellt wird. Es sind auch andere Konfigurationsänderungen über diese Schnittstellen erlaubt inklusive beispielsweise einer Änderung der Kapazität oder Stelle oder Örtlichkeit des dauerhaften Speichers oder durch Hinzufügen/Entfernen/Modifizieren von Datenquellen, die an den Ausführungsteil angehängt sind oder Archiv-Managementfunktionen ausführen.
-
Es sind dann die Elemente 304 bis 312 iterativ betreibbar, um Daten zu verarbeiten, die an dem Ausführungsteil empfangen wurden und zwar von irgendwelchen angehängten Datenquellen (inklusive der administrativen und Diagnose-Schnittstellen). Das Element 304 ist zuerst betreibbar, um zu bestimmen, ob irgendwelche Nachrichten von den administrativen oder Diagnose-Schnittstellen verfügbar sind. Wie oben angegeben wurde, bilden diese Schnittstellen oder Interfaces (Datenquellen) den Ausführungsteil mit der Operator-Eingabe, um den Betrieb zu starten oder abzustellen als auch Rekonfigurationsinformationen vorzusehen wie beispielsweise die Größe oder die Örtlichkeit oder Lage des dauerhaften Objektspeichers oder zum Zwecke einer Hinzufügung/Entfernung/Modifikation einer Datenquelle. Wenn solche Nachrichten verfügbar sind, verarbeitet das Element 306 alle solche Nachrichten, die von den administrativen und Diagnose-Datenquellen verfügbar sind. In beiden Fällen wird die Verarbeitung dann mit dem Element 308 fortgesetzt.
-
Als nächstes ist das Element 308 betreibbar, um zu bestimmen, ob irgendwelche Nachrichten von den anderen konfigurierten Datenquellen verfügbar sind. Bei der bevorzugten Ausführungsform umfassen diese Datenquellen wenigstens eine Stapelereignis-Datenquelle und eine Prozeßereignis-Datenquelle. Die Stapelereignis-Datenquelle liefert Nachrichten, welche die Ereignisse beschreiben, die durch den Stapel-Serverprozeß bei der Ausführung einer Stapelprozedur erzeugt wurden. Wie oben angegeben wurde, werden bei der bevorzugten Ausführungsform diese Nachrichten über einen Serverprozeß geliefert, der die Nachrichten in eine bevorzugte kanonische Form umwandelt. In ähnlicher Weise stellen die Prozeßereignisse Nachrichten dar, die über einen Serverprozeß geliefert werden und Informationen reflektieren, die durch die Ausrüstung und den Operator während der Verarbeitung eines Stapels erzeugt wurden.
-
Wenn solche Ereignisinformationen von den momentan konfigurierten Datenquellen verfügbar sind, ist das Element 310 betreibbar, um alle solche Nachrichten zu verarbeiten. Das Verarbeiten der Nachrichten umfaßt das speichern geeigneter Objekte in dem dauerhaften Speicher, um das Auftreten von verschiedenen Ereignissen aufzuzeichnen, und um Beziehungen unter den vielfältigen gesammelten Ereignissen zu generieren. Speziell rekonstruiert das Element 310 die Zeitlinie und die Hierarchie der Stapel-Prozedurereignisse aus den Nachrichten, die so verarbeitet werden. Dort, wo beispielsweise eine neue Phase gestartet wird, wird das gespeicherte Objekt auf andere Objekte bezogen, die Informationen über die betreffende Operation, Einheit-Prozedur und Prozedur aufzeichnen. Wenn solche bezogenen Objekte in dem dauerhaften Speicher nicht vorhanden sind, erzeugt das Element 310 alle solche bezogenen Objekte nach der Verarbeitung des empfangenen gestarteten Phasenereignisses. Zusätzliche Einzelheiten der Verarbeitung des Elements 310 werden weiter unten unter Hinweis auf 6 angegeben.
-
Wenn alle Nachrichten, die momentan von allen Datenquellen verfügbar sind, durch die Elemente 304 bis 310 verarbeitet worden sind, wird als nächstes das Element 312 betrieben, um den Status und den Entwicklungsausführungsteil auf den neuesten Stand zu bringen. Die Erneuerungen in Verbindung mit dem dauerhaften Speicher werden in bevorzugter Weise in Form von Hochgeschwindigkeits-Cache-Operationen ausgeführt. Flüchtige cachmäßig behandelte Versionen der verschiedenen Objekte werden in der erforderlichen Weise für die Nachrichten manipuliert, die durch den Ausführungsteil verarbeitet werden. Das Element 312 schreibt periodisch alle solche Änderungen für diese flüchtigen gecachten Objekte in den dauerhaften Speicher der Stapelereignisentwicklung ein. Ferner verarbeitet das Element 312 Diagnose- oder administrative Schnittstellen-Anfragen, um die Größe oder Lage bzw. Örtlichkeit des dauerhaften Speichers zu rekonfigurieren. Zusätzliche Einzelheiten der Verarbeitung des Elements 312 werden weiter unten unter Hinweis auf 8 angegeben.
-
Die Verarbeitung wird dann durch eine Schleifenrückführung zu dem Element 304 hin fortgesetzt, um neu empfangene Nachrichten zu verarbeiten.
-
Fachleute erkennen hier eine Anzahl von äquivalenten Softwaretechniken, um das oben beschriebene Verfahren der Verarbeitung in dem Stapelentwicklungs-Ausführungsteil zu implementieren. Beispielsweise kann der Empfang von Nachrichten das Aufwachen eines ansonsten schlafenden Ausführungsprozesses verursachen, wie dies aus der Nachrichtenabfragetechnik, die oben beschrieben wurde, festgelegt ist. Oder es kann beispielsweise eine Objektmanipulation direkt in dem dauerhaften Speicher ausgeführt werden anstatt in den flüchtigen gecachten Objekten, um dadurch dem Bedarf zu entgegnen frühere Änderungen periodisch festzuschreiben. Solche Arten der Konstruktionswahl sind den Fachleuten auf dem Softwaregebiet gut bekannt.
-
4 zeigt zusätzliche Einzelheiten in Bezug auf den Betrieb des Elementes 300, um Verbindungen zu allen gewünschten Datenquellen zu erstellen, die an den Stapelentwicklungs-Ausführungsteil angeheftet sind. Das Element 400 wird zuerst – in Betrieb genommen, um Informationen aus dem dauerhaften Speicher zu erlangen, welche die momentane Konfiguration der Datenquelle für den Entwicklungs-Ausführungsteil identifizieren. Wie oben dargestellt wurde, speichert der Ausführungsteil in bevorzugter Weise diese Konfigurationsinformationen in dem dauerhaften Speicher und erneuert diese in Einklang mit der Eingabe des Anwenders von den Diagnose- und Administrations-Schnittstellen her. Eine Datenquelle wird in bevorzugter Weise durch einen Zwischenprozeß-Kommunikationskanal identifiziert, der an den Ausführungsteil anzuheften ist. Auch andere Meta-Daten sind enthalten, die die Struktur und die Semantik der Nachrichten beschreiben, die von den zugeordneten Datenquellen empfangen werden.
-
Es werden dann die Elemente 402 und 404 iterativ betrieben, um die Verbindung zwischen dem Entwicklungs-Ausführungsteil (history executive) und dem zugeordneten Serverprozeß für jede Datenquelle zu erstellen, die in den momentanen Konfiguration gefunden wird, wie dies in dem dauerhaften Speicher reflektiert ist. Wenn das Element 402 bestimmt, dass alle momentan konfigurierten Datenquellen durch das Element 404 verarbeitet worden sind, ist die Verarbeitung des Elementes 300 vervollständigt.
-
5 ist ein Flußdiagramm, welches zusätzliche Einzelheiten des Betriebes des Elementes 306 von 6 beschreibt, um administrative und Diagnose-Nachrichten von einem Operator zu verarbeiten. Das Element 500 wird zuerst betrieben, um zu bestimmen, ob eine Archiv-Anfrage empfangen worden ist. Wenn dies der Fall ist, wird als nächstes das Element 502 in Betrieb genommen, um die Archiv-Anfrage zu verarbeiten, um dadurch die Verarbeitung des Elements 306 zu vervollständigen. Ansonsten wird die Verarbeitung mit dem Element 504 fortgesetzt.
-
Eine Archiv-Anfrage instruiert den Ausführungsteil einen Abschnitt der Objekte, die in dem dauerhaften Speicher gespeichert sind, zu archivieren und/oder wegzulassen. Beispielsweise kann ein Operator den Ausführungsteil fragen Objekte wegzulassen, die zu einem bestimmten Stapel gehören, von dem bekannt ist, dass er aus unwichtigen Gründen ausfällt. Anstatt solche irrelevanten Objekte, die in dem dauerhaften Speicher gespeichert sind, zu belassen, kann der Operator die administrative oder Diagnose-Schnittstelle zu dem Ausführungsteil verwenden, um das Weglassen der bezogenen Objekte anzufragen. Oder es kann beispielsweise eine Archiv-Anfrage den Ausführungsteil fragen, Objekte wieder aufzufinden und diese an einer neuen Stelle zu archivieren und dann die archivierten Objekte aus dem dauerhaften Speicher zu entfernen. Solch eine Anfrage kann dazu verwendet werden, um ältere Objekte zu löschen, die ältere verarbeite Stapel betreffen. Die auf solche Weise archivierten Objekte können dann in einen weniger kostspieligen ”off-line”-Speicher für Archivierungszwecke verschoben werden, wobei Raum für die Speicherung von Objekten von neuen Stapeln geschaffen wird.
-
Eine Archivnachricht API wird auch dazu verwendet, um einen von einem Operator von Hand eingegebenen Kommentar als ein gespeichertes Ereignis, welches einen bestimmten Stapel betrifft, einzufügen. Beispielsweise kann der Operator bestimmte Umgebungsinformationen aufzeichnen, die normalerweise nicht erfaßt werden oder durch den Stapelprozeß aufgezeichnet werden. Oder es kann beispielsweise ein Operator seine persönlichen Beginn- und Beendigungszeitpunkte auf eine Verschiebung protokollieren, so daß der Operator, der für einen bestimmten Stapel verantwortlich ist, den gespeicherten Ereignisinformationen zugeordnet werden kann. Fachleute können hier eine breite Vielfalt solcher Hilfsinformationen erkennen, die durch einen Operator aufgezeichnet werden können und in den Objekten gespeichert werden können, die auf einen entsprechenden Stapel und Prozeßereignisse bezogen sind.
-
Wenn keine Archiv-Anfrage vorliegt, wird als nächstes das Element 504 in Betrieb genommen, um zu bestimmten, ob eine Abschaltanfrage an den Diagnose- oder Administrations-Schnittstellen empfangen worden ist. Wenn dies der Fall ist, kann dann das Element 506 in Betrieb gesetzt werden, um irgendwelche vorhandenen nicht festgeschriebenen Objekte in dem flüchtigen Cache-Speicher des dauerhaften Speichers festzuschreiben. Die Verarbeitung des Ausführungsteiles selbst wird dann vervollständigt. Der Ausführungsteil wird durch einen Operator durch eine normale Anwenderinteraktion mit dem Serverknotenpunkt wieder gestartet, an welchem der Entwicklungs-Ausführungsteil betreibbar ist.
-
6 ist ein Flußdiagramm, welches zusätzliche Einzel heiten des Betriebes des Elementes 310 von 3 beschreibt, um eine Ereignisinformationsnachricht von den anderen Datenquellen zu verarbeiten, die momentan bei dem Betrieb des Ausführungsteiles konfiguriert sind. Das Element 600 wird zuerst betrieben, um zu bestimmen, ob alle Datenquellen, die momentan konfiguriert sind, durch die Elemente 602 und 804 verarbeitet worden sind, wie dies weiter unten beschrieben wird. Wenn alle Datenquellen so verarbeitet worden sind, wird die Verarbeitung des Elementes 310 vervollständigt. Wenn eine Datenquelle noch zu verarbeiten ist, wird als nächstes das Element 602 in Betrieb gesetzt, um zu bestimmen, ob irgendwelche Nachrichten aus der nächsten Datenquelle, die zu verarbeiten ist, momentan verfügbar sind. Wenn eine Nachricht verfügbar ist, verarbeitet das Element 604 die nächste von dieser Datenquelle verfügbare Nachricht. Nachfolgend der Verarbeitung der nächsten verfügbaren Nachricht von einer Datenquelle verläuft die Steuerung zurück zur Ruffunktion, um die Verarbeitung einer nächsten Diagnose- oder Administrations-Nachricht zu ermöglichen. Auf diese Weise werden alle Datenquellen mit relativ gleicher Priorität verarbeitet anstatt zuzulassen, dass ein großes Volumen von Nachrichten von einer einzelnen Datenquelle die Verarbeitung der Entwicklung für ausgedehnte Zeitperioden monopolisiert.
-
7 ist ein Flußdiagramm, welches zusätzliche Einzelheiten der Verarbeitung des Elements 604 von 6 beschreibt, um eine Nachricht von einer Datenquelle zu verarbeiten. Das Element 700 verifiziert zuerst, dass die Nachricht aus einem bekannten Typ besteht. Wie oben in Verbindung mit der bevorzugten Ausführungsform dargelegt wurde, werden alle Nachrichten in ein kanonisches Format durch einen Serverprozeß umgewandelt, der jeder Datenquelle zugeordnet ist. Ein Aspekt dieses kanonischen Formats besteht in bevorzugter Weise aus einem Nachrichtentyp-Identifizierer, der die Nachricht identifiziert, so wie sie einer bestimmten Datenquelle zugeordnet ist und auch deren entsprechenden Serverprozeß identifiziert. Das Element 700 bestimmt daher, ob der Nachrichtentyp ein Typ ist, der dem Ausführungsteil bekannt ist. Ein unbekannter Nachrichtentyp bewirkt, dass die Verarbeitung mit Hilfe des Elementes 712 fortgesetzt wird, um ein Objekt zu kreieren, welches der unbekannten Nachricht entspricht. Selbst unbekannte Nachrichten werden in dem dauerhaften Speicher aufbewahrt, so dass eine spätere Nachverarbeitung solche Nachrichten bewerten kann und dazu beitragen kann, deren Ursache oder Beziehung zu anderen Ereignissen des Stapelprozesses zu bestimmen. Die unbekannte Nachricht wird geparst wie dies am besten möglich ist und wird auf irgendwelche anderen möglichen Objekte (Ereignisse, Ausrüstung usw.) in dem dauerhaften Speicher bezogen, auf die sich die unbekannte Nachricht beziehen kann. Das Element 714 wird dann in Betrieb gesetzt, um dem Empfang eines unbekannten Nachrichtentyps in den Statistiken Rechnung zu tragen, die durch das Ausführungsteil abgespeichert sind, wodurch die Verarbeitung des Elements 604 vervollständigt wird. ein erkannter Nachrichtentyp bewirkt, dass die Verarbeitung mit dem Element 702 fortgeführt wird.
-
Das Element 702 erzeugt einen Schlüssel aus den Ereignisinformationen, die in der Nachricht enthalten sind. Das Verarbeiten einer Nachricht bedingt die Erzeugung eines Schlüssels aus der Nachricht, der die Hierarchie der Stapelereignisse beschreibt, welche die Ereignisinformationen betreffen, die in der Nachricht enthalten sind. Der Schlüssel enthält beispielsweise eine Stapel-Identifikation, eine Prozedur-Identifikation, eine Einheit-Prozedur-Identifikation und eine Operations-Identifikation und eine Phasen-Identifikation. Das Element 704 kann dann betrieben werden, um ein Objekt in dem dauerhaften Speicher zu plazieren (oder momentan gecachte Objekte in dem flüchtigen Speicher) und zwar mit Anpassung an den erzeugten Schlüsselwert. Das Element 706 bestimmt, ob das Element 704 erfolgreich das gewünschte Objekt in dem dauerhaften Objektspeicher plaziert hat. Wenn solch ein Objekt gefunden wird, (d. h. bereits in dem dauerhaften oder flüchtigen Objektspeicher aufgezeichnet ist) setzt sich die Verarbeitung mit dem Element 710 fort, um die Statistiken zu erneuern, welche die bekannten Objekte betreffen, die durch den Ausführungsteil manipuliert wurden. Wenn kein Objekt lokalisiert wird, welches zu dem erzeugten Schlüssel paßt, wird die Verarbeitung mit dem Element 708 fortgesetzt.
-
Das Element 708 ist betreibbar, um alle Objekte zu kreieren, die noch nicht notwendiger Weise in dem dauerhaften Objektspeicher bekannt sind und zwar basierend auf dem erzeugten Schlüssel. Wenn der Stapel beispielsweise dem Ausführungsteil gegenwärtig unbekannt ist, wird ein Objekt für den Stapel selbst als auch Objekte für alle Prozedur-Elemente erzeugt, die aus den Ereignisinformationen in der Nachricht abgeleitet wurden. spezifisch wäre auch irgendeine Prozedur, Einheit-Prozedur, Operation oder Phase, die von den Ereignisinformationen in der Nachricht abgeleitet werden, unbekannt, da der Stapel selbst früher im Ausführungsteil unbekannt war.
-
Auch werden Objekte, die jedem dieser Stapelereignisse entsprechen und zwar Objekte aus den Ereignisinformationen der Nachricht ebenfalls in dem dauerhaften Objektspeicher erzeugt. Wie oben angegeben ist, enthalten die erzeugten Objekte Zeitprotokoll-Informationen und Identifizierungsinformationen für das Ereignis. Die Beziehungen unter den Objekten werden ebenfalls in dem Objektspeicher erzeugt.
-
Getrennte Ereignisnachrichten zeigen die Aktivierungs-, Start-, Ende- und Deaktivierungs-Zeitpunkte an und werden für jedes Prozedur-Element empfangen. Immer wenn eine dieser Ereignisnachrichten empfangen wird, wird ein Objekt, welches das geeignete Prozedur-Element beschreibt, gefunden oder wird in dem dauerhaften Speicher erzeugt und es wird die Zeit oder der Zeitpunkt zu dem geeigneten Feld in dem Objekt hinzugefügt. Die Ereignisnachrichten für die Ausrüstungsverwendung (d. h. die Verwendung der physikalischen Elemente bei der Stapelverarbeitung) identifizieren die Erwerbungs- und Freigabe-Zeiten oder Zeitpunkte für die Ausrüstung. Eine ähnliche Verarbeitung wird dazu verwendet, um die Verwendungs-Beschreibungsobjekte in dem dauerhaften Speicher zu lokalisieren oder zu erzeugen und zwar für die geeignete Ausrüstung und um die Erwerbungs-und Freigabe-Zeit-Informationen zu geeigneten Feldern des Objekts hinzuzufügen. Alle anderen Ereignistypen wie beispielsweise Operatoränderungen in Verbindung mit dem Stapelprozeß besitzen lediglich den Zeitpunkt des Auftretens des Ereignisses anstatt mehrere detaillierte Start-, Stoppzeitpunkte usw.
-
Die Verarbeitung wird dann mit dem Element 710 vervollständigt, welches die gespeicherten statistischen Informationen, wie oben dargestellt wurde, auf den neuesten Stand bringt.
-
Wie oben dargestellt wurde, wird ein Schlüssel erzeugt, um ein Objekt entsprechend der empfangenen Ereignisnachricht zu lokalisieren. Bei der bevorzugten Ausführungsform gibt es eine Vielfalt solcher Schlüssel, die für unterschiedliche Zwecke erzeugt werden. Ein Schlüssel wir dazu verwendet, um den Typ der empfangenen Ereignisnachricht zu identifizieren. dieser Typ eines Nachrichtenschlüssels wird tatsächlich dazu verwendet, um eine geeignete interne Verarbeitung des Restes der Nachricht durch den Stapel-Entwicklungsausführungsteil auszuwählen. Ein anderer Schlüssel identifiziert einen spezifischen Moment eines gespeicherten Ereignisses und wird dazu verwendet zu bestimmen, ob die Nachricht bereits empfangen und verarbeitet worden ist. Die Verwendung dieses Schlüssels beseitigt das Speichern von doppelten Beschreibungen des gleichen Ereignisses. Noch ein anderer Schlüsselwert identifiziert einen spezifischen Moment eines Objektes wie beispielsweise eine Stapelbeschreibung, Formulierungsbeschreibung, eine Formelbeschreibung, ein Produktelement, eine Ausrüstungs-Identifikation, eine Ausrüstungs-Verwendungsbeschreibung oder eine Anwender-Identifikation. Dieser Schlüssel stellt den Hauptschlüssel dar, der dazu verwendet wird, ein existierendes Objekt in dem dauerhaften Speicher zu lokalisieren, wenn eine Nachricht zusätzliche Informationen hervorrufen kann, die einem bestehenden Objekt zugeordnet werden muß.
-
8 ist ein Flußdiagramm, welches zusätzliche Einzelheiten der Verarbeitung des Elements 312 von 3 beschreibt, um den Objektspeicher nachfolgend der Verarbeitung der Nachrichten von Datenquellen auf den neuesten Stand zu bringen. Die Objekte werden in bevorzugter Weise in dem flüchtigen Hochgeschwindigkeits-Cache-Speicher auf den neuesten Stand gebracht und zwar so wie die Nachrichten verarbeitet werden. Periodisch müssen die auf den neuesten Stand gebrachten Objekte in dem flüchtigen Hochgeschwindigkeits-Cache-Speicher in dem dauerhaften Speicher für eine dauerhafte Aufbewahrung festgeschrieben werden. Bei der bevorzugten Ausführungsform werden die Objekte in dem flüchtigen Hochgeschwindigkeits-Cache-Speicher verbucht wenn entweder ausreichend Zeit verstrichen ist und zwar seit der letzten solchen Festschreibung oder wenn ausreichend Nachrichten empfangen worden sind und verarbeitet wurden und zwar seit der letzten Festschreibung. Es sind daher die Elemente 800 und 802 betreibbar, um zu bestimmen, ob entweder ausreichend Zeit verstrichen ist oder ob ausreichend Nachrichten durch den Ausführungsteil verarbeitet worden sind. Wenn einer der Bedingungen wahr ist, verläuft die Verarbeitung mit dem Element 804 weiter, um geänderte oder neue Objekte in dem flüchtigen Objektspeicher zu dem dauerhaften Speicher festzuschreiben. Die Verarbeitung schreitet dann mit dem Element 806 voran.
-
Die Elemente 806 und 808 sind betreibbar, um die Konfiguration des Objektspeichers im Ansprechen auf Konfigurationsänderungen, die durch eine Operator-Anfrage zugeführt werden, auf den neuesten Stand zu bringen. Ein Beispiel einer solchen Anfrage besteht aus einer Anfrage eine Datenquelle hinzuzufügen/zu entfernen/zu modifizieren und zwar für Nachrichten, die durch das Ausführungsteil-Programm verarbeitet werden sollen. Wenn das Element 806 bestimmt, dass solch eine Konfigurationsänderung angefragt worden ist, bewirkt das Element 808 die angefragten Änderungen in der Objektspeicherkonfiguration und den Ausführungsteil-Operationen. In beiden Fällen wird die Verarbeitung mit dem Element 810 fortgeführt.
-
Die Elemente 810 und 812 sind betreibbar, um die Größe des dauerhaften Objektspeichers in Einklang mit einer Operatoranfrage zu ändern. Wenn das Element 810 bestimmt, dass solch eine Anfrage getätigt worden ist, so ist das Element 812 betreibbar, um die erforderliche Änderung in der Objektspeichergröße zu bewirken.
-
Der hier verwendete Ausdruck Objektspeicher oder dauerhafter Speicher betrifft und umfaßt alle Speicher bzw. das gesamte Abspeichern von Objekten, ob diese nun zeitweilig in einem flüchtigen Cache-Speicher gecacht werden oder dauerhaft in dem Objektspeicher gespeichert (festgeschrieben) werden. Solche Cache-Techniken zur Verbesserung der Performance stellen Größen der Konstruktionswahl oder der Design-Wahl dar, wie sie dem Fachmann auf dem Gebiet gut bekannt sind.
-
Stapelereignis-Entwicklungs-Betrachtungsclient Wie oben in Bezug auf 2 festgehalten wurde, enthält die vorliegende Erfindung ein Betrachtungsclient-Prozeß, welcher es dem Anwender erlaubt, mit signifikanter Flexibilität die Ereignisinformationen zu betrachten und auch die Beziehungen unter den verschiedenen oder vielfältigen Ereignissen, wie sie durch den Stapelentwicklungs-Ausführungsteil abgeleitet wurden. Der Betrachtungsclient stellt die Ereignisinformationen in einer grafischen, anwenderfreundlichen Weise dar unter Verwendung von Gantt-Plan-Darstellungen, um Stapel wiederzugeben und auch bezogene hierarchische Prozedur-Ereignisse wiederzugeben. Das Grafik-Anwender-Interface ermöglicht es einem Anwender ein Ereignis auszuwählen, welches auf diese Weise angezeigt wird und die Anzeige ”nach unten zu schrauben” und niedrigere Ebenen der hierarchischen Ereignisse zu betrachten, die das ausgewählte Ereignis ausmachen. auch wird eine textförmige, tabellenförmige Formatwiedergabe der hierarchisch niedrigeren Ereignisse, die das ausgewählte Ereignis umfassen, ebenfalls in einen textförmigen Tabellenformat unter der grafischen Gantt-Plan-Präsentation dargestellt. Der Betrachtungsclient der vorliegenden Erfindung gestattet es auch, dass der Anwender grafisch laufende Daten zum Protokollieren von Datenpunkten in einer Weise betrachtet, die in Beziehung zu dem fortlaufenden Daten der zugeordneten Ereignisinformation stehen. Mit anderen Worten werden die fortlaufenden Daten dadurch betrachtet, indem ein Stapelereignis aus der anzeige für den Anwender ausgewählt wird und nach den fortlaufenden Daten für dieses ausgewählte Ereignis gefragt wird, um einen oder mehrere ausgewählte Datenpunkte darzustellen.
-
Die 10 bis 21 sind beispielhafte Anzeigebildschirm-Bilder, die dazu beitragen die Operation des Stapelereignis-Entwicklungs-Betrachtungsclient zu beschreiben. 10 zeigt einen beispielhaften Anzeigebildschirm, der eine Stapelübersicht zeigt. Jeder Stapel 1002, der eine Ereignisinformation besitzt, die in dem Objektspeicher aufgezeichnet ist, ist in dem Gantt-Plan-Stiel in einem Fenster der Anzeige für den Anwender gezeigt. Für jeden Stapel, der in dieser Weise in der Gantt-Plan-Form dargestellt wird, wird ein entsprechender tabellarischer Texteintrag in der Ereignis-Detailtabelle 1000 gezeigt. Ein horizontaler Scroll-Balken 1004, welcher der Gantt-Plan-Anzeige zugeordnet ist, gestattet es dem Anwender horizontal in der Gantt-Plan-Anzeige zu scrollen, um Stapel zu betrachten, die frühere oder spätere Zeitpunkte besitzen, die diesen zugeordnet sind. Ein vertikaler Scroll-Balken 1006, welcher der Ereignis-Detailtabelle 1000 zugeordnet ist, ermöglicht es dem Anwender durch andere Stapel zu scrollen, die momentan in der Gantt-Planform nicht dargestellt werden. Alle Stapel, für die Einträge in der Ereignis-Detailtabelle 1000 dargestellt werden, sind in der Gantt-Planform 1002 über der Tabelle gezeigt.
-
Wie in 10 dargestellt ist, ist jeder Stapel mit dessen entsprechender Stapel-ID versehen oder etikettiert und zwar sowohl auf dem Gantt-Plan des Stapels als auch in dem entsprechenden Texteintrag in der Ereignis-Detailtabelle 1000.
-
Wie in 11 gezeigt ist, kann ein Anwender einen der dargestellten Stapel auswählen, um weitere Einzelheiten de Verarbeitung dieses Stapels zu inspizieren. Der Anwender wählt einen bestimmten Stapel aus, indem er auf den gewünschten Stapel ”klickt”. In 11 wurde der Stapel 1100 (bezeichnet mit EE_19981019.009) durch einen Anwender ausgewählt. Der ausgewählte Stapel wird auf dem Anzeigebildschirm erhellt und auch de entsprechende Tabelleneintrag 1104 wird erhellt. Das Pop-up-Menu 1102 wird in typischer Weise durch ”rechts klicken) auf den ausgewählten Stapel aktiviert. Das Pop-up-Menu ermöglicht es dem Anwender nach der Darstellung von zusätzlichen Einzelheiten zu fragen, die das Verarbeiten des ausgewählten Stapels betreffen.
-
12 ist eine beispielhafte Darstellung von Einzelheiten der Verarbeitung des Stapels 1100 (bezeichnet mit EE_19981019.009) Der Anwender kann zu dem Stapel-Übersicht-Bildschirm (von 11) zurückkehren, indem er diesen Anzeigebildschirm schließt. die Prozedur 1202, die den Stapel erzeugt hat (eine Prozedur, die mit EXTERIOR_ENAMEL bezeichnet ist) ist in der Gantt-Plan-Form dargestellt, die zu Beginn skaliert ist, und zwar auf die gesamte Breite des Gantt-Plan-Anzeigebereiches des Bildschirmes des Anwenders. Speziell wurde diese als Beispiel gewählte Prozedur zum Zeitpunkt 7:57:12 AM am 10/19/98 gestartet und wurde um 8:09:06 AM am gleichen Tag beendet. Die Einheit-Prozeduren 1204 und 1210, welche diese Prozedur enthalten, sind unter der Prozedur in der Gantt-Plan-Form gezeigt. Die Operationen 1206 und 1212, welche jede Einheit-Prozedur ausmachen, sind unter der entsprechenden Einheit-Prozedur ebenfalls in der Gantt-Plan-Form gezeigt. Schließlich sind die Phasen 1208 und 1214, die jede Operation ausmachen, unter der entsprechenden Operation ebenfalls in der Gantt-Plan-Form dargestellt.
-
Bei der bevorzugten Ausführungsform sind die Prozedur, Einheit-Prozedur, die Operation und die Phase gemäß den Gantt-Plänen durch Farbkodierung einfach zu unterscheiden. Ein Farbkode-Legende 1216 ist aus diesem Grund vorgesehen, um die Farbkodierung der Gantt-Pläne oder Karten klar zu unterscheiden.
-
Die Ereignis-Detailtabelle 1222 zeigt Ereignisse, die das Ausführen der Prozedur umfassen, welche den ausgewählten Stapel erzeugt hat. Ein vertikaler Scroll-Balken 1218 ermöglicht es durch zusätzliche Ereignissinformationen zu scrollen, die in der Tabelle 1222 momentan nicht gezeigt sind. In ähnlicher Weise ermöglicht ein horizontaler Scroll-Balken 1220, welcher der Tabelle 1222 zugeordnet ist, dass der Anwender durch zusätzliche Details der vorhandenen dargestellten Ereignisse in der Tabelle 1222 scrollen kann.
-
Auch können Scroll-Balken (nicht gezeigt) dem Gantt-Plan-Abschnitt der Darstellung zugeordnet sein. Im allgemeinen entspricht die Ereignisinformation, die in der Ereignis-Detailtabelle 1222 gezeigt ist, dem Prozedur-Element, welches in dem Gantt-Plan-Abschnitt der Anzeige ausgewählt ist. Fachleute erkennen hier, dass eine strikte Entsprechung weder erforderlich noch praktisch ist. Der Wert von Details, die in jedem Abschnitt präsentiert werden kann in Einklang mit den tatsächlichen Ereignissen variieren, die einem bestimmten ausgewählten Prozedur-Element zugeordnet sind und kann auch mit anderen hierarchisch bezogenen Elementen und Ereignissen variieren. Bei der bevorzugten Ausführungsform werden die Ereignis-Detailtabelle 1222 und die Gantt-Plan-Anzeigeabschnitte koordiniert, um eine gewisse korrelierte Information zu zeigen, jedoch ermöglichen Scroll-Balken in beiden Abschnitten der Anzeige, dass der Anwender irgendeinen gewünschten Abschnitt der Daten betrachten kann.
-
Die Detail-Auswählwerkzeuge 1200 in der Werkzeugleiste am oberen Bereich der Anzeige ermöglichen es dem Anwender, eine bevorzugte Ebene oder Wert der Details, die dargestellt werden sollen, in Bezug auf den ausgewählten Stapel auszuwählen. Es können die Ebenen 1 bis 4 bei der bevorzugten Ausführungsform ausgewählt werden. Bei der Ebene 1 wird bzw. werden lediglich die Prozedur bzw. Prozeduren dargestellt, die den Stapel enthalten. Bei der Ebene 2 wird bzw. die Prozedur bzw. Prozeduren dargestellt und auch die entsprechenden Einheit-Prozeduren unter den Prozeduren dargestellt. Bei der Ebene 3 werden die Prozeduren, Einheit-Prozeduren und entsprechenden Operationen dargestellt. Schließlich werden auf der Ebene 4 die Prozeduren, die Einheit-Prozeduren, Operationen und die entsprechenden Phasen dargestellt.
-
13 zeigt, dass ein Anwender ein bestimmtes Ereignis auswählen kann, um zusätzlich darauf bezogene Einzelheiten zu betrachten. Wie in 13 gezeigt ist, wurde ein Phase 1300, die den Namen hat CHARGE_COLOR:1.1 ausgewählt. Es werden daher der Gantt-Plan-Balken für die Phase 1300 und der entsprechende Tabelleneintrag 1304 erhellt. Das Pop-up-Menu 1302 befähigt dann den Anwender mehrere Informationen über die Ereignisse abzufragen, die spezifisch auf das ausgewählte Ereignis bezogen sind (d. h. Ereignisse innerhalb der Phase 1300) 14 ist ein Beispiel der resultierenden Tabelle 1400 aus der Detail-Information-Anfrage von 13. Der Anwender kann zu dem früheren Bildschirm (von 13) zurückkehren, indem er diesen Anzeigebildschirm schließt.
-
15 ist ein Stapel-Übersicht-Anzeigebildschirm wie oben an Hand von 10 erläutert wurde, wobei ein Anwender zwei Stapel 1500 und 1501 für Vergleichszwecke ausgewählt hat. Die ausgewählten Stapel 1500 und 1501 und die entsprechenden Text-Ereigniseinträge 1506 und 1504 werden daher jeweils an der Anzeige erhellt. Das Pop-up-Menu 1502 ermöglicht es dann dem Anwender die zwei ausgewählten Stapel auf dem Anzeigebildschirm zu vergleichen. Fachleute erkennen hierbei, dass irgendeine zahl solcher ausgewählter Stapel verglichen werden kann.
-
16 zeigt dann den resultierenden Stapel-Vergleichsbildschirm. Ein mit EE_19981019.011 bezeichneter Stapel 1600 ist in der Gantt-Planform gezeigt, wie dies oben erläutert ist, und auch in einer entsprechenden Texttabelle 1602. Der zweite ausgewählte Stapel 1604, der mit EE_19981019.010 bezeichnet ist, ist ebenfalls in der Gantt-Planform gezeigt und auch in einen entsprechenden Texttabelle 1606. Zu Beginn werden beide Stapel in dem gleichen Zeitmaßstab dargestellt und zwar mit deren tatsächlichen Startzeitpunkt an der entsprechenden linken Kante von deren jeweiligen Gantt-Plänen.
-
Der Stapel-Vergleichsbildschirm von 16 gestattet es einem Anwender schnell Unterschiede in der Verarbeitung der zwei Stapel zu betrachten. Wenn beispielsweise einer der zwei Stapel ein perfekter oder ”goldener” Stapel ist, der eine bekannte Qualität des Produktes hervorbringt, kann die Ursache oder können die Ursachen der Qualitätsprobleme in einem zweiten Stapel einfacher anhand der Unterschiede in den Gantt-Plänen des Ausführungsteiles der entsprechenden zwei Prozeduren identifiziert werden. Um das sichtbare Detektieren solcher Unterschiede zu unterstützen, ist es häufig nützlich die Stapelverarbeitung in einer Stapel-Relativzeit zu betrachten (die Zeit vom Start der Stapelverarbeitung an), im Unterschied zur absoluten Zeit. Zusätzlich kann es nützlich sein dem Anwender zu ermöglichen, grafisch die zwei Gantt-Plan-Darstellungen auszurichten und zwar an einem bestimmten ausgewählten Startpunkt in dem Prozeß anstatt immer am Start der Prozedur. Solche Ausrichtungen ermöglichen es dem Anwender bestimmte bekannte erklärbare Diskrepanzen außer Acht zu lassen wie beispielsweise Verzögerungen beim Warten auf einen bestimmten Ausrüstungsmodul, damit dieser verfügbar wird oder auf die Operatoreingabe in dem Stapelprozeß.
-
In 17 hat der Anwender zwei Ereignisse 1700 und 1702 ausgewählt (nämlich die gleiche Einheit-Prozedur von beiden Prozeduren). Die ausgewählten Einheit-Prozeduren 1700 und 1702 und die entsprechenden Texttabelleneinträge 17065 und 1708 werden daher in der Anzeige jeweils erhellt. Das Pop-up-Menu 1704 ermöglicht es dann dem Anwender eine nach links Ausrichtungsoption oder nach rechts Ausrichtungsoption auszuwählen. Die nach links Ausrichtungsoption verschiebt die resultierende Anzeige, so dass die zwei ausgewählten Ereignisse an ihren Startzeitpunkten ausgerichtet werden. Ein nach rechts Ausrichten richtet die ausgewählten Ereignisse an deren jeweiligen Endzeitpunkte aus. In beiden Fällen kann die Anzeige auf Stapel-Relativ-Zeitskalen anstatt auf Realzeitskalen bezogen werden.
-
18 zeigt eine Darstellung, die aus der Anfrage einer Linksausrichtung von 17 resultiert. die ausgewählten Einheit-Prozeduren 1700 und 1702 werden in welcher Weise dargestellt, dass deren jeweiligen Startzeitpunkte in den Gantt-Plan-Anzeigen ausgerichtet werden. Die Zeitbasis wurde ebenfalls als eine Stapel-Relativgröße ausgewählt (die Zeit seit dem Start des Stapels im Unterschied zur Absolutzeit). Die Bezugszeichen 1800 und 1802 zeigen auf den Null-Startzeitpunkt der Zeitachse in der relativen Stapelzeit. Die ausgerichtete Darstellung trägt dazu bei die Unterschiede in der Verarbeitung von einem Stapel verglichen mit dem anderen Stapel hervorzuheben. Ereignisse, die eine unangemessene Zeitdauer in Anspruch genommen haben oder eine ungewöhnlich kurze Zeitdauer in Anspruch genommen haben, können sichtbar in der Darstellung unterschieden werden.
-
Obwohl speziell für den Sichtvergleich von zwei oder mehreren Stapeln besonders geeignet, kann die Präsentation der Gantt-Pläne in der relativen Stapelzeit auch andere nützliche Anwendungen haben. Die Fähigkeit die Zeitlinienbasis von der absoluten Zeit zu der relativen Stapelzeit zu ändern und das darauf bezogene Merkmal der Ausrichtung der Gantt-Plan-Darstellungen an irgendeiner gewünschten Grenze sind daher in bevorzugter Weise von den Vergleichsmerkmalen der vorliegenden Erfindung unabhängig.
-
Fortlaufende Daten, die aus den verschiedenen Datenpunkten in dem Stapelprozeß festgeschrieben werden, können ebenfalls von dem Betrachtungsclient betrachtet werden. Der Anwender wählt ein gewünschtes Ereignis aus und fragt dann danach die fortlaufenden Daten für diese Zeitperiode darzustellen. Die bestimmten fortlaufenden Datenpunkte, die während des ausgewählten Ereignisses verfügbar sind, werden dem Anwender in einer Dialogbox präsentiert und zwar in solcher Weise, dass der Anwender einen oder mehrere Datenpunkte, die dargestellt werden sollen, auswählen kann. Bei der bevorzugten Ausführungsform werden die angefragten fortlaufenden Datenpunktwerte als eine lineare Grafik gezeichnet.
-
Die fortlaufenden Daten können auch in Form eines Vergleichs von fortlaufenden Daten aus einer Stapel-Vergleichsanzeige wie in 18 aufgetragen oder gezeichnet werden. 19 zeigt den nach links ausgerichteten Stapelvergleich unterschiedlicher Stapel wie in 18, wobei zwei Ereignisse ausgewählt sind und zwar die Phasen 1900 und 1902. Die ausgewählten Phasen 1900 und 1902 und die entsprechenden Texteinträge 1906 und 1908 werden jeweils in der Anzeige erhellt. Das Pop-up-Menu 1904 erlaubt dann dem Anwender einen Trendvergleich der fortlaufenden Daten anzufragen.
-
Eine Dialogbox, wie sie in 20 gezeigt ist, wird dann dargestellt, um es dem Anwender zu ermöglichen die gewünschten fortlaufenden Datenpunkte für den Trendvergleich auszuwählen.
-
21 zeigt dann den resultierenden linearen Graphen, der erzeugt wurde, um die ausgewählten fortlaufenden Datenpunkte über die ausgewählte Ereignisdauer hinweg zu vergleichen.
-
9 ist ein Flußdiagramm, welches das Verfahren des Betrachtungsclients beschreibt, um verschiedene oder vielfältige Anwenderanfragen zu verarbeiten. ein Fachmann erkennt hier, dass das Flußdiagramm von 9 lediglich darauf abzielt, eine probe oder Beispiel von verschiedenen Anwenderauswahlen und Anfragen darzustellen, die oben in Verbindung mit den 10 bis 21 erläutert wurden. Andere Anwenderanfragen können verarbeitet werden und zwar unter Generierung einer Vielfalt von Anzeige-Bildschirmen in Einklang mit der Designauswahl, wie sie dem Fachmann gut bekannt ist. Das in 9 beschriebene Verfahren soll daher lediglich ein Beispiel einer bevorzugten Ausführungsform von gewissen typischen Funktionen des Betrachtungsclients der vorliegenden Erfindung darstellen. Der Betrachtungsclient-Aspekt der vorliegenden Erfindung soll in sehr breiter oder allgemeiner Weise eine Vielfalt von Ansichten der Stapelereignisse, Prozeßereignisse und der fortlaufenden Daten aus einem Stapelprozeß und der Beziehungen solcher Ereignisinformationen in Einklang mit der S88 Prozedur-Model-Hierarchie liefern.
-
Das Element 900 wird zuerst betrieben, um alle Stapel darzustellen, die in dem dauerhaften Objektspeicher bekannt sind. Ein Stapel ist bekannt, wenn Objekte, die sich auf eine Stapel-ID beziehen in dem Speicher gefunden werden. Die bekannten Stapel werden zu Beginn in dem Format der Stapel-Übersichtanzeige dargestellt, wie dies oben erläutert wurde. Jeder Stapel ist auf einer Realzeit-Zeitlinie als ein Gantt-Plan-Balken gezeigt. Der Gantt-Plan-Balken oder jeder Stapel ist auf der Zeitlinie in Einklang mit der jeweiligen Startzeit horizontal positioniert und erstreckt sich zu einer Position, die durch die jeweilige Beendigungszeit bestimmt ist.
-
Skroll-Balken in der Darstellung ermöglichen es durch die Gantt-Pläne hindurch zu scrollen und zwar horizontal , um spätere oder frühere Zeitpunkte zu betrachten, die momentan nicht dargestellt werden. Eine Texttabelle unter der Gantt-Plan-Zeitliniendarstellung liefert eine Textwiedergabe der Stapelinformationen, die dem entsprechenden Stapel zugeordnet sind. Die Scroll-Balken, die der Texttabelle zugeordnet sind, erlauben das Betrachten von Einzelheiten, die ansonsten in der Darstellung nicht vorhanden sind.
-
Das Element 902 nimmt dann eine Anwenderanfrage an, um zusätzliche Einzelheiten in Bezug auf den letzten einen der dargestellten Stapel vorzusehen. Wie oben erwähnt worden ist, wird ein Stapel durch den Anwender dadurch ausgewählt, indem er auf den entsprechenden Gantt-Plan klickt (oder alternativ auf den entsprechenden Texteintrag der Tabelle). Ein Pop-up-Menu oder ein anderes Anwender-Schnittstellenwerkzeug nimmt dann die Anfrage des Anwenders an, um zusätzliche Detail in Bezug auf den ausgewählten Stapel zu präsentieren.
-
Das Element 904 stellt dann einen Stapel-Detail-Bildschirm in der oben beschriebenen Weise für den ausgewählten Stapel dar. Wie oben dargestellt wurde, wird ein Fehlerwert des Details durch den Anwender für eine Darstellung der ausgewählten Stapelereignisse und der Gantt-Pläne bestimmt. In Einklang mit dem Fehlerwert des Details werden Prozeduren, entsprechende Einheit-Prozeduren, entsprechende Operation und entsprechende Phasen in den Gantt-Plan-Balken dargestellt, die in Einklang mit deren jeweiligen Startzeitpunkten ausgerichtet sind und sich in Einklang mit deren Endzeitpunkten erstrecken. Ein hierarchisch niedriger Pegel oder Ebene des Gantt-Plans wird unter dem entsprechenden Prozedur-Element der höheren Ebene, welches diesen enthält, dargestellt.
-
Das Element 906 stellt dann die Texttabelle der Ereignisinformationen entsprechend dem momentan ausgewählten Stapel-Gantt-Plänen dar. Wie oben ausgeführt worden ist, erlauben es die Scroll-Balken dem Anwender durch zusätzliche Daten hindurch zu scrollen, die in der Anzeige momentan nicht vorhanden sind (sowohl in der Tabellenform als auch in der Gantt-Plan-Form).
-
Das Element 908 akzeptiert dann die Anwendereingabe, um eine neue Darstellung anzufragen. Wenn der Anwender eine Rückkehr zu der Stapel-Übersichtanzeige anfragt, wird das Element 910 betrieben, um dies so zu detektieren und die Verarbeitung setzt sich zu einer rückwärts verlaufenden Schleife zu dem Element 900 in der oben erläuterten Weise fort. Ansonsten setzt sich die Verarbeitung mit den Elementen 912 bis 934 fort, um eine Anwenderanfrage zu verarbeiten. Wie oben erläutert worden ist, stellen die Elemente 912 bis 934 lediglich ein Beispiel von Anwender-Anfragen dar, die in Einklang mit dem Stapelereignis-Entwicklungs-Betrachtungsclient der vorliegenden Erfindung verarbeitet werden können. Fachleute können hierbei erkennen, dass eine breite Vielfalt von zusätzlichen Anwenderanfragen und entsprechenden Operationen möglich sind, um Ereignisinformationen und zugeordnete fortlaufende Daten in Einklang mit den Beziehungen darzustellen, die durch den oben erläuterten Stapel-Entwicklungs-Ausführungsteil bestimmt werden.
-
Die Elemente 912 und 914 sind betreibbar, um einen neu gewählten Stapel in Ansprechen auf eine Anwenderanfrage darzustellen. Der neue Stapel wird in der oben erläuterten Weise in Bezug auf die Elemente 904 und 906 präsentiert. Die Verarbeitung setzt sich dann gemäß einer zurückverlaufenden Schleife zu dem Element 908 fort, um auf weitere Anwenderanfragen zu warten. Wenn der Anwender eine andere Operation angefragt hat, wird die Verarbeitung mit dem Element 916 fortgesetzt.
-
Die Elemente 916 und 918 sind betreibbar, um die Ebene der Details zu ändern, die an den Ereignisdetail-Anzeigebildschirmen dargestellt werden. Wie oben dargestellt worden ist, wird ein Stapel zu Beginn mit einem Fehlerwert des Details, welches durch den Anwender ausgewählt wurde, dargestellt. Wenn ein Anwender die dargestellten Informationen analysiert, kann es nützlich sein mehr oder weniger der Prozedur-Hierarchie zu betrachten, die durch die Beziehungen definiert ist, welche durch den Stapel-Entwicklungs-Ausführungsteil bestimmt sind. Die Element 916 und 918 sprechen auf solche Anfragen an, indem sie die Hierarchie der dargestellten Prozedur-Elemente in der oben erläuterten Weise expandieren oder kollabieren. Die Verarbeitung verläuft dann über eine Schleife zurück zu dem Element 908, um auf weitere Anwenderanfragen zu warten. Wenn der Anwender eine andere Operation anfragt, wird die Verarbeitung mit dem Element 920 fortgesetzt.
-
Die Elemente 920 und 922 sprechen auf die Anfrage eines Anwenders an, um einen zweiten Stapel für Vergleichszwecke darzustellen. Wie oben dargestellt wurde, ist es häufig nützlich einen zweiten (oder mehrere) Stapel gleichzeitig an der Anzeige des Anwenders darzustellen. Solch eine Vergleichsanzeige (mit zugeordneten Vergleichs-Texttabellen) tragen häufig dazu bei, dass ein Anwender visuell bedeutende Unterschiede zwischen den Stapeln identifizieren kann. Beispielsweise kann ein erster Stapel ein ”goldener” Stapel sein, der zu dem Produkt mit bekannter hoher Qualität führt. Der zweite Stapel kann ein solcher sein, der zu einem schlechteren Produkt führt. Die Gründe für solche Unterschiede ergeben sich häufig in offensichtlicher Weise aus Vergleichen Gantt-Plan-Zeitlinie, die sich in einfacher Weise in der Stapel-Vergleichsdarstellung, wie sie oben erläutert wurde, beobachten lassen. Die Verarbeitung wird dann über eine nach rückwärts verlaufende Schleife zu dem Element 908 fortgesetzt, um auf weitere Anwenderanfragen zu warten. Wenn der Anwender eine andere Operation anfragt, wird die Verarbeitung mit dem Element 924 fortgesetzt. Die Elemente 924 und 926 sprechen auf die Anfrage eines Anwenders an, um die Gantt-Plan-Zeitlinie von der absoluten Zeit (Realzeit) auf die relative Stapelzeit zu ändern (die zeit relativ zum Start des Stapelprozesses). Wie oben angeführt worden ist, sind solche Zeitlinien-Änderungen häufig in Verbindung mit der Stapel-Vergleichsanzeige nützlich, um das Ausrichten spezieller Abschnitte von Vielfach-Stapeln zu unterstützen, deren Gantt-Pläne visuell vergleichen werden. Solch eine Ausrüstung trägt häufig dazu bei, die kritischen Unterschiede zu betonen, die Qualitätsausgaben erklären können in Bezug unterschiedliche Stapel. Die Verarbeitung wird dann zu dem Element 908 zurückgeführt, um auf weitere Anwenderanfragen zu warten. Wenn der Anwender eine andere Operation anfragt, wird die Verarbeitung mit dem Element 928 fortgesetzt.
-
Die Element 928 bis 934 schalten die Anzeige auf eine Zeichnung oder Darstellung der fortlaufenden Daten um, die einem ausgewählten Ereignis zugeordnet sind, und zwar im Ansprechen auf die Anfrage eines Anwenders. Die Elemente 930 und 932 stellen einen Satz von angefragten fortlaufenden Datenpunktwerten dar, der von einem Anwender ausgewählt wurde, und der einem ausgewählten Stapelereignis entspricht. Der Anwender kann eine Anzahl solcher Datenpunkte anfragen und kann die Auswahl so lange modifizieren, bis das Element 934 bestimmt, dass der Anwender wünscht zu der Stapelereignis-Detail-Anzeige zurückzukehren. Zu solch einem Zeitpunkt wird die Verarbeitung zu dem Element 908 zurückgeführt, um auf weitere Anwenderanfragen zu warten.
-
Wie oben erläutert worden ist, erkennen Fachleute hier, dass das Verfahren von 9 darauf abzielt eine beispielhafte Technik für die Anwenderinteraktion darzustellen, um Stapelereignisinformationen und die Beziehungen darzustellen, die in solchen Daten durch den Ausführungsteil abgeleitet werden. Die Anzeige oder Darstellung solcher Daten in den Gantt-Plänen, die die hierarchische Natur der Beziehungen unter den verschiedenen dargestellten Daten reflektieren, stellt den Schlüssel des Betrachtungsclients der vorliegenden Erfindung dar. Ferner stellt das Navigieren durch die verschiedenen Darstellungen durch Auswählen von hierarchischen Prozedur-Elementen des Stapelprozedur-Ausführungsteiles einen weiteren Schlüsselaspekt der vorliegenden Erfindung dar. Erfahrene Softwarespezialisten können eine Vielfalt von äquivalenten Ausführungsformen erkennen, welche diese und andere Schlüsselaspekte des Betrachtungsclients der vorliegenden Erfindung liefern.
-
Obwohl die Erfindung in Einzelheiten in den Zeichnungen gezeigt und in der vorangegangenen Beschreibung beschrieben wurde, dient die Darstellung und Beschreibung lediglich als Beispiel und besitzt keine restriktive Eigenschaft, wobei darauf hingewiesen sei, dass lediglich die bevorzugte Ausführungsform und geringere Varianten desselben gezeigt und beschrieben wurden, und dass alle Änderungen Modifikationen unter den angestrebten Schutz fallen, die im Rahmen der Erfindung liegen.