-
Die
Erfindung betrifft ein System und Verfahren zum Austausch von in
veränderbaren
objektorientierten Datenstrukturen, im folgenden auch als hierarchische
Objektstrukturen bezeichnet, abgelegten Objekten zwischen wenigstens
zwei Werkzeugen, im folgenden auch als Tools bezeichnet, gemäß den Ansprüchen 1 und
13 und ist insbesondere geeignet zum Datenaustausch zwischen verschiedenen
Werkzeugen in der Anlagen- oder Leittechnikplanung verfahrenstechnischer
Anlagen.
-
Für die Planung
einer technischen Anlage oder eines technischen Prozesses werden üblicherweise
eine Vielzahl unterschiedlicher Planungstools eingesetzt, wobei
die Daten der Anlagenkomponenten in objektorientierten Datenstrukturen,
die die Anlagenstrukturen abbilden, abgelegt werden.
-
Bedingt
durch den oft unterschiedlichen Aufbau und die permanente Modifikation
der Planungsdaten ist der Datenaustausch zwischen den Tools eine
wichtige Vorraussetzung für
einen korrekten und effektiven Arbeitsablauf in der Anlagen- oder
Leittechnikplanung.
-
Der
Datenaustausch zwischen den Planungstools erweist sich jedoch insbesondere
dann als problematisch, wenn die hierarchischen objektorientierten
Anlagendatenstrukturen in den Werkzeugen während oder nach der Datenübertragung
verändert
werden und die Daten zwischen den Tools wiederholt ausgetauscht
werden müssen.
-
Eine
bekannte Methode zum Datenaustausch zwischen den verschiedenen Planungstools setzt
identische Strukturhierarchien in den Planungstools voraus. Werden
die durch Datenaustausch entstehenden identischen Strukturhierarchien
auch während
des weiteren Planungsprozesses nicht verändert, können auf Grund der Übereinstimmung
der Strukturhierarchien in den beteiligten Tools geänderte Objekte
identifiziert und geänderte
Eigenschaften der in den Strukturhierarchien abgelegten Objekte übertragen
werden. Auf Grund der Strukturgleichheit der Datenstrukturen in
den beteiligten Tools ist auch ein wiederholter Datenaustausch unproblematisch, da
die in den jeweiligen Werkzeugen einander zugeordneten Objekte,
im Folgenden auch als Partnerobjekte bezeichnet, durch die gleiche
Positionen der Objekte in der Strukturhierarchie des jeweiligen Werkzeuges
leicht auffindbar sind. Auch bei der Erstellung neuer Objekte in
einer Struktur kann der Datenaustausch mittels Positionierung eines
neuen Partnerobjektes in der entsprechenden Partnerstruktur über die
in beiden Strukturen vorhandenen bekannten Eltern-Objekte jederzeit
erfolgen. Dies gilt auch für
das Löschen
eines Objektes.
-
Sobald
jedoch Objekte in den Strukturen der beteiligten Werkzeuge verschoben
oder umbenannt werden, ist eine Identifizierung der entsprechenden Partnerobjekte
in den unverändert
gebliebenen Partnerstrukturen nicht mehr möglich und ein Datenaustausch
ist, wie im vorherigen Absatz beschrieben, infolge der entstandenen
Strukturinkompatibilität
nicht mehr durchführbar.
-
Wird
beispielsweise ein Objekt in der Struktur eines ersten Werkzeuges
verschoben, während das
korrespondierende Objekt in der Struktur eines zweiten Werkzeuges,
dem sogenannten Partnertool, an seiner alten Position verbleibt,
so wird bei einem Vergleich zwischen den Strukturen das verschobene Objekt
an seinem ursprünglichen
Ort nicht mehr gefunden.
-
Bei
einer nachfolgenden Synchronierung der Objektstrukturen würde das
Objekt aus der Struktur des zweiten Werkzeuges in der Struktur des
ersten Werkzeuges in seiner alten Version erneut an seiner alten
Position erstellt und wäre
im ersten Werkzeug somit zweifach vorhanden. Zugleich würde das
im ersten Werkzeug verschobene Objekt in der Struktur des zweiten
Werkzeuges neu erstellt, wodurch doppelte Objekte und eine fehlerbehaftete
Objektstruktur im zweiten Werkzeug erzeugt werden.
-
Ein
weiterer gegenwärtig
eingesetzter Lösungsansatz
zur Datenübertragung
bei sich ändernden
Strukturhierarchien beruht auf der Vergabe eines eindeutigen Identifizierungsmerkmales
für jedes
Objekt. Bei der Übertragung
von Objektinformationen aus einem ersten Tool in ein zweites Tool
wird den Objekten im zweiten Tool dieses eindeutige Identifizierungsmerkmal
aus dem ersten Tool zugeordnet; jedes Objekt in der Struktur des
zweiten Tools kennt somit das Identifizierungsmerkmal des Partnerobjektes
aus der Struktur des ersten Tools und kann sein entsprechendes Partnerobjekt
in der Partnerstruktur eindeutig identifizieren. Durch die eindeutige
Kennzeichnung der Objekte mittels der Identifizierungsmerkmale ist
auch ein Verschieben von Objekten innerhalb der Strukturhierarchien
durchführbar,
ohne dass die Identifizierbarkeit des Partnerobjektes verloren geht.
-
Ein
Nachteil, welcher der Verwendung von Identifizierungsmerkmalen zur
Kennzeichnung der Objekte innerhalb der hierarchischen Struktur
zugrunde liegt, beruht darauf, dass nicht jedes Tool die Verwendung
von Identifizierungsmerkmalen unterstützt. Wird von mindestens einem
der verwendeten Tools die oben beschriebene Identifizierung per
Identifikationsmerkmal nicht unterstützt, ist dieser Ansatz nicht
mehr anwendbar.
-
Ein
weiterer Nachteil der Identifizierung der Objekte unter der Verwendung
von Identifizierungsmerkmalen ist dadurch bedingt, dass sich Identifizierungsmerkmale
während
des Planungsprozesses in einem der beteiligten Tools ändern können und
somit eine Eindeutigkeit der Identifizierungsmerkmale über fange
Zeiträume
nicht gewährleistet
ist.
-
Ein
weiterer Nachteil der Identifizierung der Objekte unter der Verwendung
von Identifizierungsmerkmalen ist dadurch bedingt, dass eine eineindeutige
Zuordnung zwischen Identifikationsmerkmal und Objekt nicht immer
gewährleistet
ist. Ein Objekt kann zwar ein eindeutiges Identifikationsmerkmal
besitzen, aber ein Identifikationsmerkmal muss nicht immer demselben
Objekt zugeordnet sein. Wird beispielsweise ein Objekt mit einem
Identifizierungsmerkmal gelöscht,
das entsprechende Identifizierungsmerkmal freigegeben und für die Kennzeichnung
eines neu in die Struktur eingefügten
neuen Objektes wiederverwendet, ist die Struktur zwar innerhalb
des ersten Werkzeuges weiterhin konsistent, aber Verwechslungen
beim Vergleich mit Strukturen aus vorigen Versionen oder Partnerstrukturen
aus anderen Tools sind möglich.
Sogar ein Komplettverlust der Datenaustauschmöglichkeiten kann auf diese
Weise eintreten.
-
Um
die beschriebenen Nachteile zu vermeiden, beruht ein weiterer gegenwärtig eingesetzter Lösungsansatz
auf der Verwendung von weltweit eindeutigen Identifikationsmerkmalen.
Zwar gewährleistet
die Verwendung einer global eindeutigen Kennnummer, wie beispielsweise
einer GUID (global unique identifier), die bei der Erzeugung der
Objekte generiert und beim Datenaustausch zwischen den Werkzeugen übertragen
wird, eine eineindeutige Identifizierung der Objekte in den jeweiligen
Strukturen. Jedoch ist die Verwendung der GUID in der Anlagen- und
Leittechnikplanung noch nicht etabliert. Zudem kann selbst das verwendete
GUID-System komplett verändert
oder erneuert werden, beispielsweise bei einem Versionswechsel.
Innerhalb eines Tools bleibt die Zuordnung zwar konsistent, aber
im Austausch mit Partnerstrukturen oder beim Abgleich mit Vorversionen
können
Fehler auftreten, weil eine eindeutige Identifizierung der Objekte
nicht mehr durchführbar
ist.
-
Weiterhin
erlaubt die oben beschriebene Verwendung von Identifizierungsmerkmalen
keine Rekonstruktion von Strukturinformationen, da eine nach einem
Datenaustausch fehlerbehaftete oder zerstörte Struktur oder Teilstruktur
mittels eindeutiger Identifizierungsmerkmale nicht aus einer Partnerstruktur
rekonstruierbar ist, da die Identifizierungsmerkmale keine Strukturinformationen
enthalten.
-
Ausgehend
vom Stand der Technik liegt der Erfindung die Aufgabe zugrunde,
ein System und ein Verfahren zum Austausch von in veränderbaren
objektorientierten Datenstrukturen, im folgenden auch als hierarchische
Objektstrukturen bezeichnet, abgelegten Objekten zwischen wenigstens
zwei Werkzeugen, anzugeben, wodurch vorgenannte Nachteile des Standes
der Technik überwunden
werden.
-
Diese
Aufgabe wird erfindungsgemäß durch ein
System der eingangs genannten Art mit den im Anspruch 1 angegebenen
Merkmalen gelöst.
Vorteilhafte Ausgestaltungen, Verbesserungen des erfindungsgemäßen Systems
und ein Verfahren sind in weiteren Ansprüchen und in der Beschreibung
angegeben.
-
Das
erfindungsgemäße System
zum strukturentkoppelten Austausch von in veränderbaren hierarchischen Objektstrukturen
abgelegten Objekten beruht auf einem wiederholten, bidirektionalen und/oder
reversiblen Datenaustausch zwischen wenigstens zwei Werkzeugen.
-
Die
zwischen den Werkzeugen zu übertragenden
Daten umfassen Objekte, die in einem hierarchischen Datenbaum, beispielsweise
in einer Anlagenstruktur angeordnet sind, wobei die jeweiligen Objekte
Eigenschaften, insbesondere Attribute, Schnittstellen und Relationen
zu weiteren Objekten, beinhalten.
-
Das
erfindungsgemäße System
ist insbesondere für
einen wiederholten Datenaustausch zwischen verschiedenen Werkzeugen
der Anlagen- und Leittechnikplanung in einem technischen Prozess oder
einer technischen Anlage einsetzbar, wobei die in den hierarchischen
Objektstrukturen abgelegten Objekte Informationen über die
abzubildenden Anlagenkomponenten, über die hierarchische Struktur von
Anlagenkomponenten einer technischen Anlage, über die Relationen der Anlagenkomponenten
untereinander, über
Anforderungen und Spezifikationen der Anlagenelemente und/oder rollenspezifische Identifikationsmerkmale
der Anlagenelemente umfassen.
-
Der
mit dem erfindungsgemäßen System ausgeführte wiederholte
Datenaustausch zwischen den verschiedenen Werkzeugen ist insbesondere dann
von Vorteil, wenn die in den jeweiligen Werkzeugen abgelegten Informationen
der Objekte als auch die Objekte selbst im Laufe der Zeit modifiziert, ergänzt, entfernt,
verschoben, umbenannt und/oder vervollständigt werden.
-
Das
erfindungsgemäße System
zum strukturentkoppelten Austausch von in veränderbaren hierarchischen Objektstrukturen
abgelegten Objekten zwischen wenigstens zwei Werkzeugen umfasst
wenigstens eine in einem ersten Werkzeug abgelegte erste objektorientierte
Datenstruktur, wobei jedem zu übertragenden
Objekt der ersten Objektstruktur wenigstens ein eindeutiges Identifizierungsmerkmal
zugeordnet ist.
-
Die
Objekte der ersten Objektstruktur mit ihren eindeutigen Identifizierungsmerkmalen
sind in ein zweites Werkzeug mit wenigstens einer zweiten objektorientierten
Datenstruktur übertragbar,
wobei den bereits übertragenen
Objekten der zweiten Datenstruktur jeweils das Identifikationsmerkmal
des ersten Objektes, auch Quellobjekt genannt, sowie eine Pfadangabe
oder Pfadinformation zugeordnet ist, welche die hierarchische Herkunftsposition
des jeweiligen Objektes der zweiten Datenstruktur aus der ersten
Datenstruktur beschreibt. Die einander zuzuordnenden Partnerobjekte
aus der ersten und zweiten Datenstruktur sind somit Abbildungen
aufeinander.
-
Ein
im erfindungsgemäßen System
vorhandenes Modul vergleicht die in den Werkzeugen abgelegten Strukturen
unter Berücksichtigung
der objektspezifischen Identifizierungsmerkmale und Pfadinformationen
und ermittelt die Unterschiede zwischen den Strukturen.
-
Die
in der Struktur des zweiten Werkzeuges nicht vorhandenen, geänderten
oder zu entfernenden Objekte sind dann mit den zugeordneten Identifizierungsmerkmalen
und den entsprechenden Pfadinformationen mittels eines weiteren
Moduls in das zweite Werkzeug übertragbar
und/oder löschbar.
-
Nach
einer Neuerstellung, Modifikation und/oder Entfernen der Objekte
in der Datenstruktur des ersten Werkzeuges, insbesondere durch eine Umbenennung
der Objekte oder durch eine Verschiebung der Objekte innerhalb der
hierarchischen Struktur, ist unter Berücksichtigung der objektspezifischen
Identifizierungsmerkmale und Pfadinformationen ein erneuter Vergleich
der in den Werkzeugen abgelegten Strukturen zur Ermittlung der Unterschiede
und zur Übertragung
neuer und/oder geänderter Objekte
zwischen den Strukturen ausführbar
und in vorteilhafter Weise die Konsistenz der Daten wiederherstellbar.
-
Das
Verfahren, mit dem die Aufgabe weiterhin gelöst wird, ist dem Anspruch 13
zu entnehmen. Dabei werden die Objekte in einem ersten Werkzeug wenigstens
eine erste objektorientierte Datenstruktur abgelegt und jedem zu übertragenden
Objekt der ersten Datenstruktur des ersten Werkzeuges wird wenigstens
ein eindeutiges Identifizierungsmerkmal zugeordnet.
-
In
einem zweiten Werkzeug wird wenigstens eine zweite objektorientierte
Datenstruktur abgelegt und jedem übertragenen Objekt der zweiten
Datenstruktur, welches aus der ersten Datenstruktur abstammt, wird
beim Erzeugen während
des Datenaustauschprozesses das eindeutige Identifizierungsmerkmal
und eine Pfadinformation mit der hierarchischen Herkunftsposition
des Objektes der zweiten Datenstruktur aus der ersten Datenstruktur
zugeordnet.
-
Mittels
eines Moduls zum Vergleich der beteiligten Strukturen, auch Partnerstrukturen
genannt, unter Berücksichtigung
der objektspezifischen Identifizierungsmerkmale und Pfadinformationen,
werden die Unterschiede zwischen den Strukturen als eine Voraussetzung
für einen
Datenaustausch ermittelt. In der Struktur des zweiten Werkzeuges
werden anschließend
nicht vorhandene sowie neue oder geänderte Objekte aus der Struktur
des ersten Werkzeuges einschließlich
der den jeweiligen Objekten zugeordneten Identifizierungsmerkmalen
und den entsprechenden Pfadinformationen übertragen sowie in der ersten
Struktur entfernte Objekte in der zweiten Struktur ebenfalls entfernt.
-
In
einer vorteilhaften Ausgestaltung der Erfindung ist vorgesehen,
dass der Datenaustausch zwischen den Werkzeugen wiederholt und/oder
bidirektional ausgeführt
wird.
-
In
einer weiteren vorteilhaften Ausgestaltung der Erfindung ist vorgesehen,
dass der Datenaustausch zwischen den Werkzeugen zwischen mehr als zwei
Werkzeugen ausgeführt
wird. Dabei können
in den jeweiligen Werkzeugen auch mehrere Strukturen vorhanden sein.
-
Auch
ist erfindungsgemäß vorgesehen,
dass der Datenaustausch zwischen den Werkzeugen reversibel ausgeführt wird.
Dies erlaubt, Änderungen rückgängig zu
machen.
-
Weiterhin
ist vorteilhafterweise vorgesehen, dass nach einer Strukturänderung
der zweiten Struktur zusätzlich
zur Übertragung
der Eigenschaften der Objekte der ersten Struktur auch die neuen
Positionen der Objekte in der ersten Struktur, automatisch oder
nach einer expliziten Anforderung, mit übertragen werden, und somit
die geänderte
zweite Struktur mit der ursprünglichen
ersten Struktur überschrieben wird.
Die zweite Struktur ist nach dieser Struktur-Restauration mit der
ersten Struktur kompatibel.
-
Ein
weiterer Vorteil des erfindungsgemäßen Verfahrens beruht darauf,
dass nach einer Strukturänderung
oder nach einem teilweise oder vollständigen Verlust der ersten Struktur
diese aus der zweiten Struktur restauriert werden kann, auch wenn
die zweite Struktur mit der ursprünglichen ersten Struktur nicht
mehr übereinstimmt.
Dies ist möglich,
weil den Objekten der zweiten Struktur, die aus der ersten Struktur
abstammen, die ursprüngliche
Position in der ersten Struktur in Form einer Pfadangabe zugeordnet
ist.
-
Mit
dem erfindungsgemäßen Verfahren
wird somit in vorteilhafter Weise die Flexibilität und Sicherheit des Datenaustausches
erheblich erhöht,
da fehlerbehaftete oder zerstörte
Struktur mit dem erfindungsgemäßen Verfahren
rekonstruierbar werden.
-
Üblicherweise
unterliegen die Manipulation von Objekten in einem Werkzeug bezogen
auf ihre Neuerstellung, Modifikation oder Löschen einem Regelwerk, das
nur in diesem Werkzeug, auch Eigentümerwerkzeug genannt, bekannt
ist. Um eine gleichberechtigte Datenmanipulation der in den Werkzeugen
abgelegten Strukturen auch in anderen Werkzeugen zu ermöglichen,
werden in einer vorteilhaften Ausführungsform der Erfindung die
im Eigentümerwerkzeug
nach dem Regelwerk erstellten Daten einem weiteren Werkzeug übertragen,
in welchem das genannte Regelwerk nicht oder nur teilweise bekannt ist.
Dazu wird neben den Daten auch das Regelwerk in das weitere Werkzeug
ganz oder teilweise übertragen
und dort integriert. Aus dem Eigentümerwerkzeug transferierte Objekte
sind durch das Regelwerk nun auch im weiteren Werkzeug gleichberechtigt oder
teilweise gleichberechtigt – also
beispielsweise wenn nur das Umbenennen, nicht aber das Verschieben
von Objekten im weiteren Tool erlaubt ist, weil zwar die Umbenennungsregeln,
nicht jedoch die Verschiebungsregeln übertragen wurden – zu den
Objekten des Eigentümerwerkzeuges
veränderbar,
entfernbar oder anderweitig modifizierbar.
-
Um
auch bei einer gleichzeitigen Änderung der
Strukturen in den Werkzeugen und der Identifizierungsmerkmale der
jeweiligen Objekte eine fehlerfreie Datenübertragung zu gewährleisten,
wird in einer weiteren Ausführungsform
der Erfindung vor der Änderung
der Identifizierungsmerkmale eine Datensynchronisation durchgeführt, so
dass die Pfadangaben zwischen den Partnerobjekten in den beteiligten Strukturen
korrekt sind. Nach der Änderung
der Identifizierungsmerkmale ist somit eine Objektzuordnung über die
Pfadinformationen gegeben und die geänderten Identifizierungsmerkmale
sind fehlerfrei in die neue Struktur übertragbar. Somit ist die Änderung von
Identifikationsmerkmalen unschädlich
für den Datenaustausch.
-
Mit
dem erfindungsgemäßen Verfahren
wird folglich in vorteilhafter Weise die Flexibilität und Sicherheit
des Datenaustausches erheblich erhöht, da Änderungen von Identifikationsmerkmalen
innerhalb eines Werkzeuges für
weitere Werkzeuge nachvollziehbar und übertragbar werden. Durch die
Angabe und Zuordnung der entsprechenden Pfadinformationen zu den
Objekten ist eine eindeutige Identifizierung der Objekte in den
Strukturen unabhängig
von einer Änderung
der in den Identifizierungsmerkmalen gespeicherten Informationen
sichergestellt.
-
Eine
Computerprogrammkomponente zur Ausführung auf einer entsprechend
eingerichteten Datenverarbeitungseinrichtung, die die Merkmale des
erfindungsgemäßem Verfahrens
aufweist, führt zu
einer bevorzugten Ausführungsform
des erfindungsgemäßen Systems.
Eine Computerprogrammkomponente, insbesondere ein auf einem Datenträger gespeichertes
Computerprogramm, das die Merkmale des erfindungsgemäßen Verfahrens
aufweist, wird daher ausdrücklich
in den Offenbarungsgehalt der vorliegenden Anmeldung einbezogen.
-
Anhand
des in den folgenden Figuren dargestellten Ausführungsbeispieles sollen die
Erfindung sowie vorteilhafte Ausgestaltungen, Verbesserungen und
weitere Vorteile der Erfindung näher
erläutert und
beschrieben werden.
-
Es
zeigen:
-
1 eine
Ausführungsform
eines Systems zur Datenübertragung
zwischen zwei Werkzeugen entsprechend dem Stand der Technik,
-
2 ein
Beispiel für
eine Änderung
der hierarchischen Struktur in einem Werkzeug,
-
3 ein
Beispiel für
die Zuordnung der Pfadinformationen zu den importierten Objekten,
-
4 eine
Ausführungsform
des erfindungsgemäßen Systems
zum wiederholten Austausch von in veränderbaren hierarchischen Objektstrukturen abgelegten
Objekten,
-
5 einen
beispielhaften automatisch ablaufenden Verfahrensablauf, welcher
eine Ausführungsform
des erfindungsgemäßen Systems
veranschaulicht,
-
6 ein
Flussdiagramm zur Ermittlung und Übertragung neuer und/oder geänderter
Objekte vom ersten Werkzeug A1 zum zweiten Werkzeug B1, und
-
7 ein
weiteres Flussdiagramm zur Ermittlung von im zweiten Werkzeug zu
löschenden Objekten.
-
1 zeigt
ein System zur Datenübertragung
von einem ersten Werkzeug A1 in ein zweites Werkzeug A2 entsprechend
dem Stand der Technik, wobei eine Struktur SA aus dem ersten Werkzeug
A1 in das zweite Werkzeug B1 als Struktur SB importiert wird und
die importierte Struktur SB des zweiten Werkzeuges B1 strukturkompatibel
zur Struktur SA des ersten Werkzeuges A1 ist.
-
Die
in den Strukturen SA und SB befindlichen Objekte umfassen Informationen über die
hierarchische Struktur von Anlagenkomponenten einer technischen
Anlage, über
die Relationen der Anlagenkomponenten untereinander, über Anforderungen
und Spezifikationen der Anlagenelemente und/oder rollenspezifische
Identifikationsmerkmale der Anlagenelemente.
-
Da
die Strukturhierarchien der Strukturen SA und SB identisch sind,
können
nach einer ersten Synchronisation die Eigenschaften der Objekte
A, B, C, AA, BB, CC, welche beispielsweise Attribute sowie Schnittstellen
und Relationen zu weiteren Objekten sind, in den beiden Strukturen
SA und SB verändert werden
und auf Grund der Strukturgleichheit in den Werkzeugen A1, B1 ist
ein erneuter Datenaustausch unproblematisch, da die Objekte A, B,
C, AA, BB, CC aus den Strukturen SA und SB beim Vergleich anhand
ihrer hierarchischen Position und dem eigenen Namen eindeutig identifiziert
und verglichen werden. Folglich sind die entsprechenden Partnerobjekte
in den Strukturen SA und SB durch unveränderte Positionen und gleiche
Namen der Objekte A, B, C, AA, BB, CC auffindbar. Die Objektpaare
(A,AA), (B,BB), (C,CC) aus jeweils der ersten Struktur SA und der zweiten
Struktur SB (A,AA), (B,BB), (C,CC) stellen Partnerobjekte dar und
sind durch gleiche Position in den Strukturen und durch gleiche
Namen gekennzeichnet.
-
Eine
Erstellung von neuen Objekten während
des Datenaustausches ist durch eine Positionierung der neuen Objekte
in der Partnerstruktur über die
bekannten Eltern-Objekte,
die in beiden identischen Strukturen SA und SB vorhanden sind, jederzeit
möglich.
-
Sobald
jedoch Objekte innerhalb der Strukturen SA und SB verschoben oder
umbenannt werden (siehe 2), sind die entsprechenden
Partnerobjekte in beiden Strukturen SA und SB nicht mehr eindeutig
zuordenbar und ein fehlerfreier und vollständiger Datenaustausch ist nicht
mehr gewährleistet.
-
Wird,
wie in 2 gezeigt, beispielsweise ein Objekt BB in der
Struktur SB des zweiten Werkzeuges B1 verschoben, während das
korrespondierende Partnerobjekt B in der Struktur SA des ersten Werkzeuges
A1 an seiner alten Position verbleibt, so würde bei einem Vergleich der
Strukturen SA und SB ermittelt werden, dass das Objekt BB an seinem
ursprünglichen
Ort gelöscht
und an anderer Stelle neu erstellt wurde. Beim Synchronisieren der
Daten würde
das korrespondierende Objekt B in der Struktur SB des zweiten Werkzeuges
B1 erneut an seiner alten Position erstellt und wäre in der
Struktur SB des zweiten Werkzeuges B1 zweifach vorhanden. Zugleich
würde das
verschobene Objekt BB innerhalb der Struktur SA des ersten Werkzeuges
A1 an seiner neuen Position neu erstellt und somit doppelte Objekte,
möglicherweise
in verschiedenen Versionen, erzeugt werden.
-
3 zeigt
ein Beispiel für
die Zuordnung der Pfadinformationen Plant/A, Plant/A/B, Plant/A/B/C
der zwischen dem ersten Werkzeug A1 und dem zweiten Werkzeug B1 übertragenen
Objekten, wobei jedem Objekt AA, BB, CC in der Struktur SB des zweiten
Werkzeuges B1 eine Information über
die hierarchische Position des entsprechenden Partnerobjektes in
der Struktur SA des ersten Werkzeuges A1 als vollständige Pfadangabe
Plant/A, Plant/A/B, Plant/A/B/C zugeordnet ist.
-
In
vorteilhafter Weise ist somit eine Verschiebung und/oder Umbenennung
der Objekte AA, BB, CC der Struktur SB des zweiten Werkzeuges B1
ausführbar,
da eine eindeutige Zuordnung zur Struktur SA des ersten Werkzeuges
A1 über
die Pfadangaben möglich
ist. Deshalb sind Änderungen
der Struktur SB des zweiten Werkzeuges B1 unschädlich für das Auffinden von korrespondierenden
Partnerobjekten in der Struktur SA des ersten Werkzeuges A1.
-
Auch
ist die Struktur SA des ersten Werkzeuges A1 aus der Struktur SB
des zweiten Werkzeuges B1 rekonstruierbar, falls die Struktur SA
durch einen Datenverlust ganz oder teilweise zerstört oder
fehlerbehaftet ist. Dabei wird die Struktur SA des ersten Werkzeuges
A1 aus der Struktur SB des zweiten Werkzeuges B1 wieder rekonstruiert,
auch wenn die Objekte AA, BB, CC in der Struktur SB des zweiten Werkzeuges
B1 verschoben oder umbenannt wurden. Somit wird die ursprüngliche
Struktur SA des ersten Werkzeuges A1 wiederhergestellt, auch wenn die
Struktur SB des zweiten Werkzeuges B1 eine andere Struktur SB1 aufweist.
Die Rekonstruktion umfasst dabei den letzten in der Struktur SB
des zweiten Werkzeuges B1 bekannten Informationsstand der Struktur
SA des ersten Werkzeuges A1.
-
Die
Verwendung der Pfadinformationen Plant/A, Plant/A/B, Plant/A/B/C
zur Herkunftsangabe der Objekte ermöglicht, dass Objektverantwortlichkeiten
automatisch erkennbar sind. Jedes Objekt AA, BB, CC des zweiten
Werkzeuges B1, das aus dem ersten Werkzeug A1 übertragen wurde, enthält eine Information über seine
hierarchische Herkunft. Jedes Objekt im zweiten Werkzeug B1 ohne
diese Information kann eindeutig als dem zweiten Werkzeug B1 zugehörig bzw.
nicht vom ersten Werkzeug A1 stammend zugeordnet werden und ist
bei einer Datensynchronisation gesondert behandelbar.
-
Um
nicht nur die Objekte AA, BB, CC in der Struktur SB des zweiten
Werkzeuges B1 umzubenennen und zu verschieben, sondern gleichzeitig auch
die Objekte A, B, C der Struktur SA des ersten Werkzeuges A1 umzubenennen
oder zu verschieben, ist den Objekten A, B, C jeweils das Identifizierungsmerkmal 1, 2, 3 sowie
den Objekten AA, BB, CC das jeweilige Identifikationsmerkmal 1, 2, 3 der Quellobjekte
A, B, C zugeordnet. Dies wird in 4 verdeutlicht.
-
4 zeigt
eine Ausführungsform
des erfindungsgemäßen Systems
zum wiederholten strukturentkoppelten Austausch von in veränderbaren
objektorientierten Datenstrukturen SA und SB abgelegten Objekten
A, B, C, AA, BB, CC zwischen wenigstens zwei Werkzeugen A1 und B1,
wobei in einem ersten Werkzeug A1 wenigstens eine erste objektorientierte
Datenstruktur SA abgelegt ist und jedem Objekt A, B, C der Datenstruktur
SA des ersten Werkzeuges A1 ein eindeutiges Identifizierungsmerkmal 1, 2, 3 zugeordnet
ist. Die objektorientierten Datenstrukturen SA und SB bilden dabei
beispielsweise die Anlagenstrukturen einer technischen Anlage ab.
-
In
einem zweiten Werkzeug B1 ist wenigstens eine zweite objektorientierte
Datenstruktur SB abgelegt und jedem aus dem ersten Werkzeug A1 stammende
Objekt AA, BB, CC der zweiten Datenstruktur SB ist als Quellinformation
das eindeutige Identifizierungsmerkmal 1, 2, 3 sowie
eine Pfadinformation Plant/A, Plant/A/B, Plant/A/B/C mit der hierarchischen
Herkunftsposition des Objektes AA, BB, CC der zweiten Datenstruktur
SB aus der ersten Datenstruktur SA zugeordnet.
-
Die
Pfadinformationen der Objekte AA, BB, CC der zweiten Struktur beschreiben
insbesondere die hierarchischen Herkunftsangaben der Objekte AA,
BB, CC aus der ersten Struktur SA des ersten Werkzeuges A1. Somit
ist jedes Objekt AA, BB, CC aus der zweiten Struktur SB über sein
Identifizierungsmerkmal 1, 2, 3 und seine
Pfadinformationen Plant/A, Plant/A/B, Plant/A/B/C bezogen auf sein Partnerobjekt
A, B, C aus der ersten Struktur SA des ersten Werkzeuges A1 eindeutig
identifizierbar.
-
Über die
beim Datenaustausch zusätzlich mit übertragenen
Identifizierungsmerkmale 1, 2, 3 ist eine
eindeutige Zuordnung von Partnerobjekten auch dann möglich, wenn
die Struktur SA im ersten Werkzeug A1 verändert wurde, da beim Datenaustausch zwischen
den Werkzeugen A1, B1 die neuen Positionsinformationen übertragen
werden.
-
Die
Objekte A, B, C, AA, BB, CC der Strukturen SA und SB sind gleichzeitig
umbenennbar und/oder verschiebbar, da mittels der gemeinsamen Identifizierungsmerkmale
eine eindeutige Zuordnung möglich
ist. Dabei sind nach der Datenübertragung die
neuen Pfadinformationen der Partnerobjekte wieder zu aktualisieren.
-
Werden
die Identifizierungsmerkmale 1, 2, 3 verändert, ist über die
Pfadinformationen Plant/A, Plant/A/B, Plant/A/B/C eine eindeutige
Zuordnung der Partnerobjekte in den Strukturen SA und SB möglich, wobei
wiederum nach dem Datenaustausch zur Sicherung der Konsistenz der
in den Objekten A, B, C, AA, BB, CC enthaltenen Informationen ein
Abgleich der geänderten
Identifizierungsmerkmale durchzuführen ist.
-
Ein
im erfindungsgemäßem System
integriertes Modul M1 zum Vergleich der in den Werkzeugen A1, B1
abgelegten Strukturen SA und SB unter Berücksichtigung der den Objekten
zugeordneten Identifizierungsmerkmale 1, 2, 3 und
Pfadinformationen Plant/A, Plant/A/B, Plant/A/B/C ermittelt automatisch
die Unterschiede zwischen den Strukturen. Ein weiteres Modul M2
gemäß 4 überträgt die in
der Struktur SB des zweiten Werkzeuges B1 nicht vorhandenen oder
geänderten
Objekte aus der Struktur SA des ersten Werkzeuges A1 mit den zugeordneten Identifizierungsmerkmalen 1, 2, 3 und
den entsprechenden Pfadinformationen Plant/A, Plant/A/B, Plant/A/B/C
in das zweite Werkzeug B1.
-
Nach
einer Modifikation der Objekte A, B, C in der Datenstruktur SA des
ersten Werkzeuges A1 unter Berücksichtigung
der objektspezifischen Identifizierungsmerk male 1, 2, 3 und
Pfadinformationen Plant/A, Plant/A/B, Plant/A/B/C ist ein erneuter
Vergleich der in den Werkzeugen A1, B1 abgelegten Strukturen SA
und SB zur Ermittlung der Unterschiede und zur Übertragung neuer, geänderter
und/oder zu löschender
Objekte zwischen den Strukturen SA und SB ausführbar.
-
Beispielhaft
ist in 4 im zweiten Werkzeug B1 eine Veränderung
der Struktur SB in eine neue Struktur SB1 dargestellt, wobei die
aus der ersten Struktur SA abstammenden Objekte AA, BB, CC der neuen
Struktur SB1 mittels der unverändert
gebliebenen Pfadinformationen Plant/A, Plant/A/B, Plant/A/B/C und
Identifizierungsmerkmale 1, 2, 3 die korrespondierenden
Partnerobjekte im ersten Werkzeug A1 eindeutig zuordenbar sind.
-
Der
Datenaustausch zwischen den Werkzeugen A1, B1 ist in vorteilhafter
Weise insbesondere nach einer Umbenennung der Objekte A, B, C, AA, BB,
CC und oder einer Verschiebung der Objekte A, B, C, AA, BB, CC innerhalb
der hierarchischen Strukturen SA und SB wiederholt durchführbar. Dabei
wird eine fehlerbehaftete oder zerstörte Struktur mittels der jeweiligen
Partnerstruktur rekonstruierbar.
-
Das
beschriebene System des gerichteten Datenaustausches von der Struktur
SA des ersten Werkzeuges A1 nach der Struktur SB des zweiten Werkzeuges
B1 ist auch für
den umgekehrten Datenaustausch von der Struktur SB des zweiten Werkzeuges
B1 nach der Struktur SA des ersten Werkzeuges A1 ausführbar, wobei
im zweiten Werkzeug B1 erstellte Objekte nach der ersten Struktur
SA übertragen
und den dortigen aus der zweiten Struktur SB stammenden Objekten
Quellinformationen über
die korrespondierenden Partnerobjekte aus der Struktur SB des zweiten
Werkzeuges B1 zugeordnet werden. Folglich ist ein gleichberechtigter
bidirektionaler Datenaustausch durchführbar.
-
5 zeigt
einen beispielhaften automatischen Verfahrensablauf, welcher eine
Ausführungsform
des erfindungsgemäßen Systems
veranschaulicht, wobei in einem ersten Werkzeug A1 eine erste objektorientierte
Datenstruktur SA abgelegt wird und jedem zu übertragenden Objekt A, B, C
der ersten Datenstruktur SA des ersten Werkzeuges A1 jeweils ein
eindeutiges Identifizierungsmerkmal 1, 2, 3 zugeordnet
wird.
-
In
einem zweiten Werkzeug B1 wird eine zweite objektorientierte Datenstruktur
SB gespeichert und jedem aus dem ersten Werkzeug A1 stammendem Objekt
AA, BB, CC der zweiten Datenstruktur SB wird das entsprechende eindeutige
Identifizierungsmerkmal 1, 2, 3 aus der
ersten Datenstruktur SA und eine Pfadinformation Plant/A, Plant/A/B, Plant/A/B/C
mit der hierarchischen Position des Objektes AA, BB, CC der zweiten
Datenstruktur SB aus der ersten Datenstruktur SA zugeordnet.
-
In
einem ersten Schritt 10 werden mittels dem Modul M1 zum
Vergleich der in den Werkzeugen A1, B1 abgelegten Strukturen SA
und SB unter Berücksichtigung
der den Objekten zugeordneten Identifizierungsmerkmale 1, 2, 3 und
eventuell vorhandenen Pfadinformationen Plant/A, Plant/A/B, Plant/A/B/C
die Unterschiede, insbesondere in den Strukturen SA und SB neu erzeugte,
veränderte,
umbenannte, gelöschte
oder verschobene Objekte zwischen den Strukturen SA und SB ermittelt.
-
In
einem zweiten Schritt 20 werden mittels einem weiteren
Modul M2 in der Struktur SB des zweiten Werkzeuges B1 nicht vorhandene
oder geänderte
Objekte aus dem der Struktur SA des ersten Werkzeuges A1 mit den
zugeordneten Identifizierungsmerkmalen 1, 2, 3 und
den entsprechenden Pfadinformationen Plant/A, Plant/A/B, Plant/A/B/C
in das zweite Werkzeug B1 übertragen,
in der ersten Struktur SA gelöschte
Objekte in der zweiten Struktur SB gelöscht und/oder in der zweiten
Struktur SB erzeugte neue Partnerobjekte erhalten das entsprechende Identifizierungsmerkmal
und die Pfadinformation des Quellobjektes aus der ersten Struktur
SA.
-
Nach
einer Modifikation der Objekte A, B, C in der Datenstruktur SA des
ersten Werkzeuges A1 wird das Verfahrensablauf erneut durchlaufen.
-
Mit
dem erfindungsgemäßen Verfahren
wird der Datenaustausch zwischen den Werkzeugen A1, B1, insbesondere
nach einer Umbenennung der Objekte A, B, C, AA, BB, CC, einer Änderung
der Position der Objekte A, B, C, AA, BB, CC oder einer Verschiebung
der Objekte A, B, C, AA, BB, CC innerhalb der hierarchischen Strukturen
SA und SB wiederholt, bidirektional und/oder reversibel durchgeführt, wobei fehlerbehaftete
oder zerstörte
Strukturen rekonstruierbar werden.
-
Das
erfindungsgemäße Verfahren
ist insbesondere für
den gerichteten Datenaustausch vom ersten Werkzeug A1 zum zweiten
Werkzeug B1 geeignet. Nach einer Datenübertragung von der Struktur
SA des ersten Werkzeuges A1 in die Struktur SB des zweiten Werkzeuges
B1 ist die Struktur SB des zweiten Werkzeuges B1 unabhängig von
der Struktur SA des ersten Werkzeuges A1 veränderbar, ohne dass der Bezug
zur Struktur SA des ersten Werkzeuges verloren wird.
-
Die 6 und 7 zeigen
Flussdiagramme zur Darstellung der Datenübertragung vom ersten Werkzeug
A1 zum zweiten Werkzeug B1, wobei im ersten Werkzeug A1 in der Struktur
SA das zu übertragende
Objekt „A" abgelegt ist. 6 beschreibt
die Ermittlung und Übertragung
von neuen sowie geänderten
Objekten innerhalb der Struktur SA des ersten Tools A1, während 7 das
Ermitteln von in der zweiten Struktur SB zu löschenden Objekten, also von
in der ersten Struktur SA gelöschten Objekten,
und den anschließenden
Löschvorgang darstellt.
-
Gemäß 6 wird
in einem vorbereitenden Schritt 1 in der Struktur SB des
zweiten Werkzeuges B1 das entsprechende Partnerobjekt AA zum Objekt A
in der Struktur SA des ersten Werkzeuges A1 basierend auf dem zugeordneten
Identifizierungsmerkmal gesucht.
-
Nach
erfolgreicher Suche wird im ersten Schritt 10 das Objekt
A mit dem Partnerobjekt AA aus der Struktur SB des zweiten Werkzeuges
B1 verglichen. Sind Änderungen
vorhanden, werden im zweiten Schritt 20 die Unterschiede
oder Änderungen
des Objektes A des ersten Werkzeuges A1 zum Partnerobjekt AA übertragen
und in einem nächsten
Schritt 21 das nächste
zu übertragende
Objekt in der Struktur SA des ersten Werkzeuges A1 gesucht.
-
Werden
keine Unterschiede oder Änderungen
zwischen dem Objekt A und dem Partnerobjekt AA gefunden, wird im
nächsten
Schritt 21 das nächste
zu übertragende
Objekt in der Struktur SA des ersten Werkzeuges A1 gesucht.
-
Wird
im nächsten
Schritt 21 festgestellt, dass keine weiteren zu übertragenden
Objekte bzw. Objekteigenschaften vorliegen, ist dieser Verfahrensabschnitt
des Datenaustausches zwischen den Werkzeugen A1, A2 beendet.
-
Ist
die im vorbereitenden Schritt 1 durchgeführte Suche
nach einem Partnerobjekt jedoch nicht erfolgreich und es existiert
demzufolge in der Struktur SB des zweiten Werkzeuges B1 kein Partnerobjekt zum
Objekt A in der Struktur SA des ersten Werkzeuges A1, wird in einem
Schritt 22 ein Partnerobjekt in der Struktur SB des zweiten
Werkzeuges B1 erzeugt, wobei dem erzeugten Partnerobjekt die Pfadinformation
des Objektes A der Struktur SA des ersten Werkzeuges A1, auch als
Quellpfad bezeichnet, und das Identifizierungsmerkmal des Objektes
A zum Partnerobjekt zugeordnet und der Verfahrensablauf, wie im
nächsten
Schritt 21 beschrieben, durchlaufen.
-
7 zeigt
ein Flussdiagramm zur Ermittlung von Objekten BB der zweiten Struktur
SB, die kein Partnerobjekt mehr in der ersten Struktur SA besitzen
und somit aus der ersten Struktur SA entfernt wurden. In einem vorbereitenden
Schritt 1 wird in der ersten Struktur SA des ersten Werkzeuges
A1 das entsprechende Partnerobjekt B des aus der ersten Struktur
SA stammenden Objektes BB der zweiten Struktur SB, basierend auf
dem zugeordneten Identifizierungsmerkmal, gesucht. Wird das Partnerobjekt B
in der ersten Struktur SA gefunden, so kann dieser Bearbeitungszyklus
beendet werden und es wird in einem nächsten Schritt 21 das
nächste
Partnerobjekt B zum nächsten
Objekt BB der zweiten Struktur SB gesucht.
-
Wird
das nächste
Partnerobjekt B in der ersten Struktur SA jedoch nicht gefunden,
wird in einem weiteren Schritt 11 eine erneute Suche des
Partnerobjektes B in der ersten Struktur basierend auf der dem Objekt
BB der zweiten Struktur SB vorliegenden Pfadinformation durchgeführt. Wird
das Objekt B jetzt in der ersten Struktur SA gefunden, so kann dieser Bearbeitungszyklus
beendet werden, es wird in einem nächsten Schritt 21 ein
weiteres Objekt BB in der Struktur SB gesucht.
-
Wird
das weitere Objekt B in der ersten Struktur SA jedoch weder aufgrund
des im Objekt BB der zweiten Struktur SB vorliegenden Identifikationsmerkmals
noch aufgrund der im Objekt BB der zweiten Struktur SB vorliegenden
Pfadinformation gefunden, dann wurde das Objekt B aus der ersten
Struktur SA entfernt und ist somit ebenso aus der zweiten Struktur
SB zu entfernen. Dies erfolgt in Schritt 22 und der Verfahrenablauf
wird mit dem nächsten Schritt 21 fortgesetzt.
-
Wird
im nächsten
Schritt 21 festgestellt, dass keine weiteren aus der ersten
Datenstruktur SA stammenden Objekte zum Partnerobjekt BB aus der zweiten
Struktur mehr existieren, ist der Verfahrensablauf beendet.