JP2001525569A - システムの動作を検証する方法 - Google Patents

システムの動作を検証する方法

Info

Publication number
JP2001525569A
JP2001525569A JP2000523603A JP2000523603A JP2001525569A JP 2001525569 A JP2001525569 A JP 2001525569A JP 2000523603 A JP2000523603 A JP 2000523603A JP 2000523603 A JP2000523603 A JP 2000523603A JP 2001525569 A JP2001525569 A JP 2001525569A
Authority
JP
Japan
Prior art keywords
linear
automaton
state
solution
equation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2000523603A
Other languages
English (en)
Inventor
サミュエル・ドゥラシェリー
クリストフ・ブロウル
サミュエル・ドゥヴルダー
ジャン−リュク・ランベール
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Orange SA
Original Assignee
France Telecom SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by France Telecom SA filed Critical France Telecom SA
Publication of JP2001525569A publication Critical patent/JP2001525569A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs
    • G06F11/3608Software analysis for verifying properties of programs using formal methods, e.g. model checking, abstract interpretation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/22Arrangements for supervision, monitoring or testing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Debugging And Monitoring (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Analysing Materials By The Use Of Radiation (AREA)
  • Monitoring And Testing Of Exchanges (AREA)
  • Control Of Eletrric Generators (AREA)
  • Purification Treatments By Anaerobic Or Anaerobic And Aerobic Bacteria Or Animals (AREA)
  • Selective Calling Equipment (AREA)
  • Stored Programmes (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

(57)【要約】 本発明は、メッセージのセットにより同期されたオートマトンのシステムを用いた研究の下でシステムをモデリングすることと、オートマトンの状態とオートマトン内での移動の発生とオートマトン間での同期メッセージの生成とに関連する未知数を有する1次式のシステムを前記モデリングから導き出すこととにある方法に関する。これらの未知数は、原則的に0または1の値を有し、かつ、これらの未知数の各々は、方程式系の未知数が受ける追加の線形制約条件を用いて検証すべき特性を定義することにおいて、次に、前記追加の制約条件を受ける方程式系に、線形計画法による解決方法を適用することにおいて、T個の連続的段階の間の動作段階に関連し、これにより、解を表示することにより前記特性が検証されること、または、解が存在しないことを表示することにより前記特性が検証されないことを証明することを可能にする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】
本発明は、システム検証の分野に関する。
【0002】
【従来の技術】
本発明を適用することができるシステムの種類は、非常に多様であり得る。こ
れらのシステムは、詳細には、順次的または並列的データ処理ソフトウェア、通
信プロトコル、指揮統制組織、分布システム、電子部品などを有する。概して、
本発明は、通信オートマトンの形式でモデル化できる動作を有する任意の物理的
システムに適用可能である。
【0003】 “モデル”によって、自らの動作をパラメータ表示することを可能にするシス
テムの抽出が意味される。目下の例においては、システムの、オートマトン形式
への転換である。もちろん、この転換は、採用された検証方法に関する柔軟性を
可能にする一方で、システムの特性をできるだけ多く維持する必要がある。
【0004】 “オートマトン”という用語は、自らの動作が説明されることを可能にする状
態および移動(transition)(すなわち、ラベル付けされたポイントおよびアー
クから)から形成された、システムの一部のパラメータ表示を意味する。オート
マトンについては、図式を用いて、文章で、データ処理形式でなど、種々の形式
で説明することができる。通信オートマトンは、メッセージ送信形式、同期化な
どで、他のオートマトンと情報を交換できるオートマトンである。
【0005】 本発明においては、検証は、パスを示すことにより、または、パスが存在しな
いことを規定することにより、オートマトンにより表されるシステムの特性が真
または偽であることを論証することからなる。前記パスは、モデルの全体的な状
態の連続(明らかに可能な連続)である。目下の例において、これは、モデルを
構成する各々のオートマトンの状態に関する順序づけられた(ordered)シーケ ンスとなる。
【0006】 前記検証は、概して、システムそれ自体においてではなく、モデル上において
実行されることを特筆しておく。この点において、前記検証は、完成した製品と
より直接的に関連しているテストとは異なっている。テストは、実際の動作シス
テム(例えば、実行すべきソフトウェア)にその性質を学ばせる、すなわち、そ
の動作を最大限に網羅するように試みることからなっている。多くの検証ワーク
ショップは、実際のシステムが、モデルまたは定義すべきその仕様から自動的に
生成されることを可能にしている。比較的多数のモデリングおよび検証支援ツー
ルが存在する(例えば、A. A. Loureiro et al.: "Fdt tools for protocol dev
elopment" in FORTE'92, 1992 を参照のこと)。
【0007】 検証の分野においては、3つの形式の方法が最もしばしば採用される。
【0008】 1.シミュレーション。大部分の既存のツールは、シミュレーションを可能に
している。これは、適切なパスを検索するために、多少とも洗練された方略にし
たがって次から次へとモデルの状態を経験することに相当する。この方法は、(
抽出がパスの概念を備えている場合に)システムの任意の抽出レベルにおいて用
いることができ、かつ、使用の際に非常に柔軟性を持ち得るという利点を有して
いる。この方法は、2つの欠点をも有している。すなわち、この方法は、システ
ムの状態数の組み合わせの急増な増加に遭遇し(深く検索するほどに、パスの数
が多くなる)、かつ、何も証明しない(深度nにおいて何のパスも見つからない
ことは、深度n+1において何も存在しないことの証明にはならない)。
【0009】 2.“モデル検査”(A. Kerbrat: "Methodes symboliques pour la verifica
tion de processus communicants: etude et mise en oeuvre" ["Symbolic meth
ods for verifying communicating processes: design and implementation"],
PhD thesis, University Joseph Fourier, Grenoble, 1994 または K. L. McMil
lan: "Symbolic Model Checking", Kluwer Academic Publishers, 1993 を参照 のこと)。“モデル検査”方法は、オートマトン形式でのシステムのモデリング
を必要とする。このようなモデリングのオートマトンは融合して、各々の状態が
モデルの全体的状態に対応している単一オートマトンとなる。したがって、全体
的オートマトン上の一時的論理(temporal logic)に記載される特性を検証する
ことが可能である。この方法の利点は、非常に多数の形式の要求を条件指定する
ことを可能にする一時的ソフトウェアの豊富さにある。さらに、この方法は、シ
ミュレーションを容易にする。しかしながら、この方法は、巨大サイズの全体的
オートマトンを非常に迅速に生成することに関する限界を有しており、したがっ
て、この巨大サイズの全体的オートマトンについては、オートマトンのサイズを
減少させるための多くの技術(全体的オートマトンの符号化技術の利用、より弱
い特性を備えた全体的オートマトンのモデルの構成など)にもかかわらず、一般
には構成することができない。
【0010】 3.定理による証明(J.-R. Abrial: "The B-book", Cambridge University P
ress, 1995 または B. Chetali: "Formal verification of concurrent program
s: How to specify UNITY using the Larch Prover", Technical report, INRIA
, France, 1995 を参照のこと)。ここでは、モデルは、自らの基本特性を示す 論理式のセットからなっている。検証すべき新たな特性が論理式の形式で与えら
れているので、証明は、新たな論理式がモデルの論理式と推論規則とから得られ
ることを可能にする連続的段階からなることになる。この方法は、真の形式的証
明を生じさせるという利点を有している。しかしながら、目下の所、適切な推論
方略が存在せず、かつ、コンピュータは、ほとんど常に、証明のうち簡単な段階
を解決し、困難な部分については人間の論理学者に任せるのみにまで低下する。
【0011】 ペトリ(Petri)ネットワークの分野においては、従来技術において、システ ムを検証するために線形計画法(linear programming)を使用した最適化方法を
用いることが既知である。しかしながら、線形計画法は、非常に制約を受けるモ
デルにおいてのみ用いられ、したがって、このモデルについては、実際のシステ
ムをモデリングするために(J. Esparza et al.: "A polynomial-time algorith
m to decide liveness of bounded free choice nets", Theoretical Computer
Science, 102: 185-205, 1992 を参照のこと)、または、研究されたモデルの不
変量のセット(特に、Fourier-Motzkinアルゴリズム)を生成するために用いる ことはできない。前記不変量のセットは、洞察力を持たずに構成され、かつ、急
速に巨大なサイズのものとなる。
【0012】 より最近では、通信オートマトンモデルに対して整数計画法を直接的に用いる
ことが研究されている(J. C. Corbett: "Automated Formal Analysis Methods
for Concurrent and Real-Time Software", PhD thesis, Department of Comput
er Science, University of Massachusetts, USA, 1992 を参照のこと)。しか しながら、整数計画法を用いることは、十分なアルゴリズムを供給せず、かつ、
最も重大なことには、モデル上における証明を実行することができない。この研
究チームは、要求システムの表現度のパワーを徹底的に調査し、かつ、これが一
時的論理に非常に近いという結論を導き出した。
【0013】 検証の分野における線形計画法に関する他の利用は、J. L. Lambertにより説 明されている("Presentation du projet validation de protocoles par progr
ammation lineaire" ["Description of the protocol validation by linear pr
ogramming project"], Technical Report 27, Greyc, University of Caen, 199
4)。この方法は、解析することができるシステムの動作条件に対して制限を構 成する、メッセージの順序づけという概念を全く必要としない。
【0014】
【発明が解決しようとする課題】
本発明の目的は、研究されたシステムの特性を可能でありかつシステムのサイ
ズを劇的に増加させない複雑さを有する方法を処理することにより、検証技術の
質を高めることである。
【0015】
【課題を解決するための手段】
したがって、本発明は、メッセージのセットにより同期されたオートマトンの
システムによりモデリングされたシステムの動作を検証する方法を提案し、該方
法は、 − システムを、n=1〜Nという番号をつけられたN個のサブシステムに分
解すること; − 各々のサブシステムn(1≦n≦N)を該サブシステムnの状態en iのセ
ットEnから構成されたそれぞれのオートマトンの形式で記述するパラメータに 、セットEnの状態組の間における移動an jのセットAnを供給すること; という動作を備え、前記セットAnの各々の移動an jは、記述されたサブシステ ムが移動an jにしたがって状態を変化させる場合に部分集合Mn jの各々のメッセ
ージが生じるという事実を転換するための同期メッセージのセットの部分集合M n j と関連しており、前記方法は、 − 1≦t≦T,1≦n≦Nに対して、一方では、
【数4】
【数5】 という形式の流れ式(flow equation)を有し、また、他方では、
【数6】 という形式の同期式(synchronization equation)を有する1次式のシステムを
構成すること(ここで、Tは、システムの動作に関する多数の連続的段階を示し
、Bn iは、セットAnの移動an jがセットEnの状態en iから始まるような指数j
のセットを示し、Cn iは、セットAnの移動an jがセットEnの状態en iに至るよ
うな指数jのセットを示し、Mnは、セットAnの移動にそれぞれ関連したメッセ
ージの部分集合Mn jの和集合を示し、Dn kは、セットMnのメッセージmkがセッ
トAnの移動an jに関連した部分集合Mn jに属するような指数jのセットを示し 、変数en i(t)(0≦t≦T)は、セットEnの状態en iと段階tとに関連し た線形系(linear system)の未知数であり、変数an j(t)(1≦t≦T)は 、セットAnの移動an jと段階tとに関連した線形系の未知数であり、変数mk
t)(1≦t≦T)は、同期メッセージのセットのメッセージmkと段階tとに 関連した線形系の未知数である); − 検証すべきシステムの特性を、線形系の未知数に課せられた追加の線形制
約条件(linear constraint)の形式で定義すること; − 線形計画法による解法を、追加の制約条件を受ける線形系に適用すること
; − 前記特性がシステムにより検証されるかどうかを判断するために、線形計
画法の結果を解析すること; という動作を備える。
【0016】 この方法は、上述した3つの従来技術による方法と共通した点を、ほとんど有
していない。“モデル検査”のように、この方法は、通信オートマトンの形式で
のモデリングに基づいているが、比較はそこで止まっている。要求システムは、
一時的論理よりもパス概念に近いが、一時的論理と同種類の表現度のものである
。すなわち、目下の例においては、要求は、通常は、状態や移動やメッセージの
送受信のアクセス可能性に関する質問に基づいている。“モデル検査”と比較し
ての基本的な違いは、前記方法が、モデルの全てのオートマトンから生じた全体
的なオートマトンを用いずに、モデルのオートマトン上において直接的に動作す
ることである。さらに、線形計画法により与えられる証明は、自明に間違ってい
る式を生じさせ得る式の合計に対応する。さらに、前記方法は、要求を検証する
パスを終了させ得る。しかしながら、このパスは、シミュレーションまたはモデ
ル検査とは違い、これらの状態を経験せずに直接的に構成される。線形計画法に
より提案される解は、必ずしも整数値のパスではない。したがって、非整数(no
n-integer)解の数を最小にし、かつ、適切な追加の線形制約条件を導入するこ とにより、これらの解が生じた場合にはこれらを解釈して消去することを可能に
するオートマトンのモデルを構成することが必要である。
【0017】
【発明の実施の形態】
本発明に関する他の特徴および利点は、本発明の非制限的な実施形態に関する
以下の説明において明らかとなり、この説明は、添付図面を参照して与えられる
【0018】 オートマトンは、検証の分野において日常的に用いられる。オートマトンは、
システムの動作に関する自らの転換に関して表現が豊かであること、および、ユ
ーザーが学習しかつ操作するのに容易であること、という両方の利点を有してい
る。この方法により用いられるオートマトンの形式は、からり従来的なものであ
る。すなわち、本発明は、本質的に、オートマトンによるこのモデリングを利用
することにある。システムの全ての要素は、オートマトンの形式で記述されてい
る。これらの要素、すなわち、サブシステムは、動作状態を表すオートマトンを
有するシステムに属する装置であってもよい。これらの要素は、交換された指示
または命令、データ、伝送チャンネル(待ち行列、スタックなど)のような、等
しくソフトウェアの類のものであってもよい。
【0019】 研究されたシステムがN個のサブシステムに分割されるので、これらのサブシ
ステムn(1≦n≦N)の各々は、オートマトンの状態と移動とを定義するパラ
メータの補助によるオートマトンSnの形式で記述される。 これらのパラメータは、 − オートマトンSnの状態に関する数I(n)(オートマトンSnのI(n)
状態のセットは、En={en i,1≦i≦I(n)}と示される)と、 − オートマトンSnの移動に関する数j(n)(オートマトンSnのJ(n)
移動のセットは、An={an j,1≦j≦J(n)}と示される)と、 − 各々の移動に対して、状態en i(この状態から移動が生じる)と、状態e n i (この状態へ移動が至る)とに関する識別と を具備する。言い換えれば、移行an jによって、オートマトンSnにより表され たサブシステムが状態en iから状態en i'へ変更される。
【0020】 これらのパラメータは、セットEn(1≦j≦J(n))の各々の状態en iに 対して、2つのセットBn i,Cn iが決定されることを可能にする。セットBn i
、1≦j≦J(n)でありかつ移動an jが状態en iから始まるような指数jのセ
ットを示す。セットCn iは、1≦j≦J(n)でありかつ移動an jが到着状態e n i を生じさせるような指数jのセットである。
【0021】 コンピュータは、本発明の方法により要求された計算を実行するために用いら
れる。このコンピュータには、通常は、移動an jを表すアークにより接続された
状態en iを表すノードを描くことによる簡単な方法で、オートマトンの構成を定
義する上記のパラメータをユーザーが供給することを可能にするグラフィカルイ
ンタフェースが装備されている。セットBn i,Cn iについては、状態および移動
が導入された場合に形成することができる。
【0022】 これらのセットとユーザーにより与えられた整数Tとから、コンピュータは、
【数7】 の流れ式を構成する。数Tは、システムの動作に関する多数の連続的段階を表し
、このシステムに対し、動作は検証の主題である。
【0023】 これらの流れ式の表現は、1≦t≦T,1≦n≦N、および1≦i≦I(n)
に対して、以下の通りである:
【数8】 これらの式(1f),(2f)において、変数en i(t),an j(t)は、原則
的に、2進値(ゼロまたは1)である。en i(t)=1(0≦t≦T)である場
合に、オートマトンSnにより記述されるサブシステムnは、段階tの終わりと 段階t+1の始まりとにおいて、en iの状態にある。そうでない場合には、en i (t)=0である。an j(t)=1(1≦t≦T)である場合に、オートマトン
nにより記述されるサブシステムnは、段階tにおいて、移動an jにしたがっ て状態を変化させる。そうでない場合には、an j(t)=0である。
【0024】 オートマトンS={Sn,1≦n≦N}のシステムは、N個のサブシステムの 相互作用を転換するメッセージのセットM={mk,1≦k≦K}により同期さ れる。セットMのメッセージmkは、オートマトンSnがセットAnの移動をもた らす場合に、オートマトンSnにより表されるサブシステムにより受信または送 信される。したがって、同期メッセージmkは、移動an jを伴い、これにより、 これらの移動の発生を、オートマトンSnを用いてモデリングすることができる 。ユーザーに対して、これは、オートマトンSnの移動のセットAnの各々の移動
n jを、同期メッセージのセットMの部分集合Mn jと関連づけることからなる。
この関連づけは、オートマトンSnにより記述されるサブシステムが移動an jに したがって状態を変化させる場合に、部分集合Mn jの各々のメッセージが生じる
ことを示す。オートマトンSnの移動an jが通過されると、Mn' j'∩Mn j≠φ と
なるような1つ以上の移動an' j'を有する他の任意のオートマトンSn'は、これ
らの移動an' j'の1つを達成する。
【0025】 この関連づけは、コンピュータのグラフィカルインタフェースが、オートマト
ンの状態と移動とに関するグラフィカル表示をユーザーに供給する場合に定義す
るのに容易である。すなわち、付随するメッセージmkを備えた移動を表す各々 のアークにラベル付けことで十分である。次に、コンピュータは、適切な部分集
合Mn jを定義することができる。さらに、コンピュータは、各々のオートマトン
nに対して、セットAnの移動とそれぞれ関連づけられたメッセージの部分集合
n jの和集合Mnを、すなわち、
【数9】 を定義する。セットMnのメッセージの数は、μ(n)と示される。結局、セッ トMnの各々のメッセージmkに対して、1≦j≦J(n)でありかつメッセージ
kが、移動an jに関連した部分集合Mn jに属するような指数jのセットDn kが 定義される(すなわち、Dn k={j/mk∈Mn j})。
【0026】 移動an jの中には、セットMのメッセージが全く付随できないものもある(M n j =φ)。これらの移動は、大抵は、同一の出発状態および到着状態を有してお
り、メッセージがない場合には当該のサブシステムは状態を変化させないという
事実を転換する。以後、本明細書において、各々のオートマトンの各々の状態に
対して、この種の移動(アークεと称される)が存在し、かつ、εnは、オート マトンSnに関連したI(n)アークεの指数のセットを示すものとする。すな わちεn={j∈[1,J(n)]/Mn j=φ}である。しかしながら、この仮 定は、ある特定の場合にのみ対応するものであり、本発明はこの場合に限定され
るものではない。
【0027】 同期関係により定義されたセットDn kから、コンピュータは、
【数10】 の同期式を構成し、この式の表現は、1≦t≦T,1≦n≦N、およびmk∈Mn に対して、以下の通りである:
【数11】 ここで、mk(t)は、理論上は2進数(ゼロまたは1)である変数である。mk (t)=1である場合には、メッセージmkは、段階tの間に来る。そうでなけ れば、mk(t)=0である。
【0028】 前記流れ式および同期式(1f),(2f),(3s)は、未知数を構成する
変数en i(t),an j(t),mk(t)を有する線形系を形成する。本発明に よれば、この線形系は、該線形系の未知数に課せられた追加の線形制約条件の形
式で定義されたシステムの特性を検証するために、線形計画法による方法により
解かれる。この解は、未知数en i(t),an j(t),mk(t)が、必ずしも 整数であるとは限らないが正またはゼロの値を有していると仮定している。
【0029】 線形計画法による方法は、組み合わせの最適化における基準である。これらの
方法は、その効率性および応用範囲の故に、産業において広く用いられている(
例えば、Williams: "Model Building in Mathematical Programming", Wiley, 3 rd edition, 1993; Chvatal:"Linear Programming", editions Freeman, 1983;
または、R. Saigal: "Linear Programming: A Modern Integrated Analysis", e
ditions Kluwer, 1996 を参照のこと)。
【0030】 現在では、CPLEXやOSLソフトウェアのようなソフトウェアは、数百万
の制約条件と無数の変数からなるシステムを妥当な時間で処理することができる
。既存のアルゴリズムの複雑さは、シンプレックス式であろうと内部ポイント式
であろうと、(2倍の大きさの問題点が、2〜4倍の長さで生じることを意味し
ている)問題点の大きさに関しては、一次アルゴリズムと二次アルゴリズムとの
間におけるものである。しかしながら、実際に多くの最適化の要領を用いること
が可能である場合には、計算時間に関して相当な節約を得ることができる。
【0031】 線形計画法は、所定の一次式により定義される基準を最大にする線形制約条件
のセットに従属する明確な解法を見つける方法を組み合わせる。この種の問題を
表現する従来の方法は、以下の通りである。すなわち、以下の式のようなサイズ
pの列ベクトルが求められる:
【数12】 ここで、Aは、m行p列のマトリクスであり、cは、サイズpの行ベクトルであ
り、かつ、bは、サイズmの列ベクトルである。不等式を組み込むことと、xの
正符号に関してある一定の制約条件を除くことなどにより、この問題を変更する
ことが可能である。しかしながら、この式のセットの直線性については、効率的
なアルゴリズムを用いることができること、および、結果を解釈することを可能
にすることの両方のために、維持する必要がある。完全性(integrity)の制約 条件(これは、整数計画法に対応している)は、同じ理由のために禁じられてい
る。
【0032】 線形計画法による証明の概念を説明するために、問題は、以下の方法で公式化
される。サイズpのベクトルxがなおも求められるが、今回は以下の通りである
【数13】
【0033】 問題(5)は、簡単なものと考えられる。その理由は、必要とされる全てのこ
とは、制約条件のセットを、さらには一次基準(linear criterion)を最適化せ
ずに満たすことであるためである。しかしながら、問題(5)は、実際には、問
題(4)と同じ問題点を有するものである。問題(5)は、Farkasの補助定理(
lemma)と称される、「デュアルシステムy.A≧0,y.b<0が1つの解を 持つ場合には、システムA.x=b,x≧0は解を持たない」という性質を有し
ている。
【0034】 制約条件Aのシステムが、本明細書において上述したオートマトンの、かつ、
検証すべきアクセス可能性要求の転換であると仮定すれば、ベクトルxは未知数
n i(t),an j(t),mk(t)から構成され、Farkasの補助定理は、(i )要求を有効化するパス、すなわち、直接的問題の解であるサイズpの列ベクト
ルxが存在するか、または、(ii)このパスが存在しないという証明、すなわち
、双対問題の解であるサイズpの列ベクトルxが存在するかのいずれかであると
仮定する。したがって、コンピュータにより実行される線形計画法アルゴリズム
は、このxを、または、xが存在しなければ、対応するyを見つける。
【0035】 追加の線形制約条件が、検証すべき特性にしたがって、ユーザーにより定義さ
れる。概して、線形制約条件は、オートマトンシステムの初期の機器構成を固定
するために与えられる。すなわち、1≦n≦N,1≦i≦I(n)に対する変数
n i(0)の値である。より一般的には、オートマトンSnの初期状態は、
【数14】 という形式の制約条件を受けることになる。ここで、Pnは、範囲[1,I(n )]の空ではない部分を示し、このことは、オートマトンの初期状態がセットE n のある一定の部分に存在することを要求する。
【0036】 追加の制約条件は、あるオートマトンの最終状態(t=T)と、ある一定の移
動の達成、および/または、セットMのある一定のメッセージの送信に関連した
線形系の未知数により満たされるべき他の線形関係を包含する。幾つかの場合に
おいては、追加の制約条件を、観測者(observer)オートマトンと称される特定
のオートマトンを1つ以上モデリング処理に導入することにより、さらに定義す
ることができる。
【0037】 本発明の状況において、前記追加の制約条件は、最適化すべき線形基準ををさ
らに包含することができる。すなわち、線形計画法については、上記の式(4)
にしたがって用いることもできる。このことは、最適化された基準の点で最適な
パスを識別することを可能にする。このような基準の例は以下の通りである: (i)
【数15】 この式の最適化は、最小の状態変化を暗示するパスの識別を可能にする。すなわ
ち、合計もまた、オートマトンSnのうち幾つかに適用されるのみである。 (ii)
【数16】 この式の最適化は、同期メッセージの最小送信を要求するパスの識別を可能にす
る。すなわち、合計もまた、メッセージmkのセットMの一部に適用されるのみ である。 (iii)
【数17】 この式の最適化は、オートマトンSnがその状態en iの1つにおける最短時間に 対して存続するパスの識別を可能にする。
【0038】 本明細書において前述した基準において、合計に重みづけをすることができる
【0039】 幾つかの場合において、線形計画法は非整数解を生じさせ、ベクトルxの少な
くとも1つの成分は、ゼロまたは1以外の値となる。したがって、検査された特
性に関して即時的な結論(すなわち、整数解が存在せずかつ特性が検証されない
か、または、非整数解が整数解を隠しかつ特性が検証される、のいずれか)を引
き出すことは不可能である。
【0040】 非整数解が得られれば、種々の方法を採用することができる。したがって、線
形計画法の解法を再び適用する前に線形制約条件を追加するかまたは変更するこ
とにより、要求を正確にすることができる。ユーザーは、非整数解の構成により
、この処理において案内される。例えば、解のパスが成分mk(t)=p/q( p,qは、0<p<qであるような整数)包含し、かつ、検査された特性に関連
してメッセージmkが“擬似的(spurious)”であると考えられれば、
【数18】 のようなメッセージに対して制約条件を追加することが可能である。オートマト
ンの中には、分数の状態変数en i(t)を備えた疑わしい状態のものもあるか、
または、分数の移動変数an j(t)を備えた疑わしい移動に従っているものもあ
る、ということを、ユーザーが非整数解にしたがって検出すれば、同種の制約条
件を導入することができる。この方法は、頻繁に、連続的な整数解を生じさせる
。幾つかの場合において、計算段階の数Tについては、幾つかの段階にわたって
反復される分数の移動が完全な移動を構成することができる非整数解を除くため
に、低下させることができる。非整数解を避けるために、最適化すべき線形基準
を用いてもよい。特性を検証するための線形系の第1解が非整数解を生じさせれ
ば、種々の線形基準を最適化する、同システムの他の解を探すことができる。こ
れらの他の解の中には、整数解であってもよくそれ故に要求された特性を証明す
るものもある。前記第1解が非整数解を生じさせなければ、種々の試みは、特性
が検証されないという診断を補助することができる。
【0041】 ある一定のモデリング検出が同期されたオートマトンのシステム内に存在すれ
ば、非整数解を得ることもできる。非整数解の構成は、ユーザーがこのような欠
点を検出し、かつ、システムを記述するパラメータを適切の変更することにより
これらの欠点を改善するのを補助することができる。
【0042】 前記方法について、添付図面に表された例によって以下に示す。この例は、本
発明にしたがって実行される動作をできる限り明確に示すために、意図的に非常
に簡略化されている。明らかに、線形計画法による方法のパワーは、実際にはる
かに大きなシステムを検証できることを意味する。
【0043】 図1に概略的に示されている前記研究されたシステムは、2つの電話機X,Y
を具備する遠距離通信システムであり、これらの電話機の間には、矢印Fにより
表される音声通信を確立することができる。検証すべき動作は、前記2つの電話
機間の呼を設定するかまたは終和させるために用いられる信号プロトコルに関連
している。第1段階は、システムを、電話機X,Yと、電話機Xから電話機Yへ
の伝送チャンネルと、電話機Yから電話機Xへの伝送チャンネルとにそれぞれ対
応するN=4のサブシステムに分解することである。
【0044】 簡略化のために、電話機Xのみが電話機Yへの接続の設定を要求できるが、切
断(disnonnection)については2つの電話機のいずれも要求できると仮定する 。この条件の下で、同期メッセージのセットMが、以下の6つのメッセージから
なっている(K=6): − Yとの接続の設定を要求するために電話機Xにより送信されたm1; − 切断を要求するために電話機Xにより送信されたm2; − 切断を要求するために電話機Yにより送信されたm3; − 電話機Yを電話機Xへ接続するために電話機Yにより受信されたm4; − 電話機Yを切断するために電話機Yにより受信されたm5; − 電話機Xを切断するために電話機Xにより受信されたm6
【0045】 電話機X,Yに関連した同期オートマトンS1,S2は、図2および図3に示さ
れている。これらは、各々が2つの状態(“接続された”および“切断された”
)と5つの移動とを有している。すなわち、I(1)=I(2)=2,J(1)
=J(2)=5である。これらの2つのオートマトンは、解くべき線形系に以下
の式を導入する:流れ式 :(n=1または2)
【数19】 同期式
【数20】
【0046】 電話機Yから電話機Xへの伝送チャンネルは単純である:すなわち、この伝送
チャンネルは、切断メッセージをYからXへ伝えるだけである。これは、図4に
示されるように、2つの状態と4つの移動とを有している(I(3)=2,J(
3)=4)オートマトンS3により表される。このオートマトンは、解くべき線 形系に以下の式を導入する:流れ式
【数21】 同期式
【数22】
【0047】 電話機Xから電話機Yへの伝送チャンネルに関して、3つの異なる状況が図5
〜図7に示されている。
【0048】 最初に、チャンネルが、(例えば、伝送効率の理由のために)2つのパケット
においてのみメッセージを受け入れるという、図5の状況を考慮する。2つのメ
ッセージm1,m2を具備するパケットを受信した後に(移動a4 1)、チャンネル
は、対応する2つのメッセージm4,m5を電話機Yへ転送する(移動a4 2)。こ
の伝送は非同期であるとしてモデリングされることが特筆される。その理由は、
オートマトンS4が、アークεに沿う状態e4 2にとどまるように認証されるため である(移動a4 4)。同期伝送をモデリングするためには、この移動a4 4をオー
トマトンの移動のセットAから除くことで十分である。図5のオートマトンS4 は、2つの状態と4つの移動とを有している(I(4)=2,J(4)=4)。
このオートマトンは、解くべき線形系に以下の式を導入する:流れ式
【数23】 同期式
【数24】
【0049】 検証することができるシステムの最初の一連の特性は、対応するオートマトン
nの状態により表されるサブシステムnに関する各々の動作状態に、所定の開 始機器構成(starting configuration)から到達することができるという事実で
あって、さらに、セットMの各々の同期メッセージが続くことができるという事
実である。
【0050】 前記開始機器構成は、例えば、切断された双方の電話機、および、移動中のメ
ッセージがチャンネル上に存在しないことであり、このことは、1≦n≦4に対
し、en 1(0)=1,en 1(0)=0という、追加の線形制約条件に対応する。
【0051】 オートマトンSnの状態en iに到達することができるかどうかを検証するため に、数Tに対して適切な値を選択することにより、追加の制約条件en i(T)=
1が課せられる。線形計画法が解を供給すれば、状態en iはアクセス可能である
。そうでなければ、T段階において状態en iはアクセス不可能である。この場合
、数Tの値については、解の存在の可能性を探すために増加させることができる
。数Tが何の解も見つけられないで大きくなり過ぎてしまったと考えられれば、
モデリングが間違っているという診断に到達しかつこれを改善することか、また
は、研究されているシステムが、その状態の1つがアクセス不可能であるという
点で非機能的であると評価することが可能である。図2および図5においてオー
トマトンS1〜S4によりモデリングされているシステムは、検査されたアクセス
可能性を備えた状態が初期状態と異なるとすぐに、この特性を検証するのではな
い。すなわち、線形計画法は、何の解も提案しない。このことは、オートマトン
1はメッセージm1,m2を同時に送信することは決してないので、図5からの オートマトンS4によりモデリングされるチャンネルがブロッキングを総計して いるという事実を転換する。
【0052】 所定の移動を実行するかまたは所定のメッセージを送信する可能性に対して、
同種の検証を実施することもできる。例えば、上記の開始機器構成からメッセー
ジm5を送信する場合には、T個の連続的段階の間にメッセージm5が1度送信さ
れることになるという事実を転換する
【数25】 という線形制約条件が加えられる。再び、図2および図5からのオートマトンS 1 〜S4によりモデリングされているシステムは、この特性を検証するのではない
【0053】 図6の場合には、電話機Xから電話機Yへのチャンネルは、接続メッセージお
よび切断メッセージの一方または他方を搬送することができる(その理由は、例
えば、低ビットレートのチャンネルであるためである)。次に、オートマトンS 4 は、2つの状態と6つの移動とを有している(I(4)=2,J(4)=6) 。このオートマトンは、解くべき線形系に以下の式を導入する:流れ式
【数26】 同期式
【数27】
【0054】 図2〜図4および図6からのオートマトンS1〜S4によりモデリングされてい
るシステムは、上述した最初の一連の特性を検証する。
【0055】 検証の第2段階において、状態、移動またはメッセージに関するアクセス可能
性よりも複雑な特性を検査することができる。例えば、電話機により受信された
任意のメッセージが、他の電話機により受信されたメッセージに対応するかどう
かを判断することが可能である。
【0056】 例えば、電話機Xによる切断要求メッセージが電話機Yにより常に正確に受信
されていることを検査するために、以下の11個の線形制約条件を加えることに
より、オートマトンのモデルにおけるある一定のパスに対して逆の特性が検証さ
れるかどうかを検査することが可能である:
【数28】
【0057】 図8は、図2〜図4および図6からのオートマトンS1〜S4によりモデリング
されているシステムの場合において、これらの11個の追加の制約条件を受ける
線形系のT=5段階における解を形成するパスを示している。検証された特性が
システムの異常動作を示した際に、線形計画法により得られたこの解の存在から
、モデリングされたシステムが機能不良であると推論することが可能である。ユ
ーザーは、この機能不良を解釈することができる。すなわち、図6においてモデ
リングされたXからYへのチャンネルは、この種の機能不良を防ぐためにメッセ
ージを区別することが必要であると思われるようなエラーを導入することができ
る。
【0058】 図8の解は、必ずしも線形計画法により直接的に供給されない。前記11個の
追加の制約条件を受ける線形系は、線形計画法が初期に生じさせ得る非整数解を
受け入れる。図9は、このような非整数課の1つを示す。ユーザーがこの解を得
れば、検査された特性に関して即座に結論を引き出すことはできない。逆に、ユ
ーザーは、メッセージm3,m4が複写されると思われかつ動作段階の数Tを低下
させようとしていることに気づくことができる。したがって、T=2に対して、
新たな解が図8の整数解を生じさせる。
【0059】 図7の場合には、電話機Xから電話機Yへのチャンネルは、接続メッセージお
よび切断メッセージの一方または他方を搬送することができ、これら2つのメッ
セージを区別している。次に、オートマトンS4は、3つの状態と7つの移動と を有している(I(4)=3,J(4)=7)。このオートマトンは、解くべき
線形系に以下の式を導入する:流れ式
【数29】 同期式
【数30】
【0060】 図2〜図4および図7からのオートマトンS1〜S4によりモデリングされてい
るシステムは、上述した最初の一連の特性を検証する。図10は、例えば、シス
テムが、双方の電話機が切断される機器構成からT=5段階においてメッセージ
5を生成することが可能であることを証明する線形計画法により見つけられた 解に対応するパスを示している(以下の式のような、追加の制約条件)。
【数31】
【0061】 図2〜図4および図7からのオートマトンS1〜S4によりモデリングされてい
るシステムは、図2〜図4および図6からのオートマトンS1〜S4によりモデリ
ングされているシステムの機能不良を示している特性を検証する(詳細には、線
形計画法は、上述した11個の追加の制約条件を受ける線形系の解を全く供給し
ない)。
【0062】 第3検証段階は、システムがブロックされた状態になるかどうかを、すなわち
、チャンネルが、着信先通話が読み取り不可能であるというメッセージを搬送で
きるかどうかを考慮する。例えば、電話機Yが切断されているがXからYへのチ
ャンネルが切断要求メッセージを有することができるかどうかを判断するために
、以下の追加の制約条件が用いられる:
【数32】
【0063】 線形計画法は、これらの追加の制約条件を受ける線形系が、図11に示される
整数解を有することを示す。したがって、図2〜図4および図7からのオートマ
トンS1〜S4によりモデリングされているシステムが、ブロックされた状態にな
り得る。図11の解を解析することにより、ユーザーは、双方の電話機が同時に
切断を要求すれば問題が生じることを発見する。この種の問題を回避するために
、モデルの各々のオートマトンの変更と、セットMへのメッセージの追加とを必
然的に伴う、確認応答メッセージを備えたプロトコルを用いることが必要である
。したがって、本発明によるこの方法については、新たなモデルに、その特性を
検査すべく適用することができる。
【図面の簡単な説明】
【図1】 本発明を適用することができるシステムのサンプル例に関するブ
ロック図である。
【図2】 図1のシステムの要素を表すオートマトンの図である。
【図3】 図2と同様の図である。
【図4】 図2と同様の図である。
【図5】 図2と同様の図である。
【図6】 図5からのオートマトンの変形例を示す図である。
【図7】 図6と同様の図である。
【図8】 本発明の方法がオートマトンのシステムにおいて示すことができ
るパスを示す図である。
【図9】 図8と同様の図である。
【図10】 図8と同様の図である。
【図11】 図8と同様の図である。
【符号の説明】
n j 移動 en i 状態 mk メッセージ Sn オートマトン X,Y 電話機
───────────────────────────────────────────────────── フロントページの続き (72)発明者 サミュエル・ドゥラシェリー フランス・F−14000・カーン・リュ・フ レネル・4 (72)発明者 クリストフ・ブロウル フランス・F−61220・ブリオウズ・ラ・ フォス(番地なし) (72)発明者 サミュエル・ドゥヴルダー フランス・F−14280・サン−コンテス・ リュ・ドゥ・ラ・フォリー・39・アパルト マン・2 (72)発明者 ジャン−リュク・ランベール フランス・F−14860・アンフレヴィル・ リュ・オジェル・14 Fターム(参考) 5B042 GA01 GA09 HH10 HH41 5B076 DE03 DF01 DF06 EC02 EC06 EC10 5K019 AA07 AA08 BA26 CA04

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 メッセージ(M)のセットにより同期されたオートマトンの
    システム(S)によりモデリングされたシステムの動作を検証する方法であって
    、 前記方法は、 − システムを、n=1〜Nという番号をつけられたN個のサブシステムに分
    解すること; − 各々のサブシステムn(1≦n≦N)を該サブシステムnの状態en iのセ
    ットEnから構成されたそれぞれのオートマトン(Sn)の形式で記述するパラメ
    ータに、セットEnの状態組の間における移動an jのセットAnを供給すること;
    という動作を備え、 前記セットAnの各々の移動an jは、記述されたサブシステムが移動an jにし たがって状態を変化させる場合に部分集合Mn jの各々のメッセージが生じるとい
    う事実を転換するための同期メッセージ(M)のセットの部分集合Mn jと関連し
    ており、 前記方法は、 − 1≦t≦T,1≦n≦Nに対して、一方では、 【数1】 【数2】 という形式の流れ式を有し、また、他方では、 【数3】 という形式の同期式を有する1次式(1f,2f,3s)のシステムを構成する
    こと(ここで、Tは、システムの動作に関する多数の連続的段階を示し、Bn i
    、セットAnの移動an jがセットEnの状態en iから始まるような指数jのセット
    を示し、Cn iは、セットAnの移動an jがセットEnの状態en iに至るような指数
    jのセットを示し、Mnは、セットAnの移動にそれぞれ関連したメッセージの部
    分集合Mn jの和集合を示し、Dn kは、セットMnのメッセージmkがセットAnの 移動an jに関連した部分集合Mn jに属するような指数jのセットを示し、変数e n i (t)(0≦t≦T)は、セットEnの状態en iと段階tとに関連した線形系 の未知数であり、変数an j(t)(1≦t≦T)は、セットAnの移動an jと段 階tとに関連した線形系の未知数であり、変数mk(t)(1≦t≦T)は、同 期メッセージのセット(M)のメッセージmkと段階tとに関連した線形系の未 知数である); − 検証すべきシステムの特性を、線形系の未知数に課せられた追加の線形制
    約条件の形式で定義すること; − 線形計画法による解法を、追加の制約条件を受ける線形系に適用すること
    ; − 前記特性がシステムにより検証されるかどうかを判断するために、線形計
    画法の結果を解析すること; という動作を備えることを特徴とする方法。
  2. 【請求項2】 前記特性は、追加の制約条件を受ける1次式のシステムが、
    変数(en i(t),an j(t),mk(t))の各々が値ゼロまたは値1のいず れかを有する解を持つことを線形計画法が示す場合には検証されると考えられ、
    かつ、前記特性は、追加の制約条件を受ける1次式のシステムが解を持たないこ
    とを線形計画法が示す場合には検証されないと考えられることを特徴とする請求
    項1に記載の方法。
  3. 【請求項3】 追加の制約条件を受ける1次式のシステムが、変数(en i
    t),an j(t),mk(t))のうち少なくとも1つが非整数値を有する解を 持つことを線形計画法が示せば、前記追加の制約条件は変更され、かつ、前記線
    形計画法による解法が再度適用されることを特徴とする請求項1または請求項2
    に記載の方法。
  4. 【請求項4】 前記追加の線形制約条件は、線形計画法による解法により最
    適化されるべき線形基準を定義する線形系の未知数の組み合わせを具備すること
    を特徴とする請求項1から請求項3のいずれかに記載の方法。
JP2000523603A 1997-12-03 1998-12-01 システムの動作を検証する方法 Pending JP2001525569A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR97/15217 1997-12-03
FR9715217A FR2771880B1 (fr) 1997-12-03 1997-12-03 Procede de verification du fonctionnement d'un systeme
PCT/FR1998/002582 WO1999028820A1 (fr) 1997-12-03 1998-12-01 Procede de verification du fonctionnement d'un systeme

Publications (1)

Publication Number Publication Date
JP2001525569A true JP2001525569A (ja) 2001-12-11

Family

ID=9514098

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000523603A Pending JP2001525569A (ja) 1997-12-03 1998-12-01 システムの動作を検証する方法

Country Status (9)

Country Link
US (1) US6466646B1 (ja)
EP (1) EP1034476B1 (ja)
JP (1) JP2001525569A (ja)
AT (1) ATE214818T1 (ja)
CA (1) CA2312859A1 (ja)
DE (1) DE69804347T2 (ja)
ES (1) ES2174513T3 (ja)
FR (1) FR2771880B1 (ja)
WO (1) WO1999028820A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1384383B1 (de) * 2001-04-30 2004-09-15 Siemens Aktiengesellschaft Verfahren zur steuerung einer verbindung in einem telekommunikationsnetz
US7379781B2 (en) * 2005-08-30 2008-05-27 Logitech Europe S.A. Constraint based order optimization system and available to promise system
CN112162932B (zh) * 2020-10-30 2022-07-19 中国人民解放军国防科技大学 一种基于线性规划预测的符号执行优化方法及装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5274838A (en) * 1987-06-03 1993-12-28 Ericsson Ge Mobile Communications Inc. Fail-soft architecture for public trunking system
US5727051A (en) * 1995-07-14 1998-03-10 Telefonaktiebolaget Lm Ericsson (Publ.) System and method for adaptive routing on a virtual path broadband network
US5764740A (en) * 1995-07-14 1998-06-09 Telefonaktiebolaget Lm Ericsson System and method for optimal logical network capacity dimensioning with broadband traffic
US5920607A (en) * 1995-12-29 1999-07-06 Mci Communications Corporation Adaptive wireless cell coverage

Also Published As

Publication number Publication date
EP1034476B1 (fr) 2002-03-20
DE69804347D1 (de) 2002-04-25
ATE214818T1 (de) 2002-04-15
WO1999028820A1 (fr) 1999-06-10
EP1034476A1 (fr) 2000-09-13
FR2771880A1 (fr) 1999-06-04
CA2312859A1 (fr) 1999-06-10
DE69804347T2 (de) 2002-11-21
US6466646B1 (en) 2002-10-15
FR2771880B1 (fr) 2000-02-04
ES2174513T3 (es) 2002-11-01

Similar Documents

Publication Publication Date Title
Rudie et al. Minimal communication in a distributed discrete-event system
CN102402481B (zh) 异步程序代码的模糊测试
Rozé et al. Diagnosing discrete-event systems: extending the “diagnoser approach” to deal with telecommunication networks
KR102454398B1 (ko) 분산형 소프트웨어 정의 네트워킹 방법 및 장치
JPWO2012011145A1 (ja) ソフトウェア保守支援装置及びそれにより検証した電子制御装置
US6516306B1 (en) Model checking of message flow diagrams
West Protocol validation—principles and applications
Dssouli et al. Communications software design for testability: specification transformations and testability measures
Varshosaz et al. Modeling and verification of probabilistic actor systems using pRebeca
JP2001525569A (ja) システムの動作を検証する方法
Bos et al. Automatic verification of a manufacturing system
Kvassay et al. Time-dependent analysis of series-parallel multistate systems using structure function and markov processes
Dellacherie et al. Software verification based on linear programming
Guo et al. Improving test quality using robust unique input/output circuit sequences (UIOCs)
Zulkernine et al. Towards automatic monitoring of component-based software systems
Geng et al. Failure diagnosis for distributed stochastic discrete event systems
Hilbrich et al. Enforcing security and privacy via a cooperation of security experts and software engineers: a model-based vision
Li et al. A framework for off-line conformance testing of timed connectors
Lamperti et al. Uncertain temporal observations in diagnosis
Kushik Contributions to model based test generation and monitoring strategies and their networking applications
Simser et al. Supervision of real-time software systems using optimistic path prediction and rollbacks
Aguado et al. Foundations of the X-machine Theory for Testing
Elabd et al. Compatibility and replaceability analysis of timed web services protocols
Ozdemir Verifying the safety properties of concurrent systems via simultaneous reachability.
Burton et al. Verifying implementation relations