状態をあらわす その2
2008/04/14
uml
オートマトン
雑記
勉強不足を痛感し、オートマトンの本なんぞ開いてみました。
で、下のような図がでてきました。
内部状態をq0,q1
入力記号はa,b
内部状態q0,q1の集合{q0, q1}は、Q
記号a,bの集合{a, b}は、Σ
入力記号が与えられたときに、矢印の状態に移ります。
状態の遷移は、内部状態と入力記号の組み合わせ分状態が遷移するということになると思います。
組み合わせの集合は
Q × Σ
ここから現実のシステム開発のお話です。
ここで僕が考えたことは、えーと、入力パラメータが複数あった場合、これを入力記号にしちゃうわけですね。
ひとつの画面でパラメタがp0,....pnとあった場合、これを入力記号aとかに置き換えれば上記の図で表現できるわけですね。
まず、パラメータのチェックは、入力記号に置き換えることができるかできないかという判断でできます。すると入力記号に変形(還元、抽象化といっていいのかなぁ)できない時点アウト。つぎに現在の状態から入力記号の矢印があるかないかで次の状態に移れるかどうか判断できます。受理できるかできないかって感じですかね。
この入力記号に置き換える場合に、パラメータの許容範囲を指定できるようにすれば、よいですね。
p0のとりうる範囲は、0<p0 and p0 <177とかいうふうに。
とここまで考えて、そういえばMDAとかあったなぁと。
はなしかわって、
UMLを信用していないわけではなく、UMLをスケッチとして使うなら俄然オッケーで、UMLを厳密に使うならコードとUMLが双方向になるぐらいじゃないとねー、とか思ったり。
参考
オートマトン・言語理論の基礎
米田 政明 大里 延康 広瀬 貞樹
基礎からわかるMDA (モデル駆動型アーキテクチャ) なぜモデリングするのか?
吉田 裕之
: