研究概要 |
インターネットなどの広域分散環境では、アプリケーション層プロトコルを用いて通信を行なうアプリケーションが多数利用されている.HTTPやSMTPなどのアプリケーション層プロトコルは、文字列を主体としたメッセージのやり取りとして定義されており、その実現には文字列の解析や構成を行なう退屈で煩雑なコーディングを要する.また、時系列に沿ったメッセージのやり取りやシステムの状態遷移がプログラム・コード中に埋没し、プロトコルの挙動を把握することが難しい.そのためプロトコル処理部の保守性、安全性が低下し、インターネット・サーバのセキュリティ・ホールの一因となることも多い. 本研究では,クライアント・サーバ型のアプリケーション層プロトコルを対象に、プロトコル処理部を自動的に生成するコード生成器Aprilの開発を行った.Aprilはアプリケーション層プロトコルの記述に特化した記法を提供しており、1)メッセージ・フォーマットの定義2)時系列に沿ったメッセージのやり取り、3)システムの状態遷移のみを記述すれば,C言語のコードを自動的に生成する.メッセージの解析や構成に必要な文字列処理はAprilの処理系が行ないプログラマが記述する必要はない.また、時系列に沿ったメッセージのやり取りやシステムの状態遷移が明示的に記述されているため、プロトコルの挙動が把握しやすい.本研究では、Aprilによって主要なプロトコルが記述できることを示しAprilを用いたことによるプロトコル処理のオーバーヘッドが十分に小さいことを示した.
|