Europäische Anforderungen an das AES-24 Protokoll

Vortrag zur Tonmeistertagung 1996

Das Konzept

Es ergeben sich folgende wichtige Punkte:

  • Erweiterbarkeit. AES-24 muß in einer klaren Art und Weise erweiterbar sein, damit zukünftige neue Geräte und Konzepte unterstützt werden können.
  • Flexibilität. AES-24 muß geordnete Verfahren anbieten, um nicht standardmäßige Geräte mit einschließen zu können und eine systemübergreifende Bedienbarkeit zu erreichen.
  • Kompatibilität. AES-24 muß die folgenden drei Kompatibilitätstypen unterstützen:
    1. Aufwärtskompatibilität, bei der neuere Versionen von AES-24 auch Geräte unterstützen, welche ältere Versionen benützen. Die volle Funktionalität der neueren Version wird dabei aber in den meisten Fällen nicht erreichbar sein.
    2. Abwärtskompatibilität, bei der ältere Versionen von AES-24 auch Geräte unterstützen, welche bereits eine neuere Version enthalten. Auch hier ist die volle Funktionalität in den meisten Fällen nicht erreichbar.
    3. Laterale Kompatibilität, wobei kundenspezifische Verbesserungen oder Veränderungen trotzdem eine übergreifende Bedienbarkeit gewährleisten. Abhängig von der jeweiligen Version der Bediensoftware ist hierbei die volle Bandbreite der spezifischen Lösung verfügbar oder auch nicht.
  • Flexible Anforderungen an die Datenübertragung. AES-24 muß mit möglichst vielen Datenübertragungsmedien harmonieren, wobei natürlich die Effizienz der Steuerung mit dem Netzwerk steigt oder fällt.
  • Peer-to-Peer Betrieb (verteilte Intelligenz). AES-24 erlaubt hierdurch, daß von jedem beteiligten Gerät entsprechende Steuer- oder Überwachungsbefehle ausgesendet oder akzeptiert werden können.
  • Sicherheit. AES-24 muß in den jeweiligen Steuernetzwerken verschiedene und ausreichende Sicherheitsabstufungen unterstützen, um unberechtigte Zugriffe zu vermeiden.

AES-24 beruht auf der Grundüberlegung, daß jedem Gerät eine Anzahl von diskreten Funktionselementen innewohnen. Einige dieser Elemente betreffen das Audiosignal direkt, während andere der Verwaltung dienen bzw. den Betrieb unterstützen.

Zusätzlich zu den normalen Audiogeräten wird ein AES-24 Netzwerk normalerweise einen oder mehrere reine Steuergeräte enthalten (sog. System Controller), die alle notwendigen Steuer- und Überwachungsfunktionen zur Verfügung stellen. Diese System Controller werden von AES-24 – entsprechend den Audiogeräten – als eine Anzahl von diskreten Funktionselementen betrachtet.

Im Allgemeinen erscheint es sinnvoll, die System Controller als eigenständige Geräte zu verstehen. AES-24 ist jedoch so aufgebaut, daß es als völlig normal anzusehen ist, wenn ein Gerät beiden Funktionen genügt – also der Tonbearbeitung und der Steuerung des Netzes. Sogenannte Multimedia PCs könnten hier verschiedene Funktionen (wie z.B. Harddisk Recording u.v.m.), sowie die Überwachung und Steuerung einer ganzen Kaskade von nachfolgenden Geräten übernehmen.

AES-24 bezeichnet die verschiedenen diskreten Funktionselemente als Objekte. Ein Objekt repräsentiert hierbei Daten und assoziierte Handlungen, die entsprechend den Daten ausgeführt werden. Für AES-24 ist also ein Objekt eine Abstraktion, welche die kontrollierbaren Audio- und anderen Funktionen bildet.

Der Datenaustausch zwischen Objekten erfolgt ausschließlich mit sogenannten Messages. Genauer: Bei einer Message handelt es sich um einen genau abgegrenzten Datenblock, der zwischen Objekten ausgetauscht wird.

Um AES-24 und seine Struktur besser verstehen zu können sowie die verhältnismäßig universelle Struktur besser auszuleuchten, schnell noch einige Begriffe mehr. Und zwar die Begriffe Klasse und Instance, sowie Klassenkennung, Klassenstruktur und AES-24 Interface. Diese Begriffe sind anschaulich und lassen sich graphisch leicht darstellen.

