ラウンドトリップエンジニアリングのためのソフトウェア制約記述言語双方向変換
修士論文, 大阪大学
概要: 近年MDA(Model Driven Architecture) 関連技術の発展により,UML からプログラム言語への変換技術が注目を浴びており,それに伴いOCL(Object Constraint Language) からJML(JavaModeling Language)への変換技術に関する研究も行われている.我々の研究グループでも,過去の研究においてOCLからのJML,およびJMLからOCLへの変換手法の提案を行っている.
また,ラウンドトリップエンジニアリング (RTE)というソフトウェア開発手法に関する研究が近年注目を浴びている.RTEとは,要件定義,設計,コーディングを行き来しながら,それぞれの中間成果物を洗練させていく開発手法であり,クラス図のような静的モデルに着目した研究や.シーケンス図やステートチャート図のような動的モデルに着目したRTE支援に関する研究は存在するが,OCLやJMLのような仕様記述の側面に着目した研究は存在しなかった.
本研究では,仕様記述言語間でのRTEの実現を目標として,OCL・JML間の変換規則の改良,RTEを考慮した変換方法の設計・実装,複数のプロジェクトに対する適用実験を行った.既存研究の変換規則では,双方向変換を実現するには不十分な点が存在したため,それらを改善するための改良を行った.また,RTEでは設計と実装を行き来する際に,それぞれ編集が加えられた箇所を相互に反映し合う.この際に,編集が加えられた箇所以外にも変換規則を適用すると,意味自体は変わらないが表現方法の異なる式が生成される可能性がある.これによって,開発者に何度も設計と実装を理解させ直させるという本来不要な作業を生んでしまう恐れがあるため,本実装では変更箇所以外の情報は元の状態を保つための手法の設計と実装を行った.その後,評価実験として,研究グループ内でJMLを記述した2つのプロジェクトと,元々JMLが付加されていた7つのオープンソースのプロジェクトをツールに適用し,JMLからOCLへの変換の成功率,逆変換結果の意味的な一致率,及び構文的な一致率を計測した.意味的な一致とは,双方向変換後のJML式を検査ツールなどにかけた結果が,双方向変換前のJMLと同様である式を指し,構文的な一致とは,括弧やスペースの数の違いなどを除いて,双方向変換の前後で完全に一致しているものを指す.実験の結果から,JMLからOCLへの変換は93.5%の割合で成功した.また,その逆変換の構文的な一致率は46.5%にとどまったものの,意味的な一致率は93.5%であり,実用性は十分に示された.また,変換に要する時間は数秒であり,実用的な範囲で変換が行えることが確認できた.
タグ: aimed, annotation, bi-directional, engineering, languages, round-trip, translation
@mastersthesis{花田健太郎2013,
author = {花田 健太郎},
title = {ラウンドトリップエンジニアリングのためのソフトウェア制約記述言語双方向変換},
school = {大阪大学},
year = {2013},
month = {feb}
}