@IT情報マネジメント会議室は、2009年4月15日に新システムに移行しました。
新たに書き込みを行う場合には、新しい会議室をご利用ください。
- PR -

MDAの実用レベルってどの程度のもの?

投稿者投稿内容
Gio
ぬし
会議室デビュー日: 2003/11/28
投稿数: 350
お住まい・勤務地: 都内から横浜の間に少量発生中
投稿日時: 2004-02-25 23:39
今日 Borland Conference 2003-2004 Tokyo を聴講してきました。
同社の Enterprise Studio 7 for Java で「LiveSource 技術により UML ダイアグラムと Java ソースをリアルタイムで同期」と謳っているのが気になりますが、メッセージシーケンス図等の動的ダイアグラムとプログラムの制御構文が同期できるかは非常に 怪しいです。(スマイリーの裏の意味を汲み取っていただければ幸いです)

UML 2.0 は勉強中なので何とも言えませんが、少なくとも UML 1.4 の動的ダイアグラムではロジックレベルの詳細記述はできないし、UML もそこまで意図していないでしょう。
そこを埋めるのが、iUMLite がスクリプトとして挙げている部分だと思います。
この意味で、現状言われている意味の MDA に最も近いのが iUMLite ではないかと感じます。
でも、これはまた私の感覚ですが、動的ダイアグラムのチェック程度の意味しか持たないプロトタイプ検証の段階であり、「開発」と言ってしまうのはおこがましい気がします。

引用:

コード生成ができるのならばコードからモデルとの照合も可能であるはずという
逆の発想ですね。
たしかに、コードでテストパターンを記述もするでしょうし可能なのかな?
それとも、ユースケースからテストパターンが生成される?



前半はまさにその通りです。実装情報の追加でプログラムに落とす詳細化が可能なら、実装情報を引いて抽象化も当然可能であろうという信念を持っています。

でも実現可能性は疑問です
プログラミングイディオムの適用によるプログラム自動生成の研究に携わったことがありますが、イディオムでカバーできるのは一般プログラムのごく一部に限られるという結論でした。
ただ、これは非常に古い話で、現在はデザイン・実装パターンやドメイン語彙も充実しています。ドメインを限った勘定系等のビジネスアプリケーションでは、パターンの組み合わせでプログラムが自動生成できる可能性は否定しません。

後半は、XP ではメソッド単位でのテストコードを書かせますが、結合テストのレベルでは網羅されたユースケースからテストパターンが導かれると考えています。
ユースケースを基に、動く部分はプログラムという形に落ちるし、検証部分はテストケースに落ちるという考えですね。
こくぼ
大ベテラン
会議室デビュー日: 2003/08/11
投稿数: 229
お住まい・勤務地: 国境の南、太陽の西。
投稿日時: 2004-02-27 09:36
こんにちは。

細かいところのロジックまでモデルから制御できるのかは微妙ですよね。

それよりも、
引用:

コード生成ができるのならばコードからモデルとの照合も可能であるはずという
逆の発想ですね。


といったことの方が現実的で受け入れやすいと思います。

来月号のJavaWorldにMDAの特集が載るみたいです。
#他にJSFの特集もあったりするみたいで楽しみです。

##あっけっしてIDGのまわしものではないですよ。。。(^^;;;
Gio
ぬし
会議室デビュー日: 2003/11/28
投稿数: 350
お住まい・勤務地: 都内から横浜の間に少量発生中
投稿日時: 2004-02-28 14:24
こくぼさんの書き込みを見て、自分でもモヤモヤしていたものが少し明確になった気がしました。

Rose ではクラス、アトリビュート、メソッドシグネチャまではクラス図とソースを同期し、メソッドボディはまったく触らないというポリシーのようです。
そこをもう一歩踏み込んで、メッセージシーケンス図に基づいたオブジェクト間のインタラクション、状態遷移図に基づいたオブジェクト状態のアノテーション(コメント程度かもしれませんが)まで同期し、細かい制御構文はソースプログラムがあればそれをそのまま使い、新規に描き起されたモデルであれば、モックアップをスクリプトで書かせる。
プログラミングの際にはモックアップスクリプトを対象言語で明確化させる。

