The available actions which could be performed inside transitions include: skip (internal action), informal (observable action), task (variable assignments), set (clock setting), reset (clock and variable resetting), output (signal sending, possible via signalroutes), call (procedure calls), fork (process/signalroute instance creation), kill (process/signalroute instance destruction). In particular, note that call and fork actions return values which could be used in assignments.
xxxxxxxxxxxxxxxxxxaction ::=
skip ;
informal string ;
task expression := expression ;
set expression := expression ;
reset expression ;
output signal-id ( expression { , expression } )
via signalroute-id to expression ;
expression := call procedure-id ( expression { , expression } ) ;
expression := fork process-id ( expression { , expression } ) ;
expression := fork signalroute-id ( expression { , expression } ) ;
kill expression ;