ログイン 新規登録
言語:

WEKO3

  • トップ
  • ランキング
To
lat lon distance
To

Field does not validate



インデックスリンク

インデックスツリー

メールアドレスを入力してください。

WEKO

One fine body…

WEKO

One fine body…

アイテム

  1. 論文誌(トランザクション)
  2. プログラミング(PRO)
  3. Vol.14
  4. No.5

再帰的ブロック構造を持つ並列プログラムに対する可逆実行環境

https://ipsj.ixsq.nii.ac.jp/records/213898
https://ipsj.ixsq.nii.ac.jp/records/213898
16c9d185-5835-490e-9619-fd8ec3cc24e4
名前 / ファイル ライセンス アクション
IPSJ-TPRO1405005.pdf IPSJ-TPRO1405005.pdf (1.7 MB)
Copyright (c) 2021 by the Information Processing Society of Japan
オープンアクセス
Item type Trans(1)
公開日 2021-11-25
タイトル
タイトル 再帰的ブロック構造を持つ並列プログラムに対する可逆実行環境
タイトル
言語 en
タイトル A reversible runtime for parallel programs with recursive blocks
言語
言語 jpn
キーワード
主題Scheme Other
主題 [通常論文] 可逆計算,並行性,プログラミング言語,可逆実行環境
資源タイプ
資源タイプ識別子 http://purl.org/coar/resource_type/c_6501
資源タイプ journal article
著者所属
名古屋大学情報学研究科
著者所属
名古屋大学情報学研究科
著者所属(英)
en
Graduate school of imformatics, Nagoya University
著者所属(英)
en
Graduate school of imformatics, Nagoya University
著者名 池田, 崇志

× 池田, 崇志

池田, 崇志

Search repository
結縁, 祥治

× 結縁, 祥治

結縁, 祥治

Search repository
著者名(英) Takashi, Ikeda

× Takashi, Ikeda

en Takashi, Ikeda

Search repository
Shoji, Yuen

× Shoji, Yuen

en Shoji, Yuen

Search repository
論文抄録
内容記述タイプ Other
内容記述 本論文では,並列に実行されるブロック構造を持つプログラムの実行を解析することを目的とした可逆実行環境を示す.並列プログラムを抽象機械のバイトコード列に変換して実行する.順方向の実行時は逆向き実行に必要な情報をスタックに保存し,その実行を逆向きにたどる実行環境を実装する.この実行環境では,順方向の抽象命令を逆方向の抽象命令を逆順とし,ジャンプ命令と変数更新命令を対応する逆方向の命令に変換することで逆向き実行を実現する.筆者らはバイトコードによる実行環境複数の抽象機械でバイトコードを順方向および逆方向の2つのモードで並行実行する実行環境をPythonのmultiprocessingモジュールによって実現した.本論文では,実際的なプログラムの構文要素として,ブロック構造,手続き呼出し,関数呼出しを含むように拡張した.Hoeyらの手法に従って変数のスコープを扱うために,各ブロックに名前を付け,参照情報をパスとして表し,局所変数を実現する.本研究で新たに提案する方法として抽象命令生成時に作成する並列ブロックの開始および終了番地を記録したテーブルを用いて並列ブロックを起動することにより順方向,逆方向ともに並列の入れ子構造を実現する.これらの実現手法によって,ブロック構造を持つプログラミング言語に対して単純な抽象機械の実行メカニズムによって逆方向実行が可能となることを示し,並列プログラムのデバッグのための基盤として提案する.
論文抄録(英)
内容記述タイプ Other
内容記述 This paper presents a reversible runtime of simple parallel programs with blocks. A program is translated into a sequence of three-address abstract machine instructions and abstract machines running in parallel execute the instructions. The runtime stores the information of variable updates and program counter jumps associated with process identifies on stacks in the forward execution. In the backward execution, the abstract instructions for forward execution are executed in the reversed order with jump and update instructions altered to the corresponding instructions. In our previous work, we presented a runtime for parallel programs with flat-fixed structures. The runtime concurrently executes multiple abstract machines in the forward and backword modes using the multiprocessing module of Python. This paper extends the runtime for practical language features, including blocks, procedure-call, and function-call. To deal with the scope of variables in blocks, we assign the path information with block names following Hoey et al. Besides variable paths, the runtime records the invocation history of parallel blocks as a table to reverse the invocation of parallel blocks. We realize parallel nested structures in both directions. We illustrate that executing abstract machines makes bi-directional execution simple even with the recursive structure of blocks. We propose them as a foundation for behavioural analysis such as debugging.
書誌レコードID
収録物識別子タイプ NCID
収録物識別子 AA11464814
書誌情報 情報処理学会論文誌プログラミング(PRO)

巻 14, 号 5, p. 34-48, 発行日 2021-11-25
ISSN
収録物識別子タイプ ISSN
収録物識別子 1882-7802
出版者
言語 ja
出版者 情報処理学会
戻る
0
views
See details
Views

Versions

Ver.1 2025-01-19 16:58:41.644141
Show All versions

Share

Mendeley Twitter Facebook Print Addthis

Cite as

エクスポート

OAI-PMH
  • OAI-PMH JPCOAR
  • OAI-PMH DublinCore
  • OAI-PMH DDI
Other Formats
  • JSON
  • BIBTEX

Confirm


Powered by WEKO3


Powered by WEKO3