ソフトウェアファクトリ研究会初参加

MetaCaseのJuha-Pekka TolvanenさんがSWESTのために来日していて,研究会で講演するとのことで聴講しに行ってきました.
というわけで,その際のメモ.

  • MetaEdit+によるDSM/DSLを利用したソフトウェア開発事例が集まってきたように感じる.
  • DSM/DSLを利用した全コード生成も,どのようなものでも可能とは言えないが,実現されてきているように感じた.
  • MATLAB/Simulinkを利用したモデルベース開発による自動コード生成も進んできているが,未だ生成されるコードは解析性の高いものとは言い難い上に自動コード生成の信頼度はMATLAB開発元のMathWorksに依存している.このようなことを考えると,MBDも将来的にはコード生成器自体もメンテナンス対象に入れながらのDSM/DSLへ移行していくのではないかと感じた.

資料にないところや質疑の所をメモ.ただし,英語がなんとなくしかわからなかったので正しいか不明.

  • Validation&Verificationについて
    • DSMにより不良の作り込みを削減できるとされることが多いが,そもそものDSLやGenerator, xxx(聞きそびれた)といったDSM の根本の機能や,根本の機能をベースに作成するモデルや生成コード,アプリなどの検証・検査方法は下記の通り.
      • Language:小さなサンプルモデルを利用したテスト
      • Generator:ユニットテストやリファレンスコードと生成コードへテストデータを入力した際の動作確認.
      • モデル:DSLによるチェック,開発者によるチェック
      • 生成コード:ケース次第
      • アプリ:従来のテスト方法
  • Q: DSLを作成した後に,DSL自体を更新した場合,既存のモデルはどうなるのか.
    • A:既存モデルに影響があるDSL変更に関しては手の打ちようがない.そのようなことが起こらないように,DSL設計の時点で将来のアーキテクチャ変更やDSL変更をある程度考慮した上での設計をおこなうべきだろう.
  • Q: 異なるDSLが提供されている所へ向けて,同様なソフトを提供する場合,1つのモデルを作成して,それぞれへ提供できないか.
    • A:難しいと思う.そのような場合,ソースコードで提供するのが良いのではないかと思う.
  • Q: 性能に関する問題をモデル上で確かめる場合,どのようにしたらよいのか.
    • A:モデル自体で確かめることは難しい.LTL式とモデルからの検証用コード生成などで確かめている事例が存在する.
  • その他参考事例について
    • www.dsmforum.org 参照のこと.