-
Die
Erfindung betrifft eine Vorrichtung für die Konzeptionierung oder
Konfiguration eines Maschinenobjekts, das durch ein Objektdatenmodell
repräsentiert
ist. Komplexe technische Produkte erfordern einen aufwändigen Entwicklungsprozess.
Eine für
einen einzelnen Ingenieur kaum überschaubare
Vielzahl von Parametern beeinflusst die unter technischen und wirtschaftlichen
Aspekten zu optimierende Produktgestalt. Als Beispiel sei die Konzeptionierung und
Konfiguration neuer Flugzeuge genannt.
-
Der
Entwurfsprozess lässt
sich grob in folgende Phasen einteilen:
-
a) Konzeptionsphase
-
In
der Konzeptionsphase zum Entwurf eines technischen Produkts werden
Produktkonzepte definiert, wesentliche Gestaltungsparameter der
Konzepte zu einem vorläufigen
Produktdesign verdichtet, Machbarkeitsstudien durchgeführt, Simulationen
des Produktes und verschiedene analytische Methoden angewandt, um
zu prüfen,
welches Produktkonzept den Aufwand der weiteren Entwicklung lohnt.
Am Beispiel der Entwicklung eines neuen Passagierflugzeugs werden
in dieser Phase beispielsweise Rumpf- und Flügelformen definiert. Die Konzeptionsphase
geht in eine Vorentwurfsphase über,
in der mit dem Methoden der Konzeptionsphase Vorentwürfe (predesigns)
des Produktes entwickelt werden.
-
b) Entwurfsphase
-
Anschließend werden
in der Entwurfsphase detailliertere Entwürfe des Produktes entwickelt,
dreidimensionale Testmodelle gebaut oder VR-Modelle (VR ist eine
Abkürzung
für virtuelle
Realität)
erstellt und getestet. In dieser Phase kommen in der Regel CAD-Systeme
(englisch: Computer Aided Design, computergestützter Entwurf) zum Einsatz.
-
c) Konfigurationsphase
-
In
der anschließenden
Konfigurationsphase werden Einzelheiten des Produktes konzeptioniert und
geplant. Am Beispiel der Entwicklung des neuen Passagierflugzeugs
wird in dieser Phase beispielsweise für einen bestimmten Käufer des
Flugzeugs die Bestückung
und Einrichtung Passagierkabine definiert. Dabei werden elektronische
Kataloge erstellt, Zeichnungen und Dokumente erzeugt und Schnittstellen
zu einem Lebenszyklusmanagement geschaffen. Das Lebenszyklusmanagement
betrifft Methoden für
die Planung und Steuerung einer Versorgung des Herstellers des Produkts
mit erforderlichen Bauteilen und Ersatzteilen sowie der Bereitstellung
produktbezogener Dienstleistungen.
-
d) Dokumentationsphase
-
In
der den Produktentwicklungsprozess abschließenden Dokumentationsphase
werden die nötigen
technischen Publikationen erzeugt, die für die Produktion erforderlichen
Unternehmensstrukturen geplant, Strukturen für die Unterstützung von
Umbauten am Produkt (Retrofit Support) und eine Lebenszyklusdokumentation
erstellt.
-
Die
vorliegende Erfindung betrifft Entwicklungsprozesse in den Phasen
a), Konzeption, oder c), Konfiguration.
-
Zur
Unterstützung
der Konzeptionsphase sind Vorrichtungen mit Software-Integrationsplattformen
bekannt, die unterschiedliche, bereits vorhandene Software-Werkzeuge
integrieren, um durch einen automatisierten Datenaustausch zwischen
diesen Werkzeugen den Konzeptionsprozess zu beschleunigen. Bekannte
Software-Integrationsplattformen sind beispielsweise Isight (Release
9.0) oder das Web-gestützte
Produkt FIPER (Version 1.6).
-
Die
Software-Plattformen enthalten eine Schnittstelle, über die
verschiedene Software-Werkzeuge eingebunden werden. Unterschiedliche Schnittstellentypen
sind bekannt. Das Spektrum reicht von einem Anwendungsaufruf mit
einer Dateigestützten
Kommunikation für
den Datenaustausch über
netzwerkähnliche
Kommunikationsprotokolle bis hin zu einer zugeschnittenen Kodierung
spezieller Anwendungsschnittstellen (Application Interface, API).
-
Der
Nachteil solcher Software-Integrationsplattformen ist, dass sie
mit den eingebundenen Software-Werkzeugen auch deren Grenzen und
Nachteile importieren. Darüber
hinaus ermöglichen
solche Software-Integrationsplattformen keine Implementierung neu
zu schaffender Analysemethoden.
-
Eine
zweite Variante bekannter Entwurfssysteme zur Unterstützung der
Konzeptionsphase bilden sogenannte KBE-Plattformen. Der Begriff
Knowledge-Based Engineering (KBE) umschreibt Technologien zur Definition
und Integration von Ingenieurswissen in der Produktentwicklung.
Mit Hilfe von KBE können
immer wiederkehrende Abläufe
in Regeln gefasst werden, die beispielsweise unternehmensweit zur
Verfügung
gestellt werden können.
Derartige Konstruktionsregeln repräsentieren gewissermaßen das
Expertenwissen des Unternehmens.
-
Beispiele
von KBE-Plattformen mit integrierter CAD-Funktionalität sind die
Produkte CATIA, Version 5 und UGS Knowledge Fusion. Nachteil beider Produkte
ist, dass die Einbettung von Wissen in das System nicht einheitlich
erfolgt. Es werden je nach konkretem Zusammenhang entweder Regel-basierte Definitionstechniken
und Prüfmechanismen
zum Aktivieren der Regeln verwendet, oder Skript-Schnittstellen
wie VisualBasic oder C++-Programmierschnittstellen zur Verfügung gestellt.
Diese unterschiedliche Wissensimplementierung kann jedoch dazu führen, dass
heterogene und schlecht skalierbare Architekturen geschaffen werden.
Darüber
hinaus müssen
schon ab einem geringen Komplexitätslevel der anzuwendenden Regeln
und Methoden selbst erstellte Softwarelösungen mit Hilfe einer API eingebunden
werden. Die Integration komplexerer Methoden und Regeln und ist
nur mit Hilfe eines aufwändigen
Software-Entwicklungsprozesses möglich, bleibt
gewissermaßen „Handarbeit".
-
Eine
KBE-Anwendung ist auch Gegenstand der WO02/0734723 A1, die eine
Vorrichtung und Verfahren zur Konfiguration des Innenraums von Fahrzeugen,
insbesondere Flugzeugen betrifft. Ein Nutzer ruft bei diesem Verfahren
einen bestimmten Flugzeugtyp auf und kann dann durch symbolische
Eingaben über
eine graphische Nutzerschnittstelle die Konfiguration modifizieren.
Dabei wird die Zulässigkeit
der durchgeführten
Modifizierungen im Hinblick etwa auf Vorschriften staatlicher Behörden durch
implementierte Überwachungsverfahren
sichergestellt und im Verletzungsfall angezeigt. Nachteil dieser Vorrichtung
ist einerseits ihre Beschränkung
auf die Aufgabe der Konfiguration. Zum anderen beschränkt die
Vorrichtung den Nutzer auf ein festes Repertoire vordefinierter
Modifikationsmöglichkeiten
eines jeweiligen Flugzeugtyps.
-
Ein
weiteres bekanntes Produkt ist „DesignSheet" der Firma Rockwell
Scientific. DesignSheet verfolgt das Ziel einer Analyse konzeptioneller Designs.
Solche Designs werden durch Variablen und Randbedingungen (Constraints)
definiert. Als Constraints werden algebraische Gleichungen verwendet,
die bei Designsheet an einer Nutzerschnittstelle symbolisch definiert
werden. DesignSheet setzt voraus, dass Gleichungen explizit in symbolischer
Form vorliegen bzw. eingegeben werden und symmetrisch nach jeder
beteiligten Variable aufgelöst werden
können.
Dies bedeutet eine Einschränkung der
Verwendbarkeit von Designsheet, weil in der Praxis Constraints häufig auf
Analysefunktionen basieren, die in einer Programmiersprache implementiert sind.
Ferner definieren Funktio nen nicht-symmetrische, das heißt gerichtete
Constraints (gerichtet von Eingabe nach Ausgabe), so dass das Lösen nach
der Ausgabe einer Funktion einfach ist, nach den Eingaben jedoch
schwer und nur numerisch, nicht aber symbolisch möglich ist.
DesignSheet ist weiterhin beschränkt
auf die Analyse konzeptioneller Designs.
-
Das
der Erfindung zugrunde liegende technische Problem ist daher, eine
Vorrichtung für
die Konzeptionierung eines Maschinenobjekts unter Verwendung eines
Objektdatenmodells in Form eines Gleichungssystems anzugeben, das
die Nachteile der bekannten Lösungen
beseitigt oder zumindest verringert.
-
Die
erfindungsgemäße Vorrichtung
für die Konzeptionierung
oder Konfiguration eines Maschinenobjekts unter Verwendung eines
Objektdatenmodells in Form eines Gleichungssystems ist in Anspruch
1 angegeben. Bevorzugte Ausführungsformen
der erfindungsgemäßen Vorrichtung
definieren die davon abhängigen
Ansprüche.
-
Die
erfindungsgemäße Vorrichtung
für die Konzeptionierung,
den Vorentwurf und die Konfiguration eines Maschinenobjekts, das
durch ein Objektdatenmodell repräsentiert
ist, hat eine Objektdatenbank, die Komponentenobjekte in Form von
Komponentendatenmodellen enthält.
Ein Komponentenobjekt bzw. Komponentendatenmodell weist in seiner einfachsten
Form ein Parameterobjekt oder eine Mehrzahl Parameterobjekte auf,
die einen numerischen oder einen nicht-numerischen Parameterwert aus einem
jeweils vorbestimmten Wertebereich annehmen können. Numerische Parameterwerte
sind beispielsweise Zahlen des Typs Double, Float oder einheitenbehaftete
Werte. Nicht-numerische Parameterwerte sind beispielsweise Datenstrukturen
vom Typ Array oder String, oder diskrete Variablen, etwa vom Typ
Integer, können
aber auch durch Geometrieobjekte oder Komponentenobjekte selbst
gebildet werden. Ein besonders bevorzugtes Ausführungsbeispiel enthält Parameterobjekte
in Form von einheitenbehafteten physikalischen Größen. Komponentenobjekte
kapseln also das komponentenspezifische Ingenieurswissen hinsichtlich
der Parameter, wobei in bevorzugten Ausführungsbeispielen zusätzliche
auch die Beziehungen zwischen den Parametern durch Formelobjekte
und die Geometrie der Komponentenobjekte erfasst wird.
-
Die
Objektdatenbank der erfindungsgemäßen Vorrichtung enthält weiterhin
Funktionsobjekte. Ein jeweiliges Funktionsobjekt ist ausgebildet,
eine vorbestimmte Verknüpfung
zwischen zwei oder mehr Parameterobjekten unterschiedlicher Komponentenobjekte
zu bilden, Parameterwerte zu modifizieren, die in einem Komponentenobjekt
enthalten sind, dem Objektdatenmodell ein Komponentenobjekt hinzuzufügen und
Parameterwerte des hinzugefügten
Komponentenobjekts zu setzen, oder aus dem Objektdatenmodell ein
Komponentenobjekt zu entfernen. Funktionsobjekte bilden in der erfindungsgemäßen Vorrichtung
demnach entwurfsstrategisches Ingenieurs-Know-how ab, das das jeweilige
Stadium eines Entwurfsprozess vorantreibt und einen jeweils erreichten
Produktstatus analysiert.
-
Der
durch die erfindungsgemäße Trennung von
Komponentenobjekten und Funktionsobjekten implementierte Modellierungsansatz
ermöglicht
eine Unterscheidung zwischen Randbedingungen (engl. Constraints)
innerhalb eines Komponentenobjektes (beispielsweise der Wert eines
nicht veränderbaren Parameterobjektes)
und Randbedingungen, die zwischen Komponenten bestehen. Erstere
werden durch die Komponentenobjekte selbst, letztere durch die Funktionsobjekte
erfasst. Diese Kapselung hat insbesondere den Vorteil, dass der
Modellierungsprozess wesentlich übersichtlicher
gestaltet werden kann. Darüber
hinaus ermöglicht
die Kapselung die Wiederverwendung der Komponentenobjekte in verschiedenen
Systemen. Dies erhöht
die Gestaltungsfreiheit des Nutzers beträchtlich und löst die Bindung an
jeweils fest vorgegebene Systeme, wie sie aus der WO02/073473A1
in Form von fest auf einen Flugzeugtyp bezogenen Flugzeuginnendesigns
(Aircraft Interior Design, AIC) bekannt ist.
-
Die
erfindungsgemäße Vorrichtung
enthält weiterhin
eine Modellbildungseinheit, die mit der Objektdatenbank verbunden
ist, und die ausgebildet ist, auf den Eingang einer entsprechenden
Anweisung hin eine Komponentenobjektinstanz eines in der Objektdatenbank
enthaltenen Komponentenobjektes oder eine Funkti onsobjektinstanz
eines in der Objektdatenbank enthaltenen Funktionsobjektes zu erzeugen
und einem Objektdatenmodell hinzuzufügen. Weiterhin ist die Modellbildungseinheit
ausgebildet, auf den Eingang einer Anweisung zum Verknüpfen verschiedener
Komponentenobjekte untereinander oder von Komponentenobjekten mit
Funktionsobjekten das Objektdatenmodell entsprechend zu modifizieren,
und auf den Eingang einer entsprechenden Anweisung hin ein Parameterobjekt
als Eingabeparameter oder Ausgabeparameter eines Resolutionsprozesses
zu kennzeichnen. Durch Verwendung der Modellbildungseinheit kann
ein Nutzer der erfindungsgemäßen Vorrichtung
ein Objektdatenmodell gestalten, wobei auf die durch die Objektdatenbank gebildeten
Komponenten- und Funktionsobjekte zugegriffen wird.
-
Weiterhin
enthält
die erfindungsgemäße Vorrichtung
eine Ausführungseinheit,
die mit der Modellbildungseinheit und mit der Objektdatenbank verbunden
ist und die ausgebildet ist, auf den Eingang einer entsprechenden
Ausführungsanweisung
hin eine im Objektdatenmodell enthaltene Funktionsobjektsinstanz
unter Modifikation, Hinzufügung
oder Vernichtung mit ihr verknüpfter
Komponentenobjekte des Objektdatenmodells auszuführen.
-
Die
erfindungsgemäße Vorrichtung
ist in der Lage, durch Ausführen
von geeignet definierten Funktionsobjekten ein aktuelles Entwurfsstadium
eines Objektdatenmodells zu analysieren, zu ergänzen oder zu modifizieren.
Die schon erwähnten
Vorteile der erfindungsgemäßen Objektstrukturen
in der Objektdatenbank erlaubt es, den sich in einem jeweiligen
Entwurfsstadium aufspannenden Bereich alternativer Designs unter
Ausführung
von Funktionsobjekten automatisch für die Bestimmung eines jeweils geeigneten
Designs zu erforschen.
-
Besonders
bevorzugt enthält
die erfindungsgemäße Vorrichtung
eine Resolutionseinheit, die mit der Modellbildungseinheit und mit
der Objektdatenbank verbunden ist. Die Resolutionseinheit ist ausgebildet,
- – anhand
der Komponentenobjekte und Funktionsobjekte sowie ihrer Verknüpfungen
im Objektdatenmodell ein Gleichungssystem mit einer ersten Anzahl Gleichungen
und einer zweiten Anzahl durch die Gleichungen verknüpfter Parameterobjekte
zu erzeugen,
- – das
Gleichungssystem des Objektdatenmodells in eine Anzahl Untergleichungssysteme
mit einer jeweiligen Untermenge Gleichungen für eine jeweilige Untermenge
Parameterobjekte zu partitionieren,
- – bei
Vorliegen eines hinreichend bestimmten Gleichungssystems einen Resolutionsplan
zu erstellen, der zur Ermittlung der Ausgabeparameter des Gleichungssystems
des Objektdatenmodells eine Folge von Resolutionsschritten umfasst,
- – den
Resolutionsplan für
das Gleichungssystem Resolutionsschritt für Resolutionsschritt abzuarbeiten,
wobei das Abarbeiten eines jeweiligen Resolutionsschritts das Berechnen
einer Lösung
eines jeweiligen Untergleichungssystems durch Auswerten mathematischer
Funktionen oder Anwenden eines oder mehrerer numerischer Berechnungsalgorithmen
beinhaltet, und
- – die
ermittelten Werte der Ausgabeparameter auszugeben.
-
Diese
Vorrichtung deckt in ihrer Verwendbarkeit einen von bekannten Vorrichtungen
in seinem Umfang nicht erreichten Bereich von Entwurfsstadien ab,
der die Konzeptionierung, den Vorentwurf und die Konfiguration von
Maschinenobjekten umfasst. Es wird also möglich, ein Entwurfswerkzeug
für viele verschiedene
Entwurfsstadien zu verwenden. Daher entfallen die bisher auftretenden
Probleme der Kompatibilität
zwischen Datenformaten unterschiedlicher Anwendungen in Konzeptionierung,
Vorentwurf und Konfiguration. Ermöglicht wird dies durch die
oben erläuterte
erfindungsgemäße Struktur
der Komponentenobjekte und Funktionsobjekte. Die Resolutionseinheit
greift diese Struktur unmittelbar bei der Ermittlung der Verknüpfungen
zwischen den im Objektdatenmodell enthalten Parametern auf. Diese
Ermittlung wird gegenüber
bekannten Resolutionssystemen stark vereinfacht. Ein Nutzer muss
keine symbolische Eingabe von Gleichungen vornehmen, wie es aus
dem Produkt DesignSheet bekannt ist.
-
Nachfolgend
werden bevorzugte Ausführungsbeispiele
beschrieben, die besonders vorteilhafte Strukturen der in der Objektdatenbank
enthaltenen Komponen tenobjekte betreffen. Die Ausführungsbeispiele
können
miteinander kombiniert werden, wobei sich ihre Vorteile kumulieren.
-
Bei
einem weiteren Ausführungsbeispiel
ist ein in der Objektdatenbank enthaltenes Parameterobjekt eines
Komponentenobjektes durch ein weiteres Komponentenobjekt mit mindestens
einem weiteren Parameterobjekt gebildet. Vorzugsweise enthält ein in
der Objektdatenbank enthaltenes Komponentenobjekt zusätzlich ein
Strukturobjekt, das eine Liste der im Komponentenobjekt enthaltenen
weiteren Komponentenobjekte enthält.
Die hierarchische Struktur der Komponentenobjekte entspricht der
im tatsächlichen
Leben anzutreffenden Situation beim Design komplexer Systeme, dass
diese aus separierbaren Komponenten zusammengesetzt sind.
-
Bei
einem weiteren Ausführungsbeispiel
enthält
ein in der Objektdatenbank enthaltenes Komponentenobjekt zusätzlich mindestens
ein Formelobjekt, das ausgebildet ist, eine vorbestimmte mathematische
Verknüpfung
zwischen zwei oder mehreren Parameterobjekten des Komponentenobjektes
zu bilden. Dieses Ausführungsbeispiel
implementiert funktionelle Randbedingungen innerhalb eines Komponentenobjektes
in Form der Formelobjekte. Formelobjekte sind also von den Funktionsobjekten
dadurch unterschieden, dass sie keine Verknüpfung eines Komponentenobjekts
zu einem externen Komponentenobjekt schaffen, sondern allein innerhalb
ein und desselben Komponentenobjekts Verknüpfungen schaffen. Diese Struktur
schafft zusätzliche
Möglichkeiten
zur Abbildung von Randbedingungen und stärkt gleichzeitig die schon
durch die Trennung von Komponentenobjekten und Funktionsobjekten
angelegte Kapselung der Constraints.
-
Bei
einer weiteren bevorzugten Ausführungsform
enthält
ein in der Objektdatenbank enthaltenes Komponentenobjekt zusätzlich mindestens
ein Methodenobjekt, das ausgebildet ist, das Erfüllen einer Relation zwischen
Parameterobjekten des Komponentenobjektes zu prüfen und in Abhängigkeit
vom Prüfungsergebnis
einen Wert mindestens eines der von dem Komponentenobjekten umfassten
Parameterobjekte nach einer vorbestimmten Vorschrift zu setzen oder
einem Objektdatenmodell ein neues Komponentenobjekt oder Subkomponentenobjekt hinzuzufügen. Subkomponentenobjekte
bilden alle im Komponentenobjekt enthaltenen Objekte, insbesondere
Parameterobjekte, Formelobjekte, Methodenobjekte, Geometrieobjekte
und Strukturobjekte. Methodenobjekte bilden also Designwissen in
Bezug auf ein gegebenes Komponentenobjekt ab. Sie können komplexe
Entscheidungen oder bedingungsgebundene Operationen beinhalten.
Sie werden insbesondere aus Formelobjekten aufgerufen, um einem Parameterobjekt
einen Wert zuzuordnen oder um neue Komponentenobjektstrukturen zu
erzeugen. Methodenobjekte können
beispielsweise in Form von komplexen, vielzeiligen C++-Methoden
implementiert sein.
-
Bei
einem anderen Ausführungsbeispiel,
das die Ausgestaltung der Objektdatenbank der erfindungsgemäßen Vorrichtung
betrifft, enthält
die Objektdatenbank zusätzlich
mindestens ein Regelobjekt, das ausgebildet ist, das Objektdatenmodell
oder ein darin enthaltenes Komponentenobjekt oder Subkomponentenobjekt
oder dessen Parameterwerte auf das Erfüllen einer vordefinierten Randbedingung zu
prüfen.
Regelobjekte erfassen Design-, Herstellungs-, Kunden- oder Produktzertifizierungserfordernisse,
die durch das Maschinenobjekt zu erfüllen sind. In einer Ausführungsform
hiervon sind Regelobjekte auf komplexere Erfordernisse beschränkt, die über einen
bloßen
Vergleich von Parameterobjekten hinausgehen.
-
Nachfolgend
werden Ausführungsbeispiele beschrieben,
die besonders vorteilhafte Nutzerschnittstellen aufweisen.
-
Bei
einem Ausführungsbeispiel
ist die Modellbildungseinheit mit einer graphischen Nutzerschnittstelle
verbunden ist und enthält
eine Graphikeinheit. Die Graphikeinheit ist ausgebildet, anhand über die
graphische Nutzerschnittstelle empfangener Anweisungen eine graphische
Repräsentation
des Objektdatenmodells zu erzeugen oder zu modifizieren. Die graphische
Repräsentation
weist für
jedes Komponentenobjekt, jedes Formelobjekt und jedes Regelobjekt
des Objektdatenmodells sowie jede Verknüpfung zwischen diesen je ein
vorbestimmtes Graphikelement auf. Die Graphikeinheit ist weiterhin
bevorzugt ausgebildet, die graphische Repräsentation an die graphische
Nutzerschnittstelle auszugeben. Bei diesem Ausführungsbeispiel kann ein Nutzer über die
graphische Nutzerschnittstelle ein Objektdatenmodell als mathematisches
Modell graphisch erstellen, ohne das Erfordernis, die Gleichungen
des Systems symbolisch einzugeben. Das mathematische System wird
graphisch dargestellt, beispielsweise in Form von Blöcken, die
durch Linien verbunden sind. Graphische Manipulationen an diesen
Blöcken,
beispielsweise durch Betätigen
einer Computer-Maus, modifizieren im Ergebnis das mathematische
Modell. Die Erstellung des mathematischen Gleichungssystems nimmt
die Resolutionseinheit automatisch vor.
-
Bei
einem weiteren Ausführungsbeispiel
ist die Graphikeinheit ausgebildet, eine graphische Repräsentation
einer Anzahl in der Objektdatenbank enthaltener Komponentenobjekte
und Funktionsobjekte zu erzeugen und an der graphischen Nutzerschnittstelle
auszugeben, und eine graphische Repräsentation des Objektdatenmodells
auszugeben, die alle darin enthaltenen Komponentenobjekte und eine
durch die in ihnen enthaltenen Strukturobjekte definierte Komponentenobjekthierarchie
widerspiegelt. Bei diesem Ausführungsbeispiel
kann ein Nutzer besonders deutlich die Komponentenstruktur des im
Entwurf befindlichen Maschinenobjekts erkennen und durch graphische
Manipulationen ergänzen
oder modifizieren.
-
In
einer weiteren bevorzugten Ausführungsform
enthält
die Resolutionseinheit eine Resolutionsdiagnoseeinheit, die mit
der graphischen Nutzerschnittstelle verbunden ist, und die ausgebildet
ist,
- – zu
ermitteln ob das Objektdatenmodell für die Berechnung einer Lösung hinreichend
bestimmt ist,
- – bei
Vorliegen eines unterbestimmten Untergleichungssystems ein weder
als Eingabeparameter noch als Ausgabeparameter gekennzeichnetes Parameterobjekt
zu ermitteln und
- – eine
Diagnosenachricht, die das ermittelte Parameterobjekt identifiziert,
zu erstellen und zur Anzeige an der graphische Nutzerschnittstelle
auszugeben.
-
Dieses
Ausführungsbeispiel
hat den Vorteil, dass Lösungsmöglichkeiten
zur Behebung der Unterbestimmung des mathematischen Modells ermittelt werden,
auf die der Nutzer durch die Diagnosenachricht hingewiesen wird.
Er kann dann durch Setzen des ermittelten Parameterobjektes als
Eingabeparameter und durch Bestimmen des Parameterwertes die Unterbestimmung
reduzieren oder beseitigen. Die Diagnosenachricht enthält bevorzugt
alle im unterbestimmten Teilsystem enthaltenen Objekte. In der Diagnosenachricht
können,
je nach Diagnose, sowohl Gleichungen als auch Parameter auftreten.
-
In ähnlicher
Weise kann auch vorgegangen werden, wenn ein überbestimmtes Gleichungssystem
oder Untergleichungssystem vorliegt. In einem weiteren Ausführungsbeispiel
ist daher die Resolutionsdiagnoseeinheit zusätzlich ausgebildet, bei Vorliegen
eines überbestimmten
Untergleichungssystems mindestens ein überbestimmtes Parameterobjekt
zu ermitteln und eine Diagnosenachricht, die das ermittelte Parameterobjekt
identifiziert, zu erstellen und an die graphische Nutzerschnittstelle
auszugeben. Die Diagnosenachricht enthält bevorzugt alle im überbestimmten
Teilsystem enthaltenen Objekte. In der Diagnosenachricht können, je
nach Diagnose, sowohl Gleichungen als auch Parameter auftreten.
-
Eine
intuitive graphische Ausgabe der Diagnose durch die Resolutionsdiagnoseeinheit
gelingt in einem Ausführungsbeispiel,
bei dem die Resolutionsdiagnoseeinheit ausgebildet ist, in der Diagnosenachricht
zusätzlich
mindestens ein mit dem ermittelten Parameterobjekt verknüpftes weiteres
Parameterobjekt zu identifizieren und an die Graphikeinheit auszugeben,
und bei dem die Graphikeinheit ausgebildet ist, eine graphische
Repräsentation
des ermittelten Parameterobjekts, des weiteren Parameterobjektes
und ihrer Verknüpfung
zu erzeugen und zur gemeinsamen Darstellung mit der Diagnosenachricht an
die graphische Nutzerschnittstelle auszugeben. Auf diese Weise kann
eine graphische Darstellung aller im jeweils unter- oder überbestimmten
Teilsystem enthaltenen Objekte, also Gleichungen, Parameter, und
ihrer Verknüpfungen
erzeugt und ausgegeben werden.
-
Nachfolgend
werden weitere Ausführungsbeispiele
erläutert,
die es dem Nutzer erlauben, das Objektdatenmodell und ein mit ihm
verknüpftes
mathematisches Modell in Form eines Gleichungssystems durch geeignete
Ausgabe an der graphischen Nutzerschnittstelle zu analysieren.
-
Bei
einem Ausführungsobjekt
enthält
ein Komponentenobjekt ein Geometrieobjekt in Form eines Satzes von
Geometrieparametern, die Informationen über eine dem ersten Parameterobjekt
zugeordnete geometrische Form aufweisen. Die Graphikeinheit ist
ausgebildet, anhand der Eingangsparameterwerte und der ermittelten
Ausgangsparameterwerte eines Objektdatenmodells Werte der Geometrieparameter
aller Parameterobjekte zu bestimmen und eine Modellgraphik zu erzeugen,
die der geometrischen Form des Maschinenobjekts mit den ermittelten
Geometrieparametern entspricht. Auf diese Weise wird dem Nutzer
eine intuitive graphische Darstellung des Maschinenobjektes vermittelt.
-
Vorzugsweise
ist die Graphikeinheit zusätzlich
ausgebildet, eine Impact-Graphik zu erstellen und auszugeben, die
eine graphische Repräsentation
aller Komponentenobjekte, Formelobjekte und Regelobjekte enthält, die
direkt oder indirekt mit einem über
die Nutzerschnittstelle auswählbaren
Parameterobjekt verknüpft
sind. Auf diese Weise wird ermittelt und dem Nutzer dargestellt,
welche anderen Objekte durch das ausgewählte Parameterobjekt beeinflusst
werden.
-
In
einem weiteren Ausführungsbeispiel
ist die Graphikeinheit zusätzlich
ausgebildet, eine Computation-Graphik zu erstellen und auszugeben,
die eine graphische Repräsentation
aller Komponentenobjekte, Formelobjekte und Regelobjekte enthält, die direkt
oder indirekt in die Berechnung eines Parameterwertes eines über die
Nutzerschnittstelle als Ausgabeparameter bestimmbaren Parameterobjekts
einfließen.
Dies ermöglicht
dem Nutzer eine visuelle und damit schnelle und effektive Analyse
des Einflusses anderer Objekte auf ein ausgewähltes Parameterobjekt.
-
Graphische
Diagnosemethoden werden in bevorzugten Ausführungsbeispielen auch beim
Lösen des
aus dem Objektdatenmodell abgeleiteten Gleichungssys tems bereitgestellt.
Vorzugsweise weist die Resolutionseinheit eine Solver-Diagnoseeinheit auf,
die ausgebildet ist,
- – während des Abarbeitens eines
Resolutionsschrittes das Konvergieren einer Lösung des betreffenden Untergleichungssystems
auf einen Konvergenzwert zu überwachen
- – und
bei Ausbleiben des Konvergierens das Abarbeiten des Resolutionsschrittes
abzubrechen und eine Diagnosenachricht auszugeben, die das betreffende
Untergleichungssystem identifiziert.
-
Beim
Testen unterschiedlicher Varianten durch Änderung von Eingangsparameterwerfen
erweist sich eine Ausführungsform
der erfindungsgemäßen Vorrichtung
als besonders schnell im Vergleich mit bekannten Vorrichtungen,
bei der die Resolutionseinheit zusätzlich ausgebildet ist, nach
einer Ausgabe der ermittelten Werte der Ausgangsparameter bei Anliegen
eines geänderten
Eingangsparametersatzes für
das Objektdatenmodell an der Anweisungsschnittstelle geänderte Eingangsparameter des
Eingangsparametersatzes zu ermitteln, und anschließend einen
Teilresolutionsplan zu erstellen, der gegenüber dem zuvor erstellten Resolutionsplan
nur diejenigen Resolutionsschritte enthält, die Untergleichungssysteme
betreffen, deren Lösung
von dem oder den geänderten
Eingangsparametern direkt oder indirekt abhängt. Bei dieser Ausführungsform muss
also nicht der gesamte Resolutionsprozess mit den geänderten
Eingangsparameterwerfen wiederholt werden. Vielmehr werden nur diejenigen
Schritte des Resolutionsprozesses ermittelt und ausgeführt, die
von den geänderten
Eingangsparameterwerten beeinflusst sind. Auf diese Weise lassen
sich Eingangsparameter durch den Nutzer schnell testen und wird
der Konzeptions- und Vorentwurfsprozess daher effektiver gestaltet.
-
In
einem weiteren Ausführungsbeispiel
wird eine optimale Lösung
des mathematischen Modells unter gegebenen Randbedingungen ermittelt.
Die Modellbildungseinheit ist ausgebildet, ein bereits gelöstes Objektdatenmodell
durch eine über
die Nutzerschnittstelle eingegebene Zielrelation für den Wert
eines Ausgabeparameters zu ergänzen.
Die Resolutionseinheit ist ausgebildet, einen Teilresolutionsplan zu
erstellen, der gegenüber
dem zuvor erstellten Resolutionsplan nur diejenigen Resolutionsschritte
enthält,
die Untergleichungssysteme betreffen, deren Lösung den durch die Zielrelation
eingeschränkten Ausgabeparameter
beeinflusst, und unter Anwendung eines Optimierungsalgorithmus denjenigen
Parametersatz zu ermitteln, der das Gleichungssystem löst und die
Zielrelation erfüllt.
Hierbei können
bekannte Optimierungsalgorithmen Verwendung finden. Beispielsweise
können
ein Zielparameter, eine Optimierungsart (Minimierung, Maximierung),
ein Optimierungsalgorithmus, freie Parameter und Nebenbedingungen über einen
Dialog festgelegt werden. Während
des Optimierungsprozesses wird dann das mathematische System unter
Variation der freien Parameter wiederholt gelöst, wobei die Resolutionseinheit
ausgebildet ist, nur den Teilresolutionsplan abzuarbeiten, der von
den freien Parametern beeinflusst wird. Das Ergebnis ist eine Belegung
der freien Parameter, die den Zielparameter unter Einhaltung der
Nebenbedingungen optimiert.
-
Die
nachfolgend beschriebenen Ausführungsbeispiele
betreffen eine Erweiterung der erfindungsgemäßen Vorrichtung um die Fähigkeit
zur Erzeugung von Komponentenobjekten, Funktionsobjekten und Regelobjekten.
-
Bei
einem Ausführungsbeispiel
ist eine Komponentenobjekt-Entwurfseinheit vorgesehen, die mit der
graphischen Nutzerschnittstelle und der Objektdatenbank verbunden
ist, und die ausgebildet ist, entsprechend einer Nutzereingabe an
der graphischen Nutzerschnittstelle ein neues Komponentenobjekt oder
Parameterobjekt zu erzeugen und einem neuen Komponentenobjekt ein
Parameterobjekt oder ein Funktionsobjekt hinzuzufügen.
-
Die
Komponentenobjekt-Entwurfseinheit ist vorzugsweise ausgebildet,
auf der graphischen Nutzerschnittstelle eine Maske mit Maskenfeldern
zur Abfrage von Definitionselementen eines neuen Parameterobjekts
oder Komponentenobjektes anzuzeigen, Nutzereinträge in den Maskenfeldern auszuwerten,
das Parameterobjekt oder Komponentenobjekt entsprechend den Einträgen in den
Maskenfeldern zu erzeugen und in der Objektdatenbank abzuspeichern.
Diese Variante erspart dem Nutzer die Eingabe komplexer Datenstrukturen
und ermöglicht
eine einfache und übersichtliche,
individuelle Erzeugung neuer Komponentenobjekte, die der Objektdatenbank
hinzugefügt
werden. Es versteht sich, dass in einem größeren Unternehmenskontext die
Freigabe der neu erzeugten Objekte in der Objektdatenbank für andere
Nutzer vorbestimmten Regeln unterworfen werden kann.
-
Eine
weitere bevorzugte Ausführungsform enthält alternativ
oder zusätzlich
eine Funktionsobjekt-Entwurfseinheit, die mit der graphischen Nutzerschnittstelle
und der Objektdatenbank verbunden ist, und die ausgebildet ist,
entsprechend einer Nutzereingabe an der graphischen Nutzerschnittstelle
ein neues Funktionsobjekt zu erzeugen und das neue Funktionsobjekt
in der Objektdatenbank abzuspeichern. Eine aufwändige Kodierung und Kompilierung durch
den Nutzer entfällt
bei diesem Ausführungsbeispiel.
-
Die
Funktionsobjekts-Entwurfseinheit ist ausgebildet, auf der graphischen
Nutzerschnittstelle eine Maske mit Maskenfeldern zur Abfrage von
Definitionselementen eines neuen Funktionsobjektes anzuzeigen, Einträge in den
Maskenfeldern auszuwerten, das neue Funktionsobjekt entsprechend
den Einträgen
in den Maskenfeldern zu erzeugen und in der Objektdatenbank abzuspeichern.
-
Ein
weiteres Ausführungsbeispiel
enthält eine
Regelobjekt-Entwurfseinheit, die mit der graphischen Nutzerschnittstelle
und der Objektdatenbank verbunden und die ausgebildet ist, entsprechend
einer Nutzereingabe an der graphischen Nutzerschnittstelle ein neues
Regelobjekt zu erzeugen, und das neue Regelobjekt in der Objektdatenbank
abzuspeichern.
-
Nachfolgend
werden weitere Ausführungsbeispiele
anhand der Figuren erläutert.
Es zeigen:
-
1 ein
Blockdiagramm eines ersten Ausführungsbeispiels
einer Entwurfsvorrichtung,
-
2 ein
Blockdiagramm einer zweiten Ausführungsform
einer Entwurfsvorrichtung,
-
3 ein
Blockdiagramm einer netzwerkbasierten Entwurfsvorrichtung,
-
4 ein
Blockdiagramm zur näheren
Erläuterung
eines Systems zur Erzeugung von Objektdaten für die Objektdatenbank,
-
5 ein
Diagramm zur Illustration der Struktur eines Komponentenobjekts,
-
6 ein
Diagramm zur Erläuterung
eines Komponentenobjekt-Konzepts,
-
7 ein
Blockdiagramm zur Erläuterung der
Zusammenhänge
zwischen Komponentenobjekt-Kategorien, Komponentenobjekt-Konzepten
und Komponentenobjekten,
-
8 ein
Diagramm zur Erläuterung
verschiedener Typen von Funktionsobjekten,
-
9 ein
Diagramm zur Erläuterung
der Struktur eines Regelobjektes,
-
10 zeigt
ein detaillierteres Blockdiagramm eines weiteren Ausführungsbeispiels
einer Entwurfsvorrichtung,
-
11 zeigt
ein Blockdiagramm mit näheren Details
der Analyseeinheit der Resolutionseinheit aus 10,
-
12 zeigt
ein einfaches Beispiel eines Abhängigkeitsgraphen,
wie er von der Analyseeinheit ermittelt wird,
-
13 zeigt
als Ergebnis der kombinatorischen Analyse und der Graphzerlegung
in der Analyseeinheit das in 12 dargestellte
System mit einem zerlegten Abhängigkeitsgraphen,
aus dem ein Resolutionsplan abgeleitet werden kann.
-
1 zeigt
ein Ausführungsbeispiel
einer erfindungsgemäßen Vorrichtung 100 für die Konzeptionierung
(concept design) eines Maschinenobjekts. Die Vorrichtung enthält eine
Objektdatenbank 102, in der vordefinierte Komponentenobjekte,
Funktionsobjekte und Regelobjekte abgelegt sind. Zur Erläuterung
der Begriffe Komponentenobjekt, Funktionsobjekt und Regelobjekt
wird auf die Beschreibung der 5 bis 9 verwiesen.
-
Die
Vorrichtung enthält
weiterhin eine nachfolgend als Wissensdesigner bezeichnete Einheit 104.
Der Wissensdesigner ist mit der Objektdatenbank 102 verbunden.
Der Wissensdesigner ermöglicht
die Definition und Modifikation von Komponentenobjekten, Funktionsobjekten
und Regelobjekten. Neu geschaffene oder modifizierte Objekte werden
in der Objektdatenbank 102 gespeichert. Dabei erzeugt die
Objektdatenbank 102 für
jedes modifizierte Objekt eine neue Version, die durch eine entsprechende Versionsnummer
gekennzeichnet ist. Mit Hilfe des Wissensdesigners und der Objektdatenbank
ist es also möglich,
eine Bibliothek zu erstellen und zu verwalten, die alle für den Entwurf
erforderlichen Komponentenobjekte, Funktionsobjekte und Regelobjekte
enthält.
Spätere
Entwurfsprozesse können
auf das so geschaffene Wissen unmittelbar zugreifen.
-
Die
Vorrichtung 100 enthält
weiterhin eine Resolutionseinheit 106, die im Rahmen dieser
Anmeldung auch als Workbench bezeichnet wird. Die Workbench 106 bildet
eine Arbeitsplattform für
eine Definition, Analyse, Lösung
und Optimierung eines Objektdatenmodells. Dabei stützt sich
das Objektdatenmodell auf Komponentenobjekte, Funktionsobjekte und
Regelobjekte, die in der Objektdatenbank 102 abgelegt sind.
Die Workbench 106 ermöglicht
neben der Definition des Objektdatenmodells seine Analyse und Modifikation.
Die detaillierte Struktur der Workbench 106 wird weiter
unten anhand von 10 näher erläutert.
-
2 zeigt
eine alternative Struktur einer erfindungsgemäßen Vorrichtung. Der Einfachheit
halber werden in 2 die schon in 1 verwendeten Bezugszeichen
verwendet, wo identische Teile zu kennzeichnen sind. Die Vorrichtung
der 2 unterscheidet sich von der der 1 dadurch,
dass sie keinen Wissensdesigner 104 enthält. Daher
ist es bei der Vorrichtung dieses Ausführungs beispiels nicht möglich, neue
Komponentenobjekte, Funktionsobjekte oder Regelobjekte zu definieren.
Die Entwurfsarbeit an der Workbench 106 verwendet daher
allein die in der Objektdatenbank 102 schon abgespeicherten
Objekte. Diese können
beispielsweise bei einer herstellerseitigen Initialisierung der
Vorrichtung oder im Rahmen einer späteren Aktualisierung der Objektdatenbank
(update) eingespielt werden.
-
3 zeigt
ein weiteres Ausführungsbeispiel einer
erfindungsgemäßen Vorrichtung
in einer Netzwerkstruktur. Über
Netzwerk 302 zur Datenübertragung
sind eine Objektdatenbank 304, ein Wissensdesigner 306 und
eine Anzahl Workbenches, hier stellvertretend durch die Workbenches 308 und 310 symbolisiert,
miteinander verbunden. Ein Datenbankserver 312 und ein
Lizenzserver 314 erfüllen
Verwaltungsaufgaben im Netzwerk 302. Der Datenbankserver
implementiert ein DBMS (Data Base Management System) und kann beispielsweise
ein MSDE (Microsoft SQL Server Desktop Engine), ein Oracle- oder
ein Microsoft SQL-Server
sein. Der Pacelab Lizenzserver 314 überwacht den Zugriff auf die
Objektdatenbank 304 und verhindert nicht lizenzierten Zugriff.
-
Die
in 3 dargestellte netzwerkbasierte Struktur lässt sich
selbstverständlich
auch mit einer einzigen Workbench realisieren.
-
Bei
einer weiteren, hier nicht dargestellten Konfiguration sind die
Objektdatenbank und die Workbench zusammen mit einem Datenbankverwaltungssystem
(Data Base Management System, DBMS) auf einem einzigen Arbeitsplatzrechner
installiert. Als DBMS wird wie beim Ausführungsbeispiel der 3 vorzugsweise
MSDE verwendet. Alternativ kann der Rechner auch mit Oracle oder
einem MSSQL-Server ausgestattet sein. Optional enthält ein solcher
Einzelplatzrechner zusätzlich
einen Wissensdesigner.
-
4 zeigt
ein Blockdiagramm zur näheren Erläuterung
eines Systems zur Erzeugung von Objekten für die Objektdatenbank.
-
Das
hier dargestellte System 400 entspricht dem Wissensdesigner 306 der 3 und
dem Wissensdesigner 104 der 1. Der Wissensdesigner 400 hat
eine dreiteilige Struktur, die die drei unterschiedlichen Objekttypen
wiederspiegelt, die erzeugt werden können. Ein Komponentenobjektdesigner 402 dient
zur Erzeugung von Komponentenobjekten 404. Ein Funktionsobjektdesigner 406 dient
zur Erzeugung von Funktionsobjekten 408. Ein Regelobjektdesigner 410 dient
zur Erzeugung von Regelobjekten 410. Die Einheiten 402, 406 und 410 sind
zusätzlich
zur Modifikation der von ihnen erzeugten Strukturen ausgebildet.
So kann beispielsweise der Komponentenobjektdesigner 402 ein
in einer Objektdatenbank, beispielsweise der Objektdatenbank 304, abgelegtes
Komponentenobjekt öffnen,
bearbeiten und in Form einer neuen Version in der Objektdatenbank
ablegen.
-
Die
Erzeugung von Komponentenobjekten, Funktionsobjekten und Regelobjekten
in den jeweiligen Einheiten des Wissensdesigners 400 erfolgt
mit Hilfe einer graphischen Nutzerschnittstelle (nicht dargestellt).
Eine jeweilige Eingabemaske erleichtert die Neudefinition von Komponentenobjekten,
Funktionsobjekten oder Regelobjekten. Traditionell erforderliche
Schritte wie Kodierung und Kompilierung sind nicht erforderlich.
Für die
Erzeugung von Komponentenobjekten, deren Struktur weiter unten näher erläutert wird,
können
geometrische und nicht-geometrische
Produktdaten verwendet werden. Eine (nicht dargestellte) Geometrieeinheit
erzeugt für
die Unterstützung
beim Komponentenobjekt-Design ein geometrisches Modell, das für die Erstellung
von Visualisierungen verwendet wird, die an CAD oder DMU (Digital
Mock-Up)-Systeme weitergeleitet werden können. Der Wissensdesigner ist
insbesondere ausgebildet, Berechnungen mit physikalischen Einheiten zu
unterstützen.
-
Die
nachfolgend zusammenhängend
beschriebenen 5 und 6 zeigen
Diagramme zur Illustration der Struktur eines Komponentenobjekts 500 und
eines Komponentenobjekt-Konzepts 600. Ein Komponentenobjekt
wird durch eine Anzahl Subkomponentenobjekte 502 bis 512 gebildet.
Die Struktur des Komponentenobjekts 500 ist so angelegt, dass
alle für
den Entwurf notwendigen Daten und Relationen für die Beschreibung einer entsprechenden tatsächlichen
Maschinen komponente enthalten sind. 5 ist zu
entnehmen, dass die Subkomponentenobjekte selbst die Form von Komponentenobjekten annehmen
können.
So wird das Subkomponentenobjekt 506 von weiteren Komponentenobjekten 508, 510 und 512 gebildet.
Das Komponentenobjekt 508 wiederum wird von zwei Subkomponentenobjekten 510 und 512 gebildet.
Diese Datenstruktur eines Komponentenobjekts ermöglicht, neue Komponentenobjekte
auf einfach Weise aus schon vordefinierten Komponentenobjekten der
Datenbank zusammenzusetzen.
-
Nachfolgend
wird unter Bezug auf 6 erläutert, welche Arten von Subkomponentenobjekten ein
Komponentenobjekt enthalten kann. Eine erste Form von Subkomponentenobjekten
bilden Parameterobjekte. Ein Parameterobjekt 602 ist durch
einen Parameter gebildet, der einen numerischen oder einen nicht-numerischen Parameterwert
aus einem vorbestimmten Wertebereich annehmen kann. Numerische Parameter
sind beispielsweise Zahlen des Typs Double oder Float. Darüber hinaus
können
auch nicht-numerische Variablen wie etwa Arrays und diskrete Variablen,
wie beispielsweise Zahlen vom Typ Integer verwendet werden. Ein
Parameterobjekt kann auch durch ein Komponentenobjekt gebildet werden.
-
Ein
Komponentenobjekt kann darüber
hinaus in einem bevorzugten Ausführungsbeispiel
mindestens ein Formelobjekt 604 enthalten. Ein Formelobjekt
ist ausgebildet, eine vorbestimmte mathematische Verknüpfung zwischen
zwei oder mehreren Parameterobjekten 602 des Komponentenobjekts
zu bilden. Mit Hilfe von Formelobjekten kann also eine Abhängigkeit
zwischen bestimmten Parameterobjekten innerhalb desselben Komponentenobjekts
spezifiziert werden. Ein Beispiel eines Formelobjekts ist eine Formel
für die
Bestimmung des Volumens einer Armstütze eines Flugzeugsitzes durch
Multiplikation von Breite, Höhe
und Tiefe der Armstütze.
-
Das
Komponentenobjekt, die Armstütze,
ist hierbei unter anderem durch die Parameterobjekte Breite, Höhe und Tiefe
definiert. Das Komponentenobjekt Arm stütze kann ein Subkomponentenobjekt eines
weiteren Komponentenobjekts bilden, das einen Passagiersitz eines
Flugzeugs beschreibt.
-
Komponentenobjekte
enthalten weiterhin in einem bevorzugten Ausführungsbeispiel mindestens ein
Methodenobjekt 606. Methodenobjekte sind ausgebildet, das
Erfüllen
einer Relation zwischen Komponentenobjekten eines Objektdatenmodels
zu prüfen
und in Abhängigkeit
vom Prüfungsergebnis
einen Wert mindestens einer der von den Komponentenobjekten umfassten
Parameterobjekten nach einer bestimmten Vorschrift zu setzen oder
einem Objektdatenmodel ein neues Komponentenobjekt oder ein neues
Subkomponentenobjekt hinzuzufügen.
Methodenobjekte sind in Form von ausführbaren Programmcode implementiert.
Ein Methodenobjekt kann beispielsweise dazu dienen, bei dem Entwurf
einer Treppe im Rahmen einer Skalierung die Höhe zwischen den Treppenstufen
zu überwachen
und beim Überschreiten
einer vorgegebenen Schwellhöhe
eine zusätzliche
Stufe in die Treppe einzufügen.
-
Optional
kann ein Komponentenobjekt auch ein Geometrieobjekt 608 in
Form eines Satzes von Geometrieparametern enthalten. Die Geometrieparameter
enthalten Informationen über
eine einem Komponentenobjekt oder Parameterobjekt zugeordnete geometrische
Form. Sie dienen dazu, an einer graphischen Nutzerschnittstelle
des Wissensdesigners oder der weiter unten beschriebenen Resolutionseinheit
darzustellen.
-
Zusätzlich enthält ein Komponentenobjekt
in einem bevorzugten Ausführungsbeispiel
ein (in 6 nicht dargestelltes) Strukturobjekt,
das eine Liste der im Komponentenobjekt enthaltenen Subkomponentenobjekte
aufweist. Das Strukturobjekt beschreibt die Hierarchie der im Komponentenobjekt enthaltenen
Subkomponentenobjekte.
-
Die
dargestellte hierarchische Struktur der Komponentenobjekte entspricht
der im tatsächlichen Leben
anzutreffenden Situation beim Design komplexer Systeme, dass diese
aus separierbaren Komponenten zusammengesetzt sind. Beispielsweise
besteht eine Flugzeugkabine aus verschiedenen Kabinenelementen wie
Sitzen, Hatracks und weiteren Elementen, die zu einer Gesamtanordnung
zusammengefügt
werden. Der durch die Komponentenobjekte implementierte Modellierungsansatz
unterscheidet dementsprechend zwischen Randbedingungen innerhalb
einer Komponente und Randbedingungen, die zwischen Komponenten bestehen.
Diese Kapselung hat insbesondere den Vorteil, dass der Modellierungsprozess
wesentlich übersichtlicher
gestaltet werden kann. Darüber
hinaus ermöglicht
die Kapselung die Wiederverwendung der Komponentenobjekte in verschiedenen
Systemen.
-
Durch
die erläuterte
Struktur können
komplexe Maschinenobjekte also auf intuitive und auch rechentechnisch
vorteilhafte Weise in Form von Baugruppen (assemblies) organisiert
werden. Diese haben eine wesentlich umfassendere Bedeutung als in herkömmlichen
CAD-Systemen. Denn sie können nicht
nur Strukturen ohne geometrische Repräsentation (wie etwa ein Flughöhenprofil,
das aus Flugsegmenten zusammengesetzt ist) abbilden. Sie ermöglichen
auch eine dynamische (run-time) Definition der Produkt-Struktur.
Geometrie bildet bei diesem Konzept also im Gegensatz zu einem CAD-System
nur einen optionalen Deskriptor aus einer Anzahl verschiedener Deskriptoren
eines Maschinenobjekts.
-
7 zeigt
ein weiteres Blockdiagramm zur Erläuterung der Zusammenhänge zwischen
Komponentenobjektkategorien, Komponentenobjektkonzepten und Komponentenobjekten.
Eine Komponentenobjektkategorie 700 kann eine Anzahl Komponentenobjektkonzepte 702, 704 und 706 umfassen.
Ein Komponentenobjektkonzept kann beispielsweise durch ein Modell
für Düsentriebwerk
eines Flugzeugs gebildet werden. Ein alternatives Komponentenobjektkonzept
kann durch ein Propellertriebwerk gebildet werden. Die Menge aller
Komponentenobjektkonzepte bildet die Komponentenobjekt-Kategorie „Flugzeugtriebwerk". Jedem Komponentenobjektkonzept
können
wiederum unterschiedliche Komponentenobjekttypen zugeordnet werden,
die in 7 mit den Bezugszeichen 702.1, 702.2 bezüglich des Komponentenobjektkonzepts 702, 704.1, 704.2 und 704.3 bezüglich des
Komponentenobjektkonzepts 704 sowie 706.1 bis 706.n bezüglich des
Komponentenobjektkonzepts 706 gekennzeichnet sind. Bei
den Komponentenobjekttypen kann es sich im vorgenannten Beispiel
etwa um ein Düsentrieb werk
eines Herstellers A und ein Düsentriebwerk
eines Herstellers B handeln. Diese unterscheiden sich beispielsweise
hinsichtlich ihrer Masse und ihres Luftwiderstands, so dass der
Typ des Düsentriebwerks
beispielsweise bei der Berechnung des Kraftstoffverbrauchs bei einem
Flug über
eine vorgegebene Distanz zu berücksichtigen
ist.
-
8 zeigt
ein Diagramm zur Erläuterung verschiedener
Typen von Funktionsobjekten. Funktionsobjekte bilden, wie bereits
erläutert,
eine vorbestimmte Verknüpfung
zwischen zwei oder mehreren Parameterobjekten unterschiedlicher
Komponentenobjekte. Sie können
Parameterwerte modifizieren, die in einem Komponentenobjekt oder
einem Subkomponentenobjekt des Komponentenobjekts enthalten sind.
Sie können
Komponentenobjekte zu einem Objektdatenmodell hinzufügen und
Parameterwerte des hinzugefügten
Komponentenobjekts setzen. Weiterhin können Funktionsobjekte aus eine Objektdatenmodell
ein Komponentenobjekt entfernen. Funktionsobjekte können auch
für Analysefunktionen
verwendet werden, in dem sie in mindestens einem von einem Objektdatenmodell
umfassten Komponentenobjekt Parameterwerte erfassen und in Abhängigkeit
von diesen und einer vordefinierten Analyseregel mindestens einen
Analyseparameterwert ermitteln und ausgeben. Ein Beispiel eines Funktionsobjekts
mit Analysefunktion ist die Ermittlung der Anzahl in eine Flugzeugkabine
passender Sitze.
-
Derartige
Methoden können
entweder als externe Methoden, die in Form einer dll(Dynamic Link Libary)-Datei 802 codiert
sind, oder in Form eines Excel-Sheets 804 oder in Form
einer ODBC-Datenbank 806 oder in Form einer externen Anwendung 808 vorliegen.
-
9 zeigt
die Struktur eines Regelobjektes. Ein Regelobjekt ist ausgebildet,
ein Objektdatenmodell oder ein darin enthaltenes Komponentenobjekt oder
Subkomponentenobjekt oder dessen Parameterobjekte auf das Erfüllen einer
vordefinierten Randbedingung zu prüfen, und bei einem Nichterfüllen der Randbedingungen
eine dieses Ergebnis anzeigende Regelverletzungsnachricht zu erzeugen.
Ein Regelobjekt enthält
daher einen Prüfabschnitt 902,
der die zu erfüllende Bedingung
definiert, sowie einen Anweisungsteil 904, der für den Fall
des Nicht-Erfüllens der
Bedingung die vorzunehmende Aktion, beispielsweise das Anzeigen
einer Regelverletzungsnachricht definiert.
-
10 zeigt
ein detaillierteres Blockdiagramm eines Ausführungsbeispiels einer erfindungsgemäßen Vorrichtung 1000 für die Konzeptionierung, den
Vorentwurf und die Konfiguration eines Maschinenobjekts.
-
Eine
Objektdatenbank 1002 speichert und verwaltet Komponentenobjekte 1004,
Funktionsobjekte 1006 und Regelobjekte 1008. Die
dreiteilige Struktur der graphischen Darstellung der Objektdatenbank 1002 in 10 dient
lediglich zur Veranschaulichung der drei unterschiedlichen Objekttypen, die
in ihr enthalten sind. Die Objektdatenbank 1002 als solche
muss keine dreiteilige physikalische Struktur aufweisen. Die Objektdatenbank
ist mit einem Wissensdesigner 1010 verbunden, der schon
oben im Zusammenhang mit 1 näher beschrieben wurde.
-
Die
Objektdatenbank ist weiterhin mit einer Modellbildungseinheit 1014 und
einer Ausführungseinheit 1016 für Funktionsobjekte,
nachfolgend FO-Ausführungseinheit,
verbunden. Die Modellbildungseinheit stellt als Ausgang ein Objektdatenmodell
bereit, das für
die Ausführung
von Funktionsobjekten in der FO-Ausführungseinheit 1016 und
für einen
Resolutionsprozess in einer verbundenen Resolutionseinheit 1018 genutzt
wird. Die Resolutionseinheit 1018 umfasst eine Einheit 1020 zur
Erstellung eines mathematischen Modells in Form eines Gleichungssystems
aus dem Objektdatenmodell, eine Analyseeinheit 1022 zur
Erstellung eines Resolutionsplans und eine Solvereinheit 1024 zur
Abarbeitung des Resolutionsplans. Weiterhin ist im vorliegenden
Ausführungsbeispiel
ein Optimierer 1026 ist mit der Solvereinheit 1024 verbunden.
Schließlich
ist eine Graphikeinheit 1028 vorgesehen, die im Datenfluss
zwischen der graphischen Nutzerschnittstelle 1012 und den
weiteren genannten Funktionseinheiten angeordnet ist.
-
Im
Betrieb ermöglicht
die graphische Nutzerschnittstelle 1012 im Zusammenwirken
mit der Graphikeinheit 1028 einem Nutzer der Modellbildungseinheit
eine graphische Erzeugung eines Objektdatenmodells. Für den Nutzer
entsteht eine „Workbench", in der er das Objektdatenmodell
des Maschinenobjekts aus vorgefertigten oder selbst erstellten Komponenten
zusammenbaut. Hierfür
greift der Nutzer wie bereits beschrieben auf Komponentenobjekte,
Funktionsobjekte und Regelobjekte zu, die in der Objektdatenbank
abgelegt sind. Zur Erstellung des Objektdatenmodells erzeugt die
Modellbildungseinheit 1014 Instanzen der vom Nutzer ausgewählten Komponentenobjekte,
Funktionsobjekte und Regelobjekte. Dabei kann beispielsweise eine
Strukturdarstellung ähnlich
dem in 5 gezeigten Baumgraph Verwendung finden. Das Objektdatenmodell
kann beispielsweise unter Manipulation des Baumgraphen mit Hilfe
einer Computermaus erstellt werden, indem etwa aus einer ebenfalls
abgebildeten graphischen Darstellung der in der Objektdatenbank
enthaltenen Komponentenobjekte durch „Drag and Drop" ein ausgewähltes Komponentenobjekt
dem aktuell zu erstellenden Objektdatenmodell an einer bestimmten
Position des Baumgraphen hinzugefügt wird. Detailliertere Definitionsmerkmale
eines Komponentenobjekts im Rahmen eines Objektdatenmodells können über eine
Datenmaske oder weitere graphische Darstellungen eingegeben werden.
Die Modellbildungseinheit 1014 erlaubt die Ergänzung des
Produktdatenmodells durch Heranziehen und Einbinden externer Methodenobjekte über eine
API.
-
Über den
Wissensdesigner 1010, der eine von der „Workbench" getrennte graphische Nutzerschnittstelle
bildet, können
im Rahmen des Entwurfsprozesses neue Komponentenobjekte, Funktionsobjekte
und Regelobjekte generiert und in der Objektdatenbank 1002 publiziert
werden. Die graphische Nutzerschnittstelle 1012 ermöglicht einem
Nutzer in diesem Zusammenhang die Möglichkeit, graphische Eingaben
im Zusammenhang mit der Erstellung neuer Datenbankobjekte über den
Wissensdesigner 1010 vorzunehmen.
-
Durch
entsprechende Eingabe über
die graphische Nutzerschnittstelle 1012 kann der Nutzer
die Ausführung
von Funktionsobjekten durch die FO-Ausführungseinheit 1016 veranlassen,
die je nach Funktionsmerkmal zur Analyse oder Mani pulation des Objektdatenmodells
ausgebildet sind (vgl. oben). Diese Funktionalität ist insbesondere im Rahmen
der Konfiguration von Maschinenobjekten nützlich und ermöglicht eine
schnelle Ausführung
vordefinierter Design- und Analysefunktionen.
-
Über die
graphische Nutzerschnittstelle 1012 wird auch festgelegt,
welche Parameterobjekte des Objektdatenmodells im Rahmen eines Resolutionsprozesses
als bekannt gesetzt sind und welche in dem Resolutionsprozess als
Ausgabeparameter ermittelt werden sollen.
-
Durch
eine entsprechende Anweisung über die
graphische Nutzerschnittstelle 1012 wird der Resolutionseinheit 1018 die
Anweisung erteilt, aus dem Objektdatenmodell ein mathematisches
Modell zu erstellen. Auch in diesem Zusammenhang sind umfangreiche
graphische Hilfestellungen zur Manipulation des mathematischen Modells
vorgesehen. Dabei kann beispielsweise jedem Komponentenobjekt, Funktionsobjekt
und Regelobjekt ein vorzugsweise entsprechen beschriftetes, graphisches
Symbol zugeordnet sein. Eine Substruktur von Komponentenobjekten
in Parameter, Formeln und Methoden kann durch eine entsprechende
Aufteilung des Symbols oder Anordnung der verschiedener Symbole
für jede Subkomponenten
repräsentiert
werden. Für
die Darstellung des mathematischen Systems sind weiterhin die zwischen
den einzelnen Objekten bestehenden Verknüpfungen von großer Bedeutung,
die durch entsprechende Verbindungslinien angezeigt werden können. Dabei
können
Pfeile die Beziehung zwischen den jeweiligen Objekten (Parameter
x ist Eingangsparameter für
die Bestimmung des Wertes von Parameter y) repräsentieren. Der Nutzer kann
also durch Hinzufügen
und Verknüpfen
von Symbolen im Ergebnis ein mathematisches Modell graphisch definieren,
das durch die Einheit 1020 zur Erstellung eines mathematischen
Modells in Form eines Gleichungssystems erstellt wird. Eine mühselige
symbolische Eingabe von mathematischen Gleichungen eines Gleichungssystems
ist hierbei also nicht erforderlich.
-
Die
Analyseeinheit 1022 ermittelt anschließend, ob das Gleichungssystem
hinreichend bestimmt ist. Ist dies der Fall, erstellt die Analyseeinheit 1022 einen Resolutionsplan,
der der Solvereinheit 1024 übermittelt wird. Nähere Einzelheiten
zur Struktur und Betriebsweise der Analyseeinheit 1022 werden
weiter unten anhand der 11 bis 13 dargestellt.
-
Die
Solvereinheit 1024 arbeitet den von der Analyseeinheit 1008 übermittelten
Resolutionsplan Resolutionsschritt für Resolutionsschritt ab. Dabei werden,
wie unten näher
erläutert
wird, Untergleichungssysteme, sogenannte Solverblöcke, gelöst. Die
Solverblöcke
stellen irreduzible Teilsysteme dar. Abhängig von den Eigenschaften
des jeweiligen irreduziblen Teilsystems, das zur Lösung ansteht,
wählt der
Solverblock ein geeignetes Lösungsverfahren aus.
Beispiele solcher Lösungsverfahren
sind numerische Lösungsverfahren
basierend auf dem bekannten Newton-Verfahren, diskrete Lösungsverfahren, geometrische
Lösungsverfahren
oder algebraisch-symbolische Lösungsverfahren.
Die Gesamtheit dieser Ansätze,
die der Solver auszuwählen
und anzuwenden im Stande ist, ermöglicht einen hybriden Resolutionsprozess,
der mit hoher Effizienz und Geschwindigkeit eine Resolution des
Objektdatenmodells herbeiführen
kann.
-
Bei
der Bearbeitung einer Optimierungsaufgabe dient der Optimierer 1026 dazu,
Parameterwerte unter Anwendung an sich bekannter Optimierungsstrategien
zu ändern
und in den Resolutionsprozess einzugeben, um eine unter vorgegebenen Randbedingungen
optimale Lösung
zu ermitteln.
-
Die
dargestellte umfassende Funktionalität der Vorrichtung 1000 im
Rahmen unterschiedlicher Phasen des Entwurfs eines Maschinenobjekts
wird durch die zugrundeliegende einheitliche Datenstruktur vereinfacht.
Konzeption, Vorentwurf, und Konfiguration beruhen auf einem einheitlichen
Datenmodell.
-
11 zeigt
die Struktur der Analyseeinheit 1008 in näheren Details.
Ein Abhängigkeitsgraph-Bestimmer 1102 ist
mit der Einheit 1020 verbunden und ausgebildet, aus dem
vom Objektdatenmodell gebildeten, mathematischen System einen Abhängigkeitsgraph
zu erstellen. Der Begriff des Abhängigkeitsgraphen soll nachfolgend
anhand von 12 erläutert werden.
-
12 zeigt
ein einfaches Beispiel eines Abhängigkeitsgraphen.
In dem Abhängigkeitsgraphen sind
durch rechteckige Blöcke
Funktionen symbolisiert. Kreise symbolisieren Variablen. Pfeile,
die von einer Variablen zu einer Funktion weisen, zeigen an, dass
die Funktion die betreffende Variable enthält. Pfeile, die von einer Funktion
zu einer Variablen weisen, zeigen an, dass die Variable über die
betreffende Funktion von deren Eingangsvariablen abhängt. Der
Abhängigkeitsgraph
der 12 wurde dementsprechend aus folgendem äquivalenten
Gleichungssystem abgeleitet:
V2 = f1(V2)
V2 = f2()
V3
= f0(V0, V2)
V3 = f3(V2)
V1 = f4(V2, V4, V1).
-
Nachfolgend
wird wieder auf 11 Bezug genommen. Die Analyseeinheit
weist zusätzlich
einen über
die Graphikeinheit 1004 mit der graphischen Nutzerstelle 1002 verbundene
Eingabeeinheit auf. Die Eingabeeinheit speichert Anweisungen, welche
Parameterobjekte als Eingabeparameter und Parameterobjekte als Ausgabeparameter
zu behandeln sind.
-
Ein
Kombinatorikanalysator 1106 ist mit dem Abhängigkeitsgraphersteller 1102 und
der Eingabeeinheit 1104 verbunden. Der Kombinatorikanalysator 1106 ist
ausgebildet zu ermitteln, ob das durch den Abhängigkeitsgraphen und die Ein- und Ausgabeparameter
festgelegte mathematische System wohl bestimmt ist. Liegt kein wohlbestimmtes
System vor, partitioniert der Kombinatorikanalysator das System in
einen wohlbestimmten Anteil, einen unterbestimmten Anteil und einen überbestimmten
Anteil, soweit vorhanden, und analysiert die Ursache für eine Unterbestimmung
oder Überstimmung
eines Blocks des Gleichungssystems. Die ermittelte Ursache wird
an eine Diagnoseeinheit 1108 ausgegeben, die entsprechende
ausführliche
Nachricht erstellt und über
die Graphikeinheit 1004 ein Analysebild eines unter- bzw. überbestimmten
Teilsystems darstellt und Vorschläge zur Lösung unterbreitet.
-
Teil
der kombinatorischen Analyse ist das Berechnen eines Matchings maximaler
Größe zwischen
Variablen und Randbedingungen (Constraints). Um unidirektionale
Constraints dabei zu berücksichtigen,
werden Matching-Algorithmen für
gewichtete Graphen eingesetzt.
-
Nach
einer erfolgreichen kombinatorischen Analyse wird in einer Graphikzerlegungseinheit 1110 der
Abhängigkeitsgraph
entsprechend einer Zerlegungsstrategie in irreduzible Teilsysteme
zerlegt, die einzeln und in einer Abfolge gelöst werden können. Diese Abfolge bildet
den Resolutionsplan, der durch die Resolutionsplaneinheit 1112 aufgestellt
wird.
-
13 zeigt
das Ergebnis einer Graphzerlegung für das in 12 dargestellte
System. Zwei irreduzible Blöcke 1302 und 1304 sind
durch eine gestrichelte Umrandung gekennzeichnet. Aus dem zerlegten
Abhängigkeitsgraphen
der 13 lässt
sich folgender Resolutionsplan ermitteln:
- 1.
Löse das
Gleichungssystem 1302, f1 (V2) = V2 nach der Variable V2
auf.
- 2. Berechne V3 = f3 (V2).
- 3. Löse
Gleichung f0 (V0, V2) = V3 nach V0 auf.
- 4. Verwende vom Nutzer spezifizierten Wert von V4.
- 5. Löse
Gleichungssystem 1304, f4 (V1, V4, V2) = V1 nach der Variablen
V1 auf.
- 6. Prüfe,
ob V2 = f2() erfüllt
ist.
-
Werden
nicht-numerischen Variablen verwendet, kann nach solchen Variablen
nicht numerisch gelöst
werden. Dies wird bei der kombinatorischen Analyse entsprechend
berücksichtigt.
Für diskrete
Variablen können „Search-and-Prune-Techniken" oder eine sogenannte
Propagation von Constraints angewendet werden.
-
Eine
vom Optimierer 1012 (10) verwendete
Optimierungsstrategie iteriert den Resolutionsprozess unter Variation
der freien Variablen, um zulässige
Lösungen
zu finden, die unter der angegebenen Zielrelation optimal sind.
-
Das
hierarchische, komponentenbasierte Modellieren bei dem erfindungsgemäßen System
bewirkt die Einkapselung von innerhalb einem Komponentenobjekt bestehenden
Relationen. Komponentenübergreifende
Constraints haben nur Zugriff auf freie Parameter von Komponentenobjekten.
Komponentenobjektinterne Parameter, die von freien Parametern abhängen, sind
nach außen
unsichtbar.
-
In
den nachfolgenden Patentansprüchen sind
die Merkmale der beanspruchten Vorrichtungen in gegliederter Form
dargestellt. In den abhängigen Ansprüchen sind
die zusätzlichen
Merkmale in Fortsetzung der im Anspruch 1 begonnenen Gliederung nummeriert.