Die Programmierumgebung für die Erstellung von Gerätetreibern
besteht aus einem Satz von Klassen, die in Abb.
dargestellt sind. Nur die in der ersten Spalte stehenden Klassen
benutzt der Programmierer eines Gerätetreibers direkt. Die anderen
werden implizit von diesen benutzt. Einige Klassen sind Varianten
anderer Klassen, die Merkmale von diesen erben, eigene definieren oder
geerbte verändern. Dadurch mußten bei den Varianten nur die
Änderungen neu implementiert werden.
Die Klasse Device stellt einen allgemeinen Rahmen für ein Treiberprogramm zur Verfügung. Die Klassen DevServiceSet, DevService und DevAction stellen eine Einheit dar und implementieren die Verwaltung der Services und der Aktionen. Sie sind Erweiterungen der Klassen MpxServiceSetC, MpxServiceC und MpxAction, deren Funktionalität in [Hak93] implentiert wurde. DevDB stellt Zugriffsmöglichkeiten auf die Datenbank zur Verfügung und wird von DevService und DevAction benutzt. MpxFieldSetC und MpxField dienen der Verwaltung der Aktionen. Objekte der Klasse MpxMessage enthalten die Nachrichten, die über das Messagesystem verschickt werden, und geben dem Benutzer Möglichkeiten, auf die Daten in den Nachrichten zuzugreifen. Error schließlich bietet die Möglichkeit für Fehlerausgaben. Diese Klasse wird von allen anderen Klassen benutzt.