-
Gegestand der Erfindung
-
Die vorliegende Erfindung betrifft
die Kontrolle von Prozess- und Material-Anforderungscharakteristiken der Art,
wie sie von Produktionsbetrieben verwendet werden.
-
Hintergrund der Efindung
-
In einem typischen Produktionsbetrieb
kann ein Einzelteil oder eine Bestellung mit Hilfe von ein bis fünfzehn oder
mehr verschiedenen Anforderungscharakteristiken definiert werden,
in denen es um solche Dinge geht, wie beispielsweise Materialeigenschaften,
Verarbeitungsverfahren, Grenzwerte für Prüfungen usw. In jeder Anforderungscharakteristik kann
auf mehrere weitere Anforderungscharakteristiken verwiesen werden.
Das Personal aller Abteilungen muss sämtliche Anforderungen aller
geltenden Anforderungscharakteristiken zusammentragen und zur Arbeitsgrundlage
machen, damit sie bei der Entwicklung und Fertigung eines Erzeugnisses
angewendet werden. Bei Anforderungscharakteristiken handelt es sich
im Grunde genommen um Darstellungen von numerische Daten, Text und
Grafiken enthaltenden Anweisungen, die dazu dienen, die quantitativen
Informationen zu untermauern und zu begründen. Es gibt zwar bereits
eine Vielzahl von Standards für
den Austausch von grafischen Daten und Beschaffungsdaten (z. B.
IGES für
Teilezeichnungen betreffende Informationen und EDI für Bestell-
und andere geschäftliche
lnformationen), aber bisher gibt es noch kein entsprechend definiertes
Format für
den Inhalt von Anforderungscharakteristiken. Ein Verfasser einer
Anforderungscharakteristik kann somit Anforderungen in beliebiger
Form aufnehmen. Die Werte können
in einem Textabschnitt, einer grafischen Tabelle oder an mehreren
Stellen innerhalb des Dokuments erscheinen. Dies führt dazu,
dass das Personal, um die verschiedenen Anforderungen herauszufinden,
die in den Anforderungscharakteristiken für ein Erzeugnis enthalten sind,
sich mit unterschiedlichen Formaten und Herangehensweisen an den
Inhalt auseinandersetzen muss.
-
Bei den meisten Verfahren für die Verwaltung von
Standards und Anforderungscharakteristiken liegt der Schwerpunkt
auf der Textsuche und der Dokumentenverwaltung. Dadurch, dass die
Daten in einem elektronischen Format vorliegen, wie zum Beispiel
in Form einer Textverarbeitungsdatei, ist die Nutzung dieser Dokumente
aber nicht wesentlich effektiver geworden. Um zum Beispiel relevantes
Material in einer elektronischen Textdatei für eine Anforderungscharakteristik
zu finden, muss man, um die Identifizierung des Gegenstandes zu
erleichtem, irgendwelche Schlüsselbegnffe
benutzen. Diese Vorgehensweise unterliegt den Unwägbarkeiten,
die mit der Suche von Schlüsselbegriffen
in einem anderen Kontext verbunden sind (z. B. häufiges Vorkommen von Synonymen
in der natürlichen
Sprache, die Unmöglichkeit,
grafisch ausgedrückte
Inhalte zu suchen).
-
Ein weiteres Verfahren besteht darin,
dass quantitative Werte erfasst und manuell aus der Anforderungscharakteristik
extrahiert werden und dass diese Werfe dann in einem einfachen Datenbankverwaltungssystem
gespeichert werden. Bei einer typischen Anforderungscharakteristik
handelt es sich aber um ein dynamisches Dokument, dass sich nicht in
den starren tabellenförmigen
Aufbau einer relationalen Datenbank zwängen lässt. Anforderungscharakteristiken
weisen zum Beispiel einen ungleichen Aufbau auf, und viele Anforderungen
hängen
von einer Vielzahl von Bedingungen ab, wie zum Beispiel den Abmessungen
des Erzeugnisses, der Art des Materials, dem beabsichtigten Verwendungszweck usw.
Dazu kommt, dass sich die verschiedenen quantitativen Werte auf
unterschiedliche Weise beschreiben lassen. Das heißt, dass
ein Wert, wie zum Beispiel eine Toleranz, in manchen Fällen als
ein Wertebereich angegeben sein kann, während er in anderen Fällen als
eine Formel beschrieben werden kann, die von einer Bedingung abhängt. Dazu
kommt noch ein wesentliches Interpretationsproblem, das damit zusammenhängt, dass
die Anforderungscharakteristiken, da sie in natürlicher Sprache geschrieben
sind, häufig
widersprüchlich
interpretiert werden.
-
Die Probleme, die vorstehend in bezug
auf die Verwaltung von Anforderungscharakteristiken für die Fertigung
beschrieben worden sind, bestehen auch im Zusammenhang mit der Handhabung
anderer Sammlungen umfangreich formatierter Dokumente. Eine in jüngster Zeit
eingeführte
Vorgehensweise zur Verwaltung strukturierter Dokumente ist unter
der Bezeichnung Extensible Markup Language (XML) bekannt. Dabei
handelt es sich um eine Variante der Hypertext Markup Language (HTML),
die häufig
zur Formatierung von Inhalten im Internet eingesetzt wird. Für XML zeichnen
sich Einsatzmöglichkeiten
im E-Commerce und anderen Intemetanwendungen ab. Die meisten dieser
Anwendungen basieren auf Dokumenten im XML-Format, damit das Dokument
automatisch auf eine sinnvolle Art und Weise interpretiert werden
kann. Bisher ist aber noch nicht gezeigt worden, wie die Aussagen
aus in XML formatierten Dokumenten extrahiert werden können.
-
Das US-Patent 5530853 beschreibt
ein enrweitertes Vertahren zur Ausfilterung von im Containerobjekt
eines Computeranwendungsprogramms enthaltenen Informationseinheiten
, das es dem Nutzer des Computers gestattet, die Informationseinheiten
unter Nutzung von Daten, die in den Informationseinheiten enthalten
sind, und Daten, die in einer Adressbuchdatenbank enthalten sind,
herauszufiltern.
-
Zusammenfassung der Erfindung
-
Die vorliegende Erfindung ermöglicht es,
mit Hilfe einer kontrollierten Taxonomie Dokumente objektbasiert,
semantisch in Form von Informationscontainern darzustellen und stellt
Verfahren bereit, die dazu dienen, Aussagen aus diesen Informationscontainern
zu extrahieren, um eine problemorientierte, automatisierte Interpretation
der Dokumente zu gewährleisten.
Zu diesen Funktionen gehören
die automatisierte Filterung eines Informationscontainers entsprechend
der kontrollierten Taxonomie und einer Menge von Bedingungen zur
Erzeugung eines Ergebnisses, das nur die Informationsobjekte enthält, die
unter der festgelegten Menge von Bedingungen in Frage kommen. Diese
Funktionen beinhalten außerdem
die automatische Kombination von Infonnationsobjekten, aus denen
die Infonnationscontainer bestehen, um einen Infonnationscontainerkomplex zu
bilden, der die kombinierten Aussagen der dazugehörigen Dokumente
und die automatische Handhabung der Verweise von einem Infonnationscontainer
auf einen anderen widerspiegelt.
-
Die Erfindung stellt insbesondere
ein Verfahren und eine Einrichtung bereit, wie sie in den Ansprüchen 1 beziehungsweise
10 beschrieben werden. Sie beinhaltet einen Prozess der Assimilierung einer
Vielzahl von Informationscontainern, von denen sich ein jeder mit
Attributen eines physischen Dings, eines Systems oder einer Methodologie
befasst, um einen gleichrangigen Informationscontainer zu generieren.
Die Informationscontainer umfassen jeweils eine Vielzahl von Informationsobjekten,
die jeweils unter Verwendung potentiell verschiedener Strukturen
ein Attribut und einen Wert, Wertebereich oder eine Beschreibung
des Attributs identifizieren. Diese Objekte werden syntaktisch analysiert,
und es werden Objektpaare, die gemeinsame Attribute identfizieren,
identifiziert. Diese Objektpaare werden dann, auch wenn sie verschiedene
Strukturen haben, kombiniert, indem die Werte, Wertebereiche und/oder
Beschreibungen des gemeinsamen Attributs kombiniert werden, um neue
Infonnationsobjekte zu erzeugen, die die Kombination des ursprünglichen
Paars repräsentieren.
Der neue gleichrangige Informationscontainer besteht aus einem oder
mehreren kombinierten Objekten und/oder aus Objekten der als Input verwendeten
Container, die nicht kombiniert werden konnten.
-
Die Prinzipien der vorliegenden Erfindung lassen
sich auf viele Umgebungen anwenden. Die Informationsobjekte in der
beschriebenen Umgebung sind entsprechend der Extensible Markup Language (XML)
formatiert, und die Informationscontainer besitzen eine XML-Dokument-Typ-Definition
(DTD), um ihre Verwendung in anderen XML-Anwendungen zu ermöglichen.
Weitere Anwendungen und Vorteile werden aus der folgenden Beschreibung
offensichtlich.
-
Kurze Zeichnungsbeschreibung
-
Die beigefügten Zeichnungen, die in diese Anforderungscharakteristik
einbezogen worden sind und einen Bestandteil derselben darstellen,
zeigen Ausführungsbeispiele
der Erfindung und dienen zusammen mit der vorstehenden allgemeinen
Beschreibung der Erfindung und der folgenden ausführlichen
Beschreibung der Ausführungsbeispiele
der Erläuterung
der Prinzipien der Erfindung.
-
In den Zeichnungen zeigen:
-
1 ein
Blockschema eines Computersystems zur Anwendung der Erfindung;
-
2 ein
Daten-Strukturdiagramm, das eine erfindungsgemäß genutzte Objektstruktur zeigt;
-
3 ein
Daten-Strukturdiagramm, das das Suchergebnis für eine Bestellung zeigt;
-
4 ein
Daten-Strukturdiagramm, das die Verwendung der Verweise in Anforderungscharakteristiken
auf dem Revisions-, Prozedur- und Merkmalslevel zeigt;
-
5A ein
Fließschema
einer endrekursiven Prozedur zur Kombination eines Objekts, 5B ein Fließschema
der Kombination der untergeordneten Objekte eines Objekts, 5C ein Fließschema der
Kombination zweier Objekte und 5D ein Fließschema
für die
Verarbeitung von zwei Objekten, die beide der Logik untergeordneter
Objekte VOM-UNTERGEORDNETEN-OBJEKT-ABHÄNGIG unterliegen
und kombiniert werden, und 5E ein
Fließschema
der Kombination der Strukturen zweier Objekte mit kombinierbaren
Aussagen.
-
Ausführliche
Beschreibung der spezifischen Ausführungsbeispiele
-
In 1 umfasst
ein Computersystem 20 zur Anwendung der Prinzipien der
vorliegenden Erfindung eine erste oder Client-CPU 21 und
eine zweite oder Server-CPU 38, die zur Kommunikation über ein Computernetz
verbunden sind. Die Client-CPU 21 besitzt Elemente, wie
sie für
ein Computersystem typisch sind. Zu diesen Elementen gehört ein Mikroprozessor 22,
der dazu dient, Daten nach gespeicherten Programmen zu verarbeiten.
Auf einem Festplattenlaufwerk, auf das der Mikroprozessor 22 über einen Systembus 25 Zugriff
hat, sind Programme und Daten gespeichert. Ebenfalls an den Systembus 25 angeschlossen
ist ein Speicher 26, der für die Schnellspeicherung von
durch den Mikroprozessor 22 genutzten Daten und Programmen
verwendet wird. Die vom Mikroprozessor 22 erzeugten Informationen werden über den
Systembus 25 an einen Monitor 28 ausgegeben. Der
Monitor 28 wird angesteuert, um eine grafische Bedienerschnittstelle
zu implementieren, über
die der Bediener Daten ein- und ausgibt, zum Beispiel die Bedienerschnittstelle,
die das Windows-Betriebssystem der Microsoft Corporation Redmond,
Washington, bereitstellt. Der Mikroprozessor 22 empfängt Daten über Bedienereingabegeräte, wozu
die mit dem Systembus 25 verbundene Tastatur 30 und
eine mit dem Systembus 25 verbundene Maus 32 gehören. Die
Tastatur 30 und die Maus 32 werden auf die übliche Art
und Weise für
den Dialog mit einer grafischen Bedienerschnittstelle am Monitor 28 genutzt,
um Informationen einzugeben und den Betrieb des Mikroprozessors 22 zu
steuern. Zur Erzeugung einer Hartkopie der vom Mikroprozessor 22 erzeugten
Daten ist an den Systembus 25 ein Drucker 34 angeschlossen,
mit dem die vom Mikroprozessor 22 kommenden Daten ausgedruckt
werden können.
-
Die Client-CPU 21 sowie
die gleichrangigen Client-CPUs 21a, 21b, 21c usw.
sind über
einen Netzanschluss 36 mit einer oder mehreren Serwer-CPUs,
wie zum Beispiel der CPU 38, verbunden. Die Client-CPUs 21 und
die eine oder mehreren Server-CPUs wirken auf die für Clients
und Server übliche
Art und Weise zusammen. Sie nutzen dafür eines einer Vielzahl verschiedener
Netzprotokolle, wie zum Beispiel Ethernet, Token Ring oder andere LAN-Protokolle oder ein
WAN-Protokoll.
-
Die Server-CPU 38 speichert
die von den Client-CPUs 21 zu nutzenden Daten in einem
relativ umfangreichen Großspeicher,
wie zum Beispiel einem Magnetplattenlaufwerk 40. Die Server-CPU 38 oder
eine zweite Server-CPU 38 liest Daten aus dem Magnetplattenlaufwerk 40 aus,
die vom Mikroprozessor 22 in einer Server-CPU 22 verwendet
werden sollen, um Funktionen der vorliegenden Erfindung zu realisieren.
Zusätzliche
Client-CPUs 21a, 21b, 21c, die ebenfalls
mit der Server-CPU 38 verbunden sind, haben Gemeinschaftszugriff
auf die auf dem Magnetplattenlaufwerk 40 gespeicherten
Infonnationen, wodurch es mehreren Computern ermöglicht wird, die gleichen gemeinsamen
Infonnationen bei der Anwendung der Prinzipien der vorliegenden
Erfindung zu nutzen.
-
Die Server-CPU 38 ist mit
herkömmlichen Elementen
eines Computersystems ausgerüstet. Dazu
zählen
ein Magnetplattenlaufwerk 40, ein Systembus 41,
ein mit dem Systembus 41 verbundener Speicher 42,
ein mit dem Systembus 41 verbundener Mikroprozessor 43 und
andere herkömmliche
Eingabe- und Ausgabegeräte.
-
Bei Ausführungsbeispielen, in denen
eine zweite Server-CPU verwendet wird, können die nachstehend beschriebenen
Verarbeitungsfunktionen zwischen den Server-CPUs aufgeteilt werden. So
kann zum Beispiel eine erste Server-CPU ein handelsüblicher
Standard-Query-Language-(SQL)-Datenbankserver
sein, der den Zugriff auf die Daten ermöglicht, und eine zweite Server-CPU kann
eine leistungsfähige
Verarbeitungs-CPU sein, die dazu dient, die Daten, auf die zugegriffen
wird, zu verarbeiten, indem sie zum Beispiel entsprechend den Aufrufen
der Client-CPUs und unter Nutzung der Datenbankfunktionen der ersten
Server-CPU die nachstehend
beschriebenen Such- und Kombinationsroutinen durchführt. Bei
einem solchen Ausführungsbeispiel
können
die Client-CPUs Programme ausführen,
die eine grafische Bedienerschnittstelle dem Nutzer des Systems
bietet. Es liegt auf der Hand, dass auch andere Aufgabenzuteilungen
möglich
sind und innerhalb des Geltungsbereichs der vorliegenden Erfindung
liegen; so könnte
zum Beispiel ein einzelner Server genutzt werden, um Datenbankfunktionen
bereitzustellen sowie die Verarbeitung für Such- und Kombinationsoperationen
zu realisieren. Außerdem
könnte
eine einzelne CPU Datenbankfunktionen bereitstellen, die Verarbeitung
für Such- und
Kombinationsoperationen realisieren und eine grafische Bedienerschnittstelle
bereitstellen, ohne dass dafür
ein Netz genutzt wird. Alle derartigen Anwendungen liegen innerhalb
des für
die Erfindung vorgesehenen Geltungsbereichs.
-
2 zeigt
Einzelheiten der Struktur der Anordnung der Objekte in der Datenbank,
die im Computersystem 20 von 1 gespeichert
sind. Es liegt auf der Hand, dass unterschiedlichste Datenbanken verwendet
werden können,
um Objekte nach den Prinzipien der vorliegenden Erfindung zu speichern. Die
im Computersystem 20 gespeicherte Datenbank ist eine relationale
Datenbank, die Objekte speichert, die in einer objektbasierten Struktur
zueinander in Beziehung stehen und besonders geeignet sind, um technische
Anforderungscharakteristiken und Informationen, die sich auf hergestellte
Erzeugnisse beziehen, zu beschreiben. Um dies zu ermöglichen, verwaltet
die Datenbank fünf
Tabellen: die Klassendefinitionstabelle, die die Definitionen für Objektklassen
speichert; die Klassenfeldtabelle, die die zusätzlichen Objekteigenschaften
für jede
Objektklasse identifiziert; die Tabelle der untergeordneten Objekte einer
Objektklasse, die die zulässigen
untergeordneten Objekte für
jede Objektklasse identifiziert; die Objektfalltabelle, die Fälle für jedes
Objekt speichert, und die Objektfeldwerttabelle, die die Eigenschaftswerte
für jedes.
Objekt speichert. Die letzten beiden Tabellen sind wesentlich größer als
die ersten drei, da sie die aktuellen Daten für jedes Objekt speichern.
-
Die Objekte in dieser Datenbank gehören jeweils
zu einer, von verschiedenen Klassen, wie nachstehend ausführlicher
dargelegt werden wird. Die für die
Zwecke der vorliegenden Erfindungsbeschreibung definierten spezifischen
Klassen beziehen sich auf die Speicherung von Informationen; die
in Anforderungscharakteristiken für die Herstellung enthalten sind,
wie zum Beispiel solchen, die von der Society of Automotive Engineers
(SAE), der American Society for Testing & Materials (ASTM) und anderen Standardorganisationen
herausgegeben werden, die ähnliche
technische Dokumentationen verbreiten. Die Prinzipien der vorliegenden
Erfindung beschränken sich
aber nicht auf eine Nutzung zur Speicherung von Dokumenten technischer
Dokumentationen, wie zum Beispiel Anforderungscharakteristiken,
sondern können
auch auf die Speicherung einer großen Vielzahl anderer Formen
von technischen Infonnationen ausgedehnt werden, wozu Erzeugnisbeschreibungen, Teilebeschreibungen,
interne Betriebsvorschnften, Anwendervereinbarungen, Forschungsdaten,
die auf dem Gebiet der exakten Wissenschaften oder der Medizin gewonnen
wurden, technische Informationen, die für geschäftliche oder rechtliche Analysen relevant
sind, sowie andere Anwendungsgebiete gehören. Um eine Übertragung
der Verfahren und Prinzipien der vorliegenden Erfindung auf andere
Anwendungen zu ermöglichen,
werden die Objektklassen so definiert, dass die Klasse eines Objekts
in den meisten oder in allen Fällen
keine Aussage zu dem Objekt liefert. Die Aussage zu dem Objekt erhält man stattdessen
von einem anderen Objekt; bei dieser Vorgehensweise definiert die
Klasse des Objekts nur dessen Struktur, wodurch eine einfache Übertragung auf
andere Umgebungen ermöglicht
wird, in denen ähnliche
Strukturen für
unterschiedliche Aussagen verwendet werden können. Zwar können bei
jeder dieser unterschiedlichen Anwendungen verschiedene Objektklassen
definiert und angewendet werden, die generalisierte Struktur einer
objektbasierten Datenbank und die Assimilierung technischer Informationen
zu einer Struktur von Objekten bleiben aber gleich. 2 zeigt die spezifische Struktur von
Objekten, die entsprechend den Prinzipien der vorliegenden Erfindung
genutzt werden. Die Abbildung in 2 ist
exemplarisch für
die Objektstruktur, unabhängig
von der Art der von dem Objekt gespeicherten Infonnationen, und
gilt demzufolge für
jede der verschiedenen, vorstehend und an anderer Stelle in dieser
Anforderungscharakteristik beschriebenen Anwendungen. Wie aus 2 zu ersehen ist, umfasst ein
Objekt eine Datenstruktur 50 zur Speicherung von Kerneigenschaften
des Objekts. Die Datenstruktur 50, die den Kern eines Objekts
bildet, wird an einer indexierten Speicherstelle im Computersystem 20 gespeichert.
In dem hier beschriebenen Ausführungsbeispiel
der Erfindung wird die Datenstruktur 50 durch Verweis auf
einen Klassenidentifikator und einen Objektidentifikator für das durch
die Datenstruktur 50 repräsentierte spezifische Objekt
lokalisiert. Der Objektidentifikator für ein Objekt wird so verwaltet,
dass er für
alle Objekte der gleichen Klasse eindeutig ist, möglicherweise
aber nicht eindeutig in Bezug auf Objekte anderer Klassen. Klassenidentifikatoren
idenfrfizieren eine Klasse von in der Datenbank gespeicherten Objekten
eindeutig.
-
Um Suche und Verwaltung von in der
Datenbank gespeicherten Objekten zu erleichtern, können die
Kerneigenschaften 50 eines Objekts unter Verwendung der
vorstehend beschriebenen fünf
Tabellen in einem handelsüblichen
Datenbankprogramm, wie zum Beispiel dem von der Oracle Corporation vertriebenen
Programm Oracle Version 7.3 Database Engine, nach Klassenidentifikatoren
und Objektidentifikatoren indexiert werden. Mit Hilfe eines Datenbankrogramms
dieser Art können
die Objekt- und Klassenidentifikatoren für ein Objekt verwendet werden,
um eine Hinweisadresse für
das Objekt zu generieren, wie zum Beispiel die in 2 dargestellte Hinweisadresse 52,
so dass das Objekt verarbeitet werden kann.
-
2 zeigt
die Felder, die die Kerneigenschaften 50 für ein Objekt
speichern. Zu diesen Feldern gehören
ein Feld 54 zur Speicherung eines Objektidentifikators
und ein Feld 56 zur Speicherung einer Hinweisadresse für eine Klassendefinition.
Die in diesen Feldern gespeicherten Objekt- und Klassenidentifikatoren
entsprechen den Objekt- und Klassenidentifikatoren, die zum Lokalisieren
des Objekts verwendet werden. Der Klassenidentifikator 56 verbindet
außerdem
die Objekte mit einer (nachstehend erörterten) Klassendefinition,
die wertere Eigenschaften des Objekts definiert.
-
Die Kerneigenschaften 50 zu
dem Objekt umfassen außerdem
Felder, die benutzt werden, um das Objekt zu einer aus Objekten
gebildeten hierarchischen baumähnlichen
Struktur zu verbinden. Zu diesen Feldern gehören ein Feld 62 zur
Speicherung einer Hinweisadresse für ein übergeordnetes Objekt, das sich
in der hierarchischen Struktur auf dem nächsten Level über dem
Objekt befindet, und ein Feld 64 zum Speichern einer Hinweisadresse
für eine Liste
von untergeordneten Objekten, die sich in der hierarchischen Struktur
auf dem nächsten
Level unter dem Objekt befinden.
-
Die Hinweisadresse im Feld 64 führt zu einer doppelt
verbundenen Liste von Datenstrukturen 66a, 66b usw.,
die untergeordnete Objekte des Objekts identifizieren. Die Verwendung
einer verbundenen Listenstruktur ermöglicht es, dass ein Objekt
eine unbegrenzte Anzahl von untergeordneten Objekten besitzt. Jede
Datenstruktur 66a, 66b besitzt ein Feld 70a, 70b zur
Speicherung der 'nächsten' und 'vorherigen' Hinweisadresse,
die verwendet werden, um durch die doppelt verbundene Listenstruktur
zu navigieren. Die 'nächste' und 'vorherige' Hinweisadresse in
den Feldern 70a, 70b verweist auf die nächste und die
vorherige Datenstruktur 66 in der doppelt verbundenen Liste.
Die 'vorherige' Hinweisadresse in
der ersten Datenstruktur 66a in der Liste verweist auf
die Kerneigenschaften 50 für das übergeordnete Objekt. Die 'nächste' Hinweisadresse in der letzten Datenstruktur 66 der
doppelt verbundenen Liste hat den Wert NULL, was anzeigt, dass es
sich um die letzte Datenstruktur in der Liste handelt.
-
Jede Datenstruktur 66 besitzt
außerdem
ein Feld 72 zur Speicherung einer Hinweisadresse für ein untergeordnetes
Objekt. Die Hinweisadresse für das
untergeordnete Objekt liegt in Form eines Klassenidentifikators
und eines Objektidentifikators vor, die, wie vorstehend beschrieben,
das untergeordnete Objekt eindeutig identifizieren. Die Hinweisadressen im
Feld 72a, 72b führen zu den untergeordneten
Objekten 74a, 74b, die die gleiche Struktur aufweisen, wie
sie in 2 dargestellt
ist.
-
Die Kerneigenschaften 50 zu
einem Objekt besitzen außerdem
ein Feld 76 zur Speicherung eines Logikparameters für ein untergeordnetes
Objekt zu dem Objekt. Der Logikparameter für ein untergeordnetes Objekt
wird in allen Fällen
verwendet, in denen die untergeordneten Objekte eines Objekts zueinander
in Beziehung stehen, um die Art dieser Beziehung zu definieren.
Der Logikparameter für
ein untergeordnetes Objekt kann insbesondere eine logische Beziehung
zwischen den untergeordneten Objekten identifizieren, die vorliegen
muss, damit eine durch das Objekt repräsentierte Bedingung erfüllt ist. In
dem vorliegenden Ausführungsbeispiel
der Erfindung werden für
den Logikparameter für
ein untergeordnetes Objekt die folgenden Werte verwendet:
- – ODER – weist
darauf hin, dass eine der durch untergeordnete Objekte repräsentierten
Bedingungen erfüllt
sein muss, damit die durch das übergeordnete
Objekt repräsentierte
Bedingung erfüllt
ist.
- – UND – weist
darauf hin, dass sämtliche
durch untergeordnete Objekte repräsentierten Bedingungen erfüllt sein
müssen,
damit die durch das übergeordnetes
Objekt repräsentierte
Bedingung erfüllt
ist.
- – GRUPPE – weist
auf das Nichtvorhandensein einer Beziehung zwischen den Bedingungen
oder Informationen hin, die durch untergeordnete Objekte und das übergeordnete
Objekt repräsentiert werden.
- – FOLGE – weist
darauf hin, dass jede durch untergeordnete Objekte repräsentierte
Bedingung in der Reihenfolge erfüllt
sein muss, in der die untergeordneten Objekte in der von der Hinweisadresse
in Feld 66 identifizierten Liste vorkommen. Wenn die durch
die untergeordneten Objekte repräsentierten
Bedingungen nicht in dieser Reihenfolge erfüllt sind, ist die durch das übergeordnete
Objekt repräsentierte
Bedingung nicht erfüllt.
- – IMPLIKATION – weist
darauf hin, dass ein von einer Hinweisadresse in Feld 66 identifiziertes
untergeordnetes WENN-Objekt in der verbundenen Liste eine zu prüfende Bedingung
repräsentiert. Wenn
die Bedingung des untergeordneten WENN-Objekts erfüllt ist, repräsentiert
ein untergeordnetes DANN-Objekt in der verbundenen Liste das für das übergeordnete
Objekt in Frage kommende untergeordnete Objekt. Wenn die vom untergeordneten
WENN-Objekt repräsentierte Bedingung
nicht erfüllt
ist, repräsentiert
ein untergeordnetes ODER-ABER-Objekt des übergeordneten Objekts das für das übergeordnete
Objekt in Frage kommende untergeordnete Objekt.
- – ABHÄNGIGKEIT – weist
darauf hin, dass ein von der Hinweisadresse in Feld 66 identifiziertes untergeordnetes
FÜR-Objekt
in der verbundenen Liste eine zu prüfende Bedingung repräsentiert. Wenn
die Bedingung des ersten untergeordneten Objekts erfüllt ist,
repräsentiert
ein untergeordnetes VERWENDEN-Objekt in der verbundenen Liste das
für das übergeordnete
Objekt in Frage kommende untergeordnete Objekt. Wenn die von dem
ersten untergeordneten Objekt repräsentierte Bedingung nicht erfüllt ist,
repräsentiert
ein untergeordnetes ANDERENFALLS-Objekt des übergeordneten Objekts das für das übergeordnete
Objekt in Frage kommende untergeordnete Objekt. Implikation unterscheidet
sich darin von Abhängigkeit,
dass Objekte mit Implikationslogik untergeordneter Objekte bei den
nachstehend beschriebenen Such-, Filter- und Kombinationshandlungen
unterschiedlich gehandhabt werden.
- – EXKLUSIV
UND – weist
darauf hin, dass, um die Bedingung des übergeordneten Objekts zu erfüllen, alle
durch untergeordnete Objekte repräsentierten Bedingungen erfüllt sein
müssen,
und dass mit den spezifizierten Bedingungen keine anderen Bedingungen
kombiniert werden können.
- – ÄQUIVALENZ-
weist darauf hin, dass alle untergeordneten Objekte äquivalent
sind (zur Definition von Synonymen verwendet werden können, z.
B. in den nachstehend unter Bezug auf 260 beschriebenen
Thesaurusregeln).
- – WIDERSPRUCH – weist
darauf hin, dass die untergeordneten Objekte im Widerspruch zueinander
stehen.
- – UNVOLLSTÄNDIG – weist
darauf hin, dass eine unvollständige
Definition vorliegt. Wird beim Suchen von Objekten eingefügt, um auf
unzureichend definierte Informationen hinzuweisen, um die Kombination
einer Menge von Objekten, die unvollständig definiert sind, zu blockieren.
-
Die Kerneigenschaften 50 zu
einem Objekt umfassen außerdem
eine Hinweisadresse in einem Feld 78, die, wenn sie verwendet
wird, eine verbundene Liste zusätzlicher
Eigenschaften des Objekts identifiziert. Bestimmte Klassen von Objekten
erfordern, dass zusätzliche
Eigenschaften vollständig
definiert werden. Für
diese Objektklassen werden die zusätzlichen Eigenschaften in einem
Array gespeichert, das von der Hinweisadresse in Feld 78 identifiziert
wird. Das Array umfasst eine Folge von Feldern 80a, 80b,
die jeweils Informationen über
eine bestimmte Eigenschaft des Objekts liefern. Jedes Feld 80a, 80b speichert
eine zusätzliche
Eigenschaft zu dem Objekt. Das Feld kann zur Speicherung eines Datenwerts
beliebiger Art verwendet werden, einschließlich einer Hinweisadresse
für ein
Objekt, eines Textwerts oder eines Zahlenwerts. Jedes Feld ist in
zwei Unterfelder unterteilt, wie bei 84a, 84b oder 86a, 86b zu
sehen ist. Die Unterfelder 84a, 84b speichern
den Wert selbst, während,
was den Zahlenwert betrifft, die Unterfelder 86a; 86b eine
Hinweisadresse auf ein Maßeinheitenobjekt 88a, 88b speichern,
das eine Hinweisadresse auf die Maßeinheit für den gespeicherten Wert liefert,
der im Feld 84a, 84b gespeichert ist. Wenn ein
Feld 80 für
eine zusätzliche
Eigenschaft einen Textwert oder eine Hinweisadresse für ein Objekt
als zusätzliche
Eigenschaft im Unterfeld 84 umfasst, gibt es keine vom
Unterfeld 86 identifizierte Maßeinheit.
-
Die Kerneigenschaften 50 zu
einem Objekt umfassen außerdem
ein Feld 90, in dem eine Interpretation oder Aussage zu
dem Objekt angezeigt wird. Wenn es verwendet wird, liefert das Feld 90 Informationen
dazu, wie das Objekt interpretiert werden soll. Feld 90 speichert
typischerweise einen Hinweisadresse auf ein Objekt 91,
das eine Aussage zu dem Objekt liefert, das die darauf verweisende
Hinweisadresse enthält.
-
Die Kerneigenschaften 50 zu
einem Objekt umfassen außerdem
einen Objektoperator in einem Feld 93. Der Objektoperator
in Feld 93 kann die Werte 'gleich' (=), "ungleich' (≠)
aufweisen. Auf der Grundlage der Interpretation des Objekts kann
ein Objektoperator mit dem Wert 'gleich' interpretiert werden
als gleich (=), größer als
oder gleich (≥)
(z. B. wenn das Objekt einen minimalen Endpunkt eines Bereichs repräsentiert,
oder kleiner als oder gleich (≤)
(z. B. wenn das Objekt einen maximalen Endpunkt eines Bereichs repräsentiert).
Auf der Grundlage der Interpretation des Objekts kann ein Objektoperator
mit dem Wert 'ungleich' interpretiert werden als
ungleich (≠),
größer als
(>)(z. B. wenn das
Objekt einen minimalen Endpunkt eines Bereichs repräsentiert)
oder kleiner als (<)(z.
B. wenn das Objekt einen maximalen Endpunkt eines Bereichs repräsentiert). Der
Objektoperator im Feld 92 zeigt an, ob eine durch das Objekt
repräsentierte
Bedingung erfüllt
ist, wenn eine vom Objekt definierte Bedingung einer aktuellen Bedingung,
die ausgewertet wird, gleich oder ungleich ist.
-
Die Kerneigenschaften 50 umfassen
weiterhin ein Feld 95 zur Speicherung von Kontrollinformationen,
wie zum Beispiel des Namens des Nutzers, der Urheber des Objekts
ist oder das Objekt editiert hat, relevanter Daten zur Entstehung
oder Änderung und
des Status des Objekts, wie zum Beispiel 'bereit für die Freigabe', 'freigegeben', oder 'durch ein zweites
Freigabevertahren venfiziert'.
-
Die Kerneigenschaften 50 umfassen
außerdem
ein Feld 97, das benutzt wird, um eine Priorität des Objekts
zu identifizieren. Hierbei handelt es sich um einen Zahlenwert,
der die relative Priorität
des Objekts anzeigt, wenn es mit anderen Objekten kombiniert werden
soll. So kann zum Beispiel ein Objekt in einem Bestell-Vorrang-Baum
mit einem höchsten Prioritätswert eingegeben
werden, so dass es während
des nachstehend beschriebenen Kombinationsprozesses Vorrang vor
allen anderen Objekten hat.
-
Die Kemeigenschaften 50 können schließlich noch
ein Feld 98 für
Sicherheitskontrollen umfassen, die benutzt werden können, um
den Zugang zu dem Objekt und die Revision des Objekts zu kontrollieren.
-
Wie vorstehend erwähnt, weist
der Klassenidentifikator in Feld 56 der Kemeigenschaften 50 auf zusätzliche
Eigenschaften des Objekts hin, die mit der Klasse des Objekts verbunden
sind. Diese zusätzlichen
Eigenschaften des Objekts kann man aus der Definition für die Klasse
erhalten, die in der in 2 gezeigten
Fonrm erfolgt. Wein 2 zu
sehen ist, besitzt jede Klasse eine dazugehörige Definition 100,
wobei eine Vielzahl solcher Definitionen – eine für jede Klasse-existieren. Innerhalb
einer jeden Definition gibt es spezifische Informationen für Objekte innerhalb
dieser Klasse.
-
Sämtliche
Klassendefinitionen haben ein ähnliches
Format; eine Klassendefinition wird detailliert in 2 gezeigt. Wie dort zu sehen ist, umfasst jede
Klassendefinition ein Feld 102 zur Speicherung eines Identifikators
für die
Klasse, der verwendet wird, um diese Klasse zu lokalisieren und
die zusätzlichen
Informationen in der Klassendefinition 100 auszulesen.
Im Feld 104 stellt eine Klassendefinition eine Liste zulässiger Klassenidentifikatoren
für untergeordnete
Objekte bereit. Die Informationen im Feld 104 begrenzen
die Klassen von Objekten, die zu untergeordneten Objekten des Objekts
gemacht werden können.
Dies trägt
dazu bei, die Bildung sinnloser hierarchischer Baumstrukturen der
Objekte zu verhindern. Außerdem
ist dies nützlich
für die
Bildung einer Nutzerschnittstelle, so dass einem Nutzer, der ein
Objekt erzeugt und untergeordnete Objekte für dieses Objekt festlegt, eine
Pulldown-Liste geeigneter untergeordneter Objekttypen bereitgestellt
werden kann (oder eventuell zulässiger
Strukturen von untergeordnete Objekten, wie sie beispielsweise häufig verwendet
werden, um einen Bereich oder einen Rahmen zu bilden), aus denen
er eine Auswahl treffen kann. Diese Liste geeigneter untergeordneter Objekttypen
kann erhalten werden, indem sie aus dem Feld 104 in der
Klassendefinition des Objekts, für
das ein untergeordnetes Objekt hinzugefügt wird, ausgelesen wird. Ein
Feld 106 in der Klassendefinition 100 speichert
eine minimale und eine maximale Zahl von untergeordneten Objekten,
die einem Objekt zugeordnet werden können. Falls mehrere Klassen
von untergeordneten Objekten zulässig
sind, zeigt Feld 106 eine minimale und maximale Zahl von untergeordneten
Objekten für
jede zulässig
Klasse an. Ein Feld 108 in einer Klassendefinition 100 stellt einen
Textnamen für
die Klasse bereit. Der im Feld 108 einer Klassendefinition 100 bereitgestellte
Klassenname kann für
die Bereitstellung von Listen von Klassen und deren Eigenschaften
zur Auswertung oder Nutzung durch einen Nutzer nützlich sein. Ein Feld 110 in
einer Klassendefinition 100 umfasst Definitionen zusätzlicher
Eigenschaften von Objekten in dieser Klasse. Wie vorstehend ausgeführt worden
ist, können
Objekte in bestimmten Klassen zusätzliche Eigenschaften haben,
die in einem Array gespeichert werden, das durch einen Verweis im
Feld 78 bei den Kerneigenschaften 50 identifiziert
wird. Die Definitionen für
diese zusätzlichen
Eigenschaften werden im Feld 110 und in der Klassendefinition
bereitgestellt, so dass jede Eigenschaft gesucht und ihre Definition ausgewertet
werden kann, indem die gesuchte Eigenschaft mit den Definitionen
in Feld 110 kombiniert wird. Die Definitionen für zusätzliche
Objekteigenschaften in Feld 110 werden durch Identifikatoren
bereitgestellt, die zu jedem Feld 80 des Arrays von Feldern
zugeordnet werden.
-
Eine endgültige Eigenschaft eines zu
erläuternden
Objekts wird durch die Klassendefinition 100 des Objekts
identifiziert und im Feld 112 gespeichert. Diese Eigenschaft
wird als Verarbeitungsmerker für das
Objekt bezeichnet. Der Verarbeitungsmerker für ein Objekt zeigt an, auf
welche Weise das Objekt behandelt werden sollte, wenn es mit Hilfe
der in den folgenden Figuren beschriebenen Routinen gesucht wird.
Der Verarbeitungsmerker identifiziert die Beziehung zwischen dem
Objekt und seinen untergeordneten Objekten und die Art und Weise,
in der das Objekt während
eines nachstehend erörterten
Such- und Auswertungsprozesses behandelt werden sollte. Als spezielle
Werte für
den Verarbeitungsmerker werden verwendet:
- – NUR UNTERGEORDNETE
OBJEKTE – weist darauf
hin, dass das Objekt während
des Suche des Objekts ausgesondert werden sollte und dass an seiner
Stelle die untergeordneten Objekte des Objekts gesucht werden sollten.
- – REGULÄR – zeigt
an, dass das Objekt und seine untergeordneten Objekte auf eine normale
Art und Weise, wie dies durch die in den folgenden Figuren gezeigten
Routinen definiert wird, gesucht werden sollten.
- – VOM-UNTERGEORDNETEN-OBJEKT-ABHÄNGIG – zeigt
an, dass die untergeordneten Objekte des Objekts zuerst verarbeitet
werden sollten, und dass das Objekt nicht verarbeitet werden sollte,
wenn die von den untergeordneten Objekten des Objekts identifizierten
Bedingungen zur Eliminierung der untergeordneten Objekte des Objekts
führen.
- – VERWEIS – zeigt
an, dass das Objekt ein Verweis auf ein anderes Objekt ist, das
zusätzliche Informationen
oder einen Kontext zu dem verweisenden Objekt bereitstellt, und
auf geeignete Weise gesucht werden sollte, wie dies durch die folgenden
Routinen definiert wird.
- – FORMEL – zeigt
an, dass das Objekt eine Formel repräsentiert und entsprechend dem
speziellen Verarbeitungsverfahren gesucht werden sollte, das von
den nachstehend beschriebenen Routinen definiert wird.
- – NICHT
VERARBEITEN – zeigt
an, dass das Objekt zusammen mit seinen untergeordneten Objekten
kopiert werden sollte, ohne während
der Suche und Kombination analysiert zu werden.
- – AUFBEREITUNG – zeigt
ein Objekt des Verweistyps an, das während des Suche einer regulären Verarbeitung
unterzogen werden sollte, um eine Auswertung des Verweises, wie
sie normalerweise eintreten würde,
zu verhindern.
- – NUR
ZUR INFORMATION – zeigt
an, dass das Objekt nur der Information des Nutzers dient (d. h. Speicherung
eines Kommentarfelds zur Auswertung durch einen Nutzer) und demzufolge,
wie nachstehend erläutert
wird, während
der Suche ohne Verarbeitung kopiert wird.
- – DOKUMENTENVERARBEITUNG – zeigt
an, dass das Objekt bei der Kombination auf die reguläre Art und
Weise verarbeitet werden sollte, während der Suche aber wie ein
Objekt mit dem Status NUR UNTERGEORDNETE OBJEKTE verarbeitet werden
sollte. Erlaubt es, mit Hilfe von aufgefundenen Ergebnissen ein
Dokument zu identifizieren, aus dem Anforderungen entnommen wurden.
-
Aus den obigen Ausführungen
lässt sich
ersehen, dass umfangreiche und detaillierte technische Informationen
eines technischen Dokuments, wie zum Beispiel einer Anforderungscharakteristik,
vollständig
mit Hilfe der objektbasierten Sprache beschrieben werden können, die
die vorliegende Erfindung zur Verfügung stellt. Es liegt auf der
Hand, dass mit Hilfe der objektbasierten Sprache der vorliegenden
Erfindung ohne werteres ebenfalls höhere Strukturen repräsentiert
werden können.
-
Mit Hilfe von 3, die als Grundlage für die folgende
Erörterung
dient, soll jetzt ein Suchergebnis beschrieben werden. Ein Suchergebnis
umfasst ein Verarbeitungsobjekt 270, das den gesamten Suchprozess
repräsentiert,
der für
die Bestellung des Kunden zur Anwendung kommt. Die untergeordneten Objekte
des Verarbeitungsobjekts umfassen ein Ergebnisobjekt 272,
ein Erfassungsobjekt 274 und ein Quellenobjekt 276.
-
Das Ergebnisobjekt 272 stellt
das gewünschte
Endergebnis des Suchprozesses dar. Durch den Suchprozess werden
die Kundenkriterien und -verweise auf Anforderungscharakteristiken
erweitert, um eine einzelne Baumstruktur zu erzeugen, in der alle
relevanten Kriterien auf alle Objekte mit der Implikationslogik
untergeordneter Objekte angewandt worden sind, und alle Prozeduren,
vorher bestimmten Werte oder sonstigen Informationen, auf die verwiesen
wird, in die Baumstruktur ohne intervenierende Verweisobjekte aufgenommen
werden. Demzufolge ist das Ergebnisobjekt 272 eine erweiterte
Anforderungscharakteristik, die direkt in dem nachstehend beschriebenen
Kombinationsprozess verwendet werden kann, um zu identifizieren,
wie ein Erzeugnis hergestellt werden soll. Das Ergebnisobjekt 272 hat bemerkenswerterweise
die gleiche Form wie die ursprünglichen
Anforderungscharakteristiken, auf die der Kunde verwiesen hat.
-
Nachdem der nachstehend beschriebene Kombinationsprozess
durchgeführt
worden ist, kann der sich ergebende Objektbaum selbst Teil einer
darauffolgenden Anforderungscharakteristik desselben Kunden sein.
Demzufolge stellt das Output des Suchprozesses eine "virtuelle" Anforderungscharakteristik dar,
die eine Sammlung technischer Anforderungen widerspiegelt, von denen
einige aus den Verweisen des Kunden auf andere Anforderungscharakteristiken
stammen, einige aus den kundenspezifischen Kriterien stammen und
einige möglicherweise
aus dem Herstellungsprozess des Lieferanten stammen. Indem die vorliegende
Erfindung einen Lieferanten in die Lage versetzt, mit Hilfe eines
Such- und Kombinationsprozesses, der vollständig alle Kriterien widerspiegelt,
die zur Anwendung kommen müssen, um
eine Bestellung ausführen
zu können,
eine virtuelle Anforderungscharakteristik zu erstellen, rationalisiert
sie einerseits wesentlich den Prozess der Aufstellung einer Anforderungscharakteristik
für ein
herzustellendes Erzeugnis, während
sie andererseits ermöglicht,
Informationen höchst
wirksam auf eine derart ausgeklügelte
Art und Weise zu handhaben, wie es dies bisher nicht gegeben hat.
-
Da das Ergebnisobjekt 272 eine
erweiterte und gestutzte Version des ursprünglichen, in 4A gezeigten Bestellobjekts ist, werden,
damit ein Pfad zur Verfügung
steht, über
den die Generierung des Ergebnisobjekts kontrolliert werden kann,
dem Verarbeitungsobjekt 270 zwei zusätzliche untergeordnete Objekte
zugeordnet. Dabei handelt es sich um das Erfassungsobjekt 272 und
das Quellenobjekt 276.
-
Das Erfassungsobjekt 274 wird
verwendet, um den Suchprozess, der das Ergebnisobjekt 272 generiert
hat, zu kontrollieren. Das Erfassungsobjekt 274 umfasst
speziell Objekte, die jedem Objekt in der ursprünglichen Bestellung entsprechen.
Für jedes Objekt
in dem Erfassungsbaum, an dessen Spitze das Erfassungsobjekt 274 steht,
gibt es einen Querverweis auf ein Objekt in der ursprünglichen
Bestellung, und jedes dieser Objekte umfasst Felder, die identifizieren,
ob die entsprechenden Objekte in der Bestellung in das Ergebnisobjekt 272 aufgenommen worden
sind oder nicht, und die Gründe,
weshalb Zweige nicht in das Ergebnisobjekt 272 aufgenommen
worden sind, einschließlich,
sofern zutreffend, der Werte, die verglichen worden sind, Boolescher Werte,
die im Rahmen der Verarbeitung von Implikationsanweisungen ausgewertet
wurden, und sonstiger Maßnahmen,
die ergriffen wurden, um das Ergebnisobjekt 272 zu generieren.
-
Das Quellenobjekt 276 liefert
eine Spur von im Ergebnisobjekt 272 erscheinenden Objekten
zu dem ursprünglichen
Teil des ursprünglichen
Dokuments, auf das von der Bestellung verwiesen wird, aus der diese
Objekte hervorgegangen sind. Die Struktur des Baums unterhalb des
Quellenobjekts 276 ist identisch mit der Struktur des Baums
unterhalb des Ergebnisobjekts 272. Jedes Objekt in dem Baum
unterhalb des Quellenobjekts 276 identifiziert die Anforderungscharakteristik
oder die Kriterien oder ein anderes Objekt in der ursprünglichen
Bestellung, von der das entsprechende Objekt in dem Ergebnisbaum
stammt.
-
Das Quellenobjekt 276 kann
demzufolge benutzt weiden, um direkt für das Verweisobjekt 272 den
Quellenort herauszufinden, der es erzeugt hat. Das Erfassungsobjekt 274 kann
benutzt werden, um zu ermitteln, weshalb spezielle Quellenobjekte
in der Bestellung auf das Ergebnisobjekt 272 übertragen wurden
oder während
des Suchprozesses gestutzt worden sind.
-
Mit Hilfe von 4 kann jetzt zur weiteren Erläuterung
die Art und Weise erörtert
werden, in der die Verweise verwendet werden. Die Verweise werden
in Anforderungscharakteristiken verwendet, um relevante Infonnationen,
die in einer anderen Anforderungscharakteristik gefunden wurden,
einzubeziehen. Verweise können
auf vielerlei Art und Weise vorkommen. Für die vorliegenden Zwecke sind
drei Arten von Verweisen zulässig:
Revisionslevelverweise, Prozedurlevelvennreise und Merkmalsverweise.
-
4 zeigt
in vereinfachter Form eine Anforderungscharakteristik, die durch
das Anforderungscharakteristikklassenobjekt 277 repräsentiert
wird. Diese Anforderungscharakteristik unteriag einer Revision,
die durch das Revisionsobjekt 278 repräsentiert wird. Diese Revision
umfasst einen Verweis auf eine andere Anforderungscharaktertstik,
die für
die vorliegenden Zwecke mit der Nummer "123" bezeichnet
wird. Dieser Verweis wird durch ein Verweisobjekt 279 repräsentiert,
das ein untergeordnetes Objekt des Revisionsobjekts 278 ist.
Ein zweites untergeordnetes Objekt des Revisionsobjekts 278 ist
ein Prozedurobjekt 280 für eine Prozedur, die für die vorliegenden
Zwecke mit "A" bezeichnet wird.
-
Prozedur A enthält einen Verweis auf die Anforderungscharakteristik 123,
der anzeigt, dass die Dicken für
die Prozedur A so sein müssen,
wie dies in Anforderungscharakteristik 123 spezifiziert
ist. Dieser Verweis wird durch ein Verweisobjekt 281 repräsentiert,
das eine Interpretations-/Aussagehinweisadresse für ein Objekt
der Klasse MERKMALSDEFINITION 282 hat, das das Merkmal "Dicke" definiert. Prozedur
A umfasst auch eine Anzahl Schichten mit Schicht "1" (repräsentiert durch das Schichtobjekt 283)
und Schicht "2" (repräsentiert
durch das Schichtobjekt 284). Schicht "2" umfasst
einen Verweis auf eine andere Anforderungscharakteristik; dieser
Verweis wird durch das Verweisobjekt 285 repräsentiert.
Prozedur A umfasst außerdem
wertere Verweise auf die Anforderungscharakteristik 123,
die sich in ihrer Natur vom Verweisobjekt 281 unterscheiden.
So enthält
Prozedur A einen Verweis auf eine mit "B" bezeichnete
Prozedur in Anforderungscharakteristik 123, der durch das
Objekt 286 repräsentiert
wird. Prozedur A umfasst außerdem
einen Verweis auf die mit "A" bezeichnete Prozedur
in Anforderungscharakteristik 123, der durch das Objekt 287 repräsentiert
wird. Wie zu sehen ist, enthält
das Verweisobjekt 287 keine Hinweisadresse dafür, auf welche Prozedur
in Anforderungscharakteristik 123 verwiesen wird.
-
Wie nachstehend gezeigt wird, wird
unter diesen Umständen
angenommen, dass auf die gleiche Prozedur verwiesen wird. Außerdem sieht
man, dass der Gültigkeitsbereich
des Verweises auf die Prozedur "B" durch ein anderes
Objekt, und zwar das Verweisobjekt 286, definiert wird.
-
5 zeigt
ebenfalls in vereinfachter Form die mit "123" bezeichnete
Anforderungscharakteristik, auf die Verweis genommen wird. Diese
Anforderungscharakteristik wird durch ein Anforderungscharakteristikobjekt 288 repräsentiert,
das ein Revisionsobjekt 289 hat, wobei das Revisionsobjekt 289 eine Anzahl
von Prozeduren mit einer Prozedur A (durch Objekt 290 repräsentiert)
und einer Prozedur B (durch Objekt 293 repräsentiert)
umfasst. Prozedur A hat zwei Schichten, die als Schicht X und Schicht
Y bezeichnet werden und durch die Objekte 291 und 292 repräsentiert
werden. Prozedur B hat ebenfalls zwei Schichten, die Schicht A und
die Schicht B, die durch die Objekte 295 und 296 repräsentiert
werden. Schicht A umfasst Identifikationen von Zahlenwerten, einschließlich eines
Werts für
die Dicke; somit hat das Objekt 295, das die Schicht A
repräsentiert,
untergeordnete Objekte 297 und 298, die zur Klasse
der Zahlenwerte gehören.
Das Zahlenwertobjekt 297 enthält eine Interpretations/Aussagehinweisadresse, die
ein MERKMALSDEFINITIONS-Objekt 294 idenfrfiziert, das die "Dicke" definiert.
-
5 umfasst
Linien, die die Verweisobjekte 279, 281, 286 und 287 mit
den entsprechenden Objekten in der Anforderungscharakteristik "123" verbinden, auf die
auf diese Weise verwiesen wird. Wie nachstehend zu sehen sein wird,
bewirkt ein Verweisobjekt durch den Verweis einer Untermenge der
Anforderungscharakteristik, auf die verweisen wird, eine Einbeziehung.
Die Größe der Untermenge
und die Art und Weise, in der sie identifiziert wird, basieren auf
der Platzierung und den Eigenschaften des Verweisobjekts.
-
So gilt zum Beispiel das Verweisobjekt 279 auf
Grund der Tatsache als ein "Revisionslevel"-Verweis, dass es als ein untergeordnetes
Objekt des Revisionsobjekts 278 positioniert ist und eine
Leerinterpretations-/-Aussagehinweisadresse hat. Ein Revisionslevelverweis
bewirkt die Einbeziehung aller Prozeduren der Revision, auf die
verwiesen worden ist und, die zur Anforderungscharakteristik gehört, auf die
verwiesen worden ist. Wenn ein Revisionslevelverweis keine bestimmte
Revision der Anforderungscharakteristik, auf die verwiesen wird,
spezifiziert, so impliziert dies, dass es sich um die aktuelle Revision handelt.
Demzufolge bezieht, wenn angenommen wird; dass die durch das Revisionsobjekt 289 repräsentierte
Revision die Revision ist, die durch das Verweisobjekt 279 identifiziert
wird, das Verweisobjekt 279 durch Verweis sämtliche
Prozeduren A und B aus der Anforderungscharakteristik 123 ein.
-
Das Verweisobjekt 286 ist
unter der Bezeichnung "Prozedurlevel"-Verweis bekannt,
weil es sich unter einem Prozedurobjekt (Objekt 280) befindet und
eine Leerinterpretations-/-Aussagehinweisadresse
hat. Ein Prozedurlevelverweis beinhaltet alle Schichten aus der
identifizierten Prozedur in der Anforderungscharakteristik, auf
die verweisen worden ist. Das Verweisobjekt 286 identifiziert
die Prozedur B in Anforderungscharakteristik "123";
dementsprechend werden die Schicht A und die Schicht B (repräsentiert
durch die Objekte 295 und 296) aus der Prozedur
B in Anforderungscharakteristik "123" durch das Verweisobjekt 286 einbezogen.
-
Wenn ein Prozedurlevelverweisobjekt
keine bestimmte Prozedur identifiziert, wie dies beim Objekt 287 der
Fall ist, wird davon ausgegangen, dass das Verweisobjekt auf eine
Prozedur verweist, die den gleichen Namen hat wie die Prozedur,
die das übergeordriete
Objekt des Verweisobjekts ist. Demzufolge wird davon ausgegangen,
dass das Objekt 287 sämtliche
Schichten aus einer Prozedur mit der Bezeichnung "A" in der Anforderungscharakteristik 123 einbezieht;
somit bezieht das Objekt 287 die Schichten 291 und 292 aus
der Prozedur A von Anforderungscharaktertstik 123 ein.
-
Prozedurlevelverweisobjekte brauchen
nicht als direktes untergeordnetes Objekt eines Prozedurobjekts
positioniert zu werden. So ist zum Beispiel das Verweisobjekt 285 ein
Prozedurlevelverweis, weil es sich dabei um einen Abkömmling (untergeordnetes
Objekt eines untergeordneten Objekts) von Prozedurobjekt 280 handelt.
-
Eine dritte Verweisstufe ist der
Merkmalslevelverweis. Objekt 281 repräsentiert einen Merkmalslevelvenrweis
auf die Anforderungscharakteristik 123. Ein Merkmalslevelverweis
wird gebildet, indem ein Verweisobjekt in einer beliebigen Anforderungscharakteristikstufe
aufgenommen wird und indem in das Verweisobjekt eine Interpretations/Aussagehinweisadresse
für ein
Objekt der Klasse MERKMALSDEFINITION aufgenommen wird, das das Merkmal
definiert, auf das mit dem Quervenrweis verwiesen wird. Demzufolge
besitzt das Objekt 281 in 5 eine
Interpretations-/Aussagehinweisadresse für ein Objekt 282,
das das Merkmal "Dicke" definiert. Das Objekt 281 identifiziert
außerdem
die Anforderungscharakteristik "123" und ist ein untergeordnetes Objekt
des Prozedurobjekts A. Somit bezieht das Verweisobjekt 281 alle
Objekte in der Prozedur A der Anforderungscharakteristik 123 ein,
die sich auf das Merkmal Dicke beziehen, wozu auch das Zahlenwertobjekt 297 gehört.
-
Mit Hilfe von 5A kann nun ein Prozess zur Kombination
aufgefundener Objekte zwecks Bildung eines Kombinationsobjekts erläutert werden. Wie
vorstehend ausgeführt
worden ist, werden durch die Kombinationsroutine mehrere Bäume von
Objekten, die zu kombinierende technische Dokumente repräsentieren,
zu einem einzigen Objektbaum umgewandelt, der die kombinierten Anforderungen
eines jeden einzelnen Dokuments repräsentiert. Dieses einzige Objekt
wird als Grundlinienobjekt bezeichnet. Dementsprechend wird in einem
ersten Schritt 700 der Kombinationsroutine ein Grundlinienobjekt
erzeugt. Außerdem
wird ein Erfassungsobjekt gebildet, das dazu benutzt wird, anzuzeigen,
welche Routinen während
der Kombination durchgeführt
wurden, und es wird ein Quellenobjekt gebildet, das dazu benutzt wird,
die Quelle der verschiedenen Ergebnisse in dem Grundlinienobjekt
anzuzeigen.
-
Die Kombinationsroutine ist ebenso
wie die Suchroutine eine endrekursive Prozedur, in der die aktuellen
Aufrufe der Prozedur rekursiv die gleiche Prozedur aufrufen, wenn
der Objektbaum, der der Kombinationsroutine zugeliefert wird, abgefragt
wird. Bei einem folgenden Aufruf der Kombinationsroutine geht die
Kontrolle anstatt an den Schritt 700 an den Schritt 702 über, so
dass die Erfassungs-, Quellen- und Grundlinienobjekte nicht unabsichtlich
erneut generiert werden.
-
Nach dem Schritt 700 oder 702 erfolgt
im Schritt 704 eine erste Analyse des kombinierten Objekts.
Dabei wird insbesondere ermittelt, ob es sich bei dem Objekt um
ein Objekt der Klasse Implikation handelt. Wie vorstehend ausgeführt worden
ist, identifizieren Objekte der Klasse Implikation Bedingungen und
Konsequenzen dieser Bedingungen, werden aber während der Kombinationsroutinen
nicht ausgewertet. Dementsprechend geht, wenn das aktuelle Objekt
ein Objekt der Klasse Implikation ist, die Kontrolle an den Schritt 706 über, in
dem alle untergeordneten Objekte des Implikationsobjekts kopiert
werden, um für
die Kombinationsroutine ein Ergebnisobjekt zu bilden, und dann wird
die Verarbeitung der Kombinationsroutine abgeschlossen.
-
Wenn das aktuelle Objekt kein Objekt
der Klasse Implikation ist, geht die Kontrolle von Schritt 704 auf
den Schritt 708 über,
in dem der Verarbeitungsstatus des aktuellen Objekts ausgewertet
wird. Wie nachstehend deutlich wird, werden bei der Kombination
eines Objekts auf der Grundlage seines Verarbeitungsstatus verschiedene
Maßnahmen
ergriffen. Wenn der Verarbeitungsstatus im Schritt 710 aber
REGULÄR,
AUFBEREITUNG, FORMEL, VERWEIS oder NUR ZUR INFORMATION ist, dann
werden im Schritt 712 die Kopie des Objekts und alle seine
untergeordneten Objekte als Ergebnis der Kombinationsroutine geliefert,
und es wird eine Erfassungseingabe gebildet, die widerspiegelt,
dass das Objekt Teil der Kombination ist.
-
Wenn der Verarbeitungsstatus des
aktuellen Objekts im Schritt 714 NICHT VERARBEITEN oder UNBEKANNT
ist, wird die Kombinationsroutine sofort beendet, da solche Objekte
nicht verarbeitet werden sollten oder können.
-
Wenn in Schnit 716 der Verarbeitungsstatus des
aktuellen Objekts DOKUMENT oder NUR UNTERGEORDNETE OBJEKTE VERARBEITEN
ist, wird im Schritt 717 ein Gruppenobjekt gebildet, um das
erste Objekt im Ergebnis der Kombinationsroutine zu bilden. Dies
spiegelt die Tatsache wider, dass Objekte mit dem Verarbeitungsstatus
DOKUMENT oder NUR UNTERGEORDNETE OBJEKTE VERARBEITEN als Teil der
Kombinationsroutine gelöscht werden
sollen.
-
Objekte, die den Verarbeitungsstatus VOM-UNTERGEORDNETEN-OBJEKT-ABHÄNGIG haben,
sind zu verarbeiten, so dass, wenn nach der Kombinationsroutine
untergeordnete Objekte übrigbleiben,
das Objekt in das Ergebnis aufgenommen wird, während ansonsten das Objekt
nicht darin aufgenommen wird. Um diese Routine zu ermöglichen, wird
im Schritt 719 das Objekt mit dem Verarbeitungsstatus VOM-UNTERGEORDNETEN-OBJEKT-ABHÄNGIG kopiert,
um den Beginn eines Ergebnisbaums zu bilden.
-
Nach Schritt 719 für ein Objekt
mit dem Status VOM-UNTERGEORDNETEN-OBJEKT-ABHÄNGIG
oder Schritt 717 für
ein Gruppenobjekt geht die Verarbeitung über zum Schritt 720,
in dem das erste untergeordnete Objekt des Objekts ausgewählt wird. Als
nächstes
wird im Schritt 722 das untergeordnete Objekt abgerufen.
Danach wird im Schritt 724 dem Ergebnisobjekt eine Kopie
des abgerufenen untergeordneten Objekts angefügt. Im Schritt 726 wird
ermittelt, ob es noch ein weiteres untergeordnetes Objekt gibt,
und wenn dies der Fall ist, kehrt die Verarbeitung zum Schritt 722 zurück. Nachdem
alle untergeordneten Objekte auf diese Weise abgerufen worden sind, geht
die Verarbeitung über
zum Schritt 728, indem das Ergebnisobjekt und seine untergeordneten
Objekte an die nachstehend unter Bezug auf 5B beschriebene Routine zur Kombination
von untergeordneten Objekten übergeben
wird. Nachdem die untergeordneten Objekte in dem in 5B beschriebenen Prozess kombiniert worden
sind und als Ergebnis die gleiche Zahl oder eine geringere Zahl
von untergeordneten Objekten erhalten worden ist, die dann zusammen
mit dem Ergebnisobjekt als Ergebnis der Kombination des ursprünglichen
Baums geliefert werden. Dieses Ergebnis wird im Schritt 730 geliefert, und
es wird ein Erfassungsobjekt gebildet, um die Art und Weise, in
der es gebildet wurde, widerzuspiegeln.
-
Mit Hilfe von 5B kann jetzt der Prozess der Kombination
der untergeordneten Objekte eines Objekts beschrieben werden. Dieser
Prozess beginnt mit dem Schritt 732, in dem die untergeordneten
Objekte des Objekts ausgewertet werden, um festzustellen, ob es
mehr als ein untergeordnetes Objekt gibt. Wenn es nicht mehr als
ein untergeordnetes Objekt gibt, wird im Schritt 734 das
als Input erhaltene untergeordnete Objekt als Ergebnis geliefert.
Wenn es mehr als ein untergeordnetes Objekt gibt, wird im Schritt 736 die
Logik untergeordneter Objekte für
das übergeordnete
Objekt ausgewertet. Wenn es sich bei der im übergeordneten Objekt enthaltenen
Logik untergeordneter Objekte um FOLGE-, EXKLUSIV UND-, UNVOLLSTÄNDIGS- oder
ABHÄNGIGKEITS-Logik
handelt, werden im Schritt 734 die als Input verwendeten
untergeordneten Objekte als Ergebnis geliefert. In allen anderen
Fällen
geht die Verarbeitung über
zu Schritt 738.
-
Im Schritt 738 wird die
Generierung eines neuen Ergebnisses dadurch eingeleitet, dass eine zeitweilige
Kopie des übergeordneten
Objekts angefertigt wird und die erhaltenen untergeordneten Objekte
zum Prozess unterhalb der zeitweiligen Kopie geführt werden.
-
Als nächstes wird im Schritt 740 das
erste untergeordnete Objekt der zeitweiligen Kopie ausgewählt. Im
Schritt 742 wird das erste untergeordnete Objekt ausgewertet,
um festzustellen, ob es sich um ein Sammelobjekt mit GRUPPEN-Logik
untergeordneter Objekte handelt. Wenn dies der Fall ist, werden im
Schritt 744 die untergeordneten Objekte des Sammelobjekts
verschoben, um untergeordnete Objekte des zeitweiligen Objekts zu
werden, und das Sammelobjekt wird gelöscht. Dies bewirkt, dass Sammelobjekte
im Rahmen der Kombination von untergeordneten Objekten entfernt
werden. Nach dem Schritt 744 kehrt die Verarbeitung zum
Schritt 740 zurück, um
wieder das erste untergeordnete Objekt des zeitweiligen übergeordneten
Objekts auszuwählen.
-
Wenn im Schritt 742 das
aktuelle untergeordnete Objekt, das gerade verarbeitet wird, kein
Sammelobjekt mit GRUPPEN-Logik untergeordneter Objekte ist, werden
im Schritt 746 die untergeordneten Objekte ausgewertet,
um festzustellen, ob es noch ein weiteres untergeordnetes Objekt
gibt. Wenn dies der Fall ist, kehrt die Verarbeitung zum Schritt 742 zurück, um das
nächste
untergeordnete Objekt auszuwerten.
-
Nachdem alle untergeordneten Objekte
auf diese Weise verarbeitet worden sind, geht die Verarbeitung vom
Schritt 746 zum Schritt 748 über, in dem das erste untergeordnete
Objekt wieder als Kandidatenobjekt ausgewählt wird und aus dem übergeordneten
Objekt entfernt wird. Als nächstes
wird im Schritt 750 das Kandidatenobjekt ausgewertet, um festzustellen,
ob es sich um ein Aufgabenobjekt handelt. Wenn das Kandidatenobjekt
ein Aufgabenobjekt ist, wird der Kandidat im Schritt 752 zurück zur Position
eines untergeordneten Objekts des übergeordneten Objekts geleitet,
das von der Routine zur Kombination untergeordneter Objekte von 5B erhalten wurde. Dann
wird im Schritt 754 das zeitweilige Objekt ausgewertet,
um festzustellen, ob es noch wertere zu verarbeitende untergeordnete
Objekte gibt. Wenn dies der Fall ist, kehrt die Verarbeitung zurück zum Schritt 748,
um das erste untergeordnete Objekt für die anschließende Verarbeitung
auszuwählen.
-
Wenn im Schritt 750 festgestellt
wird, dass das Kandidatenobjekt kein Objekt der Aufgabenklasse ist,
wird im Schritt 756 das erste untergeordnete Objekt, das
unter dem zeitweiligen übergeordneten Objekt
verbleibt, für
die Verwendung als Prüfobjekt ausgewählt. Als
nächstes
werden im Schritt 758 das Kandidatenobjekt und das Prüfobjekt
an eine Routine zur Kombination zweier Objekte der Routine aus 5C, die nachstehend in 5C beschrieben wird, geliefert.
Wie nachstehend gezeigt wird, werden durch die Prozedur von 5C die beiden Objekte ausgewertet,
um festzustellen, ob ihre Aussagen eine Kombination der Objekte
gestatten. Wenn die Objekte nicht kombiniert werden können, erhält man eine
Fehlerbedingung, und die Verarbeitung geht vom Schritt 758 zum
Schritt 762 über,
in dem das zeitweilige übergeordnete
Objekt ausgewertet wird, um festzustellen, ob es noch ein weiteres
als Prüfobjekt
zu verwendendes untergeordnetes Objekt gibt.
-
Wenn dies der Fall ist, geht die
Verarbeitung zum Schritt 764 über, um das nächste untergeordnete
Objekt als Prüfobjekt
auszuwählen,
und kehrt dann zum Schritt 758 zurück, um die Routine zur Kombination
zweier Objekte aus 5C zu
wiedeholen. Wenn es keine weiteren als Prüfobjekte zu verwendenden untergeordneten
Objekte gibt, geht die Verarbeitung vom Schritt 762 zum
Schritt 752 über,
und das Kandidatenobjekt wird verschoben, um ein untergeordnetes
Objekt des untergeordneten Objekts des übergeordneten Objekts zu werden,
das als Input für die
in 5B gezeigte Routine
zum Kombination von untergeordneten Objekten verwendet wird, wie
vorstehend ausgeführt
worden ist.
-
Wenn im Schritt 758 festgestellt
wird, dass es die Aussage der beiden Objekte, die an die Routine
zur Kombination zweier Objekte aus 5C geliefert
worden sind, erlaubt, diese Objekte zu kombinieren, erhält man ein
einziges Objekt. Dieses einzige Objekt ist entweder ein kombiniertes
Objekt, das die kombinierte Aussage der beiden als Input verwendeten
Objekte widerspiegelt, oder ein Widerspruchsobjekt, das anzeigt,
dass die beiden kombinierten Objekte nicht in Einklang gebracht
werden können.
In beiden Fällen
geht die Verarbeitung über
zum Schritt 760, in dem das Kandidatenobjekt durch das
im Schritt 758 erzeugte Ergebnisobjekt ersetzt wird. Die Verarbeitung
geht dann über
zum Schritt 762, um zu ermitteln, ob es noch ein weiteres
untergeordnetes Objekt des zeitweiligen übergeordneten Objekts gibt, das
auf die vorstehend beschriebene Weise geprüft werden muss.
-
Nachdem für alle untergeordneten Objekte des
zeitweiligen übergeordnetes
Objekts geprüft worden
ist, ob sie mit anderen untergeordneten Objekten kombiniert sind,
und sie als untergeordnete Objekte des als Input verwendeten übergeordneten Objekts
zurück
zu einer Position bewegt worden sind, wird im Schritt 754 festgestellt,
dass keine werteren zeitweiligen untergeordneten Objekte des übergeordneten
Objekts existieren. In diesem Fall geht die Verarbeitung über zum
Schritt 768, in dem das als Input verwendete übergeordnete
Objekt und dessen untergeordnete Objekte, die kombiniert worden
sind, als Ergebnis der in 5B gezeigten
Routine zur Kombination von untergeordneten Objekten geliefert werden.
In 5C kann nun der Prozess
der Kombination zweier Objekte erläutert werden. Dieser Prozess
beginnt mit dem Schritt 770, in dem übergeordneten Objekt enthaltene
Logik untergeordneter Objekte für
die beiden Objekte ausgewertet wird. Für verschiedene Objekte können verschiedene
Maßnahmen
ergriffen werden, wie nachstehend erläutert wird. Wenn es sich bei
der Logik untergeordneter Objekte des übergeordneten Objekts um WIDERSPRUCH-Logik 771 handelt,
so zeigt dies an, dass die untergeordneten Objekte nicht kombiniert
werden können,
und demzufolge erhält
man im Schritt 772 eine Anzeige, dass die untergeordneten
Objekte nicht kombiniert werden können.
-
Wenn es sich bei der Logik untergeordneter Objekte
des übergeordneten
Objekts um GRUPPEN-Logik 773 handelt, werden im Schritt 774 die beiden
Objekte ausgewertet, um zu ermitteln, ob beide Objekte Prozeduren
sind. Wenn dies nicht der Fall ist, werden im Schritt 776 die
beiden Objekte ausgewertet, um zu ermitteln, ob ihre Aussage oder
Interpretation kompatibel ist. Es wird insbesondere die Aussage-/Interpretationshinweisadresse
in jedem Objekt ausgewertet, um zu ermitteln, ob beide Hinweise
das gleiche Aussageobjekt identifizieren. Wenn die Aussage-/Interpretationshinweisadressen für die beiden
Objekte nicht kompatibel sind, dann wird im Schritt 778,
wenn eines der Objekte oder beide ein Interpretations- oder Aussagesobjekt
hat/haben, das selbst eine SDL-Definition ist; die Aussage des übergeordneten
Objekts der SDL-Definition erhalten und auf die gleiche Weise auf
Kompatibilität hin
verglichen. Wenn in diesem zweiten Schritt festgestellt wird, dass
die Objekte keine kompatiblen Aussagen haben, geht die Verarbeitung
wieder über zum
Schritt 772, und es wird ein Fehlerergebnis geliefert,
das anzeigt, dass die Objekte nicht kombiniert werden können.
-
Wenn in Schritt 774 festgestellt
wird, dass die zu kombinierenden Objekte Prozeduren sind, dann werden
im Schritt 780 die Prozedurnamen verglichen, um festzustellen,
ob sie kompatibel, das heißt
identisch sind. Wenn dies nicht der Fall ist, können die Objekte nicht kombiniert
werden, und die Verarbeitung geht über zum Schritt 772.
Wenn die Logik untergeordneter Objekte im übergeordneten Objekt entweder
UND-Logik oder 783 ist, oder wenn die Aussage und Interpretation
der Objekte im Schritt 776 oder Schritt 778 kompatibel
sind, dann werden im Schritt 784 die Prioritäten der
beiden Objekte verglichen. Wenn die beiden Objekte nicht die gleiche Priorität haben,
wird im Schrrit 786 das Objekt mit der höheren Priorität als Ergebnis
der Kombination der beiden Objekte geliefert. Dies führt dazu,
dass Objekte mit höherer
Priorität
Objekte mit einer niedrigeren Priorität unwirksam machen. Eine ähnliche
Verfahrensweise kann in alternativen Ausführungsbeispielen der Erfindung
angewandt werden, um venfizierten Objekten, das heißt Objekten,
von denen festgestelltworden ist, dass durch sie eine Anforderungscharakteristik
korrekt repräsentiert
wird, Priorität
gegenüber
nicht venfizierten Objekten zu geben, von denen noch nicht festgestellt
und venfiziert worden ist, dass sie eine Anforderungscharakteristik
korrekt repräsentieren.
Die auf dem Bestätigungsstatus,
das heißt
dem Status 'venfiziert' und 'nicht verifiziert' beruhende Prioritätensetzung
kann auf der Grundlage der Prioritätseigenschaft der Objekte vor
oder nach der Prioritätensetzung
vorgenommen werden.
-
Wenn die zu kombinierenden Objekte
im Schritt 784 die gleiche Priorität haben, werden im Schritt 788 auf
der Grundlage des Verarbeitungsstatus der beiden Objekte verschiedene
Maßnahmen ergriffen.
Und zwar verzweigt sich die Verarbeitung auf der Grundlage des Verarbeitungsstatus
des ersten zu kombinierenden Objekts in VOM-UNTERGEORDNETEN-OBJEKT-ABHÄNGIG 790,
NUR ZUR INFORMATION 792 und in alle anderen 794-Zweige.
-
Unter jedem dieser Zweige werden
auf der Grundlage des Verarbeitungsstatus des zweiten Objekts weitere
Verzweigungen erfolgen. Und zwar erfolgt, wenn das erste Objekt
VOM-UNTERGEORDNETEN-OBJEKT-ABHÄNGIG 790 ist
und das zweite Objekt VOM-UNTERGEORDNETEN-OBJEKT-ABHÄNGIG 796 ist,
im Schritt 798 eine besondere Verarbeitung zur Kombination
zweier Objekte, die beide VOM-UNTERGEORDNETEN-OBJEKT-ABHÄNGIG sind, wie dies nachstehend
unter Bezug auf 5D erläutert ist.
Wenn das erste Objekt VOM-UNTERGEORDNETEN-OBJEKT-ABHÄNGIG 790 ist
und das zweite Objekt NUR ZUR INFORMATION 800 ist, erhält man im
Schritt 802 ein Widerspruchsobjekt mit den beiden Objekten
als untergeordneten Objekten, was anzeigt, dass die beiden Objekte
nicht kombiniert werden können.
Wenn das erste Objekt VOM-UNTERGEORDNETEN-OBJEKT-ABHÄNGIG 790 und
das zweite Objekt irgendein anderer Wert 804 ist, wird
im Schritt 806 eine Kopie des VOM-UNTERGEORDNETEN-OBJEKT-ABHÄNGIG-en
Objekts in die untergeordneten Objekte des anderen Objekts aufgenommen.
Dann wird im Schritt 728 die Routine aus 5B zur Kombination von untergeordneten
Objekten wiedefiolt, um zu versuchen, das VOM-UNTERGEORDNETEN-OBJEKT-ABHÄNGIG-e Objekt
mit den untergeordneten Objekten des anderen Objekts zu kombinieren.
Im Schritt 808 wird das Ergebnis ausgewertet, um festzustellen,
ob ein Widerspruchsobjekt erzeugt worden ist. Wenn dies nicht der
Fall ist, ist die Kombination des Objekts erfolgreich, und im Schritt 810 wird
in diesem Fall das Ergebnis geliefert. Wenn ein Wderspruchsobjekt
erzeugt worden ist, besteht ein Widerspruch zwischen dem VOMUNTERGEORDNETEN-OBJEKT-ABHÄNGIG-en
Objekt und den anderen Objekten, und so wird im Schritt 802 ein
Widerspruchsobjekt zu dem VOM-UNTERGEORDNETEN-OBJEKT-ABHÄNGIG-en
Objekt und dem anderen Objekt als untergeordneten Objekten erzeugt,
und dieses Widerspruchsobjekt wird als Ergebnis der Routine aus 5C zur Kombination zweier
Objekte geliefert.
-
Wenn das erste Objekt NUR ZUR INFORMATION 792 ist,
ist das zweite Objekt entweder ein VOM-UNTERGEORDNETEN-OBJEKT-ABHÄNGIG-es
Objekt 814 oder ein anderes 824. Die Verarbeitung
geht über
zum Schritt 802, um ein Widerspruchsobjekt zu erhalten.
Wenn das erste Objekt NUR ZUR INFORMATION 792 ist und das
zweite Objekt NUR ZUR INFORMATION 816 ist, wird im Schritt 818 ermittelt,
ob die beiden Objekte völlig identisch
sind. Wenn dies der Fall ist, wird das erste Objekt als Ergebnis
der Kombination der beiden Objekte geliefert 820. Falls
nicht, können
die beiden Objekte nicht kombiniert werden, und man erhält eine Fehlerbedingung,
indem zum Schritt 772 übergegangen
wird. Wenn das erste Objekt ein anderes 794 und das zweite
Objekt VOM-UNTERGEORDNETEN-OBJEKT-ABHÄNGIG
, 826, ist, geht die Verarbeitung über zum Schritt 826,
um zu versuchen, die beiden Objekte zu kombinieren, wie dies vorstehend beschrieben
ist. Wenn das erste Objekt ein anderes 794 und das zweite
Objekt NUR ZUR INFORMATION 828 ist, geht die Verarbeitung über zum
Schritt 802, um ein Widerspruchsobjekt zu liefern, wie
dies vorstehend beschrieben ist. Wenn das erste Objekt ein anderes
Objekt 794 und das zweite Objekt ein anderes Objekt 829 ist,
geht die Verarbeitung zu einer Routine 830 zur Kombination
von Strukturen über, die
nachstehend unter Bezug auf 5D beschrieben
ist.
-
Mit Hilfe von 5D kann jetzt der Prozess zur Kombination
zweier Objekte, die beide VOM-UNTERGEORDNETEN-OBJEKT-ABHÄNGIG (Schritt 798)
sind, beschrieben werden. In einem ersten Schritt 840 werden
die Objekte ausgewertet, um zu ermitteln, ob die Objekte Objekte
der Schicht- oder der Sammelklasse sind. Wenn dies nicht der Fall
ist, geht die Verarbeitung zu einer Routine zur Kombination von
Strukturen über,
die nachstehend unter Bezug auf 9E beschrieben
ist. Wenn die beiden Objekte entweder ein Schicht- oder ein Sammelobjekt
sind, wird im Schritt 842 die Logik untergeordneter Objekte
der beiden Objekte ausgewertet, um die richtige zu ergreifende Maßnahme zu
ermitteln. Wie nachstehend zu sehen ist, hängt die Maßnahme, die in Bezug auf die
beiden Objekte zu ergreifen ist, in starkem Maße von der Logik untergeordneter
Objekte der beiden Objekte ab. Wenn die Logik untergeordneter Objekte
der beiden Objekte beide FOLGE, beide UND oder beide EXKLUSIV UND 844 ist,
werden im Schritt 846 die beiden untergeordneten Objekte
ausgewertet, um festzustellen, ob sie genau identisch sind. Wenn
dies der Fall ist, wird im Schritt 848 das erste Objekt
als Ergebnis geliefert. Wenn die untergeordneten Objekte nicht genau
identisch sind, wird im Schritt 849 ermittelt, ob die beiden
Objekte beide UND sind. Wenn dies nicht der Fall ist, wird im Schritt 854 das
Widerspruchsobjekt erzeugt. Wenn beide Objekte UND sind, werden
im Schritt 850 alle untergeordneten Objekte der beiden
Objekte unter ein zeitweiliges übergeordnetes
Objekt platziert. Dann wird im Schritt 728 die Routine
aus 5B zur Kombination
von untergeordneten Objekten aufgerufen, um zu versuchen, die untergeordneten
Objekte zu einer kleineren Anzahl von Objekten zu kombinieren. Danach
wird im Schritt 852 das Ergebnis der Routine aus 5B zur Kombination von untergeordneten
Objekten ausgewertet, um zu ermitteln, ob irgendwelche Widerspruchsobjekte
erhalten wurden. Wenn Widerspruchsobjekte erhalten wurden, erhält man im
Schritt 854 das Widerspruchsobjekt zusammen mit denjenigen
beiden Objekten als untergeordnete Objekte, die als Input für die VOM-UNTERGEORDNETEN-OBJEKT-ABHÄNGIG-e Verarbeitungsroutine 798 verwendet
worden sind. Wenn man im Schritt 728 keine Widerspruchsobjekte
erhalten hat, erhält
man im Schritt 856 das erste an die VOM-UNTERGEORDNETEN-OBJEKT-ABHÄNGIG-e Verarbeitungsroutine 798 gelieferte
Objekt, wobei dessen untergeordneten Objekte den Ergebnissen gleichen, die
im Schritt 728 erhalten wurden.
-
Wenn die Logik untergeorcneter Objekte
der beiden zu kombinierenden Objekte bei beiden ODER 858 ist,
wird im Schritt 860 ein eindeutiges Paar von untergeordneten
Objekten aus den beiden Objekten ausgewählt, und dieses Paar von untergeordneten Objekten
wird der Routine aus 5C zur
Kombination zweier Objekte zugeführt.
Danach kehrt, wenn es ein werteres eindeutiges Paar im Schritt 862 gibt,
die Verarbeitung zum Schritt 758 zurück, um dieses eindeutige Paar
der Routine aus 5C zur
Kombination zweier Objekte zuzuführen.
Nachdem dieser Prozess für
jedes eindeutige Paar von untergeordneten Objekten der beiden Objekte
durchgeführt
worden ist, wird im Schritt 864 ermittelt, ob irgendwelche
widerspruchsfreien Ergebnisse erzeugt worden sind. Wenn dies der
Fall ist, erhält
man im Schritt 866 ein ODER-Objekt, das alle widerspruchsfreien
Ergebnisse als untergeordnete Objekte hat. Falls nicht, erhält man im
Schritt 854 ein Widerspruchsobjekt, das die beiden der
VOM-UNTERGEORDNETEN-OBJEKT-ABHÄNGIG-en
Verarbeitungsroutine 798 zugeführten Objekte als untergeordneten
Objekte hat. Wenn die beiden zu kombinierenden VOM-UNTERGEORDNETEN-OBJEKT-ABHÄNGIG-en
Objekte die Logik untergeordneter Objekte VOM-UNTERGEORDNETEN-OBJEKT-ABHÄNGIG 870 haben,
wird im Schritt 872 ein zeitweiliges Objekt erzeugt, das
als ein untergeordnetes Objekt ein erstes untergeordnetes Objekt
des ODER-Objekts hat und als zweite Menge von untergeordneten Objekten
sämtliche
untergeordneten Objekte des UND-Objekts. Dann wird im Schritt 728 die
Routine aus 5B zur Kombination
von untergeordneten Objekten aufgerufen. Danach kehrt im Schritt 874,
wenn es noch weitere untergeordnete Objekte des ODER-Objekts gibt,
die Verarbeitung zum Schritt 872 zurück, um ein neues zeitweiliges
Objekt zu bilden, das das nächste
untergeordnete Objekt des ODER-Objekts und alle untergeordneten
Objekte des UND-Objekts hat, und die Routine aus 5B zur Kombination von untergeordneten
Objekten wird nochmals aufgerufen. Nachdem alle untergeordneten
Objekte des ODER-Objekts
mit den untergeordneten Objekten des UND-Objekts kombiniert worden
sind, erhält
man im Schrtt 876 ein ODER-Objekt, das sämtliche
Ergebnisse als untergeordnete Objekte enthält, die im Schritt 728 erzeugt
worden sind.
-
Wenn die Logik untergeordneter Objekte
der beiden VOM-UNTERGEORDNETEN-OBJEKT-ABHÄNGIG-en
Objekte REIHENFOLGE und anderes oder EXKLUSIV UND und anderes 878 ist,
erhält man
im Schritt 854 ein Widerspruchsobjekt, das diese beiden
Objekte als untergeordnete Objekte hat, da Objekte mit dieser Logik-Kombination
untergeordneter Objekte nicht miteinander kombiniert werden können.
-
Wenn die Logik untergeordneter Objekte
der beiden zu kombinierenden VOM-UNTERGEORDNETEN-OBJEKT-ABHÄNGIG-en
Objekte GRUPPE 882 ist, werden im Schritt 884 die
untergeordneten Objekte des ersten und des zweiten Objekts zusammen unter
eines der beiden Objekte platziert, und dieses Objekt wird dann
der Routine aus 5B zur
Kombination von untergeordneten Objekten zugeführt.
-
Das Ergebnis der Routine aus 5B zur Kombination von untergeordneten
Objekten stellt dann das Ergebnis der Kombination der beiden VOM-UNTERGEORDNETEN-OBJEKT-ABHÄNGIGEN Objekte
dar.
-
Wenn die Logik untergeordneter Objekte
der beiden VOM-UNTERGEORDNETEN-OBJEKT-ABHÄNGIG-en
Objekte UND und GRUPPE 886 ist, wird im Schritt 888 eine
zeitweilige Kopie des UND-Objekts und der untergeordneten Objekte
des UND-Objekts gebildet, und ein untergeordnetes Objekt des GRUPPEN-Objekts
wird in die untergeordneten Objekte der Kopie des UND-Objekts aufgenommen. Dann
wird im Schritt 728 die Routine aus 5B zur Kombination von untergeordneten
Objekten aufgerufen, um zu versuchen, die untergeordneten Objekte des
neuen zeitweiligen Objekts zu kombinieren. Im Schritt 890 wird
ermittelt, ob im Ergebnis der Routine aus 5B zur Kombination von untergeordneten Objekten
irgendwelche Widerspruchsobjekte erzeugt worden sind. Wenn dies
nicht der Fall ist, wird im Schritt 892 das UND-Objekt
durch das Ergebnis der Routine aus 5B zur
Kombination von untergeordneten Objekten ersetzt, und das untergeordnete Objekt
des GRUPPEN-Objekts, das verwendet wurde, wird aus dem GRUPPEN-Objekt
entfernt. Danach oder unmittelbar nach Schritt 890, falls
ein Widerspruchsobjekt erzeugt wurde, wird das GRUPPEN-Objekt ausgewertet,
um im Schritt 894 festzustellen, ob es noch ein werteres
untergeordnetes Objekt hat. Wenn dies der Fall ist, kehrt die Verarbeitung zum
Schritt 888 zurück,
in dem das UND-Objekt und dessen untergeordnete Objekte kopiert
werden und ein weiteres untergeordnetes Objekt des GRUPPEN-Objekts
den untergeordneten Objekten der Kopie des UND-Objekts hinzugefügt wird.
Nachdem alle untergeordneten Objekte des GRUPPEN-Objekts auf diese
Weise ausgewertet worden sind, geht die Verarbeitung vom Schritt 894 zum
Schritt 896 über,
in dem emittelt wird, ob noch irgendwelche untergeordneten Objekte
des GRUPPEN-Objekts übriggeblieben
sind. Die untergeordneten Objekte verbleiben im GRUPPEN-Objekt,
wenn Widersprüche
zwischen den untergeordneten Objekten des UND-Objekts und irgendeinem
untergeordneten Objekt des GRUPPEN-Objekts erzeugt worden sind.
Wenn untergeordnete Objekte übrigbleiben,
erhält
man im Schritt 898 ein Widerspruchsobjekt, das das aktuelle UND-Objekt
und das GRUPPEN-Objekt als untergeordnete Objekte hat. Wenn keine
untergeordneten Objekte im GRUPPEN-Objekt übrigbleiben, dann gab es zwischen
keinem der untergeordneten Objekte des GRUPPEN-Objekts einen Widerspruch
zu untergeordneten Objekten des UND-Objekts, und in diesem Fall
erhält
man im Schritt 900 das UND-Objekt.
-
Mit Hilfe von 5E kann jetzt der Prozess zur Kombination
von Strukturen von Schritt 830 erläutert werden. Dieser Prozess
wird verwendet, um Strukturen, die kombinierbare Aussagen haben,
zu kombinieren. Als erster Schritt in diesem Prozess werden im Schritt 910 die
Objekte ausgewertet, um festzustellen, ob sie zur gleichen Klasse
gehören.
-
Wenn dies nicht der Fall ist, erhält man im Schritt 912 ein
Widerspruchsobjekt mit zwei Objekten als untergeordneten Objekten.
Nur wenn die Objekte zur gleichen Klasse gehören, wird versucht, die Objekte
zu kombinieren. Und zwar werden im Schritt 914 die Objektoperatoren
der beiden Objekte verglichen.
-
Wie nachstehend zu sehen ist, werden
für verschiedene
Kombinationen der Objektoperatoren in den beiden Objekten, die kombiniert
werden, verschiedene Maßnahmen
ergriffen. Die Fälle
werden in 5E in den
Schritten 916, 918, 920, 922, 924, 926, 928, 930, 932, 934, 936, 938, 940 und 942 dargestellt.
In jedem der dargestellten Fälle
werden der Objektoperator des ersten Objekts und dann der Objektoperator
des zweiten Objekts als geordnetes Paar identifiziert. Dabei steht
! = für
einen Objektoperator ungleich (≠), > = für einen
Objektoperator größer als
oder gleich (≥),
und <= steht für einen
Objektoperator kleiner als oder gleich (≤).
-
Im Fall 916, in dem die
Objektoperatoren entweder beide ungleich (≠) oder beide gleich (=) sind, können die
Objekte nur kombiniert werden, wenn die Eigenschaften der Objekte
ebenfalls beide genau gleich sind. Demzufolge werden im Schritt 950 die
Eigenschaften der beiden Objekte verglichen. Wenn die beiden Eigenschaften
gleich sind, erhält
man im Schritt 952 das erste Objekt als Ergebnis der Kombinationsroutine.
Wenn die Eigenschaften der beiden Objekte nicht gleich sind, erhält man im
Schritt 912 ein Widerspruchsobjekt, das die beiden Objekte
als untergeordnete Objekte hat.
-
Im Fall 918 muss die Eigenschaft
des ersten Objekts mit der Eigenschaft des zweiten Objekts verglichen
werden, um festzustellen, ob Übereinstimmung
besteht. Und zwar wird im Schritt 956 ermittelt, ob die
Eigenschaft des ersten Objekts größer als die Eigenschaft des
zweiten Objekts ist. Wenn dies der Fall ist, wird im Schritt 958 das
Objekt, das einen Objektoperator gleich (=) hat, als Ergebnis der
Kombination geliefert. Falls nicht, erhält man im Schritt 912 ein Widerspruchsobjekt.
-
Im Fall 920 müssen ebenfalls
die Eigenschaften der beiden Objekte verglichen werden. Und zwar
wird in Schritt 960 ermittelt, ob die Eigenschaft des zweiten
Objekts größer als
die Eigenschaft des ersten Objekts ist. Wenn dies der Fall ist,
erhält
man im Schritt 958 die Eigenschaft, die den Objektoperator
gleich (=) hat. Falls nicht, erhält
man im Schritt 912 ein Widerspruchsobjekt.
-
Im Fall 922 müssen die
Objekteigenschaften verglichen werden, um zu ermitteln, ob sie gleich sind.
Demzufolge werden im Schritt 966 die Eigenschaften verglichen,
um zu ermitteln, ob sie gleich sind. Wenn die Eigenschaften nicht
gleich sind, erhält man
im Schritt 958 das Objekt, das den Objektoperator gleich
(=) hat. Wenn die Eigenschaften gleich sind, erhält man im Schritt 912 ein
Widerspruchsobjekt.
-
Im Fall 924 sind die Objekte
unvereinbar, und man erhält
im Schritt 912 ein Widerspruchsobjekt.
-
Im Fall 925 haben beide
Objekte einen Objektoperator größer als
(>). Bei dieser Sachlage
erhält
man im Schritt 972 die größte Eigenschaft.
-
Im Fall 926 hat eine Eigenschaft
einen Objektoperator größer als
(>), und das andere
Objekt hat einen Operator größer als
oder gleich (≥).
Bei dieser Sachlage müssen
die Eigenschaften verglichen werden, um die geeignete Maßnahme zu
ermitteln. Und zwar werden im Schritt 970 die Eigenschaften verglichen,
um zu ermitteln, ob sie gleich sind. Wenn dies der Fall ist, erhält man im
Schritt 974 die Eigenschaft, die den Objektoperator größer als
(>) hat. Wenn die
Eigenschaften nicht gleich sind, erhält man im Schritt 972 die
Eigenschaft, die den größten Wert hat.
-
Im Fall 928 müssen die
Objekteigenschaften verglichen werden, um zu emitteln, ob sie übereinstimmen.
Und zwar wird im Schritt 976 ermittelt, ob die Eigenschaft
des ersten Objekts gleich oder größer als die Eigenschaft des,
zweiten Objekts ist. Wenn dies der Fall ist, erhät man im Schritt 958 das Objekt,
das den Objektoperator gleich (=) hat. Falls nicht, erhält man im
Schritt 912 ein Widerspruchsobjekt.
-
Im Fall 930 müssen die
Objekte wieder verglichen werden, um zu ermitteln, ob sie übereinstimmen.
Und zwar wird im Schritt 930 ermittelt, ob die Eigenschaft
des zweiten Objekts größer als
oder gleich der Eigenschaft des ersten Objekts ist. Wenn dies der
Fall ist, erhält
man im Schritt 958 das Objekt, das den Objektoperator gleich
(=) hat. Falls nicht, erhält man
im Schritt 912 ein Widerspruchsobjekt.
-
Im Fall 931 sind beide Objektoperatoren
kleiner als oder gleich (≤).
Bei dieser Sachlage erhält man
im Schritt 983 das Objekt, das die kleinste Eigenschaft
hat.
-
Im Fall 932 müssen die
Eigenschaften verglichen werden, um zu ermitteln, welche Maßnahme zu ergreifen
ist. Und zwar werden im Schritt 984 die Eigenschaften verglichen,
um zu ermitteln, ob sie gleich sind. Wenn die Eigenschaften gleich
sind, erhält
man im Schritt 986 das Objekt, das den Objektoperator kleiner
als (<) hat. Wenn
die Eigenschaften nicht gleich sind, erhält man im Schritt 983 die
kleinste Eigenschaft.
-
Im Fall 934 müssen die
Eigenschaften verglichen werden, um zu ermitteln, ob sie übereinstimmen.
Und zwar werden im Schritt 988 die Eigenschaften verglichen,
um zu ermitteln, ob sie gleich sind. Wenn die Eigenschaften gleich
sind, wird im Schritt 990 eines der beiden Objekte als
Ergebnis geliefert, aber sein Objektoperator wird umgeändert auf gleich
(=), um die Tatsache widerzuspiegeln, dass es nur der eine Punkt
ist, der für
beide Objekte die Bedingung erfüllt.
Wenn die Eigenschaften der beiden Objekte nicht gleich sind, erhält man im
Schritt 912 ein Widerspruchsobjekt. Es ist klar, dass es
einen Wertebereich für
die Eigenschaft gibt, der für
beide Objekte die Bedingung erfüllt.
Die Objekte werden aber nur dann kombiniert, wenn ein einzelnes
Objekt die beiden Objekte ersetzen kann. Aus diesem Grunde wird
in diesem Fall jede Situation, in der die Eigenschaften nicht gleich
sind, als Widerspruch angesehen.
-
Im Fall 936 müssen die
Eigenschaften wieder verglichen werden, um die geeignete zu ergreifende
Maßnahme
zu ermitteln. Im Schritt 992 werden die Eigenschaften verglichen,
um zu ermitteln, ob sie gleich sind. Wenn dies der Fall ist, erhält man im Schritt 994 das
Objekt, das einen Operator kleiner als oder gleich (≤) oder größer als
oder gleich (≥)
hat, aber sein Objektoperator wird abgeändert auf kleiner als (<) beziehungsweise
größer als
(>). Wenn die Eigenschaften
der beiden Objekte nicht gleich sind, wird im Schritt 996 ermittelt,
ob die Eigenschaft des zweiten Objekts größer als die Eigenschaft des
ersten Objekts ist. Wenn dies der Fall ist, erhält man im Schritt 998 das
Objekt mit einem Operator größer als oder
gleich (≥)
oder kleiner als oder gleich (≤).
Falls nicht, erhält
man im Schritt 912 ein Widerspruchsobjekt.
-
Im Fall 938 müssen die
Eigenschaften im Schritt 996 verglichen werden, um die
geeignete zu ergreifende Maßnahme
zu ermitteln, und dann wird übergegangen
zum Schritt 998 oder 912.
-
Im Fall 940 müssen die
Eigenschaften verglichen werden, um die zu ergreifende geeignete
Maßnahme
zu ermitteln. Und zwar wird in Schritt 1004 ermittelt,
ob die erste Eigenschaft größer als
die zweite Eigenschaft ist. Wenn dies nicht der Fall ist, erhält man im
Schritt 912 ein Widerspruchsobjekt. Wenn dies der Fall
ist, erhält
man im Schritt 1006 ein Objekt, das einen Objektoperator kleiner
als (<) oder größer als
(>) oder kleiner als
oder gleich (≤)
oder größer als
oder gleich (≥)
hat.
-
Im Fall 942 müssen die
Eigenschaften wieder verglichen werden, um die zu ergreifende geeignete
Maßnahme
zu ermitteln. Und zwar wird in Schritt 1000 ermittelt,
ob die Eigenschaften gleich sind. Wenn dies der Fall ist, erhält man im
Schritt 1002 die Eigenschaft, die einen Objektoperator
größer als oder
gleich (≥)
oder kleiner als oder gleich (≤)
hat, aber der Objektoperator wird abgeändert auf größer als
(>) oder kleiner als
(<). Wenn im Schritt 1000 die Eigenschaften
nicht gleich sind, geht die Verarbeitung über zum Schritt 1004,
um die zu ergreifende geeignete Maßnahme zu ermitteln, wie vorstehend beschrieben
worden ist.
-
Figuren:
-
1
- CLIENT
CPU
- CLIENT-CPU
- 22,
43
- MIKROPROZESSOR
- 26,
42
- SPEICHER
- 21a,
21b, 21c, 21d
- CLIENT
- SERVER
CPU
- SERVER-CPU
-
2
- 52
- OBJEKT-ID/KLASSEN-ID
- 54
- OBJEKT-ID
- 56
- KLASSEN-ID
- 60
- NAME
- 62
- ID
OBJEKT DER ÜBERGEORDNETEN
KLASSE
- 63
- ÜBERGEORDNETES
OBJEKT
- 64
- UNTERGEORDNETE
OBJEKTE
- PREVIOUS/NEXT
- VORHERIGES/NÄCHSTES
- 72a,
72b
- ID
OBJEKT DER UNTERGEORDNETEN KLASSEN
-
- OBJEKT
- 76
- LOGIK
UNTERGEORDNETER OBJEKTE
- 78
- EIGENSCHAFTEN
- 90
- INTERPRETATION
- 93
- OBJEKTOPERATOR
- 95
- NUTZER/DATUM/STATUS
- 97
- PRIORITÄT
- 98
- SICHERHEITSKONTROLLEN
- 84a,
84b
- WERT
- 92
- AUSSAGESOBJEKT
- 74a,
74b
- UNTERGEORDNETES
OBJEKT
- 88b
- MASSEINHEITEN-OBJEKT
- 88a
- MASSEINHEITEN-OBJEKT
- 100
- KLASSENDEFINITION
- 102
- KLASSEN-ID
- 104
- LISTE
DER ZULÄSSIGEN KLASSEN-IDS
- 106
- MINIMALE
UND MAXIMALE ANZAHL VON
-
- UNTERGEORDNETEN
OBJEKTEN IN JEDER
-
- ZULÄSSIGEN KLASSE
- 108
- KLASSENNAME
- 110
- DEFINITIONEN
ZUSÄTZLICHER
-
- OBJEKTEIGENSCHAFTEN
- 112
- VERARBEITUNGSMERKER
-
-
-
3:
- SUCHE
RESULT
- SUCHERGEBNIS
- 270
- VERARBEITUNGSOBJEKT
- 272
- ERGEBNIS
- 274
- ERFASSUNG
- 276
- QUELLE
-
4:
- 277
- ANFORDERUNGSCHARAKTERISTIK
- 278,
289
- REVISION
- 279,
287
- VERWEIS
ANFORDERUNGSCHARAKTERISTIK 123
- NULL
- LEER
- 280,
290
- PROZEDUR
A
- 281
- VERWEIS
123
- 282,
294
- MERKMALSDEFINITION "DICKE"
- 283
- SCHICHT
1
- 284
- SCHICHT
2
- 285
- VERWEIS
ANFORDERUNGSCHARAKTERISTIK
- 286
- VERWEIS
ANFORDERUNGSCHARAKTERISTIK 123, PROZEDUR B
- 288
- ANFORDERUNGSCHARAKTERISTIK
123
- SDL
DEF.REF.SCOPE
- SDL-DEFINITION
GÜLTIGKEITSBEREICH DESVERWEISES
- 291
- SCHICHT
X
- 292
- SCHICHT
Y
-
-
- 293
- PROZEDUR
B
- 295
- SCHICHT
A
- 296
- SCHICHT
B
- 297,
298
- ZAHLENWERT
-
5A:
- 700
- ERFASSUNGS-,
QUELLEN-, GRUNDLINIENOBJEKTE BILDEN
- 702
- OBJEKT
KOMBINIEREN
- 704
- IST
DAS OBJEKT EIN IMPLIKATIONSOBJEKT?
- 706
- ALLE
UNTERGEORDNETE OBJEKTE IN ERGEBNIS KOPIEREN
- 708
- VERARBEITUNGSSTATUS DES
OBJEKTS ÜBERPRÜFEN
- 714
- NICHT
VERARBEITENUNBEKANNT
- 718
- VOM-UNTERGEORDNETEN-OBJEKT-ABHÄNGIG
- 716
- NUR
UNTERGEORDNETE OBJEKTE
- 710
- REGULÄR AUFBEREITUNG FORMEL
VERWEIS NUR ZUR INFORMATION
- RETURN
ERROR
- FEHLER
ALS ERGEBNIS LIEFERN
- 719
- AKTUELLES
OBJEKT KOPIEREN, UM ERGEBNISBAUM ZU BEGINNEN
- 717
- GRUPPENOBJEKT
BILDEN, UM ERGEBNISBAUM ZU BEGINNEN
- 712
- KOPIE
DES OBJEKTS UND SEINER UNTERGEORDNETE OBJEKTE ALS ERGEBNIS LIEFERN
UND ERFASSUNGSEINGABE VORNEHMEN
- 730
- ERSTES
UNTERGEORDNETES OBJEKT AUSWÄHLEN
- 722
- UNTERGEORDNETES
OBJEKT ABRUFEN
- 724
- KOPIE
DES ABGERUFENEN UNTERGEORDNETES OBJEKTS ERGEBNISBAUM BEIFÜGEN
- 726
- NOCH
EIN UNTERGEORDNETES OBJEKT ZUM ABRUFEN VORHANDEN?
- 728
- KOPIE
DES AKTUELLEN OBJEKTS UND DER ABGERUFENEN UNTERGEORDNETE OBJEKTE
AN ROUTINE ZUM KOMBINATION DER UNTERGEORDNETE OBJEKTE ÜBERGEBEN
- 730
- ERGEBNIS
LIEFERN UND ERFASSUNGSEINGABE VORNEHMEN
- Y
- JA
-
5B:
- 702
- UNTERGEORDNETE OBJEKTE
KOMBINIEREN
- 732
- MEHR
ALS EIN UNTERGEORDNETES OBJEKT?
- 734
- ALS
INPUT VERWENDETES OBJEKT UND UNTERGEORDNETES OBJEKT ALS ERGEBNIS
LIEFERN
- SEQUENCE
EXCLUSIVE AND INCOMPLETE DEPENDENCY
- FOLGE
EXCLUSIV UND UNVOLLSTÄNDIG
ABHÄNGIGKEIT
- 736
- LOGIK
UNTERGEORDNETER OBJEKTE ÜBERPRÜFEN
- 738
- ZEITWEILIGE
KOPIE DES ALS INPUT VERWENDETEN ÜBERGEORDNETEN
OBJEKTS ANFERTIGEN UND ALS INPUT VERWENDETE UNTERGEORDNETE OBJEKTE
UNTER DIE KOPIE VERSCHIEBEN
- 740
- ERSTES
UNTERGEORDNETES OBJEKT DER ZEITWEILIGEN KOPIE AUSWÄHLEN
- 742
- IST
UNTERGEORDNETES OBJEKT EIN SAMMELOBJEKT MIT GRUPPEN-LOGIK UNTERGEORDNETER OBJEKTE?
- 744
- UNTERGEORDNETE OBJEKTE
DES SAMMELOBJEKTS VERSCHIEBEN, DAMIT SIE UNTERGEORDNETE OBJEKTE
DER ZEITWEILIGEN KOPIE DES ALS INPUT VERWENDETEN ÜBERGEORDNETES
OBJEKTS WERDEN, UND SAMMELOBJEKT LÖSCHEN
- 746,
754, 762
- EIN
WEITERES UNTERGEORDNETES OBJEKT DER ZEITWEILIGEN KOPIE?
- 748
- ERSTES
UNTERGEORDNETES OBJEKT DER ZEITWEILIGEN KOPIE ALS KANDIDATENOBJEKT
AUSWÄHLEN,
AUS DER ZEITWEILIGEN KOPIE ENTFERNEN
- 747
- NÄCHSTES UNTERGEORDNETES
OBJEKT AUSWÄHLEN
- 750
- IST
KANDIDATENOBJEKT EIN AUFGABENOBJEKT?
- 752
- KANDIDATENOBJEKT VERSCHIEBEN,
DAMIT ES EIN UNTERGEORDNETES OBJEKT DES ALS INPUT VERWENDETEN ÜBERGEORDNETES
OBJEKTS IST
- 756
- ERSTES
UNTERGEORDNETES OBJEKT DER ZEITWEILIGEN KOPIE ALS PRÜFOBJEKT
AUSWÄHLEN
- COMBINED
OBJECT OR CONFLICT OBJECT RETURNED
- KOMBINIERTES
OBJEKT ODER WIDERSPRUCHSOBJEKT GELIEFERT
- 758
- KANDIDATEN-
UND PRÜFOBJEKTE
ZUR PROZEDUR DER KOMBINATION ZWEIER OBJEKTE SCHICKEN
- "CAN'T COMBINE" ERROR
- "KANN NICHT KOMBINIERT
WERDEN"-FEHLER
- 768
- ALS
INPUT VERWENDETES ÜBERGEORDNETES
OBJEKT UND DESSEN UNTERGEORDNETE OBJEKTE ALS ERGEBNIS LIEFERN
- 760
- KANDIDAT
DURCH ERGEBNIS ERSETZEN
- 764
- NÄCHSTES UNTERGEORDNETES
OBJEKT DER ZEITWEILIGEN KOPIE ALS PRÜFOBJEKT AUSWÄHLEN
- Y
- JA
-
5C:
- 758
- ZWEI
OBJEKTE KOMBINIEREN
- 770
- LOGIK
UNTERGEORDNETER OBJEKTE IM ÜBERGEORDNETEN OBJEKT
AUSWERTEN
- 773
- GRUPPE
- 771
- WIDERSPRUCH
- 783
- UND
ODER
- 774
- PROZEDUR?
- 772
- FEHLER
LIEFERN: KANN NICHT KOMBINIERT WERDEN
- 780
- PROZEDURNAMEN KOMPATIBEL?
- 776
- AUSSAGES-/INTERPRETATIONSOBJEKTE KOMPATIBEL?
- 784
- HABEN
DIE OBJEKTE DIE GLEICHE PRIORITÄT?
- 778
- WENN
EINES ODER BEIDE OBJEKTE EIN INTERPRETATIONSOBJEKT HAT/HABEN; DAS/DIE
EINE SDL-DEFINITION IST/SIND, IST DIE AUSSAGE/NTERPRETATION DES ÜBERGEORDNETEN
OBJEKTS KOMPATIBEL?
- 786
- OBJEKT
MIT DER HÖHEREN
PRIORITÄT
LIEFERN
- 788
- VERARBEITUNGSSTATUS
DES ERSTEN OBJEKTS AUSWERTEN
- 790,
814, 796, 826
- VOM-UNTERGEORDNETEN-OBJEKT-ABHÄNGIG
- 792,
816, 828, 800
- NUR
ZUR INFORMATION
- 794,
804, 824, 829
- ANDERE
- BRANCH
ON PROCESSING STATUS OF SECOND BRANCH
- ENTSPRECHEND
VERARBEITUNGSSTATUS DES ZWEITEN ZWEIGS VERZWEIGEN
- BRANCH
ON PROCESSING STATUS OF SECOND OBJECT
- ENTSPRECHEND
VERARBEITUNGSSTATUS DES ZWEITEN OBJEKTS VERZWEIGEN
- 818
- ALS
INPUT VERWENDETES OBJEKT IDENTISCH?
- 820
- ERSTES
OBJEKT LIEFERN
- 798
- BEIDE
VOM-UNTERGEORDNETEN-OBJEKTABHÄNGIG
(9D)
- 806
- ANDERE
OBJEKTE KOPIEREN UND KOPIE DES VOMUNTERGEORDNETEN-OBJEKT-ABHÄNGIG-EN OBJEKTS
ZWISCHEN SEINE UNTERGEORDNETE OBJEKTEN PLATZIEREN
- 728
- UNTERGEORDNETE OBJEKTE
KOPIEREN (9B)
- 808
- IRGENDWELCHE
WIDERSPRUCHSOBJEKTE IM ERGEBNIS?
- 810
- ERGEBNIS
LIEFERN
- 802
- WIDERSPRUCHSOBJEKT
MIT ZWEI ALS INPUT VERWENDETEN OBJEKTEN ALS DESSEN UNTERGEORDNETE
OBJEKTEN LIEFERN
- 830
- STRUKTUREN
KOMBINIEREN (9E)
- Y
- JA
-
5D:
- 798
- BEIDE
VOM-UNTERGEORDNETEN-OBJEKTABHÄNGIG
- 840
- SIND
BEIDE OBJEKTE ENTWEDER EINE SCHICHT ODER EINE SAMMLUNG?
- 728
- STRUKTUREN
KOMBINIEREN (9E)
- 842
-
-
- UNTERGEORDNETES
OBJEKT-LOGIK DER OBJEKTE AUSWERTEN
- 844
-
-
- FOLGE,
FOLGE UND, UND EXKLUSIV UND, EXKLUSIV UND
- 846
- ALLE
UNTERGEORDNETE OBJEKTE IDENTISCH?
- 849
- BEIDE
UNTERGEORDNETE OBJEKTE UND?
- 850
- ALLE
UNTERGEORDNETE OBJEKTE ALS UNTERGEORDNETE OBJEKTE DES ZEITWEILIGEN
OBJEKTS PLATZIEREN
- 728
- UNTERGEORDNETE
OBJEKTE KOMBINIEREN? (9B)
- 852
- IRGENDWELCHE
WIDERSPRUCHSOBJEKTE IM ERGEBNIS?
- 848
- ERSTES
OBJEKT UND DESSEN UNTERGEORDNETE OBJEKTE ALS ERGEBNIS LIEFERN
- 858
- ODER,
ODER
- 860
- EIN
EINDEUTIGES PAAR UNTERGEORDNETER OBJEKTE VON ZWEI OBJEKTEN AUSWÄHLEN
- 758
- ZWEI
OBJEKTE KOMBINIEREN (9C)
- 862
- NOCH
EIN EINDEUTIGES PAAR?
- ANY
CONFLICT OBJECTS IN RESULT?
- IRGENDWELCHE
WIDERSPRUCHSOBJEKTE IM ERGEBNIS?
- 866
- EIN
ODER-SAMMELOBJEKT MIT ALLEN WIDERSPRUCHSFREIEN ERGEBNISSEN LIEFERN
- 870
- UND,
ODER
- 872
- ZEITWEILIGES
OBJEKT MIT EINEM UNTERGEORDNETES OBJEKT DES ODER-OBJEKTS UND ALLEN
UNTERGEORDNETE OBJEKTEN DES UND-OBJEKTS BILDEN
- 728
- UNTERGEORDNETE
OBJEKTE KOMBINIEREN (9B)
- 874
- NOCH
EIN UNTERGEORDNETES OBJEKT DES ODEROBJEKTS?
- 876
- DAS
ODER-OBJEKT MIT ALLEN ERGEBNISSEN ALS DESSEN UNTERGEORDNETE OBJEKTE
LIEFERN
- 878
-
-
- REIHENFOLGE,
ANDERES EXKLUSIV UND, ANDERES
- 854
- WIDERSPRUCHSOBJEKT MIT
ZWEI ALS INPUT VERWENDETEN OBJEKTEN ALS UNTERGEORDNETE OBJEKTE LIEFERN
- 882
- GRUPPE,
GRUPPE
- 884
- UNTERGEORDNETE
OBJEKTE DER OBJEKTE ZUSAMMEN UNTER EINEM OBJEKT PLATZIEREN
- 728
- UNTERGEORDNETE
OBJEKTE KOMBINIEREN (9B)
- 886
- UND,
GRUPPE
- 888
- KOPIE
DES UND-OBJEKTS UND SEINER UNTERGEORDNETEN OBJEKTE ANFERTIGEN UND
EIN UNTERGEORDNETES OBJEKT DES GRUPPENOBJEKTS ZUM UNTERGEORDNETEN
OBJEKT DES UND-OBJEKTS MACHEN
- 728
- UNTERGEORDNETE
OBJEKTE KOMBINIEREN (9B)
- 890
- IRGENDWELCHE
WIDERSPRUCHSERGEBNISSE IM ERGEBNIS?
- 892
- UND-OBJEKT
DURCH ERGEBNIS ERSETZEN,. UNTERGEORDNETES OBJEKT AUS GRUPPENOBJEKT
ENTFERNEN
- 894
- NOCH
EIN UNTERGEORDNETES OBJEKT DES GRUPPENOBJEKTS?
- 896
- IRGENDWELCHE
UNTERGEORDNETE OBJEKTE UNTER DEM GRUPPENOBJEKT?
- 898
- WIDERSPRUCHSOBJEKT LIEFERN,
UNTERGEORDNETE OBJEKTE SIND AKTUELLE VERSION DES UND-OBJEKTS UND GRUPPENOBJEKTS
- 900
- AKTUELLE
VERSION DES UND-OBJEKTS LIEFERN
- Y
- JA
-
5E:
- 830
- STRUKTUREN
KOMBINIEREN
- 910
- GEHÖREN OBJEKTE ZUR
GLEICHEN KLASSE?
- 914
- OBJEKTOPERATOREN VERGLEICHEN
- 950,
970, 992, 984, 942, 988
- SIND
EIGENSCHAFTEN GLEICH?
- 952
- ERSTES
OBJEKT LIEFERN
- 960
- ZWEITE
OBJEKTEIGENSCHAFT > ERSTE OBJEKTEIGENSCHAFT?
- 958
- OBJEKT
MIT =-OPERATOR LIEFERN
- 972
- OBJEKT
MIT DER GRÖSSTEN
EIGENSCHAFT LIEFERN
- 956
- ERSTE
OBJEKTEIGENSCHAFT > ZWEITE
OBJEKTEIGENSCHAFT?
- 912
- WIDERSPRUCHSOBJEKT
MIT ZWEI OBJEKTEN ALS UNTERGEORDNETE OBJEKTE LIEFERN
- 966
- SIND
EIGENSCHAFTEN GLEICH?
- 976
- ERSTE
OBJEKTEIGENSCHAFT >=
ZWEITE OBJEKTEIGENSCHAFT?
- 974
- OBJEKT
MIT >-OPERATOR LIEFERN
- 1004
- ERSTE
EIGENSCHAFT > ZWEITE
EIGENSCHAFT?
- 1006
- >=/<=/>/<-OBJEKT LIEFERN
- 980
- ZWEITE
OBJEKTEIGENSCHAFT >=
ERSTE OBJEKTEGENSCHAFT?
- 994
- OBJEKT
MIT OPERATOR >= ODER <= LIEFERN, ABER
ABÄNDERN
AUF < ODER >
- 990
- EINES
DER OBJEKTE LIEFERN, ABER MIT OPERATOR ABGEÄNDERT AUF =
- 983
- OBJEKT
MIT KLEINSTER EIGENSCHAFTS LIEFERN
- 986
- OBJEKT
MIT <-OPERATOR
LIEFERN
- 1002
- OBJEKT
MIT OPERATOR >= ODER <= LIEFERN, ABER
ABÄNDERN
AUF < ODER >
- 996
- ZWEITE
OBJEKTEIGENSCHAFT > ERSTEOBJEKTEIGENSCHAFT?
- 998
- >=/<=/>/<-OBJEKT LIEFERN
- Y
- JA