DE69523645T2 - Verfahren und Gerät zur Steuerung von nicht immanenten Rechner-Systemeinrichtungen mittels graphischen Oberfläche - Google Patents

Verfahren und Gerät zur Steuerung von nicht immanenten Rechner-Systemeinrichtungen mittels graphischen Oberfläche

Info

Publication number
DE69523645T2
DE69523645T2 DE69523645T DE69523645T DE69523645T2 DE 69523645 T2 DE69523645 T2 DE 69523645T2 DE 69523645 T DE69523645 T DE 69523645T DE 69523645 T DE69523645 T DE 69523645T DE 69523645 T2 DE69523645 T2 DE 69523645T2
Authority
DE
Germany
Prior art keywords
control
graphical
visual
controller
user
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE69523645T
Other languages
English (en)
Other versions
DE69523645D1 (de
Inventor
Geoffrey P. Coco
Mark A. Lucas
David J. Warman
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
MediaLink Tech Corp
Original Assignee
MediaLink Tech Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by MediaLink Tech Corp filed Critical MediaLink Tech Corp
Application granted granted Critical
Publication of DE69523645D1 publication Critical patent/DE69523645D1/de
Publication of DE69523645T2 publication Critical patent/DE69523645T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Digital Computer Display Output (AREA)
  • Selective Calling Equipment (AREA)
  • Input Circuits Of Receivers And Coupling Of Receivers And Audio Equipment (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Computer And Data Communications (AREA)

Description

    Gebiet der Erfindung
  • Die Erfindung betrifft allgemein ein Verfahren und eine Vorrichtung zur Verwendung eines Rechners zum Steuern von rechnersystemfreien Geräten, die an den Rechner angeschlossen sind.
  • Hintergrund der Erfindung
  • Objektorientierte Programmier-Musterbeispiele (Paradigmen) sind ein zunehmend verbreitetes Werkzeug bei der Rechnerprogrammierung geworden. Solche Musterbeispiele werden häufig von graphischen Benutzeroberflächen verwendet, wo Rechnersystemelemente visuell dargestellt und durch sichtbare Bildschirmeinheiten, beispielsweise Piktogramme (Icons) auf einem Rechnerbildschirm oder einer anderen Anzeigevorrichtung manipuliert werden. In Verbindung mit Programmierung dienen "Objekte" dazu, manipulierbare Rechnersystemelemente dadurch darzustellen, daß sie Methoden und Daten enthalten, die jene Elemente definieren. Durch Darstellen solcher Rechnersystemelemente als Objekte ist es für den Programmierer nicht mehr nötig, einen spezifischen Codesatz für jedes Rechnersystemelement zu generieren; vielmehr kann der Programmierer Klassen von Objekten definieren und jeder Klasse gewisse universelle Verhaltensweisen zuordnen. Rechnersystemelemente, die durch Objekte repräsentiert werden können, enthalten Rechner-Peripherigeräte und Rechner-Anwendungsprogramme. Beispiele für Anwendungsprogramme sind Arbeitsblätter, Wortverarbeitungsprogramme, Datenbankprogramme etc.
  • In graphischen Benutzeroberflächen, die objektorientierte Programmier- Musterbeispiele verwenden, werden Anwendungsprogramme typischerweise von einem Benutzer durch ein Piktogramm dargestellt, welches in einem Fenster auf einem Rechnerbildschirm angezeigt wird, wobei ein Piktogramm für jedes Anwendungsprogramm steht, welches aufgerufen werden kann. Die Ausführung eines Anwendungsprogramms wird eingeleitet durch Auswählen seines entsprechenden Piktogramms, meistens unter Verwendung einer Zeigereinrichtung, beispielsweise einer Maus. Wird ein Anwendungsprogramm ausgewählt, so wird eine Nachricht an das entsprechende Anwendungsprogramm-Objekt gesendet, welches signalisiert, daß das Anwendungsprogramm-Objekt gewisse seiner Verfahren zur Hilfe ruft. Wenn zum Beispiel ein Wortverarbeitungsprogramm ausgewählt wird, können die in dem Anwendungsprogramm-Objekt enthaltenen Verfahren das Starten des Wortverarbeitungsprogramms beinhalten. Der Benutzer kann außerdem Piktogramme von einem Bereich des Bildschirms zu einem anderen "ziehen", oder von einem Fenster zu einem anderen Fenster, wozu die Maus benutzt wird. Der Benutzer kann sogar ein für ein Anwendungsobjekt repräsentatives Piktogramm "ziehen", und dann dieses Piktogramm oben auf einem anderen "absetzen". Diese "Objekt-Objekt"- Interaktion führt zu einer Kombination von Anwendungsobjekten. Wenn zum Beispiel ein Wortverarbeitungsdokument-Piktogramm auf ein Wortverarbeitungsprogramm-Piktogramm gesetzt wird, führt die Objekt- Objekt-Interaktion zum Starten des Wortverarbeitungsprogramms und zum Veranlassen, daß das Programm das Wortverarbeitungsdokument öffnet. Dies ist deshalb möglich, weil sowohl das Wortverarbeitungsprogramm als auch das Wortverarbeitungsdokument als kompatible Anwendungsprogramm-Objekte dargestellt wurden. Folglich ermöglichen die Piktogramme in dem objektorientierten Programmier-Musterbeispiel dem Benutzer, auf graphischem Weg verschiedene Rechnersystemelemente und gegenseitige Beziehung zwischen Rechnersystemelementen zu steuern.
  • Während die herkömmliche objektorientierte graphische Benutzeroberfläche, wie sie oben beschrieben wurde, dazu benutzt wurde, es einem Benutzer zu ermöglichen, die Ausführung derartiger Rechnersystemelemente wie Anwendungsprogramme einzuleiten, war doch der Einsatz objektorientierter Programmier-Musterbeispiele für die graphische Steuerung und Überwachung von rechnersystemfreien Geräten stark eingeschränkt. Rechnersystemfreie Geräte beinhalten nahezu jede elektronische Einrichtung mit der für den entweder direkten oder über ein Netzwerk erfolgenden Anschluß an einen PC notwendigen Hardware. Beispielsweise können rechnersystemfreie Geräte Lampen, Fernsehgeräte, VCRs, Videokameras, Telefone, Verstärker, CD-Player, Entzerrer und dergleichen beinhalten. Solche Geräte werden typischerweise mit einer Vielfalt von Merkmalssteuerungen und Anzeigen für den Betrieb ausgestattet, darunter Lautstärkeregelungen, Netzschalter, Eingangs- und Ausgangsmeßgeräte, Kanalwähler etc. Um ein rechnersystemfreies Gerät unter Verwendung einer graphischen Benutzeroberfläche zu steuern, war in der Vergangenheit jede Merkmalssteuerung (zum Beispiel eine Lautstärkeregelung) oder Merkmalsanzeige (zum Beispiel ein Ausgangsmeßgerät), das von dem Benutzer zu manipulieren war, mit dem eine graphische Benutzeroberfläche bietenden Rechner über speziell ausgestaltete Software gekoppelt, was zu einer sichtbaren Bildschirmeinheit für jede Merkmalssteuerung des auf dem Rechnerbildschirm angezeigten Geräts führte.
  • Üblicherweise wurden rechnersystemfreie Geräte über ein für das jeweilige Gerät speziell ausgelegtes Spezialprogramm graphisch dargestellt und gesteuert, wobei dieses speziell ausgelegte Programm entweder in das Rechner-Betriebssystem eingebettet war oder in das Rechner- Betriebssystem als Zusatz-Softwareprodukt geladen wurde. Beispielsweise bietet das CD-Remote-Programm, Version 1.3 für den Macintosh-Rechner dem Rechnerbenutzer eine graphische Schnittstelle zum Steuern eines mit dem Rechner fest verdrahteten Macintosh-CD-Players. Dem Benutzer wird eine graphische Anzeige des Bedienfelds des CD-Players angeboten, komplett mit graphischer Stop-, Play-, Pause-, Skip-Steuerung und dergleichen. Zum Einleiten der Ausführung irgendeines von diesen Befehlen beim CD- Player wählt der Benutzer mit der Maus lediglich die entsprechende graphische Steuerung aus. Im Gegensatz zu Programmen für graphische Benutzeroberflächen zwecks Steuerung von Anwendungsprogrammen sind die graphischen Steuerungen nicht sichtbare Bildschirmeinheiten, die der Benutzer in andere Bildschirmbereiche, in andere Fenster oder übereinander "ziehen und absetzen" oder "schneiden und einfügen" kann. Statt dessen sind die Plazierung, die Lage und die Ausführung jeder der graphischen Steuerungen vorab durch das speziell entworfene CD-Remote- Programm für den CD-Player definiert.
  • Im Gegensatz zu dem Macintosh-CD-Player werden rechnersystemfreie Geräte normalerweise nicht für sich allein verwendet. Vielmehr werden rechnersystemfreie Geräte in Kombination mit anderen rechnersystemfreien Geräten benutzt. Beispielsweise enthält eine Stereoanlage häufig mindestens einen CD-Player, einen Entzerrer und einen Verstärker, die jeweils von demselben Hersteller oder von verschiedenen Herstellern stammen können. Um einen PC zum Bedienen einer gesamten Stereoanlage unter Anwendung des Verfahrens verwenden zu können, von dem das oben angesprochene CD-Rerriote-Programm Gebrauch macht, müßte jede Stereoanlage notwendigerweise mit dem PC fest verdrahtet werden, und es wäre außerdem ein speziell entworfenes Programm mit spezifischen Kodierungen notwendig, um jedes Gerät, jede Merkmalsteuerung und jede Merkmalsanzeige an dem Gerät zu steuern, und um die Beziehungen zwischen diesen Geräten und den Merkmalssteuerungen und -anzeigen zu steuern. Darüber hinaus müßte die Kodierung speziell für jedes Gerät eines Herstellers ausgelegt sein. Selbst dann, wenn die Geräte mit dem PC über ein Netzwerk gekoppelt wären, und nicht über eine direkte Verdrahtung, wäre immer noch ein spezialisierter Code zum Steuern jedes Geräts erforderlich, da es keine graphische Benutzeroberfläche gibt, die ein objektorientiertes Programmier-Musterbeispiel zum Steuern von Stereoanlagen verwendet, die von verschiedenen Herstellern hergestellt werden.
  • Die US 4 849 880 zeigt ein System zum Programmieren eines Rechners, das eine Menge von auf Software beruhenden virtuellen Maschinen bereitstellt, jede ausgebildet zum Instruieren eines Rechners, eine ausgewählte Operation auszuführen. Jede virtuelle Maschine wird dargestellt durch eine virtuelle Frontplatte, die auf einem Bildschirm dargestellt wird, und jede virtuelle Frontplatte zeigt graphisch vom Bediener steuerbare Eingangswerte und Ausgangsparameter unter Verwendung der virtuellen Maschine dar, welche sie repräsentiert. Das System ist dazu ausgebildet, eine neue virtuelle Maschine zum Anweisen des Rechners, eine Sequenz von Operationen auszuführen, zusammenzusetzen, wobei jede Operation von dem Rechner gemäß den Anweisungen eines Benutzers ausgeführt wird, die aus einer der existierenden virtuellen Maschinen ausgewählt ist. Das System erzeugt außerdem eine neue virtuelle Frontplatte zum Anzeigen von Eingangs- und Ausgangsparametern, die zu der neuen virtuellen Maschine gehören. Das System gestattet dem Bediener, den Rechner zu programmieren, indem er die Synthese einer Hierarchie aus virtuellen Maschinen lenkt. Wünscht ein Bediener das Zusammensetzen einer neuen virtuellen Maschine, so wird ihm mitgeteilt, daß er neue Beispiele für jedes existierende virtuelle Instrument (Maschine) erzeugen soll, die benötigt werden, um die Sequenz von Operationen auszuführen, die durch das neue virtuelle Instrument repräsentiert werden. Um ein neues virtuelles Instrument zu schaffen, muß der Bediener zunächst eine neue Klasse erzeugen und anschließend die Funktionen definieren, die die neue Klasse ausführen soll, und zwar in Form der Funktionen, die die existierenden virtuellen Maschinen ausführen. Das Endprodukt des Synthetisiervorgangs ist ein Zuhören beim Smalltalk.
  • Die EP-A-596 594 zeigt ein Steuergerätverfahren und eine Steuergerätvorrichtung mit Anwendung bei Multimediasystemen. Das Multimecliasystem enthält einen Hauptrechner mit einer Videoanzeige, eine Steuereinrichtung und mindestens einem Zielgerät. Das Zielgerät ist irgendeine ferngesteuerte Einrichtung, die der Benutzer in das Multimediasystem zu integrieren wünscht. Der Hauptrechner enthält eine Hauptsystemkonfiguration, die dem Benutzer die Möglichkeit bietet, einen Betriebsmodus für das Steuergerät auszuwählen. Das Steuergerät arbeitet als interaktive Benutzeroberfläche, um einen Cursor auf der Hauptrechner-Videoanzeige zu steuern, wenn das Steuergerät sich im Cursor-Steuermodus befindet.
  • Es besteht folglich Bedarf an einem graphischen Steuersystem zum Steuern von rechnersystemfreien Geräten und der Beziehung zwischen solchen Geräten. Um auf speziell ausgelegte Codes für jedes Gerät verzichten zu können, sollte ein derartiges graphisches Steuersystem ein gemeinsames Musterbeispiel (Paradigma) verwenden, um die zu steuernden rechnersystemfreien Geräte darzustellen. Darüber hinaus sollte das graphische Steuerungssystem für dynamische sichtbare Gerätesteuerungen sorgen, die jede Merkmalssteuerung des Geräts repräsentieren und es einem Benutzer ermöglichen, graphisch jedes Gerät zu steuern und zu überwachen, ohne daß der Benutzer irgendwelche spezielle Kenntnis über das Gerät hat, und ohne daß er irgendwelchen körperlichen Kontakt mit dem Gerät hat. Die vorliegende Erfindung zielt darauf ab, ein derartiges graphisches Steuersystem zu schaffen.
  • Offenbarung der Erfindung
  • Erfindungsgemäß, und wie in den beigefügten Ansprüchen definiert, wird ein graphisches Steuersystem zum Steuern von rechnersystemfreien Geräten geschaffen. Rechnersystemfreie Geräte sind Geräte, die sich elektronisch steuern lassen, so zum Beispiel Musik-Verstärker und -Entzerrer, Fernsehgeräte, VCRs, Videokameras etc. Nahezu jedes elektronische Gerät, welches mit der notwendigen Hardware zur entweder direkten oder indirekten Steuerung durch einen Rechner ausgerüstet ist, darunter ein einfacher Ein/Aus-Schalter, kann ein rechnersystemfreies Gerät sein. Das graphische Steuersystem enthält einen Rechner, eine oder mehrere Schnittstellen für ein oder mehrere rechnersystemfreie Geräte mit mindestens einer Merkmalssteuerung, ein Koppelmedium zum Ankoppeln des Rechners an die Schnittstelle bzw. Schnittstellen, und ein visuelles Netzwerkbetriebssystem (VNOS; Visual Network Operating System). Das Koppelmedium kann ein Busnetzwerk oder schlicht eine Punkt-Zu-Punkt- Verbindung zwischen einem Rechner und einem einzelnen rechnersystemfreien Gerät sein. Verschiedene Typen von Busnetzwerken können hierzu eingesetzt werden, darunter Faseroptik, Koaxialkabel oder ein verdrilltes Drahtpaar. Das Koppelmedium kann auch ein Funkfrequenz- Koppelmedium sein, so zum Beispiel ein Funkfrequenz-Koppelnetzwerk. Die eine oder mehreren Schnittstellen verbinden das rechnersystemfreie Gerät bzw. die Geräte mit dem Busnetzwerk und liefern den Mechanismus zum Umwandeln von durch den Rechner generierten Befehlen in Signale zum Steuern des Betriebs der rechnersystemfreien Geräte.
  • Das visuelle Netzwerkbetriebssystem (VNOS) ist ein verteiltes Betriebssystem, welches teilweise in einem Rechner und teilweise in der Schnittstelle oder den Schnittstellen gespeichert ist. Der Hauptanteil ist in dem Rechner gespeichert. Der Rechnerteil bewirkt, daß der Rechner graphische Steuerungen generiert oder erzeugt, die den Typ von Merkmalssteuerungen repräsentieren, der normalerweise zu an das Netzwerk angeschlossenen rechnersystemfreien Geräten gehört. Im Fall eines Musikverstärkers beispielsweise können derartige Steuerungen einen Ein/Aus-Schalter, ein Eingangs-Meßgerät und eine Lautstärkesteuerung beinhalten. Ein Entzerrer würde Verstärkungs- und Dämpfungssteuerungen für Frequenzbänder beinhalten. Die graphischen Steuerungen werden betrieben von einem herkömmlichen Graphiksteuergerät, beispielsweise einer Maus, einem Track- Ball, einem Berührbildschirm, einem Joystick etc. Wenn die Graphiksteuerungen betätigt werden, sendet der Rechner Nachrichten an die Schnittstelle oder Schnittstellen, die die rechnersystemfreien Geräte veranlassen, in der gleichen Weise darauf anzusprechen, wie dies die Geräte bei manueller oder elektrischer Betätigung der entsprechenden Merkmalssteuerungen tun würden.
  • Gemäß weiteren Aspekten der vorliegenden Erfindung basiert das visuelle Netzwerkbetriebssystem (VNOS) auf einem objektorientierten Programmier-Musterbeispiel, bei dem Objekte kompatibel und in hierarchischer Weise in Klassen organisiert sind.
  • Gemäß weiteren Aspekten der vorliegenden Erfindung werden fünf verschiedene Objekt-Typen verwendet. Es handelt sich dabei um: Fensterobjekte, visuelle Referenzobjekte, Wertsteuerelement-Objekte (VCE- Objekte; Value Control Element), Geräte-Objekte und Paket-Objekte. Fensterobjekte enthalten die Daten und Verfahren, die notwendig sind für die Darstellung eines Fensters auf dem Bildschirm der Rechneranzeige. Visuelle Referenzobjekte enthalten die Verfahren und Daten, die benötigt werden, um Piktogramme und visuelle Gerätesteuerungen (VCDs) innerhalb eines Fenster-Objekts anzuzeigen und zuzuordnen. Ein VCE-Objekt enthält einen durch die VDC repräsentierten und durch Einstellen des VDC gesteuerten Wert, außerdem Verfahren zum Manipulieren dieses Werts. Ein Geräte-Objekt enthält die Verfahren und Daten zum Kommunizieren mit speziellen Typen rechnersystemfreier Geräte und zum Verwalten einer graphischen Darstellung eines rechnersystemfreien Geräts. Paket-Objekte enthalten die Verfahren und Daten zum Kommunizieren von Daten zwischen dem Rechner und rechnersystemfreien Geräten über das Netzwerk.
  • Gemäß noch weiteren Aspekten der vorliegenden Erfindung sind die Fenster-, visuellen Referenz-, VCE-, Geräte- und Paket-Objekte in Unterklassen niedrigerer Ordnung unterteilt.
  • Wie sich aus der obigen Zusammenstellung leicht ersehen läßt, schafft die Erfindung ein graphisches Steuersystem zum Steuern einer großen Vielfalt von rechnersystemfreien Geräten. Nahezu jedes elektronische Gerät, das mit der notwendigen Hardware ausgerüstet ist, läßt sich steuern. Das graphische Steuersystem erzeugt visuelle Gerätesteuerungen, welche die Merkmalssteuerungen und Merkmalsanzeigen repräsentieren können, wie sie normalerweise dem rechnersystemfreien Gerät, welches gesteuert werden soll, zugeordnet sind. Die visuellen Gerätesteuerungen werden betätigt durch ein übliches Benutzer-Manipuliergerät, zum Beispiel eine Maus, einen Track-Ball, einen Berührbildschirm, einen Joystick etc. Die Erfindung beseitigt das Erfordernis speziell entworfener Kodierung für jedes rechnersystemfreie Gerät durch Verwendung eines objektorientierten Musterbeispiels, um die rechnersystemfreien Geräte darzustellen. Während die Erfindung teilweise für die Verwendung in Vorwärtsrichtung ausgelegt ist, gemäß der der Rechner rechnersystemfreie Geräte steuert, ist es in einigen Versionen der Erfindung wünschenswert, daß die rechnersystemfreien Geräte Gegenstand manueller oder elektrischer Steuerung, Überwachung oder Steuerung durch einen anderen Rechner sind. In diesen Fällen werden Daten, die Steuerungsänderungen repräsentieren, von den rechnersystemfreien Geräten und/oder anderen Rechnern zu sämtlichen anderen rechnersystemfreien Geräten und PCs an dem Netzwerk gesendet, die Objektdaten speichern, die zu der geänderten Steuerung in Beziehung stehen. Im Ergebnis wird jede zugehörige visuelle Gerätesteuerung aktualisiert und überwacht.
  • Kurze Beschreibung der Zeichnungen
  • Die obigen Aspekte und zahlreiche damit einhergehende Vorteile der vorliegenden Erfindung ergeben sich deutlicher durch Bezugnahme auf die nachstehende detaillierte Beschreibung in Verbindung mit den dazugehörigen Zeichnungen. Es zeigen:
  • Fig. 1 ein anschauliches Diagramm einer bevorzugten Ausführungsform eines graphischen Steuersystems, welches gemäß der Erfindung ausgebildet ist und einen PC, ein Busnetzwerk und mehrere von einem graphischen Steuerprogramm in dem PC gesteuerte Geräte enthält;
  • Fig. 2 ein Blockdiagramm des PC, von Geräten und des Busnetzwerks gemäß Fig. 1;
  • Fig. 3 eine isometrische Darstellung eines Verstärkers;
  • Fig. 4 eine isometrische Ansicht eines typischen PCs, der sich zur Verwendung in dem in Fig. 1 gezeigten graphischen Steuersystem eignet;
  • Fig. 5 ein Blockdiagramm mehrerer Komponenten des in Fig. 4 gezeigten PCs, die von dem graphischen Steuersystem gemäß der Erfindung benutzt werden;
  • Fig. 6 ein typisches Verstärkerbedienfeld-Fenster, welches von dem in Fig. 1 gezeigten graphischen Steuersystem erzeugt wird;
  • Fig. 7 ein Flußdiagramm, das die Funktionen veranschaulicht, die von dem in Fig. 1 gezeigten graphischen Steuersystem bereitgestellt werden;
  • Fig. 8 eine graphische Darstellung eines Objekts, das in dem in Fig. 1 gezeigten graphischen Steuersystem implementiert ist;
  • Fig. 9A ein hierarchisches Diagramm eines objektorientierten Programmier-Musterbeispiels, das in dem in Fig. 1 gezeigten graphischen Steuersystem implementiert ist;
  • Fig. 9B die Verfahren und Daten, die von dem in Fig. 8 veranschaulichten; objektorientierten Programmier-Musterbeispiel bereitgestellt werden;
  • Fig. 10 den Fluß von Nachrichten zwischen Beispielen von Objekten, wenn das in Fig. 1 dargestellte graphische Steuersystem als erstes auf ein Gerät an dem Netzwerk trifft;
  • Fig. 11 den Fluß von Nachrichten zwischen Beispielen von Objekten, wenn das in Fig. 1 gezeigte graphische Steuersystem einen Benutzer in die Lage versetzt, ein Gerät zu steuern;
  • Fig. 12 den Fluß von Nachrichten zwischen Beispielen von Objekten, wenn das in Fig. 1 gezeigte graphische Steuersystem einen Benutzer in die Lage versetzt, eine geklonte visuelle Gerätesteuerung zu erzeugen;
  • Fig. 13 den Fluß von Nachrichten zwischen Beispielen von Objekten, wenn das in Fig. 1 gezeigte graphische Steuersystem automatisch betriebsfähige Abmessungen einer visuellen Gerätesteuerung regeneriert;
  • Fig. 14, 15 und 16 die Flüsse von Nachrichten zwischen Beispielen von Objekten, wenn das in Fig. 1 gezeigte graphische Steuersystem einen Benutzer in die Lage versetzt, mehrere Geräte mit einer einzigen visuellen Gerätesteuerung zu steuern;
  • Fig. 17A ein hierarchisches Diagramm eines objektorientierten Programmier-Musterbeispiels, das in einem Gerät als Teil des in Fig. 1 gezeigten graphischen Steuersystems implementiert ist, welches von einem Gerät bereitgestellt wird;
  • Fig. 17B die Verfahren und Daten, die von dem in Fig. 17A veranschaulichten objektorientierten Programmier-Musterbeispiel bereitgestellt werden; und
  • Fig. 18 den Fluß von Nachrichten zwischen Beispielen von Objekten, wenn das in Fig. 1 gezeigte graphische Steuersystem eine Gerätesteuerung vornimmt.
  • Detaillierte Beschreibung der bevorzugten Ausführungsform
  • Wie aus der nachfolgenden Beschreibung besser verständlich wird, zielt die vorliegende Erfindung ab auf ein graphisches Steuersystem zum Steuern von rechnersystemfreien Geräten und Vorrichtungen, wobei nahezu jedes elektronisch steuerbare Gerät, das mit der notwendigen Schnittstellen-Hardware ausgerüstet ist, gesteuert werden kann. Während die folgende Beschreibung die Erfindung in Verbindung mit Komponenten einer Musikanlage erläutert, so zum Beispiel in Verbindung mit Verstärkern und Entzerrern, versteht sich, daß die Erfindung auch bei anderen rechnersystemfreien Geräten eingesetzt werden kann, darunter auch ein schlichter Ein/Aus-Schalter zum Betätigen einer Lampe. Darüber hinaus ist die vorliegende Erfindung gut angepaßt an rechnersystemfreie Geräte, die von unterschiedlichen Herstellern gefertigt werden. Die Erfindung macht Gebrauch von einem Personal-Computer (im folgenden: PC), einem Netzwerk, Schnittstellen, welche den Rechner und das rechnersystemfreie Gerät mit dem Netzwerk verbinden, und ein visuelles Netzwerkbetriebssystem. Während das bevorzugte Netzwerk ein Busnetz ist, beispielsweise ein faseroptischer Bus, können auch andere Arten von Netzwerken, eingeschlossen drahtlose Netzwerke bei aktuellen Ausführungsformen der Erfindung verwendet werden.
  • Außerdem kann das Netzwerk eine einfache Punkt-Zu-Punkt-Verbindung zum Verbinden eines Rechners mit einer Schnittstelle eines einzelnen rechnersystemfreien Geräts sein. Das visuelle Netzwerkbetriebssystem, das den Betrieb des Rechners und der Schnittstelle steuert, basiert auf einem objektorientierten Programmier-Musterbeispiel. Um die im folgenden beschriebene bevorzugte Ausführungsform der Erfindung besser zu verstehen, sollen als erstes gewisse Aspekte der objektorientierten Programmier- Musterbeispiele erläutert werden, welche für die folgende Diskussion relevant sind.
  • Die grundlegenden Aspekte von objektorientierten Programmier- Musterbeispielen sind, daß Objekte sich in hierarchischer Weise zu Klassen organisieren lassen, und daß Objekte kompatibel, das heißt geeignet zum Zusammenwirken sind. Klassen sind abstrakte generische Beschreibungen von Objekten und deren Verhalten. Eine Klasse definiert eine gewisse Kategorie oder Gruppierung von Verfahren und Daten innerhalb eines Objekts. Verfahren umfassen Prozeduren oder Codes, die auf Daten einwirken. Verfahren in Anwendung auf Daten definieren das Verhalten des Objekts. Eine Verfeinerung der Verfahren der Klasse wird erreicht durch Schaffung von "Unterklassen". In anderen Worten: eine Klasse läßt sich denken als ein Geschlecht oder Genus, ihre Unterklassen als die Spezies. Unterklassen ermöglichen die Einführung einer neuen Klasse in die Klassenhierarchie, und sie erben die Verhaltensweisen ihrer Oberklasse, während sie zu der Unterklasse neue Verhaltensweisen hinzufügen.
  • Ein Beispiel für eine Klasse ist ein spezifisches individuelles Ding oder Wesen, manchmal konkret mit beobachtbarem Verhalten. Ein Beispiel ist ein spezifisches Objekt mit den Verhaltensweisen, die durch seine Klasse definiert werden. Beispiele werden in einem objektorientierten Programmier-Musterbeispiel dynamisch erzeugt und gelöscht. Die Klasse jedoch ist das breite, gleichwohl abstrakte Konzept, unter welches das Beispiel fällt. Das Beispiel erbt sämtliche Verfahren seiner Klasse, besitzt jedoch besondere individuelle Werte, die zu ihm gehören und einzigartig sind. Es gibt nur eine Stelle innerhalb des Speichers eines Rechners für die Klasse.
  • Allerdings kann es zahlreiche Beispiele der Klasse geben, von denen jedes unterschiedliche Werte und verschiedene physische Speicherplätze besitzt.
  • Fig. 1 veranschaulicht ein Busnetzwerk 28, das einen PC 20 und mehrere rechnersystemfreie Geräte 21 verbindet. Das graphische Steuersystem gemäß der Erfindung, das gemäß obiger Erläuterung das objektorientierte Programmier-Musterbeispiel verwendet, ermöglicht einem Benutzer die Verwendung des PCs 20 zum Steuern des Betriebs der rechnersystemfreien Geräte 21 über das Busnetzwerk 28. Lediglich zur Vereinfachung der Darstellung sind in Fig. 1 drei rechnersystemfreie Geräte 21 dargestellt. Die dargestellten Geräte sind ein Zweikanalverstärker 22, ein Tuner 24 und ein graphischer Entzerrer oder Ausgleicher 26. Wie der Fachmann bei der Lektüre der folgenden Beschreibung erkennen wird, können zusätzliche rechnersystemfreie Geräte über das Busnetzwerk 28 an den PC 20 angeschlossen und von diesem gesteuert werden, wenn sie mit der notwendigen Schnittstellen-Hardware ausgerüstet sind. Rechnersystemfreie Geräte können Videokameras, Lautsprecher, Fernsehgeräte, Telefone, Lampen, etc. enthalten. Selbst einfache Lichtschalter können rechnersystemfreie Geräte darstellen. Lediglich zu Anschauungszwecken sind die in Fig. 1 gezeigten Geräte als Audioanlagen-Geräte, das heißt Verstärker, Entzerrer, Tuner, etc. dargestellt.
  • Weiterhin wird der Fachmann sehen, daß zusätzliche PCs mit geeigneten Hardware-Schnittstellen an das Busnetzwerk 28 angeschlossen und gleichzeitig dazu benutzt werden können, rechnersystemfreie Geräte 21 zu steuern. Tatsächlich kann jedes beliebige Rechnersystem, darunter ohne Beschränkung tragbare Rechner, Powerbooks, persönliche Hilfsgeräte, die mit der notwendigen Hardware-Schnittstelle für den Anschluß an das Busnetzwerk 28 oder irgendein anderes Kopplungsmedium ausgerüstet sind, dazu verwendet werden, die rechnersystemfreien Geräte 21 zu steuern.
  • Kommunikation zwischen den Geräten
  • Wie in Fig. 2 gezeigt ist, ist der PC 20 an das Netzwerk 28 über eine RS232-Schnittstelle 42 und eine Brücke 45 angeschlossen. Standard-PCs enthalten typischerweise eine RS232-Karte 43 und ein RS232-Kabel 44 zum Kommunizieren mit externen Geräten, beispielsweise Druckern. RS232 ist eine Schnittstellennorm, die Signalspannungspegel und dergleichen spezifiziert. RS232 ist außerdem ein Kommunikationsprotokoll auf Byte-Niveau, das Startbits, Stopbits etc. zum Senden von Daten-Bytes spezifiziert. Allgemein gilt, daß ein Kommunikationsprotokoll höherer Ebene oben auf dem Byte-Ebenen-Kommunikationsprotokoll RS232 verwendet wird, das heißt, der PC 20 enthält Software, die ein Punkt-Zu-Punkt- Kommunikationsprotokoll definiert, das oben auf dem RS232-Byte- Stufen-Protokoll verwendet wird. Die Brücke 45 bildet die Schnittstelle zwischen den RS232-Kabeln 38 und dem Busnetzwerk 28, auf dem ein Netzwerk-Kommunikationsprotokoll verwendet wird.
  • Ebenfalls in Fig. 2 dargestellt sind die gleichen rechnersystemfreien Geräte 21, die auch in Fig. 1 gezeigt sind. Jedes rechnersystemfreie Gerät 21 enthält eine Schnittstelle 35 mit einer E/A-Platine 47 und einer Prozessorplatine 46, die es ermöglichen, die Geräte direkt mit dem Netzwerk 28 zu koppeln. Die E/A-Platine 47 ist speziell aufgebaut zur Verwendung mit der Busnetzwerk-Konfiguration und einem speziellen Typ von Übertragungsmedium, während die Prozessorplatine 46 mit verschiedenen Kommunikations-Konfigurationen sowie Übertragungsmedien eingesetzt werden kann.
  • Die Prozessorplatine 46 der Schnittstelle 35 steuert die Nachrichtenübermittlung der Geräte 21 über das Busnetzwerk 28. Die Prozessorplatine 46 enthält einen Prozessor 41, einen elektronisch löschbaren und programmierbaren Festspeicher (EEPROM) 58 und einen Schreib-/Lese-Speicher (RAM) 59. Der Fachmann sieht, daß die Schnittstelle 35 zahlreiche weitere Komponenten enthält, als sie in Fig. 2 dargestellt sind. Solche weiteren Komponenten sind deshalb nicht beschrieben, weil sie üblich sind und nicht angenommen wird, daß sie zum Verständnis der Erfindung notwendig sind.
  • Während ein rechnersystemfreies Gerät 21 Daten, einen Befehl oder einen Programmcode (hier kollektiv als Daten bezeichnet) sendet, konstruiert die Prozessorplatine 46 der Schnittstelle 35, die in dem Gerät untergebracht ist, ein Paket von Daten, die die relevante Information repräsentieren. Die Prozessorplatine 46 ermittelt die Zeit, zu der das Busnetzwerk 28 zum Versenden des Pakets verfügbar ist. Die Prozessorplatine 46 sendet das Paket zu der E/A-Platine 47 zur passenden Zeit, und auf den Erhalt des Pakets hin sendet die IE/A-Platine das Paket über das Busnetzwerk 28 zu dem PC 20. Wenn ein rechnersystemfreies Gerät 21 Daten von einer Datenquelle empfängt, beispielsweise von dem PC 20, so empfängt die E/A- Platine 47 das Paket über das Busnetzwerk 28 und sendet das Paket zu der Prozessorplatine 46. Bei Erhalt des Pakets verarbeitet die Prozessorplatine 46 der Schnittstelle 35 das Paket und führt irgendeine passende Funktion aus, die möglicherweise das Senden eines Antwortpakets zurück zu dem PC 20 beinhaltet.
  • In typischer Weise sind rechnersystemfreie Geräte mit einer Vielfalt interner und externer Merkmalssteuerungen 2% und Merkmalsanzeige 29b ausgerüstet, die zum Steuern und zum Überwachen des Betriebs derartiger Geräte dienen, darunter ohne Beschränkung Lautstärkesteuerungen, Kanalwähler, Netzschalter, Eingangs- und Ausgangsmeßgeräte, etc. (in Fig. 1 sind interne Steuerungen und Anzeigen durch gestrichelte Linien angedeutet, während externe Steuerungen und Anzeigen durch ausgezogene Linien dargestellt sind). Die Prozessorplatinen 46 in den rechnersystemfreien Geräten 21 sind außerdem mit diesen Steuerungen und Anzeigen verbunden, um entweder die Geräte direkt zu steuern, oder um die Geräte im Verein mit anderen Prozessoren oder Steuerungen zu steuern, die sich innerhalb der Geräte befinden, basierend auf Paketen, die über das Busnetzwerk 28 empfangen wurden.
  • Das Busnetzwerk 28 gemäß Fig. 1 und 2 läßt sich bilden aus verschiedenen Kopplungsmedien wie zum Beispiel Glaskabeln oder optischen Kunststoffasern, Koaxialkabeln, verdrillten Paarkabeln, Bandkabeln und dergleichen. In der professionellen Audioindustrie ist es grundsätzlich bevorzugt, faseroptische Kabel zu verwenden, da faseroptische Kabeln in hohem Maße unempfindlich sind gegenüber elektromagnetischen Störungen, und außerdem in der Lage sind, Signale über große Strecken ohne signifikante Dämpfung zu übertragen. Wie hier beschrieben ist, wird das Busnetzwerk 28 durch optische Faserkabel gebildet. Dementsprechend ist die E/A- Platine 47 der Schnittstelle 35 nach Fig. 2 zur Verwendung mit optischen Faserkabeln aufgebaut.
  • Zum Kommunizieren über das Busnetzwerk 28 können verschiedene Netzwerk-Übertragungsprotokolle eingesetzt werden. Bei einer aktuellen Ausführungsform der Erfindung ist das zur Übertragung über das Busnetzwerk 28 verwendete Netzwerk-Kommunikationsprotokoll von dem Typ, der in dem US-Patent 5 245 604 mit dem Titel "Communication System" der Anmelderin beschrieben ist, dessen Offenbarung und Zeichnungen hier durch Bezugnahme inkorporiert sind. Das in jenem US-Patent 5 245 604 beschriebene Netzwerk-Kommunikationsprotokoll wird hier als MediaLink-Protokoll bezeichnet. Der Vorteil des MediaLink-Protokolls besteht darin, daß es eine Obergrenze für die Zeit zum Kommunizieren über das Busnetzwerk 28 vorsieht. Dies ist in Echtzeitumgebungen wie einer Musikaufführung von Bedeutung, da eine unvorhersehbare Verzögerung zu einer nicht akzeptierbaren Verzerrung führen würde. Wie dies sämtliche Netzwerk-Kommunikationsprotokolle müssen, so enthält auch das MediaLink-Protokoll einen Netzwerkresourcen-Gemeinschaftszugriff- und -verwaltungsalgorithmus, so daß nur ein Gerät zu einer gegebenen Zeit über das Busnetzwerk 28 kommuniziert, und jedes Gerät ausreichende Zugriffsmöglichkeiten auf den Bus 28 hat. Während das MediaLink- Protokoll und das Busnetzwerk derzeit bevorzugt sind, versteht sich, daß andere Netzwerkprotokolle und andere Netzwerke als der in den Fig. 1 und 2 dargestellte Typ bei aktuellen Ausführungsformen der Erfindung verwendet werden können, falls erwünscht.
  • Der Fachmann erkennt außerdem, daß ein rechnersystemfreies Gerät 21 in einer Punkt-Zu-Punkt-Konfiguration über ein Kabel an den PC 20 angeschlossen werden kann, so daß sich eine Brücke 45 erübrigt. Zur Kommunikation mit dem PC 20 würde das Gerät die Schnittstelle 35 mit der Prozessorplatine 46 und der E/A-Platine 47 enthalten. Allerdings wäre die E/A-Platine 47 speziell zur Verwendung bei der Punkt-Zu-Punkt- Konfiguration und in Verbindung mit einem speziellen Typ von Übertragungsmedium aufgebaut. Netzwerk- und Zugriffsverwaltung wären offensichtlich überflüssig, da der PC und das Gerät eine Zweipunktverbindung bilden würden. In einer solchen Zweipunktverbindung ist das Gerät über ein RS232-Kabel mit dem PC 20 verbunden. Darüber hinaus erkennt der Fachmann, daß das Koppelmedium auch ein Funkfrequenz-Koppelmedium oder irgendein anderes Koppelmedium enthalten könnte.
  • Relevante Gerätekomponenten
  • Ein rechnersystemfreies Gerät 21, das über das Netzwerk 28 an den PC 20 angeschlossen ist (Fig. 1), ist in Fig. 3 in größerer Einzelheit dargestellt. Bei dem dargestellten Ausführungsbeispiel der Erfindung ist das ausgewählte rechnersystemfreie Gerät 21 ein Zweikanal-Verstärker 22, der ein Bedien- und Anzeigefeld 48 besitzt, das seinerseits eine Reihe von Merkmalssteuerungen 29a besitzt, darunter einen ersten Regler (Überblender) 49, einen zweiten Regler 50, einen ersten Netzschalter 5 und einen zweiten Netzschalter 52, und das außerdem Merkmalsanzeigen 29b enthält, darunter ein erstes Eingangsmeßgerät 53, ein erstes Ausgangsmeßgerät 54, ein zweites Eingangsmeßgerät 55 und ein zweites Ausgangsmeßgerät 56. Jedem der Kanäle ist einer der Regler, einer der Netzschalter und eines von den Eingangs- und Ausgangsmeßgeräten zugeordnet. Wie der Fachmann aus der vorliegenden Beschreibung einer beispielhaften bevorzugten Ausführungsform der Erfindung erkennt, sind die Merkmalssteuerungen und -anzeigen gemäß Fig. 3 lediglich beispielhaft und nicht beschränkend. Andere Typen von Verstärkern könnten verschiedene Steuerungen und Anzeigen sein (so zum Beispiel Stumm-Steuerungen, Schmelzsicherungen etc.), die sich von den in Fig. 3 gezeigten unterscheiden oder zusätzlich zu diesen vorgesehen sind. Außerdem enthalten andere Geräte als die Verstärker andere Arten von Steuerungen und Anzeigen, abhängig von der Besonderheit des jeweiligen Geräts.
  • Der in Fig. 3 gezeigte Verstärker 22 ist mit der oben beschriebenen Hardware ausgestattet, die notwendig ist, um den Verstärker 22 über das Netzwerk 28 derart an den PC 20 anzuschließen, daß zwischen dem Verstärker 22 und dem PC 20 Datenpakete verschickt werden können. Insbesondere ist der Verstärker 22 mit einer Prozessorplatine 46 und einer E/A- Platine 47 ausgestattet. Was die Prozessorplatine 46 angeht, so enthält der Prozessor 41 vorzugsweise einen Festspeicher (ROM), der einen Programmcode zum Steuern der Kommunikation des Geräts mit dem PC 20 und anderen Geräten speichert. Der von dem Prozessor 41 zum Steuern der Funktionen des Verstärkers 52 verwendete EEPROM 58 speichert auch einen Teil des visuellen Netzwerkbetriebssystems. Der RAM 59 wird von dem Prozessor 41 während des Betriebs dazu benutzt, vorübergehend einige Programmcodes und Daten zu speichern, darunter eine Klassen- Datenbank, welche Beispiele für jede von dem Teil des visuellen Netzwerkbetriebssystems, der in dem EEPROM gespeichert ist, verwendeten Klasse enthält.
  • Jede der Merkmalssteuerungen 29a und Merkmalsanzeigen 29b des Verstärkers 22 beherrscht ein gewisses Merkmal oder einen Aspekt des Verstärkers und läßt sich durch einen numerischen Wert darstellen. Beispielsweise regelt der erste Regler 49 die Lautstärke, die von einem der Kanäle des Verstärkers 22 erzeugt wird. Der durch Einstellung des ersten Reglers repräsentierte Wert ist eine Dezibel-Zahl, die von dem Verstärker 22 ausgegeben wird. Der erste Netzschalter 51 ist ein weiteres Beispiel. Der erste Netzschalter steuert die Zufuhr von Leistung zu dem ersten Kanal des Verstärkers 22. Wird Leistung zugeführt, so läßt sich der Zustand des Netzschalters durch den Wert "1" darstellen. Wird keine Leistung zugeführt, kann man den Zustand des Netzschalters durch den Wert "0" darstellen.
  • Auch der Ablesewert jeder Merkmalsanzeige 29b, so zum Beispiel des ersten und des zweiten Eingangsmeßgeräts 53 und 55, läßt sich durch einen numerischen Wert darstellen. Normalerweise repräsentieren Anzeigen konstant schwankende Werte. Beispielsweise überwacht das erste Eingangsmeßgerät 53 den Leistungspegel, der in den ersten Kanal, hier mit Kanal 1 bezeichnet, des Verstärkers eingespeist wird. Da der Leistungspegel stetig schwankt, schwankt auch der den Leistungspegel repräsentierende numerische Wert, und somit auch die Ablesung des zweiten Eingangsmeßgeräts ständig. In ähnlicher Weise können jede Steuerung und jede Anzeige, die einen Aspekt irgendeines Geräts betreffen, der von einem erfindungsgemäßen graphischen Steuersystem steuerbar ist, durch einen numerischen Wert dargestellt werden.
  • Relevante Rechnerkomponenten
  • Der in den Fig. 1 und 2 vorhandene PC 20 ist in Fig. 4 in größerer Einzelheit dargestellt. Der PC 20 enthält eine Anzeige oder einen Monitor 30, eine Tastatur 31, eine Maus 32 und eine Haupteinheit 33. Der Monitor 30 enthält einen Bildschirm 34, auf dem verschiedene Elemente eines erfindungsgemäß ausgebildeten graphischen Steuersystems dargestellt sind. Die angezeigten Elemente beinhalten Fenster 36 und 38 sowie graphische Cursore 37. Eines der dargestellten Fenster 36 trägt die Bezeichnung "Netzwerkbestand", das andere dargestellte Fenster 38 trägt die Bezeichnung "Verstärker-Bedienfeld". Das Netzwerkbestand-Fenster 36 enthält drei Piktogramme 39, von denen jedes eines der rechnerfreien Geräte 21 repräsentiert, die an das Busnetzwerk 28 angeschlossen sind. Das Verstärker-Bedienfeld-Fenster 38 repräsentiert das Bedienfeld 48 des Verstärkers 22 und beinhaltet eine Mehrzahl von visuellen Gerätesteuerungen (VDCs) 40, von denen jedes wiederum graphisch eine Merkmalssteuerung 29a oder eine Merkmalsanzeige 29b repräsentiert, die zum Steuern des Verstärkers 22 dienen. Zum einfachen Verständnis werden in Fig. 4 die gleichen Bezugszeichen mit dem Zusatz "a" verwendet, um Beziehung zu sichtbaren Gerätesteuerungen (VDCs) herzustellen, die mit entsprechenden Bezugszeichen für die in Fig. 3 gezeigten Merkmalssteuerungen und -anzeigen verwendet werden.
  • Um die Arbeitsweise des erfindungsgemäßen graphischen Steuersystems zu erläutern, sind in Fig. 5 mehrere der Schlüsselkomponenten des PCs 20 dargestellt. Der Fachmann sieht, daß der PC 20 viel mehr Komponenten enthält, als sie in Fig. 5 gezeigt sind. Solche weiteren Komponenten werden hier deshalb nicht beschrieben, weil sie konventionell sind und ihr Verständnis nicht benötigt wird zum Verständnis der vorliegenden Erfindung.
  • Fig. 5 zeigt eine CPU 60, die über einen Bus 62 an einem Festspeicher (ROM) 67 und einen Schreib-/Lese-Speicher (RAM) 68 angeschlossen ist. Die CPU reagiert auf in dem ROM 67 gespeicherte und vorübergehend in dem RAM 68 gespeicherte Befehle. Der Rechner 20 enthält außerdem einen Dauerspeicher 66, beispielsweise ein Festplattenlaufwerk oder ein Floppy-Disk-Laufwerk, das mit der CPU über den Bus 62 verbunden ist. Gesteuert wird die CPU 60 von einem Teil des visuellen Netzwerkbetriebssystems 78, welches funktionell als mit dem Bus 62 gekoppelt dargestellt ist, daß aber tatsächlich in einem geeigneten Speicher der vorhandenen Speicher abgespeichert ist. Eine Klassen-Datenbank 65 enthält Beispiele für jede Klasse, die von dem visuellen Netzwerkbetriebssystem 78 verwendet werden und ist in dem RAM 68 gespeichert. Zusätzlich zu einer Anzahl von im folgenden noch zu beschreibenden Funktionen liefert das visuelle Netzwerkbetriebssystem 78 an die CPU verschiedene konventionelle Oberflächen-Betriebsdienste, darunter, jedoch nicht beschränkt hierauf, eine Netzwerk-Abfrage, eine Task-Verwaltung, das Laden und Sichern von Daten und Objekten, die Manipulation massiver Objekte und Daten, die Objekterzeugung und -Ablage sowie die Datenbank- Durchquerung.
  • Wie in Fig. 4 dargestellt ist, erzeugt bei einer aktuellen Ausführungsform der vorliegenden Erfindung das graphische Steuersystem das Fenster "Verstärker-Bedienfeld" 38 auf dem Bildschirm 34 des PCs 20. Fig. 6 zeigt das Fenster "Verstärker-Bedienfeld" in größerer Einzelheit. Das "Verstärker-Bedienfeld"-Fenster 38 ist eine vorab definierte graphische Steuerungsanzeige des Bedienfelds 48 des Verstärkers 22 gemäß Fig. 3. Folglich enthält das "Verstärker-Bedienfeld"-Fenster 38 eine VDC 40 für jede Merkmalssteuerung 29a oder Merkmalsanzeige 29b des Verstärkers 22. Da jede VDC 40 graphisch eine Steuerung oder Anzeige des Verstärkers repräsentiert, repräsentiert und steuert jede VDC 40 visuell den Wert, der aktuell von ihrem Gegenstück, das heißt der Steuerung 29a oder der Anzeige 29b, repräsentiert und beherrscht wird. Das heißt: die VDCs 40 können entweder exakt externe und interne Merkmalssteuerungen 29a und -anzeigen 29b auf dem Bildschirm 34 abbilden, die ein Benutzer an dem Verstärker 22 finden würde, oder die VDCs können funktionell derartige Steuerungen und Anzeigen repräsentieren. Beispielsweise kann ein Drehknopf an dem Verstärker 22 funktionell von einem VDC in der Form einer Schiebeanzeige repräsentiert werden, oder ein VDC in Form einer linearen Skala oder einer Ziffernanzeige kann dazu dienen, funktionell eine Wählscheibenanzeige zu repräsentieren. Der Fachmann sieht, daß für jedes Gerät 21 an dem Netzwerk 28 das erfindungsgemäße graphische Steuersystem eine vorab definierte graphische Steueranzeige erzeugt, die das Bedienfeld des Geräts wiederspiegelt, wobei die graphische Steuerungsanzeige eine VDC 40 für jede Steuerung 29a und Anzeige 29b des Geräts enthält.
  • Zusätzlich zu der graphischen Darstellung von internen und externen Merkmalssteuerungen 29a und -anzeigen 29b steuert und repräsentiert visuell jede VDC 40 den Wert, der aktuell von seinem Steuerungs- oder Anzeige-Gegenstück repräsentiert und beherrscht wird. Unter Verwendung der obigen Beispiele steuert die VDC 49a, welche graphisch den ersten Regler 49 des Verstärkers 22 repräsentiert, die Lautstärke des Verstärkers dadurch, daß sie einen Wert erzeugt, der durch die Einstellung des VDC 49a repräsentiert wird, nämlich in Form der Dezibel-Zahl, die von dem Verstärker ausgegeben wird. Die VDC 51a, die graphisch den ersten Netzschalter 51 des Verstärkers 22 repräsentiert, steuert ein Binärsignal, welches für den Wert "1" steht, wenn Leistung zugeführt wird, und für den Wert "0" steht, wenn keine Leistung zugeführt wird. Die VDC 53a, die graphisch das erste Eingangsmeßgerät 53 des Verstärkers repräsentiert, repräsentiert und überwacht den zu dem in das Gerät zu jedem Zeitpunkt eingegebenen Leistungspegel gehörigen Wert.
  • Da die VDCs 40 die Steuerungen 29a und Anzeigen 29b eines Geräts 21 repräsentieren, versteht sich, daß das erfindungsgemäße graphische Steuersystem externe, manuell betätigbare Steuerungen und Anzeigen überflüssig macht. Bei einer aktuellen Ausführungsform der vorliegenden Erfindung werden die Geräte 21 an dem Netzwerk 28 von dem PC 20 vollständig gesteuert und enthalten keinerlei externe, von Hand betätigbare Merkmalssteuerungen und Merkmalsanzeigen. Die Beseitigung externer Merkmalssteuerungen und Merkmalsanzeigen verringert die Kosten und Schwierigkeiten bei der Fertigung der rechnersystemfreien Geräte. Während die Erfindung in einer Weise implementiert werden kann, die darauf abzielt, externe Steuerungen und Anzeigen bei rechnersystemfreien Geräten überflüssig zu machen, so versteht sich, daß bei einigen Ausführungsformen der Erfindung der Wunsch bestehen kann, daß auch externe Steuerungen und Anzeigen vorhanden sind.
  • Wie in Fig. 6 gezeigt ist, repräsentieren andere VDCs 49a, 50a und 53a graphisch den ersten Regler 49, den zweiten Regler 50 und das erste Eingangsmeßgerät 53 des in Fig. 3 dargestellten Verstärkers 22. Ferner wird das zweite Eingangsmeßgerät 55 graphisch durch eine andere VDC 55a repräsentiert, während das erste und das zweite Ausgangsmeßgerät 54 und 56 graphisch von noch anderen VDCs 54a bzw. 56a graphisch dargestellt werden. Schließlich repräsentieren noch weitere VDCs 51a und 52a den ersten bzw. zweiten Netzschalter 51, 52.
  • Die VDCs 40 unterscheiden sich von den in Fig. 4 dargestellten Piktogrammen 39 dadurch, daß jedes Piktogramm eine statische graphische Darstellung des gesamten Geräts selbst ist. Bloßes Auswählen eines Piktogramms mit Hilfe der Maus steuert nicht die Merkmalssteuerungen 29a und -anzeigen 29b des Geräts. Vielmehr ist eine VDC 40 eine dynamische graphische Kopie oder Darstellung der Merkmalssteuerungen 29a und Merkmalsanzeigen 29b eines Geräts 21, welches die gleichen Eigenschaften und Kennwerte eines Steuer- oder Anzeige-Gegenstücks aufweist. Um daher die Ausführung einer der Steuerungen oder Anzeigen des Verstärkers 22 nach Fig. 3 unter Verwendung des erfindungsgemäßen graphischen Steuersystems einzuleiten, manipuliert der Benutzer den Cursor 37 mit Hilfe der Maus 32, so daß der Cursor über der gewünschten VDC 40 in dem "Verstärker-Bedienfeld"-Fenster 36 steht. Der Fachmann erkennt, daß anstelle der Maus auch irgendein anderes herkömmliches graphisches Steuerelement verwendet werden kann, so zum Beispiel ein Track-Ball, eine Joystick, ein Berührbildschirm oder dergleichen. Beispielsweise repräsentiert die VDC 49c den ersten Regler 49 und dient zum Regulieren der Lautstärke des Kanals 1 des Verstärkers 22. Folglich ist der durch die Einstellung dieser VDC 49a repräsentierte Wert die von dem Verstärker ausgegebene Lautstärke, die man in Dezibel zur Anzeige bringen kann. Um die Lautstärke des Kanals 1 des Verstärkers mit Hilfe der ersten Regler-VDC 49a zu erhöhen, manipuliert der Benutzer den Cursor 37 mit der Maus 32 so, daß der Cursor sich über einem visuellen Steuerelement oder Geräte-"Knopf" 301 befindet, der Teil der ersten Regler-VDC 49a ist. Dann "greift" der Benutzer den Knopf 301 unter Verwendung einer vorbestimmten Funktion, beispielsweise durch Drücken der Maustaste, und er bewegt den Knopf durch entsprechende Bewegung der Maus nach oben. Dann läßt der Benutzer den Knopf 301 los, indem er die Taste an der Maus losläßt. Im Ergebnis wird die erste Regler-VDC 49a graphisch manipuliert und zurückgestellt, was in einer Änderung des durch den ersten Regler- VDC 49a repräsentierten Werts resultiert. Diese Änderung des Werts wird dann von dem graphischen Steuersystem gemäß der Erfindung an den Verstärker 22 übermittelt, wo das graphische Steuersystem die Verstärkerschnittstelle 35 veranlaßt, die Lautstärke der Kanals 1, die von dem ersten Regler 49 gesteuert wird, derart einzustellen, daß sie der Änderung des Werts entspricht.
  • Logischerweise kann der erste Regler 49 auch von Hand, elektrisch oder durch Steuerung seitens eines anderen PCs, der an das Busnetzwerk 28 angeschlossen werden kann, beeinflußt werden. Wenn zum Beispiel die Lautstärke des Kanals 1 des Verstärkers 22 von Hand erhöht wird, indem der erste Regler 49 von Hand betätigt wird, ergibt sich hierdurch eine Änderung des von dem ersten Regler repräsentierten Werts. Das graphische Steuersystem übermittelt die Änderung des Werts an den PC 20, so daß das visuelle Gerätesteuerelement, das heißt der Knopf 301 der ersten Regler- VDC 49a in diesem Fall, in einer Weise regeneriert wird, daß hierdurch visuell die Änderung des Werts wiedergespiegelt wird.
  • Einige der in Fig. 6 dargestellten VDCs 40 repräsentieren Merkmalanzeigen, die kontinuierlich aktualisiert werden. Beispielsweise überwacht das erste Eingangsmeßgerät 53 den in den Kanal 1 des Verstärkers 22 zu jedem gegebenen Zeitpunkt eingespeisten Leistungspegel. Der den Leistungspegel repräsentierende Wert, der durch das erste Eingangsmeßgerät 53 angezeigt wird, schwankt ständig. Somit übermittelt das graphische Steuersystem kontinuierlich diese Werteänderung an den PC 20. Die Oberflächen-Betriebsdienste, die von dem VNOS 78 bereitgestellt werden, fragen ständig das Busnetzwerk 78 bezüglich derartiger Werteänderungen ab. Im Ergebnis ändert sich, wenn die VDC 53a für das erste Eingangsmeßgerät regeneriert wird, dessen visuelles Gerätesteuerelement oder die Steuerelementanzeige in dem "Wert" entsprechend der tatsächlichen Schwankung des ersten Eingangsmeßgeräts 53. Im Ergebnis kann ein Benutzer das erste Eingangsmeßgerät 53 des Verstärkers 22 am Bildschirm 34 überwachen.
  • Das Element des graphischen Steuersystems, das den PC 20 und die Geräteschnittstelle 35 derart steuert, daß die VDCs 40 die Merkmalssteuerungen 29a und -anzeigen 29b des visuellen Netzwerkbetriebssystems 78 kopieren und steuern, wird als nächstes beschrieben.
  • Das visuelle Netzwerkbetriebssystem
  • Fig. 7 ist ein Ablaufdiagramm, das sie Steuer- und Überwachungsfunktionen veranschaulicht, die von dem visuellen Betriebssystem (VNOS) 78 gemäß der Erfindung ausgeführt werden, außerdem die Reihenfolge, in der diese Funktionen ausgeführt werden. Wie oben angemerkt, ist das VNOS 78 ein verteiltes Betriebssystem, welches teilweise in dem PC 20 und teilweise in den Schnittstellen 35 der Geräte 21 abgespeichert ist. Der Hauptteil ist in dem PC gespeichert. Blöcke 80, 81 und 82 repräsentieren die Funktionen des VNOS, welche den Betrieb des PC 20 steuern, und Blöcke 83, 84 und 85 repräsentieren die Funktionen des VNOS, die die Schnittstelle 35 eines Geräts 21 steuern.
  • Beginnend beim Block 80, generiert das VNOS eine graphische Steueranzeige auf dem Bildschirm 34 des PCs 20, die eine Anzahl von VDCs 40 enthält. Wie oben beschrieben, stellt jede VDC (visuelle Anzeigesteuerung; Visual Display Control) graphisch eine entsprechende Merkmalssteuerung 29a oder Merkmalsanzeige 29b eines der zu steuernden Geräte (Fig. 1) dar. Zusätzlich zu Anzeigegraphiken repräsentiert jede VDC einen speziellen Wert, der zu einer entsprechenden Steuerung 29a oder Anzeige 29b gehört. Wann immer der Benutzer eine VDC mit Hilfe der Maus 32 oder mit einer anderen Steuereinrichtung in geeigneter Weise manipuliert, ergibt sich eine Änderung des dazugehörigen Werts. Folglich interpretiert das VNOS im Block 81 den Wert, der dann in dem RAM 68 des PCs 20 gespeichert wird. Bei einigen Ausführungsformen der Erfindung kann das VNOS außerdem den Wert manipulieren und ändern, bevor er abgespeichert wird. Im Block 82 übermittelt das VNOS die Werteänderung entsprechend der Merkmalssteuerung oder -anzeige zu dem dazugehörigen Gerät 21 über das Busnetzwerk 28.
  • Vorrückend zu dem Block 83 in der Geräteschnittstelle 35 empfängt das VNOS die Änderung des Werts, der zu der Merkmalssteuerung 29a oder -anzeige 29b gehört. Im Block 84 interpretiert und speichert das VNOS die Werteänderung im. RAM 59 an der Schnittstelle 35. Wiederum kann bei einigen Ausführungsformen das VNOS den Wert weiter manipulieren und ändern, bevor er ihn abspeichert. Schließlich veranlaßt das VNOS im Block 85 die Schnittstelle 35, die entsprechende Steuerung oder Anzeige nach Maßgabe der Änderung des Werts, die in dem Schnittstellen-RAM abgespeichert ist, einzujustieren.
  • Während das VNOS 78 des erfindungsgemäßen graphischen Steuersystems teilweise für die Verwendung in Vorwärtsrichtung mit Start beim Block 80 und weiterschreitend zum Block 85 ausgelegt ist, kann es bei einigen Ausführungsformen der Erfindung wünschenswert sein, daß das Gerät 21 von einer am Gerät befindlichen Steuerung 29a von Hand betätigt wird, oder daß es von einem anderen Rechner betätigt wird. Darüber hinaus kann eine Steuerung 29a oder eine Anzeige 29b automatisch und elektrisch durch einen intern generierten Befehl einjustiert werden, wie dies der Fall bei Meßgeräten und Temperaturfühlern ist, die sich konstant ändernde Werte überwachen. In derartigen Fällen wird die Reihenfolge, in der das VNOS arbeitet, gemäß Fig. 7 umgekehrt, so daß die Übermittlung im Block 85 beginnt und zum Block 80 fortschreitet. In diesem Fall wird eine Änderung des Werts, die sich aus einer Einjustierung einer Merkmalssteuerung oder -anzeige am Gerät 21 ergibt, von dem Gerät an andere Geräte oder an den PC übermittelt. Im Ergebnis wird die die Steuerung oder Anzeige auf dem Bildschirm 34 des PCs repräsentierende VDC entsprechend der Änderung des Werts regeneriert.
  • Das objektorientierte Programmier-Musterbeispiel des VNOS
  • Um die in Fig. 7 allgemein dargestellten und oben beschriebenen Funktionen zu verwirklichen, verwendet das VNOS 78 ein objektorientiertes Programmier-Musterbeispiel, um rechnersystemfreie Geräte 21 darzustellen. Ein grundlegender Aspekt von objektorientierten Programmier- Musterbeispielen besteht darin, daß Objekte in hierarchischer Weise zu Klassen organisiert werden können. Klassen sind abstrakte generische Beschreibungen von Objekten und ihrer Verhaltensweisen. Eine Klasse definiert eine gewisse Kategorie oder Gruppierung von Verfahren und Daten innerhalb eines Objekts. Verfahren stellen die "Intelligenz" einer Klasse dar und beinhalten Prozeduren oder Codes, die auf die Daten einwirken. Auf Daten angewendete Verfahren definieren das Verhalten eines Objekts. Diese Konzentration von Intelligenz in den Verfahren von Objektklassen ist wesentlich für objektorientierte. Systeme. Sie ermöglicht Wartungsbemühungen in großem Maßstab, da die Verfahren oder die Intelligenz von Objekten von ihrer Klasse vererbt werden. Die Durchführung einer einmaligen Änderung in den Verfahren einer Klasse hat automatisch Einfluß auf Änderungen in den Verfahren sämtlicher Objekte dieser Klasse und deren Unterklassen.
  • Wie in Fig. 8 gezeigt ist, läßt sich ein Objekt 90 durch ein Doughnut modellieren, wobei die Daten 92 sich in der Mitte des Doughnuts befinden. Die Daten 92 repräsentieren verschiedene Attribute des Objekts 90, darunter jedoch ohne Beschränkung, Adressen in dem Speicher für Beispiele des Objekts, eine mehr Objekte enthaltende Datenbank und Zeiger auf andere Objekte. Um den Außenbereich des Doughnuts herum sind zwei Zonen angesiedelt, die als generische Verfahren 96 und 98 bezeichnet werden, außerdem eine weitere Zone, bezeichnet als klassenspezifische Verfahren 94, die von dem erfindungsgemäßen graphischen Steuersystem dazu benutzt werden, mit den Daten 92 zu interagieren.
  • Ein weiterer grundlegender Aspekt der objektorientierten Programmierung ist der, daß Objekte interoperabel, das heißt kompatibel sind. In dieser Hinsicht umgeben die generischen Verfahren 96 und 98 und die klassenspezifischen Verfahren 94, die mit den Daten 92 interagieren, die Daten vollständig und kapseln die Daten gewissermaßen ein. Nur die Verfahren im äußeren Bereich des Doughnuts dürfen irgend etwas über die Daten wissen. Die Verfahren trennen die eingekapselten Daten von den übrigen Teilen des Systems ab, wodurch das Objekt mit anderen Objekten kompatibel macht, ungeachtet der von solchen Objekten besessenen Daten. Der Benutzer kann das System modifizieren, wenn an dem Netzwerk neue Geräte auftauchen oder von dem Netzwerk verschwinden, indem er lediglich die Daten ändert, da ein Objekt kompatibel ist und man sich nur die Daten ändert, da ein Objekt kompatibel ist und man sich nur darum kümmern muß, wie es die Daten repräsentiert, für die es verantwortlich ist.
  • Ein noch weiterer grundlegender Aspekt der objektorientierten Programmierung besteht darin, daß Objekte zusammensetzbar sind, das heißt die die Daten umgebende Verfahren können vorab definiert und später modifiziert werden. Generische Verfahren 96 und 98 um den äußeren Teil des Doughnuts herum sind generische Verfahren, die sich in sämtlichen Objekten einer Klasse befinden. Generische Verfahren 96 sind grundsätzlich solche, die dazu dienen, die Daten 92 zu übersetzen in eine lineare textliche Darstellung, so daß die Daten in eine Textdatei innerhalb des Speichers 66 des PCs 20 und aus der Textdatei herausgelenkt werden können mit Hilfe von Oberflächen-Betriebsdiensten des VNOS 78. Generische Verfahren 96 werden verwendet, wenn der Benutzer eine vollständige Sicherung oder Wiederherstellung sämtlicher Objekte beim Herunterfahren oder Hochfahren des PCs verlangt. Generische Modelle 96 werden auch als Verfahren "Interpretieren und Beschreiben" bezeichnet. Generische Verfahren 98 sorgen filz die Kommunikation zwischen Objekten einschließlich Verfahren zum Generieren von Zeigern auf andere Objekte und Verfahren, um Nachrichten an andere Objekte zu senden.
  • Im Gegensatz zu generischen Verfahren 96 und 98 sind klassenspezifische Verfahren 94 für eine spezielle Klasse einzigartig. Die klassenspezifischen Verfahren 94 schaffen üblicherweise die Logik, die spezielle Verhaltensweisen des Objekts 90 implementiert, die für die spezielle Klasse einzigartig sind.
  • Fig. 9A zeigt ein objektorientiertes Programmier-Musterbeispiel aus der klassenhierarchischen Perspektive, verwendet durch den Teil des VNOS 78, der in dem PC gespeichert ist. Bei einem objektorientierten Programmier-Musterbeispiel werden Objekte zu Klassen kategorisiert, wobei eine Klasse eine Kategorie von Verfahren und Daten innerhalb ihrer Objekte definiert. Verfahren in Anwendung auf Daten definieren das Verhalten eines Objekts. Ein instanzliches Beispiel ist ein spezifisches Objekt mit dem durch seine Klasse definierten Verhaltensweisen. Das objektorientierte Programmier-Musterbeispiel, das von dem in dem PC 20 gespeicherten Teil des VNOS 78 verwendet wird, verwendet vornehmlich fünf verschiedene Objekte ein Fenster-Objekt 100, ein visuelles Referenz-Objekt 102, ein Wertsteuerelement-(WSE-)Objekt 104, ein Geräte-Objekt 106 und ein Paket-Objekt 108. Jedes Objekt ist dargestellt als eine Klasse unterhalb der Klasse "Objekt" 90. Kurz gesagt, enthalten Fensterobjekte 100 die Daten und die Verfahren, die zum Anzeigen eines Fensters auf einem Rechnerbildschirm 34 benötigt werden; visuelle Referenzobjekte 102 enthalten die Verfahren und Daten, die zum Generieren eines Piktogramms 39 oder einer VDC 40 eines Fensterobjekts erforderlich sind; Wertsteuerelement- (WSE-)Objekte 104 enthalten den von einer VDC repräsentierten Wert und die diesen Wert manipulierenden Verfahren; Geräteobjekte 106 enthalten die Verfahren und Daten zum Kommunizieren mit einem speziellen Typ von rechnersystemfreiem Gerät 21 und zum Verwalten einer graphischen Steueranzeige dieses Geräts; und Paketobjekte 108 enthalten die Verfahren und Daten zum Kommunizieren von Daten zwischen einem Gerät 21 und dem Rechner 20 über das Busnetzwerk 28.
  • Wie dem Fachmann auf dem Gebiet der objektorientierten Programmierung leicht ersichtlich ist, lassen sich die Fenster-, visuellen Referenz-, WSE-, Geräte- und Paketobjekte (die als Klassen in Fig. 9A dargestellt sind) in weitere Unterklassen unterteilen. Beispielsweise kann das Geräteobjekt 106 in Unterklassen von Verstärkern, Entzerrern, CD-Playern und dergleichen unterteilt werden. Jede dieser Unterklassen kann dann wiederum unterteilt werden. Beispielsweise läßt sich die Unterklasse von Verstärkern unterteilen in Unterklassen von Verstärkern, wobei jede Unterklasse von einem speziellen Hersteller hergestellte Verstärker enthält.
  • Fig. 9A zeigt auch die Beziehung zwischen Objektklassen und Beispielen (das sind spezifische Objekte) in dem objektorientierten Programmier- Musterbeispiel. Wie oben bereits beschrieben, ist jedes Objekt als eine Klasse unter der Klasse "Objekt" dargestellt. Außerdem kann jede Klasse ein oder mehrere Beispiele generieren. Das "Verstärker-Bedienfeld"- Fenster 38 in Fig. 6 ist eine Möglichkeit für ein Fensterbeispiel 110 des Fensterobjekts 100, wobei das Fensterobjekt 100 als eine Klasse unter der Klasse "Objekt" dargestellt ist.
  • Eine in einem Fensterbeispiel 110 enthaltene VDC 40, beispielsweise die erste Regler-VDC 49a in dem "Verstärker-Bedienfeld"-Fenster 38 in Figur wird repräsentiert durch ein visuelles Referenzbeispiel 112 des visuellen Referenzobjekts 102. Das visuelle Referenzobjekt 102 ist auch dargestellt als eine Klasse unter der Klasse "Objekt". Jede VDC in einem Fensterbeispiel 110 wird durch dem visuellen Referenzbeispiel 112 kann ein Wertsteuerelement-(WSE-)Beispiel 114 zugeordnet sein. Falls dies so ist, wird ein WSE-Beispiel 114 generiert, wenn eine VDC 40 in dem Fensterbeispiel 110 angezeigt wird. Das WSE-Beispiel 114 enthält den speziellen Wert oder die Werteänderung, die durch die VDC repräsentiert wird. Wenn zum Beispiel die erste Regler-VDC 49 des Verstärkers 22 auf 6 Dezibel eingestellt ist, enthält das WSE-Beispiel 114 den Wert 6. Wird die erste Regler-VDC 49a auf 8 Dezibel zurückgesetzt, so wird das WSE- Beispiel 114 auf den Wert 8 geändert.
  • Zu jedem WSE-Beispiel 114 gehört ein Gerätebeispiel 116. Eine Möglichkeit für ein Gerätebeispiel 116 ist der Verstärker 22. Ein Gerätebeispiel existiert für jedes an dem Netzwerk befindliche Gerät 21. Darüber hinaus kann jedem Gerätebeispiel 116 ein Paketbeispiel 118 zugeordnet sein. Jedes Paketbeispiel 118 repräsentiert entweder ein ankommendes oder ein abgehendes Paket, das zwischen einem Gerät 21 und dem PC 20 über das Busnetzwerk 28 übermittelt wird.
  • Eine ausführlichere Beschreibung jedes der fünf von dem VNOS 78 verwendeten Objekte erfolgt nachstehend. Wie in Fig. 8 dargestellt und oben beschrieben ist, enthält das Objekt 90 Daten 92, generische Verfahren 96 und 98 und klassenspezifische Verfahren 94. Jedes der von dem VNOS 78 verwendeten und als eine Klasse unterhalb der Klasse "Objekt" 90 dargestellten fünf Objekte vererbt Daten 92, generische Verfahren 96 und 98 und klassenspezifische Verfahren 94, während neue Daten und Verfahren hinzugefügt werden. Fig. 9B veranschaulicht die neuen und vererbten Verfahren und Daten, die in jedem der in Fig. 9A dargestellten fünf Objekte enthalten sind. Da die Verfahren und Daten innerhalb jedes der fünf Objekte Verfahren und Daten beinhalten, die aus der Klasse "Objekt" 90 ererbt wurden, zusätzlich neuer Verfahren und Daten, spiegeln die in Fig. 9B verwendeten Bezugszeichen zum Identifizieren der Verfahren und Daten innerhalb jedes der fünf Objekte solche Bezugszeichen, die zum Identifizieren der Verfahren und Daten des Objekts 90 verwendet sind.
  • Nunmehr auf Fig. 9B bezugnehmend, liefert jedes Fensterobjekt 100 die Daten und Verfahren, die zum Anzeigen eines Fensters auf dem Bildschirm 34 benötigt werden. Die von einem Fensterobjekt 100 besessenen Daten 502 umfassen eine Datenbank von visuellen Referenzobjekten 102 und eine Liste von Zeigern aufzugehörige visuelle Referenzobjekte, WSE- Objekte, Geräteobjekte und weitere Fensterobjekte. Wie oben angemerkt, umfassen die in dem Fensterobjekt 100 enthaltenen generischen Verfahren 506 und 508 ererbte generische Verfahren 96 und 98 aus der Klasse "Objekt" 90 und neue Verfahren. Folglich übersetzen die generischen Verfahren 506 Objektdaten 502 in eine lineare textliche Darstellung, die einer Textdatei zugeleitet wird, welche sich in dem Speicher 66 des PCs 20 befindet. Derweil sorgen in einem Fensterobjekt 100 enthaltene klassenspezifische Verfahren 508 für das graphische Erscheinen eines Fensters, wie dies von der speziellen Fensterumgebung definiert wird, beispielsweise durch das Apple-Mac-OS oder Microsoft-Windows. Darüber hinaus sorgen die klassenspezifischen Verfahren 504 für die Organisation der Piktogramme 39 und der VDCs 40 innerhalb des Fensterobjekts 100. Die generischen Verfahren 508 des Fensterobjekts sorgen für eine Kommunikation zwischen den übrigen vier Klassen der Objekte.
  • Der Zweck eines visuellen Referenzobjekts 102 besteht darin, sichtbare Bildschirmwesen zu generieren, so zum Beispiel Piktogramme 39 oder VDCs 40 innerhalb der Fensterobjekte 100. Die klassenspezifischen Verfahren 524 der visuellen Referenzobjekte 102 generieren das graphische allgemeine Erscheinungsbild eines Piktogramms 39 oder einer VDC 40.
  • Die klassenspezifischen Verfahren 524 eines visuellen Referenzobjekts 102 können auch dazu benutzt werden, einen Stil oder eine funktionelle Darstellung einer VDC 40 zu ändern. Unter Verwendung eines zuvor angegebenen Beispiels können die von einem Benutzer bereitgestellten klassenspezifischen Verfahren 524 veranlassen, daß eine ursprünglich in Form einer Wählscheibenanzeige vorhandene VDC umgestaltet wird in eine lineare Skala oder eine Ziffernanzeige. Außerdem können klassenspezifische Verfahren 524, die von dem Benutzer geliefert werden, den Typ, die Farbe, die Form, die Größe, die Orientierung oder Betriebsschwellenwerte einer VDC 40, einen Stil oder eine funktionelle Darstellung einer VDC 40 ändern. Unter Verwendung eines früheren Beispiels können von einem Benutzer bereitgestellte klassenspezifische Verfahren 524 eine ursprünglich in der Form einer Wählscheibenanzeige vorliegende VDC veranlassen, als lineare Skala oder numerische Anzeige regeneriert zu werden. Außerdem können von dem Benutzer gelieferte klassenspezifische Verfahren 524 den Typ, die Farbe, Form, Größe, Orientierung oder Betriebsschwellenwerte einer VDC 40 ändern. Ein Benutzer lädt einfach einen Code der klassenspezifischen Verfahren, die von dem Hersteller geliefert werden, in das visuelle Referenzobjekt 102 oder "setzt es ab", um die kundenspezifische VDC zu generieren. Weitere Einzelheiten bezüglich der automatischen Regenerierung von graphischen Dimensionen einer VDC finden sich im folgenden.
  • Schließlich enthalten die Daten 522 eines visuellen Referenzobjekts 102 eine Liste von Zeigern zu anderen Fensterobjekten, wie es WSE-Objekten, Geräteobjekten und anderen visuellen Referenzobjekten gleichen Ursprungs. Die generischen Verfahren 526 eines visuellen Referenzobjekts 102 sorgen für die Übersetzung der Daten 522 des visuellen Referenzobjekts, während die generischen Verfahren 528 für eine Kommunikation zwischen dem visuellen Referenzobjekt 102 und den übrigen Objekten sorgen.
  • Das WSE-Objekt 104 dient zum Interpretieren, Speichern und möglicherweise weiteren Manipulieren des von einer VDC 40 dargestellten Werts.
  • Die Daten 522 eines WSE-Objekts 104 umfassen den von der VDC repräsentierten Wert. Wenn also eine VDC von dem Benutzer manipuliert wird, um eine Änderung des angezeigten Werts zu veranlassen, ändern sich die WSE-Objekt-Daten 542 in entsprechender Weise. Der in den WSE-Objekt- Daten 542 enthaltene Wert kann einer weiteren Manipulation unterzogen werden, wie dies durch die klassenspezifischen Verfahren 544 des WSE- Objekts 104 ermöglicht wird. Beispielsweise können die klassenspezifischen Verfahren 544 den Wert weiter dadurch ändern, daß eine Skalierfunktion bezüglich des Werts ausgeführt wird, oder daß ein numerischer Wert in einen Textwert umgewandelt wird. Wie bei visuellen Referenzobjekten 102 kann ein Benutzer einen Code mit klassenspezifischen Verfahren in das WSE-Objekt 104 laden, indem er die Benutzeroberflächen- Dienste des Teils des VNOS 78 nutzt, der in dem Rechner 20 abgespeichert ist.
  • Wie im Fall jedes anderen Objekts enthalten die WSE-Objekt-Daten 542 eine Liste von Zeigern, die sich auf zugehörige Fenster-, visuelle Referenz-, WSE-, Geräte- und Paketobjekte und generische Verfahren 546 beziehen, um eine Kommunikation zwischen diesen Objekten zu ermöglichen. Im Gegensatz zu dem Fensterobjekt 100 und zu dem visuellen Referenzobjekt 102 allerdings erscheint das WSE-Objekt selbst nicht auf dem Rechnerbildschirm 34. Folglich sind die klassenspezifischen Verfahren 544, die normalerweise das Aussehen eines WSE-Objekts steuern, nicht vorhanden.
  • Bei einer der bevorzugten Ausführungsformen des VNOS 78 können die Daten 542 und die klassenspezifischen Verfahren 544 von WSE-Objekten 104 dazu benutzt werden, "Master"- und "Slave"-WSE-Objekte zu definieren, wobei ein Master-WSE-Objekt dazu benutzt werden kann, ein Slave- WSE-Objekt zu steuern. Bei dieser Ausführungsform enthalten WSE- Objekt-Daten 542 eine Liste von Zeigern auf Slave- und Master-WSE- Objekte, während die klassenspezifischen Verfahren eine Logik zum Manipulieren von Slave- und Master-WSE-Objekten darstellen. Weitere Einzelheiten dieses Aspekts der Erfindung werden unten angegeben.
  • Ein Geräteobjekt 106 enthält die Verfahren und Daten zum Kommunizieren mit einem speziellen Typ von Geräten 21 und zum Verwalten einer graphischen Steueranzeige, das heißt einer graphischen Darstellung dieses Geräts in einem Fenster. Die Daten 562 des Geräteobjekts 106 enthalten eine Datenbank verwandter WSE-Objekte 104 und eine Liste von Zeigern auf andere Geräteobjekte der selben Klasse. Generische Verfahren 566 eines Geräteobjekts 106 sorgt für eine Datenübersetzung, während generische Verfahren 568 eines Geräteobjekts für die Kommunikation zwischen dem Geräteobjekt und den vier anderen Objekten sorgen. Klassenspezifische Verfahren 564 eines Geräteobjekts sorgen für spezielle Fenster-, Paket- und WSE-Objekt-Handhabung und die Verwaltung der graphischen Steueranzeige oder der graphischen Darstellung eines Geräts 21 in einem Fenster, so zum Beispiel eines "Verstärker-Bedienfeld"-Fensters 38, wie es in Fig. 4 gezeigt ist.
  • Ein Paketobjekt 108 enthält die Verfahren und Daten zum generischen Übermitteln zwischen einem Gerät 21 und dem Rechner 20 über das Busnetzwerk 28. Darüber hinaus enthalten die Daten 582 eines Paketobjekts 108 eine Liste von Zeigern auf verwandte WSE-Objekte 104 und Geräteobjekte 106. Die Daten 582 eines Paketobjekts enthalten Geräteinformation, die über das Netzwerk in einem Datenpaket zu übertragen ist. Folglich enthalten Paketobjekt-Daten 582 den Wert oder die Werte, die von einer oder mehreren VDCs dargestellt und in einem oder mehreren WSE gespeichert sind. Klassenspezifische Verfahren 584 eines Paketobjekts 108 sorgen für eine Nachrichtenübertragung zwischen dem PC 20 und den Geräten 21 über das Netzwerk 28 mit Hilfe verschiedener Ports oder im Verein mit dem MediaLink-Protokoll.
  • Per Definition ist ein Beispiel ein spezifisches Objekt, dessen Verhaltensweisen durch seine Klasse definiert wird. Ein Beispiel erbt sämtliche Verfahren seiner Klasse, ihm sind jedoch spezielle Daten zugeordnet, die einzigartig sind. Folglich erbt jedes Beispiel 110 bis 118 die generischen und die klassenspezifischen Verfahren seiner Klasse. Beispielsweise erbt ein Fensterbeispiel 110 die generischen Verfahren 506 und 508, und die klassenspezifischen Verfahren 504 des verwandten Fensterobjekts 100. Damit enthält ein Fensterbeispiel generische Verfahren 516 und 518, außerdem klassenspezifische Verfahren 514 zusätzlich zu einzigartigen Daten 512. In ähnlicher Weise enthalten die Daten und die Verfahren der übrigen Beispiele generische Verfahren, klassenspezifische Verfahren und Daten. Die Fenster-, visuellen Referenz-, WSE-, Geräte- und Paketbeispiele befinden sich in der Klassen-Datenbank 65, die in dem RAM 68 des PCs gespeichert sind.
  • Das graphische Steuersystem
  • Wie oben beschrieben wurde, enthält die bevorzugte Ausführungsform des erfindungsgemäßen graphischen Steuersystems einen PC 20, eine Schnittstelle 35 für jedes rechnersystemfreie Gerät 21 mit mindestens einer Merkmalssteuerung 29a oder -anzeige 39b, ein Busnetzwerk 28 zum Verbinden des Rechners 20 mit der Schnittstelle oder den Schnittstellen 35, und ein VNOS 78, basierend auf dem soeben beschriebenen objektorientierten Programmier-Musterbeispiel. Ausführungsformen dieses graphischen Steuersystems lassen sich am besten verstehen, indem man die derzeit bevorzugte Ausführungsform des VNOS 78 sowie das objektorientierte Programmier-Musterbeispiel, in welchem es vorhanden ist, beschreibt. Eine solche Beschreibung soll jetzt erfolgen.
  • Kurz zurückkehrend zu Fig. 7, sind es die Fenster-, visuellen Referenz-, WSE-, Geräte- und Paketbeispiele, welche die in den oben beschriebenen Blöcken 80 bis 85 dargestellten Funktionen des VNOS 78 ausführen. Der Fluß der Nachrichten zwischen diesen Beispielen innerhalb des objektorientierten Programmier-Musterbeispiels wird im folgenden ausführlich beschrieben. Zum Zweck der klaren Darstellung sind die jedes Beispiel ver knüpfenden Zeiger weggelassen, so daß nur noch der Nachrichtenfluß zwischen den Beispielen in den dazugehörigen Figuren dargestellt ist. Allerdings erkennt der Fachmann auf dem Gebiet der objektorientierten Programmierung, daß der Nachrichtenfluß denjenigen Wegen folgt, die durch die die Beispiele verknüpfenden Zeiger geschaffen werden. Darüber hinaus sieht der Fachmann, daß der Fluß von Nachrichten bidirektional ist, was bedeutet, daß Nachrichten zwischen den Beispielen in jeder Richtung laufen können. Eine Ausnahme gibt es für Nachrichten, die zu und von Paketbeispielen gesendet werden, da Paketbeispiele entweder vom Busnetzwerk 28 kommen oder an das Busnetzwerk gehen.
  • Fig. 10 veranschaulicht eine aktuelle Ausführungsform der Erfindung, bei der das graphische Steuersystem dem Benutzer signalisiert, daß ein Gerät am Netzwerk erschienen ist. Bei dieser speziellen Ausführungsform generiert das VNOS 78a das Fensterbeispiel 120 auf dem Bildschirm 24 des PCs 20. Zum Zweck der Veranschaulichung und Kontinuität ist das in Fig. 10 gezeigte Fensterbeispiel 120 ein "Netzwerkbestand"-Fenster 38, wie es in Fig. 4 dargestellt ist.
  • Wenn ein Gerät 21, beispielsweise der Verstärker 22, der Tuner 24 oder der graphische Entzerrer 26 zunächst am Netzwerk 40 erscheinen, sendet die Geräteschnittstelle 35 ein spezielles Paket über das Netzwerk 40 ab, welches das Gerät ankündigt. Die durch den im Rechner 20 abgespeicherten Teil des VNOS 78 bereitgestellten Benutzeroberflächen-Dienste fragen kontinuierlich das Netzwerk bezüglich von Geräten kommenden Paketen ab. Bei Empfang des speziellen Pakets transformieren die Benutzeroberflächen-Dienste das Paket in ein ankommendes Paketbeispiel 128, 138 oder 148, erzeugen ein Gerätebeispiel 126, 136 oder 146 für ein neues Gerät, und erzeugen ein visuelles Referenzbeispiel 122, 132 oder 142. Das Paketbeispiel 128, 138 oder 148 sendet eine Nachricht an das Gerätebeispiel 126, 136 bzw. 146, um es über das Vorhandensein des Geräts zu unterrichten. Nach der Unterrichtung sendet das Gerätebeispiel 126, 136 oder 146 eine Nachricht an ein visuelles Referenzbeispiel 122, 132 oder 142. Das visuelle Referenzbeispiel 122, 132 oder 142 liefert dann generische Verfahren 526 (Fig. 9B) zum Generieren eines Piktogramms 400, 402 oder 404, welches da s Gerät in dem Fensterbeispiel 120 repräsentiert. Das Erscheinungsbild des Piktogramms 400, 402 oder 404 auf dem Bildschirm signalisiert dem Benutzer, daß das Gerät an das Busnetzwerk 28 angeschlossen ist.
  • Angenommen, es sei eine Anzahl von Geräten 21 letztlich an das Netzwerk angeschlossen; dann enthält das Fensterbeispiel 120 mehrere Piktogramme 400, 402 und 404, von denen jedes ein Gerät 21 repräsentiert. Verwandte WSE-Beispiele 112 sind deshalb nicht notwendig, weil Piktogramme keine Merkmalsteuerungen 29a repräsentieren und mithin keinen zu einer solchen Steuerung gehörigen Wert besitzen. Um ein Gerät für die Steuerung auszuwählen, positioniert der Benutzer den Cursor 37 über dem gewünschten Piktogramm 400, 402 oder 404 und führt eine vorab definierte Funktion aus, beispielsweise einen Doppelklick an einer Maustaste. Wenn zum Beispiel der Benutzer den Verstärker 22 auswählt, repräsentiert durch das Piktogramm 400, kann ein Fensterbeispiel 140 der in Fig. 11 dargestellten Art auf dem Bildschirm 34 erscheinen.
  • Fig. 11 dient zum Veranschaulichen, wie das erfindungsgemäßen graphische Steuersystem einen Benutzer in die Lage versetzt, ein Gerät über eine graphische Darstellung zu steuern. Wie oben beschrieben, generiert das VNOS 78 ein Fensterbeispiel 140 auf dem Bildschirm 34, basierend auf der Durchführung einer vorbestimmten Funktion, wenn ein Cursor über einem Piktogramm positioniert wird. Das Fensterbeispiel 140 ist dadurch vereinfacht, daß nur ein Teil des "Verstärker-Bedienfeld"-Fensters 36 aus den Fig. 4 und 6 dargestellt ist. Insbesondere ist nur die Eingangsmeßgerät-VDC 53a für den Kanal 1 sowie die erste und die zweite Regler- VDC 49a und 50a dargestellt. Wie oben in Verbindung mit Fig. 6 diskutiert wurde, kann der Benutzer graphisch irgendeine der VDCs unter Verwendung der Maus 32 manipulieren, um den Cursor 37 zu führen und irgendeine vorab definierte Funktion auszuführen, so zum Beispiel das Klicken einer Maustaste, all dies in üblicher Weise.
  • Wenn der Benutzer die erste Regler-VDC 49a manipuliert, veranlaßt er eine Änderung oder einen Wechsel des Werts, der durch Einstellung der ersten Regler-VDC 49a repräsentiert wird. Im Ergebnis sendet das Fensterbeispiel 140 eine Nachricht an das verwandte visuelle Referenzbeispiel 162, um dies über die Änderung des Werts in Kenntnis zu setzen. Das visuelle Referenzbeispiel 162 antwortet auf zweierlei Weise. Als erstes erzeugen die generischen Verfahren 536 des visuellen Referenzbeispiels 162 die erste Regler-VDC 49a, so daß diese graphisch der Änderung des Werts entspricht. Für den Benutzer erscheint diese Regenerierung sofort. Zweitens sendet das visuelle Referenzbeispiel 162 eine Nachricht an das WSE- Beispiel 164, das zu der ersten Regler-VDC 49a gehört, um ihm die Änderung des Werts mitzuteilen. Das WSE-Beispiel 164 speichert die Wertänderung, die durch die Benutzermanipulation veranlaßt wurde, und sendet eine Nachricht an das Gerätebeispiel 166, das für den Verstärker 22 steht.
  • Die klassenspezifischen Verfahren 544 des WSE-Beispiels 164, das zu der ersten Regler-VDC 49a gehört, können den Wert zusätzlich manipulieren und ändern, bevor sie eine Nachricht an das Gerätebeispiel 166 senden. Beispielsweise kann der Benutzer den Wunsch haben, die Lautstärke auf Dezibel zu steigern. Um dies zu erreichen, benutzt der Benutzer die Maus 32, um das bewegliche Element der ersten Regler-VDC 49a auf einen 20-Dezibel-Pegel einzustellen. Während die klassenspezifischen Verfahren 544 vorab so definiert, daß der maximal zulässige Dezibelwert bei Dezibel läge, könnte der einzujustierende Pegel (20 Dezibel) nicht erreicht werden. In diesem Fall würden die klassenspezifischen Verfahren 544 den in dem WSE-Beispiel 164 zu speichernden Wert von 20 Dezibel auf 15 Dezibel ändern. Das WSE-Beispiel 164 würde dann eine Nachricht sowohl an das visuelle Referenzbeispiel 162 als auch das Gerätebeispiel 166 senden, um sie über diese Wertänderung zu informieren. Folglich würde das visuelle Referenzbeispiel 162 die erste Regler-VDC 49a in der Weise regenerieren, daß ihr bewegliches Element 15 Dezibel entspräche.
  • Erst einmal von der Wertänderung in Kenntnis gesetzt, bereiten die klassenspezifischen Verfahren 576 des Gerätebeispiels 166 ein abgehendes Paketbeispiel 178 vor, welches den neuen Datenwert 592 enthält. Das abgehende Paketbeispiel 178 wird dann von den Benutzerplattformdiensten des VNOS 78 in ein konventionelles Paket transformiert und über das Netzwerk 28 gesendet, um dem Verstärker 22 die Änderung des Werts mitzuteilen. Bei Empfang stellt die Verstärkerschnittstelle 35 dementsprechend die von dem ersten Regler 49 gesteuerte Lautstärke ein. Die Rolle des VNOS 78 bei der Geräteschnittstelle im Zuge der Einstellung beispielsweise des ersten Reglers 49 wird weiter unten näher erläutert. Wenn der Benutzer graphisch die zweite Regler-VDC 50a manipuliert, fließt praktisch der gleiche Nachrichtenfluß, nur daß der zweiten Regler- VDC 50a ihr eigenes visuelles Referenzbeispiel 172 und das eigene WSE- Beispiel 174 zugeordnet sind. Die zweite Regler-VDC 50a sendet eine Nachricht über die Wertänderung an das visuelle Referenzbeispiel 172 für den zweiten Regler, welches wiederum eine Nachricht an das zweite Regler-WSE-Beispiel 174 sendet. Das zweite Regler-WSE-Beispiel 174 sendet eine Nachricht, die das zugehörige Gerätebeispiel 166 über die Wertänderung informiert. Folglich sind sowohl die erste als auch die zweite Regler- VDC 49a und 50a mit dem gleichen Gerätebeispiel 166 verknüpft. Aus der obigen Beschreibung ist für den Fachmann auf dem Gebiet der objektorientierten Programmierung ersichtlich, daß jede VDC, die eine Steuerung 29a oder eine Anzeige 29b des Verstärkers 22 repräsentiert, über eine Folge visueller Referenzbeispiele und WSE-Beispiele mit demselben Gerätebeispiel 166 verknüpft würde, so daß jegliche Änderung eines Werts, die durch Benutzermanipulation einer VDC zustande kommt, welche eine Steuerung oder eine Anzeige des Verstärkers 22 repräsentiert, über das Busnetzwerk 28 zu dem Verstärker 22 geschleust wird. Offensichtlich gelten die gleichen Prozeduren für jedes andere rechnersystemfreie Gerät, das mit dem Busnetzwerk verbunden ist.
  • Es sollte gesehen werden, daß, wenn eine Steuerung 29a eines Geräts 21 geändert wird (zum Beispiel durch Manipulieren oder durch überwachte elektrische Änderung), der Fluß an Nachrichten gemäß Fig. 11 umgekehrt wird, und daß, wenn die VDCs 40, die graphisch jene Steuerungen auf dem Bildschirm 34 repräsentieren, regeneriert werden, sie in einer Weise regeneriert werden, die die Änderung deutlich macht. Wenn zum Beispiel die Lautstärke des Kanals 1 des Verstärkers 22 durch Verstellen des ersten Reglers 49 von Hand erhöht wird, veranlaßt das VNOS 78 die Verstärkerschnittstelle 35, ein Paket, das die Wertänderung beinhaltet, über das Busnetzwerk 28 an den PC 20 zu senden. Die Benutzeroberflächendienste, die von dem im PC 20 befindlichen Teil des VNOS 78 bereitgestellt werden, transformieren das Paket in ein ankommendes Paketbeispiel 168. Das ankommende Paketbeispiel 168 sendet eine Nachricht an das Gerätebeispiel 166 des Verstärkers, die dem Gerätebeispiel die Wertänderung mitteilt, die durch Manipulieren des ersten Reglers 49 vorgenommen wurde. Die generischen Verfahren 578 des Gerätebeispiels 166 senden dann an das WSE-Beispiel 164, das zu der ersten Regler-VDC 49a gehört, eine Nachricht. Die zu dem ersten Regler 49 gehörige Wertänderung wird anschließend im WSE-Beispiel 164 abgespeichert. Das WSElo Beispiel 164 sendet dann eine Nachricht an das visuelle Referenzbeispiel 162, um es über die Wertänderung zu informieren. Die Verfahren des visuellen Referenzbeispiels 162 veranlassen, daß die erste Regler-VDC 49 in einer Art und Weise regeneriert wird, die der Wertänderung entspricht, die durch Manipulieren des ersten Reglers 49 veranlaßt wurde.
  • Wenn der zweite Regler 50 des Verstärkers 22 benutzt wird, um die Lautstärke im Kanal 2 des Verstärkers zu ändern, läuft praktisch die gleiche Folge von Ereignissen ab, mit einer Ausnahme: das Gerätebeispiel 166 für den Verstärker 22 sendet an das WSE-Beispiel 174, das zu der zweiten Regler-VDC. 50a gehört, eine Nachricht. Folglich regeneriert das visuelle Referenzbeispiel 172 die zweite Regler-VDC 50a in einer Weise, die der Wertänderung entspricht, die durch Manipulieren des zweiten Reglers 50 vorgenommen wurde.
  • Es sollte gesehen werden, daß beim Schwanken einer Anzeige 29b eines Geräts 21 der in Fig. 11 dargestellte Nachrichtenstrom umgekehrt wird, und daß die VDCs 40, die graphisch jene Anzeigen auf dem Bildschirm 34 repräsentieren, entsprechend regeneriert werden. Wenn zum Beispiel das erste Eingangsmeßgerät 53 schwankt, veranlaßt das VNOS 78 die Schnittstelle 35 des Verstärkers 22, wiederholt Pakete über das Busnetzwerk an den PC 20 zu senden. Jedes Paket enthält die Wertänderung in Verbindung mit dem ersten Eingangsmeßgerät 53 zu einem speziellen Zeitpunkt. Die Benutzeroberflächen-Dienste, die durch den im Rechner gespeicherten Teil des VNOS 78 bereitgestellt werden, fragen kontinuierlich das Busnetzwerk 28 bezüglich ankommender Pakete ab. Damit transformieren die Benutzeroberflächendienste empfangene Pakete in rascher Aufeinanderfolge. Für jedes von den Benutzeplattform-Diensten des VNOS in ein ankommendes Paketbeispiel transformiertes Paket läuft praktisch die gleiche Folge von Ereignissen ab, wie sie oben beschrieben wurde, nur daß der Strom von Nachrichten zwischen den Beispielen relativ konstant ist. Genauer gesagt: für jedes ankommende Paketbeispiel 168 sendet das Gerätebeispiel 166 des Verstärkers 22 eine Nachricht an ein WSE-Beispiel 154, das zu der ersten Eingangsmeßgerät-VDC 53a gehört. Das WSE-Beispiel 154 speichert die Wertänderung, die zu dem ersten Eingangsmeßgerät 53 gehört, und sendet eine Nachricht an das visuelle Referenzbeispiel 152. Folglich regeneriert das visuelle Referenzbeispiel 152 die erste Eingangsmeßgerät-VDC 53a. Allerdings empfängt das visuelle Referenzbeispiel 152 konstant eine Nachricht, die es über eine Wertänderung in Kenntnis setzt, da der in den Verstärker 22 eingegebene Leistungspegel sich dauernd ändert. Deshalb regeneriert das visuelle Referenzbeispiel 152 andauernd die erste Eingangsmeßgerät-VDC 53a, so daß diese graphisch die Änderung des Leistungspegels veranschaulicht, welcher in den Verstärker 22 eingespeist wird.
  • Fig. 12 veranschaulicht den Fluß von Nachrichten zwischen Objektbeispielen, wenn das erfindungsgemäße graphische Steuersystem den Benutzer in die Lage versetzt, eine geklonte VDC zu erzeugen. Zum Zweck der Kontinuität erscheint dasselbe Fensterbeispiel des "Verstärker- Bedienfelds" 140, das auf dem Bildschirm 34 in Fig. 11 erschien, nun auf dem Bildschirm 34 in Fig. 12. Allerdings hat der Benutzer ein anderes Fensterbeispiel 150 mit dem Titel "Benutzeransicht" erzeugt. Ein Benutzer bildet eine geklonte VDC dadurch, daß er die gewünschte VDC von dem Fensterbeispiel 140 wegzieht und die weggezogene VDC in dem Fensterbeispiel 150 "Benutzeransicht" absetzt, indem er in üblicher Weise die Maus 32 manipuliert. Genauer gesagt, ein Benutzer bewegt die Maus, bis der Cursor 37 über der VDC positioniert ist, beispielsweise der zweiten Regler-VDC 50a, die gezogen und abgesetzt werden soll. Dann wird eine Maustaste geklickt (das heißt niedergedrückt). Die Maus wird dann mit der niedergedrückt gehaltenen Taste so manipuliert, daß der Cursor zu einer gewünschten Stelle in dem Fensterbeispiel 150 "Benutzeransicht" bewegt wird, wie dies in Fig. 12 durch die gestrichelte Linie angedeutet ist. Dann wird die Maustaste losgelassen. Das Endergebnis ist ein Klon 50aa der zweiten Regler-VDC, angeordnet in dem "Benutzeiansicht"- Fensterbeispiel 150. Wenn dies geschieht, holen die Benutzerplattformdienste des VNOS 78 ein visuelles Referenzbeispiel 182 aus der Klassen- Datenbank 65 und verknüpfen das visuelle Referenzbeispiel 182 mit einem WSE-Beispiel 174, das zu dem Klon 50aa der zweiten Regler-VDC gehört. Da sowohl die zweite Regler-VDC 50a als auch deren Klon 50aa mit demselben WSE-Beispiel 174 verknüpft sind, nicht aber mit getrennten WSE- Beispielen verknüpft sind, ist der Klon 50aa der ersten Regler-VDC ein Äquivalent oder ein Klon der zweiten Regler-VDC 50a.
  • Nachdem der zweite Regler-VDC-Klon 50aa in dem Benutzeransicht- Fensterbeispiel 150 erzeugt wurde, kann der Benutzer den zweiten Regler- VDC-Klon 50aa dazu benutzen, den Verstärker 22 anstatt mit dem zweiten Regler-VDC 50a zu steuern, und zwar in der gleichen Weise, wie letzterer zur Steuerung des Verstärkers verwendet werden kann. Wenn der Benutzer den zweiten Regler-VDC-Klon 50aa manipuliert, wird der visuell durch den zweiten Regler-VDC-Klon 50aa visuell dargestellte Wert geändert. Wenn dies geschieht, sendet das Benutzeransicht-Fensterbeispiel 150 eine Nachricht an das visuelle Referenzbeispiel 182. Die klassenspezifschen Verfahren 534 des verwandten visuellen Referenzbeispiels 182 sprechen sofort an und regenerieren den zweiten Regler-VDC-Klon 50aa, so daß er graphisch der Änderung des Werts entspricht. Die klassenspezifischen Verfahren 534 unterstützen auch weitere graphische Änderungen, die von dem zweiten Regler-VDC-Klon vorgenommen werden, so zum Beispiel Farbänderungen, Änderungen der Größe, Orientierung und der Betriebsschwellenwerte und sogar den Stil des VDC. Allerdings beeinflussen diese graphischen Änderungen nicht den von der zweiten Regler-VDC visuell repräsentierten Wert, und sie beeinflussen auch nicht die zweite Regler- VDC selbst, wie sie für den Benutzer in Erscheinung tritt.
  • Wenn das visuelle Referenzbeispiel 182 den zweiten Regler-VDC-Klon 50aa regeneriert, sendet das visuelle Referenzbeispiel 182 auch eine Nachricht an das WSE-Beispiel 174, das sowohl zu der zweiten Regler-VDC 50 als auch zu dem zweiten Regler-VDC-Klon 50aa gehört. Das WSE- Beispiel 174 speichert den Änderungswert. Da das WSE-Beispiel 174 auch der zweiten Regler-VDC SOa zugeordnet ist, sendet das WSE-Beispiel 174 eine Nachricht zu dem der zweiten Regler-VDC zugeordneten visuellen Referenzbeispiel 172, um die zweite Regler-VDC 50a in einer Weise zu regenerieren, die die Änderung des Werts wiederspiegelt. Für den Benutzer erscheint das so, als ob sowohl der zweite Regler-VDC-Klon 50aa als auch die zweite Regler-VDC 50a gleichzeitig auf dem Rechnerbildschirm 34 regeneriert würden.
  • Zusätzlich zu dem Senden einer Nachricht an das visuelle Referenzbeispiel 172 sendet das WSE-Beispiel 174 eine Nachricht an das Gerätebeispiel 166, das zu dem Verstärker 22 gehört, um diesen die Änderung des Werts zu signalisieren, die durch benutzerseitige Manipulation des zweiten Regler-VDC-Klons 50aa vorgenommen wurde. Die allgemeinen Verfahren 576 des Gerätebeispiels 166 bereiten dann ein abgehendes Paketbeispiel 178 vor, welches Daten 592 über die Werteänderung enthält. Das abgehende Paketbeispiel 178 wird dann von den Plattform-Betriebsdiensten des VNOS 78 zu einem konventionellen Paket transformiert und über das Netzwerk 28 an den Verstärker 22 gesendet. Bei Empfang durch den Verstärker 22 justiert das Verstärkerbeispiel 35 die von dem zweiten Regler 50 gesteuerte Lautstärke so, daß diese der Werteänderung entspricht. Folglich kann in der gleichen Weise, wie das Verhältnis des zweiten Reglers 50 über die erste Regler-VDC 50a gesteuert werden kann, das Verhältnis des zweiten Reglers 50 auch durch den zweiten Regler-VDC-Klon 50aa gesteuert werden.
  • Im Hinblick auf die obige Diskussion ist für den Fachmann ersichtlich, daß jede VDC 40 in irgendeinem Fensterbeispiel in irgendein anderes Fensterbeispiel geklont werden kann. Damit kann ein Benutzer drei geklonte VDCs in dem Benutzeransicht-Fensterbeispiel 150 nach Fig. 12 in der oben beschriebenen Weise erzeugen, eines für jedes rechnersystemfreie Gerät (den Verstärker 22, den Tuner 24 und den Entzerrer 26), das an das Netzwerk angeschlossen ist. Alternativ können nur einige der VDCs in das Benutzeransicht-Fenster geklont werden. Auf diese Weise kann ein Benutzer seine eigene besondere graphische Steueranzeige mit zahlreichen Geräten zugeordneten VDCs erzeugen.
  • Es muß gesehen werden, daß, wenn der erste Regler 49 oder der zweite Regler 50 des Verstärkers 22 von Hand oder elektrisch betätigt wird oder durch einen anderen Rechner in Gang gesetzt wird, der Nachrichtenstrom gemäß Fig. 12 umgekehrt wird. Wenn der erste Regler 49 des Verstärkers 22 von Hand betätigt wird, veranlaßt das VNOS 78 speziell die Verstärkerschnittstelle 35, über das Busnetzwerk 28 ein Paket an den Rechner 20 zu senden. Wird das Paket empfangen, so wird es von den Plattform- Betriebsdiensten des VNOS 78 in ein ankommendes Paketbeispiel 168 transformiert. Das ankommende Paketbeispiel 168 sendet eine Nachricht an das Gerätebeispiel 166, die signalisiert, daß in dem zu dem ersten Regler 49 gehörigen Wert eine Änderung stattgefunden hat. Folglich sendet das Gerätebeispiel 166 an das erste Regler-VCE-Beispiel 164 eine Nachricht. Das erste Regler-VCE-Beispiel 164 speichert die Werteänderung und sendet eine Nachricht an das visuelle Referenzbeispiel 162 des ersten Reglers. Das zum ersten Regler gehörige visuelle Referenzbeispiel 162 regeneriert dann die erste Regler-VDC 49a in der Weise, daß sie der Werteänderung entspricht, die durch die manuelle Bedienung des ersten Reglers 49 bewirkt wurde.
  • Wenn die Einstellung des zweiten Reglers 50 manuell oder elektronisch geändert wird, erfolgt der gleiche Ablauf von Ereignissen, nur daß das Gerätebeispiel 166 des Verstärkers 22 eine Nachricht an das WSE-Beispiel 174 sendet, die zu sowohl der zweiten Regler-VDC 50a als auch zu dem zweiten Regler-VDC-Klon 50aa gehört. Das WSE-Beispiel 174 sendet eine Nachricht sowohl an das visuelle Referenzbeispiel 172 der zweiten Regler-VDC als auch an das visuelle Referenzbeispiel 182 des zweiten Regler-VDC-Klons, um ihnen die Wertänderung mitzuteilen. Das visuelle Referenzbeispiel 172 der zweiten Regler-VDC bewirkt, daß in dem Fensterbeispiel 140 des "Verstärker-Bedienfelds" die zweite Regler-VDC 50a regeneriert wird, während das visuelle Referenzbeispiel 182 des zweiten Regler-VDC-Klons bewirkt, daß in dem "Benutzeransicht"-Fensterbeispiel 150 der zweite Regler-VDC-Klon 50aa regeneriert wird. Für den Benutzer erscheint dies so, daß die zweite Regler-VDC und der zweite Regler-VDC- Klon gleichzeitig auf eine Weise regeneriert würden, die der Werteänderung entspricht, die durch die manuelle oder elektrische Änderung des zweiten Reglers 50 des Verstärkers vorgenommen wurde.
  • Wie in Fig. 13 dargestellt, kann sowohl die Längenabmessung als auch die Breitenabmessung, als auch die Orientierung einer VDC von dem VNOS 78 unabhängig von einer von der VDC angezeigten Werteänderung geändert werden. Zum Zweck der Kontinuität ist in Fig. 13 das gleiche Benutzeransicht-Fensterbeispiel 150 wie in Fig. 12 dargestellt. Damit enthält Fig. 13 ein Benutzeransicht-Fensterbeispiel 150, das den zweiten Regler-VDC-Klon 50aa des Verstärkers 22 enthält. Während zum Zweck der deutlichen Darstellung aus Fig. 13 die zugehörigen WSE-, Geräte- und Paketbeispiele weggelassen wurden, versteht sich, daß der zweite Regler-VDC-Klon 50aa weiterhin mit jenen Beispielen der Fig. 13 verbunden bleibt, welche auch in Fig. 12 dargestellt sind, und zwar über das zugehörige visuelle Referenzbeispiel 182. Wie aus der folgenden Beschreibung besser zu verstehen ist, ist es für diesen Aspekt der Erfindung unerheblich, ob der dargestellte VDC-Klon 50 ein Original oder eine geklonte VDC ist.
  • Wie oben diskutiert wurde, ist der zweite Regler-VDC-Klon 50aa nach Fig. 13 eine graphische Darstellung des zweiten Reglers 50 des Verstärkers 22. Der zweite Regler-VDC-Klon 50a erscheint als Rechteck mit einer Höhe, die größer als die Breite ist, und das vertikal dadurch betätigt wird, daß ein graphischer Stellknopf 305 nach oben in Richtung eines Maximalwerts (MAX) oder nach unten in Richtung eines Minimumwerts (MIN) bewegt wird. Wie oben beschrieben, wird der Knopf durch entsprechendes Manipulieren einer Maus oder einer anderen Cursor-Steuereinrichtung "bewegt". Die Bewegung des graphischen Knopfs ändert den Wert, der durch den zweiten Regler-VDC-Klon 50aa repräsentiert wird, und sie veranlaßt wiederum, daß der zweite Regler-VDC-Klon 50aa mit Darstellung der Werteänderung regeneriert wird.
  • Zusätzlich zu dem zweiten Regler-VDC-Klon 50aa enthält Fig. 13 auch drei weitere zweite Regler-VDC-Klone 50'aa, 50"aa und 50'''aa mit unterschiedlichen Höhen- und Breitenabmessungen, ansonsten jedoch mit gleicher Graphikform wie der zweite Regler-VDC-Klon 50aa. Die Höhe des ersten weiteren zweiten Regler-VDC-Klons 50'aa ist geringer, die Breite ist größer als die des ursprünglichen Regler-VDC-Klons 50aa. Die Höhe des zweiten weiteren Regler-VDC-Klons 50"aa ist geringer, und die Breite ist größer als die des ersten weiteren zweiten Regler-VDC-Klons 50'aa. Die Höhe des dritten weiteren zweiten Regler-VDC-Klons 50'''aa ist geringer, und die Breite ist größer als die des zweiten weiteren zweiten Regler-VDC-Klons 50"aa. Außerdem ist die Orientierung des zweiten Regler- Klons anders. Der Knopf 305 des ursprünglichen und des ersten weiteren zweiten Regler-VDC-Klons 50aa und 50'aa ist jeweils für vertikale Bewegung ausgelegt, während der Knopf 305 des zweiten und des dritten weiteren zweiten Regler-VDC-Klons für horizontale Bewegung ausgelegt sind. Im folgenden soll beschrieben werden, wie das VNOS eine VDC in der in Fig. 13 gezeigten Weise ändert.
  • Generische Verfahren 566 des visuellen Referenzbeispiels 182, das zu dem zweiten Regler-VDC-Klon 50aa gehört, ermöglichen einem Benutzer die Verwendung einer Maus 32 oder einer anderen Cursorsteuereinrichtung, um gleichzeitig die Höhe einer VDC zu verringern, während gleichzeitig deren Breite vergrößert wird. Dies wird zum Beispiel dadurch mit Hilfe der Maus erreicht, daß der Cursor 37 über die vertikale Kante des zweiten Regler-VDC-Klons 50aa plaziert wird, eine Taste an der Maus niedergedrückt wird, um auf die Kante zu "klicken", und die Kante nach außen gezogen wird, indem die Maus in die entsprechende Richtung bewegt wird. Während die Breite der VDC zunimmt, nimmt ihre Höhe automatisch ab. Die Fortsetzung dieser Aktion transformiert die VDC aus einer VDC mit einer größeren Höhe als Breite in ein VDC mit einer größeren Breite als Höhe. Wenn die Breite größer als die Höhe wird, sendet das verwandte Fensterbeispiel 150 eine Nachricht an das zu dem zweiten Regler-VDC-Klon gehörige visuelle Referenzbeispiel 182. Bei Erhalt dieser Nachricht veranlassen die klassenspezifischen Verfahren 524 des visuellen Referenzbeispiels 182, daß das zweite Regler-VDC-Klon automatisch in einer Form regeneriert wird, die für horizontale und nicht für vertikale Betätigung ausgelegt ist. In anderen Worten: die Orientierung des zweiten Regler-VDC-Klons wird um 90º gedreht. Während somit das zweite und das dritte weitere zweite Regler-VDC-Klon 50"aa und 50'''aa immer noch graphisch den zweiten Regler 50 des Verstärkers 22 repräsentieren, werden sie von dem graphischen Knopf 305 der VDC horizontal und nicht vertikal betätigt. Die automatische Umorientierung des zweiten Regler-VDC-Klons führt nicht zu einer Änderung des Werts, und führt auch nicht zu einer Änderung des MAX- und MIN-Werts. Folglich werden keine Nachrichten an die anderen WSE-, Geräte- und Paketbeispiele gesendet (Fig. 12). Wie aus der obigen Beschreibung ersichtlich ist, kann der zweite Regler-VDC- Klon dadurch in seine ursprüngliche Form zurückgedrängt werden, daß seine ursprüngliche Orientierung und Abmessungen durch Umkehrung der obigen Prozedur wiederhergestellt werden, falls erwünscht. Man erkennt außerdem, daß man jede weitere VDC 40 automatisch mit einer neuen Größe und, falls erwünscht, mit einer neuen Orientierung in ähnlicher Weise ausstatten kann.
  • Fig. 14, 15 und 16 zeigen, wie eine Master-VDC erzeugt und dazu verwendet wird, mehrere rechnersystemfreie Geräte 21 zu steuern. Als erstes wird das VNOS 78 in die Lage versetzt, ein Fensterbeispiel 160 mit dem Titel "Werkzeugkasten" zu erzeugen, das eine oder mehrere "Schablonen"-VDCs 306 enthält. Eine VDC wird deshalb als "Schablone" betrachtet, da sie nicht tatsächlich einem speziellen Gerät 21 zugehört. Eine Schablonen-VDC repliziert graphisch eine Merkmalssteuerung oder -anzeige eines hypothetischen Geräts. Weil kein Gerät vorhanden ist, werden lediglich die Schablonen-VDC 306 und das zugehörige visuelle Referenzbeispiel 192 benötigt. Ein Schablonen-VCE-Beispiel 194 enthält einen Null-Wert. Eine Master-VDC wird von einem Benutzer dadurch erzeugt, daß zunächst die gewünschte Schablonen-VDC 306 in einem Benutzeransicht-Fensterbeispiel 170 mit Hilfe einer Maus oder einer anderen Cursorsteuereinrichtung zum Manipulieren des Cursors 37 in der oben beschriebenen Weise geklont wird. Wenn dies geschieht, werden auch das verwandte visuelle Referenzbeispiel 192 und das Schablonen-VCE-Beispiel 194 repliziert. Somit werden neue visuelle Referenz- und VCE-Beispiel kreiert. Zum Zweck der vorliegenden Beschreibung werden die geklonte Schablonen-VDC und die neuen visuellen Referenz- und WSE-Beispiele im folgenden als die Master-VDC 308, das visuelle Master- Referenzbeispiel 202 bzw. das Master-WSE-Beispiel 204 bezeichnet. Wenngleich in Fig. 14 nicht dargestellt, kann das Werkzeugkasten- Fensterbeispiel 160 eine Anzahl von "Schablonen"-VDCs enthalten, von denen jede in ein oder mehrere Benutzeransicht-Fensterbeispiele in der oben beschriebenen Weise geklont werden kann. Es soll auch gesehen werden, daß eine Schablonen-VDC auf eine andere VDC 40 mit Hilfe der Maus "aufgesetzt" werden kann, und daß die VDC 40 sich selbst entsprechend regeneriert.
  • Nunmehr auf Fig. 15 bezugnehmend, sind dort auf dem Bildschirm 34 des PCs 20 zwei Fensterbeispiele dargestellt, nämlich das in Fig. 14 gezeigte Benutzeransicht-Fensterbeispiel 170 und ein Verstärker-Bedienfeld- Fensterbeispiel 180. Wie oben beschrieben, enthält das Benutzeransicht- Fensterbeispiel 170 die Master-VDC 308. Fig. 15 enthält außerdem das Master-Referenzbeispiel 202 und das Master-WSE-Beispiel 204. Das Verstärker-Bedienfeld-Fensterbeispiel 180 enthält eine VDC 310, welche graphisch eine Steuerung 29a, beispielsweise einen Regler, eines Verstärkers repräsentiert. Der Benutzer zieht, unter Verwendung einer Maus oder einer anderen Cursorsteuereinrichtung zum Manipulieren des Cursors 37, die Verstärkersteuer-VDC 310 von dem Verstärker-Bedienfeld-Fensterbeispiel 180 in das Benutzeransicht-Fensterbeispiel 170, wie es oben erläutert wurde. Die Verstärkersteuer-VDC 310 wird soweit bewegt, bis sie sich oberhalb der Master-VDC befindet, wo sie dadurch abgesetzt wird, daß der Benutzer die niedergehaltene Taste der Maus oder eine andere Cursorsteuereinrichtung losläßt. Wird die Verstärkersteuer-VDC 310 abgesetzt, so kommt es zu einer Objekt-Objekt-Interaktion (wie dies durch die gestrichelte Linie und die Phantomlinie VDC dargestellt ist). Die Objekt-Objekt- Interaktion schafft eine Master-Slave-Beziehung zwischen der Verstärkersteuer-VDC 310 und der Master-VDC 308.
  • Die Objekt-Objekt-Interaktion bewirkt, daß das Benutzeransicht- Fensterbeispiel 170 eine Nachricht an das visuelle Master-Referenzbeispiel 202 sendet, welches wiederum eine Nachricht an das Master-WSE- Beispiel 204 sendet. Die klassenspezifischen Verfahren 554 des Master- WSE-Beispiels 204 schaffen eine Verbindung zu einem WSE-Beispiel 214, das zu der Verstärkersteuer-VDC 310 gehört, indem sie einen Zeiger generieren, der von dem Master-WSE-Beispiel 204 auf das Verstärkersteuer-WSE-Beispiel 214 weist, weiterhin einen Zeiger von dem Verstärkersteuer-WSE-Beispiel 214 auf das Master-WSE-Beispiel 204 generiert (wie zuvor bereits erwähnt, sind in Fig. 15 die Zeiger weggelassen, um die Darstellung deutlicher zu machen).
  • Nachdem die oben erwähnte Verbindung hergestellt ist, haben die klassenspezifischen Verfahren 554 des Master-WSE-Beispiels 204 die Möglichkeit, Steuernachrichten an das Verstärkersteuer-WSE-Beispiel 214 zu senden und dadurch das Verhalten des Verstärkersteuer-WSE-Beispiels 214 zu steuern. Auf diese Weise wird das Master-WSE-Beispiel 204 zu einem Master des Verstärkersteuer-WSE-Beispiels, welches seinerseits zu einem "Slave"-WSE-Beispiei wird. Schließlich wird der Zeiger zudem Verstärkersteuer-(Slave-)WSE-Beispiel 214 angefügt an eine Liste von Slave- Zeigern, die in den Daten 552 des Master-WSE-Beispiels 204 enthalten sind, und der Zeiger auf das Master-WSE-Beispiel 204 wird einer Liste von Master-Zeigern hinzugefügt, die in den Daten des Verstärkersteuer- (Slave-)WSE-Beispiels 214 enthalten sind.
  • Eine weitere Konsequenz der Master-Slave-Beziehung zwischen dem Master-WSE-Beispiel 204 und dem Verstärkersteuer-(Slave-)WSE-Beispiel 214 ist die, daß die Master-VDC 308 die Verstärkersteuerung VDC 310 steuert, die ihrerseits eine "Slave"-VDC wird. In anderen Worten: da die Master-VDC 308 zu einem Master-WSE-Beispiel 204 gehört, beherrscht dieses das Verhalten des Verstärkersteuer-(Slave-)WSE-Beispiels 214, während die Master-VDC 308 die Verstärkersteuer-(Slave-)VDC 310 beheerrscht.
  • Nachdem erst einmal die Master-Slave-Beziehung in der oben beschriebenen Weise eingerichtet ist, kann der Benutzer die in dem Benutzeransicht- Fensterbeispiel 170 befindliche Master-VDC 308 dazu benutzen, das Merkmal (die Verstärkersteuerung) zu steuern, welches durch die Verstärkersteuer-(Slave-)VDC 310 im Fensterbeispiel 180 veranschaulicht ist. Genauer gesagt: manipuliert der Benutzer die Master-VDC 308, so sendet das Benutzeransicht-Fensterbeispiel 170 eine Nachricht an das visuelle Master-Referenzbeispiel 202. Das visuelle Master-Referenzbeispiel 202 regeneriert gleichzeitig die Master-VDC 308, damit sie der Werteänderung entspricht, und sendet eine Nachricht an das Master-WSE-Beispiel 204. Das Master-WSE-Beispiel 204 speichert die Werteänderung und sendet eine Kontrollnachricht an das Verstärkersteuer-(Slave-)WSE-Beispiel 214. Vor dem Senden der Nachricht können klassenspezifische Verfahren 544 des Master-WSE-Beispiels 204 den Wert zusätzlich manipulieren.
  • Das Verstärkersteuer-WSE-Beispiel 214 speichert die in der von dem Master-WSE-Beispiel 204 gesendeten Nachricht enthaltene Werteänderung und sendet Nachrichten an das Gerätebeispiel 216 und das visuelle Referenzbeispiel 212, um beide über die Werteänderung zu informieren. Das Gerätebeispiel 216 sendet eine Nachricht an das abgehende Paketbeispiel 218. Dieses transformiert diese Nachricht in ein konventionelles Paket und sendet das Paket an das gesteuerte Gerät (das heißt den Verstärker) über das Busnetzwerk 28. Bei Erhalt justiert die Geräteschnittstelle 35 die Steuerung des Geräts 24 so, daß sie der Werteänderung entspricht, die durch die Master-VDC 310 vorgenommen wurde.
  • Was nun das Erscheinungsbild der Verstärkersteuer-(Slave-)VDC 310 angeht, so bewirkt das visuelle Verstärkersteuerungs-Referenzbeispiel 212, daß die Verstärkersteuer-(Slave-)VDC 310 in einer Weise regeneriert wird,
  • daß die Werteänderung sichtbar wird, die durch die Master-VDC 308 vorgenommen wurde. Damit entspricht die Verstärkersteuer-(Slave-)VDC 310 graphisch der Master-VDC 308.
  • Wie in Fig. 16 gezeigt ist, kann die Master-VDC 308 auch dazu verwendet werden, mehrere Slave-VDCs zu steuern, solange die Slave-VDCs vom gleichen Typ sind (zum Beispiel müssen die Slave-VDCs graphisch den gleichen Typ von Steuerung oder Anzeige repräsentieren). Die Master- VDC 308 kann gleichzeitig eine Mehrzahl von Steuerungen gleichen Typs aus dem gleichen Gerät oder mehrere Steuerungen gleichen Typs aus verschiedenen Geräten steuern.
  • Fig. 16 enthält sämtliche Elemente aus Fig. 15, dazu noch ein zweites Verstärker-Bedienfeld-Fensterbeispiel 190. Das zweite Verstärker- Bedienfeld-Fensterbeispiel 190 enthält eine Verstärkersteuer-VDC 312, die graphisch die Master-VDC 308 und die erste Verstärkersteuer-VDC 310 repliziert. Wenngleich die Verstärkersteuer-VDC 312 als Nachbildung der Master-VDC 308 in Fig. 16 zwecks Vereinfachung der Beschreibung dargestellt ist, ist die graphische Nachbildung von VDCs nicht notwendig. Vielmehr ist lediglich funktionelle Identität erforderlich. Beispiels Weise ist ein Drehsteuerknopf funktionell identisch mit einem linearen Verschiebeknopf, graphisch jedoch anders.
  • Wiederum zieht ein Benutzer mit einer Maus oder einer anderen geeigneten Cursorsteuereinrichtung (zum Beispiel einem Track-Ball) die zweite Verstärkersteuer-VDC 312 aus dem zweiten Verstärker-Bedienfeld- Fensterbeispiel 190 in das Benutzeransicht-Fensterbeispiel 170 und setzt es auf der Master-VDC 308 ab, um so eine weitere Objekt-Objekt-Interaktion zu erzeugen (wie dies in Fig. 16 durch die gestrichelte und Phantom- VDC dargestellt ist). Diese Objekt-Objekt-Interaktion führt zu der Erzeugung einer weiteren Master-Slave-Beziehung zwischen der zweiten Verstärkersteuer-VDC 312 und der Master-VDC 308. Im Ergebnis wird das zu der zweiten Verstärkersteuer-VDC 312 gehörige WSE-Beispiel 224 zu einem "Slave"-WSE-Beispiel 224 in Bezug auf das Master-WSE-Beispiel 204, und die zweite Verstärkersteuer-VDC 312 wird ein "Slave" für die Master-VDC 308. Demzufolge führt die graphische Manipulation der Master-VDC 308 zu einer Einstellung der Verstärkersteuerung von zwei Geräten (des ersten und des zweiten Verstärkers). Ein Manipulieren der Master- VDC 308 bewirkt außerdem, daß die erste und die zweite Verstärkersteuer- (Slave-)VDC 310 und 310 in einer Weise regeneriert werden, die die durch Manipulieren der Master-VDC erfolgte Änderung wiederspiegelt. Man erkennt, daß man zahlreiche Slave-VDCs in der gleichen Weise erzeugen kann, die dann von der Master-VDC manipuliert werden.
  • Es sollte gesehen werden, daß dann, wenn die einschlägige Steuerung irgendeines Geräts unter der Steuerung einer Master-VDC von Hand oder elektronisch aus einer anderen Quelle her erfolgt, der Fluß von Nachrichten gemäß Fig. 16 umgekehrt wird. Wenn zum Beispiel die Verstärkersteuerung für den ersten Verstärker von Hand justiert wird, bewirkt das VNOS 78, daß die Schnittstelle 35 des ersten Verstärkers ein Paket, das die resultierende Änderung des Werts beinhaltet, über das Busnetzwerk 28 an den PC 20 sendet. Nach Erhalt wird das Paket in ein ankommendes Paketbeispiel 218 transformiert, was zur Folge hat, daß Nachrichten an das Gerätebeispiel 216, das erste Verstärkersteuer-WSE-Beispiel 214 und das erste visuelle Verstärkersteuer-Referenzbeispiel 212 gesendet werden. Das visuelle Referenzbeispiel 212 regeneriert die Verstärkersteuer-VDC 310 in der Weise, daß sie die Werteänderung wiederspiegelt, die durch Manipulieren der ersten Verstärkersteuerung des ersten Verstärkers bewirkt wurde. In einer bevorzugten Ausführungsform wird auch eine Nachricht an das Master-WSE-Beispiel 204 gesendet, die es veranlaßt, die Master-VDC 308 so zu regenerieren, daß sie graphisch die Werteänderung anzeigt, die durch manuelles Betätigen der Verstärkersteuerung 29a des ersten Verstärkers vorgenommen wurde. Das Master-WSE-Beispiel 204 sendet auch eine Nachricht an das zweite Verstärkersteuer-WSE-Beispiel. Der Erhalt dieser Nachricht veranlaßt, daß die zweite Verstärkersteuer-VDC 312 generiert wird, um die Änderung des Werts wiederzuspiegeln. Der Erhalt dieser Nachricht veranlaßt außerdem die Einjustierung der Verstärkersteuerung des zweiten Verstärkers.
  • Nachdem nun die Funktionen des VNOS 78 gemäß den Blöcken 80, 81 und 82 der Fig. 7 ausführlich beschrieben wurden, sollen die Funktionen des VNOS 78 betrachtet werden, die von dem Teil des VNOS 78 ausgeführt werden, die in den rechnersystemfreien Geräten gespeichert sind. Um die in den Blöcken 83, 84 und 85 dargestellten Funktionen auszuführen, verwendet das VNOS 78 ein objektorientiertes Programmier- Musterbeispiel, welches aus der Perspektive der Klassenhierarchie in Fig. 17A dargestellt ist. Das objektorientierte Programmier-Musterbeispiel, das von dem in den Geräteschnittstellen 35 gespeicherten Teil des VNOS 78 verwendet wird, verwendet vornehmlich zwei verschiedene Objekte. Diese Objekte sind Paket- und Gerätesteuerelement-Objekte (DCE-Objekte) 107 und 109, die als Klassenobjekte in Fig. 17A dargestellt sind. Kurz gesagt, sind die Schnittstellen-Paketobjekte 107 dem von dem PC 20 verwendeten Paketobjekt 108 sehr ähnlich. Damit enthalten die Schnittstellen- Paketobjekte die Verfahren und Daten zum Übertragen von Daten zwischen Geräten 21 und dem PC 20 über das Busnetzwerk 28. Die DCE- Objekte 109 enthalten den Wert, der von einer Merkmalssteuerung 29a oder -anzeige 29b eines Geräts 21 repräsentiert wird, außerdem die Verfahren zum Manipulieren des Werts.
  • Fig. 17A zeigt außerdem die Beziehung zwischen Klassen und Beispielen in dem objektorientierten Programmier-Musterbeispiel, das von der vorliegenden Erfindung benutzt wird. Damit kann ein Schnittstellen-Paketobjekt 107 mehrere Schnittstellen-Paketbeispiele 117 generieren. In ähnlicher Weise kann eine DCE-Objekt 109 mehrere DCE-Beispiele 119 generieren. Ein von einer Geräteschnittstelle 35 gesendetes oder empfangenes Paket ist ein Exemplar eines Schnittstellen-Paketbeispiels 117. Ein DCE-Beispiel 119 andererseits wird dann generiert, wenn eine Merkmalssteuerung 29a oder -anzeige 29b an dem Gerät 21 nach Fig. 1 entweder mechanisch, elektrisch oder durch Manipulieren seiner entsprechenden VDC 40 vorgenommen wird. Ein DCE-Beispiel existiert für jede Merkmalssteuerung 29a oder -anzeige 29b eines Geräts 21. Sämtliche Schnittstellenpaket- und DCE-Beispiele sind Teil der im RAM 59 der Geräteschnittstelle 35 gespeicherten Klassen-Datenbank.
  • Als nächstes folgt eine detailliertere Beschreibung jedes der beiden Objekte, die von dem in der Geräteschnittstelle 35 befindlichen Teil des VNOS 78 verwendet werden. Wie in Fig. 8 dargestellt ist, enthält jedes Objekt 90 Daten 92, generische Verfahren 96 und 98 und klassenspezifische Verfahren 94. Fig. 17A veranschaulicht die Verfahren und Daten, die in den Paket- und DCE-Objekten sowie Beispielen enthalten sind, die in Fig. 17A gezeigt sind.
  • Nunmehr auf Fig. 17A bezugnehmend, enthalten Schnittstellen- Paketobjekte 107 die Verfahren und Daten zum Kommunizieren zwischen einem Gerät 21 und dem Rechner 20 über das Busnetzwerk 28. Schnittstellen-Paketobjekt-Daten 602 beinhalten Geräteinformation, die in Form eines Datenpakets über das Netzwerk zu übertragen ist. Damit beinhalten Schnittstellen-Paketobjekt-Daten den durch die Steuerung oder Anzeige repräsentierten Wert. Darüber hinaus enthalten Schnittstellen-Paketobjekt- Daten 602 (falls vorhanden) eine Liste von Zeigern auf DCE-Objekte 109 und weitere Schnittstellen-Paketobjekte 107 (falls vorhanden). Die klassenspezifischen Verfahren 604 eines Schnittstellen-Paketobjekts 107 sorgen für eine Kommunikation zwischen dem PC 20 und dem zu dem Schnittstellen-Paketobjekt in Beziehung stehenden Gerät 21 über das Netzwerk 28 und unterschiedliche Anschlüsse, oder in Verbindung mit dem MediaLink-Protokoll. Die generischen Verfahren 606 und 608 des Schnittstellen-Paketobjekts sorgen für Kommunikation zwischen dem Schnittstellen-Paketobjekt 107 und dem verwandten DCE-Objekt 109.
  • DCE-Objekte 109 dienen zum Interpretieren, Speichern und möglicherweise weiteren Manipulieren des von der Steuerung 29a oder Anzeige 29b eines Geräts 21 repräsentierten Werts. DCE-Objekt-Daten 622 enthalten den von einer Steuerung oder Anzeige repräsentierten Wert. Wenn also eine Merkmalssteuerung oder -anzeige vorgenommen wird, ändern sich die DCE-Objekt-Daten 622 entsprechend. Der Datenwert kann Gegenstand weiterer Manipulation durch die klassenspezifischen Verfahren 624 des DCE-Objekts sein. Beispielsweise kann ein klassenspezifisches Verfahren 624 des DCE-Objekts eine Werteänderung dadurch vornehmen, daß eine Skalierfunktion bezüglich des Werts ausgeführt oder ein numerischer Wert in einen Textwert umgewandelt wird. Es wird ein Code in die klassenspezifischen Verfahren des DCE-Objekts 109 von den Plattform- Betriebsdiensten geladen, der von dem in der Geräteschnittstelle 35 befindlichen Teil des VNOS 78 bereitgestellt werden.
  • Wie oben ausgeführt, ist per Definition ein Beispiel ein spezifisches Objekt mit dem durch seine Klasse definierten Verhaltensweisen. Ein Beispiel (eine "Instanz") enthält sämtliche Verfahren seiner Klasse, zuzüglich einzigartiger zusätzlicher Daten. Folglich enthalten sowohl die Schnittstellen- Paketbeispiele 117 als auch die DCE-Beispiele 119 sämtliche der generischen und klassenspezifischen Verfahren ihrer Klassenobjekte. Zur einfachen gedanklichen Zuordnung sind die Daten des Schnittstellen- Paketbeispiels 117 als Daten 612 bezeichnet, und die generischen sowie klassenspezifischen Verfahren 614 sind mit 616 bzw. 618 bezeichnet. Die Daten des DCE-Beispiels 119 sind als Daten 632 bezeichnet, und die genetischen sowie klassenspezifischen Verfahren sind mit 636, 638 bzw. 634 bezeichnet. Jedes Schnittstellenpaket- und DCE-Beispiel ist in der Klassen-Datenbank abgespeichert, die sich in dem RAM 59 der Schnittstelle 35 des zugehörigen Geräts 21 befindet.
  • Fig. 18 zeigt den Fluß von Nachrichten zwischen Gerätebeispielen, wenn das graphische Steuersystem der vorliegenden Erfindung eine Änderung des Geräts 21 vornimmt. Manipuliert der Benutzer eine VDC 40, die graphisch eine Steuerung 29a eines Geräts 21 repräsentiert, wie oben diskutiert wurde, so sendet der PC 20 ein Paket, das die resultierende Werteänderung beinhaltet, über das Busnetzwerk 28 an das zugehörige Gerät 21. Wie in Fig. 15 gezeigt ist, wird das Paket bei Empfang durch eine Geräteschnittstelle 35 transformiert in ein ankommendes Schnittstellen- Paketbeispiel 217, und zwar mit Hilfe der Plattform-Betriebsdienste, die von dem in der Schnittstelle gespeicherten Teil des VNOS 78 bereitgestellt werden. Die Paket-Beispiel-Daten 612 enthalten die Änderung des Werts, die durch Manipulation der VDC 40 erfolgte. Das ankommende Schnittstellen-Paketbeispiel 217 sendet eine Nachricht an das verwandte DCE- Beispiel 219. Dann wird die Werteänderung in dem DCE-Beispiel 219 abgespeichert. Der Prozessor 41 der Geräteschnittstelle 35 (dargestellt in Fig. 2) generiert dann ein elektronisches Signal 229, das an die Steuerung 29a des Geräts 21 gesendet wird. Das Signal 229 dient zum Justieren der Steuerung 29a in der Weise, daß diese der Werteänderung entspricht, die von der MDC 40 vorgenommen wurde.
  • Wenn eine Steuerung 29a des Geräts 21 lokal vorgenommen wird (zum Beispiel durch manuelles Betätigen), oder elektronisch von einer anderen Steuerung oder durch einen internen Befehl, so empfängt der Prozessor 41 der Geräteschnittstelle 35 von der Steuerung 29a ein Signal 229. Die von dem in der Schnittstelle befindlichen Teil des VNOS 78 bereitgestellten Plattform-Betriebsdienste bewirken, daß der Prozessor 41 das Signal in ein DCE-Beispiel 219 transformiert und ein abgehendes Schnittstellen- Paketbeispiel 227 erzeugt. Die Daten 632 des DCE-Beispiels 219 beinhalten die Werteänderung, die sich aus der Betätigung der Steuerung 29a ergibt. Das DCE-Beispiel 219 sendet eine Nachricht an das abgehende Schnittstellen-Paketbeispiel 227, um es über die Werteänderung zu informieren. Die Plattform-Betriebsdienste des VNOS 78 veranlassen dann den Prozessor 41 der Geräteschnittstelle 35, das abgehende Paketbeispiel 227 in ein abgehendes Paket umzuwandeln. Dann sendet die Geräteschnittstelle 35 das Paket über das Busnetzwerk 28 an den PC 20. Man sieht, daß im Fall einer Anzeige 29b anstelle einer Steuerung, wenn also ein Merkmal eines Geräts zu überwachen ist, die Geräteschnittstelle 35 permanent Pakete an den PC 20 sendet. Oben wurde beschrieben, was passiert, wenn das Paket von dem PC 20 empfangen wird.
  • Während bevorzugte Ausführungsformen der Erfindung dargestellt und beschrieben wurden, können ersichtlich verschiedene Abwandlungen vorgenommen werden. Folglich ist nicht beabsichtigt, daß der Schutzumfang der Erfindung durch die Offenbarung der oben beschriebenen, bevorzugten Ausführungsbeispiele beschränkt wird. Statt dessen sollte die Erfindung in ihrer Gesamtheit durch Bezugnahme auf die beigefügten Ansprüche festgelegt werden.

Claims (10)

1. Graphisches Steuersystem zum Steuern mindestens eines rechnersystemfreien Geräts (21), umfassend:
(a) ein Kommunikationsmedium (28);
(b) einen an das Kommunikationsmedium (28) gekoppelten Rechner (20) mit einer Anzeige (30), einem Prozessor (60), einem Speichermedium (67, 68) und einer Benutzer-Manipulationseinrichtung (31, 32);
(c) eine Schnittstelle (35) zum Koppeln des rechnersystemfreien Geräts (21) mit dem Kommunikationsmedium (28), wobei die Schnittstelle (35) einen Schnittstellenprozessor (41) und ein Schnittstellenspeichermedium (58, 59) aufweist; und
(d) ein visuelles Netzwerkbetriebssystem (78) zum Steuern und Überwachen des Betriebs des Rechners (20) und der Schnittstelle (35) mit Hilfe folgender Schritte:
(i) der Rechner (20) wird veranlaßt, eine einstellbare visuelle Gerätesteuerung (40) anzuzeigen, welche graphisch eine Merkmalssteuerung (29a) eines Typs repräsentiert, der normalerweise zu dem rechnersystemfreien Gerät (21) gehört, wobei die visuelle Gerätesteuerung (40) zugehörige Daten aufweist, die in dem Rechner- Speichermedium (68) gespeichert sind und die Einstellung der visuellen Gerätesteuerung (40) repräsentieren;
(ii) ein Benutzer wird in die Lage versetzt, die visuelle Gerätesteuerung (40) dadurch einzustellen, daß er die Benutzer-Manipulationseinrichtung (32) auf der visuellen Gerätesteuerung (40) betätigt und eine Änderung in den Daten bewirkt, welche die Einstellung der visuellen Gerätesteuerung (40) repräsentieren;
(iii) Übermitteln der Änderung der die Einstellung der visuellen Gerätesteuerung (40) repräsentierenden Daten zu der Schnittstelle (35);
(iv) Veranlassen der Schnittstelle (35), das rechnersystemfreie Gerät (21) nach Maßgabe der Änderung der die Einstellung der visuellen Gerätesteuerung (40) repräsentierenden Daten einzustellen; und
(v) Veranlassen des Rechners (20), eine visuelle Schablonen-Gerätesteuerung (306) anzuzeigen, welche graphisch eine hypothetische Merkmalssteuerung eines rechnersystemfreien Geräts (21) repräsentiert, welches von dem visuellen Netzwerkbetriebssystem (78) nicht gesteuert und überwacht wird.
2. System nach Anspruch 1, bei dem das visuelle Netzwerkbetriebssystem (78) den Benutzer in die Lage versetzt, durch Betätigen der Benutzer-Manipulationseinrichtung (31, 32) aus der visuellen Schablonen- Gerätesteuerung (306) eine einstellbare visuelle Master-Gerätesteuerung (308) zu erzeugen, welche graphisch die hypothetische Merkmalssteuerung repräsentiert, und der in dem Rechner-Speichermedium (68) gespeicherte Daten zugeordnet sind, welche die Einstellung der visuellen Master-Gerätesteuerung (308) repräsentieren.
3. System nach Anspruch 2, bei dem das visuelle Netzwerkbetriebssystem (78) den Benutzer in die Lage versetzt, die visuelle Gerätesteuerung (40) unter Verwendung der visuellen Master-Gerätesteuerung (308) durch folgende Merkmale zu regeln:
(a) der Benutzer wird in die Lage versetzt, graphisch einen Dialog zwischen der visuellen Gerätesteuerung (40) und der visuellen Master- Gerätesteuerung (308) zu erzeugen, indem die Benutzer-Manipulationseinrichtung (31, 32) betätigt wird;
(b) als Ergebnis des Dialogs, Einrichten einer Beziehung zwischen der visuellen Master-Gerätesteuerung (308) und der visuellen Gerätesteuerung (40), so daß:
(i) eine Betätigung der Benutzer-Manipulationseinrichtung (31, 32) auf der visuellen Master-Gerätesteuerung (308) eine Änderung der die Einstellung der visuellen Master-Gerätesteuerung (308) repräsentierenden Daten bewirkt; und
(ii) die Änderung der die Einstellung der visuellen Master-Gerätesteuerung (308) repräsentierenden Daten eine ähnliche Änderung derjenigen Daten bewirkt, welche die Einstellung der visuellen Gerätesteuerung (40) repräsentieren.
4. System nach Anspruch 3, bei dem das visuelle Netzwerkbetriebssystem (78) den Benutzer in die Lage versetzt, mehrere visuelle Gerätesteuerungen (40) unter Verwendung der visuellen Master-Gerätesteuerung (308) zu regeln.
5. System nach Anspruch 2, bei dem das visuelle Netzwerkbetriebssystem (78) den Benutzer in die Lage versetzt, vorab eine Funktion für das weitere Manipulieren der Änderung der die Einstellung der visuellen Master-Gerätesteuerung (308) repräsentierenden Daten zu definieren, so daß die manipulierte Änderung in den die Einstellung der visuellen Master-Gerätesteuerung (308) repräsentierenden Daten eine ähnliche manipulierte Änderung in den Daten bewirkt, welche die Einstellung der visuellen Gerätesteuerung (40) repräsentieren.
6. Verfahren zum Steuern mindestens eines rechnersystemfreien Geräts (21), welches mindestens eine Gerätesteuerung (40) enthält, die einen Aspekt des rechnersystemfreien Geräts (21) regelt, wobei das rechnersystemfreie Gerät (21) durch eine Schnittstelle (35) an ein Konimunikationsmedium (28) gekoppelt ist und über das Kommunikationsmedium (28) an ein Rechnersystem (20) gekoppelt ist, welches eine Anzeige (30), einen Prozessor (60), ein Speichermedium (67, 68) und eine Benutzer- Manipulationseinrichtung (31, 32) aufweist, umfassend:
(a) Veranlassen des Rechners (20), eine graphische Steueranzeige (40) darzustellen, die das rechnersystemfreie Gerät (21) repräsentiert und mindestens eine einstellbare graphische Steuerung (29a) enthält, die eine Merkmalssteuerung des Typs repräsentiert, der normalerweise zu dem rechnersystemfreien Gerät (21) gehört, wobei der graphischen Steuerung in dem Rechner-Speichermedium (68) abgespeicherte Daten zugeordnet sind, welche die Einstellung der graphischen Steuerung (29a) repräsentieren;
(b) einem Benutzer wird ermöglicht, die graphische Steuerung (29a) durch Betätigen der Benutzer-Manipulationseinrichtung (32) auf der graphishcen Steuerung (29a) einzustellen und eine Änderung der die Einstellung der graphischen Steuerung (29a) repräsentierenden Daten zu bewirken;
(c) Übermitteln der Änderung der die Einstellung der graphischen Steuerung (29a) repräsentierenden Daten an die Schnittstelle (35);
(d) Veranlassen der Schnittstelle (35), das rechnersystemfreie Gerät (21) nach Maßgabe der Änderung der die Einstellung der graphischen Steuerung (29a) repräsentierenden Daten einzustellen; und
(e) Veranlassen des Rechners (20), eine graphische Schablonensteuerung (306) zur Anzeige zu bringen, welche graphisch eine hypothetische Merkmalssteuerung eines rechnersystemfreien Geräts (21) repräsentiert, welches nicht mit dem Kommunikationsmedium (28) gekoppelt ist.
7. Verfahren nach Anspruch 6, bei dem der Benutzer in die Lage versetzt wird, eine einstellbare graphische Master-Gerätesteuerung (308) aus der graphischen Schablonen-Steuerung (306) durch Betätigen der Benutzer-Manipulationseinrichtung (32) zu erzeugen, wobei die graphische Master-Gerätesteuerung (308) graphisch die hypothetische Merkmalssteuerung repräsentiert, und der graphischen Master-Gerätesteuerung (308) in dem Rechner-Speichermedium (68) gespeicherte Daten zugeordnet sind, die die Einstellung der graphischen Master-Gerätesteuerung (308) repräsentieren.
8. Verfahren nach Anspruch 7, bei dem der Benutzer in die Lage versetzt wird, die graphische Master-Gerätesteuerung (308) zum Regeln der graphischen Steuerung (29a) zu verwenden, wobei dieses In-die-Lage- Versetzen des Benutzers zur Verwendung der graphischen Master-Gerätesteuerung (308) beinhaltet:
(a) der Benutzer wird in die Lage versetzt, graphisch einen Dialog zwischen der graphischen Steuerung (29a) und der graphischen Master- Gerätesteuerung (308) durch Betätigen der Benutzer-Manipulationseinrichtung (32) zu erzeugen;
(b) als Ergebnis des Dialogs wird eine Beziehung zwischen der graphischen Master-Gerätesteuerung (308) und der graphischen Steuerung (29a) eingerichtet;
(c) als Ergebnis der Relation zwischen der graphischen Master-Gerätesteuerung (308) und der graphischen Steuerung (29a) wird der Benutzer in die Lage versetzt, eine Änderung der die Einstellung der graphischen Master-Gerätesteuerung (308) repräsentierenden Daten durch Betätigen der Benutzer-Manipulationseinrichtung (32) zu bewirken, wobei die Änderung der die Einstellung der graphischen Master-Gerätesteuerung (308) repräsentierenden Daten auch eine ähnliche Änderung der Daten bewirkt, welche die Einstellung der graphischen Steuerung (29a) repräsentieren.
9. Verfahren nach Anspruch 8, bei dem das In-die-Lage-Versetzen des Benutzers zum Bewirken einer Änderung der die Einstellung der graphischen Master-Gerätesteuerung (308) repräsentierenden Daten außerdem beinhaltet, daß der Benutzer vorab eine Funktion zum zusätzlichen Manipulieren der Änderung der die Einstellung der graphischen Master- Gerätesteuerung (308) definiert.
10. Verfahren nach Anspruch 8, bei dem der Benutzer in die Lage versetzt wird, die graphische Master-Gerätesteuerung (308) dazu zu benutzen, mehrere graphische Steuerungen (29a) zu regeln, wobei das In-die- Lage-Versetzen des Benutzers, die graphische Master-Gerätesteuerung (308) zu verwenden, beinhaltet:
für jede graphische Steuerung (29a):
(a) dem Benutzer wird ermöglicht, graphisch durch Betätigen der Benutzer-Manipulationseinrichtung (32) einen Dialog zwischen der graphischen Master-Gerätesteuerung (308) und der graphischen Steuerung (29a) zu erzeugen;
(b) als Ergebnis des Dialogs wird eine Relation zwischen der graphischen Master-Gerätesteuerung (308) und der graphischen Steuerung (29a) eingerichtet;
(c) als Ergebnis der Relation zwischen der graphischen Master-Gerätesteuerung (308) und der graphischen Steuerung (29a) wird der Benutzer in die Lage versetzt, eine Änderung der die Einstellung der graphischen Master-Gerätesteuerung (308) repräsentierenden Daten durch Betätigen der Benutzer-Manipulationseinrichtung (32) zu bewirken, wobei die Änderung der die Einstellung der graphischen Master-Gerätesteuerung (308) repräsentierenden Daten auch eine ähnliche Änderung derjenigen Daten bewirkt, die die Einstellung der graphischen Steuerung (29a) repräsentieren.
DE69523645T 1994-11-04 1995-08-17 Verfahren und Gerät zur Steuerung von nicht immanenten Rechner-Systemeinrichtungen mittels graphischen Oberfläche Expired - Fee Related DE69523645T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US08/334,416 US5657221A (en) 1994-09-16 1994-11-04 Method and apparatus for controlling non-computer system devices by manipulating a graphical representation

Publications (2)

Publication Number Publication Date
DE69523645D1 DE69523645D1 (de) 2001-12-06
DE69523645T2 true DE69523645T2 (de) 2002-06-20

Family

ID=23307113

Family Applications (3)

Application Number Title Priority Date Filing Date
DE69512799T Expired - Fee Related DE69512799T2 (de) 1994-11-04 1995-08-17 Verfahren und gerät zur steuerung von non-rechner-systemeinrichtungen durch manipulieren einer graphischen oberfläche
DE69523645T Expired - Fee Related DE69523645T2 (de) 1994-11-04 1995-08-17 Verfahren und Gerät zur Steuerung von nicht immanenten Rechner-Systemeinrichtungen mittels graphischen Oberfläche
DE69524460T Expired - Fee Related DE69524460T2 (de) 1994-11-04 1995-08-17 Verfahren und Gerät zur Steuerung von Non-Rechner-Systemeinrichtungen durch Manipulieren einer graphischen Oberfläche

Family Applications Before (1)

Application Number Title Priority Date Filing Date
DE69512799T Expired - Fee Related DE69512799T2 (de) 1994-11-04 1995-08-17 Verfahren und gerät zur steuerung von non-rechner-systemeinrichtungen durch manipulieren einer graphischen oberfläche

Family Applications After (1)

Application Number Title Priority Date Filing Date
DE69524460T Expired - Fee Related DE69524460T2 (de) 1994-11-04 1995-08-17 Verfahren und Gerät zur Steuerung von Non-Rechner-Systemeinrichtungen durch Manipulieren einer graphischen Oberfläche

Country Status (7)

Country Link
US (1) US5657221A (de)
EP (3) EP0921463B1 (de)
JP (1) JPH10508711A (de)
AT (3) ATE185629T1 (de)
CA (1) CA2204113A1 (de)
DE (3) DE69512799T2 (de)
WO (1) WO1996014618A1 (de)

Families Citing this family (120)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10361802B1 (en) 1999-02-01 2019-07-23 Blanding Hovenweep, Llc Adaptive pattern recognition based control system and method
DE69432199T2 (de) 1993-05-24 2004-01-08 Sun Microsystems, Inc., Mountain View Graphische Benutzerschnittstelle mit Verfahren zur Schnittstellebildung mit fernsteuernden Einrichtungen
US5966125A (en) * 1996-12-10 1999-10-12 Environique, Inc. System and method for dynamic controls
US5872722A (en) * 1996-09-04 1999-02-16 Eaton Corporation Apparatus and method for adjustment and coordination of circuit breaker trip curves through graphical manipulation
MY121267A (en) 1996-09-05 2006-01-28 Sony Corp Digital recording apparatus and copyright protection method thereof
US5831613A (en) * 1997-01-06 1998-11-03 Apple Computer, Inc. Removable storage media stop/eject system for personal computers
JP3870983B2 (ja) 1997-02-17 2007-01-24 ソニー株式会社 電子機器制御装置および方法、並びに電子機器
DE69835314T2 (de) * 1997-04-15 2007-05-10 Hewlett-Packard Development Co., L.P., Houston Verfahren und Vorrichtung zur formatgesteuerten Interaktion zwischen Geräten
US6081266A (en) * 1997-04-21 2000-06-27 Sony Corporation Interactive control of audio outputs on a display screen
JPH117315A (ja) * 1997-04-21 1999-01-12 Toshiba Corp 監視・制御システム及びその処理内容を記録した媒体
US5990884A (en) * 1997-05-02 1999-11-23 Sony Corporation Control of multimedia information with interface specification stored on multimedia component
JP4367971B2 (ja) * 1997-06-05 2009-11-18 ソニー株式会社 電子機器制御装置、電子機器制御方法、および電子機器
DE69832986T2 (de) * 1997-06-25 2006-08-17 Samsung Electronics Co., Ltd., Suwon Verfahren und vorrichtung zur selbständigen baumbildung für ein heimnetz
ATE289722T1 (de) * 1997-07-30 2005-03-15 Sony Electronics Inc Verfahren zur beschreibung der benutzerschnittstellenmerkmale und funktionalität von av/c-geräten
US6802053B1 (en) 1997-08-18 2004-10-05 National Instruments Corporation Graphical programming system with distributed block diagram execution and front panel display
US6173438B1 (en) * 1997-08-18 2001-01-09 National Instruments Corporation Embedded graphical programming system
US6311149B1 (en) 1997-08-18 2001-10-30 National Instruments Corporation Reconfigurable test system
US6577326B1 (en) * 1997-08-29 2003-06-10 Koninklijke Philips Electronics N.V. Computer-controlled home theater independent user-control
DE19742637C5 (de) * 1997-09-26 2005-06-02 Fresenius Medical Care Deutschland Gmbh Vorrichtung und Verfahren zur Bedienung medizintechnischer Geräte
JPH11150788A (ja) * 1997-11-14 1999-06-02 Yamaha Corp オーディオシステム
US5945993A (en) * 1998-01-30 1999-08-31 Hewlett-Packard Company Pictograph-based method and apparatus for controlling a plurality of lighting loads
US7152027B2 (en) 1998-02-17 2006-12-19 National Instruments Corporation Reconfigurable test system
US7085670B2 (en) 1998-02-17 2006-08-01 National Instruments Corporation Reconfigurable measurement system utilizing a programmable hardware element and fixed hardware resources
US7043532B1 (en) * 1998-05-07 2006-05-09 Samsung Electronics Co., Ltd. Method and apparatus for universally accessible command and control information in a network
CA2331743C (en) * 1998-05-07 2007-01-23 Samsung Electronics Co., Ltd. Method and apparatus for universally accessible command and control information in a network
KR100385967B1 (ko) * 1998-05-23 2003-07-16 삼성전자주식회사 네트웍상에서의서버기기접속방법
US6061602A (en) * 1998-06-23 2000-05-09 Creative Lifestyles, Inc. Method and apparatus for developing application software for home automation system
US6615293B1 (en) 1998-07-01 2003-09-02 Sony Corporation Method and system for providing an exact image transfer and a root panel list within the panel subunit graphical user interface mechanism
US6295479B1 (en) * 1998-07-01 2001-09-25 Sony Corporation Of Japan Focus in/out actions and user action pass-through mechanism for panel subunit
US6556221B1 (en) * 1998-07-01 2003-04-29 Sony Corporation Extended elements and mechanisms for displaying a rich graphical user interface in panel subunit
US6381507B1 (en) * 1998-07-01 2002-04-30 Sony Corporation Command pass-through functionality in panel subunit
US6148241A (en) * 1998-07-01 2000-11-14 Sony Corporation Of Japan Method and system for providing a user interface for a networked device using panel subunit descriptor information
US7865832B2 (en) * 1999-07-26 2011-01-04 Sony Corporation Extended elements and mechanisms for displaying a rich graphical user interface in panel subunit
US6456892B1 (en) * 1998-07-01 2002-09-24 Sony Electronics, Inc. Data driven interaction for networked control of a DDI target device over a home entertainment network
JP2000197159A (ja) * 1998-12-28 2000-07-14 Sanyo Electric Co Ltd 音響・映像コントロ―ルシステム
JP4508330B2 (ja) * 1999-01-25 2010-07-21 キヤノン株式会社 表示装置
US7904187B2 (en) 1999-02-01 2011-03-08 Hoffberg Steven M Internet appliance system and method
JP2000261482A (ja) 1999-03-08 2000-09-22 Sony Corp アドレス設定方法、クライアント装置、サーバ装置、並びにクライアントサーバシステム
US7213061B1 (en) * 1999-04-29 2007-05-01 Amx Llc Internet control system and method
JP2000332801A (ja) * 1999-05-19 2000-11-30 Matsushita Electric Ind Co Ltd 仮想avネットワーク構築装置、及び仮想avネットワーク構築方法、並びに仮想avネットワーク構築方法に関するプログラムを記載した記録媒体
US6657646B2 (en) 1999-06-08 2003-12-02 Amx Corporation System and method for multimedia display
JP4147689B2 (ja) * 1999-06-14 2008-09-10 ソニー株式会社 情報処理装置及び情報処理方法
US6775244B1 (en) * 1999-06-21 2004-08-10 Intel Corporation Gathering of device discovery information
US6831704B1 (en) * 1999-07-30 2004-12-14 Grass Valley (U.S.) Inc. Linking external devices to switcher transitions
JP2001066986A (ja) * 1999-08-26 2001-03-16 Sony Corp 送信装置および方法、受信装置および方法、通信システム、並びにプログラム格納媒体
JP2001077831A (ja) 1999-09-08 2001-03-23 Sony Corp 通信制御装置および方法、通信システム、並びにプログラム格納媒体
JP4168304B2 (ja) * 1999-09-16 2008-10-22 ソニー株式会社 情報出力装置、情報報知方法および情報信号供給経路選択方法
US7187947B1 (en) 2000-03-28 2007-03-06 Affinity Labs, Llc System and method for communicating selected information to an electronic device
US6674452B1 (en) 2000-04-05 2004-01-06 International Business Machines Corporation Graphical user interface to query music by examples
US6225546B1 (en) 2000-04-05 2001-05-01 International Business Machines Corporation Method and apparatus for music summarization and creation of audio summaries
US7047495B1 (en) * 2000-06-30 2006-05-16 Intel Corporation Method and apparatus for graphical device management using a virtual console
US20020046266A1 (en) * 2000-08-09 2002-04-18 Muralidhar Kurudi H. Computer-implemented method and apparatus for the cloning of input/output devices
US6643555B1 (en) * 2000-10-10 2003-11-04 Schneider Automation Inc. Method and apparatus for generating an application for an automation control system
US8480466B2 (en) 2001-03-27 2013-07-09 Igt Method and apparatus for previewing a game
US7918738B2 (en) 2001-03-27 2011-04-05 Igt Interactive game playing preferences
WO2003003235A1 (en) 2001-06-27 2003-01-09 4 Media, Inc. Improved media delivery platform
US20030088852A1 (en) * 2001-11-07 2003-05-08 Lone Wolf Technologies Corporation. Visual network operating system and methods
US7390257B2 (en) * 2001-12-06 2008-06-24 Igt Programmable computer controlled external visual indicator for gaming machine
US7203930B1 (en) * 2001-12-31 2007-04-10 Bellsouth Intellectual Property Corp. Graphical interface system monitor providing error notification message with modifiable indication of severity
EP1481305A2 (de) * 2002-02-28 2004-12-01 Agfa-Gevaert Verfahren zur einstellung einer benutzerschnittstelle in einem druckvorbereitungs-arbeitsfluss
US7788346B2 (en) * 2002-03-01 2010-08-31 Oracle America, Inc. System and method for state data back-up in a distributed data system
WO2003091865A1 (en) * 2002-04-24 2003-11-06 Marmon Victor I Method and system for graphical data representation
US7343566B1 (en) * 2002-07-10 2008-03-11 Apple Inc. Method and apparatus for displaying a window for a user interface
US20040021698A1 (en) * 2002-08-05 2004-02-05 Baldwin Amanda K. Intuitive touchscreen interface for a multifunction device and method therefor
US7224366B2 (en) 2002-10-17 2007-05-29 Amx, Llc Method and system for control system software
AU2003214266A1 (en) * 2003-03-10 2004-09-30 Eneo Laboratories, S.A. Interactive system and method for controlling household appliances
US7328412B1 (en) * 2003-04-05 2008-02-05 Apple Inc. Method and apparatus for displaying a gain control interface with non-linear gain levels
US7610553B1 (en) * 2003-04-05 2009-10-27 Apple Inc. Method and apparatus for reducing data events that represent a user's interaction with a control interface
CN100556203C (zh) * 2003-06-10 2009-10-28 哈曼国际工业有限公司 音频放大器本地接口系统
US7200529B2 (en) * 2003-08-15 2007-04-03 National Instruments Corporation Automatic configuration of function blocks in a signal analysis system
US20050138546A1 (en) * 2003-12-23 2005-06-23 Microsoft Corporation Personalized web page on a home network for viewing on a television
US20050140696A1 (en) * 2003-12-31 2005-06-30 Buxton William A.S. Split user interface
US8249071B2 (en) * 2004-03-26 2012-08-21 Harman International Industries, Incorporated Audio related system communication protocol
DE102004023200A1 (de) * 2004-05-11 2005-12-08 Siemens Ag Verfahren zum Erzeugen eines virtuellen Anzeige- oder Bediengeräts
US8468219B2 (en) * 2005-02-01 2013-06-18 Broadcom Corporation Minimum intervention authentication of heterogeneous network technologies (MIAHNT)
TWI265458B (en) * 2005-06-02 2006-11-01 Avermedia Tech Inc Audio player
US20070055740A1 (en) * 2005-08-23 2007-03-08 Luciani Luis E System and method for interacting with a remote computer
WO2007030421A2 (en) 2005-09-07 2007-03-15 Amx Llc Method and computer program for device configuration
KR101053852B1 (ko) * 2006-03-10 2011-08-03 삼성전자주식회사 거치장치, 휴대용 단말기 및 그 제어방법
US7934194B2 (en) * 2006-10-17 2011-04-26 The Mathworks, Inc. User-defined hierarchies of user-defined classes of graphical objects in a graphical modeling environment
US20080113821A1 (en) * 2006-11-09 2008-05-15 Igt Gaming machine with vertical door-mounted display
US8096884B2 (en) * 2006-11-09 2012-01-17 Igt Gaming machine with adjustable button panel
US8177637B2 (en) * 2006-11-09 2012-05-15 Igt Button panel control for a gaming machine
US7833102B2 (en) * 2006-11-09 2010-11-16 Igt Gaming machine with consolidated peripherals
US20080113716A1 (en) * 2006-11-09 2008-05-15 Igt Personalization of video and sound presentation on a gaming machine
US8839142B2 (en) 2007-06-08 2014-09-16 Apple Inc. Desktop system object removal
WO2009005960A2 (en) * 2007-06-29 2009-01-08 Roche Diagnostics Gmbh Method and apparatus for determining and delivering a drug bolus
EP2028882B1 (de) * 2007-08-01 2018-10-10 Yamaha Corporation Fernüberwachungssystem für Audioverstärker in einem Netzwerk
KR101456570B1 (ko) * 2007-12-21 2014-10-31 엘지전자 주식회사 디지털 이퀄라이저를 구비한 이동 단말기 및 그 제어방법
US8458667B2 (en) 2008-01-30 2013-06-04 National Instruments Corporation Debugging a statechart for a real time target
US20090195513A1 (en) * 2008-02-05 2009-08-06 Delphi Technologies, Inc. Interactive multimedia control module
US8726175B2 (en) * 2008-02-27 2014-05-13 Kyocera Corporation User interface generation apparatus
DE102008055585B3 (de) * 2008-12-23 2010-04-29 Jiri Burda Modulares Heiz- und Beleuchtungssystem zum Aufbau von Leucht- und Heizelementen
US8687777B1 (en) 2010-02-03 2014-04-01 Tal Lavian Systems and methods for visual presentation and selection of IVR menu
US8625756B1 (en) 2010-02-03 2014-01-07 Tal Lavian Systems and methods for visual presentation and selection of IVR menu
US8548131B1 (en) 2010-02-03 2013-10-01 Tal Lavian Systems and methods for communicating with an interactive voice response system
US8537989B1 (en) 2010-02-03 2013-09-17 Tal Lavian Device and method for providing enhanced telephony
US8903073B2 (en) 2011-07-20 2014-12-02 Zvi Or-Bach Systems and methods for visual presentation and selection of IVR menu
US8548135B1 (en) 2010-02-03 2013-10-01 Tal Lavian Systems and methods for visual presentation and selection of IVR menu
US8406388B2 (en) 2011-07-18 2013-03-26 Zvi Or-Bach Systems and methods for visual presentation and selection of IVR menu
US9001819B1 (en) 2010-02-18 2015-04-07 Zvi Or-Bach Systems and methods for visual presentation and selection of IVR menu
US8553859B1 (en) 2010-02-03 2013-10-08 Tal Lavian Device and method for providing enhanced telephony
US8572303B2 (en) * 2010-02-03 2013-10-29 Tal Lavian Portable universal communication device
US8879698B1 (en) 2010-02-03 2014-11-04 Tal Lavian Device and method for providing enhanced telephony
US8681951B1 (en) 2010-02-03 2014-03-25 Tal Lavian Systems and methods for visual presentation and selection of IVR menu
US8594280B1 (en) 2010-02-03 2013-11-26 Zvi Or-Bach Systems and methods for visual presentation and selection of IVR menu
KR101698354B1 (ko) * 2010-07-16 2017-01-23 삼성전자주식회사 홈 네트워크에서 멀티캐스트 메시지를 이용하여 복수 개의 원격 사용자 인터페이스 서버들을 제어하기 위한 장치 및 방법
US9661428B2 (en) * 2010-08-17 2017-05-23 Harman International Industries, Inc. System for configuration and management of live sound system
US8910065B2 (en) * 2010-09-14 2014-12-09 Microsoft Corporation Secondary output generation from a presentation framework
US9658732B2 (en) 2010-10-19 2017-05-23 Apple Inc. Changing a virtual workspace based on user interaction with an application window in a user interface
US9542202B2 (en) 2010-10-19 2017-01-10 Apple Inc. Displaying and updating workspaces in a user interface
US9292196B2 (en) 2010-10-19 2016-03-22 Apple Inc. Modifying the presentation of clustered application windows in a user interface
US10740117B2 (en) 2010-10-19 2020-08-11 Apple Inc. Grouping windows into clusters in one or more workspaces in a user interface
US10152192B2 (en) 2011-02-21 2018-12-11 Apple Inc. Scaling application windows in one or more workspaces in a user interface
DE102011017729A1 (de) * 2011-04-28 2012-10-31 Zumtobel Lighting Gmbh Bedienelement für eine Beleuchtungsanlage
US8867708B1 (en) 2012-03-02 2014-10-21 Tal Lavian Systems and methods for visual presentation and selection of IVR menu
US8731148B1 (en) 2012-03-02 2014-05-20 Tal Lavian Systems and methods for visual presentation and selection of IVR menu
DE102013202020A1 (de) 2013-02-07 2014-08-07 Robert Bosch Gmbh Graphisches Bildschirmelement
US9286429B2 (en) * 2013-12-31 2016-03-15 Alcatel Lucent System and method for amplifier design
US9633642B2 (en) 2015-07-24 2017-04-25 Roland Corporation Electronic musical instrument system

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4279012A (en) * 1978-10-23 1981-07-14 Massachusetts Microcomputers, Inc. Programmable appliance controller
US4849880A (en) * 1985-11-18 1989-07-18 John Fluke Mfg. Co., Inc. Virtual machine programming system
US5335323A (en) * 1987-01-05 1994-08-02 Motorola, Inc. Computer human interface with multiapplication display
US5062060A (en) * 1987-01-05 1991-10-29 Motorola Inc. Computer human interface comprising user-adjustable window for displaying or printing information
US5021976A (en) * 1988-11-14 1991-06-04 Microelectronics And Computer Technology Corporation Method and system for generating dynamic, interactive visual representations of information structures within a computer
US5086385A (en) * 1989-01-31 1992-02-04 Custom Command Systems Expandable home automation system
US5400246A (en) * 1989-05-09 1995-03-21 Ansan Industries, Ltd. Peripheral data acquisition, monitor, and adaptive control system via personal computer
US5321829A (en) * 1990-07-20 1994-06-14 Icom, Inc. Graphical interfaces for monitoring ladder logic programs
DE69329005T2 (de) * 1992-10-26 2001-03-22 Sun Microsystems Inc Fernbedienungs- und Zeigegerät

Also Published As

Publication number Publication date
EP0921463A2 (de) 1999-06-09
DE69524460T2 (de) 2002-08-01
ATE185629T1 (de) 1999-10-15
JPH10508711A (ja) 1998-08-25
ATE210315T1 (de) 2001-12-15
WO1996014618A1 (en) 1996-05-17
EP0921463B1 (de) 2001-10-31
EP0933700A1 (de) 1999-08-04
EP0921463A3 (de) 1999-09-08
ATE208063T1 (de) 2001-11-15
US5657221A (en) 1997-08-12
EP0789874A1 (de) 1997-08-20
DE69512799D1 (de) 1999-11-18
CA2204113A1 (en) 1996-05-17
DE69512799T2 (de) 2000-05-11
EP0789874B1 (de) 1999-10-13
EP0933700B1 (de) 2001-12-05
DE69523645D1 (de) 2001-12-06
DE69524460D1 (de) 2002-01-17

Similar Documents

Publication Publication Date Title
DE69523645T2 (de) Verfahren und Gerät zur Steuerung von nicht immanenten Rechner-Systemeinrichtungen mittels graphischen Oberfläche
DE69817158T2 (de) Benutzerschnittstellen-Mechanismus zur Manipulierung von Kontexten in Computerverwaltungsapplikationen
DE69310214T2 (de) Dialogsystem
DE69310201T2 (de) Objektorientierte applikationsschnittstelle.
DE69311359T2 (de) Befehlssystem
DE69428988T2 (de) Interaktive anwenderschnittstelle
DE69132981T2 (de) Betriebsmittelsteuerungsanordnung
DE69310202T2 (de) Internationales datenverarbeitungssystem
DE69525249T2 (de) Umschaltung zwischen darstellungs-/verhaltensthemen in graphischen benutzeroberflächen
DE69304928T2 (de) Atomares befehlsystem
DE69308942T2 (de) Steuerungseinrichtung mit Übermittlung von Steuerungsstrukturdefinitionen
DE69131122T2 (de) Graphische Konfiguration eines Datenverarbeitungsnetzwerkes
DE69400204T2 (de) Ladesystem
DE60311608T2 (de) Verfahren und Vorrichtung zum Schalten der Steuerung zwischen verbundenen Vorrichtungen
DE69310187T2 (de) Objektorientiertes fachwerksystem
DE69727002T2 (de) Aufzeichnungsschnitt
DE69326839T2 (de) Vorrichtung und verfahren zur cursorbewegungssteuerung
DE69129328T2 (de) Ikonobjektschnittstellesystem und -verfahren
DE69621197T2 (de) Peripheriegerätsteuerungssystem mit einer Mehrheit von Objekten
DE69310934T2 (de) Ballonhilfssystem.
DE3213036C2 (de)
DE68915847T2 (de) Tastatur-Umbelegung.
DE19882116T5 (de) System zum Konfigurieren einer Prozesssteuerumgebung mit grafischen Elementen
DE69129536T2 (de) Objektbasiertes rechnersystem
DE69425842T2 (de) Benutzerschnittstelle mit einem verschiebbaren Arbeitsraum und im Arbeitsraum fixierbaren Fenstern

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee