Skip to main content
QUICK REVIEW

[論文レビュー] From Design to Implementation: an Automated, Credible Autocoding Chain for Control Systems

Timothy C. Wang, Romain Jobredeaux|arXiv (Cornell University)|Jul 10, 2013
Real-time simulation and control systems被引用数 4
ひとこと要約

本論文は、ドメイン固有の知識と形式的手法を活用して、制御システム設計を検証済みCコードに自動変換する信頼性のある自動コーディングチェーンを提示する。Lyapunov安定性証明と性能保証を、グラフィカルモデリング言語(例:Simulink)における注釈として埋め込むことで、定理証明系を用いて注釈付きコードと機械検証可能な証明書を自動生成し、すべての実行において形式的検証により正しさを保証する。

ABSTRACT

This article describes a fully automated, credible autocoding chain for control systems. The framework generates code, along with guarantees of high level functional properties which can be independently verified. It relies on domain specific knowledge and fomal methods of analysis to address a context of heightened safety requirements for critical embedded systems and ever-increasing costs of verification and validation. The platform strives to bridge the semantic gap between domain expert and code verification expert. First, a graphical dataflow language is extended with annotation symbols enabling the control engineer to express high level properties of its control law within the framework of a familiar language. An existing autocoder is enhanced to both generate the code implementing the initial design, but also to carry high level properties down to annotations at the level of the code. Finally, using customized code analysis tools, certificates are generated which guarantee the correctness of the annotations with respect to the code, and can be verified using existing static analysis tools. Only a subset of properties and controllers are handled at this point.

研究の動機と目的

  • 制御工学の専門家と形式的検証の専門家との間の意味的ギャップを埋めるために、ドメイン専門家がなじみのある設計ツールで高レベルの機能的性質を直接表現できるようにすること。
  • 高レベルの制御システム設計から検証済みで生産品質のCコードまでを、形式的正しさ証明書を伴ってエンドツーエンドで自動化すること。
  • 安全上の重要性の高い性質(例:Lyapunov安定性)がコードレベルで保持され、形式的検証により正しく保証されるように、形式的検証を制御システム開発ライフサイクルに統合すること。
  • 制御理論的証明を自動コード解析の入力として活用することで、安全で重要度の高い組み込みシステムにおける検証・検査のコストと複雑さを低減すること。

提案手法

  • 制御の高レベルな性質(例:Lyapunov安定性、ベクトルマージン)を表現できるドメイン固有の注釈を、グラフィカルデータフロー言語(例:Simulink)に拡張する。
  • 既存の自動コーダーを拡張し、これらの注釈をモデルレベルから生成されたCコードにまで伝搬させ、意味を保持する。
  • Why3、PVS、proveit定理証明系を用いたカスタマイズされた静的解析パイプラインを活用し、コードの注釈から検証条件を生成・解決する。
  • pvs-ellipsoidプラグインを用いて、浮動小数点演算下でも正しく保証される楕円型不変量に関連する行列不等式を形式的に検証する。
  • 検証条件解析に基づいて動的に生成・誘導する定理証明戦略を用いて、証明チェーンを完全に自動化する。
  • PVSのネイティブ機能が不十分な場合に備え、INTLABなどの外部ツールを活用して行列の定性に関する数値的チェックを実施する。

実験結果

リサーチクエスチョン

  • RQ1制御理論的証明(例:Lyapunov安定性)を高レベルなモデルから低レベルなコードに体系的に符号化・伝搬させることは可能か?
  • RQ2制御工学の専門知識を尊重しつつ、制御エンジニアが形式的手法を習得する必要なく、形式的検証を自動化することは可能か?
  • RQ3注釈付きモデルから直接、機械検証可能な制御システム性質の証明書を生成することは可能か?
  • RQ4浮動小数点演算誤差を、制御システムの不変量に関する形式的証明で適切に扱うにはどうすればよいか?
  • RQ5このフレームワークは、現在の範囲を超えて、より広範な種類の制御器や性質をサポートするように拡張可能か?

主な発見

  • 本フレームワークは、制御的意味を持つSimulinkモデルを、Lyapunov安定性などの重要な性質について形式的証明書を備えた注釈付きCコードに自動的に変換することに成功した。
  • 証明チェーンは完全に自動化されている:検証条件が抽出され、Why3を介して処理され、PVSおよびproveit定理証明系を用いて解決され、動的な戦略誘導が行われる。
  • pvs-ellipsoidプラグインにより、浮動小数点演算が存在する状況でも、楕円型不変量に関連する行列不等式の正当な検証が可能になった。
  • 最終的な検証条件(状態が初期の楕円体に留まる)は、PVSとINTLABなどの外部数値ツールの組み合わせによって解決された。
  • プロトタイプは質量-ばね-ダンパー系を対象として、形式的保証のもとでオープンループ安定性を証明するという実現可能性を示した。
  • 本アプローチにより、ドメイン専門家(制御設計)と形式的検証専門家(証明生成)の独立した検証が可能になった。

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

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

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

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