楠本研究室

業績一覧

ホーム業績一覧

OCLからJMLへの変換ツールの対応クラスの拡張と実プロジェクトに対する適用

OCLからJMLへの変換ツールの対応クラスの拡張と実プロジェクトに対する適用
修士論文, 大阪大学
概要: 近年MDA(Model Driven Architecture) 関連技術の発展により,UML(Unified Modelling Language)からプログラム言語への変換技術が注目を浴びている.UML クラス記述からJava スケルトンコードを自動生成する方法についてはすでに既存研究で多くの方法が提案されており自動変換ツールもEMF フレームワークを用いたEclipse プラグインなどの形で公開されている.それに伴いOCL(Object Constraint Language) からJML(Java Modeling Language) への変換技術も研究が行われている.OCL はUML 記述に対し,さらに詳細に性質記述を行うために設計された言語で,OMG(Object Management Group) によって標準化されている.より実装に近い面での制約記述言語として,Java プログラムに対してJML が提案されている.JML,OCL ともにDbC (Design by Contract) の概念に基づきクラスやメソッドの仕様を与えることができる.OCL からJML への自動変換については研究が少なく,従来研究ではいずれの方法もCollection の対応が不十分であり,iterate 演算の対応が一部に対応しているのみである.しかし,iterate 演算は広く用いられる演算であるため,対応すべき問題だと考えられる.著者の所属する研究グループは,OCL 記述が付加されたクラス図に対して,JML 記述への変換法を具体的に提示した.また,各iterate 演算に対し,対応するJava メソッドを自動生成し,Java コードに挿入する手法を提案した.しかしそれは提案のみに留まり,実装した上での手法の有用性や,変換の妥当性の確認までは行っていない.本研究ではiterate 演算に対応したOCL からJML への変換手法を実装し,実プロジェクトに適用して評価を行った. 実装や評価の過程で,変換の妥当性が低いと考えられるものを修正し,変換規則として不足しているものを補足,さらにJava 標準ライブラリなどの,プロジェクトに直接含まれないクラスも扱えるように拡張した.評価では,7 クラス程度の規模のプロジェクトと,約60 クラス程度の規模のものに適用を行った.結果として,システムに付加すべき制約のうち90%を網羅し,約86%が最適なJML を出力することを確認した.また,ツールは実用時間でOCL をJML に変換できることを確認した. タグ: jml, java, mda, translation, uml/ocl, modeling
@mastersthesis{宮澤清介2011a,
  author = {宮澤 清介},
  title = {OCLからJMLへの変換ツールの対応クラスの拡張と実プロジェクトに対する適用},
  school = {大阪大学},
  year = {2011},
  month = {feb}
}