されていないか)がわかる様に診断用のトレースを自動的に生 成する事ができます。.このモデルチェッカーによって生成され た診断用トレースは、自動的にシミュレータにロードする事が できます。これは、トレースの可視化と調査に利用することがで きるでしょう。 レースの生成。この診断トレースは自動的にロードされ、シ ミュレータを使ってグラフィカルに可視化されます。 UPPAALのシステムエディター、シミュレータ、そして要件仕様エ ディタを、図1,2,3それぞれに示します。 リアルタイムシステムの妥当性確認と 検証のためのツール環境 E-mail: [email protected] http://www.uppaal.com/ UPPAALはスウェーデンのUppsara大学とデンマークのAalborg 大学によって共同開発されたリアルタイムシステムのモデリン グ、シミュレーション、及び検証のための統合ツール環境です。 システムは有限の制御構造と実時間変数、チャネル又は共有変 数による通信を伴う非決定的なプロセスの集まりとして適切に モデル化できます[14, 9]。典型的な応用分野としては、特にタイ ミングがクリティカルなリアルタイム・コントローラと通信プ ロトコルが含まれます。 UPPAALは主に記述言語、シミュレータ、そしてモデルチェッカ の3つの部分から成ります。記述言語は非決定的なガード付き のコマンド言語です(範囲限定された整数や配列など)。 クロックとデータの変数が拡張されたオートマトンのネット ワークによってシステムの振る舞いを記述することでモデリン グまたは設計を提供します。 シミュレータは早期の設計(またはモデリング)段階でのシ ステムの動的な実行試験を可能とする妥当性検査ツールであり、 また、システムの動的挙動を完全にカバーするモデルチェッカ ーによる検査の前に不具合検出を比較的簡単に提供することが できます。. モデルチェッカーはシステムの状態空間の探索を行なうこと によって、不変式と活性の性質をチェックします。すなわち、制 約で表現されたシンボリックな状態に関する到達可能性の解析 です。 UPPAALのための2つの設計方針は効率と使い勝手の良さです。 On-the-fly検索技術の応用は、UPPAALモデルチェッカーの効率に とって重要なものです。 他の効率のための重要なキーは、効果 的な操作と制約の解決によって検証問題を簡略化するというシ ンボリック技術の応用です[14, 7, 11, 10]。モデリングとデバッ グを容易にするため、UPPAALモデルチェッカーは、なぜ、その性 質がそのシステム記述によって充たされているか(または充た 図1 UPPAALシステムエディタ 初期のリリースである1995年より、UPPAALは多くのケーススタ ディーに適用されてきました(次節のサマリを見てください)。 ケーススタディーからでてきた要求を充たすために、このツー ルは様々な機能を拡張してきました。UPPAALの最新バージョン は1999年の9月にリリースされました。最新バージョンはJava とC++で実装され、Linux、SunOS、Windows95/98/NTで動作可能 です。 UPPAALは次の機能を含みます:. ・ システムのグラフィカルな記述が可能なグラフィカルなシ ステム・エディタ ・ グラフィカルな可視化と可能なシステムの動的な挙動の可 視化と記録を提供するグラフィカルシミュレータ(つまり システムのシンボリックな状態のシーケンス).(また、これ はモデルチェッカーから生成されたトレースを可視化する ためにも使われます) ・ UPPAALのベリファイヤーのGUIを構成する要件仕様エディタ ・ シンボリックな状態空間の到達可能性解析による安全性と 境界付きの活性という性質の自動検証のためのモデルチェ ッカー ・ 特定のリアルタイムシステム検証が失敗した場合の診断ト 図2 UPPAALシミュレータ 応用事例 . UPPAALは多くの(産業での)ケーススタディーに応用されてき ました。この章では、それらから選択したものを簡潔にレビュー します。 オーディオ/ビデオプロトコル:これはリアルタイムに非常に 依存するオーディオ制御プロトコルです。このプロトコルは Bnag&Olufsenが開発したもので、オーディオ/ビデオコンポ ーネント間のメッセージ転送のためのものです。これは不完 全である事が知られていましたが、誤りは従来のテスト方法 では見つけられていませんでした。[5]では、UPPAALが見つけ た誤りのエラートレースの自動生成に適用されています。さ らに、修正はUPPAALを使用することによって立証されました 境界付きの再送プロトコル:このプロトコルは COST247(International Workshop on Applied Formal Methods in System Design)にて提案され、研究されています。これは損 失性の通信チャネルの上での交番ビットプロトコル (Alternating bit protocol)に基づいていますが、境界のある再 送の回数を考慮するというものです。[4]では、プロトコルの 多くの特性がUPPAALによってに自動的に確かめられたと報 告されています。特に、プロトコルの正当性が、正しく選ばれ たタイムアウト値に依存していることが示されています。 参考資料 衝突回避プロトコル:このプロトコルはCSMA/CDプロトコル の様なイーサネットに似ている媒体上に実装されます。それ はネットワーク・ノード間の通信遅延の上限を確実にしま す。 [6]では、UPPAALを利用する事で設計され、正しさが証明 されます。2つの主な確立した性質が、このプロトコルが衝突 無しである事を示します。そして、それはユーザからユーザ への通信遅延の上限を確実にします(完全な媒体を仮定)。 ギアボックスコントローラ:[12]では、UPPAALはMecel AB(自動 車生産の制御システムを開発しているスエーデンの会社) での自動車のギアボックスコントローラプロトタイプの設 計と解析、といった工業的なケーススタディに適用されてい ます。ギアボックスコントローラは現代的な自動車のリアル タイムシステムの中のコンポーネントです。コントローラの 設計では、システムの挙動の検証のためにUPPAALのシミュ レーションツールが適用されました。ギアボックスコントロ ーラの設計の正当性はMecelABによって指定されたインフォ ーマルな要件から導出された46の性質の自動検証で確立さ れています。 フィリップスオーディオ制御プロトコル:このプロトコルは Manchesterエンコーディングを使っているオーディオ装置 コンポーネント間の制御情報を交換するためにフィリップ スが開発、実装したものです。このエンコードの正確さは信 号間のタイミングの遅延に依存しています。[8]では、このプ ロトコルをUPPAALを使ってモデル化し、検証しています。[3] では、バスの衝突検出に拡張されたプロトコルのバージョン をUPPAALによって解析しています。このケーススタディの モデルは、いくつかの新しいコンポーネント(と変数)を導 入するため、オリジナルバージョンよりもかなり大きく、既 存のコンポーネントは、バス衝突に対応するように変更され ています。 TDMAプロトコルの起動メカニズム:[13]では、TDMA(Time Division Multiple Access)プロトコルの起動の形式検証が報告 されています。UPPAALを使う事で、3つの通信ステーション の全体が同期して任意の初期状態から与えられたクロック ドリフトが+-10^-3の範囲で操作できることがチェックさ れています。さらに、完全な起動のための時間の条件が導出 されました。 図3:UPPAAL要件仕様エディタ 組織 . UPPAALはスウェーデンのUppsala大学(UPP)のインフォメーショ ンテクノロジー学科とデンマーク大学のAalborg大学(AAL)のコ ンピュータ科学科の共同開発製品です。 開発とその応用に関わっている人は以下の人たちです: Wang Yi (Professor, UPP), Kim G. Larsen (Professor, AAL), Gerd Behrmann (Ph.D., AAL), Paul Pettersson (Ph.D., UPP), Alexandre David (Post Doc, AAL), Emmanuel Fleury (Ph.D., AAL), Brian Nielsen (Ph.D., AAL), Arne Skou (Ph.D., AAL), John H°akansson (Ph.D. Student, UPP),Jacob Illum Rasmussen (Ph.D.Student, AAL), Pavel Krc´al (Ph.D. Student, UPP), Ulrik Larsen(Ph.D. Student, AAL), Didier Lime (Post Doc., AAL), Marius Mikucionis (Ph.D. Student, AAL), and Leonid Mokrushin (Ph.D. Student, UPP). さらなる情報 . UPPAALのWebページがあります。http://www.uppaal.com/ ここには、UPPAALの参考文献とインストールするための 詳細な情報が含まれています。 UPPAALの非形式的な記述の詳細は”Tutorial on UPPAAL”[2] “UPPAAL in a Nutshell”[9]、そして”UPPAAL-Now,Next,and Future”といった論文の中に見つけることができます。 [1] Tobias Amnell, Gerd Behrmann, Johan Bengtsson, Pedro R.D’Argenio,Alexandre David, Ansgar Fehnker, Thomas Hune, Bertrand Jeannet, Kim G.Larsen, M. Oliver M¨oller, Paul Pettersson, Carsten Weise, and Wang Yi.Uppaal - Now, Next, and Future. In F. Cassez, C. Jard, B. Rozoy, and M. Ryan, editors, Modelling and Verification of Parallel Processes, number2067 in Lecture Notes in Computer Science, pages 100–125. Springer–Verlag, 2001. [2] Gerd Behrmann, Alexandre David, , and Kim G. Larsen. A tutorial on uppaal.In Proc. of 4th International School on Formal Methods for the Design of Computer, Communication, and Software Systems, number 3185 in Lecture Notes in Computer Science, 2004. [3] Johan Bengtsson, W.O. David Griffioen, K°are J. Kristoffersen, Kim G. Larsen, Fredrik Larsson, Paul Pettersson, and Wang Yi. Verification of an Audio Protocol with Bus Collision Using Uppaal. In Rajeev Alur and Thomas A. Henzinger, editors, Proc. of the 8th Int. Conf. on Computer Aided Verifica- tion, number 1102 in Lecture Notes in Computer Science, pages 244–256.Springer–Verlag, July 1996. [4] P.R. D’Argenio, J.-P. Katoen, T.C. Ruys, and J. Tretmans. The bounded retransmission protocol must be on time! In Proc. of the 3rd Workshop on Tools and Algorithms for the Construction and Analysis of Systems, number 1217 in Lecture Notes in Computer Science, pages 416–431. Springer–Verlag, April 1997. [5] Klaus Havelund, Arne Skou, Kim G. Larsen, and Kristian Lund. Formal Modeling and Analysis of an Audio/Video Protocol: An Industrial Case Study Using Uppaal. In Proc. of the 18th IEEE Real-Time Systems Symposium. IEEE Computer Society Press, December 1997. [6] Henrik E. Jensen, Kim G. Larsen, and Arne Skou. Modelling and Analysis of a Collision Avoidance Protocol Using SPIN and Uppaal. In Proc. of 2nd Int. Workshop on the SPIN Verification System, pages 1–20, August 1996. [7] Kim G. Larsen, Paul Pettersson, and Wang Yi. Compositional and Symbolic ModelChecking of Real-Time Systems. In Proc. of the 16th IEEE Real-Time Systems Symposium, pages 76–87. IEEE Computer Society Press, December 1995. [8] Kim G. Larsen, Paul Pettersson, and Wang Yi. Diagnostic Model-Checking for RealTime Systems. In Proc. of Workshop on Verification and Control of Hybrid Systems III, number 1066 in Lecture Notes in Computer Science, pages 575–586. Springer– Verlag, October 1995. [9] Kim G. Larsen, Paul Pettersson, and Wang Yi. Uppaal in a Nutshell. Int. Journal on Software Tools for Technology Transfer, 1(1–2):134–152, October 1997. [10] Kim G. Larsen, Carsten Weise, Wang Yi, and Justin Pearson. Clock difference diagrams. Nordic Journal of Computing, 6(3):271–298, 1999. [11] Fredrik Larsson, Kim G. Larsen, Paul Pettersson, and Wang Yi. Efficient Verification of Real-Time Systems: Compact Data Structures and State-Space Reduction. In Proc. of the 18th IEEE Real-Time Systems Symposium, pages 14–24. IEEE Computer Society Press, December 1997. [12] Magnus Lindahl, Paul Pettersson, and Wang Yi. Formal Design and Analysis of a Gear-Box Controller. In Proc. of the 4th Workshop on Tools and Algorithms for the Construction and Analysis of Systems, number 1384 in Lecture Notes in Computer Science, pages 281–297. Springer–Verlag, March 1998. [13] Henrik L¨onn and Paul Pettersson. Formal Verification of a TDMA Protocol Startup Mechanism. In Proc. of the Pacific Rim Int. Symp. on Fault- Tolerant Systems, pages 235–242, December 1997. [14] Wang Yi, Paul Pettersson, and Mats Daniels. Automatic Verification of Real-Time Communicating Systems By Constraint-Solving. In Dieter Hogrefe and Stefan Leue, editors, Proc. of the 7th Int. Conf. on Formal Description Techniques, pages 223– 238. North–Holland, 1994. Translated by CATS Co.,LTD.
© Copyright 2024 Paperzz