のた犬のうまい猫めし

どら猫が作る、のた犬のための飯、略称、どら飯について語りつつ、各種技術、経済系セミナーに参加した報告、OSSいじってみた等のネタを入れていきます。更新情報はtwitterの@nota_inuにて。

第0回 モデルベースソフトウェア 開発コミュニティキックオフ「ディスカッション」

# compass申込時のアンケートをベースに、本日話された人がパネラーとなって話す会。ちょっと気になった話や単語は大体こんな感じ。

  • モデルベース開発の経験:BridgePointを使ったUMLからのコード生成、AndroMDA
    この機能があればモデルベース開発? →使いやすくメンテしやすい実装コード生成、テストケースによるもでる検証、モデルとコードの同期、ラウンドトリップ機能
  • 動かすモデル:実装レベルに近いものを書いている感じ。コード=仕様。
    MDAの考え方でもモデルは違い、違うところへの変換。ExecutableUMLでもアクション言語でギャップを埋めている。
    コードからモデルへの変換は?:MDAの逆でADM、KDMもある。Eclipseの中に実装したプロジェクトもある。Javaからの変換ができた。
    モデル・コード間の同期、およびテストをどうするかは課題@視聴者。
    グルービー(?)のDSL
    Xtextの場合だと、修正があればモデル側を修正。
    ブリッジポイント(BridgePoint?) 2000年頃、モデルだけをメンテしモデルが生成したものを製品に。組み込み。去年OSSになり、シミュレーションとかいろいろ無料になった。(おーーー!)
  • モデルベースがはやっていない理由:効率の不安。敷居が高くドキュメントがない。UML自体が浸透していない。モデリングが難しい。
    UMLを書いてそれが正解か不正解かはわからない。モデルの書き方をちゃんとするのが一つの工夫。Railsとかは書き方があるが、UMLは書き方がない。自動生成するためにはこうかけば、があれば取り組みやすいのでは。
    →客がモデラーではなく知識がない。Xtextはクラス図を書くと画面イメージがすぐに示せる。仕様を早く固める点では役立ちそう。
    モデルの上達:よいモデルを読む、モデルを読んでもらう。数多くやっていく。天才的なひらめきではなく数多くをこなす。コード生成は、このもでるならうまくいく、などの経験値が大事。フレームワーク、業務ロジック部分がごちゃ混ぜにならないように。モデルベースのほうが分けて考えられてきれいなコードが書ける。
  • プログラム言語自体に何か追加すれば便利になる?:言語自体がアノテーションなどが便利になっている。言語の上のほうも下のほうも充実している。プログラミング言語は膨大で細かいので、構造としてビジネスロジックがこうだ、はモデルが見やすい。関数型モデルで作ったものはUMLで書けないが、あとから追いかける必要があるだろう。
  • ソフトウェア開発で困っていること:手法や技術に関する交流が少ない、手作業依存な開発スタイル、技術レベルの格差、新技術への取り組み意欲の低さ、デファクトツールの少なさ、要件定義、レガシーコード……