このような機能だと、ラウンドトリップ開発の素直な延長上にあるし、モデルからプログラムまでスムーズに落とせそうな感じがします。
(既存ツールで実現されていたら恥ずかしい限りですが
ふーばー
大ベテラン
会議室デビュー日: 2003/06/05
投稿数: 163
投稿日時: 2004-03-19 17:12
MDA勉強中です。某本に載っていた、今の技術者が、MDAを受け入れがたく感じるのは
アセンブラ技術者が高級言語を受け入れられなかったのに近い、という話(メタファ)
が一番しっくりきます。

モデル書くのはいいけど、内部のロジックはどうすんのよ?

っていうのは、

int a = 0;
って簡単に書くけど、0 のメモリアドレスはどう管理すんのよ?

というツッコミを入れていたアセンブラ技術者に近いのかな、と。

アセンブラ技術者がほとんどいなくなってしまったように、プログラマが
いなくなってしまうのかもしれません。
こくぼ
大ベテラン
会議室デビュー日: 2003/08/11
投稿数: 229
お住まい・勤務地: 国境の南、太陽の西。
投稿日時: 2004-03-31 09:44
ちょこちょこと某雑誌を読んでいたら
なるほどっと思えるようなことが書いてありました。

MDAという考え方は今のところはベンダーによって異なる。
 ->従ってツールによってMDAの定義はマチマチ。
 ->UML2.0がOMGによって策定されることで統一されていくだろう。

ただ考え方の中心には「モデル中心の開発スタイル」
というのがあるらしくて、

引用:

コード生成ができるのならばコードからモデルとの照合も可能であるはずという
逆の発想ですね。



というのは(少なくとも今の段階では)考慮されていないみたいです。


プログラマが設計モデルに従ってコーディングするための
スケルトンコードを生成することがMDAだというみたいです。

プログラマをなくすというよりも、
『プログラマにモデルに従ったコーディングをさせるためのもの。』
というのがぼくが現在理解しているMDAです。
るぱん
ぬし
会議室デビュー日: 2003/08/01
投稿数: 1370
投稿日時: 2004-03-31 09:53
引用:

こくぼさんの書き込み (2004-03-31 09:44) より:
引用:

コード生成ができるのならばコードからモデルとの照合も可能であるはずという
逆の発想ですね。


というのは(少なくとも今の段階では)考慮されていないみたいです。

プログラマが設計モデルに従ってコーディングするための
スケルトンコードを生成することがMDAだというみたいです。

プログラマをなくすというよりも、
『プログラマにモデルに従ったコーディングをさせるためのもの。』
というのがぼくが現在理解しているMDAです。


るぱんです。

MDAと言うよりも、MDAツールの感想ですよね?
MDAとMDAツールで現実と理想で乖離していると言った所ではないでしょうか?
こくぼ
大ベテラン
会議室デビュー日: 2003/08/11
投稿数: 229
お住まい・勤務地: 国境の南、太陽の西。
投稿日時: 2004-03-31 10:18
るぱんさん、こんにちは。

>MDAと言うよりも、MDAツールの感想ですよね?

たったしかに感想ですね^^;

>MDAとMDAツールで現実と理想で乖離していると言った所ではないでしょうか?

MDAの理想が何かはわかりませんが、それほど気にする必要もないと思います。
#仕様策定でもまだ手探りなところがあるだろうし。

##
#自分の主観としては、
#完璧に動くコードを生成することがMDAの目的ではない、と考えています。
#あくまでもモデルを中心に開発を進めようにするのがMDAなのかなっと。
##
あつしfx
大ベテラン
会議室デビュー日: 2002/04/08
投稿数: 104
お住まい・勤務地: XPできるところ
投稿日時: 2004-04-10 11:22
ポインタだけ
http://www.kc.com/products/iuml/lite.html
のiUMLLiteというのがありまして、executeveUMLが作成できます。
無料なので、好きなだけ試してみるのが良いのでは?

_________________
http://aglabo.com/ @Homepage
http://furukawa-select.com/mt/ @Blog

スキルアップ/キャリアアップ(JOB@IT)