The .sm listing below is a skeleton with no states or transitions defined. It contains only the following features:
A verbatim code section which is copied verbatim
into the generated source code file. In this case the
verbatim code is the boilerplate copyright comments.
This section is delimited by the
%classkeyword which specifies the application class to which this FSM is associated:
%packagekeyword which specifies to which class package this FSM belongs. This is the same package as the
%fsmclasskeyword specifies the generated finite state machine class name. If
%fsmclassis not specified, then the finite state machine class name would default to
TaskContext. This keyword is not required.
%fsmfilekeyword specifies the generated finite state machine class file name. The appropriate suffix for the given programming language is appended to this file name to form the complete file name. This suffix may be changed from its default using the
-hsuffixcommand line parameters. See this table for the default file name and suffix settings for each supported target language.
%accesskeyword is used to specify the generated class' accessibility level (this works only when generating Java and C# code). In this case the FSM can only be accessed within the
%startkeyword specifies the FSM's start state. For the Task FSM it is the
%mapkeyword is the FSM's name.
Name the source code file
directives specify the finite state machine class name as
.sm suffix is required.
%fsmclass directive was
added to SMC version 6.0.1 and
added to version 6.6.0.)