Die nachfolgende Zeichnung erklärt das Prinzip bereits relativ gut. Wir haben es in diesem angenommenen Fall mit einem Verteilverstärker zu tun, wie er in verschiedenen Formen sowohl in Beschallungsanlagen wie auch als möglicher Verteiler usw. im Studio- und Rundfunkbereich vorkommt.

System Controller mit gesteuertem Gerät
System Controller mit gesteuertem Gerät

Der Verstärker enthält ein Schalterobjekt für EIN/AUS, vier Verstärkungs-Steuerobjekte und jeweils ein zugehöriges Pegelmeßobjekt, welches die Pegelinformationen und den System Controller zurückmelden kann.

Der System Controller, der in unserem Fall von einem PC dargestellt werden soll, enthält ein graphisches Programm. Dieses GUI (Graphical User Interface) stellt vier bewegliche „graphische“ Fader zur Pegeleinstellung, vier Pegelanzeigen und ein Taster/Schalter Objekt zur Ferneinschaltung. Das AES-24 Modell betrachtet die auf dem Bildschirm enthaltenen Elemente als Objekte. Steuerung und Überwachung werden dadurch realisiert, daß Messages zwischen den Objekten der Steuerung und dem Verstärker hin- und hergesandt werden. AES-24 spezifiziert also diese Prozesse, durch welche diese Objekte sich gegenseitig identifizieren und übereinander informieren, sowie das Format, die Datensequenzen und Auswirkungen der ausgetauschten Daten.

Zusätzlich zu den GUI- und Geräteobjekten zeigt das obenstehende Bild sogenannte „Management Objekte“, die sowohl im Gerät wie auch dem Controller enthalten sind. Diese Objekte realisieren das AES-24 Protokoll, tragen aber ursächlich nicht direkt etwas zur Steuerelektronik oder den GUI-Funktionen bei. Sie dienen der Initialisierung und Konfiguration.

Schön ist vielleicht auch der Umstand, daß AES-24 eine reine Abstraktion der vorzunehmenden Prozesse darstellt. Das heißt, daß es das AES-24 überhaupt nicht kümmert, wie die im Gerät enthaltenen Objekte ihre Regelvorgänge verwirklichen. In unserem Beispiel kann also das gleiche Protokoll sowohl einen analogen Verstärker mit VCAs als auch die Prozesse innerhalb von DSPs steuern. Weiterhin gilt auch noch folgendes: Es ist für das AES-24 Protokoll irrelevant, ob die Steuerbefehle von einem PC kommen oder von mit dem Netzwerk verbundener Hardware (z.B. einem kleinen Controller mit „echten“ Knöpfen).

Die oben erwähnten Begriffe seien nachfolgend noch einmal kurz umrissen:

Klasse: Die Vorlage, welche einen bestimmten Objekttyp definiert. Die Objektklasse legt die Befehle und Botschaften fest, die ein Objekt empfangen und aussenden kann, und definiert deren Bedeutung.

Instance: Wird als Synonym für ein Objekt benutzt, um dadurch dessen Eigenschaften als Gesamtheit seiner Klassen hervorzuheben.

Klassenstruktur: Ein Anzahl von Klassen innerhalb von AES-24 und deren hierarchische Beziehung.

Klassenkennung: Eine einmalige und unverwechselbare Identifikation einer AES-24 Klasse.

AES-24 Interface: Eine Anzahl von Objekten, die ein Gerät dem AES-24 Netzwerk zu Kontroll- und Monitorzwecken zur Verfügung stellt.

Des weiteren sind zum Verständnis des Protokolls die nachfolgenden, immer wiederkehrende Begriffe von Bedeutung. Diese Begriffe sind daher besonders zu beachten:

Methoden: Eine Methode kann weitgehend als eine Handlungsschnittstelle verstanden werden, welche bestimmte Parameter erfordert, Handlungen ausführt und Statusinformationen zur Verfügung stellt, nachdem eine Funktion ausgeführt wurde. Eine Methode wird vollständig definiert durch:

  • die Parameter, die sie akzeptiert
  • die Handlungen, welche sie ausführt
  • die von ihr generierten Antwortmessages (Datenblöcke)

