Skip to main content
QUICK REVIEW

[論文レビュー] An Instruction Sequence Semigroup with Involutive Anti-Automorphisms

J.A. Bergstra, Alban Ponse|ArXiv.org|Jan 1, 2009
Logic, programming, and type systems参考文献 10被引用数 9
ひとこと要約

本稿では、前向きおよび後向き実行をサポートする指令列の半群 $C$ を導入し、方向性に依存しないプログラム表現を可能にする。スレッド抽出意味論を定義し、実行順序の反転においてもプログラム動作を保存する、自己同型的反自己同型写像を確立することで、プログラム代数における体系的なプログラム変換および表現力解析の基盤を提供する。

ABSTRACT

We introduce an algebra of instruction sequences by presenting a semigroup C in which programs can be represented without directional bias: in terms of the next instruction to be executed, C has both forward and backward instructions and a C-expression can be interpreted starting from any instruction. We provide equations for thread extraction, i.e., C's program semantics. Then we consider thread extraction compatible (anti-)homomorphisms and (anti-)automorphisms. Finally we discuss some expressiveness results.

研究の動機と目的

  • 指令列が任意の命令から解釈可能であるような、方向性に依存しない数学的枠組みを構築すること。
  • スレッド抽出を用いて $C$-式の意味論を定義し、有限状態スレッドとしてプログラム実行行動をモデル化すること。
  • スレッド抽出を保存する準同型写像および反自己同型写像(特に自己同型的反自己同型写像)を特定・特徴づけること。
  • $C$ の表現力を分析し、有限状態スレッドを生成するために十分な最小指令セットを同定すること。
  • 有限状態スレッド上の双対写像と $C$ 上の自己同型写像・反自己同型写像との対応関係を確立すること。

提案手法

  • 半群 $C$ は、前向き・後向きジャンプ、アクション、テスト、終了命令を含む命令集合から構成され、連結作用に関して閉じている。
  • スレッド抽出は、極性化されたアクションと条件付き合成を用いて、$C$-式から有限状態スレッドへの関数として形式化される。
  • 射影関数 $\mathtt{p2pga}$ は、$C$-プログラムを実行意味論を保存する PGA形式のSPI(原始命令列)に写像する。
  • 実行意味論を保存する準同型写像 $h$ を定義し、$C$-プログラムを制限された形に正規化することで、一貫性のある意味論を可能にする。
  • 実行順序を反転させてもスレッドを保存する、$C$-プログラムに作用する自己同型的反自己同型写像を導入する。
  • スレッド上の双対写像と、基本的自己同型から生成される $C$ 上の自己同型写像・反自己同型写像との関係を確立する。

実験結果

リサーチクエスチョン

  • RQ1指令列は、方向性のバイアスなしに前向きおよび後向き実行をサポートする半群として表現可能か?
  • RQ2$C$-式の意味論が有限状態スレッドとして定義される方程式または形式的規則は何か?
  • RQ3$C$ においてスレッド抽出意味論を保存する準同型写像および反自己同型写像は何か?
  • RQ4$C$ 上の自己同型的反自己同型写像は、プログラム実行の反転およびスレッド同値性とどのように関係するか?
  • RQ5$C$ がすべての有限状態スレッドを表現するために必要な最小指令セットは何か?

主な発見

  • 半群 $C$ は方向性に依存しないプログラム表現をサポートする:任意の $C$-式は、任意の命令から解釈可能である。
  • $C$ におけるスレッド抽出意味論は明確に定義されており、極性化されたアクションと条件付き合成を用いて、各 $C$-式が有限状態スレッドに一意に写像される。
  • $C$ 上の自己同型的反自己同型写像は、$C$-プログラムの実行順序を反転させてもスレッド意味論を保存する。
  • 表現力を維持するために必要な最小限の命令集合は、具体的にはアクション、テスト、前向き・後向きジャンプ、終了命令の5種類に限られる。
  • 制御が命令列から脱出しない $C$-プログラムのクラスは、すべての有限状態スレッドを生成するために十分である。
  • 有限状態スレッド上の双対写像と $C$ 上の自己同型写像・反自己同型写像との間には一対一対応が確立され、基本的自己同型から生成される。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。