コンピュータ ソフトウェア
Print ISSN : 0289-6540
検索
OR
閲覧
検索
25 巻 , 2 号
選択された号の論文の9件中1~9を表示しています
    • |<
    • <
    • 1
    • >
    • >|
  • 二木 厚吉, 緒方 和博, 中村 正樹
    25 巻 (2008) 2 号 p. 2_1-2_13
    公開日: 2008/06/30
    ジャーナル フリー
    CafeOBJ言語システムを用いた形式手法,すなわち形式仕様の作成法と検証法,を全6回にわたり解説する.CafeOBJ言語はOBJ言語を拡張した代数仕様言語であり,振舞仕様,書換仕様,パラメータ化仕様などが記述できる最先端の形式仕様言語である.CafeOBJ言語システムは,等式を書換規則として実行することで等式推論を健全にシミュレートすることができ,対話型検証システムとして利用出来る.
    第1回の今回は,「待ち行列を用いる相互排除プロトコル」を例題として,言語や検証法の細部に立ち入ることなく,CafeOBJ仕様の作成と検証が全体としてどのように行われるかを説明する.第2回以降では,言語の構文と意味(第2回),等式推論と項書換システム(第3回)について説明し,証明譜を用いた簡約のみに基づくCafeOBJの検証法(第4回)を解説する.さらに,認証プロトコル(第5回)と通信プロトコル(第6回)の2つの典型的な検証例も示すことで検証の技法についても解説する.
    抄録全体を表示
  • 中村 正樹, 二木 厚吉, 緒方 和博
    25 巻 (2008) 2 号 p. 2_14-2_27
    公開日: 2008/06/30
    ジャーナル フリー
    代数仕様言語CafeOBJは,柔軟なmix-fix構文,部分型をともなった強力な型システム,数種類の輸入,パラメータ化モジュール,ビューによるパラメータの具現化などを持つ洗練されたモジュールシステムなどの特徴を持つ.CafeOBJ仕様は代数を意味する.代数は,抽象データ型や抽象機械などの現実のシステムの記述に有効なモデルを包含する汎用性のあるモデル化の枠組みであり,形式仕様の作成と検証を統一的に扱うことができる.本論文では,代数仕様言語CafeOBJの構文および意味について解説する.またCafeOBJ処理系を用いた構文解析,仕様実行,仕様検証についても簡単に解説する.
    抄録全体を表示
  • 住井 英二郎
    25 巻 (2008) 2 号 p. 2_28-2_38
    公開日: 2008/06/30
    ジャーナル フリー
    約2000行のMLコードにより実装された,教育目的のコンパイラMinCamlについて議論する.対象言語は値呼び,非純粋,暗な単相型を持つ高階関数型言語である.レイトレーシングを含むいくつかのアプリケーション・プログラムに対し,実行速度においてObjective CamlやGCCとほぼ同等のコードを生成することができた.
    抄録全体を表示
  • 黒木 裕介
    25 巻 (2008) 2 号 p. 2_39-2_46
    公開日: 2008/06/30
    ジャーナル フリー
    Cygwinに日本語TEX環境を構築するためのバイナリを提供している.既存のWindows用バイナリが抱えていた問題を認識し,Windowsにおける日本語TEX環境の新たな選択肢となるべく,簡単なインストール方法でCygwinユーザが快適に使えることを目指して開発を始めた.標準的な日本語TEX環境として,TEX処理系・DVIヴューアとGhostscriptとを整備するために,前者には最近普及してきたソース配布ptetexを,後者には日本語処理に定評のある安定版7.07を用いることにした.Ghostscriptについては,複数に分散していたソース・パッチ類をひとまとめにしたソースの配布も行っている.
    問題点は上流の開発元で対処してもらうことで独自拡張を極力なくし,作業手順をオープンにすることにより,いつでも別の開発者へ引き継げる状態にしている.本論文では,開発の指針や作業の経緯を報告する.
    抄録全体を表示
  • 村山 敬, 工藤 晋太郎, 櫻井 健, 水野 謙, 加藤 紀夫, 上田 和紀
    25 巻 (2008) 2 号 p. 2_47-2_77
    公開日: 2008/06/30
    ジャーナル フリー
    LMNtalは階層グラフ書換えに基づく言語モデルであり,リンク構造による接続構造と膜による階層構造の表現・操作機能によって,動的データ構造や多重集合書換えを扱うプログラムを簡潔に記述することができる.LMNtalは書換え規則の適用を単位とする細粒度の並行性をもっており,正しく効率的な実装方式は自明でない.そこで言語処理系をJavaを用いて開発し,効率をできるだけ犠牲にせずに正しく動作する実装方式を確立した.処理系は中間命令列へのコンパイラ,その解釈実行系及びJavaソースへのトランスレータからなり,他言語インタフェースをはじめとするさまざまな有用な機能を備えている.複数の膜を貫くリンク構造を正しくつなぎかえるための処理や,複数の膜にある書換え規則を正しく非同期実行させるための工夫も行っている.本論文では,処理系開発において主要な技術的課題となった階層グラフ構造の保持方法,中間命令体系,安全な非同期実行方式等を中心として,公開中のLMNtal処理系の設計と実装について論じる.
    抄録全体を表示
  • 緒方 和博, 中村 正樹, 二木 厚吉
    25 巻 (2008) 2 号 p. 2_78-2_84
    公開日: 2008/06/30
    ジャーナル フリー
  • 上野 雄大, 大堀 淳
    25 巻 (2008) 2 号 p. 2_101-2_113
    公開日: 2008/05/31
    ジャーナル フリー
    多相型型推論は型付き関数型言語のコンパイルステップの中でも最も複雑かつ時間を要する処理の1つであるにもかかわらず,その最適化方式や最適化による効果などはあまり研究されていない.多相型型推論問題の最悪のケースを考慮したアルゴリズム論的な複雑さはDEXPTIME完全であることが示されており,アルゴリズム論的な改善の余地はないが,宣言的でかつ現実の多くのプログラムに対してより効率よく動く型推論アルゴリズムの開発は,多相型プログラミング言語の設計と実装にとって重要な課題である.本稿では,型の代入を型変数が参照されるまで遅延するという考え方に基づく新しい型推論アルゴリズムDWを提案し,その健全性を証明する.DWは,多くの場合型の代入の計算を軽減でき,従来の型推論アルゴリズムWと比較して実用上より効率的であると期待できる.本稿ではさらに,そのアルゴリズムをStandard MLの型言語に対して実装し,ベンチマークテストを通じその実用性を検証するとともに,実用的なコンパイラへ採用する上での課題に関して議論する.
    抄録全体を表示
  • 中山 弘之, 久保 淳人, 鷲崎 弘宜, 深澤 良彰
    25 巻 (2008) 2 号 p. 2_114-2_134
    公開日: 2008/05/31
    ジャーナル フリー
    現在Web上などで,電子化された大量のソフトウェアパターン(以下パターン)文書が公開されている.しかしながらパターン文書に特化した検索システムは存在しないため,パターン利用者は汎用的な検索システムなどを利用し手動で必要なパターンを検索しなければならない.汎用的な検索システムを用いてパターンを検索する場合,検索結果にパターン文書以外の文書が含まれる.また,大量の検索結果が得られた場合,無作為に必要なパターンを探すのは非効率的である.我々は,同問題に対する解決法としてパターン検索システムを提案する.提案システムは,パターン文書を収集したリポジトリに対しパターン間関係によるパターン文書への重要度の付加と並び替えおよびキーワード検索を実行する.提案システムの有効性を検証するため,Web上に公開されている131個のパターン文書に対し,提案システムによる検索実験を行った.実験の結果,提案システムを利用することによりパターンを効率的に検討・学習することが可能となることを確認した.
    抄録全体を表示
  • 鵜川 始陽, 花井 亮, 八杉 昌宏, 湯淺 太一
    25 巻 (2008) 2 号 p. 2_135-2_150
    公開日: 2008/05/31
    ジャーナル フリー
    マルチスレッド環境において,ごみ集め開始時にプログラムが長時間停止することを避けるために,スレッド再開バリアを提案する.従来のスナップショットごみ集めでは,ごみ集め開始時に全スレッドを止めて,全スレッドのスタックを一度にスキャンする.そのため,スレッド数が増えるとごみ集め開始時にプログラムが長時間停止してしまう.本論文では,ごみ集め開始時にはカレントスレッドのスタックのみをスキャンし,他のスレッドについては後から少しずつスキャンする方式を提案する.この方式では,まだスタックがスキャンされていないスレッドが実行されるのを防ぐため,スレッドの実行再開にバリアを張り,そのようなスレッドの実行を再開しようとした時にスタックをスキャンする.スレッド毎にスタックをスキャンするごみ集めはAzatchiらも提案しているが,提案するごみ集めはこれと比べてごみ集め開始タイミングを決定しやすいという特徴がある.この方式を実装して実験したところ,スレッド数が増えてもプログラムの停止時間はほとんど増えないことが確認できた.
    抄録全体を表示
    • |<
    • <
    • 1
    • >
    • >|
feedback
Top