DE19910527A1 - System and method for object identification in distributed hierarchical systems, especially in automation systems - Google Patents

System and method for object identification in distributed hierarchical systems, especially in automation systems

Info

Publication number
DE19910527A1
DE19910527A1 DE19910527A DE19910527A DE19910527A1 DE 19910527 A1 DE19910527 A1 DE 19910527A1 DE 19910527 A DE19910527 A DE 19910527A DE 19910527 A DE19910527 A DE 19910527A DE 19910527 A1 DE19910527 A1 DE 19910527A1
Authority
DE
Germany
Prior art keywords
context
auto
systems
chart
ids
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
DE19910527A
Other languages
German (de)
Inventor
Norbert Becker
Georg Biehler
Matthias Diezel
Albrecht Donner
Dieter Eckardt
Manfred Kraemer
Ronald Lange
Dirk Langkafel
Ralf Leins
Karsten Schneider
Helmut Windl
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Siemens AG
Original Assignee
Siemens AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Siemens AG filed Critical Siemens AG
Priority to DE19910527A priority Critical patent/DE19910527A1/en
Priority to JP2000604307A priority patent/JP2002539521A/en
Priority to AT00925040T priority patent/ATE226333T1/en
Priority to DE50000647T priority patent/DE50000647D1/en
Priority to PCT/DE2000/000738 priority patent/WO2000054148A2/en
Priority to ES00925040T priority patent/ES2185590T3/en
Priority to CN00804802A priority patent/CN1343333A/en
Priority to EP00925040A priority patent/EP1145116B1/en
Publication of DE19910527A1 publication Critical patent/DE19910527A1/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/465Distributed object oriented systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4488Object-oriented

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Multi Processors (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Investigating Or Analysing Biological Materials (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

The invention relates to a system and a method for identifying objects in distributed hierarchical systems, especially automation systems. The aim of the invention is to guarantee object identification during operations such as shifting, copying, renaming, etc. To this end, contexts for producing several indirection steps for the administration of identificators are introduced. This results in efficient methods for repairing broken links, whereby global central administration functions are not introduced.

Description

Die Erfindung betrifft ein System und Verfahren zur Objekti­ dentifizierung in verteilten hierarchischen Systemen, insbe­ sondere in Automatisierungssystemen.The invention relates to a system and method for objecti identification in distributed hierarchical systems, esp especially in automation systems.

Ein derartiges System und Verfahren kommt insbesondere im Be­ reich der Automatisierungstechnik zum Einsatz.Such a system and method comes in particular in the Be automation technology.

Der Erfindung liegt die Aufgabe zugrunde, eine Objektidenti­ fizierung bei Operationen wie Verschieben, Kopieren, Umbenen­ nen, etc. sicherzustellen.The invention has for its object an object identi operations such as moving, copying, renaming ensure, etc.

Diese Aufgabe wird durch ein System mit dem in Anspruch 1 an­ gegebenen Merkmalen bzw. durch ein Verfahren mit den im An­ spruch 2 angegebenen Merkmalen gelöst.This object is achieved by a system with the in claim 1 given features or by a method with the in An solved 2 specified features.

Der Erfindung liegt die Erkenntnis zugrunde, daß bisherige Lösungen eine geringe Stabilität und/oder einen hohen Ände­ rungsaufwand aufweisen. Es gibt zwei prinzipielle Identifi­ kationsmechanismen, die eingesetzt werden (und auch miteinan­ der kombiniert werden können). Ein Verfahren beruht auf der Identifikation von Objekten durch die Vergabe eines global eindeutigen Identifikators für jedes Objekt. Mittels dieses globalen Identifikators ist sichergestellt, daß ein Objekt unabhängig von seinem momentanen Aufenthaltsort wiederge­ funden werden kann. Dieses Verfahren hat folgende Nachteile:
The invention is based on the finding that previous solutions have a low stability and / or a high change effort. There are two basic identification mechanisms that can be used (and can also be combined). One method is based on the identification of objects by assigning a globally unique identifier for each object. This global identifier ensures that an object can be found regardless of its current location. This method has the following disadvantages:

  • - Zentrale Verwaltung: Das Verfahren benötigt zentrale Ver­ waltungsstrukturen wie eine Verwaltung der Objektidentifi­ katoren und Umsetztabellen der Objektidentifikatoren auf die Objekte.- Central administration: The procedure requires central ver administrative structures such as management of property identifi cators and conversion tables of the object identifiers the objects.
  • - Schlechte Unterstützung von verteilten Arbeiten: Durch die Notwendigkeit einer zentralen Verwaltung wird das Auf­ teilen von Objektmengen, deren getrennte Bearbeitung und anschließende Zusammenführung (Stichwort Branch-and-Merge) erschwert.- Poor support for distributed work: Through the need for central administration is becoming an issue  division of object sets, their separate processing and subsequent merger (keyword branch and merge) difficult.

Beim zweiten Verfahren wird ein Objekt durch seine relative Lage zu einem anderen identifiziert. Dadurch ist dann auch festgelegt, wie das Objekt aufzufinden ist. Im Gegensatz zum ersten Verfahren besitzt ein Objekt kein eindeutigen Identi­ fikator, sondern dieser abhängig vom jeweiligen Ausgangsob­ jekt, welches das andere referenziert. Dadurch ist keine zentrale Verwaltungsinformation notwendig. Jedoch ergeben sich folgende Nachteile:
In the second method, an object is identified by its relative position to another. This also determines how the object can be found. In contrast to the first method, one object does not have a unique identifier, but this depends on the respective output object that references the other. This means that no central administrative information is required. However, there are the following disadvantages:

  • - Geringe Stabilität: Durch Verwendung der relativen Lage zur Identifizierung wird der Identifikator (bzw. die Iden­ tifikatoren) beim Verschieben des Objekts ungültig und das Objekt ist nicht mehr verfügbar (Broken Link).- Low stability: by using the relative position the identifier (or the Id tifiers) invalid when moving the object and that Object is no longer available (broken link).
  • - Hoher Änderungsaufwand: Nach dem die Identifikatoren eines Objekts ungültig geworden sind, müssen diese durch eine Art Korrekturlauf berichtigt werden.- High change effort: After the identifiers of an object have become invalid, they must be a kind of correction run can be corrected.

Bei der erfindunsgemäßen Lösung werden Kontexte zur Bildung mehrerer Indirektionsstufen zur Verwaltung der Identifikato­ ren eingeführt. Dadurch ergeben sich effiziente Verfahren zur Reparatur von "Broken Links" ohne die Einführung globaler, zentraler Verwaltungsfunktionen.In the solution according to the invention, contexts become education several levels of instruction to manage the identificatio ren introduced. This results in efficient procedures for Repair broken links without the introduction of global, central administrative functions.

  • - Keine zentrale Verwaltung: Die Verwaltung erfolgt über die Kontexthierarchie. Das bedeutet, daß jeder Kontext alle notwendigen Informationen beinhaltet.- No central administration: administration is carried out via the Context hierarchy. That means that every context is all contains the necessary information.
  • - Unterstützung von verteiltem Arbeiten: Die Kontexthierar­ chie ist beliebig zerlegbar und wieder zusammenfügbar. Dadurch ist ein Branch-and-Merge von Projekten problemlos durchführbar.- Support for distributed work: the context hierarchy chie can be disassembled and reassembled as required. This makes branch-and-merge of projects problem-free feasible.
  • - Geringer Änderungsaufwand: Durch die Kontexthierarchie ist unmittelbar klar, wo Änderungen von Identifikatoren nach­ zuvollziehen sind. Die Änderungen sind auch nur an den be­ troffenen Kontextobjekten durchzuführen.- Little change effort: Due to the context hierarchy immediately clear where changes to identifiers after are to be carried out. The changes are only on the be context objects.

Im folgenden wird die Erfindung anhand der in den Figuren dargestellten Ausführungsbeispiele näher beschrieben und er­ läutert.In the following the invention with reference to the in the figures illustrated embodiments described and he purifies.

Es zeigen:Show it:

Fig. 1 ein Blockschaltbild zur Kennzeichnung des Sachver­ halts: ein Client sieht Namen, ein Objektmodell ar­ beitet mit Ids, FIG. 1 is a block diagram to identify the Sachver halts: a client sees name, an object model ar beitet with Ids

Fig. 2 eine schematische Darstellung für die Vergabe und Zuordnung von Objektidentifizierungen als Objekt IDs und Fig. 2 is a schematic representation for the assignment and assignment of object identifications as object IDs and

Fig. 3 eine schematische Darstellung zum Verschieben eines Objekts mit der Bezeichnung "ES-Auto 1". Fig. 3 is a schematic representation for moving an object with the designation "ES-Auto 1 ".

Im folgenden wird das Verfahren im Rahmen des OVA Engineering Objektmodells (OVA = Offene Verteilte Automatisierung) be­ schrieben. Es ist jedoch auch für andere Objektmodelle ein­ setzbar. Für ein besseres Verständnis der Zusammenhänge soll im folgenden kurz auf den Kontext der Erfindung eingegangen werden:
Für jedes Objekt gilt, daß es eine Umgebung gibt, in der er bekannt ist. Bei OVA wird diese Umgebung durch den Kontext modelliert. Innerhalb eines Kontexts sind Namen und Identi­ fikatoren aller enthaltenen Objekte bekannt und eindeutig. In der Regel ist der Kontext durch den Einstiegspunkt be­ stimmt, den ein Anwender zur Bearbeitung seiner Automatisie­ rungslösung wählt. Kontextinformation ist an jedem Container­ objekt (i. e. ein Objekt das andere Objekte enthält) wie H- Container, Chart oder Master verfügbar. Die kleinste Umgebung für einen Kontext ist jedoch ein Dokument. Für den Fall ein­ gebetteter Objekte wird die Kontextinformation des umgebenden Dokuments verwendet. Hieraus ergibt sich jedoch auch, daß Kontextinformationen hierarchisch gegliedert sein können. Da­ bei sind tieferliegende Kontexte immer auch Teil des hierar­ chisch höheren Kontext. Darüber hinaus können weitere Kon­ texte, welche hierarchisch nicht verwandt sind, jedem belie­ bigen Kontext assoziiert werden. Dann kann dieser Kontext auf die Information des assoziierten Kontext zugreifen. Diese As­ soziation ist jedoch unidirektional. Bei assoziierten Kon­ texten sind automatisch auch die (hierarchisch) enthaltenen Kontexte assoziiert.
In the following, the process is described in the context of the OVA engineering object model (OVA = Open Distributed Automation). However, it can also be used for other object models. For a better understanding of the relationships, the context of the invention is briefly discussed below:
For every object there is an environment in which it is known. At OVA, this environment is modeled by context. Within a context, names and identifiers of all contained objects are known and unambiguous. As a rule, the context is determined by the entry point that a user chooses to edit his automation solution. Context information is available on every container object (ie an object that contains other objects) such as H-Container, Chart or Master. However, the smallest environment for a context is a document. In the case of an embedded object, the context information of the surrounding document is used. However, this also means that context information can be structured hierarchically. Deeper contexts are always part of the higher hierarchical context. In addition, other contexts that are not hierarchically related can be associated with any context. Then this context can access the information of the associated context. However, this association is unidirectional. With associated contexts, the (hierarchical) contexts are automatically associated.

Die Kontextinformation bestimmt, welche Objekte in dem Direc­ tory eingetragen sind. Der Inhalt des Dokuments gehört auto­ matisch zum selben Kontext; das gilt insbesondere auch für gelinkte oder über eine Regel ("alle Objekte in diesem Ver­ zeichnis", etc.) hinzugefügte Objekte.The context information determines which objects in the Direc tory are registered. The content of the document belongs to auto matically to the same context; this applies in particular to linked or via a rule ("all objects in this ver drawing ", etc.) added objects.

Der Kontext ist auch der Verwalter der Kontext IDs. Diese werden später beschrieben.The context is also the administrator of the context IDs. This will be described later.

Objekt IdentifikationObject identification

Da OVA ein standardisiertes Verfahren verwendet um auf die Datenhaltung zuzugreifen, ist es notwendig, die Objekte si­ cher identifizierbar zu gestalten. Der Grund hierfür ist, daß ein Teil der Daten Strukturinformation ist, zum Beispiel wel­ ches ES-Auto in welchem Chart liegt, oder welches Auto mit welchem verschaltet ist. Diese Strukturinformation unterliegt Regeln, die von der Implementierung des Datenmodells berück­ sichtigt werden. Bei der derzeitigen Realisierung durch die Verwendung des IStorage Interface als Schnittstelle zur Da­ tenhaltung, ist es immer möglich, diese Struktur zu ändern, ohne das Datenmodell zu berücksichtigen. Zum Beispiel ist es einem Client möglich, Kopier-, Verschiebungs- oder Umbenen­ nungsoperationen über das IStorage Interface vorzunehmen, ohne daß ein OVA Datenmodell-Server daran beteiligt ist. Das bringt das Problem mit sich, daß Inkonsistenzen entstehen können die später von dem Anwender von Hand wieder richtig gestellt werden müssen.Since OVA uses a standardized procedure to respond to the To access data storage, it is necessary to si the objects more identifiable. The reason for this is that part of the data is structural information, for example wel ches ES car in which chart is, or which car with which is connected. This structural information is subject to Rules based on the implementation of the data model be viewed. With the current realization by the Use of the IStorage interface as an interface to the data maintenance, it is always possible to change this structure, without considering the data model. For example it is possible for a client, copy, move or rename perform operations on the IStorage interface, without an OVA data model server being involved. The brings with it the problem that inconsistencies arise can be corrected later by the user by hand must be asked.

Daher stellt sich nun die Frage, wie die Konsistenz so weit wie möglich hergestellt werden kann, ohne dem Entwickler von ES-Autos oder OVA Werkzeugen hierfür einen übermäßigen Auf­ wand abzuverlangen. Auch sollten diese Mechanismen nicht an die Teile des API durchscheinen, die von den OVA Werkzeugen verwendet werden. Eine Client-Anwendung sollte beispielsweise immer mit den ES-Auto Namen hantieren nicht mit kryptischen IDs (siehe Fig. 1).Therefore, the question now is how the consistency can be produced as far as possible without requiring the developer of ES cars or OVA tools to make excessive efforts. Neither should these mechanisms show through to the parts of the API that are used by the OVA tools. A client application, for example, should always handle the ES auto name, not cryptic IDs (see FIG. 1).

Problematische AktionenProblematic actions

Zuerst müssen die Aktionen beleuchtet werden, die potentielle Gefahren in sich bergen. Das sind zum einen alle unidirek­ tionalen Beziehungen, und zum anderen Aktionen die an den Da­ tenmodell-Servern "vorbeigehen".First of all, the actions must be highlighted, the potential ones Hide dangers. On the one hand, these are all unidirek tional relationships, and other actions related to the Da "walk past" model servers.

Unidirektionale LinksUnidirectional links

Unidirektionale Links sind problematisch, da es bei einer Aktion nicht ersichtlich ist, daß eine Inkonsistenz entsteht. Wird beispielsweise in einem Word-Dokument über einen Link auf eine Datei verwiesen, und diese Datei zu einem späteren Zeitpunkt umbenannt, bekommt das Word-Dokument hiervon nichts mit und wird die Datei nicht wiederfinden. Dieses Problem kann nur durch eine Zentrale Instanz beseitigt werden, die weiß, wo die Datei zu finden ist.Unidirectional links are problematic, as there is one Action is not apparent that an inconsistency arises. For example, in a Word document via a link referenced to a file, and this file to a later one Renamed at the time, the Word document does not get any of this with and will not find the file again. This problem can only be eliminated by a central authority that knows where to find the file.

"Dumme" Aktionen"Stupid" actions

Als dumme Aktionen werde hier Aktionen bezeichnet, die ohne das Wissen des Datenmodells ausgeführt werden. Als z. B. Umbe­ nennen eines Objekts über das IStorage Interface (IStorage::RenameElement). Solche Aktionen sind bei standardi­ siertem Datenzugriff immer möglich. Auch hier könnte eine zentrale Instanz helfen, das Problem zu minimieren. Wichtig ist in beiden Fällen vor allem die Fehlererkennung, und wenn möglich auch eine Fehlerbehebung.Here actions are called stupid actions that without the knowledge of the data model can be carried out. As z. B. Umbe name an object via the IStorage interface (IStorage :: RenameElement). Such actions are standard data access is always possible. Here too one could central authority help to minimize the problem. Important is in both cases, above all, the error detection, and if possible troubleshooting.

Object ID MonikerObject ID moniker

Wie oben beschrieben, kann eine zentrale Stelle die Objekte so verwalten, daß sie (nahezu) eindeutig identifizierbar sind. Daher werden alle Objekte über Objekt IDs referenziert, die von der zentralen Stelle, in unserem Fall der Active Directory Service, aufgelöst werden können.As described above, the objects can be centralized Manage so that they are (almost) clearly identifiable are. Therefore, all objects are referenced via object IDs, from the central location, in our case the Active Directory service that can be resolved.

Diese ID ist von allen Aktionen unabhängig; sie wird bei der Objekterstellung vergeben und ändert sich dann nicht mehr, solange kein anderes Objekt mit der selben ID existiert. Dies wird jedoch nur beim Kopieren außerhalb des Datenmodells ge­ schehen.This ID is independent of all actions; she will be at the Object creation and then no longer changes,  as long as no other object with the same ID exists. This is only used when copying outside the data model happen.

Jeder Container vergibt bei der Erstellung eines eingebette­ ten Objektes einen Namen.Each container awards when creating an embedded one ten object a name.

Fig. 2 zeigt eine schematische Darstellung für die Vergabe und Zuordnung von Objektidentifizierungen als Objekt Ids. Die­ se IDs, in der Abb. ID1, ID2, ID3 und ID4 sind jeweils bei ihrem Container hinterlegt. Das heißt, der Hierarchiecon­ tainer kennt ID1 und ID2, Chart 2 kennt ID3. Diese IDs sind dabei nur innerhalb des Containers auf der obersten Ebene eindeutig. Das heißt, Chart 1 kann auch wieder bei mit ID1 anfangen. Nun können einzelne Objekte über eine Kette von IDs identifiziert werden. ES-Auto 1 wird beispielsweise über /ID1!ID1 identifiziert. Die Verschaltung von ES-Auto 2 zu ES- Auto 3 (IDy) erhält folgende IDs:
FIG. 2 shows a schematic illustration for the assignment and assignment of object identifications as object IDs. These IDs, in Fig. ID1, ID2, ID3 and ID4, are stored with their container. This means that the hierarchy container knows ID1 and ID2, Chart 2 knows ID3. These IDs are only unique within the container at the top level. That means Chart 1 can start again with ID1. Now individual objects can be identified using a chain of IDs. For example, ES-Auto 1 is identified via / ID1! ID1. The interconnection from ES-Auto 2 to ES-Auto 3 (IDy) receives the following IDs:

IDy = /ID1!ID4!c → /ID2!ID3!dIDy = / ID1! ID4! C → / ID2! ID3! D

IDy ist nun eine Art Alias für die Verschaltung von ES-Auto 2 nach ES-Auto 3. Dieser wird bei dem hierarchisch niedrigst möglichen Container gespeichert. In diesem Falle ist das der H-Container 1, da sowohl Chart 1 als auch Chart 2 an der Verschaltung beteiligt sind.IDy is now a kind of alias for the connection from ES-Auto 2 to ES-Auto 3 . This is stored in the hierarchically lowest possible container. In this case, this is the H container 1 , since both Chart 1 and Chart 2 are involved in the interconnection.

Bei der Verschaltung IDx sind nur die beiden ES-Autos 1 und 2 beteiligt; daher kann die Information, wie IDx aufgelöst wird, bei Chart 1 gespeichert werden. Dieses Vorgehen, die Information so lokal wie möglich zu halten, hat den Vorteil, daß dieses Referenzen auch dann aufgelöst werden können, wenn nur ein Teilkontext geöffnet wird. In so einem Teilkontext sind so alle Referenzen, Verschaltungen, etc. bekannt, die innerhalb des Kontextes bleiben. Alle Referenzen nach außen (oder von außen) können nicht aufgelöst werden. Only the two ES cars 1 and 2 are involved in the IDx interconnection; therefore the information on how IDx is resolved can be stored in Chart 1 . This procedure of keeping the information as local as possible has the advantage that this reference can be resolved even if only a partial context is opened. In such a partial context, all references, interconnections, etc. are known that remain within the context. All references to the outside (or from outside) cannot be resolved.

Kontext IDs vs. lokale IDsContext IDs vs. local IDs

Wie in dem obigen Beispiel zu sehen ist, gibt es zwei ver­ schiedene Arten von IDs. Zum einen die lokalen IDs, wie zum Beispiel ID1, ID2, . . ., welche immer nur lokal dem Container bekannt sind. Zum anderen gibt es die Kontext-IDs, welche in­ nerhalb des gesamten aktuellen Kontext ihre Gültigkeit besit­ zen. Beide IDs müssen in ihrer Umgebung eindeutig sein. Die lokalen auf Containerebene, die Kontext-IDs kontextweit.As can be seen in the example above, there are two ver different types of IDs. Firstly, the local IDs, such as Example ID1, ID2,. . ., which is always only local to the container are known. On the other hand there are the context IDs which are in are valid within the entire current context Zen. Both IDs must be unique in their environment. The local at the container level, the context IDs context-wide.

AuflösenDissolve

Eine ID muß zum Beispiel aufgelöst werden, wenn das Objekt aktiviert werden soll. So wird zum Beispiel ES-Auto 2 bei einem Konsistenzcheck seine Verschaltungen prüfen. Dazu muß IDx und IDy ermittelt werden. Um dies zu tun, erfragt ES-Auto 2 die einzelnen Objekte vom Kontext. Da die Verschaltungen als Moniker hinterlegt sind, genügt ein BindToObject() aus Sicht des ES-Autos:
For example, an ID must be resolved if the object is to be activated. For example, ES-Auto 2 will check its interconnections during a consistency check. For this, IDx and IDy must be determined. To do this, ES-Auto 2 asks the individual objects of the context. Since the interconnections are stored as monikers, a BindToObject () is sufficient from the point of view of the ES car:

Da es sich bei den Monikern in diesem Fall um ObjectID Mo­ niker handelt, wird der Server für ObjectID-Moniker, also der Kontext, nach dem Objekt gefragt. Dieser kennt IDy, da er für seine Speicherung zuständig ist und löst ihn in seine Be­ standteile auf. Die Funktion ParseDisplayName extrahiert IDy und Source und stellt fest, daß dies /ID1!ID4!c ist. Nun wer­ den die Container rekursiv nach diesem Objekt befragt.Since the monikers in this case are ObjectID Mo the server for ObjectID monikers, i.e. the Context, asked about the object. He knows IDy because he is for is responsible for its storage and resolves it into its loading components on. The ParseDisplayName function extracts IDy and Source and determines that this is / ID1! ID4! c. Well who which the container asks recursively for this object.

Dieses etwas komplizierte Verfahren ist deshalb vorteilhaft, weil die (möglichen) Verschaltungen auch in den Teilkontexten zur Verfügung stehen. In dem obigen Beispiel könnte auch Chart 1 als Einstiegspunkt (Kontext) gewählt werden. Auf die Verschaltung IDx kann dann auch zugegriffen werden. IDy ist in diesem Falle eine externe Verschaltung, die solange nicht zur Verfügung steht, wir sich der Bearbeiter nur in dem Kon­ text von Chart 1 bewegt.This somewhat complicated procedure is advantageous because the (possible) interconnections are also available in the sub-contexts. In the example above, Chart 1 could also be chosen as the entry point (context). The IDx interconnection can then also be accessed. In this case, IDy is an external interconnection that is not available as long as the processor only moves in the context of Chart 1 .

Verwendung/BeispieleUse / examples

Nun werden die Auswirkungen an einigen Beispielen gezeigt. Die Aktionen sind Verschieben, Kopieren, Löschen und Umbenen­ nen.Now the effects are shown with some examples. The actions are move, copy, delete and rename nen.

VerschiebenMove

Ausgangssituation ist Fehler! Verweisquelle konnte nicht gefunden werden. Nun wird ES-Auto 1 von Chart 1 in Chart 2 verschoben (siehe Fehler! Verweisquelle konnte nicht gefunden werden.). Dies erfolgt auf 2 verschiedene Arten. Zum einen in einem OVA Werkzeug, zum anderen an dem Datenmodell vorbei ("dummes Verschieben").Starting situation is a mistake! Reference source not found. Now ES-Auto 1 is moved from Chart 1 to Chart 2 (see Error! Reference source could not be found.). This is done in two different ways. On the one hand in an OVA tool, on the other hand past the data model ("stupid moving").

Verschieben im OVA WerkzeugMoving in the OVA tool

Wird in einem OVA Werkzeug der Verschiebungsvorgang ange­ stoßen, übernehmen die Server des Datenmodells die Aktion und sorgen somit dafür, daß alle Referenzen gültig bleiben. Als Agitatoren sind hier die beiden Charts im Spiel. Im Source Chart wird die Methode MoveESAuto angestoßen. Ihr wird das ES-Auto und der Ziel-Chart mitgegeben:
If the move is triggered in an OVA tool, the servers of the data model take over the action and thus ensure that all references remain valid. The two charts are at play here as agitators. The MoveESAuto method is triggered in the source chart. You will be given the ES car and the target chart:

In der Methode MoveESAuto sind nun alle notwendigen Schritte gekapselt. Das sind zuerst das kopieren des ES-Autos in Chart 2, dann das Löschen des ursprünglichen Autos aus Chart 1 und zuletzt die Anpassung der IDs. Da sich bei einer solchen Ak­ tion immer nur die IDs bis zu dem Objekt, an dem die Aktion ausgeführt wurde, verändern können, muß auch nur dies dem Kontext mitgeteilt werden:
All necessary steps are now encapsulated in the MoveESAuto method. This is first copying the ES car in Chart 2 , then deleting the original car from Chart 1 and finally adjusting the IDs. Since such an action can only change the IDs up to the object on which the action was carried out, only this must be communicated to the context:

Diese Methode veranlaßt den Kontext, alle IDs, die mit "ID1!ID1" beginnen, auf "ID2!ID4" zu ändern.This method causes the context, all IDs that start with "ID1! ID1" begin to change to "ID2! ID4".

Fig. 3 zeigt eine schematische Darstellung zum Verschieben eines Objekts mit der Bezeichnung "ES-Auto 1". Fig. 3 shows a schematic representation for moving an object with the designation "ES-Auto 1 ".

"Dummes" Verschieben"Stupid" move

Beim "dummen" Kopieren sind die Server des Objektmodells nicht beteiligt. Daher kann der Update der IDs zu diesem Zeitpunkt auch nicht durchgeführt werden. Um eine solche Ak­ tion auszuführen genügt es, die persistente Datenablage von ES-Auto 1 aus der Ablage von Chart 1 in die von Chart 2 zu verschieben. Bei einem Öffnen von Chart 1 wird dieser ES-Auto 1 nicht mehr anzeigen und seinen Eintrag zu "ID1" löschen. Beim Öffnen von Chart 2 wird dieser feststellen, daß ein ES- Auto in seiner Datenablage hinzugekommen ist, für das noch keine ID vergeben ist. Daher wird ES-Auto 1 nun eine ID zuge­ ordnet. Ferner müssen noch die Referenzen von ES-Auto 1 und den beteiligten Partnern ersetzt werden. Im Falle von bidi­ rektionalen IDs ist dies kein Problem. Wird ES-Auto 1 nach seinen externen Referenzen gefragt, wird es IDx zurückgeben. Wenn der Kontext nach dieser ID gefragt wird, kann er nur einen Teil ("ID1!ID4") unmittelbar auflösen. "ID1!ID1" zeigt zu diesem Zeitpunkt noch ins Leere. Da die Aktion aber durch eine Überprüfung von ES-Auto 1 ausgelöst wurde, kann dies be­ hoben werden (evtl. nach Rückfrage an den Benutzer):
The servers of the object model are not involved in "silly" copying. Therefore, the update of the IDs cannot be carried out at this time. To carry out such an action, it is sufficient to move the persistent data storage of ES-Auto 1 from the storage of Chart 1 to that of Chart 2 . When Chart 1 is opened, this ES-Auto 1 will no longer display and delete its entry for "ID1". When opening Chart 2 , the user will find that an ES car has been added to his data storage for which no ID has yet been assigned. Therefore, ES-Auto 1 is now assigned an ID. Furthermore, the references of ES-Auto 1 and the partners involved have to be replaced. In the case of bidirectional IDs, this is not a problem. If ES-Auto 1 is asked for its external references, it will return IDx. If the context is asked for this ID, it can only resolve a part ("ID1! ID4") immediately. At this point "ID1! ID1" is still empty. However, since the action was triggered by a check of ES-Auto 1 , this can be remedied (possibly after asking the user):

KopierenCopy

Auch beim Kopieren sollen beide Wege untersucht werden:Both ways should also be examined when copying:

Kopieren im OVA WerkzeugCopy in the OVA tool

Wird ES-Auto 1 nur kopiert, ist an den Referenzen nichts zu ändern. Beim Ziel ES-Auto muß Chart 2 eine neue ID vergeben (bspw. ID4). Ferner sollten alle externen Referenzen des neuen ES-Autos gelöscht.If ES-Auto 1 is only copied, nothing can be changed in the references. Chart 2 must assign a new ID to the target ES-Auto (e.g. ID4). Furthermore, all external references of the new ES car should be deleted.

"Dummes" Kopieren"Stupid" copying

Wird ES-Auto 1 wie beim Verschieben wiederum am Objektmodell vorbei kopiert, verweisen 2 ES-Autos auf ES-Auto 2. Dies ist jedoch kein Problem, da auch hier Chart 2 feststellt, daß ihm ES-Auto 1 noch nicht bekannt ist (keine ID). Wie beim Ver­ schieben, wird er nun eine neue ID vergeben und die externen Referenzen des ES-Autos testen. In diesem Falle existiert jedoch ES-Auto 1 auch in Chart 1. Daher wird dieser Check keinen Fehler zurückgeben. Daher muß geprüft werden, ob das unbekannte ES-Auto Teil der externen Referenz ist. Der Code von oben muß also noch etwas erweitert werden:
If ES-Auto 1 is copied past the object model like when moving, 2 ES-cars refer to ES-Auto 2 . However, this is not a problem, since Chart 2 determines that ES-Auto 1 is not yet known to him (no ID). As with shifting, he will now assign a new ID and test the external references of the ES car. In this case, however, ES-Auto 1 also exists in Chart 1 . Therefore, this check will not return an error. It is therefore necessary to check whether the unknown ES car is part of the external reference. The code from above needs to be expanded a little:

LöschenClear

Beim Löschen eines ES-Autos fallen folgende Schritte an:The following steps apply when deleting an ES car:

Löschen im OVA WerkzeugDelete in the OVA tool

Wird das ES-Auto gelöscht, können unmittelbar auch alle Refe­ renzen gelöscht werden. Dabei wird dem Kontext mitgeteilt, daß eine bestimmte ID nicht mehr gültig ist. Dieser kann nun allen (nach Benutzerrückfrage) Objekten, die eine Referenz auf diese ID haben, die Mitteilung weiterreichen, daß die ID un­ gültig ist. Wenn beispielsweise in Fehler! Verweisquelle konnte nicht gefunden werden. ES-Auto 1 gelöscht wird, muß folgender Code ausgeführt werden:
If the ES car is deleted, all references can also be deleted immediately. The context is informed that a certain ID is no longer valid. This can now pass on to all objects (after user inquiry) that have a reference to this ID that the ID is not valid. For example, if in error! Reference source not found. If ES-Auto 1 is deleted, the following code must be executed:

Dieser Aufruf hat zur Folge, daß der Kontext bei allen Part­ nern die Methode RemoveExternalReference () aufruft.This call means that the context for all Part calls the RemoveExternalReference () method.

"Dummes" Löschen"Stupid" delete

Beim dummen Löschen können zwei Situationen auftreten: ent­ weder wird Chart 1 zuerst geöffnet. Dieser stellt fest, daß zu der ID1 kein ES-Auto mehr existiert. Er löscht nun seinen Eintrag "ID1".There are two situations when stupidly deleting: either Chart 1 is opened first. This determines that there is no ES car for ID1. He now deletes his entry "ID1".

Andererseits kann ein Objekt versuchen, die Referenz aufzu­ lösen (z. B. ES-Auto 2). Da dies nicht möglich ist, wird der Benutzer gefragt, was mit ES-Auto 1 passiert ist, und was mit der Referenz geschehen soll.On the other hand, an object can try to resolve the reference (e.g. ES-Auto 2 ). Since this is not possible, the user is asked what happened to ES-Auto 1 and what should be done with the reference.

UmbenennenRename

Umbenennen verhält sich wie Verschieben.Renaming behaves like moving.

Zusammenfassend betrifft die Erfindung somit ein System und Verfahren zur Objektidentifizierung in verteilten hierarchi­ schen Systemen, insbesondere in Automatisierungssystemen. Zur Sicherstellung einer Objektidentifizierung bei Operationen wie Verschieben, Kopieren, Umbenennen, etc. wird vorgeschla­ gen, daß Kontexte zur Bildung mehrerer Indirektionsstufen zur Verwaltung von Identifikatoren eingeführt werden. Dadurch er­ geben sich effiziente Verfahren zur Reparatur von sogenannten "Broken Links" ohne die Einführung globaler, zentraler Ver­ waltungsfunktionen.In summary, the invention thus relates to a system and Procedure for object identification in distributed hierarchies systems, especially in automation systems. For Ensuring object identification during operations such as moving, copying, renaming, etc. is suggested that contexts to form several levels of indirection to Management of identifiers will be introduced. Thereby he are efficient procedures for the repair of so-called "Broken Links" without the introduction of global, central Ver administrative functions.

Claims (2)

1. System zur Objektidentifizierung in verteilten hierarchi­ schen Systemen, insbesondere in Automatisierungssystemen mit Mitteln zur Bildung mehrerer Indirektionsstufen zur Verwal­ tung von Identifikatoren von Objekten.1. System for object identification in distributed hierarchies systems, especially in automation systems Means for the formation of several levels of administration identifiers of objects. 2. Verfahren zur Objektidentifizierung in verteilten hierar­ chischen Systemen, insbesondere in Automatisierungssystemen, bei dem die Objekte durch mehrere Indirektionsstufen zur Ver­ waltung von Identifikatoren identifiziert werden.2. Procedure for object identification in distributed hierarchy chemical systems, especially in automation systems, in which the objects are used by several levels of management of identifiers.
DE19910527A 1999-03-09 1999-03-09 System and method for object identification in distributed hierarchical systems, especially in automation systems Withdrawn DE19910527A1 (en)

Priority Applications (8)

Application Number Priority Date Filing Date Title
DE19910527A DE19910527A1 (en) 1999-03-09 1999-03-09 System and method for object identification in distributed hierarchical systems, especially in automation systems
JP2000604307A JP2002539521A (en) 1999-03-09 2000-03-09 System and method for identifying objects in a hierarchical system
AT00925040T ATE226333T1 (en) 1999-03-09 2000-03-09 SYSTEM AND METHOD FOR OBJECT IDENTIFICATION IN DISTRIBUTED HIERARCHICAL SYSTEMS, PARTICULARLY IN AUTOMATION SYSTEMS
DE50000647T DE50000647D1 (en) 1999-03-09 2000-03-09 SYSTEM AND METHOD FOR OBJECT IDENTIFICATION IN DISTRIBUTED HIERARCHICAL SYSTEMS, ESPECIALLY IN AUTOMATION SYSTEMS
PCT/DE2000/000738 WO2000054148A2 (en) 1999-03-09 2000-03-09 System and method for identifying objects in distributed hierarchical systems, especially automation systems
ES00925040T ES2185590T3 (en) 1999-03-09 2000-03-09 SYSTEM AND PROCEDURE FOR THE IDENTIFICATION OF OBJECTS IN DISTRIBUTED HIERARCHICAL SYSTEMS, ESPECIALLY IN AUTOMATION SYSTEMS.
CN00804802A CN1343333A (en) 1999-03-09 2000-03-09 System and method for identifying objects in distributed hierarchical systems, especially autoamtion systems
EP00925040A EP1145116B1 (en) 1999-03-09 2000-03-09 System and method for identifying objects in distributed hierarchical systems, especially automation systems

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19910527A DE19910527A1 (en) 1999-03-09 1999-03-09 System and method for object identification in distributed hierarchical systems, especially in automation systems

Publications (1)

Publication Number Publication Date
DE19910527A1 true DE19910527A1 (en) 2000-09-14

Family

ID=7900379

Family Applications (2)

Application Number Title Priority Date Filing Date
DE19910527A Withdrawn DE19910527A1 (en) 1999-03-09 1999-03-09 System and method for object identification in distributed hierarchical systems, especially in automation systems
DE50000647T Expired - Lifetime DE50000647D1 (en) 1999-03-09 2000-03-09 SYSTEM AND METHOD FOR OBJECT IDENTIFICATION IN DISTRIBUTED HIERARCHICAL SYSTEMS, ESPECIALLY IN AUTOMATION SYSTEMS

Family Applications After (1)

Application Number Title Priority Date Filing Date
DE50000647T Expired - Lifetime DE50000647D1 (en) 1999-03-09 2000-03-09 SYSTEM AND METHOD FOR OBJECT IDENTIFICATION IN DISTRIBUTED HIERARCHICAL SYSTEMS, ESPECIALLY IN AUTOMATION SYSTEMS

Country Status (7)

Country Link
EP (1) EP1145116B1 (en)
JP (1) JP2002539521A (en)
CN (1) CN1343333A (en)
AT (1) ATE226333T1 (en)
DE (2) DE19910527A1 (en)
ES (1) ES2185590T3 (en)
WO (1) WO2000054148A2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2413528C2 (en) 2007-01-18 2011-03-10 Открытое Акционерное Общество "Валента Фармацевтика" Exenatide and dalargin drug for treating diabetes, adminisration and therapy
EP2856280A4 (en) 2012-06-01 2016-05-18 Sas Ip User interface and method of data navigation in the user interface of engineering analysis applications
US10002164B2 (en) 2012-06-01 2018-06-19 Ansys, Inc. Systems and methods for context based search of simulation objects
WO2015013524A1 (en) * 2013-07-25 2015-01-29 Sas Ip, Inc. Systems and methods for context based search of simulation objects

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6009266A (en) * 1995-03-22 1999-12-28 Sun Microsystems, Inc. Methods, apparatus and data structures for managing objects

Also Published As

Publication number Publication date
JP2002539521A (en) 2002-11-19
WO2000054148A3 (en) 2001-04-05
EP1145116B1 (en) 2002-10-16
WO2000054148A2 (en) 2000-09-14
ES2185590T3 (en) 2003-05-01
ATE226333T1 (en) 2002-11-15
DE50000647D1 (en) 2002-11-21
EP1145116A2 (en) 2001-10-17
CN1343333A (en) 2002-04-03

Similar Documents

Publication Publication Date Title
DE69533786T2 (en) Device for creating object-oriented interfaces for relational databases and method performed by this device
DE69937332T2 (en) Method and device for software development
DE69112694T2 (en) Method for operating a data processing system for executing database transactions.
DE19705955A1 (en) Workflow processing model implementation method
DE19844071A1 (en) Data conflict elimination method for common data field
DE4325095A1 (en) Method and apparatus for delayed assembly determination
EP0825524A1 (en) Method for naming of objects
EP0682318A1 (en) Database management system
DE19538240A1 (en) Information system and method for storing data in an information system
DE69127399T2 (en) Method for the automatic deletion of temporary document connections in a data processing system
DE19607149A1 (en) Method for computer-aided comparison of several file copies of a stored file stored in at least one computer
WO2000054118A1 (en) Automation system with re-usable automation objects and method for the re-use of automation solutions in engineering tools
CA2319259A1 (en) A method relating to databases
DE69123493T2 (en) Processing method and device to create a file name from a logical to a correct name
EP1674954A1 (en) System and method for reusing of design related data
EP1145116B1 (en) System and method for identifying objects in distributed hierarchical systems, especially automation systems
EP3123367A1 (en) Method for automatically establishing a data record characterizing two technical drawings
DE10129654A1 (en) Method for determining the effects of design changes
DE19910535A1 (en) Process for the automatic recovery of engineering data from plants
EP1285315B1 (en) Information processing system and method for operation thereof
EP0825525B1 (en) Method for supporting the creation of objects
DE19751955A1 (en) Virtual robot
DE19955481A1 (en) Procedures for machine mapping, integration and control of business processes
DE69627522T2 (en) METHOD FOR GENERATING REUSABLE COMPONENTS IN AN OBJECT-ORIENTED PROGRAMMING ENVIRONMENT
DE19607131B4 (en) Method for the computer-aided adjustment of a plurality of file copies of a stored file stored in at least one computer

Legal Events

Date Code Title Description
8141 Disposal/no request for examination