契約による設計を支援する表明記述のアスペクト指向的モジュール化方式
スポンサーリンク
概要
- 論文の詳細を見る
契約による設計(Design by Contract, DbC)は, ある処理の実行直前・直後で満たされるべき条件を表明として明示し, それらを処理の利用者と提供者の間の契約とすることで, 責任の切り分けを明確にする.DbCに基づく表明の記述では, プログラムが大規模化するとともに, 表明の数が増加し個々の表明も複雑になり, 表明の整合性や表明とプログラムの一貫性を維持しつつ, それらを修正・拡張することが難しくなる.この原因は, 従来のDbCに基づく表明の記述方式では, 表明をプログラムに埋め込む形で記述するため, 表明の記述をプログラムの構造から独立にモジュール化できないことにある.そこで我々は, DbCに基づく表明の記述をアスペクト指向的にモジュール化する方式を提案する.本発表の概要は以下のとおりである.まず背景として, Javaで実装された電子メールメッセージを扱うライブラリと, その実装のJML(Java Modeling Language)による検査について説明する.JMLはJavaを対象としたDbCのための表明記述を可能にする言語である.次に, この検査の過程で問題となった表明記述の記述量の増加について述べるとともに, この問題に対処する, 我々が提案する表明の記述をアスペクト指向的にモジュール化する方式についての説明を行う.その後, JMLと本方式との比較を行い本方式の優位性を述べ, さらに今後の展開として, モジュール化された表明の記述から状態遷移モデルを生成する方式について述べる.
- 2005-04-15
著者
-
山田 聖
産業技術総合研究所・情報セキュリティ研究センター
-
渡部 卓雄
東京工業大学・大学院情報理工学研究科・計算工学専攻
-
山田 聖
北陸先端科学技術大学院大学情報科学研究科
-
渡部 卓雄
東京工業大学大学院情報理工学研究科計算工学専攻
-
渡部 卓雄
東京工業大学
関連論文
- LMC : ポイントカット・アドバイスモデルの計算
- 4K-3 アスペクト指向的振舞インターフェース記述言語Moxaによるスケーラブルな仕様記述(情報爆発時代における分散処理とセキュリティ,一般セッション,「情報爆発」時代に向けた新しいIT基盤技術)
- Moxaによるアスペクト指向的仕様記述 : プロトコルからのモジュラーなDbC記述に向けて
- 契約による設計を支援するアスペクト指向的振舞インタフェース記述言語Moxa
- 契約による設計を支援する表明記述のアスペクト指向的モジュール化方式
- 安全に結合可能なmixinを提供するためのルール
- ロード時バイナリ変換によるセキュリティ強制方式
- 契約による設計を支援する表明記述のアスペクト指向的モジュール化方式
- 特集「ソフトウェアシステム」の編集にあたって
- 特集「ソフトウェアシステム」の編集にあたって(ソフトウェアシステム)
- 自己反映計算の振舞的側面の形式化について
- 動的コード生成を用いた適応的移動コード
- アスペクト指向言語における操作の抽象化方式
- 不干渉性の強制について
- 不干渉性の強制について
- 不干渉性の強制について
- 不干渉性の強制について
- メタレベルの拡張に適したメタレベルの構成法
- 再利用可能な部品から構成された言語処理系
- 自己反映機構を用いた移動エージェント記述言語
- Brian Cantwell Smith:Reflection and Semantics in Lisp, Proc. 11th ACM Symposium on Principles of Programming Languages, pp.23-35 (1984).
- 対話領域の独立性を指向した日本語対話理解システム
- プログラム変換を用いたポインタ操作プログラムの検証にむけて--Morrisの二分木走査アルゴリズムによるケーススタディ (ソフトウェアサイエンス)
- 自己反映的な言語における言語拡張同士の安全な結合について
- CORBAアプリケーション開発におけるリフレクションの有効性
- 自己反映的な言語のモジュール結合による実装と効率化
- 3. モバイルコンピューティングを支えるソフトウェア技術 3-2 分散オブジェクト技術とモバイルエージェント (モバイルコンピューティング)
- 証明支援系を用いたMorrisの二分木走査アルゴリズムの検証
- 自己反映計算における再利用可能なメタレベルモジュールの設計
- 書き換え理論に基づく有機的プログラミング言語GAEAの意味
- 証明支援系Coqのプログラムに対する対話的修正機構の提案
- リフレクションを利用したCORBA APIの改善
- リフレクションを利用したCORBAアプリケーション実行環境の実現法
- スクリプト言語(4)スクリプト比較言語学--スクリプト言語の今後
- 「情報処理学会論文誌 : プログラミング」の編集について
- LEAD : 動的適応可能なソフトウェアを構成する言語の設計と実装
- 移動計算機環境を支援する言語LEADとそのメタレベルアーキテクチャ
- プログラム変換を用いたポインタ操作プログラムの検証にむけて : Morrisの二分木走査アルゴリズムによるケーススタディ
- 信頼性の高い移動エージェントシステムの構成方法
- Ambient Calculusを用いた移動エージェントの形式化
- CEK-抽象機械による移動オブジェクトの形式的定義
- ソフトウェア工学の基礎ワークショップ(FOSE '96)の報告
- CafeOBJによる分散システムの形式仕様作成法
- 部分継続にもとづく移動コード記述 : 定義と操作的意味
- 実行時検査を伴う実時間プログラムの生成について : 時間オートマトンから非実時間実行環境上の実時間プログラムへ
- 実行時検査を伴う実時間プログラムの生成について : 時間オートマトンから非実時間実行環境上の実時間プログラムへ
- 定理証明支援系Coqへの対話的修正機構の導入 (プログラミング Vol.5 No.4)
- 「情報処理学会論文誌 : プログラミング」の編集について
- Objective-Cによる文脈指向プログラミングの実現手法(学生及び若手(パラレルセッション:実装))
- Objective-Cによる文脈指向プログラミングの実現手法(学生及び若手(パラレルセッション:実装))
- 実時間システム向け文脈指向言語ProcneJ