開発ツールに望むこと

自分のスキルを棚上げして、開発ツールに対する勝手な要望を出してみたい。

例えば、「難解だ」「現場では使えない」と酷評されがちな形式手法(SPIN等)は、ツールでもう少し簡単に利用出来れば、適用範囲が広がるのではないかと思う。コンパイラの最適化だって、中身を理解せずに「お任せ」で使っている開発者が多いはずで、コンパイラが生成した結果を必ずしも確認せずに使うケースは珍しくないはずだ。

これと同じように「内部で何をやっているのか詳しくは知らないけれど、原理的なことは分かっている」程度のレベルで形式手法が使えれば充分、という人は多いように思う。現在のように、自分でゴリゴリとスクリプトを書いて検証させるような仕組みでは、SPINなんて一般に広まるとは到底思えない。

形式手法まで行かなくても、例えば、UMLの動的構成(ステートマシンやシーケンス図等)の動作を確認できて、その矛盾点を示してくれるとかなり便利ではないだろうか。残念ながら、現在のUMLツールはお絵かきレベルのものが多くて、それはそれで思考の整理には便利だけど、やっぱり最後は実際にモデルを動かして確認したいように思う。

残念ながら、UMLでモデルを動かせるソフトはあまり多くない。以前に書いたように、Rhapsodyはそのような動的な検証が出来るツールの筆頭だろう。

Rhapsodyのシミュレーション機能には、Rhapsody上にモデルとして表現されたシステムに対して、イベント入力やその動作をステートマシンのアニメーションやシーケンス図などのログで確認できる。
(中略)
モデリングツールの中にはモデルの作成やコード生成はできるが、「実際にモデルを動かして動作を確認できる」というツールは少ない。さらに、シーケンス図の比較などといった「モデルの動作結果を確認するための機能を備えている」ものはさらに少なくなる。この点はRhapsodyとほかのモデリングツールとの大きな差別化ポイントだといえる。

モデル駆動型開発に役立つツール「IBM Rational Rhapsody」 - TechTargetジャパン システム開発

また、Enterprise Architect (EA)でも、アドインを追加することでステートマシンの動作を検証させることが出来るらしい。(実際の動作は未確認)

今日はアドイン「AMUSE」の紹介。ドイツのとある会社が作成したもので、有料です。何ができるかというと、ステートマシン図を動作させます(シミュレーション機能)。

http://uml.livedoor.biz/archives/51558190.html

このようなツールは所詮道具に過ぎないから、よく言われるように「ゴミを入れたらゴミが出てくる」のは仕方ない。そんなことは承知の上なので、やっぱりモデルを実際に動かして検証できる方法を希望していたりする。どこかのツールベンダーさんが作ってくれないものだろうか。



関連