Skip to main content
QUICK REVIEW

[論文レビュー] A Machine-Checked Proof for a Translation of Event-B Machines to JML

Néstor Cataño, Camilo Rueda|arXiv (Cornell University)|Sep 9, 2013
Logic, programming, and type systems参考文献 31被引用数 5
ひとこと要約

本論文は、Rodinプラットフォーム上で浅い埋め込みを用いてEvent-Bで形式化されたEB2Jml演算子を用いて、Event-BマシンをJML仕様に変換する機械検証済みの健全性証明を提示する。証明により、変換によって生成されたJMLメソッド仕様が、元のEvent-B置換の意味を正しくシミュレートすること、つまり精錬性と正しさが形式的検証によって保証されることを確立する。

ABSTRACT

We present a machine-checked soundness proof of a translation of Event-B to the Java Modeling Language (JML). The translation is based on an operator EventB2Jml that maps Evnet-B events to JML method specifications, and deterministic and non-deterministic assignments to JML method post-conditions. This translation has previously been implemented as the EventB2Jml tool. We adopted a taking our own medicine approach in the formalisation of our proof so that Event-B as well as JML are formalised in Event-B and the proof is discharged with the Rodin platform. Hence, for any Event-B substitution (whether an event or an assignment) and for the JML method specification obtained by applying EventB2Jml to the substitution, we prove that the semantics of the JML method specification is simulated by the semantics of the substitution. Therefore, the JML specification obtained as translation from the Event-B substitution is a refinement of the substitution. Our proof includes invariants and the standard Event-B initialising event, but it does not include full machines or Event-B contexts. We assume that the semantics of JML and Event-B operate both on the same initial and final states, and we justify our assumption.

研究の動機と目的

  • EB2JmlによるEvent-BからJMLへの変換の正しさを、機械検証済みの証明を用いて形式的に検証すること。
  • EB2Jmlによって生成されたJMLメソッド仕様の意味が、元のEvent-B置換に関して健全であることを保証すること。
  • JMLの意味がEvent-Bの意味によってシミュレートされることを証明することで、変換が精錬性を保つことを示すこと。
  • Rodinプラットフォームを用いて、Event-BおよびJMLをEvent-B自体に浅い埋め込みで表現することにより、アプローチを検証すること。
  • 特に遷移系に基づく形式言語間の変換の健全性を証明するための再利用可能なフレームワークを提供すること。

提案手法

  • 著者は、Rodinプラットフォーム内のEvent-B言語の論理における浅い埋め込みを用いて、Event-BおよびJMLの意味を形式化する。
  • EB2Jml変換演算子を、Event-Bのイベントおよび代入を対応するJMLメソッド仕様および事後条件にマッピングする一連の公理として定義する。
  • 状態遷移を型コンストラクタおよび状態トランスダクタを用いてEvent-BおよびJMLの両方でモデル化し、初期状態および最終状態の一貫性のある表現を保証する。
  • 両言語が同一の初期および最終状態表現を用いるという仮定が、形式化内ですでに正当化されている。
  • 健全性証明は、Rodinコンテキストの集合として構造化されており、変換および意味規則はすべて公理として符号化されている。
  • ProBモデル・チェッカーを用いて、一貫した値割り当てが見つかるかどうかを検証することで、公理的定義の整合性を高める。

実験結果

リサーチクエスチョン

  • RQ1EB2JmlによるEvent-BからJMLへの変換が、生成された各JMLメソッド仕様が対応するEvent-B置換の振る舞いを正しくシミュレートするという意味で健全であるか。
  • RQ2外部の形式的体系に依存せずに、Event-BおよびRodinプラットフォームのみを用いて、この変換の機械検証済み証明を構築できるか。
  • RQ3浅い埋め込みアプローチを用いて、2つの形式言語間の意味の変換を形式的に検証するにはどうすればよいか。特に、両言語が同じ基礎論理で表現される場合に有効な手法は何か。
  • RQ4このような証明に必要な状態表現に関する仮定は何か。それらは形式的枠組み内で正当化可能か。
  • RQ5この証明手法は、遷移系の意味論に基づく他の形式言語変換に一般化可能か。

主な発見

  • 機械検証済み証明により、EB2Jmlによって生成された各JMLメソッド仕様の意味が、対応するEvent-B置換によってシミュレートされることを確認した。これにより精錬性が確立された。
  • 証明はEvent-Bを完全に用いてRodinプラットフォーム内で形式化されており、自己ホスティング形式検証の可能性を示した。
  • 浅い埋め込みアプローチにより、証明の効率的処理が可能になったが、メタ論理的推論が制限されるという妥協点が、本研究で認識されている。
  • 公理的定義の整合性を高めるために、ProBを用いて定義を検証した。
  • このアプローチは、特に遷移ベースの意味論を含む他の言語変換にうまく一般化できる。
  • 証明は完全なEvent-Bマシンやコンテキストを必要とせず、イベント、代入、不変条件といったコア構成要素に焦点を当てている。これらは健全性検証に十分である。

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

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

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

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