prototype test begin
event initializing { time == 0 }
stateset ModelState {INIT, RUNNING} = INIT begin
transition from INIT to RUNNING on initializing
end
end
To define an Athena event, you should to create an OpaqueBehavior “oInitializing”. Select Athena as source code, and put time == 0 as body value. Create an Operation and name as Initializing, and apply the Algotrythm stereotype. Assign this opération as oInitializing behavior’s sepcification.
To use this event, select a transition in your state machine, and go to the RobotML tab, in the property view. Assign the Initializing operation as transition’s guard or effect.
prototype test begin
signal sigEvent
stateset ModelState {INIT, RUNNING) = INIT begin
transition from INIT to RUNNING on initializing raise sigEvent
end
end
To define an Athena signal, you should to create an Operation sigEvent, and apply the Algorythm stereotype. To use this signal, select a transition on your state machine, and assign the sigEveng operation as transition effect in the propertie’s RobotML tab.
prototype test begin
when (ModelState::INIT) begin
interaction init()
end
end
To define a state action, you should create an OpaqueBehavioir “oInit”. In the RotbotML tab of the proties view, selct Alf as source code, and complete the body’s value on Alf language (you use Athena). Create an Operation and name as init. Apply the Alogorythm stereotype on this operation. In the RobotML tab of the OpaqueBahavior’s properties view, assign the operation as specification of this behavior. To use this action, select youy state, and go to the RobotML tab of the properties view. Assign your operation and link the arguments.