-
HINTERGRUND DER ERFINDUNG
-
Gebiet der Erfindung
-
Die
vorliegende Erfindung betrifft Auslösungslogikkonditionen im allgemeinen
und Systeme und Verfahren zur Spezifikation und zum Übersetzen von
Auslösungslogikkonditionen
im besonderen.
-
Beschreibung des Hintergrunds
-
In
durch Benutzer programmierbaren Systemen, die in modernen Verkehrssystemen
verwendet werden, legt ein Benutzer vorab Konditionen fest, unter
denen bestimmte Aktionen auszuführen
sind, wenn das Fahrzeug in Bewegung ist oder sich auf die Bewegung
vorbereitet. Beispielsweise kann ein Benutzer spezifizieren, daß ein Alarm
ertönt,
wenn sowohl die Geschwindigkeit des Fahrzeugs 100 Meilen pro Stunde übersteigt
als auch die Bremsentemperatur 150 °C übersteigt. Sobald die Kondition
spezifiziert ist, kann sie in eine höhere Computersprache übersetzt
werden, die wiederum zur Ausführung durch
einen Bordcomputer des Verkehrssystems in eine Maschinensprache übersetzt
wird. Diese Konditionen werden üblicherweise
als Auslösungslogikkonditionen
bezeichnet, da die Erfüllung
der Konditionen die durchzuführende
Aktion auslöst.
Solche durch den Benutzer programmierbaren Systeme sind insbesondere
in der Luftfahrtindustrie beliebt, da die Person, die über das
relevante Wissen über
die Luftfahrtindustrie verfügt,
um die angemessenen Konditionen zu spezifizieren, über keine
ausreichende Programmiererfahrung verfügt, um direkt ein Computerprogramm
zum Implementieren der Kondition zu schreiben.
-
Bisher
wurden verschiedene Verfahren verwendet, um dem Benutzer zu ermöglichen,
Auslösungslogikkonditionen
zu spezifizieren, die automatisch in Computerprogramm- oder computerinterpretierbare
Tabellen übersetzt
werden. Ein Beispiel ist eine halbformale Sprache von „wenn ...
dann"-Aussagen.
Beispielsweise kann ein Benutzer die oben beschriebene Kondition
mit einer Aussage spezifizieren, wie etwa:
WENN (GESCHWINDIGKEIT > 100 UND TEMP > 150) DANN ALARM.
-
Ein
anderes bekanntes Verfahren umfaßt die Verwendung eines Flußdiagramms,
wie z. B. des in 1 dargestellten Flußdiagramms,
um die oben beschriebene Kondition zu spezifizieren. Ein drittes
bekanntes Verfahren umfaßt
die Verwendung eines Logikplans, wie z. B. des in 2 dargestellten
Logikplans, um die Kondition zu spezifizieren. Diese Verfahren basieren
jedoch auf Programmiertechniken oder elektrischen Modellen und sind
häufig
keine repräsentativen
Modelle der physischen Phänomene, die
der Benutzer zu definieren versucht.
-
Entsprechend
besteht ein Bedarf nach einem System und Verfahren für Benutzer
zum Definieren von einfachen Auslösungslogikkonditionen, die repräsentativer
für die
physischen Phänomene
sind, die der Benutzer zu definieren versucht. Ferner besteht ein
Bedarf für
ein solches System und ein Verfahren, die die Spezifikation von
komplexen Konditionen ermöglichen,
die beispielsweise aus einfachen Konditionen aufgebaut sind.
-
Das
US-Patent Nr. 5,740,047 offenbart
ein System und Verfahren zur Steuerung des Roll- und Flugverkehrs innerhalb einer vorab
festgelegten Raumkurve oder eines Bereichs. GPS-basierte Daten werden verwendet, um
eine dreidimensionale Karte zu definieren und zu erstellen, Standorte
zu definieren, Flugbahnen, Geschwindigkeiten, lineare Geschwindigkeiten,
statische und dynamische Gebiete und Räume oder Rauminhalte, einschließlich als
Sperrbereiche gekennzeichnete Bereiche, zu berechnen. Die GPS-basierten
Daten werden darin verwendet, um Navigationsverarbeitung, wie z.
B. Kollisionsvorhersage und -vermeidung, und Wegpunktnavigation
durchzuführen.
-
KURZE ZUSAMMENFASSUNG DER
ERFINDUNG
-
In
einem ersten Aspekt betrifft die vorliegende Erfindung ein System
zur Spezifikation einer Auslösungslogikkondition,
umfassend eine Schnittstelle und ein Konditionseditormodul, das
mit der Schnittstelle verbunden ist, dadurch gekennzeichnet, daß das Konditionseditormodul
einem Benutzer des Systems ermöglicht,
eine Auslösungslogikkondition über die
Schnittstelle durch Verwendung einer Anordnung aus mehreren Kacheln
(tiles) zu definieren, die eine logische Beziehung für die Kacheln
gemäß einer
vorab festgelegten Notation definieren, so daß mindestens eine Kachel entweder
eine Kondition oder eine durchzuführende Aktion repräsentiert,
und wobei das Konditionseditormodul die mit der Anordnung von Kacheln
verbundene Auslösungslogikkondition
auf der Grundlage der vorab festgelegten Notation erkennt.
-
In
einem zweiten Aspekt betrifft die vorliegende Erfindung ein Verfahren
zur Spezifikation einer komplexen Auslösungslogikkondition, umfassend
und gekennzeichnet durch: graphisches Generieren einer Anordnung
von mehreren Kacheln, wobei graphisches Generieren ein graphisches
Generieren der Anordnung der Vielzahl von Kacheln gemäß einer
vorab festgelegten Notation umfaßt, so daß mindestens eine Kachel eine
von einer Kondition und einer durchzuführenden Aktion repräsentiert, und
Erkennen der mit der Anordnung verbundenen Auslösungslogikkondition, wobei
Erkennen ein Erkennen der mit der Anordnung verbundenen Auslösungslogikkondition
auf der Grundlage der vorab festgelegten Notation umfaßt.
-
Die
vorliegende Erfindung stellt einen Vorteil gegenüber Mechanismen zur Spezifikation
von Auslösungslogikkonditionen
nach dem Stand der Technik bereit, da sie Spezifikation von Auslösungslogikkonditionen
ermöglicht,
die repräsentativer
für die
physischen Phänomene
sind, die der Benutzer zu definieren versucht. Diese und andere
Vorteile der vorliegenden Erfindung werden aus der nachstehenden ausführlichen
Beschreibung deutlich.
-
BESCHREIBUNG DER FIGUREN
-
Zum
deutlichen Verständnis
und zur einfachen Umsetzung der vorliegenden Erfindung wird die vorliegende
Erfindung in Verbindung mit den folgenden Figuren beschrieben. Es
zeigt:
-
1 ein
Flußdiagramm
eines Verfahrens nach dem Stand der Technik zum Definieren von Auslösungslogikkonditionen,
-
2 einen
Logikplan eines Verfahrens nach dem Stand der Technik zum Definieren
von Auslösungslogikkonditionen,
-
3 ein
Blockdiagramm eines Systems gemäß einer
Ausführungsform
der vorliegenden Erfindung,
-
4a-c
Beispiele für
zweidimensionale Konditionsgebiete, die mit dem Editormodul für einfache
Konditionen des Systems von 3 definiert wurden,
-
5a-f
Beispiele für
Auslösungslogikkonditionen,
die mit dem Editormodul für
komplexe Konditionen des Systems von 3 definiert
wurden,
-
6a-c
Diagramme von Konditionen, die verwendet werden, um eine beispielhafte
Auslösungslogikkondition
gemäß einer
Ausführungsform der
vorliegenden Erfindung zu spezifizieren,
-
7a-b
Diagramme anderer Konditionen, die verwendet werden, um die beispielhafte
Auslösungslogikkondition
der 6a-c zu spezifizieren,
-
8a-b
Diagramme anderer Konditionen, die verwendet werden, um eine andere
beispielhafte Auslösungslogikkondition
gemäß einer
Ausführungsform
der vorliegenden Erfindung zu definieren, und
-
9 ein
Diagramm des Prozeßablaufs durch
den Prozessor des Systems von 3 gemäß einer
Ausführungsform
der vorliegenden Erfindung.
-
AUSFÜHRLICHE BESCHREIBUNG DER ERFINDUNG
-
Es
ist zu beachten, daß die
Figuren und Beschreibungen der vorliegenden Erfindung vereinfacht wurden,
um für
das deutliche Verständnis
der vorliegenden Erfindung relevante Elemente darzustellen, während zum
Zweck der Deutlichkeit andere, in einem üblichen Computersystem vorkommende
Elemente entfernt wurden. Beispielsweise werden im Prozessor des
Systems der vorliegenden Erfindung enthaltene spezielle Einzelheiten
und Module des Betriebssystems nicht dargestellt. Fachleute werden jedoch
erkennen, daß diese
und andere Elemente wünschenswert
sein können,
um ein System herzustellen, das die vorliegende Erfindung umfaßt. Da solche
Elemente jedoch unter Fachleuten bekannt sind und sie kein besseres
Verständnis
der vorliegenden Erfindung ermöglichen,
wird eine Erörterung
solcher Elemente hierin nicht bereitgestellt.
-
3 ist
ein Blockdiagramm eines Systems 10 zur Spezifikation von
Auslösungslogikkonditionen gemäß einer
Ausführungsform
der vorliegenden Erfindung. Das System 10 umfaßt einen
Prozessor 12 und eine Schnittstelle 14. Wie nachstehend
beschrieben, kann ein Benutzer des Systems 10 die Schnittstelle 14 verwenden,
um einfache und komplexe Auslösungslogikkonditionen
zu definieren, die durch den Prozessor 12 erkannt und in
eine ausführbare
Form übersetzt
werden. Das System 10 der vorliegenden Erfindung kann verwendet
werden, um Auslösungslogikkonditionen
für Verkehrssysteme
zu definieren, jedoch können
Vorteile der vorliegenden Erfindung bei jeder Anwendung umgesetzt
werden, die Spezifikation von Auslösungslogikkonditionen erfordert,
einschließlich
zum Beispiel medizinischer Überwachungssysteme.
-
Der
Prozessor 12 kann unter Verwendung zum Beispiel eines Computers,
wie z. B. eines Arbeitsplatzrechners, eines Personalcomputers, eines Mikroprozessors
oder einer anwendungsspezifischen integrierten Schaltung (ASIC)
implementiert werden. Der Prozessor 12 umfaßt ein Editormodul
für einfache
Konditionen (SCEM) 16, ein Editormodul für komplexe
Konditionen (CCEM) 18, ein Übersetzungsmodul 20,
eine Datenbank 22 und eine Übersetzungsausgabedatenbank 23.
Die Module 16, 18, 20 können als
vom Prozessor 12 auszuführender Programmcode
unter Verwendung jeder geeigneten Computersprache, wie z. B. Visual
Basic®,
ausgeführt
werden. Zusätzlich
kann der Softwarecode der Module 16, 18, 20 beispielsweise
herkömmliche
oder objektorientierte Programmiertechniken verwenden. Der Programmcode
kann als Reihe von Instruktionen und Befehlen auf einem computerlesbaren
Medium, wie z. B. einem Random-Access-Memory (RAM), einem Read-Only-Memory (ROM),
einem Magnetmedium, wie z. B. einer Festplatte oder einer Diskette, oder
einem optischem Medium, wie z. B. einem CD-ROM, gespeichert werden.
-
Die
Schnittstelle 14 steht in Verbindung mit dem Prozessor 12 und
kann einen Monitor 24, eine Tastatur 26 und eine
Maus 28 umfassen. Wie nachstehend beschrieben, kann der
Monitor 12 die graphischen Darstellungen der gemäß der vorliegenden
Erfindung gebildeten Auslösungslogikkonditionen
deutlich anzeigen, und die Tastatur 26 und Maus 28 können zur
Eingabe der graphischen Darstellungen der Konditionen verwendet
werden.
-
Gemäß einer
Ausführungsform
ermöglicht das
Editormodul für
einfache Konditionen (SCEM) 16 einem Benutzer des Systems 10,
einfache Konditionen zu spezifizieren, die gemäß einem multidimensionalen
Koordinatensystem definiert sind. Die einfachen Konditionen können beispielsweise
relativ zu einem zweidimensionalen Koordinatensystem definierte
Zwei-Parameter-Konditionen sein, relativ zu einem dreidimensionalen
Koordinatensystem definierte Drei-Parameter-Konditionen, usw. Der
Benutzer kann die Multi-Parameter-Konditionen unter Verwendung der
Schnittstelle 14 auf der Grundlage eines vorab festgelegten
Satzes von Attributbefehlen bilden, die durch das SCEM 16 erkennbar
sind. Auf der Grundlage des Satzes von Attributbefehlen kann das SCEM 16 die
definierten Multi-Parameter-Konditionen erkennen und danach die
definierten Konditionen in der Datenbank 22 speichern.
-
Die
Multi-Parameter-Konditionen können
als Konditionsgebiete genannte Gebiete des Koordinatensystems spezifiziert
sein. Die Achsen des Koordinatensystems können jeweils den Parameter
der Multi-Parameter-Kondition entsprechen und können alle Parameter sein, die Überwachung
erfordern, was für
ein Verkehrssystem der Luftfahrtindustrie Parameter wie z. B. Zeit,
Höhe, Lage,
Fluggeschwindigkeit und Triebwerkkonditionen, wie z. B. Abgastemperaturen,
Luftdruck, Bremsentemperatur usw., sein können. Die durch das Konditionsgebiet
definierte Kondition kann erfüllt
sein, wenn beispielsweise der Schnittpunkt der Parameter innerhalb
des Konditionsgebiets liegt.
-
Die
Konditionsgebiete können
begrenzt und unbegrenzt sein. Das heißt, manche Seiten (die unbegrenzten
Seiten) der Konditionsgebiete können sich
unendlich ausdehnen. Außerdem
können
die Achsen des Koordinatensystems absolute oder relative Achsen
sein. Das heißt,
wenn der Wert des Parameters überwacht
werden soll, muß die
diesem Parameter entsprechende Achse als absolut definiert sein,
und wenn die Veränderung
des Werts des Parameters überwacht
werden soll, muß die
diesem Parameter entsprechende Achse als relativ definiert sein.
-
4a-c
stellen Beispiele für
Arten von Zwei-Parameter-Konditionsgebieten bereit, die durch einen
Benutzer des Systems 10 der vorliegenden Erfindung definiert
werden können,
wobei die schraffierten Gebiete die Konditionsgebiete darstellen.
Die gestrichelte Grenzlinie in den 4b und 4c stellen
unbegrenzte Gebiete dar. Gemäß einer
Art von Konditionsgebiet können
die in den 4a-c dargestellten Konditionen
zu jedem Zeitpunkt erfüllt sein,
zu dem der Schnittpunkt der jeweils durch die X- und Y-Achse dargestellten
Parameter sich innerhalb des Konditionsgebiets befindet.
-
Gemäß einer
anderen Art von Konditionsgebiet kann die Kondition immer dann erfüllt sein,
wenn der Schnittpunkt der Parameter innerhalb der Kondition oberhalb
des Bereichs von Parametern bleibt, die durch das Konditionsgebiet
definiert sind. Beispielsweise angenommen, daß bei jedem der in den 4a-c
dargestellten X-Y-Koordinatensystemen die Y-Achse Geschwindigkeit
in Meilen pro Stunde repräsentiert
und die X-Achse relative Zeit repräsentiert. Gemäß einem
solchen Beispiel kann das in 4a gezeigte
Konditionsgebiet erfüllt
sein, wenn in der Zeitspanne x1 bis x2 die Geschwindigkeit zwischen y1 und
y2 liegt, das in 4b gezeigte
Konditionsgebiet kann erfüllt
sein, wenn in der Zeitspanne x1 bis x2 die Geschwindigkeit größer als y1 ist,
und das in 4c gezeigte Konditionsgebiet
kann erfüllt
sein, wenn in der Zeitspanne x1 bis x2 die Geschwindigkeit nicht zwischen y1 und y2 liegt.
-
Es
ist zu beachten, daß Konditionen
relativ zu einem bestimmten Parameter, wie z. B Temperatur, spezifiziert
werden können,
indem eine der Achsen des Koordinatensystems als dieser Parameter gekennzeichnet
ist und die Dimension des Konditionsgebiets in Bezug auf die andere
Achse als unendlich klein definiert ist, wie in den nachstehend
weiter beschriebenen 6a-b dargestellt.
-
Gemäß einer
anderen Ausführungsform
können
die Konditionsgebiete definiert werden, um die Art und Weise zu
erfassen, in der die Parameter in das Konditionsgebiet „eintreten" und aus diesem „austreten". Beispielsweise
kann unter Bezugnahme auf 4a das Konditionsgebiet
so definiert werden, daß die
Kondition erfüllt
ist, wenn die Geschwindigkeit zum Zeitpunkt x1 weniger
als y1 beträgt, nach Zeitpunkt x1 in den Bereich y1 bis
y2 eintritt und bis zum Zeitpunkt x2 im Bereich y1 bis
y2 bleibt. Dies kann als „Eintritt
unten"-Kondition
bezeichnet werden und unterscheidet sich von den voranstehend beschriebenen
Konditionsgebieten, da die Erfüllung
der Bedingung von der Art und Weise abhängig ist, in der die Kondition
in das Konditionsgebiet „eintritt". Ebenso kann eine
als „Eintritt
oben"-Kondition definiert werden.
Gemäß einem
anderen Beispiel kann das Konditionsgebiet so definiert werden,
daß die
Kondition erfüllt
ist, wenn zum Zeitpunkt x1 die Geschwindigkeit
im Bereich von y1 bis y2 liegt
und vor dem Zeitpunkt x2 die Geschwindigkeit
y2 übersteigt.
Dies kann als „Austritt
oben"-Kondition
bezeichnet werden. Ebenso kann eine als „Austritt unten"-Kondition definiert
werden. Außerdem
können ähnliche
Eintritts- und Austrittskonditionen für die in den 4b und 4c gezeigten
Konditionsgebiete sowie für
Konditionen auf der Grundlage von drei oder mehr Parametern definiert
werden.
-
Zusätzlich zu
solchen Eintritts- und Austrittskonditionen können auch „Eintritts-/Austritts"-Konditionen spezifiziert werden. Beispielsweise
kann wieder unter Bezugnahme auf 4a das
Konditionsgebiet so definiert werden, daß sie erfüllt ist, wenn zum Zeitpunkt
x1 die Geschwindigkeit weniger als y1 beträgt, nach
dem Zeitpunkt x1 y1 übersteigt
und zu einem Zeitpunkt x2 Geschwindigkeit
y2 übersteigt.
Dies kann als „Eintritt
unten/Austritt oben"-Kondition bezeichnet werden.
Gemäß einem
weiteren Beispiel kann der Konditionsbereich erfüllt sein, wenn zum Zeitpunkt
x1 die Geschwindigkeit größer als
y2 ist, nach dem Zeitpunkt x1 weniger
als y2 beträgt und zu einem Zeitpunkt x2 weniger als Geschwindigkeit y1 beträgt. Dies kann
als „Eintritt
oben/Austritt unten"-Kondition
bezeichnet werden. Ähnliche
Konditionen können
in Bezug auf die in den 4b und 4c gezeigten Konditionsgebiete
sowie für
Konditionen auf der Grundlage von drei oder mehr Parametern definiert werden.
-
Entsprechend
kann das SCEM 16 einem Benutzer des Systems 10 ermöglichen,
durch graphisches Definieren der Attribute des entsprechenden Konditionsgebiets
in Bezug auf ein multidimensionales Koordinatensystem unter Verwendung
der interaktiven Vorrichtung 14 eine Multi-Parameter-Kondition
zu bilden. Der Benutzer kann die Tastatur 26 und die Maus 28 verwenden,
um mit vorab festgelegten Attributbefehlen, die durch das SCEM 16 erkannt werden,
Konditionsgebiete zu definieren, die auf dem Monitor 24 angezeigt
werden. Der Satz von Attributbefehlen kann, wie vorstehend beschrieben,
Befehle in Bezug auf die Grenzen der Konditionsgebiete, die Dimensionen
der Konditionsgebiete, Eintritts-/Austrittsbeschränkungen
und die Arten der Achsen des Koordinatensystems umfassen.
-
Gemäß einer
Ausführungsform
können
die Dimensionsattribute der Konditionsgebiete in Textform, graphisch
oder durch eine Kombination von beidem definiert werden. Zur Spezifikation
der Dimensionsattribute des Konditionsgebiets in Textform kann das
SCEM 16 dem Benutzer ermöglichen, die Koordinaten des
Konditionsgebiets auf der Tastatur 26 einzugeben. Zur graphischen
Spezifikation der Dimensionsattribute kann das SCEM 16 einem
Benutzer beispielsweise ermöglichen,
wie unter Fachleuten bekannt, eine bestimmte Form mit der Maus 28 auf
dem Monitor 24 zu ziehen, zu spannen oder zu zeichnen.
Zum Definieren, ob bestimmte Seiten der Form begrenzt oder unbegrenzt
sind, kann das SCEM 16 außerdem dem Benutzer ermöglichen,
verschiedene Linienarten, wie z. B. durchgezogene und gestrichelte
Linien, zu verwenden, um begrenzte bzw. unbegrenzte Dimensionen
zu repräsentieren.
-
Ferner
kann das SCEM 16 dem Benutzer ermöglichen, absolute und relative
Achsen unter Verwendung von Linien mit unterschiedlichen Merkmalen,
wie z. B. unterschiedlichen Achsenenden (z. B. Pfeile und Nicht-Pfeile),
verschiedenen Farben und verschiedenen Linienarten (z. B. durchgezogen
und gestrichelt) zu definieren, um absolute bzw. relative Achsen
zu repräsentieren.
Alternativ kann das SCEM 16 dem Benutzer ermöglichen,
die Achsenart mit der Tastatur 26 in Form von Text einzugeben
oder die Art mit der Maus 28 aus einem auf dem Monitor 24 angezeigten
Drop-Down-Fenster auszuwählen.
Außerdem
kann das SCEM 16 dem Benutzer ermöglichen, die durch die Achsen
repräsentierten
Parameter entweder in Textform über
die Tastatur 26 oder graphisch über die Maus 28 unter
Verwendung beispielsweise eines Drop-Down-Fensters zu spezifizieren.
Um die verschiedenen Arten von Konditionsgebieten (z. B. wie voranstehend
beschrieben Eintritts-, Austritts-, und Eintritts-/Austrittsbeschränkungen)
zu spezifizieren, kann das SCEM 16 dem Benutzer zusätzlich ermöglichen,
die verschiedenen Arten von Konditionsgebieten entweder unter Verwendung
der Tastatur 26 oder der Maus 28 zu spezifizieren.
Um die verschiedenen Arten und Attribute der Gebiete auf dem Monitor
zu unterscheiden, können
unterschiedliche Farben oder unterschiedliche Schraffierungen verwendet
werden, um die verschiedenen Arten von Konditionsgebieten zu repräsentieren.
-
Das
System 10 der vorliegenden Erfindung kann dem Benutzer
ermöglichen,
abhängig
von der jeweiligen Anwendung eine oder eine Mehrzahl von Multi-Parameter-Konditionen
zu spezifizieren. Der Monitor 24 kann das multidimensionale
Koordinatensystem anzeigen und der Benutzer kann die Konditionsgebiete,
wie bereits beschrieben, definieren, indem er entweder die Tastatur 26 oder
die Maus 28 verwendet, um die angemessenen Attributbefehle einzugeben.
Auf der Grundlage des Satzes erkennbarer Attributbefehle erkennt
das SCEM 16 die Kondition, die den definierten Konditionsgebieten
entspricht, und speichert die eingegebene Information in der Datenbank 22.
-
Das
Editormodul für
komplexe Konditionen (CCEM) 18 kann verwendet werden, um
gemäß einer vorab
festgelegten Notation Auslösungslogikkonditionen
zu spezifizieren, die durch das CCEM 18 auf der Grundlage
der vorab festgelegten Notation erkannt und in die Datenbank 22 eingegeben
werden. Die Auslösungslogikkonditionen
können
ein Anzahl oder ein „Mosaik" einfacher Multi-Parameter-Konditionen
oder ein Konditionsverschachtelung genanntes Mosaik kombinierter
Konditionen umfassen. Die Auslösungslogikkondition
kann auch Aktionskonditionen umfassen, die bestimmte bei Erfüllung der
Konditionen durchzuführende
Aktionen umfassen. Das Mosaik von Konditionen kann beispielsweise
als ein virtuelles, sich in zwei Richtungen erstreckendes Raster
von Kacheln definiert sein. Die Kombination und Anordnung der Kacheln
kann verwendet werden, um eine bestimmte logische Beziehung zwischen
Konditionen zu repräsentieren,
die gemäß dem Wert
jeder Kachel und ihrer Beziehung zu den anderen Kacheln in der Anordnung
erfüllt
sein können.
-
Gemäß einer
Notation ist die durch die Anordnung der Kacheln repräsentierte
logische Beziehung im allgemeinen durch Lesen der Kacheln von links
nach rechts und von oben nach unten bestimmt. Benachbarte Kacheln
in einer horizontalen Beziehung mit einer ersten Linienart zwischen
sich, wie z. B. eine einzelne Linie, können so definiert sein, daß sie eine
logische Beziehung UND haben, und benachbarte Kacheln in einer vertikalen
Beziehung ebenfalls mit der ersten Linienart zwischen sich, können so
definiert sein, daß sie
eine logische Beziehung ODER haben. Eine zweite Linienart, wie z.
B. eine doppelte Linie, zwischen benachbarten Kacheln (entweder
horizontal oder vertikal) kann eine Umkehrungsbeziehung repräsentieren.
Das heißt,
gemäß einer
Ausführungsform
kann eine doppelte Linie zwischen benachbarten Kacheln die Umkehrung
entweder der Kachel auf der linken Seite oder der Kachel unten anzeigen.
Zusätzlich
kann eine dritte Linienart, wie z. B. eine gestrichelte Linie, eine
Rangordnungsbeziehung repräsentieren.
Das heißt,
eine gestrichelte Linie zwischen benachbarten Kacheln kann eine höhere Rangfolge
in der logischen Beziehung repräsentieren.
Es ist zu beachten, daß gemäß einer
solchen beispielhaften Notation eine Linie zwischen benachbarten
Kacheln eine Kombination dieser drei Linienarten aufweisen und folglich
einer Kombination von Merkmalen, wie z. B. doppelten gestrichelten
Linien, entsprechen kann.
-
Die 5a-f
stellen Beispiele für
verschiedene, mit dem CCEM 18 unter Verwendung der oben beschriebenen
beispielhaften Notation definierbare Auslösungslogikkonditionen dar.
Gemäß einer
solchen Notation entspricht die in 5a gezeigte
Auslösungslogikkondition
in Anbetracht der gestrichelten Linie zwischen den horizontal benachbarten
Kacheln A und B der logischen Beziehung „(A und B) oder C". Die in 5b gezeigte
Kondition entspricht in Anbetracht der gestrichelten Linie zwischen
den vertikal benachbarten Kacheln B und C der logischen Beziehung „A und
(B oder C)". Die
in 5c gezeigte Kondition entspricht in Anbetracht
der gestrichelten Linie zwischen den horizontal benachbarten Kacheln
A und B und der doppelten durchgezogenen Linien zwischen den vertikal
benachbarten Kacheln B und C der logischen Beziehung „(A und
B) oder (nicht C)". Die
in 5d gezeigte Kondition entspricht in Anbetracht
der doppelten durchgezogenen Linien zwischen den horizontal benachbarten
Kacheln A und B und der gestrichelten Linie zwischen den vertikal
benachbarten Kacheln B und C der logischen Beziehung „nicht
A und (B oder C)".
Die in 5e gezeigte Kondition entspricht
in Anbetracht der doppelten gestrichelten Linien zwischen den horizontal
benachbarten Kacheln A und B der logischen Beziehung „((nicht
A) und B) oder C".
Die in 5f gezeigte Kondition entspricht
in Anbetracht der doppelten gestrichelten Linien zwischen den vertikal
benachbarten Kacheln B und C der logischen Beziehung „A und (B
oder (nicht C))".
Natürlich
können
andere als die in den 5a-f dargestellten logischen
Beziehungen unter Verwendung dieser Notation definiert werden. Zusätzlich können dieselben
logischen Beziehungen unter Verwendung einer anderen Notation definiert werden.
-
Die
durch die Anordnung der Kacheln definierte Auslösungslogikkondition ist erfüllt, wenn
die durch die Anordnung (oder das Mosaik) der Kacheln repräsentierte
logische Beziehung erfüllt
ist. Gemäß einer
Ausführungsform
kann jede in der Anordnung enthaltene Kachel beispielsweise repräsentieren:
- • eine
einfache Multi-Parameter-Kondition, wie voranstehend beschrieben,
unter Verwendung des SCEM 16 spezifiziert, die, wenn sie
erfüllt
ist, zu einem „Wahr"-(oder ersten binären) Wert
führt, und,
wenn sie nicht erfüllt
ist, zu einem „Falsch"-(oder zweiten binären) Wert
führt,
- • eine
durchzuführende
Aktion, die, wenn sie erfolgreich ausgeführt wird, zu einem Wert „Wahr", andernfalls zu
einem Wert „Falsch" führt,
- • eine
gemäß einer
anderen Notation, wie z. B. einer Programmiersprache, beschriebene
Kondition oder Aktion, die zu einem Wert „Wahr" oder „Falsch" führt,
- • ein
Mosaik aus kombinierten Konditionen, die zu einem Wert „Wahr" oder „Falsch" führen, oder
- • eine „Wiederholen"-Kachel, die ihren
horizontal benachbarten Kacheln als Wert „Wahr" und ihren vertikal benachbarten Kacheln
als Wert „Falsch" erscheint.
-
Das
CCEM 18 gemäß einer
Ausführungsform
der vorliegenden Erfindung kann einem Benutzer des Systems 10 ermöglichen,
Arten von Kacheln in einer Anordnung entweder in Textform oder graphisch
zu definieren. Beispielweise kann das CCEM 18 Drop-Down-Fenster einsetzen,
um dem Benutzer zu ermöglichen,
die Art der Kachel zu spezifizieren, wie z. B. eine einfache, mit
dem SCEM 16 gebildete Kondition, eine durchzuführende Aktion,
ein anderes Mosaik aus kombinierten Konditionen, eine gemäß einer
anderen Notation beschriebene Kondition oder eine „Wiederholen"-Kachel. Sobald die
Art der Kachel spezifiziert ist, kann das CCEM 18 dem Benutzer
ermöglichen,
die Konditionen der Kachel zu definieren. Bei einer Kachel zum Beispiel,
die mit einer mit dem SCEM 16 definierten Multi-Parameter-Kondition
verbunden ist, kann das CCEM 18 dem Benutzer ermöglichen,
durch Eingeben eines Identifikationscodes für die Kondition mit der Tastatur 26 oder durch
Ziehen der auf dem Monitor 24 angezeigten graphischen Repräsentation
der Multi-Parameter-Kondition
mit der Maus 28 zu der Kachel die Kachel mit der entsprechenden
Kondition zu verbinden. Ebenso kann der Benutzer ein Mosaik von
kombinierten Konditionen mit einer bestimmten Kachel verbinden.
Für eine „durchzuführende Aktion"-Kachel kann das
CCEM 18 dem Benutzer ermöglichen,
die mit der Kachel verbundene Aktion mit der Tastatur 26 einzugeben
oder eine Aktion mit der Maus 28 aus einer vorab festgelegten
Liste von in einem Drop-Down-Fenster angezeigten Aktionen auszuwählen.
-
Eine
bestimmte Kachel kann gemäß einer Ausführungsform
der vorliegenden Erfindung unter Verwendung der oben beschriebenen
beispielhaften Notation als erfolgreich definiert sein, wenn eine
der folgenden Bedingungen wahr ist:
- • es gibt
keine Kachel auf der linken Seite und der Kachelwert ist „Wahr",
- • die
Kachel auf der linken Seite war erfolgreich und der Kachelwert ist „Wahr",
- • die
Kachel unten war erfolgreich und es gibt keine Kachel auf der linken
Seite,
- • die
Kachel unten war erfolgreich und es gibt eine gestrichelte Linie
auf der linken Seite, oder
- • die
Kachel unten war erfolgreich und die Kachel auf der linken Seite
war erfolgreich.
-
Wenn
die Kachel eine durchzuführende
Aktion spezifiziert, wird die spezifizierte Aktion gemäß einer
Ausführungsform
der vorliegenden Erfindung unter Verwendung der oben beschriebenen
beispielhaften Notation durchgeführt,
wenn eine der folgenden Bedingungen wahr ist:
- • die Kachel
auf der linken Seite war erfolgreich,
- • die
Kachel unten war erfolgreich und es gibt keine Kachel auf der linken
Seite,
- • die
Kachel unten war erfolgreich und es gibt eine gestrichelte Linie
auf der linken Seite, oder
- • die
Kachel unten war erfolgreich und die Kachel auf der linken Seite
war erfolgreich.
-
Unter
Verwendung einer vorab festgelegten Notation, wie die oben beschriebene
beispielhafte Notation, kann das CCEM 18 einem Benutzer
des Systems 10 ermöglichen,
Auslösungslogikkonditionen
zu bilden, die auf der Grundlage der vorab festgelegten Notation durch
das CCEM 18 erkannt und in der Datenbank 22 gespeichert
werden. Sobald beispielsweise die Kacheln, wie voranstehend beschrieben,
spezifiziert wurden, kann das CCEM 18 dem Benutzer ermöglichen,
die Kacheln auf dem Monitor 24 anzuordnen und beispielsweise
bestimmte Linienarten zwischen den Kacheln bereitzustellen, um die
gewünschte
logische Beziehung zwischen den Kacheln bereitzustellen, wobei die
Anordnung und die Linien eine durch das CCEM 18 erkennbare,
vorab festgelegte Bedeutung haben. Gemäß einer Ausführungsform
der vorliegenden Erfindung kann das CCEM 18 programmiert
sein, andere als die beschriebene beispielhafte Notation zu erkennen,
wie z. B. eine andere vorab festgelegte Notation oder eine benutzerdefinierte
Notation.
-
Als
Beispiel dafür,
wie das System 10 verwendbar ist, um eine Auslösungslogikkondition
zu bilden, betrachten wir das voranstehend beschriebene Beispiel,
insbesondere, daß ein
Alarm auszulösen ist,
wenn die Geschwindigkeit 100 Meilen pro Stunde übersteigt
und die Bremsentemperatur 150 °C übersteigt.
Um eine solche Auslösungslogikkondition
umzusetzen, kann ein Benutzer des Systems 10 die in den 6a-c
gezeigten Konditionen bilden. Die 6a und 6b stellen
einfache, mit dem SCEM 16 spezifizierte Zwei-Parameter-Konditionen
dar. Bei jeder definierten einfachen Kondition ist die X-Achse so
definiert, daß sie
relative Zeit repräsentiert.
Bei der in 6a gezeigten Kondition ist die
Y-Achse als absolute
Geschwindigkeit (in Meilen pro Stunde) definiert und das Konditionsgebiet
ist als eine unbegrenzte Linie definiert, die sich entlang der Y-Achse von
der X-Y-Koordinate (0, 100) bis unendlich erstreckt. Entsprechend
ist die in 6a spezifizierte Kondition zu
jedem Zeitpunkt erfüllt,
an dem die Geschwindigkeit 100 Meilen pro Stunde übersteigt.
In ähnlicher
Weise ist die Y-Achse bei der in 6b spezifizierten
Kondition als absolute Bremsentemperatur (in Grad C) definiert und
das Konditionsgebiet ist als eine unbegrenzte Linie definiert, die
sich entlang der Y-Achse von der X-Y-Koordinate (0, 150) bis unendlich
erstreckt. Entsprechend ist die in 6b spezifizierte
Kondition zu jedem Zeitpunkt erfüllt,
an dem die Bremsentemperatur 150 °C übersteigt.
-
6c stellt
eine mit dem CCEM 18 definierte Auslösungslogikkondition bereit,
um die dem Beispiel angemessene logische Beziehung umzusetzen. Kachel
1 entspricht der in 6a spezifizierten Kondition
und Kachel 2 entspricht der in 6b spezifizierten
Kondition. Kachel 3 ist als Aktion des Auslösens des Alarms definiert.
Da unter Verwendung der oben beschriebenen beispielhaften Notation
Kacheln 1, 2 und 3 in einer horizontalen Beziehung sind (was eine
UND-Beziehung repräsentiert),
und da einzelne durchgezogene Linien zwischen den jeweiligen Kacheln
bereitgestellt sind, ist die für
Kachel 3 spezifizierte Aktion folglich durchzuführen, wenn beide mit den Kacheln
1 und 2 verbundenen Konditionen erfüllt sind.
-
Die 7a-b
stellen ein weiteres Beispiel dafür bereit, wie die Auslösungslogikkondition
des oben beschriebenen Beispiels unter Verwendung des Systems 10 der
vorliegenden Erfindung umgesetzt werden kann. Ein Benutzer des Systems 10 kann
die einfache, in 7a dargestellte Zwei-Parameter-Kondition
bilden, wobei die Y-Achse absolute Geschwindigkeit (in Meilen pro
Stunde) repräsentiert und
die X-Achse absolute Bremsentemperatur (in Grad C) repräsentiert.
Das Konditionsgebiet kann, wie in 7a dargestellt,
so definiert sein, daß sich eine
Ecke an der X-Y-Koordinate (150, 100) befindet und es sich unbegrenzt
in sowohl die positive X- als auch die positive Y-Richtung erstreckt.
In diesem Fall sind keine Eintritts-/Austrittsbeschränkungen
notwendig, so daß die
Kondition zu jedem Zeitpunkt erfüllt
ist, zu dem der Schnittpunkt der beiden Parameter innerhalb des
Konditionsgebiets liegt. Entsprechend ist die Kondition zu jedem
Zeitpunkt erfüllt,
bei dem die Geschwindigkeit 100 Meilen pro Stunde übersteigt
und die Bremsentemperatur 150 °C übersteigt.
-
7b stellt
die mit dem CCEM 18 definierte Auslösungslogikkondition bereit,
wobei Kachel 1 der in 7a dargestellten einfachen Kondition
entspricht, und Kachel 2 der Aktion des Auslösens des Alarms entspricht.
Da die Kacheln 1 und 2 in einer horizontalen Beziehung stehen, die
gemäß der oben beschriebenen
beispielhaften Notation ein logische Beziehung UND repräsentiert,
wird die durch Kachel 2 spezifizierte Aktion durchgeführt, wenn
Kachel 1 erfüllt
ist.
-
Die 8a-b
stellen ein Beispiel dafür
bereit, wie das System 10 der vorliegenden Erfindung verwendet
werden kann, um eine Auslösungslogikkondition
zu bilden, wie die, daß,
wenn die Abgastemperatur für
einen Zeitraum, der länger
als 2 Sekunden dauert, 700 °C übersteigt,
eine Meldung generiert wird. Die einfache, in 8a gezeigte
Zwei-Parameter-Kondition
kann mit dem SCEM 16 gebildet werden durch Definieren der
X-Achse als relative Zeit (in Sekunden) und die Y-Achse als absolute
Abgastemperatur (in Grad C). Zusätzlich
können
die Dimensionsattribute des Konditionsgebiets so spezifiziert werden,
daß es
Ecken bei den X-Y-Koordinaten (0,700) und (2,700) hat, und der obere „Rand" des Konditionsgebiets
unbegrenzt ist. Ferner kann das Konditionsgebiet unter Verwendung
einer Austrittsbeschränkung
auf der X-Achse (rechter Rand des Gebiets) definiert werden, so
daß die
dem Konditionsgebiet entsprechende Kondition erfüllt ist, sobald die Abgastemperatur
während
des gesamten Zeitfensters von 2 Sekunden 700 °C übersteigt. 8b stellt
die mit dem CCEM 18 definierte Auslösungslogikkondition bereit,
wobei Kachel 1 der in 8a dargestellten einfachen Kondition
entspricht und Kachel 2 der Aktion des Generierens einer Meldung
entspricht. Da die Kacheln 1 und 2 in einer horizontalen Beziehung
stehen, die gemäß der oben
beschriebenen beispielhaften Notation eine logische Beziehung UND
repräsentiert,
wird die durch Kachel 2 spezifizierte Aktion durchgeführt, wenn
Kachel 1 erfüllt
ist.
-
Das Übersetzungsmodul 20 kann
die in der Datenbank 22 durch das SCEM 16 gespeicherten Multi-Parameter-Konditionen
oder die in der Datenbank 22 durch das CCEM 18 gespeicherten
Auslösungslogikkonditionen
in eine höhere
Computersprache, wie z. B. COBOL, C oder C++, übersetzen und die übersetzte
Ausgabe in der Datenbank 23 speichern. Der höhere Code
kann dann beispielsweise in ein Verkehrssystem heruntergeladen werden,
wo es zur Ausführung
durch einen Bordcomputer des Verkehrssystems in den Code einer Maschinensprache übersetzt
werden kann. Gemäß einer
anderen Ausführungsform
kann das Übersetzungsmodul 20 die
in der Datenbank 22 gespeicherten Konditionen in computerinterpretierbare
Tabellen übersetzen,
die in der Übersetzungsausgabedatenbank 23 gespeichert werden.
Gemäß einer
anderen Ausführungsform kann
das Übersetzungsmodul 20 die
in der Datenbank 22 gespeicherten Konditionen direkt in
den zur Ausführung
durch einen Bordcomputer des Verkehrssystems geeigneten Code einer
Maschinensprache übersetzen.
Die Maschinensprache kann ebenfalls in der Übersetzungsausgabedatenbank 23 gespeichert
werden.
-
9 ist
ein Diagramm des Prozeßablaufs durch
den Prozessor 12 des Systems 10 gemäß einer
Ausführungsform
der vorliegenden Erfindung. Der Prozeß beginnt bei Feld 40,
in dem eine Multi-Parameter-Kondition auf der Schnittstelle 14 mit dem
SCEM 16 graphisch definiert wird. Von Feld 40 schreitet
der Prozeß zu
Feld 42 fort, in dem das SCEM 16 die Multi-Parameter-Kondition
auf der Grundlage der Attributbefehle erkennt, die zum Definieren
des Konditionsgebiets verwendet wurden. Von Feld 42 schreitet
der Prozeß zu
Feld 44 fort, in dem das SCEM 16 die erkannte
Multi-Parameter-Kondition in der Datenbank 22 speichert.
Von Feld 44 schreitet der Prozeß zu Feld 46 fort,
in dem bestimmt wird, ob zusätzliche
Multi-Parameter-Konditionen mit dem SCEM 16 zu definieren
sind. Wenn zusätzliche Multi-Parameter-Konditionen
zu definieren sind, kehrt der Prozeß zu Feld 40 zurück. Andernfalls schreitet
der Prozeß zu
Feld 48 fort, in dem die in der Datenbank 22 gespeicherten
Multi-Parameter-Konditionen durch das Übersetzungsmodul 20 in
eine computerausführbare
Form, wie zum Beispiel eine höhere
Computersprache, eine Maschinensprache oder eine computerinterpretierbare
Tabelle, übersetzt
werden. Wie bereits ausgeführt,
kann die Ausgabe des Übersetzungsmoduls 20 in
der Übersetzungsausgabedatenbank 23 gespeichert
werden.
-
Von
Feld 48 schreitet der Prozeßablauf zu Feld 50 fort,
in dem eine Auslösungslogikkondition durch
graphisches Anordnen der Kacheln auf Schnittstelle 14 gemäß einer
vorab festgelegten Notation gebildet wird, um, wie voranstehend
ausgeführt,
unter Verwendung des CCEM 18 die gewünschte logische Beziehung der
Auslösungslogikkondition
zu spezifizieren. In Feld 52 erkennt das CCEM 18 die
Auslösungslogikkondition
auf der Grundlage der Anordnung von Kacheln und der vorab festgelegten
Notation. Von Feld 52 schreitet der Prozeß zu Feld 54 fort,
in dem die erkannte Auslösungslogikkondition
in der Datenbank 22 gespeichert wird. In Feld 56 übersetzt
das Übersetzungsmodul 20 die
in der Datenbank 22 gespeicherte erkannte Auslösungslogikkondition
in eine computerausführbare Form,
wie zum Beispiel eine höhere
Computersprache, eine Maschinensprache oder eine computerinterpretierbare
Tabelle. Wie voranstehend ausgeführt, kann
die Ausgabe des Übersetzungsmoduls 20 in
der Übersetzungsausgabendatenbank 23 gespeichert werden.
Ferner kann, wie voranstehend ausgeführt, die in der Datenbank 23 gespeicherte
Ausgabe des Übersetzungsmoduls
zum Beispiel auf einen Bordcomputer eines Verkehrssystems zur Ausführung durch
den Bordcomputer heruntergeladen werden.
-
Obwohl
die vorliegende Erfindung hier in Bezug auf eine bestimmte Ausführungsform
beschrieben wurde, werden Fachleute erkennen, daß viele Modifikationen und
Variationen der vorliegenden Erfindung umgesetzt werden können. Beispielsweise kann
das CCEM 18 andere Notationen zum Definieren der logischen
Beziehungen der Kacheln erkennen, wie z. B. Kacheln in einer vertikalen
Beziehung eine UND-Beziehung repräsentieren zu lassen und Kacheln
in einer horizontalen Beziehung eine ODER-Beziehung repräsentieren
zu lassen. Außerdem
können
andere Notationen verwendet werden, um Umkehrungs- und Rangordnungsbeziehungen
zu repräsentieren.
Ferner kann unter Bezugnahme auf den in 9 dargestellten
Prozeßablauf
die Bestimmung, ob zusätzliche
Multi-Parameter-Konditionen zu definieren sind, durchgeführt werden,
nachdem die Kondition durch das Übersetzungsmodul 20 in eine
computerausführbare
Form übersetzt
wurde. Außerdem
kann anstatt des Übersetzens
der Multi-Parameter-Konditionen in eine computerausführbare Form
vor Spezifikation der Auslöserlogikkondition
mit dem CCEM 18 die Multi-Parameter-Kondition nach Spezifikation der Auslöserlogikkonditionen übersetzt
werden. Die voranstehende Beschreibung und die nachstehenden Ansprüche sind
dazu gedacht, all diese Modifikationen und Variationen abzudecken.