Jede AES-24 Message ist entweder eine Anfrage einer bestimmten Methode oder die Antwort auf eine vorhergehende Message. Die Anzahl der Methoden innerhalb eines Objektes stellt dessen vollständige AES-24 Funktion dar.

Übertragungsobjekt: Ein Objekt, welches ausschließlich der Datenübertragung und dem Austausch von Messages zwischen Objekten dient.

Handle: Ein dynamisch zugewiesener 32 Bit String, welcher zu einem bestimmten Objekt gehört und es unverwechselbar innerhalb des Netzwerkes identifiziert. Eine genaue Definition des Handles und seine hexadezimalen Bedeutungen muß leider wegen der Kürze des Vortrages entfallen. Die Bedeutung einer eindeutigen Identifizierung ist aber ohnehin jederzeit einleuchtend und offensichtlich.

Registratur: Ein AES-24 Netzwerk kann über ein Register verfügen, welches die im Netzwerk enthaltenen Handles verwaltet. Um Verwechslungen zu vermeiden, kann jedes Netzwerk höchstens ein aktives Register enthalten. Eine Registratur ist also ein „Server“ bzw. Dienstleister, innerhalb eines AES-24 Netzwerkes, welcher die Objektpfade (= strukturierte Namen, welche jedes Objekt im Netz kennzeichnet) an Handles zuweist und umgekehrt. Dabei wird auch eine zusätzliche Namens- und Adressverwaltung zur Verfügung gestellt.

Ein Register stellt also die folgenden Dienstleistungen zur Verfügung:

  • Verwaltung von Handle-Werten. Das Register verwaltet die Handles und Objektpfade, die durch sie repräsentiert werden. Auf Anfrage werden Handles registriert und deregistriert.
  • Informationen über die im gesamten Netzwerk oder Teilen hiervon enthaltenen Objekte (Objektinventur). Die Netzwerkinventur definiert die enthaltenen Objekte, deren Handles und ihre Klassenkennung. Das Register stellt eine zentralisierte Ausgabestelle für Konfigurationsinformationen dar. System Controller und andere Geräte können im Bedarfsfalle diese Informationen beim Register abfragen. Der Abfrage der Netzwerkinventur wird Inventory Gathering genannt.
  • Übermittlung von Veränderungen der Inventur. Wenn ein Netzwerk initialisiert wird oder sich die Konfiguration eines aktiven Netzwerkes ändert, verteilt das Register entsprechende Hinweise und Nachrichten an seine „Abonnenten“. Jedes Objekt innerhalb eines Netzwerkes kann zum Abonnenten werden, indem eine entsprechende Anfrage an das Register gesendet wird.

Die Graphiken erleichtern hoffentlich das Verständnis. Leider ist bei einem offenen und intelligenten Protokoll ein gewisser Wissens-Wasserkopf notwendig. Vielleicht sei die folgende Nebenbemerkung erlaubt: Die Anzahl der Konventionen, Definitionen und Grundüberlegungen steigt proportional mit der Bedienfreundlichkeit. Denn schließlich soll AES-24 dem Anwender das Leben erleichtern, was natürlich eine wohl durchdachte Universalität voraussetzt.

AES-24 Device Modell
AES-24 Device Modell

Verbindungen, Steuerpfade und Objekte
Verbindungen, Steuerpfade und Objekte

Die beiden Grafiken stellen im Wesentlichen das gleiche dar, wobei die im Bild 4 enthaltenen Informationen das Prinzip auf ein gesamtes Netzwerk (wenn auch von kleinem Umfang) ausdehnen.

Wesentlich ist, und soviel sei hier zusammenfassend gesagt, daß es sich bei AES-24 um ein objektbezogenes Protokoll handelt. Der Vorteil ist hierbei, einzelne Objekte ändern und zusätzlich aufnehmen zu können und dabei auch zukünftigen Entwicklungen Raum zu schaffen.

Programmiersprachen wie Visual Basic, bzw. Visual C++ arbeiten vollständig objektorientiert. Die Programmierung einer Bedienoberfläche in einer dieser beiden Sprachen ist daher wie geschaffen für die Aufnahme des AES-24 Protokolls. Natürlich sind andere Sprachen nicht davon ausgeschlossen, ebenfalls zur Erzeugung eines GUI herangezogen zu werden.

Unterlagen