[20060913 版 umsCodeGenerator リリース] Mitsuhiro TOYODA


仕様変更

環境変数 UMS_THREAD の設定

環境変数 UMS_THREAD の設定値に基づき、生成するソースコードを切り替えるようにしました。

  export UMS_THREAD=true  #スレッド処理に対応したソースコードを生成
  export UMS_THREAD=false #スレッド処理に対応しないソースコードを生成

制御構造(choice、oneOrMore、zeroOrMore、optional、interleave)を処理する場合は、 値を「true」に設定してください。 それ以外の場合は、「true」に設定しても、「false」に設定しても、どちらでも処理する ことができます。


実装の変更

処理に用いるデータ構造の変更

umsCodeGenerator によって生成されるソースコードの処理に用いるデータ構造を変更しました。

  [これまでのデータ構造]

                  ┌─────┐
                  │ThreadMng │
                  └─┬───┘
                      │1
                      │
                      │1..*
                    ┌┴─┐
                    │Dat │
                    └──┘

  [今回変更したデータ構造]

                 ┌─────┐   ┌──────────┐
                 │ThreadMng │<─┤ThreadMngInterleave │
                 └──┬──┘   └──────────┘
                       │
                       │
                       │1..*
     ┌────────┴───────────┐
     │              Thread                    │
     └────────────────────┘
       ◇1        ◇1       ◇1          ◇1
       │         |        |           │
       │1        │1       │1          │1
     ┌┴─┐ ┌─┴─┐┌─┴─┐ ┌──┴──┐
     │Dat │ │ List ││ Loop │ │Interleave│
     └──┘ └───┘└───┘ └─────┘

以上