-
GEBIET DER
ERFINDUNG
-
Die
vorliegende Erfindung betrifft im Allgemeinen das Gebiet der Simulationsmodellierung.
Die vorliegende Erfindung betrifft insbesondere Verfahren zum Darstellen,
Zugreifen auf, Eingeben und Überwachen von
Parametern von Objekten in einem Simulationsmodell.
-
AUSGANGSSITUATION
DER ERFINDUNG
-
Die
Simulationsmodellierung wird für
gewöhnlich
zur Modellierung von Systemen zur Durchführung von „Was-wäre-wenn"-Analysen zur Optimierung des Systemverhaltens
und zur Erkennung von Problemen in Systemen verwendet. Die grafische
Simulationsmodellierung ermöglicht
die Modellierung eines komplexen Systems auf eine intuitive und
visuell verständliche
Art und Weise und hat auf den unterschiedlichsten Gebieten – vom Geschäftsleben
bis hin zur biologischen Analyse – breite Anwendung gefunden.
-
Die
Erstellung eines Simulationsmodells schließt typischerweise die Kennzeichnung
verschiedener Objekte in dem System ein, die dann durch Variablen,
Gleichungen oder beides davon in Form eines „Objekts" dargestellt werden. Ein Simulationsmodell
ist unter Verwendung einer grafischen Benutzeroberfläche (GUI)
erstellbar, auf der die verschiedenen Objekte durch Ikonen, die
der Benutzer ausgewählt
hat, oder andere geeignete grafische Darstellungen dargestellt sind
und auf der die Wechselbeziehungen zwischen den Objekten durch Verknüpfungen
dargestellt sind.
-
Eine
vereinfachte Darstellung einer typischen grafischen Benutzeroberfläche (GUI)
nach dem Stand der Technik für
ein grafisches Simulationsmodell ist in 1 dargestellt.
Konkret schließt
die GUI nach dem Stand der Technik gemäß 1 ein Diagrammfenster 10 ein,
in dem Knotendarstellungen für
verschiedene Objekte eines modellierten Systems angezeigt werden.
Jedes der verschiedenen Objekte des modellierten Systems ist entweder
als Entitätsobjekt 12,
Eingabeobjekt 14 oder Verknüpfungsobjekt 16 dargestellt.
Jedes der Objekte schließt
typischerweise mindestens einen Parameter ein, der einen Parameternamen,
einen zugewiesenen Wert und eine den Parameter beschreibende Parameterdokumentation
hat.
-
Zu
den bekannten Simulationsmodellierwerkzeugen gehören Process Charter von Scitor
Corporation aus Menlo Park, Kalifornien, PowerSim von Modell Data
AS aus Bergen, Norwegen (http://www.powersim.com), Ithink und Stella
von High Performance Systems Incorporated aus Hanover, New Hampshire (http://hps-inc.com)
und Extend+BPR von Imagine That! Incorporated aus San Jose, Kalifornien (http://www.imaginethatinc.com). 2 zeigt
ein Simulationsmodell 30, das unter Verwendung des Produkts Ithink
von High Performance Systems, Inc. generiert wurde. Das Simulationsmodell
stellt ein System der eingehenden und der fertig gestellten Arbeit
in einem Unternehmen dar. Wie zu sehen ist, schließt das Simulationsmodell 30 ein
Objekt 32 ein, das den „Arbeitsrückstand" darstellt, wobei dem Objekt 32 eingehende
Arbeitsaufträge 34 zugeführt und
ausgeführte
Arbeitsaufträge 36 entzogen
werden. Die Rate, mit der dem Arbeitsrückstandsobjekt 32 Arbeitsaufträge zugeführt werden,
wird durch ein Objekt 39 bestimmt, das in Bezug auf eine
Pipe, durch die dem Objekt 32 Arbeitsaufträge zugeführt werden,
als „Ventil" wirkt. Entsprechend
ist die Rate, mit der dem Objekt 32 Arbeitsaufträge entzogen
werden, abhängig
von einem Objekt 38, das in Bezug auf die Pipe, durch die
dem Objekt 32 Arbeitsaufträge entzogen werden, als „Ventil" wirkt. Wie zu sehen
ist, empfängt
das Objekt 38 als Eingaben die Anzahl der Arbeiter in dem
System, dargestellt durch Objekt 42, und die wöchentliche
Produktivität
jedes dieser Arbeiter, dargestellt durch den Eingangsparameter 40.
Die wöchentliche
Produktivität
der Arbeiter ist außerdem
eine Funktion der Stunden pro Woche pro Arbeiter, dargestellt durch
Objekt 44. Wie außerdem
zu sehen ist, beeinflusst die Produktion pro gearbeitete Stunde,
dargestellt durch Objekt 46, die wöchentliche Produktivität pro Arbeiter.
Die Produktivität
pro gearbeitete Stunde wird wiederum durch einen durchschnittlichen
Burnout-Faktor beeinflusst, der durch ein Objekt 48 dargestellt
ist. Wie zu sehen ist, beeinflussen verschiedene andere Faktoren
das Objekt 48.
-
Zwar
stellt das in 2 gezeigte Simulationsmodell 30 eine
zufrieden stellende Darstellung des Systems der eingehenden und
der fertig gestellten Arbeit bereit, doch leidet das Modell 30 an
einer Reihe von Unzulänglichkeiten.
Konkret ist die dem Modell 30 zugrunde liegende mathematische
Struktur nicht sogleich ersichtlich, wenn man die Ikonen betrachtet,
und ist als Ergebnis der Etiketten, mit denen die verschiedenen,
in dem Simulationsmodell 30 gezeigten Knoten versehen sind,
nur erahnbar. Außerdem
führen
die zahlreichen Ikonen, die zur Darstellung von Objekten, Eingaben,
Pipes und Verknüpfungen
verwendet werden, (ebenso wie die mit jeder dieser Ikonen verknüpften Etiketten)
zu einer schwerfälligen
und überladenen
Darstellung des modellierten Systems. Die Eingabe und Beobachtung
von Parameterwerten, die mit Objekten der Modelle der 1 und 2 verknüpft sind,
sind außerdem
ermüdend,
da für
jede Variable jedes Objekts ein Fenster generiert und dann ein spezifischer
Wert in ein Feld in dem Fenster eingegeben oder in diesem Feld betrachtet werden
muss. In großen
Simulationsmodellen, die Hunderte oder sogar Tausende von Objekten
einschließen können, wird
dieser Prozess des Eingebens und Betrachtens von Parameterwerten
lästig.
-
Lin
Y-B u.a.: "A flexible
graphical user interface for performance modeling", Software Practice & Experience, Band
25, Nr. 2, Februar 1995 (1995-02), Seiten 193 bis 216, offenbart
eine grafische Benutzeroberfläche
(GUI) einer Netzwerksimulationsumgebung und Installationsparameter
für die
Simulationsmodelle. Das System schließt eine zweischichtige GUI-Architektur
ein. Die beiden Schichten sind lose gekoppelt und die erste Schicht
ist ohne Beeinträchtigung
der anderen Komponenten der Simulationsumgebung austauschbar. An das
Thema der Wiederverwendbarkeit des Modells wird unter Verwendung
des Teilnetzkonzepts herangegangen. Die Teilnetzkonstruktion ist
in der Simulationsumgebung ein Bürger
erster Klasse (das heißt,
dass alle Operationen für
einen Basisknoten auch auf ein Teilnetz zutreffen). Das Schnittstellenkonzept
wird zur Definition der Eingabe-Ausgabe-Beziehung zwischen einem
Teilnetz und der Außenwelt
verwendet. Parameterdialogfelder werden zur Installation der Parameter
für ein
Teilnetz verwendet. Ein einfacher Stapelmechanismus wird zur Messung
der teilnetzweiten Ausgabestatistik verwendet.
-
Die
EP 0483040 offenbart ein
Verfahren zur Anzeige von Mehrfacheingabedatenfeldern auf einem Bildschirm
in einem objektorientierten Programm. In einem Objekt, das zum Beispiel
ein Bildschirm oder Anzeigefeld mit Mehrfacheingabedatenfeldern
sein kann, kann der Benutzer durch Markieren und Auswählen der geeigneten
Eingabe ein Mehrfacheingabedatenfeld auswählen. Ein Pop-Up-Anzeigefeld
oder – fenster
wird dann angezeigt, das alle Instanzen des Datenfelds oder -elements
auflistet. Der Benutzer kann durch Auswählen der geeigneten Funktionstaste
die Datenelemente ändern
oder löschen
oder ein neues Datenelement hinzufügen. Der Benutzer wahrt während der
Arbeit mit den Mehrfacheingabedatenfeldern den Kontext des zugrunde
liegenden Objekts. Die Anzeige des zugrunde liegenden Objekts wird
nicht geändert,
wenn zusätzliche Datenelemente
zu der Liste der Mehrfacheingabedatenfelder hinzugefügt werden.
-
Die
US 5485600 offenbart ein
Rechnermodelliersystem und -verfahren zur Beschreibung des Verhaltens
grafischer Bedieneroberflächen.
Das Prototyp-Entwicklungssystem
gemäß der
US 5485600 stellt ein System
und Verfahren zur Bestimmung der Reaktionen und Zustände eines
simulierten Systems bereit, wobei eine Reihe von kontextsensitiven
Menüs zur
Generierung von Zustandstabellen verwendet wird. Die Informationen aus
den Zustandstabellen werden zur Generierung eines Programmcodes
verwendet, der durch die Prototypentwicklungsplattform oder eine
Zielplattform zur Simulation eines gewünschten Systems verwendet wird.
In dem System wird eine Liste von Werten für einen Parameter angezeigt,
wobei der Parameter eine feste Menge von zugelassenen Werten hat,
und ein Benutzer kann einen bezeichneten Wert anklicken, um diesen
Wert einzugeben.
-
Gemäß einem
Aspekt der vorliegenden Erfindung wird ein Verfahren zur Verwaltung
von Objekten in einem Simulationsmodell gemäß Anspruch 1 bereitgestellt.
-
Gemäß einem
anderen Aspekt der vorliegenden Erfindung wird ein Simulationssystem
zur Verwaltung von Objekten in einem Simulationsmodell gemäß Anspruch
14 bereitgestellt.
-
Andere
Merkmale der vorliegenden Erfindung ergeben sich aus den beigefügten Zeichnungen
und aus der folgenden ausführlichen
Beschreibung.
-
KURZE BESCHREIBUNG
DER ZEICHNUNGEN
-
Die
vorliegende Erfindung ist beispielhaft und nicht einschränkend in
den Figuren der beigefügten Zeichnungen
veranschaulicht, in denen gleiche Bezugszeichen gleichartige Elemente
bezeichnen. Es zeigt/zeigen:
-
1 eine
grafische Benutzeroberfläche
(GUI), die nach dem Stand der Technik zur Generierung einer Anzeige
für ein
Simulationsmodell verwendet wird;
-
2 eine
Darstellung eines Simulationsmodells, das unter Verwendung eines
Modellierwerkzeugs nach dem Stand der Technik generiert wurde;
-
3 eine
schematische Darstellung von Simulationsmodellier-Software gemäß einer
Ausführungsform
der vorliegenden Erfindung;
-
4 eine
schematische Darstellung der Wechselwirkung zwischen der in 3 dargestellten
Software und GUIs, die auf verschiedenen Software-Plattformen laufen;
-
5 ein
Parameterfenster, das einem Benutzer die Betrachtung und die Eingabe
von Informationen ermöglicht,
die einen Parameter eines Simulationsmodells gemäß einer Ausführungsform
der vorliegenden Erfindung betreffen;
-
6 zwei
beispielhafte Knotendarstellungen, die zur Darstellung von Objekten
eines Simulationsmodells gemäß der vorliegenden
Erfindung verwendbar sind;
-
7 beispielhafte
Verknüpfungsdarstellungen,
die gemäß einer
Ausführungsform
der vorliegenden Erfindung zur Veranschaulichung einer Relationsbedingung
zwischen Zustands- oder Funktionsknoten eines Simulationsmodells
verwendbar sind;
-
8 eine
Modifikatordarstellung, die gemäß einer
Ausführungsform
der vorliegenden Erfindung zur Darstellung des Einflusses eines
dritten Knotens auf eine Relationsbedingung, die zwischen einem
ersten und einem zweiten Knoten eines Simulationsmodells besteht,
verwendbar ist;
-
9 eine
beispielhafte Darstellung eines Simulationsmodells, das unter Verwendung
der gemäß einer
Ausführungsform
der vorliegenden Erfindung definierten grafischen Elemente erstellt
wurde;
-
10 ein
Flussdiagramm, das ein Verfahren gemäß einer Ausführungsform
der vorliegenden Erfindung zur Generierung einer Anzeige eines Simulationsmodells
veranschaulicht;
-
11 ein
Flussdiagramm, das ein Verfahren gemäß einer Ausführungsform
der vorliegenden Erfindung zur Auswahl einer Verknüpfungsdarstellung
zur Darstellung der Relationsbedingung zwischen zwei Objekten in
einem Simulationsmodell veranschaulicht;
-
12 ein
Flussdiagramm, das ein Verfahren gemäß einer Ausführungsform
der vorliegenden Erfindung zur Anzeige einer Modifikatordarstellung,
die den Einfluss eines Objekts auf eine Relationsbedingung zwischen
einem Paar von Objekten darstellt, veranschaulicht;
-
13 Zugriffsanzeigefelder
gemäß einer
Ausführungsform
der Erfindung, mittels derer ein Benutzer auf Parameterbetriebswerte
zugreifen kann;
-
14 ein
Flussdiagramm, das ein Verfahren gemäß einer Ausführungsform
der Erfindung zur Erstellung eines Zugriffsanzeigefelds und zum
Zugriff auf Parameter eines Simulationsmodells unter Verwendung eines
solchen Anzeigefelds veranschaulicht;
-
15 eine
schematische Darstellung eines Basisfundaments, einer Basisschicht
und von drei alternativen Schichten, durch die die Basisschicht
ersetzbar ist;
-
16 zwei
beispielhafte Schichtanzeigefelder gemäß einer Ausführungsform
der Erfindung, die zur Beschreibung von Werten, die in ein Schichtobjekt
einzuschließen
sind, verwendbar sind;
-
17 ein
Konfigurationsanzeigefeld gemäß einer
Ausführungsform
der vorliegenden Erfindung, das zur Anwendung und Beendigung der
Anwendung von Schichten in einem Simulationsmodell verwendbar ist;
-
18 ein
Flussdiagramm, das ein Verfahren gemäß einer Ausführungsform
der Erfindung zur Verwaltung von Objekten in einem Simulationsmodell
veranschaulicht;
-
19 zwei
beispielhafte Überwachungsanzeigefelder
gemäß einer
Ausführungsform
der vorliegenden Erfindung, die einem Benutzer die Überwachung
von mindestens zwei Parametern von Objekten in einem Simulationsmodell
ermöglichen;
-
20a und 20b GUIs,
die jeweils ein Diagrammfenster, ein Grafenanzeigefeld, ein Überwachungsanzeigefeld
und ein Konfigurationsanzeigefeld anzeigen;
-
21a und 21b Verfahren
gemäß jeweiligen
Ausführungsformen
der vorliegenden Erfindung zur Überwachung
von Parametern in einem Simulationsmodell;
-
22 eine
beispielhafte Darstellung oder Anzeige eines Simulationsmodells
unter Verwendung der in den 6 bis 8 veranschaulichten
grafischen Elemente und Notation;
-
23 eine
GUI einschließlich
eines Diagrammfensters und eines Paars von Zugriffsanzeigefeldern gemäß einer
Ausführungsform
der vorliegenden Erfindung;
-
24 eine
GUI gemäß einer
Ausführungsform
der vorliegenden Erfindung einschließlich eines Diagrammfensters,
eines Paars von Schichtanzeigefeldern und eines Konfigurationsanzeigefelds;
-
25 eine
schematische Darstellung eines Rechnersystems, in dem Software zur
Durchführung
der oben erörterten
Verfahren gespeichert sein und ablaufen kann.
-
AUSFÜHRLICHE
BESCHREIBUNG
-
Es
wird ein Verfahren zur Verwaltung von Objekten in einer Simulation
beschrieben. In der folgenden Beschreibung werden im Sinne der Erläuterung
zahlreiche spezifische Einzelheiten dargelegt, um ein umfassendes
Verständnis
für die
vorliegende Erfindung zu schaffen. Dem Fachmann wird jedoch einleuchten,
dass die vorliegende Erfindung auch ohne diese spezifischen Einzelheiten
ausführbar
ist.
-
Die
vorliegende Beschreibung beschreibt beispielhafte Verfahren zur
Darstellung von Simulationsmodellen von Systemen und zum Zugriff
auf und zur Verwaltung von Objekten, die solche Systeme beschreiben, unter
Verwendung von grafischer Simulationsmodellier-Software. In 3 ist
eine schematische Darstellung einer beispielhaften Ausführungsform
einer Simulationsmodellier-Software 50 gemäß der vorliegenden
Erfindung bereitgestellt. Konkret umfasst die Modellier-Software 50 einen
Kern 52, der unter Verwendung einer objektorientierten
Sprache, zum Beispiel der Programmiersprachen C++ oder Java, codierbar
ist. Demgemäß umfasst
der Kern 52, wie zu sehen ist, Objektklassen, nämlich Diagrammobjekte 54,
Zugriffsanzeigefeldobjekte 56, Schichtanzeigefeldobjekte 58, Überwachungsanzeigefeldobjekte 60,
Grafenobjekte 62 und Konfigurationsobjekte 64.
Wie auf diesem Fachgebiet wohl bekannt ist, kann jedes Objekt in
dem Kern 52 eine Sammlung von Parametern (für gewöhnlich auch
als Instanzen, Variablen oder Felder bezeichnet) und eine Sammlung von
Verfahren, die die Parameter des relevanten Objekts verwenden, umfassen.
Die Funktionsweise und die Zwecke jeder der verschiedenen in 3 gezeigten
Objektklassen ergeben sich aus der folgenden Beschreibung. Es ist
eine Darstellung in aufgelösten
Einzelteilen des Inhalts eines beispielhaften Diagrammobjekts 66 bereitgestellt,
aus der ersichtlich ist, dass das Diagrammobjekt 66 eine
Dokumentation 68, die eine Beschreibung des Diagrammobjekts
bereitstellt, eine Sammlung von Parametern 70 und Verfahren 72,
die eine Gleichung oder Klasse von Gleichungen definieren können, einschließt. Die
Diagrammobjekte 54 definieren jeweils ein Merkmal oder
Objekt eines modellierten Systems, das in einem Diagrammfenster
angezeigt wird, das durch eine grafische Benutzeroberfläche (GUI)
dargestellt wird, die mit dem Kern 52 in Wechselwirkung
steht. Gemäß einer
beispielhaften Ausführungsform
der Erfindung können
die Diagrammobjekte 54 Zustands-, Funktions-, Modifikator-
und Verknüpfungsobjekte
einschließen,
die in dem Diagrammfenster entsprechend durch Zustandsknoten, Funktionsknoten,
Modifikatorikonen und Verknüpfungsikonen
dargestellt sind. Alle Objekte 56 bis 64 definieren
in einer beispielhaften Ausführungsform
jeweilige Fenster (oder Anzeigefelder), die in einem Diagrammfenster
eingeblendet werden, um ausgewählte
Informationen hinsichtlich des modellierten Systems darzustellen
und die Wechselwirkung des Benutzers mit dem Modell zu erleichtern.
Im Sinne dieser Beschreibung soll der Begriff „Anzeigefeld" weit reichend interpretiert
werden und sich auf jeden bezeichneten oder gekennzeichneten Bereich
mit einer Anzeige beziehen, wobei Form, Größe oder Begrenzung keine Rolle spielen.
Demgemäß soll der
Begriff „Anzeigefeld" ein „Fenster" mit einer GUI einschließen, aber
nicht darauf beschränkt
sein.
-
4 stellt
eine schematische Darstellung des Kerns 52 bereit, der,
wie zu sehen ist, mit jeder von einer Reihe von GUIs in Wechselwirkung
treten kann. Konkret ist der Kern 52, wie zu sehen ist,
angeschlossen an eine GUI 80, die auf der von Apple Computer,
Inc. aus Cupertino, Kalifornien, entwickelten Macintosh-Plattform
läuft,
an eine GUI 82, die auf den von Microsoft Corporation aus
Redmond, Washington, entwickelten Plattformen Windows '98 oder Windows NT
läuft,
oder an eine plattformunabhängige
GUI 84, die in der Hyper-Text Markup Language (HTML) oder
der Java-Sprache,
entwickelt von Sun Microsystems aus Mountain View, Kalifornien,
codiert ist. Jede der GUIs steht mit dem Kern 52 in Wechselwirkung,
um ein Diagrammfenster darzustellen, in dem Ikonen, die die Diagrammobjekte 54 darstellen,
angezeigt werden und in dem Anzeigefelder (oder Fenster), die Anzeigefeldobjekte 56,
Schichtobjekte 58, Überwachungsobjekte 60,
Grafenobjekte 62 oder Konfigurationsobjekte 64 darstellen,
anzeigbar sind.
-
Parameter
-
Wie
unter Bezugnahme auf 3 erörtert, kann jedes der in dem
Software-Kern 52 definierten Objekte mindestens einen mit
ihm verknüpften
Parameter haben, der bestimmte Eigenschaften des Objekts quantifiziert
und der während
der Simulation des modellierten Systems verwendet wird. Es ist auch
klar zu erkennen, dass nicht alle Objekte einen Parameter einschließen müssen. In
einer beispielhaften Ausführungsform
der Erfindung sind mehrere Parametertypen definiert. Erstens sind
Systemparameter für
jeden Subjekttyp definierbar. Einem Systemparameter ist zum Beispiel ein
Anfangswert für
ein Zustandsobjekt oder ein Koeffizientenwert für ein Verknüpfungsobjekt zuweisbar. Andere
Parametertypen schließen
Objektparameter und Diagrammparameter ein, die die einfache Handhabung
von Werten in Simulationsoperationen erleichtern. Konkret stehen
Diagrammparameter allen Objekten zur Verfügung, während jeder Objektparameter
nur einem einzelnen Objekt zur Verfügung steht.
-
In 5 ist
ein Parameterfenster 90 zu sehen, das durch jede der in 4 gezeigten
GUIs generierbar ist und einem Benutzer Informationen hinsichtlich
eines Parameters bereitstellt und dem Benutzer die Eingabe oder
Beschreibung eines Werts ermöglicht,
der dem jeweiligen Parameter zuzuschreiben ist. Die Art und Weise,
auf die ein Parameterfenster 90 auf einer GUI aufgerufen
und erstellt wird, wird weiter unten beschrieben. Wie zu sehen ist,
schließt
das beispielhafte Parameterfenster 90 vier Abschnitte ein,
nämlich
einen Definitionsabschnitt 92, einen Einheitenabschnitt 94,
einen Einstellungsabschnitt 96 und einen Bereichsabschnitt 98.
Der Definitionsabschnitt 92 zeigt eine Identifizierung
(oder Symbol) für
den Parameter sowie eine geeignete Parameterdefinition an. In dem
veranschaulichten Parameterfenster 90 ist der Parameter
durch das Symbol „C" dargestellt, das
als der Koeffizient einer Gleichung in einem spezifischen Objekt
definiert ist. Der Einheitenabschnitt 94 zeigt Einheiten
an, die intern und zur Schätzung
verwendet werden. Die zur Schätzung
verwendeten Einheiten werden für
einen Wert verwendet, der in dem Einstellungsabschnitt 96 als „Betriebswert" bezeichnet ist.
Wenn die internen und die geschätzten
Einheiten unterschiedlich sind, ist in dem Einheitenabschnitt 94 auch
eine Umrechnung anzeigbar. In dem veranschaulichten Beispiel wird
aus dem geschätzten
Wert der Reziprokwert gebildet und mit einer Konstanten K multipliziert,
die geschätzte
Stunden in einen Halbwertszeitrechenwert umrechnet.
-
Der
Einstellungsabschnitt 96 schließt drei Werte für den relevanten
Parameter ein, nämlich
einen Betriebswert, einen Basiswert und einen Vergleichswert. Es
ist möglich,
entweder den Basiswert oder den Vergleichswert als Betriebswert
zu bestimmen. Der Benutzer kann zum Beispiel in der Lage sein, den
Basiswert oder den Vergleichswert unter Verwendung eines Zeigegeräts, zum
Beispiel einer Maus, in den Block 100 zu ziehen und dort
abzulegen. Der Betriebswert wird dann entsprechend aktualisiert.
Der Basiswert wird durch den ursprünglichen Ersteller eines Simulati onsmodells,
in dem der relevante Parameter verwendet wird, bestimmt und ist
durch einen Benutzer nicht direkt modifizierbar. Der Einstellungsabschnitt 96 schließt außerdem Beschreibungsblöcke ein,
in die der Benutzer jeweils Beschreibungen für den Betriebswert, den Basiswert
und den Vergleichswert eingeben kann.
-
Der
Bereichsabschnitt 98 ist optional zur Definition von oberen
und unteren Wertgrenzen verwendbar, die dem Parameter zuweisbar
sind. Auch hier sind jeweils Beschreibungsfelder für die oberen
und unteren Grenzen bereitgestellt.
-
Grafische
Elemente
-
Die 6 bis 8 stellen
Beispiele für
grafische Elemente bereit, die gemäß einer beispielhaften Ausführungsform
der Erfindung zur Erstellung einer Anzeige eines Simulationsmodells
gemäß der Erfindung verwendbar
sind. Die veranschaulichten grafischen Elemente werden durch eine
GUI einem Modellersteller zur Verfügung gestellt, der dann eine
Darstellung eines modellierten Systems erstellen kann. In der folgenden Beschreibung
wird der Begriff „Knoten" zur Verweisung auf
eine einen Zustand oder eine Funktion darstellende Ikone und der
Begriff „Verknüpfung" zur Verweisung auf
eine ein Verknüpfungsobjekt
darstellende Ikone verwendet. Es ist klar zu erkennen, dass die
weiter unten erörterten
grafischen Elemente als Beispiele angeführt sind und alle charakteristischen
grafischen Elemente an die Stelle der weiter unten erörterten
grafischen Elemente treten können,
ohne von dem Geist der Erfindung abzuweichen.
-
Die
weiter unten unter Bezugnahme auf die 6 bis 8 erörterten
grafischen Elemente sind zur Erstellung eines Simulationsmodells,
zum Beispiel des in 9 gezeigten Modells, verwendbar.
Nun wird zuerst auf 6 Bezug genommen, wo Beispiele
für zwei
Knotentypen, nämlich
für einen
Zustandsknoten 110 und einen Funktionsknoten 112,
veranschaulicht sind. Zur Unterscheidung zwischen Zustands- und Funktionsknoten 110 und 112 wird
nun auch auf 9 Bezug genommen. 9 veranschaulicht
ein beispielhaftes Simulationsmodell 150, das ein Raubtier-Beutetier-System
darstellt. In dem Modellsystem umfassen die Raubtiere Wölfe und
die Beutetiere Kaninchen.
-
Nun
kehren wir zu 6 zurück, wo ein Zustandsknoten 110 ein
zugrunde liegendes Zustandsobjekt darstellt, das eine Bedingung
oder einen Zustand in dem modellierten System definiert. Aus der
Darstellung des Simulationsmodells 150 gemäß 9 geht
hervor, dass Zustandsknoten verschiedene Bedingungen in dem Modell
darstellen. Konkret stellt ein Zustandsknoten „Vegetation" 152 den
Zustand der Vegetation in dem Modell 150 dar, während die
Zustandsknoten 156, 158, 162 bzw. 164 Populationszahlen
von Kaninchen und Wölfen
darstellen. Die verschiedenen Objekte, die den Zustandsknoten zugrunde
liegen, können
einen oder mehrere Parameter und/oder eine oder mehrere Gleichungen
(oder Verfahren) umfassen, die durch Verknüpfungen (hier ist auch der
Begriff „Pfeile" verwendbar) bewirkt
oder beeinflusst werden, die die jeweiligen Zustandsknoten speisen
(das heißt,
dass Zustands- und Funktionsobjekte durch Verknüpfungsobjekte beeinflusst werden).
Zum Beispiel stellt der Zustandsknoten „Ausgewachsene Kaninchen" 156 ein
Objekt dar, das einen Parameter einschließt, der die Zahl der ausgewachsenen
Kaninchen zu jedem bestimmten Zeitpunkt in der Simulation anzeigt.
-
Wie
in 6 zu sehen ist, stellt ein Funktionsknoten 112 ein
Funktionsobjekt dar, das in dem Simulationsmodell ein Element definiert,
das ausschließlich
eine Funktion von null oder mehr Objekten (oder Parametern) in dem
Simulationsmodell ist. Nun kehren wir zu dem in 9 gezeigten
Simulationsmodell 150 zurück, wo zwei Funktionsknoten 154 bzw. 160 Objekte
darstellen, die das Nahrungsangebot für Kaninchen und das Nahrungsangebot
für Wölfe darstellen.
Jeder der Funktionsknoten 154 und 160 schließt einen
Parameter ein, der eine Funktion von Parametern von Knoten ist,
die den relevanten Funktionsknoten speisen, wie durch Verknüpfungen
angezeigt ist. Zum Beispiel ist der Funktionsknoten 154,
der einen Parameter hat, dessen Wert die Menge der verfügbaren Kaninchennahrung
darstellt, als eine Funktion des Vegetationsknotens 152 dargestellt.
Entsprechend ist der Funktionsknoten 160, der einen Parameter
einschließt,
dessen Wert die verfügbare Menge
an Wolfsnahrung anzeigt, eine Funktion des Knotens „Ausgewachsene
Kaninchen" 156 und
des Knotens „Junge
Kaninchen" 158.
-
7 veranschaulicht
eine Menge von Verknüpfungsdarstellungen 118 bis 128,
die ein Modellersteller zur Darstellung einer Relationsbedingung
auswählen
kann, die zwischen zwei durch Knoten dargestellten Objekten in einem
Simulationsmodell besteht. Jede der Verknüpfungsdarstellungen 118 bis 128 ist
mit einer unterschiedlichen Relationsbedingung verknüpft und
stellt diese dar. Nun wird zuerst auf eine Verknüpfungsdarstellung „Konstante
Wirkung" 118 Bezug
genommen. Diese Verknüpfungsdarstellung
zeigt eine Relationsbedingung zwischen einem ersten und einem zweiten
Objekt (dargestellt durch die Zustandsknoten 115 bzw. 117)
an, wobei das erste Objekt eine Wirkung auf das zweite Objekt hat
und diese Wirkung unabhängig
von irgendwelchen Parameterwerten ist, die mit dem ersten oder dem
zweiten Knoten verknüpft
sind. In einer Ausführungsform
stellt die Verknüpfungsdarstellung 118 die
Wirkung als für
die Dauer einer Simulationsoperation konstante Wirkung dar. Die
Verknüpfungsdarstellung 118 ist
dadurch gekennzeichnet, dass zwischen dem hinteren Abschnitt der
Verknüpfungsdarstellung
und dem Kreis hinter der Pfeilspitze ein Abstand besteht. Eine Verknüpfungsdarstellung „Proportionale
Wirkung" 120 stellt
eine Relationsbedingung zwischen einem ersten und einem zweiten
Objekt dar, wobei das erste Objekt eine Wirkung auf das zweite Objekt
hat und das Ausmaß dieser
Wirkung von dem Wert eines Parameters des ersten Objekts (dargestellt
durch den Zustandsknoten 115) abhängt. Die Verknüpfungsdarstellung 120 ist
dadurch gekennzeichnet, dass ihr hinterer Abschnitt den Kreis hinter
der Pfeilspitze berührt.
In 9 sind Beispiele für Verknüpfungsdarstellungen des Typs „Proportionale
Wirkung" mit 120a und 120b bezeichnet.
Konkret hat der Zustandsknoten „Ausgewachsene Kaninchen" 156, wie
zu sehen ist, eine proportionale Wirkung auf den Zustandsknoten „Junge
Kaninchen" 158 dahin
gehend, dass die Zahl der jungen Kaninchen proportional zu der Zahl
der ausgewachsenen Kaninchen zunimmt. Gleiches trifft auf die Verknüpfungsdarstellung 120b zu,
die die Wirkung des Knotens „Ausgewachsene
Wölfe" 162 auf
den Knoten „Junge
Wölfe" 164 darstellt.
-
Eine
Verknüpfungsdarstellung „Wechselwirkung" 122 stellt
dar, dass ein erstes Objekt (dargestellt durch den Zustandsknoten 115)
eine Wirkung auf ein zweites Objekt (dargestellt durch den Zustandsknoten 117)
hat und dass die Wirkung von den Parameterwerten sowohl des ersten
als auch des zweiten Objekts abhängt.
Die Verknüpfungsdarstellung 122 ist
dadurch gekennzeichnet, dass der hintere Abschnitt der Darstellung
in den Kreis eingreift und dass sich eine gekrümmte Linie von dem Kreis zu
dem Zustandsknoten 117 erstreckt. Nun kehren wir zu 9 zurück, wo zwei
Beispiele für
Verknüpfungsdarstellungen
des Typs „Wechselwirkung" mit 122a und 122b bezeichnet
sind. Konkret hat der Knoten „Ausgewachsene
Wölfe" 162, wie
zu sehen ist, eine Wirkung auf den Knoten „Ausgewachsene Kaninchen" 156. Konkret
verzehren ausgewachsene Wölfe
ausgewachsene Kaninchen, wie durch „C" in dem Kreis 170 angezeigt
ist. Die Rate bzw. das Ausmaß dieses
Verzehrs ist sowohl durch die Zahl der ausgewachsenen Wölfe als
auch durch die Zahl der ausgewachsenen Kaninchen bestimmt und die
Wirkung des durch den Knoten 162 dargestellten Objekts
auf das durch den Knoten 156 dargestellte Objekt ist demgemäß abhängig von
dem Wert der Parameter (zum Beispiel Populationszahlen), die mit
jedem dieser Objekte jeweils verknüpft sind. Die gleiche Erklärung trifft
auf die Wirkung des durch den Knoten „Ausgewachsene Wölfe" 162 dargestellten
Objekts auf das durch den Knoten „Junge Kaninchen" 158 dargestellte
Objekt zu, zwischen denen sich die Verknüpfungsdarstellung „Wechselwirkung" 122b erstreckt.
-
Eine
in 7 gezeigte Verknüpfungsdarstellung „Konstante
Umwandlung" 124 stellt
dar, dass Instanzen eines ersten Objekts (dargestellt durch den
Zustandsknoten 115) in Instanzen eines zweiten Objekts
(dargestellt durch den Zustandsknoten 117) umgewandelt
werden. Die Verknüpfungsdarstellung „Konstante
Umwandlung" 124 stellt
außerdem
dar, dass die Zahl der umgewandelten Instanzen unabhängig von
irgendwelchen Parameterwerten ist, die mit dem ersten oder dem zweiten
Objekt verknüpft
sind. In einer Ausführungsform
kennzeichnet die Verknüpfungsdarstellung 124 diese
Umwandlung als konstant und wird nicht durch externe Parameter bewirkt.
Die Verknüpfungsdarstellung 124 ist
dadurch gekennzeichnet, dass ihr hinterer Abschnitt relativ zu dem
hinteren Abschnitt der Verknüpfungsdarstellung „Konstante
Wirkung" 118 verdickt
ist und dass zwischen diesem hinteren Abschnitt und dem Kreis hinter
der Spitze der Verknüpfungsdarstellung 124 ein
Abstand besteht.
-
Eine
Verknüpfungsdarstellung „Proportionale
Umwandlung" 126 stellt
dar, dass eine Zahl von Instanzen eines ersten Objekts (dargestellt
durch den Zustandsknoten 115) in Instanzen eines zweiten
Objekts (dargestellt durch den Zustandsknoten 117) umgewandelt
wird. Die Verknüpfungsdarstellung 126 zeigt
außerdem an,
dass die Zahl der umgewandelten Instanzen von der Zahl der Instanzen
des ersten Objekts abhängt.
In 9 sind Verknüpfungsdarstellungen
des Typs „Proportionale
Umwand lung" mit 126a und 126b bezeichnet. Konkret
stellt die Verknüpfungsdarstellung 126a dar,
dass Instanzen eines durch den Knoten „Junge Kaninchen" 158 dargestellten
Objekts in Instanzen eines durch den Knoten „Ausgewachsene Kaninchen" 156 dargestellten
Objekts umgewandelt werden. Außerdem
hängt die
Zahl der jungen Kaninchen (also Instanzen junger Kaninchen), die
in ausgewachsene Kaninchen (also Instanzen ausgewachsener Kaninchen)
umgewandelt werden, von der Zahl der Instanzen der jungen Kaninchen
ab, die in dem durch den Knoten 158 dargestellten Objekt
vorhanden sind. Entsprechend hängt
die Zahl der Instanzen eines durch den Knoten „Junge Wölfe" 164 dargestellten Objekts,
die in Instanzen eines durch den Knoten „Ausgewachsene Wölfe" 162 dargestellten
Objekts umgewandelt werden, von der Zahl der Instanzen des durch
den Knoten „Junge
Wölfe" 164 dargestellten Objekts
ab. Die Kreise 172 der Verknüpfungsdarstellungen „Proportionale
Umwandlung" 126a und 126b schließen, wie
zu sehen ist, den Buchstaben „S" ein, wodurch angezeigt
wird, dass der Typ der auftretenden Umwandlung eine Zustandsänderung
ist. Es ist klar zu erkennen, dass auch ein beliebiges anderes Symbol
in dem Kreis einer Verknüpfungsdarstellung
eingeschlossen sein könnte,
um weitere Informationen hinsichtlich des Typs der Relationsbedingung
bereitzustellen, die zwischen Objekten besteht, die durch Knoten
dargestellt sind, zwischen denen sich eine Verknüpfungsdarstellung erstreckt.
-
Eine
Verknüpfungsdarstellung „Wechselwirkungsumwandlung" 128 stellt
dar, dass eine Zahl von Instanzen eines ersten Objekts (dargestellt
durch den Zustandsknoten 115) in Instanzen eines zweiten
Objekts (dargestellt durch den Zustandsknoten 117) umgewandelt
wird. Die Verknüpfungsdarstellung „Wechselwirkungsumwandlung" 128 stellt
außerdem
dar, dass die Zahl der Instanzen des ersten Objekts, die in Instanzen des
zweiten Objekts umgewandelt werden, von jeweiligen Zahlen von Instanzen
sowohl des ersten Objekts als auch des zweiten Objekts abhängt. Die
Verknüpfungsdarstellung 128 ist
dadurch gekennzeichnet, dass der hintere Abschnitt relativ zu dem
hinteren Abschnitt der Verknüpfungsdarstellung 122 verdickt
ist und dass sich eine gekrümmte
Linie von einem Kreis in der Darstellung 128 zu dem Zustandsknoten 117,
der das zweite Objekt darstellt, erstreckt.
-
Aus
der oben stehenden Beschreibung der Verknüpfungsdarstellungen 118–128 geht
hervor, dass jede Verknüpfung
eine Relationsbedingung entweder des Typs „Wirkung" oder des Typs „Umwandlung" zwischen einem ersten
und einem zweiten Objekt darstellt. Außerdem stellt jede der Verknüpfungsdarstellungen 118–128 die
Relationsbedingung als entweder konstant oder proportional oder
auf einer Wechselwirkung beruhend dar.
-
Die
in 7 gezeigten Verknüpfungsdarstellungen 118–128 sind
beispielhafter Natur und es sind alle geeigneten Verknüpfungsdarstellungen
zur Darstellung der verschiedenen oben beschriebenen Relationsbedingungen
verwendbar. Es ist klar zu erkennen, dass die durch die verschiedenen
Verknüpfungsdarstellungen 118–128 dargestellten
Relationsbedingungen typischerweise durch den Modellersteller definiert
werden. Zu diesem Zweck sind in der unten stehenden Tabelle 1 Beispiele
für mathematische
Ausdrücke
von Relationsbedingungen, die durch die verschiedenen Verknüpfungsdarstellungen
darstellbar sind, bereitgestellt. Die in Tabelle 1 aufgeführten mathematischen
Ausdrücke
sind für
ein dynamisches Simulationsmodell vorgesehen, das durch den Zeitverlauf
gesteuert wird. Die Verknüpfungsdarstellungen 118–128 sind
ebenso in einem statischen Modell verwendbar, zum Beispiel in einem
Modell, in dem der Zeit ein durch den Benutzer eingegebener Wert
zuweisbar ist.
-
-
Wie
oben erwähnt,
schließt
jede der Verknüpfungsdarstellungen 118 bis 128 einen
Kreis ein, in dem eine grafische Identifizierung, die weitere Informationen
zu der Relationsbedingung bereitstellt, anzeigbar ist. Wie zum Beispiel 9 zeigt,
enthält
jede der Verknüpfungsdarstellungen
einen Buchstaben des Alphabets, der weitere Informationen zu der
Relationsbedingung zwischen zwei jeweiligen Objekten bereitstellt.
Eine GUI kann auch eine Indextabelle 174 bereitstellen
(siehe zum Beispiel 9), die einen Schlüssel zu
den Identifizierungen bereitstellt, die in den Kreisen der verschiedenen
Verknüpfungsdarstellungen
angezeigt sind.
-
Nun
wird auf 10 Bezug genommen. Dort wird
ein Flussdiagramm gezeigt, das ein Verfahren 180 gemäß einer
beispielhaften Ausführungsform
der Erfindung zur Generierung einer Anzeige (oder grafischen Darstellung)
eines Simulationsmodells veranschaulicht. In einer Ausführungsform
werden die Schritte des Verfahrens 180 durch eine GUI zusammen
mit dem in 3 veranschaulichten Software-Kern 52 ausgeführt. Das Verfahren
beginnt mit Schritt 182 und wird mit Schritt 184 fortgesetzt,
wo eine vorgegebene Menge von Relationsbedingungen, die zwischen
Objekten in dem Simulationsmodell bestehen können, definiert wird. Die definierten
Relationsbedingungen können
zum Beispiel die sechs Relationsbedingungen umfassen, die weiter oben
unter Bezugnahme auf 7 beschrieben sind, und sind
in Form von Gleichungen ausdrückbar.
In Schritt 186 wird eine jeweilige Verknüpfungsdarstellung
mit jeder der Relationsbedingungen der Menge verknüpft. So
sind zum Beispiel die Verknüpfungsdarstellungen 118 bis 128 jeweils
mit einer einzelnen Relationsbedingung der Menge verknüpfbar, wie
weiter oben unter Bezugnahme auf 7 beschrieben.
Nun soll ein minimaler Aufbau in Schritt 188 betrachtet
werden, wo die GUI Knotendarstellungen, zum Beispiel die Zustandsknoten 115 und 117,
für erste
und zweite Objekte anzeigt. Die Anzeige der Knotendarstellungen
erfolgt als Reaktion auf eine Eingabe durch einen Benutzer. In diesem
Schritt kann ein Benutzer auch weitere Informationen eingeben, zum
Beispiel Parameterwerte, Gleichungen und eine Dokumentation, um
die Diagrammobjekte (d.h. Zustands- und/oder Funktionsobjekte),
zum Beispiel die in 3 mit 54 bezeichneten,
zu definieren.
-
Nachdem
somit mindestens zwei Knotendarstellungen zur Anzeige durch die
GUI generiert und die Objekte, die diesen Knotendarstellungen zugrunde
liegen, definiert worden sind, wählt
der Benutzer dann in Schritt 190 aus den Verknüpfungsdarstellungen,
die mit der vorgegebenen Menge von Relationsbedingungen verknüpft sind,
eine Verknüpfungsdarstellung
aus, um eine gewünschte
Relationsbedingung zwischen den durch den ersten und den zweiten
Knoten dargestellten Objekten darzustellen (um zum Beispiel eine
Gleichung oder eine Klasse von Gleichungen zu beschreiben, die eine
Relation zwischen dem ersten und dem zweiten Objekt definieren).
In Schritt 192 kann ein Benutzer dann die Relationsbedingung
zwischen den Objekten in Form von Parameterwerten weiter definieren.
Die Relationsbedingung zwischen den Objekten ist zum Beispiel in
Form einer dynamischen Gleichung, zum Beispiel durch irgendeine
der in obiger Tabelle 1 bereitgestellten, ausdrückbar. Parameter, die die Relationsbedingung
definieren, sind unter Verwendung eines Parameterfensters 90,
zum Beispiel des in 5 gezeigten, eingeb- und definierbar.
Optional kann der Benutzer auch weitere Informationen beschreiben,
die in die Verknüpfungsdarstellung
einzuschließen
sind. Der Benutzer kann zum Beispiel eine Identifizierung beschreiben,
die in den Kreis irgendeiner der Verknüpfungsdarstellungen 118 bis 128 in 7 einzuschließen ist.
Das Verfahren 180 wird dann mit Schritt 194 fortgesetzt,
wo die GUI die ausgewählte
Verknüpfungsdarstellung
anzeigt, um die Relationsbedingung zu zeigen, die zwischen den Objekten
besteht, die durch den ersten und den zweiten Knoten dargestellt
sind.
-
Die
Verknüpfung
von unterschiedlichen Verknüpfungsdarstellungen
mit jeder einzelnen Relationsbedingung einer Menge ist dadurch besonders
vorteilhaft, dass ein Benutzer, der eine Anzeige eines Simulationsmodells
(zum Beispiel Simulationsmodell 150 in 9)
betrachtet, die Relationen zwischen den durch die Knoten dargestellten
Objekten unmittelbar feststellen und verstehen kann, ohne tiefer
in die Darstellung eindringen oder auf zusätzliche Informationsfenster
zugreifen zu müssen.
Der Einschluss von Identifizierungen in die jeweiligen Kreise jeder
der Verknüpfungsdarstellungen 118 bis 128 und
die Bereitstellung eines Schlüssels 174 für jede der
Identifizierungen tragen dazu bei, dass die Anzeige noch besser
verstanden wird.
-
11 ist
ein Flussdiagramm, das ein beispielhaftes Verfahren 190 zur
Auswahl einer Verknüpfungsdarstellung
aus einer vorgegebenen Menge zur Darstellung einer Relationsbedingung
zwischen Objekten, die durch einen ersten und einen zweiten Knoten
in einem Diagrammfenster dargestellt sind, veranschaulicht. Das Verfahren 190 beginnt
mit Schritt 200 und wird dann mit dem Auswahlblock 202 fortgesetzt,
wo ermittelt wird, ob die Relationsbedingung zwischen dem ersten
und dem zweiten Objekt eine Relation des Typs „Wirkung" oder des Typs „Umwandlung" ist. Wenn ermittelt
wird, dass die Relationsbedingung genau als Relation des Typs „Wirkung" klassifiziert ist,
wird das Verfahren mit dem Auswahlblock 204 fortgesetzt,
wo ermittelt wird, ob die Wirkung konstant ist. Wenn ja, wird in
Schritt 206 eine geeignete Verknüpfungsdarstellung (zum Beispiel Verknüpfungsdarstellung 118)
ausgewählt.
Wenn die Relation des Typs „Wirkung" nicht konstant ist,
wird das Verfahren 190 mit dem Auswahlblock 208 fortgesetzt,
wo ermittelt wird, ob die Wirkung des einen Objekts auf das andere
von dem Wert eines mit einem der Objekte verknüpften Parameters abhängt. Wenn
ja, wird das Verfahren mit Schritt 210 fortgesetzt, wo
eine geeignete Verknüpfungsdarstellung
(zum Beispiel Verknüpfungsdarstellung 120)
ausgewählt
wird. Als Alternative dazu wird das Verfahren 190 mit dem
Auswahlblock 212 fortgesetzt, wo ermittelt wird, ob die
Wirkung des einen Objekts auf das andere von Werten von Parametern
abhängt,
die mit jedem der Objekte verknüpft
sind. Wenn ja, wird das Verfahren 190 mit Schritt 214 fortgesetzt, wo
eine geeignete Verknüpfungsdarstellung
(zum Beispiel Verknüpfungsdarstellung 122)
ausgewählt
wird. Nach Schritt 214 endet das Verfahren mit Schritt 216.
-
Nun
kehren wir zu dem Auswahlblock 202 zurück. Wenn dort ermittelt wird,
dass die Relationsbedingung zwischen den Objekten keine Relationsbedingung
des Typs „Wirkung", sondern eine Relationsbedingung
des Typs „Umwandlung" ist, wird das Verfahren
nach dem Auswahlblock 202 mit dem Auswahlblock 218 fortgesetzt,
wo ermittelt wird, ob die Relationsbedingung des Typs „Umwandlung" erfordert, dass
eine konstante Zahl von Instanzen eines Objekts in Instanzen des
anderen Objekts umgewandelt wird. Wenn ja, wird das Verfahren mit
Schritt 220 fortgesetzt, wo eine geeignete Verknüpfungsdarstellung
(zum Beispiel Verknüpfungsdarstellung 214)
ausgewählt
wird. Als Alternative dazu wird das Verfahren mit dem Auswahlblock 222 fortgesetzt,
wo ermittelt wird, ob die Relationsbedingung des Typs „Umwandlung" bestimmt, dass die
Zahl der Instanzen des einen Objekts, die in Instanzen des ande ren
Objekts umgewandelt werden, von der Zahl der Instanzen eines der
beiden Objekte abhängt.
Wenn ja, wird das Verfahren mit Schritt 224 fortgesetzt,
wo eine geeignete Verknüpfungsdarstellung
(zum Beispiel Verknüpfungsdarstellung 126)
ausgewählt
wird. Als Alternative dazu wird das Verfahren mit dem Auswahlblock 226 fortgesetzt,
wo ermittelt wird, ob die Relationsbedingung des Typs „Umwandlung" erfordert, dass
die Zahl der Instanzen eines Objekts, die in Instanzen des anderen
Objekts umgewandelt werden, von jeweiligen Zahlen von Instanzen
in sowohl dem ersten als auch dem zweiten Objekt abhängt. Wenn
ja, wird eine geeignete Verknüpfungsdarstellung
(zum Beispiel Verknüpfungsdarstellung 128)
ausgewählt.
Nach Schritt 228 wird das Verfahren 190 mit Schritt 216 fortgesetzt,
wo es endet.
-
Nun
kehren wir zu 8 zurück. Es kann der Wunsch eines
Modellerstellers sein, eine Situation zu modellieren, in der eine
durch eine Verknüpfungsdarstellung 138 dargestellte
Relationsbedingung zwischen durch die Knoten 130 und 132 dargestellten
Objekten durch ein drittes Objekt, das durch den Knoten 134 dargestellt
ist, beeinflusst wird. Gemäß einer
Ausführungsform
der vorliegenden Erfindung kann das Einblenden einer Modifikatordarstellung 136 in
die relevante Verknüpfungsdarstellung 138 diesen
Einfluss des dritten Objekts auf die Relationsbedingung zwischen
dem ersten und dem zweiten Objekt darstellen. Wie außerdem zu sehen
ist, speist der das dritte Objekt darstellende Knoten 134 die
Modifikatordarstellung 136 mittels einer Verknüpfungsdarstellung 137.
Die Modifikatordarstellung 136 schließt eine Identifizierung ein,
die die Art der Wirkung des dritten Objekts auf die relevante Relationsbedingung
anzeigt. Die Modifikatordarstellung 136 kann zum Beispiel,
wie es in 8 der Fall ist, ein Symbol „+" einschließen, das
anzeigen kann, dass der dritte Knoten eine stimulierende Wirkung
auf die relevante Relationsbedingung hat. Wie in 9 zu
sehen ist, schließen die
Modifikatordarstellungen 136a und 136b jeweils
das Symbol „+" ein, das anzeigt,
dass ein drittes Objekt (d.h. ein Objekt „Kaninchennahrungsangebot") eine stimulierende
Wirkung auf die Produktion von Objektinstanzen „Junge Kaninchen" durch Objektinstanzen „Ausgewachsene
Kaninchen" hat.
Die Modifikatordarstellung 136 stellt eine analoge Situation
hinsichtlich der Wolfspopulation in dem Simulationsmodell 150 dar.
-
In
einer Ausführungsform
der vorliegenden Erfindung kann eine Modifikatordarstellung ein
Symbol „–" einschließen, um
darzustellen, dass ein drittes Objekt eine hemmende Wirkung auf
die Relationsbedingung zwischen einem Paar von Objekten hat. Außerdem kann
eine Modifikatordarstellung ein Symbol „–" einschließen, das anzeigt, dass das
dritte Objekt entweder eine hemmende oder eine stimulierende Wirkung
auf die Relation zwischen einem Paar von Objekten haben kann, und
zwar in Abhängigkeit
von dem Wert eines Parameters des ersten Objekts, des dritten Objekts
oder eines Modifikatorobjekts, das durch die Modifikatordarstellung
dargestellt ist. Zum Beispiel könnte
ein Parameter des dritten Objekts eine bestimmte Schwelle haben, unterhalb
der das dritte Objekt eine stimulierende Wirkung auf die Relationsbedingung
hat und oberhalb der das dritte Objekt eine hemmende Wirkung auf
die Relationsbedingung hat.
-
Zu
diesem Zweck wird nun auf 12 Bezug
genommen, die ein Verfahren 230 gemäß einer Ausführungsform
der Erfindung zur Anzeige einer Modifikatordarstellung, die den
Einfluss eines Objekts auf eine Relationsbedingung zwischen einem
Paar von Objekten darstellt, veranschaulicht. Das Verfahren beginnt
mit Schritt 232 und wird mit Schritt 234 fortgesetzt,
wo eine Knotendarstellung für
ein drittes Objekt des Simulationsmodells in einem Diagrammfenster
als Reaktion auf eine Eingabe durch einen Benutzer angezeigt wird. Das
Verfahren wird dann mit dem Auswahlblock 236 fortgesetzt,
wo ermittelt wird, ob das dritte Objekt eine durch eine geeignete
Verknüpfungsdarstellung
dargestellte Relationsbedingung zwischen zwei Objekten beeinflusst,
die in dem Diagrammfenster durch jeweilige Knotendarstellungen dargestellt
sind. Wenn nicht, endet das Verfahren mit Schritt 238.
Wenn ja, wird das Verfahren mit dem Auswahlblock 240 fortgesetzt,
wo ermittelt wird, ob dieser Einfluss hemmend ist. Wenn ja, wird
in Schritt 242 eine Modifikatordarstellung einschließlich einer
geeigneten Identifizierung (zum Beispiel "–„) ausgewählt. Als
Alternative dazu wird das Verfahren 230 mit dem Auswahlblock 244 fortgesetzt,
wo ermittelt wird, ob der Einfluss stimulierend ist. Wenn ja, wird
in Schritt 246 eine Modifikatordarstellung einschließlich einer
geeigneten Identifizierung (zum Beispiel "+„)
ausgewählt. Als
Alternative dazu wird das Verfahren mit dem Auswahlblock 248 fortgesetzt,
wo ermittelt wird, ob der Einfluss von einem Wert eines Parameters
des dritten Objekts abhängt.
Wenn ja, wird in Schritt 252 eine Modifikatordarstellung
einschließlich
einer geeigneten Identifizierung (zum Beispiel "=„)
ausgewählt.
-
Die
oben erwähnten
Identifizierungen sind natürlich
rein beispielhafter Natur und jede beliebige geeignete Identifizierung
ist in eine Modifikatordarstellung einschließbar, um ein Kennzeichen eines
zugrunde liegenden Modifikatorobjekts anzuzeigen. Zum Beispiel sind
Modifikatordarstellungen, die das „A" oder das „B" einschließen, auch dazu verwendbar,
das zugrunde liegende Modifikatorobjekt dahin gehend zu kennzeichnen,
dass es eine Relationsbedingung (zum Beispiel eine Relationsbedingung
des Typs „Wirkung" oder des Typs „Umwandlung") zwischen zwei Objekten „zulässt" oder „blockiert".
-
Nach
den Schritten 242, 246 oder 252 wird
das Verfahren 230 mit Schritt 252 fortgesetzt,
wo die ausgewählte
Modifikatordarstellung in eine Verknüpfungsdarstellung zwischen
Knoten für
das erste und das zweite Objekt eingeblendet und eine Verknüpfungsdarstellung
zwischen einer Knotendarstellung für das dritte Objekt und der
Modifikatordarstellung generiert wird. Das Verfahren endet dann
mit Schritt 238.
-
Die
Modifikatordarstellung stellt ein zugrunde liegendes Modifikatorobjekt
dar, das seinerseits in Form einer Gleichung ausdrückbar ist.
In einer Ausführungsform
kann das Modifikatorobjekt eine Funktion von Parametern in dem Simulationsmodell
umfassen. Ein Beispiel für
eine Gleichung, die ein Modifikatorobjekt ausdrückt, ist in unten stehender
Tabelle 2 bereitgestellt.
-
-
In
Tabelle 2 bezieht sich der „Verknüpfungsterm"-Ausdruck auf eine
Gleichung, die in einem Verknüpfungsobjekt
dargestellt ist, um eine Relationsbedingung zwischen zwei Objekten
auszudrücken.
Beispiele für solche
Gleichungen sind in oben stehender Tabelle 1 in der Spalte RELATIONSBEDINGUNG
(GLEICHUNG) bereitgestellt.
-
Anzeigefelder – Zugriff
auf ausgewählte
Parameter
-
Zwar
zeigt 9 zu Erklärungszwecken
ein einfaches Simulationsmodell 150, doch ist klar zu erkennen,
dass die oben beschriebenen grafischen Elemente auch zur Generierung
eines Modells für
ein sehr komplexes System, zum Beispiel ein Aspekt der menschlichen
Physiologie oder ein komplexes Fertigungssystem, verwendbar sind.
In einem solchen Fall kann das Simulationsmodell Hunderte oder sogar
Tausende von Objekten einschließen,
von denen jedes eine Anzahl von Parametern einschließen kann.
Zur Durchführung
von effektiven „Was-wäre-wenn"-Analysen unter Verwendung
eines Simulationsmodells ist es nützlich, vor der Ausführung einer
Simulationsoperation auf die Eingangswerte bestimmter Schlüsselparameter
zuzugreifen und diese zu beobachten und möglicherweise auch Ausgangswerte
für diese
Schlüsselparameter
am Ende einer solchen Operation zu beobachten. Da viele Parameter
in dem Ausdruck einer Relation zwischen zwei Objekten eingeschlossen
sind und durch diese bewirkt werden, kann es auch notwendig sein,
dass ein Modellersteller bestimmte Parameter an beiden Enden einer
solchen Relation untersucht. Es kann zum Beispiel der Wunsch eines
Modellerstellers sein, Parameter, die die Wirkungen eines spezifischen
Objekts auf eine Anzahl von anderen Objekten beschreiben, und auch
Parameter, die die Wirkungen dieser anderen Objekte auf das spezifische
Objekt beschreiben, zu untersuchen. Komplexe Modelle werden oft
auch entweder unter Verwendung von Software-Funktionen oder rein
nach den Gepflogenheiten des Modellerstellers in ein System von Teilmodellen
untergliedert. Demgemäß ist es
für den
Modellersteller oft von Nutzen, ausgewählte Parameter, die in einem
spezifischen Teilmodell enthalten sind, gleichzeitig zu betrachten.
Die Befriedigung dieses Bedürfnisses
ist durch die Tatsache erschwert, dass sich innerhalb der Grenzen
eines Teilmodells möglicherweise nicht
immer dieselben Parameter befinden, ein einzelner Parameter also
in vielen Teilmodellen erscheinen kann. Außerdem ändern sich oft die Grenzen
von Teilmodellen im Laufe der Entwicklung des Modells.
-
Es
kann notwendig sein, dass ein Modellersteller, der Modellier-Software
verwendet, ein Parameterfenster für jede Variable aufruft, auf
die der Modellersteller zugreifen bzw. die er betrachten will. Es
ist klar zu erkennen, dass die Generierung einer Anzahl solcher
Fenster, was bei einem komplexen Modell typischerweise der Fall
sein kann, schnell eine überladene
GUI ergibt. Die Verwaltung und Betrachtung einer solchen Vielzahl
von Parameterfenstern ist auch lästig.
-
Um
das Bedürfnis
nach dem Betrachten und Zugreifen auf eine durch den Benutzer ausgewählte Gruppe
von Parametern in einem Simulationsmodell zu befriedigen, schlägt die vorliegende
Erfindung die Bereitstellung eines Mechanismus vor, mit dessen Hilfe
der Modellersteller Gruppierungen von „Aliasnamen" von Parametern in
Fenstern oder Anzeigefeldern schaffen kann, die in ein Diagrammfenster
einblendbar oder neben diesem anzeigbar sind und die sich von dem
Diagrammfenster unterscheiden. Die vorliegende Erfindung schlägt außerdem vor,
einem Modellersteller die Schaffung von mehreren Zugriffsanzeigefeldern
zu gestatten, wobei jedes Anzeigefeld den Zugriff auf eine durch
den Benutzer ausgewählte
Gruppe von Parametern ermöglicht,
die einem Objekt oder einer Gruppe von Objekten in dem simulierten
Modell entnommen wurden. 13 stellt
Beispiele für
zwei Zugriffsanzeigefelder 260 und 262 bereit,
von denen jedes Informationen zu durch den Benutzer ausgewählten Parametern
von Objekten in dem beispielhaften Simulationsmodell 150,
das in 9 gezeigt wird, enthält. Genauer gesagt, zeigt das
Zugriffsanzeigefeld 260 Informationen zu verschiedenen
Parametern an, die die Kaninchenpopulation betreffen, die durch
die Objekte in dem Simulationsmodell 150 modelliert ist.
Entsprechend zeigt das Zugriffsanzeigefeld 262 Informationen
zu Parametern an, die die Raubtierpopulation betreffen, die durch
Objekte in dem Simulationsmodell 150 dargestellt ist. Jedes
der Zugriffsanzeigefelder 260 und 262 hat vier
Spalten mit Informationen, nämlich
eine Objektspalte 264, eine Symbolspalte 266,
eine Betriebswertspalte 268 und eine Einheitenspalte 270.
Die Objektspalte 264 schließt sowohl eine Knotendarstellung
(oder Ikone) als auch eine Textbeschreibung für das Objekt für jeden
in dem Anzeigefeld eingeschlossenen Parameter ein. Es ist offensichtlich,
dass Objekte, aus denen Parameter extrahierbar sind, Zustandsobjekte,
Funktionsobjekte, Verknüpfungsobjekte
und Modifikatorobjekte einschließen, die in 3 insgesamt
als Diagrammobjekte 54 bezeichnet sind. Die Symbolspalte 266 enthält ein spezifiziertes
Symbol für
jeden der in dem jeweiligen Zugriffsanzeigefeld eingeschlossenen
Para meter, während
die Betriebswertspalte 268 einen Betriebswert für jeden
der Parameter einschließt.
In einer Ausführungsform
der Erfindung umfasst jeder Betriebswert einen festen Eingangswert
für einen
Parameter und wird somit nicht durch die Ausführung einer Simulationsoperation
bewirkt. In einer anderen Ausführungsform
kann der Betriebswert einen aktuellen Wert für den Parameter umfassen und
somit einen Ausgangswert am Ende einer Simulationsoperation widerspiegeln.
In dieser Ausführungsform
kann sich im Verlauf einer Simulationsoperation, bei der das Simulationsmodell 150 verwendet
wird, der in der Betriebswertspalte 268 für jeden
Parameter angezeigte Betriebswert ändern und ist fortlaufend aktualisierbar.
Es ist außerdem
von Bedeutung, dass ein Benutzer auf einen Betriebswert des Parameters
in der Spalte 268 zugreifen kann, indem er einen Bereich
in einem Anzeigefeld auswählt,
in dem der relevante Betriebswert erscheint. Der Benutzer kann dann
in der Lage sein, diesen Parameter zu ändern und eine Simulationsoperation
zu wiederholen, womit er die Durchführung von „Was-wäre-wenn"-Analysen besonders vereinfacht. Die
Einheitenspalte 270 beschreibt die Einheiten für den relevanten Parameter.
-
Die
in 13 gezeigten Anzeigefelder 260 und 262 sind
auch deshalb vorteilhaft, weil sie es ermöglichen, dass eine durch den
Benutzer ausgewählte
Gruppe von Parametern insgesamt betrachtet wird. Die Anzeigefelder 260 und 262 stellen
für einen
Benutzer eine Anzahl von anderen Funktionen bereit, um die Benutzerfreundlichkeit
eines Simulationsmodells zu erhöhen.
Konkret kann der Benutzer ein Parameterfenster 90, zum
Beispiel das in 5 gezeigte, für den relevanten
Parameter aufrufen, indem er die Ikone für irgendein spezielles Objekt
in dem Anzeigefeld zum Beispiel durch einen Doppelklick auf diese
Ikone auswählt.
-
Jedes
der Zugriffsanzeigefelder 260 und 262 schließt außerdem Navigationsikonen 272 und 274 ein, die
durch den Benutzer zum Beispiel durch einen Doppelklick auf diese
Ikonen auswählbar
sind, um sich zwischen den Anzeigefeldern zu bewegen. Zum Beispiel
könnte
ein Benutzer, unter der Voraussetzung, dass das „Raubtier"-Anzeigefeld 260 gerade
aktiv ist und angezeigt wird (also ein Benutzer auf dieses zugreifen
kann) und dass das „Kaninchen"-Anzeigefeld 260 ebenfalls
durch die GUI definiert wurde, entweder die „Rückwärts"-Navigationsikone 272 oder
die „Vorwärts"-Navigationsikone 274 auswählen, um
das Anzeigefeld 262 in einen inaktiven Zustand und das
Anzeigefeld 260 in einen aktiven und angezeigten Zustand
zu über führen, in dem
ein Benutzer auf die Betriebswerte der Parameter des Anzeigefelds 260 zugreifen
kann. Es ist klar zu erkennen, dass dort, wo mehr als zwei Anzeigefelder
durch eine GUI definiert sind, die Navigationsikonen 272 und 274 ein
bequemes und benutzerfreundliches Verfahren zur Navigation zwischen
solchen Anzeigefeldern bereitstellen.
-
Jedes
Anzeigefeld schließt
auch eine Listenikone 276 ein, die sich zwischen den Navigationsikonen 272 und 274 befindet.
Nach einer Benutzerauswahl der Listenikone 276 in dem Anzeigefeld
wird ein Pull-down-Menü (nicht
gezeigt) einschließlich
einer Liste mit allen in der GUI vorhandenen Anzeigefeldern aufgerufen.
Die Liste kann einen Namen für
jedes vorhandene Anzeigefeld enthalten und eine Identifizierung,
zum Beispiel ein Kontrollzeichen, neben dem Namen des gerade aktiven
Anzeigefelds bereitstellen. Aus dieser Liste kann ein Benutzer dann
ein anderes Anzeigefeld als das aktive Anzeigefeld bestimmen.
-
Jedes
der Zugriffsanzeigefelder 260 und 262 stellt ein
zugrunde liegendes Anzeigefeldobjekt 56, zum Beispiel die
in 3 gezeigten, dar.
-
Unter
Bezugnahme auf 14 werden Verfahren zur Schaffung
eines Zugriffsanzeigefelds, zum Beispiel des in 13 gezeigten
Anzeigefelds 260, und eines verknüpften Anzeigefeldobjekts 56 und
zum Zugriff auf Parameter in einem solchen Anzeigefeld beschrieben.
Das Verfahren beginnt mit Schritt 282 und wird dann mit
Schritt 284 fortgesetzt, wo ein Anzeigefeld auf der GUI
angezeigt wird. Das Anzeigefeld stellt ein zugrunde liegendes Anzeigefeldobjekt 56 dar,
deren Funktionen der Empfang und die Speicherung von Eingangswerten für durch
den Benutzer bezeichnete Parameter in dem Simulationsmodell sind.
Das Anzeigefeld wird als Reaktion auf die Benutzerauswahl eines
geeigneten Menüeintrags
angezeigt. In Schritt 286 kennzeichnet ein Modellersteller
(auch als „Benutzer" bezeichnet) einen
Parameter eines Objekts zum Einschluss in das angezeigte Anzeigefeld.
Gemäß einem
beispielhaften Verfahren kann der Modellersteller einen in ein Anzeigefeld
einzuschließenden
Parameter kennzeichnen, indem er eine Zieh-und-Ableg-Operation ausführt, wobei
er das Symbol eines Parameters aus einem geeigneten Parameterfenster 90,
zum Beispiel dem in 5 gezeigten, verwendet. In einem
weiteren Verfahren kann der Modellersteller eine ähnliche
Zieh-und-Ableg-Operation ausführen,
indem er das Symbol für
einen Parameter, der in einem bereits definierten Anzeigefeld erscheint,
verwendet. Nun kehren wir zu 13 zurück, wo zu
sehen ist, dass jedes der Anzeigefelder 260 und 262 auch eine
Transferikone 278 in der oberen linken Ecke einschließt. Durch
Ausführen
einer Zieh-und-Ableg-Operation hinsichtlich der Transferikone 278 kann
ein Modellersteller alle Parameter in einem bestimmten Anzeigefeld in
einer Operation in ein anderes Anzeigefeld transferieren. Die Transferikone 278 ist
dadurch vorteilhaft, dass sie die relativ einfache Schaffung von
Duplikaten von Anzeigefeldern erlaubt. Nun kehren wir zu 14 zurück, wo in
Schritt 288 eine Ikone und ein Name für das Objekt, zu dem der Parameter
gehört,
ein Parametersymbol, ein Parameterbetriebswert und Parametereinheiten
in dem Anzeigefeld angezeigt werden, wie weiter oben unter Bezugnahme
auf die Zugriffsanzeigefelder 260 und 262 erklärt. In Schritt 290 wird über das
Anzeigefeld ein Wert für
mindestens einen Parameter als Betriebswert für den Parameter empfangen.
In einer Ausführungsform
ist der Betriebswert ein Eingangswert, der in dem Anzeigefeld bewahrt
und nicht durch die Ausführung
der Simulationsoperation bewirkt wird. Es ist natürlich klar
zu erkennen, dass ein Modellersteller auf diese Art und Weise Werte
für eine
beliebige Zahl von Parametern in einem Anzeigefeld eingeben kann.
In Schritt 292 wird als Reaktion auf die in Schritt 290 über das
Anzeigefeld erfolgte Eingabe des Werts der eingegebene Wert dem
geeigneten Parameter zugewiesen. In Schritt 294 leitet
ein Benutzer dann eine Simulationsoperation ein, in der der dem
Parameter zugewiesene Wert durch das Simulationsmodell als Eingangswert bei
der Ausführung
der Simulationsoperation verwendet wird. In einer Ausführungsform
wird der Betriebswert nicht als Reaktion auf die Ausführung der
Simulationsoperation geändert.
Jedoch sind in einer alternativen Ausführungsform, während der
Simulationsoperation und/oder bei ihrer Beendigung, Ausgangswerte
für Parameter,
die in dem Anzeigefeld eingeschlossen sind, in Schritt 196 in
der Betriebswertspalte 268 optional anzeigbar. Das Verfahren
endet dann mit Schritt 298.
-
Schichten – Speichern
von Werten für
eine Menge von Parametern
-
Wie
weiter oben unter Bezugnahme auf 5 erörtert, kann
jeder Parameter jedes Objekts in einem Simulationsmodell drei mit
ihm verknüpfte
Werte haben, nämlich
einen Betriebswert, einen Basiswert und einen Vergleichswert. Diese
werden in dem Einstellungsabschnitt 96 eines Parameterfensters 90 für den relevanten
Parameter angezeigt. Die Sammlungen von Betriebs-, Basis- und Vergleichswerten
für alle
Parameter in einem Simulationsmodell kann man passend als Betriebs-,
Basis- und Vergleichsfundament bezeichnen. Wie unter Bezugnahme
auf 5 beschrieben, beschreibt der Modellersteller
typischerweise bei der Erstellung eines Simulationsmodells die Basisparameterwerte,
die das Basisfundament ausmachen.
-
Wenn
man das in 9 gezeigte Simulationsmodell 150 als
Beispiel nimmt, dann ist klar zu erkennen, dass eine bestimmte Menge
von Basisparameterwerten (einer Basisfunktion) ein bestimmtes Modellszenario oder
eine bestimmte Modellbedingung darstellen kann. So können zum
Beispiel Parameter, die mit den durch die Knoten 162 bzw. 164 dargestellten
Objekten „Ausgewachsene
Wölfe" und „Junge
Wölfe" verknüpft sind, ein
Szenario darstellen, in dem die Raubtiere Wölfe umfassen. Jedoch ist dadurch,
dass den relevanten Parametern eine unterschiedliche Menge von Werten
zugewiesen wird, ein Szenario darstell- und modellierbar, in dem
die Raubtiere Kojoten umfassen. Entsprechend ist klar zu erkennen,
dass eine Menge von Werten für
eine bestimmte Menge von Parametern einem spezifischen Modellszenario
entsprechen kann. Solche Mengen von Parametern kann man als „Makros" zum Konfigurieren
des Modells betrachten. Um einem Benutzer das bequeme Ersetzen eines
Szenarios in dem Simulationsmodell durch ein anderes (zum Beispiel
Ersetzen eines Wolfraubtierszenarios durch ein Kojotenraubtierszenario)
zu gestatten, schlägt
die vorliegende Erfindung einen Mechanismus vor, mit dessen Hilfe
ein Modellersteller Gruppierungen von „Aliasnamen" von Parametern schaffen
kann, die man passend als „Schichten" bezeichnen kann.
Jede Schicht umfasst eine Menge von Parameterwerten, die an die
Stelle einer Menge von Parameterwerten in dem Basisfundament treten
können.
Im Gegensatz zu den weiter oben unter Bezugnahme auf 13 und 14 erörterten
Anzeigefeldern umfasst eine Schicht eine Menge von Parameterwerten,
die an einem anderen Ort als die Basiswerte gespeichert sind, um dem
Benutzer das Wechseln zwischen den in einer oder in mehreren Schichten
enthaltenen Werten und den Basiswerten zu gestatten.
-
Nun
wird auf 15 Bezug genommen, die eine
schematische Darstellung eines Basisfundaments 300 einschließlich einer
Basisschicht 302, die eine Menge von Basiswerten für eine vorgegebene
Menge von Parametern umfasst, zeigt. Wie zu sehen ist, ist die Basisschicht 302 durch
irgendeine von drei Schichten 304 bis 308 ersetzbar,
von denen jede eine Menge von alternativen Werten für die vorgegebene
Menge von Parametern enthält.
-
Mit
jeder der Schichten 304 bis 308 ist ein jeweiliges
Schichtanzeigefeld 310 bis 314 verknüpft, das einem
Modellersteller die Erstellung der jeweiligen Schicht und dann das
Betrachten der Werte, die den verschiedenen, in der verknüpften Schicht
eingeschlossenen Parametern zugeschrieben sind, gestattet. Jedes der
Schichtanzeigefelder 310 bis 314 hat das gleiche
Aussehen und die gleiche Anordnung wie die in 13 gezeigten
Zugriffsanzeigefelder, aber der Zweck und die Funktionsweise der
Schichtanzeigefelder unterscheiden sich fundamental von denen der
Zugriffsanzeigefelder. Wenden wir uns nun 16 zu,
wo beispielhafte Schichtanzeigefelder 310 und 312 veranschaulicht
sind. Jedes der Anzeigefelder 310 und 312 schließt ein:
- 1. Eine Objektspalte 320, die eine
Ikone und eine Textidentifizierung für das Objekt enthält, zu dem
dieser jeweilige Parameter gehört;
- 2. Eine Symbolspalte 322, die ein Symbol für jeden
in dem Anzeigefeld eingeschlossenen Parameter enthält;
- 3. Eine Schichtwertspalte 324, die einen Schichtwert
für jeden
Parameter des Anzeigefelds enthält;
und
- 4. Eine Einheitenspalte 326, die die Einheiten anzeigt,
in denen die jeweiligen Schichtwerte ausgedrückt werden.
-
Ein
Modellersteller kann auf die gleiche Art und Weise, die bei der
Erstellung eines Zugriffsanzeigefelds angewendet wird, Parameter
in ein Schichtanzeigefeld einschließen. Wie zu sehen ist, schließen die
in 16 gezeigten Schichtanzeigefelder 310 und 312 jeweils
eine identische Menge der Parameter ein, wobei aber jedes Schichtanzeigefeld 310 und 312 jedem
dieser Parameter unterschiedliche Schichtwerte zuschreibt. Konkret
schreibt das Schichtanzeigefeld 310 Werte den relevanten
Parametern zu, die in dem in 9 gezeigten
Simulationsmodell 150 ein Szenario modellieren, in dem
die Raubtiere Wölfe
umfassen. Entsprechend schreibt das Schichtanzeigefeld 310 Werte
den relevanten Parametern zu, die in dem Simulationsmodell 150 ein
Szenario modellieren, in dem die Raubtiere Kojoten umfassen. Zum
Beispiel gibt das Anzeigefeld 310 die Lebenserwartung von
Wölfen
mit 240 Monaten an, während
das Anzeigefeld 312 die Lebenserwartung von Kojoten mit 180 Monaten
angibt. Entsprechend wird für
Kojoten eine höhere
Fortpflanzungsrate angegeben als für Wölfe, und auch für das Heranreifen
von jungen Wölfen
zu ausgewachsenen Wölfen
wird ein längerer erforderlicher
Zeitraum angegeben als für
das Heranreifen von jungen Kojoten. Jedes der Schichtanzeigefelder
stellt ein zugrunde liegendes Schichtobjekt 58 dar (siehe 3).
-
17 zeigt
ein Konfigurationsanzeigefeld 330, das zur Anwendung und
Beendigung der Anwendung von Schichten in einem Simulationsmodell
verwendbar ist. Konkret schließt
das Konfigurationsanzeigefeld 330 einen Schichtauswahlabschnitt 332 ein,
der die Schichten auflistet, die auf ein Simulationsmodell anwendbar sind.
Unter Verwendung einer Ikone „Anwendung" 334 (d.h.
Ikone „+") und einer Ikone „Beendigung
der Anwendung" 336 (d.h.
Ikone „–") kann ein Benutzer
Schichten auf ein Simulationsmodell anwenden und deren Anwendung
beenden. Schichten, deren Anwendung ein Benutzer optional starten
oder beenden kann, sind in dem Listenabschnitt 337 aufgelistet,
der in dem veranschaulichten Beispiel keine Schichten auflistet.
Es ist jedoch klar zu erkennen, dass eine beliebige Anzahl von Schichtanzeigefeldern
in dem Listenabschnitt 337 benannt sein kann. Das Konfigurationsanzeigefeld 330 schließt außerdem einen
Fundamentabschnitt 338 ein, durch dessen Verwendung das
Betriebs-, Basis- oder Vergleichsfundament als das Fundament auswählbar ist, das
durch die ausgewählte
Schicht außer
Kraft gesetzt werden soll. Ein Zeitdauerabschnitt 340 gestattet
einem Benutzer die Angabe eines Zeitintervalls als die Dauer einer
Simulationsoperation, die das Simulationsmodell ausführen soll, während ein
Delta-Zeit-Abschnitt (dt) 342 einem Benutzer die Angabe
des Zeitinkrements gestattet, mit dem das Simulationsmodell durch
das in dem Zeitdauerabschnitt 340 angegebene Zeitintervall
fortschreitet. Ein Speicherabschnitt 344 gestattet einem
Benutzer die Angabe des Zeitinkrements, mit dem Werte für Parameter
in dem Simulationsmodell gespeichert werden. In dem veranschaulichten
Beispiel läuft
das Simulationsmodell über
eine Zeitdauer von 5000 Stunden in Inkrementen von einer Stunde
ab und Werte für
Parameter des Simulationsmodells werden in Inkrementen von jeweils
zehn Stunden gespeichert.
-
18 zeigt
ein Flussdiagramm, das ein Verfahren 350 gemäß einer
Ausführungsform
der vorliegenden Erfindung zur Verwaltung von Objekten in einem
Simulationsmodell veranschaulicht. Das Verfahren beginnt mit Schritt 352 und
wird dann mit Schritt 354 fortgesetzt, wo eine erste Menge
von Werten für
Parameter von Objekten in dem Simulationsmodell gespeichert wird.
Ein Modellersteller beschreibt typischerweise diese Anfangswerte
bei der Erstellung des Originalmodells. In Schritt 356 wird
ein Schichtanzeigefeld auf der GUI angezeigt, typischerweise als
Reaktion auf eine Benutzerangabe. Der Benutzer kann zum Beispiel
einen Menüeintrag
aus einem Pull-down-Menü auswählen, um
ein Schichtanzeigefeld zu schaffen. Sobald das Schichtanzeigefeld
auf der GUI angezeigt worden ist, wird in Schritt 358 mindestens
ein Parameter des Simulationsmodells zum Einschluss in das Schichtanzeigefeld
gekennzeichnet. Das kann auf die gleiche Art und Weise erfolgen
wie bei dem weiter oben unter Bezugnahme auf das Flussdiagramm in 14 beschriebenen Einschluss
von Parametern in Zugriffsanzeigefelder. In Schritt 360 und
als Reaktion auf die Kennzeichnung von Parametern durch den Benutzer
in Schritt 358 werden Objekt- und Parameteridentifizierungen
und die ersten Werte für
die ausgewählten
Parameter in dem Schichtanzeigefeld angezeigt. In Schritt 362 gibt
der Benutzer dann zweite (alternative) Werte für die ausgewählten Parameter
in die geeigneten Blöcke
in der Schichtwertspalte 324 des Schichtanzeigefelds ein.
In Schritt 364 erzeugt das Kernprogramm 52 ein
Schichtobjekt 58 und speichert die zweiten Werte für die ausgewählten Parameter
(zum Beispiel auf einer Festplatte) an einem Ort, der von dem Ort
getrennt ist, an dem die ersten Werte für die ausgewählten Parameter
gespeichert sind. Somit stehen die Anfangswerte für die ausgewählten Parameter
für einen
Abruf zu Verfügung
und werden nicht überschrieben.
In Schritt 366 wählt
der Benutzer entweder die Menge von ersten Werten oder irgendeine
Menge von alternativen Werten (zum Beispiel die Menge von zweiten
Werten) zur Verwendung in dem Simulationsmodell aus. Unter Verwendung
des Konfigurationsanzeigefelds 330 kann der Benutzer Schichten
in dem Simulationsmodell anwenden bzw. deren Anwendung beenden,
um dadurch unterschiedliche Szenarien zu modellieren, und „Was-wärewenn"-Analysen auf einfache
und bequeme Art und Weise durchführen.
In Schritt 368 führt
der Benutzer dann eine Simulationsoperation unter Verwendung des
Simulationsmodells einschließlich
der ausgewählten
Mengen-/Schichtparameterwerte durch Auswahl der in dem Konfigurationsanzeigefeld 330 bereitgestellten
Ikone „Start" 339 aus.
Das Verfahren 350 endet dann mit Schritt 360.
-
Überwachungsanzeigefelder
-
Die
vorliegende Erfindung schlägt
außerdem
einen Mechanismus vor, mit dessen Hilfe Parameter in einem Simulationsmodell
auf eine intuitive und nützliche
Art und Weise überwachbar
sind. In einer Ausführungsform
der vorliegenden Erfindung ist ein vorgeschlagener Mechanismus insbesondere
für das
Betrachten einer Kurve einer Transformation nützlich, die eine spezifizierte
Relation zwischen Parametern von Objekten in dem Simulationsmodell
ausdrückt.
Die Kurve der Transformation ist typischerweise die grafische Darstellung einer
Gleichung, in der die Parameter Koeffizienten umfassen. Als Alternative
dazu ist die Kurve auf eine andere Art und Weise, zum Beispiel durch
Experimentieren, bestimmbar und dann dazu verwendbar, die Relation zwischen
den relevanten Parametern auszudrücken. Nun wird auf 9 und 19 Bezug
genommen. 19 zeigt Überwachungsanzeigefelder 380 und 382,
die Kurven grafisch darstellen, die die Relationen zwischen Nahrungsangebot
und Fortpflanzung für
die Kaninchen- bzw. die Raubtierpopulation in dem Simulationsmodell 150 ausdrücken. Die
Relationen zwischen den Nahrungsangebots- und Fortpflanzungsparametern, die
durch die grafisch dargestellten Kurven der Überwachungsanzeigefelder 380 und 382 ausgedrückt werden, sind
durch die Modifikatorobjekte dargestellt, die durch die in 9 gezeigten
Modifikatordarstellungen 136a und 136b dargestellt
sind.
-
Jedes
der Überwachungsanzeigefelder 380 und 382 schließt eine
Kopfzeile 384 und eine Objektidentifizierung 386 ein,
wobei Letztere das Objekt kennzeichnet, das die in dem jeweiligen Überwachungsanzeigefeld
dargestellte Transformation darstellt. Entsprechend zeigt jedes
der Überwachungsanzeigefelder 380 und 382 an
dieser Stelle eine jeweilige Modifikatorikone. Das Verhalten jeder
Objektidentifizierung 386 entspricht dem Verhalten, das
weiter oben im Zusammenhang mit den Zugriffs- und Schichtanzeigefeldern
beschrieben ist, und durch einen Doppelklick auf diese Ikone erhält man das
gleiche Ergebnis wie durch einen Doppelklick auf eine entsprechende
Objektidentifizierung (oder Ikone) in einem Diagrammfenster.
-
Jedes
der Überwachungsanzeigefelder 380 und 382 schließt außerdem sowohl
eine X- als auch eine Y-Parameteridentifizierung 388 und 390 ein,
die die jeweiligen X- und
Y-Eingangsparameter für
die grafisch dargestellte Transformation kennzeichnen und auch jederzeit
aktuelle Zahlenwerte für
jeden dieser Parameter anzeigen. In jedem dieser Überwachungsanzeigefelder 380 und 382 ist
auch eine Überwachungslinie 392 bereitgestellt
und kennzeichnet den X-Eingangsparameterwert in der grafisch dargestellten
Transformation. Überwachungsanzeigefelder
sind zusammen mit einem weiteren Grafenanzeigefeld (siehe Erörterung
weiter unten unter Bezugnahme auf die 20a und 20b) zur Überwachung der Wechselwirkung
zwischen verschiedenen Parametern auf eine grafische und koordinierte
Art und Weise verwendbar. Ein Benutzer könnte somit zum Beispiel die
Wirkung der Zunahme einer ausgewachsenen Kaninchenpopulation auf
Raubtierfortpflanzungsraten grafisch überwachen. Diese Funktion ist
besonders nützlich
für die
Entwicklung dynamischer Modelle, die nichtlineare Funktionen einschließen, da
es oft nützlich
ist, den Versuch zu unternehmen, ein Ereignis in dem Modellverhalten
(zum Beispiel beobachtet in einer grafischen Darstellung eines Modellparameterwerts im
Verhältnis
zur Zeit) mit einem Wechsel von einem Bereich in einen anderen Bereich
in einer nichtlinearen Funktion zu korrelieren. Es kann zum Beispiel
der Wunsch eines Benutzers sein, zu bestimmen, ob die Nichtlinearität an einem
Sättigungspunkt
einer Sigmoidfunktion für
ein zeitliches Plateau in einem Ausgangswert eines Parameters verantwortlich
ist. Konkret ist es möglich,
eine solche Ursache-Wirkung-Relation zu kennzeichnen, wenn sich
der X-Parameterausgangswert der grafisch dargestellten Funktion
in einen gesättigten Bereich
der Sigmoidfunktion bewegt (der abhängige Parameterwert Y sich
also asymptotisch an einen Maximalwert Ymax annähert, wenn X einen Sättigungs punkt
XSättigung übersteigt),
während
gleichzeitig ein Ausgangsparameterwert seine Schwankungen einstellt
und während
eines Zeitintervalls konstant bleibt. Unter der Voraussetzung, dass
X ein Eingangsparameterwert (also zeitinvariant) des Modells ist,
muss man einfach nur auf eine grafische Darstellung des X-Ausgangsparameterwerts
im Verhältnis
zur Zeit schauen und diesen mit dem Wert XSättigung während der für den Ausgangsparameterwert
interessanten Zeitdauer vergleichen. Es ist klar zu erkennen, dass
der Prozess weitaus schwieriger ist, wenn es in einer Funktion keinen
kritischen Wert (zum Beispiel XSättigung)
gibt, sondern eher einen glatten Übergang zwischen Funktionsbereichen.
Die Schwierigkeit erhöht
sich ebenfalls, wenn ein Benutzer versucht, mehrere Ereignisse oder
mehrere nichtlineare Funktionen zu korrelieren, oder wenn eine Funktion
nicht ausschließlich
durch zeitvariante Parameter (zum Beispiel XSättigung) definiert ist, sondern
zumindest teilweise durch Modellparameterwerte definiert ist, die sich
mit der Zeit ändern.
In diesem Fall ist es nicht nur so, dass sich der unabhängige Ausgangsparameterwert X
mit der Zeit ändert,
sondern die Kurve der Transformation ändert sich ebenfalls mit der
Zeit.
-
Zur
Befriedigung der oben gekennzeichneten Bedürfnisse besteht der Vorschlag
der vorliegenden Erfindung in der Schaffung eines ersten grafischen
Benutzeroberflächenelements
(GUI) in Form eines Überwachungsanzeigefelds
(zum Beispiel des in 19 gezeigten), das eine nichtlineare
Funktion über
einen spezifizierten Bereich eines ausgewählten X-Parameterausgangswerts
grafisch darstellt, und in der Schaffung eines zweiten grafischen
Benutzeroberflächenelements
(GUI) in Form eines Grafenanzeigefelds 402 (zum Beispiel des
in 20a gezeigten), das mindestens
einen weiteren Modellparameterwert im Verhältnis zur Zeit grafisch darstellt.
Unter Verwendung eines Überwachungsanzeigefelds
zusammen mit einem Grafenanzeigefeld ist es möglich, auf koordinierte Art
und Weise Ausgangswerte von X- und Y-Parametern in einer nichtlinearen
grafischen Kurvendarstellung sowohl grafisch als auch direkt zu überwachen
und gleichzeitig den Wert eines weiteren abhängigen Parameterwerts in dem
Grafenanzeigefeld zu einem bestimmten Zeitpunkt zu beobachten. Eine Überwachungslinie 392 stellt
auch eine „Animation" der Funktion bereit,
die durch die grafische Kurvendarstellung eines Überwachungsanzeigefelds ausgedrückt wird,
wenn ein Simulationsmodell mit der Zeit fortschreitet oder wenn
einem Zeitparameter ein bestimmter Wert zugeschrieben wird.
-
In
einer anderen Ausführungsform
der vorliegenden Erfindung ist der Y-Parameterausgangswert als die Funktion
eines X-Parameterwerts und eines oder mehrerer anderer Parameterwerte
des simulierten Modells ausdrückbar,
und die in dem Überwachungsanzeigefeld
grafisch dargestellte Kurve kann somit bei einer Zeitänderung
während
einer Simulationsoperation variieren.
-
Zur
Veranschaulichung des oben beschriebenen Aspekts der vorliegenden
Erfindung wird auf die 20a und 20b Bezug genommen, die Bildschirmausdrucke
einer GUI 400 zeigen, die das in 9 gezeigte Simulationsmodell 150 in
Diagrammen darstellt. Wie zu sehen ist, schließt die GUI 400 ein
Diagrammfenster 401 ein, in das ein Grafenanzeigefeld 402,
ein Überwachungsanzeigefeld 404 und
ein Konfigurationsanzeigefeld 330 eingeblendet sind. Wie
aus dem Konfigurationsanzeigefeld 330 hervorgeht, befindet
sich in dem Simulationsmodell eine einzige Schicht, nämlich eine
Schicht „Wölfe", im angewandten
Zustand. Das Grafenanzeigefeld 402 stellt Parameter für „Junge
Raubtiere" und „Ausgewachsene
Raubtiere" über einen
Zeitverlauf grafisch dar, während
das Überwachungsanzeigefeld 400 die
Kurve anzeigt, die die Relation zwischen Parametern für „Raubtiernahrungsangebot" und „Fortpflanzungsregulierung" bezeichnet. Nun
wird zuerst auf 20a Bezug genommen.
Wie dort in dem Grafenanzeigefeld 402 angezeigt ist, ist
die Simulationsoperation über
einen Zeitraum von 74,6 Monaten abgelaufen. Diese Zeit ist durch
eine Zeitlinie 398 angezeigt. Es ist ersichtlich, dass
der in dem Grafenanzeigefeld 402 gezeigte „Junge
Raubtiere"-Parameter
gleich im Anschluss an diesen Zeitraum in der Simulationsoperation
einen Höchstwert
erreicht. Den Höchstwert
kann man einer Verringerung des Nahrungsangebots (d.h. Kaninchenpopulation)
auf ein Niveau, auf dem neue Geburten von Raubtieren nicht zu gewährleisten
sind, zuschreiben. Das Überwachungsanzeigefeld 400 veranschaulicht
die jeweiligen X- und Y-Parameterwerte (d.h. Parameterausgangswerte
für „Raubtiernahrungsangebot" und „Fortpflanzungsregulierung") zu diesem Zeitpunkt
unter Verwendung der Überwachungslinie 392,
die einen Punkt der grafisch dargestellten Kurve schneidet. Wie
zu sehen ist, hat der Y-Parameterausgangswert
zu diesem Zeitpunkt ein Plateau erreicht (siehe 20a),
wodurch angezeigt wird, dass sich die Geburtenziffer auf ihrem Höchststand
befindet, die Geburtenziffer also gesättigt ist. Nun wird auf 20b Bezug genommen, wo auf der GUI 400 die
Simulationsoperation nach 76,8 Monaten zu sehen ist und die Zeitlinie 398,
wie zu sehen ist, demgemäß den Höchstwert
des „Ausgewachsene
Raubtiere"-Parameters
hinter sich gelassen hat. Wie ebenfalls zu sehen ist, hat sich die Überwachungslinie 392 nach
links zurückgezogen,
wodurch angezeigt wird, dass der X-Parameterausgangswert zu diesem
Zeitpunkt keinen beachtenswerten Einfluss auf den relevanten Y-Parameterausgangswert
hat. Konkret werden die Wirkung der Verringerung des Nahrungsangebots
und das resultierende Absinken der Raubtiergeburtenziffer in dem Überwachungsanzeigefeld
widergespiegelt. Die Nettowirkung besteht darin, dass die Raubtiergeburtenziffer
auf Null absinkt, die Zahl der jungen Raubtiere im Verlauf ihres
Heranreifens zu ausgewachsenen Raubtieren abnimmt und die Population
der ausgewachsenen Raubtiere weiterhin anwächst, aber dann die Ausbildung
eines Plateaus beginnt.
-
Nun
wird auf 21a Bezug genommen, wo ein Verfahren 410 zur Überwachung
von Parametern in einem Simulationsmodell gemäß einer Ausführungsform
der vorliegenden Erfindung veranschaulicht ist. Das Verfahren 410 beginnt
mit Schritt 412 und wird dann mit Schritt 414 fortgesetzt,
wo eine Relationsfunktion zwischen ersten und zweiten Parametern
von Objekten in dem Simulationsmodell definiert wird. Es ist möglich, die
Relation zum Beispiel als mathematische Gleichung auszudrücken oder
als Alternative dazu durch Experimentieren zu erkennen. In einer
Ausführungsform
der vorliegenden Erfindung wird die Relationsbedingung zwischen
den ersten und zweiten Parametern als nichtlineare Transformation
ausgedrückt.
Das Verfahren 410 wird dann mit Schritt 416 fortgesetzt,
wo in einem Überwachungsanzeigefeld
eine erste grafische Darstellung generiert wird, wobei diese erste
grafische Darstellung die definierte Relationsfunktion zwischen
den ersten und zweiten Parametern veranschaulicht. Das Verfahren 410 wird
dann mit Schritt 418 fortgesetzt, wo in einem Grafenanzeigefeld
eine zweite grafische Darstellung generiert wird, wobei die zweite
grafische Darstellung einen dritten Parameterwert im Verhältnis zur
Zeit grafisch darstellt. In Schritt 420 wird unter Verwendung
des Simulationsmodells, das erste, zweite und dritte Parameter einschließt, eine
Simulationsoperation ausgeführt. In
Schritt 422 werden in der ersten grafischen Darstellung
die jeweiligen Werte der ersten und zweiten Parameter angegeben
und in der zweiten grafischen Darstellung wird ein entsprechender
Wert für
den dritten Parameter angegeben. Wie weiter oben erläutert, sind
die Werte der ersten, zweiten und dritten Parameter unter Verwendung
der Überwachungslinie 392 und
der Zeitlinie 398 angebbar. Das Verfahren 410 endet
dann mit Schritt 423.
-
In
einer alternativen Ausführungsform
der vorliegenden Erfindung könnte
die erste grafische Darstellung die Relation zwischen drei Parametern
darstellen und die X-Achse
des Überwachungsgrafen
eine Funktion von zwei Parametern sein. In diesem Fall würde sich
die in dem Überwachungsanzeigefeld
gezeigte grafische Darstellung während
einer Simulationsoperation mit fortschreitender Zeit ändern.
-
21b veranschaulicht ein weiteres Verfahren 424 zur Überwachung
von Parametern in einem Simulationsmodell. Das Verfahren 424 beginnt
mit Schritt 425 und wird dann mit Schritt 426 fortgesetzt,
wobei eine vorgegebene Relationsfunktion zwischen ersten und zweiten
Parametern von Objekten in dem Simulationsmodell zum Beispiel als
mathematische Gleichung definiert wird. In Schritt 427 wird
eine erste grafische Darstellung der definierten Relationsfunktion
zwischen den ersten und zweiten Parametern generiert. In Schritt 428 wird
in einem Grafenanzeigefeld eine zweite grafische Darstellung eines
dritten Parameterausgangswerts im Verhältnis zur Zeit generiert. In
Schritt 429 wird ein Ausgangswert für entweder den ersten, den
zweiten oder den dritten Parameter spezifiziert. Ein Benutzer kann
zum Beispiel eine Überwachungslinie 392 in
einem Überwachungsanzeigefeld
zu einer bestimmten Stelle vorschieben oder dahin zurückziehen,
um dadurch erste und zweite Parameterausgangswerte zu spezifizieren.
Als Alternative dazu könnte
der Benutzer einen Zeitwert in der zweiten grafischen Darstellung
und auf diese Art und Weise einen Ausgangswert für den dritten Parameter spezifizieren.
-
In
Schritt 430 werden jeweilige Ausgangswerte der ersten und
zweiten Parameter in der ersten grafischen Darstellung in dem Überwachungsanzeigefeld
angegeben. Die Überwachungslinie 392 ist
zum Beispiel vorschieb- oder zurückziehbar,
um Ausgangswerte der ersten und zweiten Parameter anzugeben. Auf
koordinierte Art und Weise wird entsprechend ein Ausgangswert des
dritten Parameters in der zweiten grafischen Darstellung angegeben,
indem zum Beispiel eine Stelle in der zweiten grafischen Darstellung
grafisch hervorgehoben wird. Auf diese Art und Weise werden Ausgangswerte
der ersten, zweiten oder dritten Parameter entsprechend dem spezifizierten
Ausgangswert angegeben. Das Verfahren endet dann mit Schritt 431.
-
Es
ist klar zu erkennen, dass das unter Bezugnahme auf 21a beschriebene Verfahren 410 zeitgesteuert
ist, wobei die angegebenen Ausgangswerte der ersten, zweiten oder
dritten Parameter durch den Zeitverlauf gesteuert werden oder indem
einem Zeitparameter ein ausgewählter
Zeitwert zugeschrieben wird. Im Gegensatz dazu ist das weiter oben
unter Bezugnahme auf 21b beschriebene Verfahren 424 parametergesteuert,
und zwar dadurch, dass die Ausgangswerte für die ersten, zweiten oder
dritten Parameter durch einen spezifizierten Ausgangswert für entweder
den ersten, den zweiten oder den dritten Parameter bestimmt werden.
-
Beispielhaftes
Simulationsmodell
-
22 veranschaulicht
ein weiteres beispielhaftes Simulationsmodell 430, das
unter Verwendung der in den 6 bis 8 veranschaulichten
grafischen Elemente und Notation erstellt wurde und das ebenfalls ein
Raubtier-Beutetier-System modelliert. Die Funktionsweise des Simulationsmodells 430 ist
unter Verwendung der Bedeutungen, die den verschiedenen oben beschriebenen
grafischen Elementen zugeschrieben sind, ohne weiteres feststellbar.
-
23 zeigt
eine GUI 440, die ein Diagrammfenster 442 einschließt, in dem
das Simulationsmodell 430 angezeigt wird. Die GUI 440 umfasst
außerdem
ein erstes Zugriffsanzeigefeld 444, das Parameterinformationen
und Betriebswerte für
Parameter einschließt,
die sich auf die Geburten- und Sterblichkeitsziffern der Raubtiere
(d.h. Wölfe)
in dem Simulationsmodell 430 beziehen. Wie außerdem zu
sehen ist, befindet sich das Zugriffsanzeigefeld 444 in
einem aktiven Zustand. Wie zu sehen ist, schließt ein zweites Zugriffsanzeigefeld 446 Parameterkennzeichnungs-
und Betriebswerte für
Parameter ein, die sich auf die Anfangspopulationen von Raubtieren
und Beutetieren in dem Simulationsmodell 430 beziehen.
Wie außerdem
zu sehen ist, befindet sich das Zugriffsanzeigefeld 446 in
einem inaktiven Zustand. Es ist klar zu erkennen, dass durch das
Gruppieren der gezeigten Parameter in den jeweiligen Zugriffsanzeigefeldern 444 und 446 der
Zugriff auf und das Betrachten von zugehörigen Parameterwerten vereinfacht
und zweckdienlich gestaltet wird.
-
24 zeigt
eine GUI 450, die ein Diagrammfenster 452 einschließt, in dem
das Simulationsmodell 430 erneut angezeigt wird. Die GUI 450 schließt ein Schichtanzeigefeld 454 ein,
das Parameterkennzeichnungsinformationen und Schichtwerte anzeigt,
die die Raubtiere in dem Simulationsmodell 430 als „kühne" Wölfe kennzeichnen.
Die GUI 440 schließt
außerdem
ein Schichtanzeigefeld 456 ein, das Parameterkennzeichnungsinformationen
und Schichtwerte anzeigt, die die Raubtiere in dem Simulationsmodell 430 als „feige" Wölfe kennzeichnen.
Ein Konfigurationsanzeigefeld 460 ist ebenfalls in der
GUI 450 eingeschlossen und enthält einen Schichtabschnitt 462,
in dem die durch das Schichtanzeigefeld 456 dargestellte
Schicht (d.h. die Schicht „Feige
Wölfe"), wie zu sehen ist,
die angewandte bzw. ausgewählte
Schicht ist. Entsprechend werden bei der Ausführung einer Simulationsoperation,
bei der das Simulationsmodell 430 verwendet wird, die in
dem Schichtanzeigefeld 456 gezeigten Schichtwerte den relevanten
Parametern zugeschrieben.
-
Rechnersystem
-
25 zeigt
eine schematische Darstellung eines Rechnersystems 500,
in dem Software zur Durchführung
der oben erörterten
Verfahren und zur Generierung einer GUI gemäß der Lehre der vorliegenden
Erfindung laufen kann. Das Rechnersystem 500 schließt einen
Prozessor 502, einen Hauptspeicher 503 und einen
statischen Speicher 504 ein, die über einen Bus 506 miteinander
kommunizieren. Wie außerdem
zu sehen ist, schließt
dieses System 500 ein Bildschirmgerät 508 (zum Beispiel
eine Flüssigkristallanzeige
(LCD) oder eine Kathodenstrahlröhre
(CRT)) ein, auf der eine erfindungsgemäße GUI anzeigbar ist. Das Rechnersystem 500 schließt auch
ein alphanumerisches Eingabegerät 510 (zum
Beispiel eine Tastatur), ein Cursorsteuergerät 512 (zum Beispiel
eine Maus), ein Plattenlaufwerkgerät 514, ein Signalerzeugungsgerät 516 (zum
Beispiel ein Lautsprecher) und ein Netzschnittstellengerät 518 ein.
Das Plattenlaufwerkgerät 514 schließt ein rechnerlesbares
Medium 515 ein, auf dem Software 520 zur Durchführung jedes
oben beschriebenen Verfahrens und zur Generierung der verschiedenen
GUI-Elemente, die die Erfindung umfassen, gespeichert ist. Wie außerdem zu sehen
ist, ist die Software 520 vollständig oder zumindest teilweise
in dem Hauptspeicher 503 und/oder dem Prozessor 502 gespeichert.
Außerdem
ist es möglich,
die Software 520 über
das Netzschnittstellengerät 518 zu
senden oder zu empfangen. Im Sinne dieser Beschreibung soll der
Begriff „rechner lesbares
Medium" sämtliche
Medien einschließen,
die dazu in der Lage sind, eine Befehlsfolge zur Durchführung der
erfindungsgemäßen Verfahren
zu speichern oder zu codieren, sowie optische und Magnetplatten
und Trägerwellensignale einschließen, ohne
auf diese beschränkt
zu sein.
-
Ein
Verfahren zur Verwaltung von Objekten in einem Simulationsmodell
ist somit beschrieben worden. Zwar ist die vorliegende Erfindung
unter Bezugnahme auf spezifische beispielhafte Ausführungsformen
beschrieben worden, jedoch ist klar ersichtlich, dass diese Ausführungsformen
verschiedenen Modifizierungen und Änderungen unterziehbar sind,
ohne von dem Schutzbereich der Erfindung abzuweichen. Demgemäß sind die
Beschreibung und die Zeichnungen als veranschaulichend und nicht
als einschränkend
zu betrachten.