オントロジーを使用した プログラム開発支援システムの提案 神奈川大学 工学部 電気電子情報工学科 斎藤 倫紀 松田 充敏 能登 正人
はじめに 現在、IT技術の発展によってソフトウェア開発の規模は大きくなり、多種多様なソフトウェアが求められてきている それに対応して、さまざまな開発手法が考案され、実際のソフトウェア開発でも利用されている
はじめに しかし、それらのプログラムのほとんどは開発者の中での閉じた手法であり、開発者以外には理解し辛い 開発者と他者との共通理解を目的としたプログラム解析システムの構築をする オントロジー
オントロジー 世界に存在するすべてのものを体系化し、それぞれの関係性を明らかにする ある項目群の関係性を、コンピュータに理解できる記述方式で階層的に記述したもの 情報工学
オントロジー 概念と概念の間の関係を結びつけ、その概念が持っている性質や特徴を表現し、そのものがどのようなものであるかということを定義し知識を記述する 知識が表している内容が明確になり、さまざまな相互理解を助けることができる
オントロジー構成要素 概念クラス・・・ノードとして表され、見出し語に相当する 意味リンク・・・概念と概念を結び、その間の関係を表す (1)is-a関係(一般-特殊リンク) 概念間の上位(super)-下位(sub)関係を表す (2)part-of(p/o)関係 概念間の全体-部分関係を表す
オントロジー構築 オントロジー構築環境である「法造」を利用する 制御文や関数を概念化し、プログラムの中ではどのように記述されているかを考えて構築する 現在の概念の数は197 概念と概念を意味リンクで結びつけていき、それぞれの関係を明確する
提案システム プログラム解析対象を基本的で広く活用されているC言語とする 開始 オントロジー読み込み 解析対象プログラム入力 オントロジーの概念と解析対象のワードが一致するものを検索 Y 一致? コメント出力 N N 文の終了? Y 終了
C言語オントロジー for(初期設定式;継続条件式;再設定式){ 文1; 文2; ・・・ }
出力例 バブルソート
おわりに 作成したオントロジーを使用することでソースプログラムにコメントを付け加えることができる 構築したオントロジーをさらに使用しやすいものにするために概念の性質や特徴の表現に改良を加える 複数行のコメントを出力させるようにする
オントロジーを使用した プログラム開発支援システムの提案 神奈川大学 工学部 電気電子情報工学科 斎藤 倫紀 松田 充敏 能登 正人