Die vorliegende Erfindung bezieht sich auf die Verarbeitung
von Daten und im besonderen, aber nicht ausschließlich, auf
objekt-orientierte Datenverarbeitung.
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 oder intelligente Steuerungssysteme
für den Bau, gibt es typischerweise einen großen Bereich un
terschiedlicher Anwendungen unterschiedlicher Herkunft, die
in einem einzigen Steuersystem integriert werden müssen.
Ferner gehören zu einem Steuersystem typischerweise mehrere
Computer, die durch ein Datenübertragungsnetzwerk miteinan
der verbunden sind, in welchem die genannten Anwendungen in
verschiedenen Konfigurationen für verschiedene Installatio
nen verteilt sind. Bei dem Ü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).
Herkömmliche Methoden für diese Integration erfordern erheb
lich lange Entwicklungszeiten, die, zum Beispiel erhebliche
Änderungen der Anforderungen zur Folge haben, bevor solche
Steuerprogramme vervollständigt und zum Gebrauch bereit
sind. Ein zweites Problem bei den herkömmlichen Entwick
lungsverfahren besteht darin, daß es schwierig und zeitrau
bend ist, solche Steuerprogramme unter Aufnahme neuer Anfor
derungen zu aktualisieren, wie zum Beispiel die Integration
zusätzlicher oder neuer Anwendungen. Das Schreiben und Modi
fizieren von Steuersystemprogrammen zur Kombination neuer
Anwendungen mit älteren bereits bestehenden Anwendungen,
welche älteren Anwendungen manchmal als unmoderne (legacy)
Anwendungen bezeichnet werden, hat sich ebenfalls als
schwierig, zeitraubend und kostspielig erwiesen. Manchmal
hat die Aktualisierung ein Ersetzen der gesamten existieren
den Anwendung durch eine neuere verlangt.
Die Einführung von objekt-orientierten Programmiersprachen
und Methoden hat zu etwas kürzeren Entwicklungszeiten ge
führt und hat es etwas leichter gemacht, neue Anwendungen zu
inkorporieren oder zu integrieren. Ein Ziel der objekt-ori
entierten Techniken besteht darin, die Aufgabe in kleinere
autonome Entitäten zu zerlegen, die imstande sind zusammen
zuarbeiten und die benötigte Funktionalität zu gewähren.
Diese individuellen Entitäten werden Objekt genannt. Bei der
Entwicklung eines Satzes von Steuerbefehlen (das heißt der
Steuersoftware) bestimmt der Entwickler, die benötigten Ob
jekte und die Wechselbeziehungen eines jeden gewählten Ob
jektes mit anderen Objekten. Beispiele objektorientierter
Technologien sind, ohne Begrenzung auf diese, Technologien,
wie zum Beispiel C++ oder Java.
Die objekt-orientierten Technologien verlangen typischer
weise die Anlegung (Instantiierung) der Objekte, um Exem
plare (Instanzen) der Objekte zu erhalten, die der Computer
in Datenverarbeitungs-Operationen verwenden kann. Die Anle
gung hat sich herkömmlicherweise bezogen auf die Verwendung
von Objektklassen, welche die Funktion eines Objektes ent
halten. Die Exemplare, die durch die Anlegung geschaffen
werden, bilden individuelle Entitäten, die durch die Hinzu
fügung verschiedener Eigenschaften einzigartig gemacht wer
den können. Die Anpassung eines Objektes erfolgt durch Ver
änderung dieser Eigenschaften.
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 Aspekt
kann entweder exclusiv sein oder mit mehreren Objekten ge
teilt werden. Ein Objekt kann einen Aspekt von einem anderen
Objekt übernehmen (erben).
Objekte können unterteilt werden in "Objekttyp"-Objekte und
Exemplare. Die Objekte, die zu den Exemplaren gehören, kön
nen Aspekte von anderen Objekttypen und anderen Objekten
übernehmen. Die Aspekte von Objekttyp-Objekten können von
mehreren Exemplaren benutzt werden.
Der Begriff "Objekttyp" bezieht sich auf eine Funktionali
tät, die verwendet werden kann in der Anlegungsphase von Ob
jekten, um diejenigen Exemplare wieder zu verbinden, die er
forderlich sind, um eine Entität oder ein Objekt der realen
Welt in einem computerisierten System zu modellieren. Ein
Objekt kann ein zusammengesetztes Objekt oder ein einfaches
Objekt sein. Der Begriff "zusammengesetztes Objekt" bezieht
sich auf ein Objekt, welches mehrere Objekte repräsentiert,
das heißt eine Kollektion von Objekten. Ein zusammengesetz
ter Objekttyp seinerseits kann definiert werden als ein Ob
jekttyp, der in der Anlegungsphase in der Anlegung von meh
reren Objekten resultiert, die von unterschiedlichem Typ
sein können. Hierbei wird Bezug genommen auf Fig. 2, welche
den Unterschied zwischen einem zusammengesetzten Objekttyp
(Persontyp A) und einem einfachen Objekttyp (Herztyp A)
zeigt.
IEC Standard DIS ISO/IEC 1346-1 1995 "Structuring principles
and reference designations", enthält ein Hinweisbezeich
nungssystem für die unzweideutige Identifikation von Teilen
eines jeden Systems im allgemeinen technischen Kontext, wie
zum Beispiel in einer Herstellungsfirma, einer Anlagen- ei
ner Betriebsfirma oder einer anderen Organisation. In dieser
Beschreibung werden die Begriffe Objekt, Aspekt und Hinweis
bezeichnungen insbesondere verwendet, um auf solche Teile
eines Systems im allgemeinen technischen Kontext hinzuweisen
in Übereinstimmung mit den Definitionen in dem DIS Standard
ISO/IEC 1346-1. Außerdem werden bestimmte zusätzliche Typen
von Objekten und Aspekten im Verlauf dieser Beschreibung zu
sätzlich definiert werden.
Die US 5 787 425 beschreibt ein Konzept einer Client-Server-
Beziehung zwischen Objekten in einem objekt-orientierten
Computerprogramm. Die Objekte können miteinander kommunizie
ren, beispielsweise in der Weise, daß ein erstes Objekt auf
Daten zugreift, die sich in einem zweiten Objekt befinden.
Wenn das erste Objekt Zugriff auf einige Daten benötigt, die
vom zweiten Objekt kontrolliert werden, wird das erste Ob
jekt als Client des zweiten Objekts betrachtet, welches sei
nerseits als Server betrachtet wird. Um auf die vom Server
objekt, in diesem Beispiel also das zweite Objekt, kontrol
lierten Daten zuzugreifen, wird eine der Operationen des er
sten Objekts, dem Clientobjekt, eine der Operationen des
Serverobjekts aufrufen. Die so aufgerufene Operation des
Serverobjekts wird dann ausgeführt, um auf die Daten zuzu
greifen und/oder sie zu manipulieren zu Gunsten des Client-
Objekts.
Der konventionelle Systemaufbau erfordert jedoch, daß ein
Objekt in einem computerisierten System eine vorherige In
formation über eine Anwendung hat, damit das Objekt bei
spielsweise auf eine Methode zugreift, die von der Anwendung
implementiert wird. Die Identitäten der Objekte müssen den
jenigen Anwendungen bekannt sein, die auf andere Anwendungen
zugreifen wollen. Dies kann jedoch nicht immer ein optimaler
Weg zum Aufbau aller Systeme mit Computern sein, und/oder
die Schaffung von Exemplaren von Objekten kann beträchtlich
viel Zeit erfordern. Die Erfinder haben herausgefunden, daß
ein Bedarf nach einem neuen Weg zum Aufbau und zur Anlegung
von Systemen zur Integration von Anwendungen besteht der
Art, daß verschiedene Anwendungen sowohl völlig unabhängig
sein können, basierend auf verschiedenen Technologien, als
auch ohne gegenseitige Kenntnis ihrer Spezifika sein können
und gleichzeitig in der Lage sind, miteinander zusammen zu
arbeiten, um die kollektive Funktionalität des computeri
sierten Systems auszuführen.
Ausführungsformen der vorliegenden Erfindung zielen darauf
ab, sich mit einem oder mehreren der oben genannten Nach
teile des Standes der Technik zu beschäftigen.
Gemäß einem Gesichtspunkt der vorliegenden Erfindung ist ein
Verfahren für ein computerisiertes System vorgesehen, wel
ches zur Verarbeitung von Daten geeignet ist, die Entitäten
der realen Welt zugeordnet sind, basierend auf Objekten,
welche die Entitäten der realen Welt repräsentieren, zu wel
chem Verfahren gehören: Herstellung zumindest eines formalen
Exemplars, wobei das zumindest eine formale Exemplar Infor
mationen enthält, welche die Anlegung von mindestens einem
Objekt betreffen; und Zuordnung des mindestens einen forma
len Exemplars zu einem oder mehreren formalen Exemplaren
oder Gruppen von formalen Exemplaren auf der Grundlage von
Informationen über den Typ des genannten mindestens einen
Objekts oder des mindestens einen formalen Exemplars.
Zu dem Verfahren kann als weiterer Schritt das Anlegung
des mindestens einen Objekts auf der Grundlage der Informa
tionen gehören, die in dem zumindest einen formalen Exemplar
enthalten sind, und von Informationen, die mindestens eine
Gruppe betreffen, der das genannte mindestens eine Exemplar
zugeordnet ist. Der Schritt der Anlegung kann die Herstel
lung von mindestens einem realen Exemplar einschließen, wel
ches von dem Computersystem bei der genannten Verarbeitung
von Daten verwendet werden soll.
Es kann eine Vielzahl von formalen Exemplaren hergestellt
werden, wobei verschieden Gruppen von formalen Exemplaren
verschiedene Objekttypen repräsentieren. Die Gruppen können
auf Merkmalen der Entitäten der realen Welt basieren, die
von den Objekten repräsentiert werden. Die verschiedenen
Gruppen von formalen Exemplaren können in Strukturen ange
ordnet sein, basierend auf dem Typ der Objekte, denen die
individuellen Gruppen zugeordnet sind. Die Strukturen können
verwendet werden, um die Beziehungen zwischen verschieden
Gruppen von formalen Exemplaren zu beschreiben.
Ein formales Exemplar kann einer Vielzahl von verschiedenen
Gruppen formaler Exemplare zugeordnet sein, basierend auf
dem Typ des Objekts, dem das formale Exemplar zugeordnet
ist.
Mindestens einem der Objekte und/oder mindestens einem der
formalen Exemplare kann mindestens ein Aspekt zugeordnet
sein. Der Inhalt eines Satzes von Aspekten kann geändert
werden. Mindestens einer der Aspekte kann übernommen
(geerbt) sein. Ein formalen Exemplar kann eine Beschreibung
enthalten, wie Änderung an Aspekten derjenigen Objekte vor
genommen werden können, die angelegt werden sollen.
Ein formales Exemplar kann eine Gruppe von formalen Exempla
ren repräsentieren. Alternativ können ausgewählte formale
Exemplare oder alle formalen Exemplare einer Gruppe formaler
Exemplare die genannte Gruppe formaler Exemplare repräsen
tiert.
Die Anlegung eines Objekttyps kann in der Anlegung von min
destens zwei Objekten resultieren, die dem genannten Objekt
typ zugeordnet sind. Die anzulegenden Objekte können auf der
Grundlage von formalen Exemplaren angelegt werden, die zu
verschiedenen Gruppen von formalen Exemplaren gehören. Die
Anlegung eines zusammengesetzten Objekttyps kann in der An
legung einer Gruppe von Objekten resultieren.
Das computerisierte System kann eingerichtet sein, einen Ob
jekttyp zu lokalisieren, welcher indikativ für ein anzule
gendes Objekt ist, ein formales Exemplar in einer ersten
Strukturgruppe zu lokalisieren, welche die Anlegung des Ob
jektes beschreibt, ein reales Exemplar zu erstellen aus al
len formalen Exemplaren in der genannten ersten Struktur
gruppe und anderen Strukturgruppen, die der genannten ersten
Strukturgruppe zugeordnet sind. Das computerisierte System
kann geeignet sein, Operationen in einer Entität der realen
Welt zu steuern auf der Grundlage mindestens eines Objektes,
welches die Entität repräsentiert und welches auf der Grund
lage von Informationen angelegt ist, die in einem formalen
Exemplar enthalten sind.
Gemäß einem Gesichtspunkt der vorliegenden Erfindung ist ein
Computerprogramm vorgesehen, welches einen Programmcode ent
hält zur Durchführung jedes der Schritte des Anspruches 1
oder eines von diesem abhängigen Anspruches, wenn es auf dem
Computer läuft. Der Programmcode kann in einem vom Computer
lesbaren Medium gespeichert sein. Das Computerprogramm kann
zur Steuerung von Operationen von Entitäten der realen Welt
verwendet werden.
Gemäß einem weiteren Gesichtspunkt der vorliegenden Erfin
dung ist ein Verfahren zur Steuerung von Entitäten der re
alen Welt mittels eines computerisierten Steuersystems auf
der Grundlage von Objekten vorgesehen, welche die Entitäten
der realen Welt repräsentieren, wobei zu diesem Verfahren
gehören: Die Herstellung eines formalen Exemplars, wobei das
formale Exemplar Informationen enthält, welche die Anlegung
von mindestens einem Objekt betreffen; die Anordnung des
formalen Exemplars in einer oder mehreren Gruppen von forma
len Exemplaren, wobei die ausgewählte Gruppe oder ausgewähl
ten Gruppen indikativ für den Typ des genannten mindestens
einen Objektes ist/sind; die Einleitung der Anlegung eines
Objektes, das von den Steueroperationen verlangt wird, wobei
das Objekt dem hergestellten formalen Exemplar zugeordnet
ist, wobei zu dem Schritt der Einleitung der Anlegung das
Empfangen von Informationen aus dem formalen Exemplar ge
hört; und die Anlegung des Objekts auf der Basis der genann
ten Informationen und auch von Informationen, welche die
Gruppe oder Gruppen betreffen, in der/denen das formale Ex
emplar angeordnet ist.
Gemäß einem weiteren Gesichtspunkt der vorliegenden Erfin
dung ist ein Verfahren zur Anlegung eines Objektes vorgese
hen, welches eine Entität der realen Welt repräsentiert, wo
bei zu dem Verfahren gehören: Die Erzeugung eines formalen
Exemplars, welches die Anlegung des Objektes beschreibt; die
Anordnung des formalen Exemplars in einer oder mehreren
Gruppen formaler Exemplare, basierend auf dem Typ des Ob
jekts; und Anlegung des Objektes auf der Grundlage von In
formationen in dem formalen Exemplar und auch von Informa
tionen des Typs des Objektes.
Gemäß einem anderen Gesichtspunkt der vorliegenden Erfindung
ist ein Datenverarbeitungssystem vorgesehen, zu welchem ge
hören: Ein Datenprozessor; und Speicher zur Speicherung von
Daten, wobei mindestens ein Teil der genannten Daten als Ob
jekte gespeichert sind, die zur Verwendung durch den Daten
prozessor angelegt (instantiiert) werden können, wobei die
Anordnung so beschaffen ist, daß mindestens ein Teil der Ob
jekte auf der Grundlage von Informationen angelegt wird, die
in zugeordneten formalen Exemplaren enthalten sind und von
Informationen, welche den Typ des anzulegenden Objektes be
treffen. Das Datenverarbeitungssystem kann zur Steuerung des
Betriebes von Entitäten der realen Welt eingerichtet sein,
die von Objekten des Systems repräsentiert werden.
Gemäß einem anderen Gesichtspunkt der vorliegenden Erfindung
ist eine Daten-Entität für objekt-orientierte Datenverarbei
tung vorgesehen, welche auf der Verwendung einer Mehrzahl
von Objekten basiert, wobei die Daten-Entität Informationen
enthält, welche die Anlegung eines oder mehrerer Objekte be
trifft, und in mindestens einer Gruppe von Daten-Entitäten
angeordnet ist, wobei jede Gruppe von Daten-Entitäten indi
kativ für unterschiedliche charakteristische Merkmale des
Objekts ist.
Die Ausführungsformen der Erfindung können zu erheblichen
Einsparungen an Zeit bei der Erstellung von Exemplaren von
Objekten führen. Die Ausführungsformen können eine effizi
ente Replikation von Objekten für das Anlegung zur Verfügung
stellen, und daher kann ein Exemplar für die Repräsentierung
verschiedener Entitäten der realen Welt verwendet werden.
Die Ausführungsformen können bei niedrigen Systemanforderun
gen in effizienter Weise passende Erweiterungen von Objekten
erzeugen.
Zum besseren Verständnis der vorliegenden Erfindung wird nun
Bezug genommen auf die Beispiele in den beigefügten Figuren:
Es zeigen:
Fig. 1 ein Beispiel, wie Exemplare zu Strukturen organi
siert werden,
Fig. 2 ein schematisches Beispiel formaler Exemplare, wel
che den Exemplaren der Fig. 1 zugeordnet werden
können in Überstimmung mit der vorliegenden Erfin
dung,
Fig. 3 Entitäten der realen Welt, die auf der Grundlage der
Verwendung von formalen Exemplaren gesteuert werden
kann,
Fig. 4 eine Möglichkeit der Organisation von Strukturen zur
Steuerung des Systems der Fig. 3,
Fig. 5 eine schematische Darstellung von Aspekten und
Fig. 6 einen Programmablaufplan, der den Arbeitsablauf ei
nes Ausführungsbeispieles der vorliegenden Erfindung
illustriert.
Im folgenden werden unter Bezug auf die Zeichnungen erklä
rende Beispiele beschrieben, wie die verschiedenen Objekte
und/oder Exemplare in Gruppen organisiert werden können auf
der Grundlage von Beziehungen zwischen verschiedenen Aspek
ten einer Entität der realen Welt. Genauer, im folgenden
wird einen Möglichkeit zur Anlegung von Objekten diskutiert,
die auf der Verwendung von Entitäten mit bestimmten Daten
basiert, die als "formale Exemplare" bezeichnet werden in
Übereinstimmung mit den Prinzipien der vorliegenden Erfin
dung.
Die formalen Exemplare sind Daten-Entitäten die geschaffen
werden, um den Weg zu beschreiben, wie Objekte angelegt
(instantiiert) werden sollten, um wirkliche Exemplare der
Objekte zu erhalten. Mit anderen Worten: Ein formales Exem
plar kann als eine Daten-Entität beschrieben werden, die In
formationen darüber enthält, wie ein oder mehrere Objekte
oder "wirkliche "Exemplare" angelegt werden sollen. Ein for
males Exemplar repräsentiert nicht direkt ein Objekt der re
alen Welt. Statt dessen kann ein formales Exemplar als ein
Werkzeug verwendet werden, welches die Anlegung eines oder
mehrerer Objekte ermöglicht, die dann ein Objekt der realen
Welt repräsentieren. Es können eine oder mehrere Gruppen von
Objekten mit vordefinierten Gliedern angelegt werden, wenn
eine Anlegung eines Objekttyps erfolgt. Die Anlegung eines
Objekttyps kann zu der Anlegung mehrerer Gruppen von Objek
ten verschiedener Typen führen.
Ein formales Exemplar kann also als Grundlage für die Anle
gung eines zusammengesetzten Objekttyps verwendet werden.
Das heißt, ein formales Exemplar kann bei der Definition ei
nes zusammengesetzten Objekttyps verwendet werden, um zu de
finieren, welche Objekte von welchen Objekttypen angelegt
werden sollten als Teil eines zusammengesetzten Objekttyps.
Die Anlegung eines zusammengesetzten Objekttyps kann zu der
Anlegung einer Kollektion oder Gruppe von Objekten führen.
Diese Objekte können organisiert werden als eine Gruppe von
Objekten oder als eine Vielzahl von Gruppen von Objekten.
Diese Objektgruppen können verschiedene Arten von Beziehun
gen zwischen dem Gruppenobjekt und den Angehörigen der
Gruppe (das heißt, den Objekten in der Gruppe) widerspie
geln. In diesem Zusammenhang bedeutet der Begriff
"Gruppenobjekt" ein Objekt, das die Objektgruppe repräsen
tiert. Das heißt, das Gruppenobjekt kann als ein Objekt ge
sehen werden, welches eine Anzahl oder eine Kollektion von
Objekten repräsentiert.
Speziell aufgebaute Gruppierungen, hier als Strukturen be
zeichnet, können verwendet werden, um verschiedene Exemplar-
oder Objektgruppen zu definieren. Die Gruppen können in ver
schiedenen Strukturen eingeordnet werden, so daß die relati
ven Orte der Gruppen unterschiedliche Arten von Beziehungen
zwischen den Gruppen und den Objekten oder Exemplaren in den
Gruppen anzeigen. Wenn beispielsweise ein zusammengesetzter
Objekttyp angelegt wird, wird ein reales Exemplar für jedes
formale Exemplar geschaffen, das als Teil einer bestimmten
Objekttypengruppe definiert ist. Im folgenden sind Ausfüh
rungsbeispiele der Exemplare der Objekte, das heißt der
"realen" Exemplare, in solchen Strukturen eingeordnet und in
Gruppen organisiert, die auf der Organisation der formalen
Exemplare in dem zusammengesetzten Objekttyp basieren.
Ein formales Exemplar kann auch Adaptionen des zugrunde lie
genden Objekttyps enthalten. Das heißt, zusätzlich zu der
Beschreibung, wie ein Objekttyp für die Anlegung zu verwen
den ist, kann ein formales Exemplar auch verwendet werden,
um zu beschreiben, wie Änderungen und/oder welche Änderungen
in den anzulegenden Objekten vorgenommen werden sollen. Die
Änderungen können in den Aspekten des formalen Exemplars er
folgen.
Die formalen Exemplare können in verschiedenen Kategorien,
das heißt Dimensionen, gruppiert werden (siehe die linke
Seite der Fig. 2). Jede Dimension entspricht einer Struk
tur, in der eine bestimmte Gruppe von formales Exemplaren
anzuordnen ist. Die Organisation der verschiedenen Gruppen
aus formalen Exemplaren in verschiedene Strukturgruppen de
finiert die Struktur, in welcher die endgültigen, das heißt
"realen" Exemplare eingeordnet werden. Jede Strukturgruppe
kann aus einer oder mehreren Gruppen formaler Exemplare be
stehen.
Die Gruppierung der formalen Exemplare kann durch Definition
eines formalen Exemplars erreicht werden, welches eine
Gruppe repräsentiert, in welcher die anderen formalen Exem
plare, welche dem genannten formalen Gruppenexemplar zuge
ordnet sind, angeordnet werden. Alle formalen Exemplare der
Gruppe können die Gruppe repräsentieren. Es ist auch mög
lich, daß nur ausgewählte oder sogar keines der formalen Ex
emplare der Gruppe die Gruppe repräsentieren kann. Gemäß ei
ner Möglichkeit hängt die Fähigkeit, die Gruppe zu repräsen
tieren, davon ab, ob das formale Exemplar mit Kindern ver
bunden ist oder nicht, wobei die "kinderlosen" formalen Ex
emplare die Gruppe nicht repräsentieren. In dem Falle, daß
alle formalen Exemplare befähigt sind, die Gruppe zu reprä
sentieren, ist die Gruppe rekursiv. Ein formales Exemplar
kann auch Teil mehrerer Gruppen sein.
Bei den hier beschriebenen Ausführungsbeispielen führt die
Anlegung eines Objekttyps zur Anlegung eines oder mehrerer
Objekte, welche in mehreren Gruppen organisiert gewesen sein
können. Die Gruppen können ihrerseits in mehrere Dimensionen
organisiert sein, das heißt, in mehreren Strukturen angeord
net sein. Beim Modellbilden von Entitäten der realen Welt in
computerisierten Systemen kann eine Entität zu mehreren zu
sammengesetzten Objekten gehören und kann gleichzeitig jede
Anzahl von zusammengesetzten Entitäten enthalten oder nicht
eine einzige zusammengesetzte Entität enthalten. Im folgen
den wird ausführlicher ein möglicher Weg beschrieben zur Er
zeugung von Gruppen aus formalen Exemplaren auf der Grund
lage der Objekttyp-Definition in der Weise, daß die formalen
Exemplare in mehrere Dimensionen gruppiert werden können.
Dieser Weg ermöglicht es, die Merkmale einer Entität der re
alen Welt auf mehreren Strukturen auszudehnen. Die sich ent
faltenden Resultate in einer Generation weiter verlangen ei
ner Vielzahl von Software-Objekten mit gegenseitigen Bezie
hungen und funktionieren, wie vordefiniert, in einem großen
Ausmaße durch die formalen Exemplare.
Das in den Fig. 1 und 2 gezeigte Beispiel dient der Illu
stration der oben beschriebenen Prinzipien der vorliegenden
Erfindung und nicht als ein Beispiel für die tatsächliche
Errichtung eines computerisierten Steuersystems. Das Bei
spiel bezieht sich auf eine Person, die Mitglied einer Fuß
ballmannschaft ist und in einem Haus wohnt. Die Person hat
ein Blutkreislaufsystem und eine Pumpenfunktion für die Zir
kulation des Blutes. Die Pumpenfunktion enthält ein Herz.
Das Herz ist in der Brust der Person untergebracht. Wie die
Fig. 1 zeigt, können die Objekte "Person 1" und "Herz 1" in
zwei verschiedenen Dimensionen, das heißt Strukturen, einge
ordnet werden, und zwar auf der Grundlage von funktionalen
Merkmalen des Objekts beziehungsweise des Ortes des Objekts.
Wenn ein Objekttyp angelegt wird, wird ein Exemplar des Ob
jektes (Objektexemplar) für jedes formale Exemplar geschaf
fen, das in dem Objekttyp definiert ist. Die Objektexemplare
sind auf der rechten Seite der Fig. 2 gezeigt. Die Objek
texemplare sind entsprechend der Definition des Objekttyps
in Gruppen organisiert. Die gebildeten Objektexemplargruppen
sind dann in den Strukturen eingeordnet, und zwar ebenfalls
auf der Grundlage der in dem Objekttyp enthaltenen Defini
tionen.
Die Objektexemplare sind ferner in zwei Exemplargruppen un
terteilt, das heißt in eine Funktionsstruktur und eine Orts
struktur. Die beispielhaften Objektexemplare "Exemplar 1"
und "Exemplar 2" haben verschiedene Stämme oder Knotenpunkte
(zwei Fußballmannschaften 23 und 12 und zwei Häuser 7 und
4). Wie man erkennt definiert das Exemplar 1 diejenigen Ob
jekte, die der Person 1 zugeordnet sind, während das Exem
plar 2 diejenigen Objekte definiert, die der Person 2 zuge
ordnet sind. Beide Exemplare beziehen sich jedoch auf den
Objekttyp "Personentyp A", das heißt, sie sind als Typ-A-
Personen für das System definiert.
Es sollte beachtet werden, daß, obwohl Fig. 2 aus Gründen
der Klarheit nur zwei Objektexemplare (Exemplare 1 und 2)
und vier Exemplargruppen zeigt, die Anzahl der Objektexem
plare und Gruppen nicht hierauf beschränkt ist.
Eine detaillierte Beschreibung eines Objekttyps in einer
Struktur kann erfolgen auf der Grundlage eines Objektypen-
Objekts, einer oder mehrerer Strukturobjekte und formaler
Exemplare anderer Objekttypen. In Fig. 2 bildet
"Personentyp A" das Objekttypen-Objekt. Die Beschreibung der
A-Typen-Person kann detaillierter durch die
"Funktionsstruktur" und die "Ortsstruktur" erfolgen, von
denen jede ein Strukturobjekt bildet. Die Strukturobjekte
enthalten formale Exemplare "Blutkreislaufsystem FI1",
"Pumpe FI1", "Herz FI1" und "Brust FI1".
Wie Fig. 2 zeigt, sind die Objekttypen-Objekte "Personentyp
A" und "Herztyp A" an dem Stamm des Objekttyps angeordnet.
Die Strukturobjekte sind dann unter dem Objekttyp-Objekt in
der Struktur angeordnet. Genauer, die Strukturobjekte
("Dimensionen") definieren die Strukturen, in denen die for
malen Exemplare der Objekte in dem gegebenen Objekttyp ein
zuordnen sind.
Die formalen Exemplare sind vorzugsweise in der Hierarchie
unter den Strukturobjekten angeordnet. Die formalen Exem
plare können verwendet werden zur Definition der Strukturen
des Modells, als welches die realen Exemplare zu schaffen
sind. Ein formales Exemplar kann unter einem oder mehreren
Strukturobjekten angeordnet werden (siehe zum Beispiel "Herz
FI1"). Es ist auch möglich, ein formales Exemplar mehrere
Male unter einem Strukturobjekt anzuordnen. Das bedeutet,
daß es möglich ist, ein formales Exemplar unter so vielen
Strukturobjekten und so viele Male anzuordnen, wie dies als
notwendig erachtet wird. Da die formalen Exemplare zum
Zwecke der Anlegung von Objekten verwendet werden, gibt es,
zumindest im Prinzip, keine Einschränkungen hinsichtlich der
Zahl der formalen Exemplare, die in einem Strukturobjekt an
geordnet werden können. Dasselbe formale Exemplar kann auch
mehrere Male in einer Struktur verwendet werden. Die forma
len Exemplare können in einer oder mehreren Gruppen organi
siert werden, die unter den Strukturobjekten eingeordnet
werden.
In einer bevorzugten Ausführungsform der vorliegenden Erfin
dung wird die oben beschriebene Organisation auf die compu
tergestützte Steuerung von Entitäten der realen Welt ange
wendet. Beispielsweise können die formalen Exemplare und de
ren Organisation auf die computerisierte Steuerung verschie
dener Geräte in einer Fabrik oder in einem Kraftwerk oder in
der Verfahrensindustrie und so weiter angewendet werden.
Fig. 3 zeigt eine schematische Darstellung eines Verfah
rens, in welchem verschiedene Elemente verwendet werden, die
mittels einer computerisierten Steueranordnung gesteuert
werden können, welche auf der Verwendung formaler Exemplare
und deren Organisation in Gruppen wie oben beschrieben ba
siert. Die Elemente des Verfahrens sind in einer Anlage 1
untergebracht. Ein Tank 2 ist an ein Einlaßsystem 3 ange
schlossen. Zu dem Einlaßsystem 3 gehören eine Rohrleitung 6,
ein Ventil 4 und eine Pumpe 5.
Die Elemente des in Fig. 3 gezeigten Systems können bei
spielsweise auf zwei verschiedene Objekttypen aufgeteilt
werden, das heißt auf Objekte, die dem Tank 2 zugeordnet
sind, und auf Objekte, die dem Einlaßsystem 3 zugeordnet
sind. Die Objekte können auch gruppiert werden nach ihrem
Ort (beispielsweise Objekte in der Anlage 1 und Objekte nahe
dem Tank) und nach ihrer Funktion (beispielsweise Objekte,
die mit der Speicherung zu tun haben, und Objekte, die mit
dem Transport eines Fluids zu tun haben).
Fig. 3 zeigt auch eine Datenverarbeitungseinheit 10, die
geeignet ist, den Ablauf des Verfahrens zu steuern. Die Da
tenverarbeitungseinheit 10 kann in Gestalt eines Computers
verwirklicht werden, der in der Lage ist, die Funktionalität
der Steuerung zu bewältigen. Die Datenverarbeitungseinheit
enthält in üblicher Weise die erforderlichen Eingangs- und
Ausgangseinrichtungen, Prozessoren, wie zum Beispiel eine
Zentraleinheit (CPU), und Speichereinrichtungen, wie zum
Beispiel ROM und RAM. Alle diese Einrichtungen sind dem
Fachmann bekannt und werden daher nicht im Detail erläutert.
Eine Datenverbindung 11, beispielsweise ein Datenbus, ist
ebenfalls zwischen der Datenverarbeitungseinheit 10 und den
Entitäten der realen Welt 2, 3 und 5 als vorhanden darge
stellt.
Eine mögliche Organisation der Objekte und der formalen Ex
emplare, die für die Steuerung des Systems der Fig. 3 ver
wendet werden, zeigt Fig. 4. In Fig. 4 gehören zu den zu
sammengesetzten Objekttypen die Stammdefinitionen "Tank" und
"Einlaßsystem". Beide diese Stämme sind dargestellt mit den
Dimensionen "Funktionsstruktur" und "Ortsstruktur". Die Ob
jekttypen, das heißt die Stämme, sind dargestellt mit den
zusammengesetzten Objekttypen "Tank" und "Einlaßsystem".
Zu der funktionalen Struktur des Objekttyps "Tank" gehören
das Strukturobjekt "Tank", ein formales Exemplar
"Einlaßsystem" und eine Strukturgruppe, die aus den formalen
Exemplare "Pumpe" und "Ventil" gebildet wird, wobei die ge
nannte Gruppe von dem formalen Exemplar "Einlaßsystem" ab
hängig ist. Die örtliche Struktur des Objekttyps "Tank" ent
hält die Strukturobjekte "Tank" und die formalen Exemplare
"Pumpe" und "Ventil".
Zu der Funktionsstruktur des Objekttyps "Einlaßsystem" ge
hört das Strukturobjekt "Einlaßsystem" und eine Struktur
gruppe, die von den formalen Exemplaren "Pumpe" und "Ventile"
gebildet wird, wobei diese Gruppe von dem formalen Exemplar
"Einlaßsystem" abhängig ist. Zu der Ortstruktur des Objekt
typs "Einlaßsystem" gehören die formalen Exemplare "Pumpe"
und "Ventil".
Ein formales Exemplar kann ebenfalls in mehr als einer
Struktur angeordnet werden. Das heißt, ein formales Exemplar
in einer Gruppe einer Struktur kann das gleiche Exemplar
sein, welches in einer anderen Struktur eingeordnet ist. Ein
Beispiel in Fig. 4 hierfür ist ein formales Exemplar
"Ventil", welches an den Orten 12 und 13 eingeordnet ist.
Ein formales Exemplar kann sich auf einen oder mehrere Ob
jekttypen beziehen. In Fig. 4 illustriert eine gestrichelte
Linie eine Beziehung von dem formalen Exemplar
"Einlaßsystem" 14 zu einem zusammengesetzten Objekttyp
"Einlaßsystem" 15.
Bei einem Ausführungsbeispiel der vorliegenden Erfindung
wird jede Entität der realen Welt, wie zum Beispiel die
Pumpe 5 oder das Ventil 4, in einem Computerprogramm reprä
sentiert, welches auf dem Computer 10 als ein Objekt läuft.
Das Computerprogramm enthält einen Programmcode, um den Com
puter 10 anzuweisen, Funktionen auszuführen, welche es zu
implementieren beabsichtigt. Während der Anlegungsphase des
Computerprogramms veranlaßt der Code den Computer, diejeni
gen formalen Exemplare heranzuholen, welche den Objekten zu
geordnet sind, die für die Operation benötigt werden, wie
zum Beispiel das Ventil oder die Pumpe. Die Anlegung kann
auf Informationen basieren, die in den formalen Exemplaren
enthalten sind, die diesen Objekten zugeordnet sind, sowie
auch auf Informationen, welche den Ort der formalen Exem
plare in den Strukturen betreffen. Während der Anlegung
wird/werden ein oder mehrere Exemplare eines Objekts, wel
ches eine Entität der realen Welt repräsentiert, herge
stellt, um von der Anwendung, wie zum Beispiel einer Steuer
software, verwendet zu werden. Die Eigenschaften des Objek
texemplars können auch angepaßt werden, um speziellen Anfor
derungen, der Anwendung und/oder Änderungen des Objekts zu
genügen. Die Anlegung kann geschehen auf der Grundlage von
Informationen des Objekttyps, insbesondere der Organisation
der formalen Exemplare in dem Objekttyp, und den Informatio
nen, die in einem besonderen formalen Exemplar enthalten
sind.
Um das obige zu erreichen, kann die Datenverarbeitungs-Enti
tät, wie zum Beispiel der Computer 10, damit beginnen, nach
einem Objekttyp Ausschau zu halten, welcher indikativ für
das Objekt ist, welches sie zur Durchführung der verlangten
Datenverarbeitung benötigt. Nachdem der Computer den ge
wünschten Objekttyp gefunden hat, geht er durch alle forma
len Exemplare der Strukturgruppe, die dem Objekttyp unterge
ordnet ist. Der Computer überprüft auch strukturelle Bezie
hungen, welche die formalen Exemplare haben können. Auf der
Grundlage der Informationen, die der Computer durch die Ana
lyse der formalen Exemplare erhalten hat, erzeugt er dann
die verlangten realen Exemplare zwecks Verwendung bei der
Datenverarbeitung, um eine gestellte Aufgabe zu auszuführen.
In dem Beispiel der Fig. 4 bedeutet dies, daß zur Herstel
lung eines realen Exemplars "Einlaßsystem 1" der Computer
zuerst nach dem Objekttyp "Einlaßsystem" in den Strukturen
sucht. Nachdem er das "Einlaßsystem" lokalisiert hat, kann
der Computer nach allen formalen Exemplare sehen, welche dem
Objekttyp "Einlaßsystem" untergeordnet sind. In dem Beispiel
handelt es sich bei diesen formalen Exemplaren um "Pumpe"
und "Ventil". Danach werden reale Exemplare "Tank 1"
"Einlaßsystem 1", "Pumpe 1" und "Ventil 1" aus allen forma
len Exemplaren erzeugt, die in dieser Strukturgruppe aus
formalen Exemplaren gefunden wurden.
Das "Einlaßsystem" ist nur in der Funktionsstruktur vorhan
den und nicht in der Ortsstruktur. Jedoch überprüft der Com
puter auch die Ortsstruktur desselben zusammengesetzten Ob
jekttyps, um herauszufinden, ob die gleichen formalen Exem
plare "Ventil" und "Pumpe" dort zu finden sind. Wenn ein
formales Exemplar, welches in einer Gruppe der Struktur ge
funden wurde, in einer anderen Gruppe der Struktur gefunden
wird, werden alle formalen Exemplare dieser Gruppe ebenfalls
als reale Exemplare angelegt, auf welche sich diese formalen
Exemplare beziehen. Jedoch führt ein formales Exemplar, wel
ches in mehr als einer Strukturgruppe gefunden wird, nur zur
Erzeugung eines einzigen realen Exemplars.
Wie oben kurz erwähnt wurde, kann jedes Objekt und/oder je
des formale Exemplar einen oder mehrere zugeordnete Aspekte
haben. Fig. 5 zeigt ein Objekt 40 mit dreiundzwanzig Aspek
ten 41. Die Aspekte eines Objekt beziehen sich typischer
weise auf die Entität der realen Welt, die von dem Objekt
repräsentiert wird. Genauer, ein Aspekt kann eine Facette
einer Entität der realen Welt repräsentieren, wobei dieser
Aspekt typischerweise verantwortlich ist für alle diese Fa
cette des Objekts betreffenden Operationen und ihre Daten.
So könnte beispielsweise für eine Pumpe ein Aspekt einen
körperlichen Ort der Pumpe repräsentieren, ein anderer
Aspekt könnte einen Bauplan der Pumpe repräsentieren, ein
anderer Aspekt könnte einen Sicherheits-Deskriptor der Pumpe
repräsentieren, ein anderer Aspekt könnte eine Steuerung für
eine Operation der Pumpe repräsentieren, ein anderer Aspekt
könnte die Dokumentation der Pumpe repräsentieren, ein ande
rer die Anzahl der Eingänge und Ausgänge, und so weiter.
Ein formales Exemplar kann einen oder mehrere seiner Aspekte
von einem oder mehreren Objekttyp-Objekten übernehmen
(erben).
Verschiedene Anwendungen können verwendet werden, um ver
schiedene Aspekte oder Gruppen von Aspekten eines Objekt
und/oder eines formalen Exemplars zu implementieren. Bei
spielsweise kann ein Textverarbeitungsprogramm von einem
Aspekt verwendet werden, um eine funktionale Spezifikation
anzuzeigen, und von einem anderen Aspekt, um Notizen einer
bedienperson zu editieren. Ähnlich kann ein CAD-Programm von
einem Aspekt verwendet werden, um eine Zeichnung anzuzeigen,
und von einem anderen Aspekt zur Anzeige einer elektrischen
Schaltung oder von einem dritten Aspekt zur Anzeige eines
Rohrleitungs- und Meßgeräteausrüstungs-Diagramms. Anwender
programme sind in keiner Weise begrenzt auf solche Pro
gramme, die in herkömmlichen Prozeß-Steuerverfahren verwen
det werden. Beispielsweise kann eine Produktionsmanagment-
Anwendung von einem Aspekt verwendet werden, um eine Ar
beitsanweisung anzuzeigen, von einem anderen Aspekt, um ein
Ausrüstungsverzeichnis zu verwalten oder von einem dritten
Aspekt, um Material in einem Lager anzuzeigen, und so wei
ter.
Die Ausführungsformen die auf der Verwendung formaler Exem
plare basieren, ermöglichen die Integration eines großen Be
reiches von Anwendungen in einem computerisierten System in
einer modularen und unabhängigen Form. Jede Anwendung ist
durch die Objekte und die in den Objekten enthaltenen
Aspekte verantwortlich für ihre eigenen Daten und Operatio
nen. Dies bedeutet, daß Anwendungen, die innerlich auf ver
schiedenen Objekt oder nicht-objekt-orientierten Implemen
tierungs-Technologien beruhen, in einer solchen Weise inte
griert werden können, daß kein Unterschied erscheint zwi
schen den von den verschiedenen Anwendungen verwendeten Ver
fahren zur Bereitstellung von Diensten. Dies bedeutet auch,
daß die Änderung einer Anwendung oder die Hinzufügung einer
Anwendung keine Änderung der anderen Anwendungen in dem Sy
stem erfordert. Dies ist eine besonders nützliche Eigen
schaft, da sie die Hinzufügung von neuen Objekttypen er
leichtert, die möglicherweise die Hinzufügung neuer Aspekte
erfordern, einschließlich neuer Anwendungen um diese neuen
Aspekte zu handhaben.
Aspekte stellen auch einen Weg dar, Übernahmen (Vererbungen)
anzugeben, welche Objekte oder Exemplare befähigen, be
stimmte Aspekte automatisch zu übernehmen, ohne notwendiger
weise Übernahmebeziehungen zwischen bestimmten Objekten
und/oder Exemplaren zu definieren.
Die Ausführungsformen können so Vorteile in mehrerer Hin
sicht zur Verfügung stellen, zu denen gehören: i) Für den
Entwickler eines Systems, der existierende, neue und zukünf
tige, möglicherweise noch nicht vorhersehbare Anwendun
gen integrieren kann, ohne in großem Umfange gezwungen zu
sein, jede Anwendung erneut zu schreiben, damit sie zu ir
gendeinem speziellen Datenmodell oder einer Implementie
rungs-Technologie paßt. ii) Für den Benutzer des Systems,
der eine nahtlose Integration von weitgehend unterschiedli
chen Anwendungen, die zusammenarbeiten, konzipiert, um die
volle Funktionsvielfalt bereitzustellen, die mit den Entitä
ten der realen Welt, mit denen er oder sie sich befaßt, ver
bunden ist. iii) Für den Eigentümer des Systems, dessen In
vestitionen geschützt sind, weil das System weiterentwickelt
werden kann für oder ausgedehnt werden kann auf Anwendungen,
die zunächst nicht vorhergesehen wurden.
Es sollte beachtet werden, daß jede Entität der realen Welt
oder jedes Objekt durch ein Objekt in einem Prozeß repräsen
tiert werden kann. Die Entität der realen Welt kann ein
wirklicher Gegenstand (Sache) sein, wie zum Beispiel eine
Pumpe, ein Motor, ein Ventil, ein Sensor, ein Förderer, eine
Fräsmaschine, eine Drehbank oder jede andere Vorrichtung,
die mittels eines computerisierten Steuersystems gesteuert
werden kann. Ein Regler kann auch einen oder mehrere unter
geordnete Regler steuern. Bei der Entität der realen Welt
kann es sich auch um einen abstrakteren Gegenstand handeln,
wie zum Beispiel einen Kaufauftrag, eine Produktionscharge,
eine Rechnung, ein Produktionsplan, und so weiter. Es ist zu
beachten, daß die Ausführungsbeispiele nicht begrenzt sind
auf traditionelle Steuerungen oder den Bereich der Pro
zeßsteuerung. Der Gegenstand kann beispielsweise eine Vor
richtung oder einen Prozeß in einem Heim betreffen oder eine
Person, die eine Verantwortung oder Rolle in einem Prozeß
hat, oder nicht greifbare Gegenstände, wie zum Beispiel
Nachrichten, der Zustand von Informationen, und so weiter.
Es sollte auch beachtet werden, daß die Anwendbarkeit der
torliegenden Erfindung nicht beschränkt ist auf traditio
nelle Prozeßsteuerfunktionen und -anwendungen, sondern sich
auch auf viele andere Bereiche erstreckt. Hierzu gehören ge
schäftliche und kommerzielle Aktivitäten, wie zum Beispiel
Produktionsmanagement, Entwurfs- und Wartungssysteme, und
geschäftliche- und finanzielle Systeme. Sie erstreckt sich
auch auf die Steuerung von Ausrüstungen an anderen Orten,
einschließlich Ausrüstungen und Prozesse in einem Wohnhaus
oder einer Wohnung. Daher sollte beachtet werden, daß, ob
wohl die als Beispiel gebrachten Ausführungsformen der vor
liegenden Erfindung im Zusammenhang mit Systemen beschrieben
wurden, zu denen Pumpen und Fluidleitungen und/oder deren
Steuerung gehören, Ausführungsformen der vorliegenden Erfin
dung auf jede andere Art von Ausrüstung oder Operation an
wendbar sind. Außerdem, während die obigen Beispiele Anord
nungen von Exemplaren und formalen Exemplaren in Gruppen be
handeln, die auf funktionalen Merkmalen und dem Ort des Ge
genstand basieren, kann die Organisation in Gruppen auf je
dem Merkmal basieren, wie zum Beispiel auf Merkmalen, die
der Steuerung von Gegenstände und Entitäten der realen Welt
oder irgend welchen Eigenschaften derselben zugeordnet sind.
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.