組込みソリューション

リバースモデリング

近年の組込みソフトウェア開発は、製品市場のグローバル化とニーズの多様化に対応するために、ソフトウエアも大規模化・複雑化しており、市場投入のタイミングに対する企業利益の格差は大きく、タイムリーに製品を市場にリリースするためには、より短い期間での開発が必要になっています。そのためには早急に課題に対する対処が必要です。その1つが『リバースモデリング』です。

現状のソフトウェアの状況把握

現在のソフトウェア開発の方法を最適化するにはまず、現在お持ちのソフトウェアがどのような状況であるかを理解し、分析する必要があります。既存ソースコードをベースに、『なぜそのようなソースコードの作りになっているか?』、『現在のソースコードの設計意図は明確か?』、『現在のソースコードは、管理・運用しやすい単位であるか? ドキュメントがあるか?』等の観点で、ソースコードを見える化、分析する必要があります。

ページの先頭へ

モデルの利用

ソースコードとモデルの組み合わせ

ソースコードとモデルの組み合わせ

既存ソースコードの設計意図を明確化するために、“モデル”という抽象度の高い概念を取り入れると非常に有効です。モデルは対象をいろいろな観点から眺め、見たい情報を抜き出して表示することが可能であるため、詳細ではなく、ソフトウエアの全体像を把握するには非常に有効な手段です。
ソースコードから設計意図を抜き出すには、
  • 非常に多くの量のソースコードを読み・理解しなければならない
  • 全体像が見えづらい
  • 一見して内容が分かりづらい
という難しさがあります。

それに対してモデルを用いることにより、
  • 全体像が一覧できる
  • 詳細を隠蔽できる
  • 一見して分かりやすい
という特長により、設計意図の抽出と分析をより効果的に行うことが可能になります。

ページの先頭へ

リバースエンジニアリング

ソースコードをモデル化していく上で効果的な方法として、『リバースエンジニアリング』という技術がございます。手作業でモデル化することは非常に手間のかかることですが、ツールのこの機能を用いると、非常に効率的に行うことが可能です。CTCの販売するRhapsodyを用いると、既存にお持ちのC、C++、JAVAのコードからモデル図を自動的に抽出します。これにより、モデルによる設計意図の抽出と分析をより効率的に実現します。

ページの先頭へ

設計意図の明確化と再構築

リバースエンジニアリングにより抽出した現在のソースコードのモデルから、ソースコードの設計意図を分析します。設計を行う上での基本技術(モジュラリティ、コヒージョン、カップリング等)を用いて設計の再構築を行います。設計の再構築を行うことにより、設計を行う技術(設計力)の習得が進むとともに、管理・運用しやすい構造を持つソフトウェアを構築することが可能になります。
ほとんどの組込みソフトウェア開発は既存のコードを持っており、トップダウンによるモデル駆動開発を進めるには、まず既存の資産を効果的に管理・運用することが必要です。
リバースモデリングは、その開発基盤を作るための必要不可欠な取り組みです。

ページの先頭へ

記載されている会社名、製品名、サービス名は伊藤忠テクノソリューションズ(株)または各社の商標もしくは登録商標です。

ページの先頭へ