Table Of Contents

Previous topic

Your First Scenario - attack an airport - Problem ready

Next topic

Annex

This Page

Athena generation specificities

Event definition on modelling

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.

Signal definition on modelling

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.

State action on modelling

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.