Die vorliegende Erfindung bezieht sich auf Objekte in einem
computerisierten System, und zwar insbesondere, aber nicht
ausschließlich, darauf, wie Objekte in einem computerisier
ten System anzuordnen sind.
In heutigen computergestützten Systemen zur Steuerung von
beispielsweise Herstellungs- und Prozeßindustrieanlagen, wie
zum Beispiel chemische Anlagen, Ölraffinerien, Zellstoff-
und Papiermühlen, Stahlwerken, automatisierte Fabriken und
so weiter oder anderen Steuersystem, wie zum Beispiel Ver
kehrsregelungssysteme, gibt es typischerweise einen großen
Bereich unterschiedlicher Anwendungen unterschiedlicher Her
kunft, die in einem einzigen Steuersystem integriert werden
müssen. Ferner können zu einem Steuersystem mehrere Computer
gehören, die durch ein Datenübertragungsnetzwerk miteinander
verbunden sind, in welchem die genannten Anwendungen in ver
schiedenen Konfigurationen für verschiedene Installationen
verteilt sind. Bei einem Übertragungsnetzwerk kann es sich
um ein geschlossenes lokales Netzwerk handeln (zum Beispiel
ein lokales Bereichsnetzwerk LAN), ein geschlossenes glo
bales Netzwerk (beispielsweise ein Intranet-Netzwerk) oder
ein offenes globales Netzwerk (beispielsweise das Internet).
Objektorientierte Programmiersprachen und Verfahren wurden
eingeführt, um kürze Zeiten für die Entwicklung computeri
sierter Anwendungen zu ermöglichen und die Einfügung oder
Integration neuer Anwendungen zu erleichtern. Ein Ziel der
objektorientierten Techniken besteht darin, die Aufgabe in
kleinere autonome Entitäten zu zerlegen, die in der Lage
sind, zusammen zu arbeiten, um die benötigte Funktionsviel
falt verfügbar zu machen. Diese individuellen Entitäten wer
den Objekte genannt. Bei der Entwicklung des Satzes von
Steuerbefehlen (das heißt der Steuersoftware) bestimmt der
Entwickler, welche Objekte benötigt werden sowie die Wech
selbeziehungen jedes ausgewählten Objektes mit anderen Ob
jekten. Wenn man das Steuerprogramm laufen läßt, kann eine
Funktionalität des Programms ein Objekt aufrufen, welches in
einem Datenbestand des Steuersystems gespeichert ist. Ein
Beispiel für ein Objekt, das bei der Steuerung von Abläufen
in einer Verarbeitungsanlage aufgerufen werden muß, ist eine
bestimmte Pumpe an einer bestimmten Stelle des Prozesses. Zu
den Beispielen für objektorientierte Technologien, ohne daß
diese hierauf beschränkt wären, gehören Technologien wie C++
oder Java.
Ein Objekt kann verschiedene Aspekte haben, wobei jeder
Aspekt eine Beschaffenheit und/oder eine Funktion des Objek
tes genauer definiert. Das heißt, einem Objekt können ein
oder mehrere verschiedene Aspekten zugeordnet sein, die Fa
cetten einer Entität der realen Welt repräsentieren, welche
das Objekt repräsentiert. Ein Aspekt kann ein Stück der
Funktionalität des Objektes verfügbar machen. Ein "Exemplar"
(Instanz) eines Objekts bezieht sich typischerweise auf ein
Objekt, das angelegt (instantiiert) wurde, um eine Verbin
dung mit notwendigen Aspekten herzustellen. Ein Aspekt kann
entweder exklusiv sein oder für mehrere Objekte da sein. Ein
Objekt kann einen Aspekt von einem anderen Objekt übernehmen
(erben).
Wenn ein Objekt zur Verwendung in einem Programm aufgerufen
werden soll, muß es lokalisiert werden. Das heißt, es muß
ein Weg vorhanden sein, das Objekt zu finden, so daß das Ob
jekt aufgerufen werden kann. Die Objekte werden typischer
weise durch ihre Namen aufgerufen und lokalisiert, daher der
Ausdruck Namenssuche. Um die Namenssuche zu erleichtern,
sind die Objektnamen herkömmlicherweise in einer hierarchi
schen Ordnung mittels sogenannter Verzeichnis- oder Ordner
bäumen angeordnet. Der Baum ist in der Weise angeordnet, daß
er einen Hauptordner (Stamm) und eventuell Unterordner hat,
die von dem Hauptordner abhängig sind. Die Unterordner kön
nen durch Angabe des Namens des Hauptordners und irgendwel
chen möglichen anderen Unterordnern des Baumes zwischen dem
Hauptordner und dem verlangten Unterordner gefunden werden.
In einer herkömmlichen baumartigen Anordnung kann ein Objekt
nur in einem Verzeichnis oder Ordner eingeordnet werden. Um
das Objekt zu finden, wie zum Beispiel eine bestimmte Pumpe
in einer Anlage, muß die Suchfunktion die gesamte Liste oder
Tabelle von Pumpen in einem gegebenen Ordner für eine gege
bene Anlage durchlaufen. Außerdem muß die Suchfunktion den
genauen Namen oder eine andere Identität des Objekts, wie
zum Beispiel die ID-Nummer der Pumpe, kennen, um in der Lage
zu sein, das Objekt zu lokalisieren. Wenn das Objekt in ei
nem Unterordner eines Ordners angeordnet ist, (welcher Ord
ner seinerseits ein Unterordner des ihm übergeordneten Ord
ners sein kann), muß die Suchfunktion zusätzlich zu dem ge
nauen Namen des Objekts, die genauen Suchnamen für alle
diese Ordnereinheiten in dem Pfad zwischen dem Hauptordner
(Stammordner) und dem Ordner kennen, der das verlangte Ob
jekt enthält.
Den Ausführungsformen der vorliegenden Erfindung liegt die
Aufgabe zugrunde, sich mit einem oder mehreren der oben ge
nannten Probleme zu befassen.
Gemäß einem Gesichtspunkt der vorliegenden Erfindung ist ein
Verfahren in einem objektorientierten Computersystem vorge
sehen, bei dem Objekte Beziehungen miteinander haben können
und zu welchem Verfahren gehören: Der Empfang einer Such
frage nach einen Pfad aus miteinander in Beziehungen stehen
den Objekten, wobei die Suchfrage Informationen enthält,
welche ein Objekt und dem Objekt zugeordnete Beziehungen be
treffen; eine Analyse der verschiedenen mit den Objekten
verbundenen Beziehungen in dem System, um Objekte auszuwäh
len, die auf den genannten in der Suchfrage enthaltenen In
formationen basieren; und die Auswahl eines Pfades von in
Beziehung miteinander stehenden Objekten auf der Grundlage
der genannten Analyse, wobei eines der Objekte in dem Pfad
das in der Suchfrage angegebene Objekt ist.
Der Pfad der in Beziehung stehenden Objekte kann sich zwi
schen dem genannten einen Objekt und einem Stamm von Struk
turen erstrecken, wobei die genannte Struktur angeordnet
ist, um Objekte relativ zueinander zu organisieren. Zu der
Analyse kann die Bestimmung der Anzahl von Beziehungen gehö
ren, die jedes analysierte Objekt mit anderen Objekten hat.
Auf der Grundlage der Analyse kann ein Objekt als Ausgangs
punkt für weitere Prüfungen ausgewählt werden. Für die wei
tere Prüfung kann ein Objekt mit den geringsten Kosten aus
gewählt werden. Die Kosten können für jedes analysierte Ob
jekt auf der Grundlage der Anzahl von Beziehungen bestimmt
werden, die jedes Objekt mit anderen Objekten hat.
Die Suchfrage kann eine Kette von Namenselementen enthalten.
Die Kette von Namenselementen kann aufgebaut sein aus auf
einander folgenden Kennzeichen, wobei ein Rennzeichen der
Kette einen Namen eines Objekts angibt und ein anderes zu
dem erstgenannten Kennzeichen benachbartes Kennzeichen einen
Namen eines anderen Objekts angibt, wobei das genannte an
dere Objekt ein direktes oder indirektes Kind oder eine di
rekte oder indirekte Mutter des erstgenannten Objektes ist.
Zu der weiteren Prüfung kann ein Vergleichen der Beziehun
gen, die dem ausgewählten Objekt zugeordnet sind, mit Infor
mationen in der Suchfrage gehören.
Die Objekte können in verschiedenen Strukturen angeordnet
sein, wobei die Strukturen die Objekte verschiedenen Bezie
hungskategorien zuordnen. Das abgefragte Objekt und minde
stens ein anderes durch die Abfrage angegebenes Objekt kön
nen verschiedenen Strukturen zugeordnet sein. Die Objekte
können auch mehr als einen Namen haben. Die unterschiedli
chen Namen werden durch Aspekte des Objekts angegeben. Ein
Objekt kann auch an mehr als einer Stelle in der Struktur
angeordnet sein.
Die Kette aus Namenselementen kann mindestens ein Symbol
zwischen den Namenselementen aufweisen. Das mindestens eine
Symbol kann geeignet sein, die Beziehung zwischen der. Objek
ten zu beschreiben, welcher das genannte mindestens eine
Symbol zugeordnet ist.
Der Umfang der Suche, die als Antwort auf die Suchfrage
durchgeführt wird, kann durch Informationen in der Suchfrage
begrenzt werden. Der Umfang der Suche, die als Antwort auf
die Suchfrage durchgeführt wird, kann durch die Definition
von Begrenzungen in dem Suchumfang begrenzt werden. Objekte
für die Analyse der Beziehungen können auf der Grundlage der
in der Suchfrage enthaltenen Informationen ausgewählt wer
den.
Gemäß einem anderen Gesichtspunkt der vorliegenden Erfindung
ist ein Computerprogramm vorgesehen, welches einen Programm
code enthält zur Durchführung irgendeines der im Anspruch 1
oder in einem der von diesem abhängigen Ansprüchen genannten
Schritte, wenn das Programm auf einem Computer läuft. Der
Programmcode kann in einem vom Computer lesbaren Medium ge
speichert sein. Das Computerprogramm kann verwendet werden
zum Auffinden eines Objektes in einem computerisierten Steu
ersystem.
Gemäß einem anderen Gesichtspunkt der vorliegenden Erfindung
ist ein Verfahren in einem computerisierten Steuersystem
vorgesehen, zu welchem Verfahren dem gehören: Die Zuordnung
von Objekten, die Entitäten der realen Welt repräsentieren,
zu verschiedenen Beziehungsgruppen auf der Grundlage von Ei
genschaften der Entitäten der realen Welt; die Einleitung
einer Suche nach dem Objekt mittels einer Suchfrage-Kette,
welche das Objekt betreffende Informationen enthält; die Su
che nach dem Objekt auf der Grundlage von einem dem Objekt
zugeordneten Namen, von Beziehungen, die das Objekt mit an
deren Objekten hat, und von Informationen, die mit Bezie
hungsgruppen verknüpft sind, welche für das gesuchte Objekt
relevant sind; und die Auswahl eines Pfades von verknüpften
(d. h. in Beziehung stehenden) Objekten, der den Informatio
nen in der Suchfrage-Kette entspricht und das gesuchte Ob
jekt enthält.
Gemäß einem anderen Gesichtspunkt der vorliegenden Erfindung
ist ein Datenverarbeitungssystem vorgesehen, zu welchem ge
hören: Ein Prozessor, der für eine objektorientierte Daten
verarbeitung geeignet ist, ein Datenspeicher, der zur Spei
cherung von Datenobjekten geeignet ist, welche Objekte Be
ziehungen untereinander haben können und verschiedenen Be
ziehungsgruppen zugeordnet sein können, wobei das Datenver
arbeitungssystem geeignet ist, den Prozessor mit einer An
gabe über den Ort eines Objektes in dem Datenspeicher zu
versorgen auf der Grundlage von Informationen, die einen dem
Objekt zugeordneten Namen, Beziehungen, welche das Objekt
mit anderen Objekten hat, und die Beziehungsgruppen betref
fen.
Die Angabe kann auf einem Pfad verbundener (in Beziehung
stehender) Objekte basieren, wobei das Objekt eines der ver
bundenen Objekte in dem Pfad ist. Der Prozessor kann ge
eignet sein, eine Suchfrage zu erzeugen, die Informationen
enthält, die das Objekt und mindestens ein weiteres Objekt
betreffen, welches mit dem Objekt verbunden ist (in Bezie
hung steht). Der Prozessor kann geeignet sein, den Betrieb
eines Systems zu steuern, welches aus Entitäten der realen
Welt besteht, wobei die Entitäten der realen Welt von Objek
ten repräsentiert werden, die in der Speichereinrichtung ge
speichert sind.
Gemäß einem anderen Gesichtspunkt der vorliegenden Erfindung
ist ein Computer-Datensignal, eingerichtet für die Kommuni
kation in einem computerisierten System, vorgesehen, wobei
die Kommunikation mit den Orten von Objekten in einer Spei
chereinrichtung des Systems verbunden ist und die Objekte
Beziehungen untereinander haben können und verschiedenen Be
ziehungsgruppen zugeordnet sein können, und das Datensignal
Informationen enthält, die einem Ort eines Objekts in dem
Datenspeicher zugeordnet sind, basierend auf Informationen,
die einen dem Objekt zugeordneten Namen, Beziehungen, welche
das Objekt mit anderen Objekten hat, und die Beziehungsgrup
pen betreffen.
Die Informationen können mindestens einen Pfad von verbun
denen Objekten enthalten, wobei das Objekt eines der Objekte
in dem genannten mindestens einen Pfad von verbundenen Ob
jekten ist. Das Computer-Datensignal kann mittels einer
Suchfunktion des computerisierten Systems als Antwort auf
ein Suchfragesignal erzeugt werden, wobei das genannte Such
fragesignal Informationen enthält, die das Objekt und minde
stens ein weiteres Objekt betreffen, welches eine Beziehung
mit dem Objekt hat. Das computerisierte System kann geeignet
sein, auf der Grundlage des Computer-Datensignals den Be
trieb eines Systems zu steuern, welches aus Entitäten der
realen Welt besteht, wobei die Entitäten der realen Welt von
Objekten repräsentiert werden, die in dem Speicher gespei
chert sind.
Die Ausführungsformen der Erfindung stellen ein Verfahren
und eine Anordnung zur Verfügung, mit deren Hilfe eine Such
funktion nicht notwendigerweise den aktuellen Suchnamen ei
nes Objektes und/oder der Ordner in einem Pfad zu einem Ob
jekt kennen muß, sondern das Objekt auf der Grundlage einer
Analyse textabhängiger Informationen gefunden werden kann.
Die Suchfunktion kann schneller gemacht werden als dies mög
lich ist, wenn eine exakte Namensinformation für die Suche
erforderlich ist. Einige Ausführungsformen ermöglichen eine
Namenssuche in einem Zusammenhang, bei dem eine beachtlich
große Anzahl von Objekten in einem computerisierten System
vorhanden sind. Die zu lokalisierenden Objekte können eine
Anzahl von Strukturverknüpfungen (structure links) haben,
das heißt, Verbindungen zwischen Gruppen von Objekten, die
ihnen zugeordnet sind. Die Objekte können auch mehrere Namen
haben, und auf der Grundlage nur eines der verschiedenen
möglichen Namen lokalisiert werden. Es ist auch möglich, den
erforderlichen Systemaufwand, der für die Durchführung einer
Suche erforderlich ist, zu verkleinern. Die Ausführungsfor
men ermöglichen auch eine flexiblere Suchstrategie.
Zum besseren Verständnis der vorliegenden Erfindung wird nun
anhand von Beispielen auf die beigefügten Figuren Bezug ge
nommen. Es zeigen:
Fig. 1 Beziehungen, die zwischen Objekten bestehen können,
Fig. 2 Objekte, die in zwei Strukturen angeordnet sind,
Fig. 3, wie Objekte mit anderen Objekten gemäß einer Aus
führungsform der vorliegenden Erfindung in Beziehung
stehen können,
Fig. 4 eine schematische Darstellung einer Industrieanlage
und die Gruppierung von Objekten in verschiedenen
Strukturen und
Fig. 5 einen Programmablaufplan, der ein Ausführungsbei
spiel illustriert.
Im folgenden wird detaillierter ein Ausführungsbeispiel be
schrieben, bei dem eine "Namensfolge" als Suchfrage verwen
det wird, um einen Objekt-Identifikator auf der Grundlage
textabhängiger Informationen zu erhalten, die sich auf die
Beziehungen zwischen verschiedenen Objekten sowie auch auf
die Beziehungen zwischen verschiedenen Gruppen von Objekten
beziehen. Die zu suchenden Objekte können mehr als einen Na
men haben, und die Suche kann auf der Grundlage eines jeden
dieser Namen und/oder irgend einer anderen Suchrichtung oder
Suchanweisung erfolgen. Die Lokalisierung eines gesuchten
Objektes, welche die Suchfunktion liefert, kann einen Pfad
von verknüpften Objekten enthalten, welcher Pfad den Aufru
fer des Objektes zu dem gewünschten Objekt führt. Fig. 1
zeigt ein Beispiel verknüpfter Pfade zwischen Objekten.
Genauer gesagt, zeigt Fig. 1 sechs Objekte, die miteinander
in Beziehung stehen, sowie mehrere verschiedene Pfade zwi
schen den verknüpften Objekten. Beispielsweise bilden die
Objekte "Q", "B", "W" und "Z" einen Pfad. Der Ort des Ob
jekts "Z" kann angezeigt werden durch die Suchantwort, die
den Pfad, der zwischen "Q" und "Z" gebildet wird, beinhal
tet, worauf das Objekt "Z" lokalisiert und geholt werden
kann, indem man dem Pfad von "Q" oder jedem anderen Objekt
folgt auf dem Pfad zu dem Objekt "Z". Fig. 1 enthält auch
eine Tabelle für Möglichkeiten zur Lokalisierung des Objekts
"C". Die Möglichkeit der Verwendung verschiedener Symbole in
einer Suchfolge wird später in dieser Beschreibung genauer
erörtert.
Fig. 2 ist ein einfaches Beispiel, welches Objekte zeigt,
die in Objektgruppen in zwei verschiedenen Strukturen ange
ordnet sind. Darin bezieht sich eine Objektgruppe auf eine
Gruppe von Objekten, welche ein Objekt und alle Nachfahren
(Abkömmlinge) dieses Objektes enthält. In diesem Zusammen
hang beziehen sich die Strukturen auf einen Weg zur Organi
sierung der verschiedenen Gruppen von Objekten in einer
"baumartigen" Anordnung, die auf den Beziehungen oder Zuord
nungen zwischen den Objekten in jeder Gruppe und auch den
Beziehungen zwischen den verschiedenen Gruppen basiert. Je
des Objekt ist mittels einer Strukturverknüpfung des Objekts
mit einer passenden Struktur verknüpft. Ein Beispiel für
Strukturverknüpfungen ist eine Strukturverknüpfung zwischen
einem Objekt "Pumpe 2" und der Struktur 1, die durch den
Pfeil SL angedeutet ist.
Wie Fig. 2 zeigt, kann ein Objekt in mehreren verschiedenen
Strukturen angeordnet sein, das heißt sich befinden. Ge
nauer, ein Objekt "Gefäß" ist verknüpft mit zwei verschie
denen Strukturen 1 und 2. Man kann erkennen, daß das Objekt
"Gefäß" in einer ersten Struktur 1 angeordnet ist, die einen
Stamm "Prozeßbereich 1" hat, und auch in einer zweiten Struk
tur 2, die einen Hauptstamm "Gebäude 3" hat. In der zweiten
Struktur ist das Objekt "Gefäß" unter einem Unterstamm "Raum
361" eingeordnet, das heißt, es ist über ein Objekt "Raum
361" indirekt mit der Struktur "Gebäude 3" verknüpft. Obwohl
nicht dargestellt, sollte beachtet werden, daß ein Objekt
auch in mehreren Positionen innerhalb einer Struktur vorhan
den sein kann.
Die Strukturen können auf verschiedenen Eigenschaften des
Systems basieren. Eine Struktur kann auf dem Ort der Entitä
ten der realen Welt, welche die Objekte repräsentieren, ba
sieren, eine kann auf Steuermerkmale basieren und eine auf
funktionale Merkmale und so weiter.
Es ist zu beachten, daß obgleich Fig. 1 nur einen Namen pro
Objekt zeigt, jedes Objekt mehrere verschiedene Namen haben
kann.
Jede Verknüpfung oder Plazierung in den Strukturen wird
durch eine Strukturverknüpfung repräsentiert. Jede Verknüp
fung kann in einem Objekt als ein Strukturverknüpfungs-
Aspekt dargestellt werden. Die verschiedenen Namen, die sich
auf Objekte beziehen, können ebenfalls als Aspekte darge
stellt werden. Fig. 3 zeigt vier Objekte, welche durch die
Aspekte "Verknüpfung 1" und "Verknüpfung 2" verknüpft sind.
Die Aspekte sind in Verbindung mit jedem der Objekte ange
ordnet. Mittels der Aspekte können die Objekte in einer
hierarchischen Struktur angeordnet werden, die einen klaren
Stamm und eine klare Schar von (untergeordneten) Kindern auf
jeder Ebene der Hierarchie haben. Das bedeutet, daß die
Aspekte verwendet werden können, um eine Gruppierung der Ob
jekte und/oder eine Plazierung der Objekte zu ermöglichen,
zum Beispiel in der "baumartigen" strukturierten Anordnung
der Fig. 2.
Wie bereits erwähnt, kann ein Objekt auf der Grundlage von
Informationen lokalisiert werden, welche die Beziehungen
zwischen verschiedenen Objekten und/oder zwischen verschie
denen Objektgruppen betreffen. Informationen, welche diese
Beziehungen betreffen, können auf Informationen darüber be
ruhen, auf welche Weise die Objekte mittels der Strukturver
knüpfungs-Aspekte verknüpft sind.
Gemäß einer bevorzugten Ausführungsform erfolgt eine Such
frage nach einem Objekt auf der Grundlage einer Namenskette.
Eine Namenskette kann aus einer Folge von Namenselementen
aufgebaut sein. Die Folge von Namenselementen kann Namensa
spekte und einen Satz spezieller Symbole enthalten. Diese
Symbole können verwendet werden, um zu beschreiben, wo ein
Objekt in der Kette gefunden werden kann. Als spezielles
Symbol kommt jedes passende Symbol oder Kombination aus die
sen in Betracht, wie zum Beispiel ". . .", ". .", "." oder "/",
"/ / " und so weiter.
Um ein Beispiel für die Verwendung der Symbole zu geben,
wenn die obigen Satzzeichensymbole verwendet werden, kann
das aus den drei Punkten bestehende Symbol in der Namens
kette dazu bestimmt sein, eine (übergeordnete) Mutter zu be
zeichnen, das aus zwei Punkten bestehende Symbol kann dazu
bestimmt sein, die aktuelle Mutter zu bezeichnen, und das
aus einem Punkt bestehende Symbol kann dazu bestimmt sein,
die aktuelle Strukturverknüpfung zu bezeichnen. Diese Sym
bole können so gedeutet werden, daß eine Namenskette ein Ob
jekt identifiziert, und dann das nächste Zeichen in der
Kette zur Angabe des Namens eines untergeordneten Objektes
(Kindes) in einer Struktur verwendet wird, falls nicht ein
spezielles Symbol Beschränkungen bezüglich der möglichen
Strukturen setzt.
Das folgende Beispiel erläutert die Verwendung der Beziehun
gen zwischen den Objekten und Symbolen zwischen den Objekt
namen. Eine Namenskette "A B C . . . D E" befiehlt der Such
funktion, eine Schar von Objekten zu finden, die die gegebe
nen Kriterien erfüllt. Genauer gesagt, die obige Kette gibt
die folgenden Befehle: Finde ein Objekt A, welches ein Kind
B (möglicherweise kein direktes) hat, wobei B ein Kind C
hat. Ferner soll der Name C eine Mutter (auf irgendeiner
Ebene) mit dem Namen D haben, die ihrerseits ein Kind E ha
ben. Es sollte beachtet werden, daß bei diesem Beispiel je
der Strukturenübergang bei jeder Kind- oder jeder Mutterbe
ziehung erfolgen kann.
Der Begriff "direktes Kind" bezieht sich auf ein Kind, wel
cher ein direkter Abkömmling eines Objektes ist. Der Aus
druck "irgendein Kind" bezieht sich auf ein Kind, welches
ein direktes Kind oder ein indirektes Kind (das heißt ein
direktes Kind irgendeines direkten Kindes) in der Struktur
sein kann, welche die Beziehung zwischen den Objekten defi
niert. Es sollte beachtet werden, daß der Beziehungspfad
nicht auf drei Ebenen von Objekten beschränkt ist, (das
heißt Mutter - erstes Kind - zweites Kind), sondern mehr als
drei Generationen von Beziehungen umfassen kann.
Die Namenskette kann so definiert sein, daß sie die Suche
beschränkt, zum Beispiel nur nach direkten Kindern. Die An
zahl der zu untersuchenden Namensaspekte kann auch reduziert
sein. Beispielsweise kann dem Namen eine Definition in ecki
gen Klammern vorausgehen, welche den Bereich der Aspekte
und/oder Namen begrenzt. In diesem Falle kann die Kette aus
Objektnamen geschrieben werden als "A/ relativer Name B/C",
wobei der relative Name die Namenskategorie ist, welche ge
prüft werden muß. Eine andere Möglichkeit, die Syntax zu re
duzieren oder den Suchbereich zu begrenzen, besteht darin zu
definieren, welche Hauptkategorien (aber nichts weiter) wäh
rend der Namenssuche geprüft werden sollen. Bei diesem Vor
gehen kann der Programmierer diejenigen Hauptkategorien de
finieren, die durchsucht werden müssen. In der gleichen
Weise ist es möglich, den Satz verfügbarer Strukturenüber
gänge durch ausdrückliche Angabe der Strukturen zu begren
zen, die geprüft werden sollen. Dies kann beispielsweise
vorgenommen werden durch Definition der verfügbaren Struktu
renübergänge mittels geeigneter Symbole in der Kette.
Das nächste Beispiel wird unter Bezugnahme auf die Fig. 2
und 4 beschrieben. Fig. 4 zeigt eine Werksanlage 10. Die
Anlage besteht aus drei Gebäuden B1 bis B3. In jedem Gebäude
befinden sich eine oder mehrere Pumpen P1 bis P5 und Ventile
V1 bis V4. Fig. 4 zeigt ferner drei verschiedene Prozeßbe
reiche PA1 bis PA3. Die Prozeßbereiche sind unabhängig von
den Gebäuden; sie sind aber in einer geeigneten Weise abhän
gig von den Funktionen des Prozesses. Daher gehört bei
spielsweise zum Prozeßbereich PA1 die Pumpe P1 und das Ven
til V4 des Gebäudes B3 und die Pumpe P2 des Gebäudes B2. Der
Prozeßbereich PA1 enthält ferner ein Ventil Vn und eine
Pumpe Pn, die keinem Gebäude (zumindest nicht direkt) zuge
ordnet sind.
Der Betrieb der verschiedenen Komponenten der Anlage 10 wird
von einem Computersystem 6 gesteuert. Das Computersystem 6
kann ein geeignetes Datenverarbeitungsgerät haben, wie bei
spielsweise eine Zentraleinheit (CPU) 7 eines PCs und eine
Datenbasis 9, wie zum Beispiel eine Festplatte eines PCs.
Der Computer 6 kann mit Hilfsgeräten versehen sein, wie zum
Beispiel einem Anzeigegerät 5, einer Tastatur, einer Maus,
und so weiter. Der Computer kann mit den verschiedenen Ele
menten der Anlage 10 über eine Datenverbindung 8, wie zum
Beispiel einem lokalen Netzwerk (LAN), einem anderen Daten
netzwerk oder einem Feldbus, kommunizieren. Der Fachmann
kennt die verschiedenen Möglichkeiten für die Basiskomponen
ten eines computerisierten Steuersystems, und diese werden
daher hier nicht weiter im Detail erläutert.
Die Suchfunktion des computerisierten Steuersystems erhält
eine Suchfolge "Gebäude 3/Pumpe/AI2", wobei "AI2" der Name
eines Objektes ist, welches den analogen Eingang für die
Pumpe repräsentiert. Das Objekt "Gebäude 3" (B3 in Fig. 4)
ist in der zweiten Struktur 2 angeordnet. Somit soll die
Suchfunktion die Ortsstruktur 2 prüfen, um das Objekt
"Gebäude 3" zu finden. Wie jedoch Fig. 4 zeigt, kann der Ob
jektname "Gebäude 3", das heißt das Gebäude B3, eine Anzahl
von Pumpen enthalten, das heißt die Pumpen P1 und P5. Daher
kann die Suchfunktion nur die Angabe erhalten, daß minde
stens eine Pumpe in dem Objektnamen "Gebäude 3" vorhanden
ist. Es kann sich jedoch um jede Pumpe handeln, und daher
kann die Suchfunktion nicht definieren, welche der Pumpen
die richtige ist. Somit kann der Eingangs-Objektname "AI2"
nicht allein auf der Grundlage der Ortsstruktur gefunden
werden, oder es kann nicht ein einziger Name sein, sofern
dieser nicht durch einen Zusammenhang näher spezifiziert
ist.
Um die Pumpe zu finden, die einen analogen Eingang mit dem
Namen AI1 hat, wird das Steuersystem auch Informationen ver
wenden, die der Ortsstruktur oder irgend einer anderen
Struktur, zum Beispiel der Steuerstruktur oder der Funkti
onsstruktur, zugeordnet sind, um einen analogen Eingang mit
dem Namen "AI2" zu finden. Während der Suche werden mögliche
Namen für die Objekte und die Beziehungen zwischen den Ob
jekten und den Objektgruppen analysiert. Eine beispielhafte
Prozedur hierfür wird unten anhand der Fig. 5 genauer er
läutert. In dem Beispiel der Fig. 4 sollte die Suchfunktion
Informationen analysieren, welche die Beziehungen zu den Ob
jekten der Prozeßbereiche PA1 und PA3 betreffen sowie Ob
jekte, welche dem Gebäude B3 und/oder Pumpen im Gebäude B3
zugeordnet sind. Das Endresultat sollte sein, daß der Name
AI2 der Pumpe P1 im Gebäude B3 zugeordnet ist.
Die Suchfunktion kann von der CPU 7 oder einem anderen Pro
zessor des Computers 6 in Fig. 4 zur Verfügung gestellt
werden. Die Suchfunktion kann auf ein Abfragesignal mit ei
nem Computerdatensignal antworten. Das Antwortsignal wird
von der Suchfunktion in der Weise erzeugt, daß es Informa
tionen über den Ort des gesuchten Objektes in dem Datenspei
cher 9 enthält. Die Information basiert auf Informationen,
die den Namen, der dem gesuchten Objekt zugeordnet ist, be
treffen, auf Beziehungen des Objektes, welche das Objekt mit
mit anderen der Objekten und den Beziehungsgruppen hat. Ge
nauer gesagt, die von der Suchfunktion gelieferte Informa
tion enthält zumindest einen Pfad von verknüpften Objekten
derart, daß das gesuchte Objekt eines der Objekt des genann
ten mindestens einen Pfades von verknüpften Objekten ist.
Der Prozessor 7 des Computers kann in der Lage sein, die
Steuerfunktion zur Verfügung zu stellen und das Abfragesi
gnal zu erzeugen, welches der Suchfunktion zugeführt wird.
Die Suchfunktion kann auch vom Prozessor 7 zur Verfügung ge
stellt werden. Die Suchfunktion und die Steuerfunktion kön
nen auch von verschiedenen Prozessoren oder selbst von ver
schiedenen Computerentitäten zur Verfügung gestellt werden,
die mit einer Kommunikationsverbindung versehen sind, die
eine Datenübertragung zwischen den Funktionen ermöglicht.
Ein Algorithmus, der verwendet werden kann, um den Satz der
verknüpften Objekte zu berechnen, der in einer vorgegebenen
Weise auf eine gegebene Abfragekette zutrifft, ist wie folgt
aufgebaut (siehe auch Fig. 5):
- 1. Vorbereitung: Berechne oder wähle in anderer Weise einen
Satz verfügbarer Objekte (und/oder Namen von Objekten) in
dem System. Die verfügbaren Objekte sind erhältlich bei
spielsweise aus einem Objekt-Verzeichnisdienst oder der
gleichen.
- 2. Vorbereitung: Berechne die Anzahl der Beziehungen, die
durch jedes der verfügbaren Objekte in dem System möglich
sind und ordne die berechnete Anzahl von Beziehungen je
dem gewählten Objekt als Kosten zu.
- 3. Zerlege die Abfragefolge in Zeichen.
- 4. Wähle ein Objekt, welches die geringsten Kosten hat (das
heißt, welches die kleinste Anzahl von Beziehungen be
gründet).
- 5. Überprüfe die Beziehungen des ausgewählten Objekts, um
einen Pfad zu wählen, welcher zu der gegebenen Abfrage
paßt, oder Pfade, welche zu der Abfrage passen.
- 6. Liefere als Antwort den ausgewählten einen oder die aus
gewählten mehreren Pfade aus verknüpften Objekten (oder
Objektnamen).
Die verfügbaren Objekte, die berechnet oder in anderer Weise
für die Analyse ausgewählt werden, können alle möglichen Ob
jekte des Systems sein. Gemäß einer alternativen Ausführung
ist die Anzahl der verfügbaren Objekte durch ein passendes
Kriterium begrenzt, wie zum Beispiel durch Auswahl nur einer
begrenzten Anzahl der verfügbaren Objekte. Die Begrenzung
der zu analysierenden Objekte kann auf der Grundlage von In
formationen in der Suchfrage erfolgen. Es ist auch möglich,
die möglichen Übergänge zwischen Strukturgruppen zu begren
zen. Die Suche kann auch beispielsweise begrenzt werden auf
bestimmte Objektkategorien, die in der Namenskette definiert
sind.
Die Anzahl der Beziehungen, die jedes der analysierten Ob
jekte mit anderen Objekten hat, wird durch die Analyse be
stimmt. Auf der Grundlage der Analyse wird ein Objekt ausge
wählt, um als Ausgangspunkt für die weitere Prüfung zu die
nen. Wenn ein solcher Pfad von verknüpften Objekten auf der
Grundlage des ausgewählten Objektes gefunden werden kann,
welcher zu der Suchfrage paßt, wird der gefundene Pfad von
ausgewählten Objekten als Antwort auf die Suchfrage ausgege
ben. Wenn ein passender Pfad von verknüpften Objekten auf
der Grundlage des ausgewählten Objektes nicht gefunden wer
den kann, erfolgt als Antwort eine Meldung, die angibt, daß
das Objekt nicht gefunden wurde. Ein anderes Objekt kann
ausgewählt werden, worauf der Prüfvorgang für dieses Objekt
wiederholt wird. Die weitere Prüfvorgangsschleife kann
durchlaufen werden, bis ein Pfad von verknüpften Objekten ge
funden wurde, welcher zu den Suchkriterien paßt.
Das Objekt, das für die weitere Prüfung ausgewählt wird,
kann ein Objekt mit den niedrigsten Kosten sein. Die Kosten
werden für jedes analysierte Objekt bestimmt und basieren
auf der Anzahl von Beziehungen, die jedes Objekt mit anderen
Objekten hat. Je größer diese Anzahl, umso größer die Ko
sten.
Die Kostenfunktion wird durch das folgende einfache Bei
spiel dargestellt: Wenn die Beziehungsverknüpfungen
zwischen den ausgewählten Objekten A, B und C sind A/B und
B/C, so bedeutet dies, daß A eine Beziehung mit anderen Ob
jekten (mit B) hat, B zwei Beziehungen (mit A und C) hat und
C eine Beziehung (mit B) hat. Mit anderen Worten, A und C
haben beide die geringsten Kosten und B hat die höheren Ko
sten. Da A und C nur eine Beziehung mit anderen Objekten ha
ben, kann jedes von ihnen als Ausgangspunkt gewählt werden.
Die Wahl zwischen A und C kann auf der Grundlage irgendwel
cher passenden Kriterien erfolgen. Beispielsweise kann das
erste Objekt (das heißt A) aufgrund der alphabetischen Rei
henfolge gewählt werden.
Die Namenssuche bietet insbesondere Vorteile bei Anordnun
gen, bei denen eine Anzahl von Objekten in einem Bereich von
Objekten existieren und jedes Objekt eine Anzahl verschiede
ner Namen und ihm zugeordnete Strukturverknüpfungen haben
kann.
Es sollte beachtet werden, daß, obgleich die Ausführungsfor
men der vorliegenden Erfindung anhand von Ausrüstungen in
Prozeßanlagen beschrieben wurden, Ausführungsformen der vor
liegenden Erfindung auf allen Gebieten der Datenverarbeitung
und auf alle Arten von Objekten anwendbar sind. Beispiels
weise kann die Namenssuche in verschiedenen Arten von Daten
netzwerken durchgeführt werden, wie zum Beispiel in lokalen
Netzwerken (LAN), Intranet-Netzwerken und offenen Datennet
zen, wie zum Beispiel dem Internet. Die Ausführungsformen
können auch in Systemen eingesetzt werden, die eine ver
teilte Datenverarbeitung anwenden, wie zum Beispiel in ver
teilten Steuerprogrammen oder in Steuerprogrammen, die ver
teilte Aufgaben ausführen.
Es ist auch darauf hinzuweisen, daß, während oben beispiel
hafte Ausführungsformen der Erfindung beschrieben werden, es
verschiedene Änderungen und Modifikationen gibt, die an den
offenbarten Lösungen vorgenommen werden können, ohne den Be
reich der vorliegenden Erfindung, wie er in den beigefügten
Ansprüchen definiert ist, zu verlassen.