Das Problem der sogenannten ,,Pushbutton``-Variablen, welches in der
SNMP-MIB bestand, ist auch in der ersten Version des Objektmodells
(siehe Abbildung ) enthalten: Eine Operation
auf einem Objekt (und damit auf der entsprechenden Systemkomponente)
muß dadurch ausgelöst werden, daß einem Objektattribut ein Wert
zugewiesen wurde. Hinsichtlich der Semantik einer Operation ist dies
generell fragwürdig, da auf den ersten Blick nicht zwischen einem
Wertattribut und einem ,,Pushbutton``-Attribut unterschieden werden
kann. Beim objektorientierten Ansatz ist dieses Problem jedoch sehr
leicht zu lösen: An die Stelle der ,,Pushbutton``-Variablen treten
Operationen. Für jeden möglichen Wert einer ,,Pushbutton``-Variablen
wird dabei eine eigene Operation eingeführt. Ein Beispiel hierfür
ist das Attribut cpuAction der Processor-Klasse. Für die
fünf Werte, die dieser Variable ursprünglich zugewiesen werden
konnten, werden nun die entsprechenden Operationen enable(),
disable(), lock(), unlock() und shuttingdown()
eingeführt. Die bisherige Wertzuweisung cpuAction:=1, ausgeführt
durch das Senden einer SNMP set-Protokolldateneinheit an den
Agenten, entspricht nun einem Aufruf der Operation enable(). Da
diese fünf Operationen in vielen Komponenten eines Systems ebenfalls
auftreten, wurden auch sie in die Klasse Generic_Device
aufgenommen (siehe Abbildung
).