title: FSMのFAQ
css: test.css

FSMのfaQ
----------------------------------------

----------------------------------------

Q:FSMの入力は確定したものしか受付けないが
自由に単語や文章などを入力したい場合には
どうすれば良いのか？

A:変数を使って下さい．(参考[usage2.mm](./usage2.mm))

----------------------------------------

Q:FSMでは，一つの入力に対して一つの処理(出力)
しか指定できないが，一つの入力に対して複数の
処理を行わせたい時はどうしたら良いか？

A:こちらで用意している出力処理では，処理の最後
に「@finished@」というFSM入力を生成しています．
この入力を受けた時に次の状態に移り次の処理を
するようにFSMの状態遷移を作ると良いです．

----------------------------------------

Q:2つのFSMを同時に利用するにはどうすれば
よいのか？

A:FSMの定義で指定するFSMのURIを別にして，
二つのFSMを同じように定義できます．状態
遷移表では，どのFSMに適用するか指定する
「fsm:target_fsm」で目的のFSMを指定して
下さい．

----------------------------------------

Q:FSMの出力の処理を自分で定義する方法は？

A:[こちら](./usage4.mm)を参照して下さい．

----------------------------------------

Q:自分で定義したFSMの出力処理でFSMの変数を
使うには？

A:[こちら](./usage4.mm)を参照して下さい．

----------------------------------------

Q:変数の値をはじめから設定したい時の方法は？

A:FSMを定義する時に以下のようにします．

    @prefix : <http://test.org/> .
    @prefix fsm: <http://fsm.org/> .
    #FSM1の定義と初期化
    :FSM1 a             fsm:fsm ;
          fsm:status    [ fsm:status :start ] ;
          fsm:var       [ :testVar1 'Hello World1' ],
                        [ :testVar2 'Hello World2' ] ;
          fsm:inputList [ fsm:status :start;
                          fsm:list ('A') ] ,
                        [ fsm:status :a;
                          fsm:list ('A') ] .
    #以下略
    …