***************************************************************************** *** Actuator (HardwareAdapter) *** *** knows its Device, knows its Controller *** *** *** ***************************************************************************** mod ACTUATOR is inc ATTRIBUTES . inc CONTROLLER-ACTUATOR-INTERFACE . inc DEVICE-ACTUATOR-INTERFACE . sort ActuatorCid . subsort ActuatorCid < Cid . *** Attributes op executedCmd : Command -> Attribute . *** the command that was sent by the controller for execution vars act d ctrl : Oid . var actcid : ActuatorCid . vars cmd cmd' : Command . rl[executeCommandReq]: < act : actcid | mydevice(d), myctrl(ctrl), executedCmd(cmd'), actatts:AttributeSet > msg(act,ctrl,issueCmd(cmd)) => < act : actcid | mydevice(d), myctrl(ctrl), executedCmd(cmd), actatts:AttributeSet > msg(d,act,executeCmd(cmd)) . endm mod ACTUATOR-TEST is inc ACTUATOR . op Actuator : -> ActuatorCid . op myactuator : -> Object . eq myactuator = < o("MyActuator") : Actuator | mydevice(o("MyDevice")), myctrl(o("MyController")), executedCmd(noCmd) > . endm