LED-Camp

Learning Embedded software Development Camp

モデル駆動開発

「カリキュラム」に戻る

セッションの目的

このセッションでは、モデル駆動開発(MDD: Model Driven Development)を実践し、MDDを用いた組込みソフトウェア開発の流れを習得することを狙います。

習得が期待される知識・技術

項目1:モデリングの概念をもとにUMLを読み書きできる

UMLの基礎知識を習得して、開発対象のモデリングの仕方を理解します。そして、UML 2.0以降で規定されている図のうち、クラス図とステートマシン図を読み書きできるようになります。

  • クラス図:ソフトウェアの静的な構造を設計し、構成する概念(クラス)とメンバ、それらの間に存在する関連として記述できる。
  • ステートマシン図:ソフトウェアの状態と遷移を記述できる図。

項目2:MDDの原理とメリットを理解する

設計モデルからソースコードを自動生成する技術であるMDDの原理とメリットを理解できるようになります。また、作成したモデルと生成されたソースコードを比較することで、自動生成の仕組みおよびモデルとソースの一貫性を確認します。

項目3:開発対象のソフトウェアをMDDによって開発できる

特定のハードウェアとAPIが与えられた時に、開発対象のソフトウェアに求められる要求と機能を分析し、MDDを用いてソフトウェアを設計・実装できるようになります。さらに、組込みシステム開発特有のアプローチとして、モデルと実際の動作とのずれを分析し、それをモデルにフィードバックして改善する手法を習得します。

教育目標との対応

① 組込みシステムの先進的な開発技術の習得
a)  UMLを用いたモデル駆動開発

実施内容と進め方

事前実習

参加確定後にオンラインベースで以下に関する教材や解説資料を配布し、個別学習によって進めます。

  • UMLの基礎知識
  • MDDの原理とメリット
  • 開発環境の構築
  • 簡単なソフトウェアを題材としたMDDの実践(コード生成まで)

事前実習の最後には、簡単な理解度と到達度のチェックを設けます。これによって、当日の演習を始めるために必要な知識と技術が身に付けられているかを確認できます。理解の難しいところがあれば、参加者用のメーリングリストにて質問を受け付け、実行委員会から解説を行います。

合宿当日の演習

セッションの冒頭で、事前実習の教材に関する質問の時間を設けます。またMDDの原理に関する座学を行います。これによって、本セッションで取り上げる内容のより良い理解を促します。
演習のはじめには、実機を用いて、事前実習でコード生成したソフトウェアの動作確認を行います。
その後、与えられた開発課題を、講師によるハンズオンの指導のもとで進めていきます。MDDの流れに則って、機能と要求を分析してモデリングし、そこからソースコードを自動生成し、実機上で動作が正しく実現できているかを検証します。本演習で作成したソフトウェアは、チーム開発実習で開発するソフトウェアのベースソフトウェアとなります。

他セッションとの関係

合宿当日の演習は、チームビルディングセッションで形成したチームによって行います。本演習の成果物は、「チーム開発実習の最後に実施する競技会の規定を最低限満たせるソフトウェア」になります。

 

「カリキュラム」に戻る