コンピュータ ソフトウェア
Print ISSN : 0289-6540
18-0 巻
選択された号の論文の10件中1~10を表示しています
ソフトウェア発展特集
  • 増田 剛, 坂本 憲広, 牛島 和夫
    2000 年 18-0 巻 p. 4-18
    発行日: 2001/02/28
    公開日: 2001/02/28
    ジャーナル フリー
    本論文は発展型ソフトウェアを構築するためのデザインパターンの活用方法について述べる。ソフトウェア中で将来,変更要求,及び拡張要求が予想される箇所をホットスポットと定義し,ホットスポットに着目したデザインパターンの活用方法を提案する。提案手法では,ソフトウェアのホットスポットを同定し,各ホットスポットが要求する変更に注目し,その変更に対して適応するデザインパターンを対応付ける。そのため,Gammaらの23個の各デザインパターンについて,それらが扱うことのできる変更,拡張要求という観点からそれらのパターンの整理を試みた。また,機械学習の分野で研究開発されている決定木学習システムを用いた事例研究に提案手法を適用し,(1)実際の拡張事例を用いた変更の手間,(2)ソフトウェアメトリクスを用いたソフトウェアの複雑度の2つの観点から評価を行ない提案手法の有効性を確認した。
  • 三浦 良, 山本 晋一郎, 阿草 清滋
    2000 年 18-0 巻 p. 19-29
    発行日: 2001/02/28
    公開日: 2001/02/28
    ジャーナル フリー
  • 飯田 周作, 二木 厚吉
    2000 年 18-0 巻 p. 30-45
    発行日: 2001/02/28
    公開日: 2001/02/28
    ジャーナル フリー
    本論文では,形式仕様を用いてソフトウェアの発展を支援する方法について述べる。特に,コンポーネント技術に基づいたソフトウェアを研究の対象とし,形式仕様のコンポーネント技術が発展可能ソフトウェアにどのように応用可能かを議論する。振舞仕様とは,システムを外部からの観測に注目して記述した仕様で,ソフトウェアコンポーネントを記述するのに適した性質を持つ。
  • 岩崎 英哉, 胡 振江, 武市 正人
    2000 年 18-0 巻 p. 46-59
    発行日: 2001/02/28
    公開日: 2001/02/28
    ジャーナル フリー
    本論文は,プログラムの最適化に基づくソフトウェア発展を追究するという立場から,融合(Fusion)と組化(Tupling)という独立したプログラム変換手法を組み合わせて,構成的アルゴリズム論の考えに基づく運算(Calculation)を進める方法を提示する。融合は,関数合成をひとつにまとめることによって二つの関数間で受け渡される中間的データ構造の生成を抑制し,組化は,複数の関数を組にすることによって同一のデータ構造を辿るという制御の無駄を軽減する。提案する手法では,対象とする関数を関連関数と組化してCatamorphismと呼ばれる標準的な再帰パターン形を導出した後,Catamorphismに対する融合定理を繰返し適用する。その際必要に応じて,融合に成功するような関数を漸次的に創り出した上で組化変換を行うことによって,明白ではあるが効率のよくないプログラムを効率のよいものへ系統的に変換できる。本論文では,自明ではないアルゴリズムの具体的な導出例として,一·二次元最大部分和·積問題に本手法を適用し,その有効性を示す。
  • 二村 良彦, 小西 善二郎
    2000 年 18-0 巻 p. 60-77
    発行日: 2001/02/28
    公開日: 2001/02/28
    ジャーナル フリー
    一般部分計算法は,プログラムの入力データに関する部分的情報,利用する補助関数の抽象データ型およびプログラム自身の論理構造を利用してプログラムをより能率の良いものに変換するプログラム変換法である。それは古典的な部分計算(または部分評価)に加えて,一種の推論機能(例えば定理証明器)を利用する。従って,従来のいわゆるオンライン部分計算を完全に包含しているが,推論機能の複雑さ(即ち,重さ)故に,一般部分計算法に基づくプログラム変換システムの実用化が困難視されてきた。我々は,一般部分計算法に基づいた自動プログラム変換システムWSDFUを試作したので,その能力,構造,定理証明器および実用化のための課題について報告する。
  • 萩原 茂樹, 友石 正彦, 米崎 直樹
    2000 年 18-0 巻 p. 78-91
    発行日: 2001/02/28
    公開日: 2001/02/28
    ジャーナル フリー
    システムが停止することを仮定した性質(例えば,「システムの終了は必ず正常終了である」という性質)を時間論理を用いて検証する場合には,有限な時間構造を意味論に持つ様相論理KWを用いることができる。本論文では,KWに対する様相演算子の列の統一化を用いる分解証明法を提案する。式が有限な時間構造のモデルを持たないことを確認するためには,もし式がモデルを持つならば,無限に遷移するモデルしか持たないことを調べる必要がある。ところが,様相演算子列の統一化を用いる証明法で,それを確認することは困難であった。本論文では,有限な時間構造と式の充足可能性が一致する非反復構造を導入した。式が非反復構造のモデルを持たないことを確認するためには,もし式がモデルを持つならば,繰り返し同じ遷移をするモデルしか持たないことを調べればよい。この性質に基づき,KWで式が充足不能であることを調べる証明法を構成した
  • 山本 光晴, 高橋 孝一, 萩谷 昌己, 西崎 真也, 玉井 哲雄
    2000 年 18-0 巻 p. 92-108
    発行日: 2001/02/28
    公開日: 2001/02/28
    ジャーナル フリー
    グラフの探索問題は計算機科学の諸分野で基礎理論として用いられ,対象領域に沿った様々な最適化アルゴリズムが提案されている。これらの最適化アルゴリズムは高度な工夫や複雑な前提条件のためにその正当性が必ずしも自明ではなく,形式的検証の対象として相応しいと言える。証明検証系による形式的検証の効果を最大限に発揮するには,問題領域の適切な抽象化が不可欠である。本論文では,グラフ探索アルゴリズムのあるクラスの抽象化と実際の検証,最適化アルゴリズムの検証への発展について述べる。さらに,状態空間がなすグラフの網羅的探索によって検証を行うモデル検査について,そこで用いられるアルゴリズムの検証への応用に関して述べる。
  • 佐藤 健
    2000 年 18-0 巻 p. 109-121
    発行日: 2001/02/28
    公開日: 2001/02/28
    ジャーナル フリー
    ソフトウェア仕様は,環境の変化や仕様の誤りによって変更される。これらの変化や仕様の誤りは,現行のソフトウェア仕様の矛盾ととらえることができる。本論文は,一貫性制約およびホーン節からなる論理仕様の変更を行って矛盾が生じるときの回避方法について,以下を述べる。·矛盾を回避するための仕様を極小に変更させる手法の定式化·仮説論理プログラミングによる計算手法·本定式化による仕様変更の応用例—データベース仕様の変更—モジュール構成の仕様変更—BalzerのPollution Markerの追加/削除
  • 網代 育大, 上田 和紀
    2000 年 18-0 巻 p. 122-137
    発行日: 2001/02/28
    公開日: 2001/02/28
    ジャーナル フリー
    強モード/型体系の下で,並行論理プログラムの簡単な誤りを自動的に修正するシステムKimaの実装を行なった。KimaはKL1プログラムにおける変数の少数個の書き誤りを,静的な解析によって自動的に修正することができる。並行論理プログラミングにおける強モード体系および強型体系は,通信のプロトコルやデータ型の一貫性を保証し,多くの誤りを静的に検出することを可能にする。このとき用いられるモード/型解析は,多数の簡単なモード/型制約の制約充足問題であり,プログラム中の誤りは制約集合の矛盾を引き起こすことが多い。そして制約集合の中から矛盾する極小の部分集合を求めることで,誤りの箇所を局所的に特定することができる。Kimaは特定した場所の周辺の記号の書換えとモード/型の再計算を機械的に行なうことによって自動修正を実現している。本論文では,自動修正のアルゴリズムや効率化手法について述べるとともに,いくつかの定量的な実験を行なって,その有効性について論じる。
  • 姜 京順, 番原 睦則, 田村 直之
    2000 年 18-0 巻 p. 138-154
    発行日: 2001/02/28
    公開日: 2001/02/28
    ジャーナル フリー
    1987年にJ.-Y. Girardが発表した線形論理は,計算機科学への応用が期待されている新しい論理体系である。線形論理の論理型言語への応用は,特に活発な分野の一つであり,LO,ACL,Lolli,Lygon,Forum,およびLLP等の研究がある。これらのほとんどの言語では,リソース概念はプログラミング上で重要な位置を占めている。したがって,リソースを効率的良く取り扱う計算モデルの構築は重要な研究課題となっている。本論文で述べるレベル付きIOモデルは,効率的なリソース管理を目的とした計算モデルであり,実行中はただ一つのリソース表を保持すれば良いように工夫されている。本モデルは,LLPコンパイラ処理系で採用され,その有効性が示されている。
feedback
Top