九州が、あつい!! ~SPL&MDDセミナー受講記~ (続き)
九州が、あつい!! ~SPL&MDDセミナー受講記~の続きです。
3月25日に福岡で行われた、『プロダクトラインセミナー』+『モデルベース開発セミナー』の午後の部についてお話しします。
午後の部も、午前に負けず劣らず、”あつい” セミナーでした。
『自動車業界におけるモデルベース開発事例』と題した午後の前半では、
・自動車業界で実際に行われていモデルベース開発事例についてのご紹介
・車載システム仕様化・検証技術として、EAST-ADL2(*)を使った仕様記述の紹介
(*) EAST-ADL2 :SysMLをベースに車載ドメインに特化した仕様記述言語の定義
(株)デンソー 佐藤洋介氏の資料より
の2本立てでした。
これまで、車系ドメインにはかかわってこなかった私にとっては、たいへん難しい内容でした。
しかし、先端を行く車関係のソフトウェアが、どのようにして上流で品質を確保しているかが垣間見え、とても勉強になる2時間弱でした。(私の勉強が足らず、詳しいレポートが出来ません。。。)
午後の後半は、『モデルベース開発とSPL・九州地域の取り組み』と題していました。
・MDDを使ってSPLを加速する方策として、MDDツールを使いながら共通部を開発する技術的な事例紹介
・九州技術教育専門学校における、初学者へのMDD教育事例の紹介
という、こちらも2本立てです。
エプソンの島氏による、『MDDを使ってSPLを加速する』 の内容は、技術者にとって実践寄りの内容でありました。
”MDD:モデル駆動開発”と聞くと、ベタベタな実装を知らずして、モデルのみでプログラムを語る世界と思われる方もいるかもしれません。しかし、島氏の講演は、そのイメージを払拭するモノでした。
島氏の講演内容は、以下の4つのブロックからなっていました。
(1) プロダクトライン開発にいたる道
(2) モデル駆動開発
(3) よいモデルとは
(4) ソフトウェアプロダクトライン
(1) の中での島氏は、
構造化 → オブジェクト指向 → モデル駆動 → プロダクトライン開発 とシステムの規模が大きくなり、色々な設計技法を用いて行っても、最初の構造化で作ったコードは一部残る。
また、MDDはあくまでもツールであり、ゴミのようなモデルをINPUTすると、ゴミのようなコードしかOUTPUTされない。
と仰っています。
凝集度・結合度、可変部・共通部の切り分けなど、何が”よいモデル”かを考えられなければ、MDDにもつなぐことも出来ないということでしょう。
このセミナー午前中のパネルディスカッションと同じことが言われています。
ソフトウェア工学的な、基礎知識を持たずして、MDDもSPLもうまくいくわけがないのです。
現在のソフトウェア開発は、ゼロからアーキテクチャを設計するのではなく、何らかの既存システムがあり、そこから派生(一部部分の取込みも含め)であることがほとんどです。
そのような事情の中では、旧来の技法(構造化など)による設計知識も、まだまだ必要です。
更に、一段新しい技法に取り組む(例えば、構造化設計のコードをオブジェクト指向に乗せ変えていく)ためには、両側に関する知識を持ち、よいアーキテクチャにしていくためには、新旧のコードをどのようなインタフェースで接続するか設計できるかが重要だと思います。
また、島氏は翌日のTwitterで、こんなことも呟かれていました。
『午前中(島氏の講座の前)に責務・凝集度/結合度、構造化、RTOS並行性分析、タスクマッピング、リバースモデリングの基礎みたいなのをやってもらえると、私のSPLの話がやりやすいんだけどなあ。結局やっているのは、プロダクトラインに近づけるためのモデリングトレーニング。』
『技術的には、構造化設計とオブジェクト指向設計・デザインパターンくらいまでなので、新技術紹介じゃないし。(島氏の作られたセミナー資料には)数値データを出さないので経験論文じゃないし、製品に使っているモデルは皆無なので実例紹介でもないし、基礎教育用の教材と思っています。』
私はこのBlog.などでも、日ごろから「構造化設計の基礎知識を身につけましょう」というお話をするようにしています。MDDであれ、SPLであれ、それら技法に取り組むには、開発の基礎体力が必須です。
「構造化設計なんていまさら...」 とか、 「オブジェクト指向なんて使えないよ...」 なんて、後ろ向きな方がいらしたら、ぜひ今回のようなセミナーを聞いていただきたいと思いました。
~余談~
島氏のプロダクトライン実践は、SESSAMEの主催で東京近辺で1~2日間のセミナーが実施されるそうです。