JP2000066919A - 制約有効性チェック - Google Patents

制約有効性チェック

Info

Publication number
JP2000066919A
JP2000066919A JP11176159A JP17615999A JP2000066919A JP 2000066919 A JP2000066919 A JP 2000066919A JP 11176159 A JP11176159 A JP 11176159A JP 17615999 A JP17615999 A JP 17615999A JP 2000066919 A JP2000066919 A JP 2000066919A
Authority
JP
Japan
Prior art keywords
state
constraints
system model
states
search
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
JP11176159A
Other languages
English (en)
Inventor
Ronald H Hardin
エッチ.ハーディン ロナルド
Robert Paul Kurshan
ポール カーシャン ロバート
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.)
Nokia of America Corp
Original Assignee
Lucent Technologies Inc
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 Lucent Technologies Inc filed Critical Lucent Technologies Inc
Publication of JP2000066919A publication Critical patent/JP2000066919A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3323Design verification, e.g. functional simulation or model checking using formal methods, e.g. equivalence checking or property checking

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

(57)【要約】 (修正有) 【課題】システム設計の試験に関し、特に形式確認中に
使用される制約の有効性をチェックする。 【解決手段】制約のセットがシステムモデル状態空間の
所定の状態において一致しない値を割り当てている場
合、確認ツールは、その所定の状態または状態グループ
をいわゆる復帰不可能状態として取り扱う。すなわち、
確認ツールは、所定の状態または状態グループからリセ
ット状態のセットへの全ての進路を承認しない。その結
果、確認ツールへのあらゆる制約入力で定義された値を
解析する必要がある代わりに、復帰不可能状態において
機能付与された制約のみを解析することにより、確認ツ
ールが相互に矛盾しているかまたは過剰制約しているか
否かを判定することができる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、システム設計の試
験に関し、特に、形式確認中に使用される制約の有効性
をチェックする装置および方法に関する。
【0002】
【従来の技術及び発明が解決しようとする課題】大規模
システムの設計において進行中の問題は、システムがそ
の設計者によってもくろまれたようにふるまうことを確
かめることである。その方法の1つは、システム自体を
組み立てて試験するかまたはシステムのモデルを組み立
てて試験するかのどちらかにより、システムを簡単に試
験することであった。試験されていないシステムが期待
通りに働く保証は無いので、システム自体の組み立て
は、不経済な案となり得る。したがって、当業者は、そ
のシステムのモデル、つまりシステムモデルをソフトウ
ェアによって組み立てて試験する方へ移った。
【0003】システムモデルは、実行される場合にシス
テムのもくろんだ特性または機能をまねるコンピュータ
プログラムまたは符号ブロックであると言われることが
ある。基本的に、システムモデルは、実際のシステムと
同じように、入力を受け入れ、機能を実行し、出力を発
生するように設計される。これを行うために、システム
モデルは、システムモデル変数と呼ばれる変数を使用す
る。これらの変数は、システムモデルの入力値に依存し
て一定の値を示すように符号内でプログラムされる。す
なわち、システムモデル入力に異なる値が供給されるに
したがって、システムモデル変数は、入力に応じてシス
テムモデルがどのように機能するかまたはふるまうかを
示す異なる値が割り当てられる。したがって、システム
モデルの入力値を制御し、システムモデル変数の値を監
視することにより、システム設計者は、異なる入力のセ
ットに応じてシステムモデルのふるまいを試験または観
測し、システムモデルが、もくろんだシステムのふるま
いまたは特性を示すまたは実行するか否かを判定するこ
とができる。
【0004】このようなやり方でシステムを試験する方
法の1つは、形式確認と呼ばれている。形式確認では、
確認ツールが、システムモデルを有限状態マシンに変換
するために使用される。有限状態マシンは、所定の入力
のセット、すなわち入力ベクトルに応じてシステムモデ
ルの動作をまねる状態および状態遷移のセットである。
一般に、有限状態マシンの各状態は、1組のシステムモ
デル変数および/または入力に対する値の特定の割り当
てを表し、したがって、システムモデルの特定のふるま
いまたは特性を表す。各状態遷移は、システムモデル変
数および/または入力のセットが、ある状態から他の状
態へ遷移するために状態マシンのために示さなければな
らない値を定義する。それにより、状態マシンは、シス
テムモデルが、システムモデル入力に入力される値に応
じてどのようにふるまうだろうか(すなわち、システム
モデルが入るだろう状態)のロードマップを提供する。
その結果、確認ツールが、システムモデルをこのような
有限状態マシンに変換すると、このツールは、システム
モデル状態マシンが所定の入力のセットに応じてどの状
態に入るかをチェックすることにより、システムの特性
またはふるまいを試験することができる。
【0005】たとえば、R.P.Kurshan in Computer Aide
d Verification of Coordinating Processes,Princeton
University Press 1994により開示されている確認ツー
ルのような確認ツールは、システムモデル状態空間(す
なわち、システムモデル状態マシンを形成する1組の状
態および状態遷移)のいわゆるフルサーチを実行するこ
とによりシステムモデルの全ての特性またはふるまいを
試験するように設計される。従来的に、確認ツールは、
初期状態のセットにおいて“入力の全セット”またはシ
ステムモデル状態マシンの“リセット状態のセット”を
入力することによりフルサーチを開始する。ここで使用
されているような用語“入力の全セット”は、システム
モデル入力が、実行できるシーケンスごとに、システム
モデルが動作中の場合にできる限り仮定する値のあらゆ
る実行可能なセットを指す。ここで使用されているよう
な用語“リセット状態のセット”は、システムモデル
が、動作を開始するように、および/または、動作の終
了後に復帰するように設計されるそれらの状態を指す。
【0006】入力の全セットが、リセット状態のセット
において状態マシンに供給されたとき、確認ツールは、
システムモデル変数および/または入力が示す値を確認
し、次いで、それらの値で機能付与された状態遷移を確
認する。機能付与された状態遷移が確認されると、確認
ツールは、状態マシンが入力の結果として遷移できる状
態、いわゆる“次の状態”を確認する。確認ツールは、
入力の結果として到達する全ての次の状態を確認する
と、次の状態の各々における入力の全セットを入力し、
次いで、状態マシンが入力の結果として遷移する次の状
態の新たなセットを確認することにより、サーチを続け
る。このプロセスは、確認ツールで確認された次の状態
のセットが、サーチ中に既に到達した(すなわち、次の
状態として確認された)全ての状態となるまで繰り返さ
れる。サーチ中に到達する状態のセットは、以後、到達
可能な状態のセットと呼ばれる。状態マシンの各状態に
おいて入力の全セットを入力することにより、到達可能
な状態のセットは、システムモデル状態空間のあらゆる
状態を含むことが保証される。その結果、フルサーチを
実行する確認ツールは、システムモデルのあらゆる特性
またはふるまいをチェックすることが保証される。
【0007】しかしながら、ある場合には、システム設
計者は、システムモデルの特性またはふるまいの一部の
みをチェックするのを希望することがある。たとえば、
ある場合には、システム設計者は、システムの動作中実
行可能な入力の小セットと適合するシステムモデル特性
をチェックするのを希望することがある。このような場
合には、システムモデル状態マシンの状態の全てをサー
チするすなわち全てに到達する必要はなく、したがっ
て、入力の全セットに応じてシステムモデル状態マシン
のふるまいをチェックする必要がない。その代わりとし
て、確認ツールは、設計者がチェックしたい特性または
ふるまいを表すそれらの状態をサーチするすなわち到達
することを必要とするだけであり、したがって、入力の
全セットの一部に応じてシステムモデル状態マシンのふ
るまいをチェックする必要があるだけである。
【0008】システムモデルの特性またはふるまいの一
部のみをチェックするように確認ツールに指示する方法
の1つは、いわゆる制約付きで確認をプログラムするこ
とである。制約は、機能付与条件および仮定よりなる論
理的表現である。機能付与条件は、行使されるべき仮定
に対して真実でなければならない条件を定義する。仮定
は、機能付与条件が真実の場合に、確認ツールが一定の
システムモデル変数および/または入力に割り当てる1
つの値または複数の値を定義する。したがって、機能付
与される制約は、システムモデル内でとられるようにプ
ログラムされる値にかかわらず、一定のシステムモデル
変数および/または入力に一定の値を割り当てるように
確認ツールに指示することができる。
【0009】このような制約付きでプログラムされた場
合、確認ツールは、制約によって定義された値と一致す
る値を示すシステムモデル変数および/または入力を必
要とするこれらの状態遷移のみを承認するように指示さ
れるだろう。その結果、確認ツールは、制約によって定
義された値と一致する値(すなわち、システムモデル変
数および入力の値)の割り当てを表すこれらの状態にの
み到達するだろう。したがって、制約が一定のシステム
モデル変数および入力に割り当てる値を注意深く選ぶこ
とによって、確認ツールは、システム設計者がチェック
したい特性またはふるまいを表すこれらの状態のみに到
達またはサーチするように指示される。
【0010】たとえば、制約“IF(power−o
n)Assume(x=y)”は、機能付与条件pow
er_onが真実の場合は、システムモデル変数xはシ
ステムモデル変数yと等しいと仮定するように確認ツー
ルに指示するだろう。機能付与されるやいなや、この制
約は、入力が、システムモデル変数xの値をシステムモ
デル変数yの値に等しくさせる場合のそれらの状態また
は状態遷移をサーチするまたは到達するのみのように確
認ツールに指示するだろう。したがって、この制約は、
確認ツールの到達可能な状態の特定セットを定義する。
したがって、到達可能な状態の特定セットが、システム
モデルが正しくチェックされていることを表す全ての状
態を含む場合、この制約は、サーチを適切に制限してい
ると言われる。
【0011】しばしば、システム設計者は、サーチを適
切に制限するために複数の制約を用いて確認ツールをプ
ログラムするように要求される。複数の制約を用いてプ
ログラムされた場合、確認ツールは、その状態で機能付
与される全ての制約で定義されるあらゆる値と一致する
状態をサーチするまたは到達するだけだろう。したがっ
て、各状態において機能付与される制約は、到達可能な
状態のセットを適切に定義する値を割り当てることが重
要である。
【0012】しかしながら、問題は、所定の状態におい
て機能付与された制約が、互いに一致しない値を割り当
てる場合に起こる。機能付与される制約のこのようなセ
ットは、所定の状態において相互に矛盾していると言わ
れる。たとえば、制約のセット、制約1=IF(Pow
er_on)Assume(x=y);制約2=IF
(Temperature>30)Assume(y=
z);制約3=IF(time>1)Assume(x
≠z)は、機能付与条件が同時に真実であるどんな状態
においても相互に矛盾している。たとえば、power
_on、temperature>30およびtime
>1がすべて真実である状態において、制約1−3は、
一致しない、したがって相互に矛盾しているx=y=z
≠xまたはx≠xを仮定するように確認ツールに指示す
るだろう。
【0013】制約のセットが、サーチの所定の状態にお
いて相互に矛盾している(すなわち、一致しない値を割
り当てている)場合は、システムモデル変数および/ま
たは入力は、同時点であらゆる機能付与された全ての制
約で割り当てられた値と一致する値のセットを示すこと
ができない。その結果、たとえどんな入力が状態マシン
に供給されようとも、サーチを実行する確認ツールは、
その所定の状態からいずれかの他の状態へのどんな状態
遷移も承認しないだろう。これは、確認ツールが、相互
に矛盾する制約が機能付与される所定の状態を超えてど
んな状態にも到達またはサーチしないだろうということ
を意味する。その結果、確認ツールは、チェックされて
いるシステムモデル特性またはふるまいと関連する全て
の状態に到達しそこなうことがある。これが起こった場
合、確認ツールは、チェックされる特性と関連する全て
のエラーを確認することができないかもしれない。した
がって、“エラー無し”という確認ツールの報告が正確
か否かをチェックするために、システム設計者は、確認
ツールの制約入力のセットが相互に矛盾しているか否か
を常にチェックすべきである。
【0014】この問題の関連したより微妙な変形は、制
約が、1つの状態では相互に矛盾していないが、状態グ
ループでは互いに矛盾している場合に起こる。制約のセ
ットは、状態グループにおいて機能付与される制約によ
り割り当てられる値が、そのグループにおける状態のみ
を永続的にサーチするように確認ツールに指示した場合
に、状態グループにおいて一致しなくなる。これが起こ
った場合、サーチを実行する確認ツールは、どんな入力
が状態マシンに供給されようとも、状態グループから何
か他の状態または状態グループへのどんな状態遷移も承
認しないだろう。これは、一致しない制約が機能付与さ
れる状態の所定のグループを超えるどんな状態にも、確
認ツールが到達またはサーチしないだろうということを
意味する。その結果、確認ツールは、チェックされるシ
ステムモデル特性またはふるまいと関連するすべての状
態に到達しそこなうことがあり、したがって、チェック
される特性と関連する全てのエラーをチェックできない
ことがある。これが起こった場合、制約は、システムモ
デル状態空間のサーチを“過剰制約している”と言われ
る。したがって、制約のセットが1つの状態において相
互に矛盾しているか否かをチェックすることにより、
“エラー無し”という確認ツールの報告が正確か否かを
チェックすることに加えて、システム設計者は、制約の
セットが状態グループにおいて一致しない値を割り当て
ているか否かもチェックすべきである。
【0015】確認ツールに入力された制約のセットが、
1つの状態において相互に矛盾しているか否か、または
状態グループにおいて矛盾しているか否かを判定する従
来の方法は、制約の全部によって定義される全ての仮定
(すなわち、値割り当て)を解析することである。この
ような解析の目的は、1つの制約によって割り当てられ
た値に対して、各状態および各状態グループにおいて他
の制約によって割り当てられた値と一致することが可能
なか否かを判定することである。これは、各制約によっ
て割り当てられた値が、状態マシンの各状態および各状
態グループにおいてあらゆる他の制約によって割り当て
られた値との一致が解析されることを要する。いくつか
の制約が、各状態において他の変数および/または入力
の関数として値を割り当てることができるので、このよ
うな解析は、システムモデル変数および/または入力間
の数学的関係の詳細な理解および/または決定と、シス
テムモデル変数および/または入力がシステムモデル状
態空間の各状態における入力の何らかの所定のセットに
応じて仮定することができる値のセットの理解と決定を
必要とする。多数の状態および/または多数の変数およ
び入力を有するシステムのために、このようなタスク
は、非常に時間を費やしたり、大量の計算リソースを要
することがある。
【0016】
【課題を解決するための手段】我々は、制約のセットが
相互に矛盾しているか否かを判定するための効率的な方
法を発見した。確認ツールに入力されるあらゆる制約に
よって割り当てられる値を解析する必要がある代わり
に、我々は、システムモデル状態マシンのいわゆる復帰
不可能状態のセットにおいて機能付与される制約のセッ
トのみが、解析される必要があることを発見した。ここ
で使用されているような用語“復帰不可能状態のセッ
ト”は、システムモデル変数および/または入力が、確
認ツールに入力される制約によって定義されるものにし
たがう値が割り当てられる場合に、リセット状態のセッ
トへの進路がないシステムモデル状態空間における1つ
の状態または状態グループを指す。
【0017】我々の発見は、多くのシステムが停止しな
いという理解に基づいている。すなわち、多くのシステ
ムは、所定の機能を実行した後、動作を終了せず、むし
ろ、初期状態または、次に同じまたは他の機能を実行す
ることができるリセット状態のセットに復帰することが
できる。たとえば計算を行った後、計算機は、“クリ
ア”ボタンが押されるとゼロ(すなわち、リセット状
態)に戻り、その後、同じ計算または計算機の何か他の
機能を実行することができる。このことに鑑みて、我々
は、所定の状態または状態グループにおいて機能付与さ
れた、相互に矛盾するつまり一致しない制約のセットが
その所定の状態または状態グループからの全ての状態遷
移を無視するように確認ツールに指示した場合、相互に
矛盾しているつまり一致しない制約は、確認ツールに、
所定の状態または状態グループを復帰不可能のセットと
して取り扱わさせたことがわかった。その結果、我々
は、制約のセットを用いてプログラムされた確認ツール
が、復帰できないものとして処理する1つの状態または
状態グループを確認することにより、制約のセットが割
り当てられた一致しない値を持っているかもしれない1
つの状態または状態グループを確認するだろうというこ
とがわかった。したがって、我々は、1つの確認された
復帰不可能状態または状態の復帰不可能状態グループに
おいて機能付与された制約で割り当てられた値を解析す
ることにより、確認ツールに入力された制約のセット
が、相互に矛盾しているかまたは過度に制約されている
か否かを判定することができることを発見した。
【0018】特定の実施例では、復帰不可能状態のセッ
トまたは状態グループは、まず、いわゆる順方向サーチ
を実行することにより確認される。順方向サーチでは、
制約のセットを用いてプログラムされた確認ツールは、
システムモデル状態マシンのリセット状態のセットにお
いてスタートし、各状態において入力の全セットを入力
することによりできるだけ到達する状態および状態グル
ープの全てを確認する。順方向サーチ中に確認される各
状態および各状態グループは、ここでは順方向サーチ状
態と呼ばれる。順方向サーチ状態が確認されると、次い
で確認ツールは、いわゆる逆方向サーチを実行する。逆
方向サーチでは、確認ツールは、各状態において入力の
全セットを入力することによりリセット状態のセットに
到達することができる状態および状態グループの全てを
確認する。逆方向サーチ中に確認された各状態および各
状態グループは、ここでは逆方向サーチ状態と呼ばれ
る。次いで、逆方向サーチ状態のセットに含まれず、順
方向サーチ状態のセットに含められる各状態は、復帰不
可能として確認される。順方向サーチ状態のセットおよ
び逆方向サーチ状態のセットは、個別の状態と状態グル
ープの両方を含むので、ここで使用される場合の用語、
復帰不可能状態は、リセット状態のセットへの復帰進路
がない個別の状態と状態グループの両方を指す。次い
で、確認された復帰不可能状態において機能付与された
制約によって割り当てられた値が解析され、互いに一致
しない値を割り当てているか否かが判定される。1つの
状態において互いに一致しない値を割り当てている制約
は、相互に矛盾する制約として確認され、また、状態グ
ループにおいて互いに一致しない値を割り当てている制
約は、過剰制約している制約のセットとして確認され
る。したがって、相互に矛盾していない制約、過剰制約
していない制約のどちらも、ここでは相互に一致してい
る制約と呼ばれる。
【0019】好適には、相互に矛盾している制約のセッ
トおよび/または過剰制約している制約のセットが確認
されると、システム設計者は、矛盾しているおよび/ま
たは過剰制約している制約によって定義された一致しな
い値の割り当てを直すおよび/または除去することがで
き、それにより、直された、つまり相互に一致する制約
のセットでプログラムされた確認ツールが、システム設
計者がチェックしたい特性またはふるまいを表す状態空
間の全体部分を正確にチェックするだろうという見込み
が増す。
【0020】本発明のこれらおよび他の特徴は、図面と
共に行なわれる本発明の実施の形態の詳細な説明からよ
り明らかになるだろう。しかしながら、本発明の範囲
は、請求の範囲でのみ制限される。
【0021】
【発明の実施の形態】上述のように、システムモデルの
特性またはふるまいの一部のみをチェックするように確
認ツールに指示する方法の1つは、いわゆる制約を用い
て確認ツールをプログラムすることである。制約は、機
能付与条件および仮定からなる論理的表現である。機能
付与条件は、行使されるべき仮定に対して真実でなけれ
ばならない条件を定義する。仮定は、機能付与条件が真
実である場合に、確認ツールが一定のシステムモデル変
数および/または入力に割り当てるだろう1つの値また
は複数の値を定義する。したがって、機能付与された制
約は、システムモデル内で示すようにプログラムされる
値にかかわらず、一定のシステムモデル変数および/ま
たは入力に対して一定の値を割り当てるように、確認ツ
ールに指示することができる。
【0022】このような制約を用いてプログラムされた
場合、確認ツールは、制約で定義される値と一致する値
を示すように、システムモデル変数および/または入力
に要求するそれらの状態遷移のみを承認するように指示
されるだろう。その結果、確認ツールは、制約で定義さ
れる値と一致する値(すなわち、システムモデル変数お
よび入力の値)の割り当てを表すそれらの状態または状
態グループに到達するだけであろう。したがって、制約
が一定のシステムモデル変数および入力に割り当てる値
を注意深く選ぶことによって、確認ツールは、システム
設計者がチェックしたい特性またはふるまいを表すそれ
らの状態のみに到達またはサーチするように指示され
る。
【0023】しばしば、システム設計者は、サーチを適
切に制限するために、複数の制約を用いて確認ツールを
プログラムするように要求される。複数のプログラムを
用いてプログラムされた場合、確認ツールは、状態遷移
が、その状態において機能付与されるあらゆる制約で定
義されるあらゆる値と一致する値割り当てを定義する場
合に、所定の状態から他の状態への状態遷移を承認する
だけであろう。したがって、各状態において機能付与さ
れる制約が、到達可能な状態のセットを適切に定義する
値を割り当てることが重要である。しかしながら、所定
の状態または所定の状態グループにおいて機能付与され
る制約が、互いに一致しない値を割り当てた場合には、
問題が生じる。機能付与される制約のこのようなセット
は、所定の状態または状態グループにおいて相互に矛盾
しているまたは過剰制約していると言われる。
【0024】制約のセットが、サーチの所定状態におい
て相互に矛盾している(すなわち、一致しない値を割り
当てている)場合は、システムモデル変数および/また
は入力は、同時に機能付与された全ての制約で割り当て
られた値と一致する値のセットを示すことができない。
その結果、サーチを実行する確認ツールは、どんな入力
が状態マシンに供給されようとも、その所定の状態から
いずれかの他の状態へのどんな状態遷移も承認しないだ
ろう。これは、相互に矛盾する制約が機能付与される所
定の状態を超えるどんな状態にも、確認ツールが到達ま
たはサーチしないだろうということを意味する。その結
果、確認ツールは、チェックされているシステムモデル
特性またはふるまいと関連する状態の全てに到達しそこ
なうことがある。これが起こった場合、確認ツールは、
チェックされている特性と関連するエラーの全てを確認
することができないことがある。したがって、“エラー
無し”という確認ツールの報告が正確か否かをチェック
するために、システム設計者は、確認ツールへの制約入
力のセットが相互に矛盾しているか否かを常にチェック
すべきである。
【0025】同様に、制約のセットが、所定の状態グル
ープにおいて互いに一致していない場合は、システムモ
デル変数および/または入力は、サーチ中どんな入力が
状態マシンに供給されようとも、確認ツールをその状態
グループからいずれかの他の状態へ遷移させる値のセッ
トを示すことができない。その結果、過剰制約する制約
のセットは、確認ツールが、チェックされているシステ
ムモデル特性またはふるまいと関連する状態の全てに到
達するのを妨げることがある。これが起こった場合、確
認ツールは、チェックされている特性と関連するエラー
の全てを確認することができないことがある。したがっ
て、“エラー無し”という確認ツールの報告が正確か否
かを判定するために、制約のセットが過剰制約している
か否かをチェックすることに加えて、システム設計者
は、確認ツールへの制約入力のセットが過剰制約してい
るか否かを同様にチェックすべきである。
【0026】上述のように、確認ツールへの制約入力の
セットが相互に矛盾しているまたは過剰制約しているか
否かを判定する従来方法は、制約の全てによって定義さ
れる全ての仮定(すなわち、値割り当て)を解析するこ
とである。このような解析の目的は、ある制約で割り当
てられる値にとって他の制約で割り当てられる値と一致
しないことがあり得るか否かを判定することである。こ
れは、各制約で割り当てられる値が、状態マシンの各状
態および各状態グループにおいてあらゆる他の制約で割
り当てられる値との一致性について解析されるべきであ
ることを必要とする。いくつかの制約は、各状態におい
て他の変数および/または入力の関数として値を割り当
てることができるので、このような解析は、システムモ
デル変数および/または入力間の数学的関係の詳細な理
解および/または決定と、システムモデル変数および/
または入力が、システムモデル状態空間の各状態におけ
る入力のいずれかの所定のセットに応じて仮定すること
ができる値のセットの理解または決定とを必要とする。
多数の状態および/または多数の変数および入力を有す
るシステムに関して、このようなタスクは非常に時間を
費やし、多量の計算リソースを必要とすることがある。
【0027】本発明は、制約のセットが相互に矛盾して
いるまたは過剰制約しているか否かを判定するのに必要
な時間および/または計算リソースを減らす方法を提供
する。確認ツールに入力される全ての制約で定義される
仮定または値割り当てを解析する代わりに、本発明の原
理による方法は、システムモデル状態空間のいわゆる復
帰不可能状態のセットにおいて機能付与される制約で割
り当てられる値のみが解析される必要があるということ
を要求する。上述のように、ここで用いられている場合
の用語“復帰不可能状態のセット”は、システムモデル
変数および/または入力が、確認ツールに入力される制
約で定義されるものにしたがって値が割り当てられる場
合に、リセット状態のセットへの進路がないシステムモ
デル状態空間における個別の状態および状態グループの
両方を指す。
【0028】上述のように、我々の発見は、多くのシス
テムが停止しないという理解に基づいている。すなわ
ち、多くのシステムは、所定の機能の実行後に動作を停
止せず、むしろ初期状態またはリセット状態のセットに
戻ることができ、次いでその状態から、同一または他の
機能を実行することができる。これを考慮して、我々
は、所定の状態または状態グループにおいて機能付与さ
れる、相互に矛盾する制約のセットまたは過剰制約する
制約のセットが、その所定の状態または状態グループか
らの全ての状態遷移を無視するように確認ツールに指示
した場合、相互に矛盾するまたは過剰制約する制約のセ
ットは、確認ツールに、復帰不可能状態として所定の状
態または状態グループを取り扱いまたは承認せしめただ
ろういうことがわかった。その結果、我々は、制約のセ
ットを用いてプログラムされた確認ツールが復帰不可能
なものとして取り扱うまたは承認する状態を確認するこ
とによって、その制約のセットが割り当てられた一致し
ない値を有する個別の状態および状態グループを確認し
ただろうということがわかった。したがって、我々は、
復帰不可能状態(すなわち、確認ツールがリセット状態
のセットへの進路を承認しない個別の状態および状態グ
ループ)において機能付与される制約で割り当てられる
値を解析することによって、確認ツールへの制約入力の
セットが相互に矛盾しているまたは過剰制約しているか
否かを判定することができることがわかった。
【0029】いったん確認されると、相互に矛盾するま
たは過剰制約する制約は、それらの仮定が、システムモ
デル状態空間のサーチ中いずれかの状態または状態グル
ープにおいて互いに一致しない値を割り当てないように
再定義される。その結果、設計者がチェックしたいシス
テムモデル特性またはふるまいを確認するために(すな
わち、サーチを実行するために)、相互に一致する制約
のセットが、確認ツールによって使用される。
【0030】次に図1を参照すると、本発明の原理にし
たがって展開された、相互に一致する制約のセットでプ
ログラムされた確認ツールを用いてシステムモデル状態
空間のサーチを実行する方法10の実施の形態が示され
ている。図示されているように、方法10は、試験制約
を用いてプログラムされた確認ツールが、システムモデ
ル状態空間の順方向サーチを実行するのに使用されるス
テップ11から始まる。ステップ12で、順方向サーチ
中に到達した状態および状態グループが、順方向サーチ
状態として確認される。次いでステップ13で、試験制
約のセットを用いてプログラムされた確認ツールが使用
され、システムモデル状態空間の逆方向サーチが実行さ
れる。ステップ14で、逆方向サーチ中に到達した状態
および状態グループが、逆方向サーチ状態として確認さ
れる。ステップ15で、順方向サーチ状態のセットに含
まれ、逆方向サーチ状態のセットに含まれない状態が、
復帰不可能状態として確認される。ステップ16で、所
定の復帰不可能状態(すなわち、個別の状態または状態
のグループのどちらか)において機能付与された制約が
解析され、機能付与された制約のうちのどれが、互いに
一致しない仮定または値割り当てを定義しているかが判
定される。次いでステップ17で、一致しない値割り当
てを定義している、機能付与された制約が再定義され、
その結果、この制約は、もはや一致しない値割り当てを
定義しなくなり、また、試験制約のセットは、もはや相
互に矛盾しなくなるかまたは過剰制約されなくなり、す
なわち、相互に一致するようになる。次いでステップ1
8で、相互に一致した制約のセットを用いてプログラム
された確認ツールが使用され、従来のようにシステムモ
デル状態空間がサーチされる。
【0031】好適に、方法10により、システム設計者
は、システムモデルの所定の特性またはふるまいを試験
するのに使用される制約が相互に一致していることを確
かめることが可能になり、したがって、相互に一致する
制約のセットを用いてプログラムされた確認ツールが、
システム設計者がチェックしたい特性またはふるまいを
表す状態空間の全体部分をチェックするだろうという見
込みが増える。その結果、方法10は、確認ツール内に
プログラムされた制約が、確認ツールに、設計者がチェ
ックしたい特性またはふるまいを表すシステムモデル状
態空間の一部のエラーを見落とさせるだろうという見込
みが少ない、システムモデルの特性の試験方法を提供す
る。
【0032】次に図2を参照すると、制約のセットを用
いてプログラムされた従来の確認ツールが、方法10の
ステップ11−18をどのように実行するかを説明する
システムモデル状態空間または状態マシン20の線図が
示されている。図示されているように、状態マシン20
は、リセット状態のセット1と、状態2−5と、状態遷
移21−32と、システムモデル入力AおよびBを有す
る。状態2−5は図1では個別の状態として示されてい
るが、各状態は、個別の状態または状態のグループの両
方を表すものであるということが指摘されるべきであ
る。したがって、制約のセットを用いてプログラムされ
た確認ツールが、方法10のステップ11−18をどの
ように実行するかについての以下の説明は、たとえば、
個別の状態と状態グループの両方が、本発明の原理にし
たがって復帰不可能状態としてどのように確認されるか
を説明するものである。
【0033】動作時、リセット状態のセット1でスター
トする状態マシン20は、システムモデル入力Aおよび
Bが各々1の値を示す場合に状態2に遷移するだろう。
状態2にいる時、状態マシン20は、システムモデル入
力AおよびBが各々1の値を示す場合に状態3に遷移
し、また、システムモデル入力Aが0の値を示すか、ま
たはシステムモデル入力Aが1の値を示しかつシステム
モデル変数Bが0の値を示すかのどちらかの場合にリセ
ット状態のセット1に遷移するだろう。状態3にいる
時、状態マシン20は、システムモデル入力AおよびB
が各々1の値を示す場合に状態4に遷移し、また、シス
テムモデル入力AおよびBが0の値を示す場合に状態2
に遷移し、また、システムモデル入力Aが0の値を示し
かつシステムモデル入力Bが1の値を示すかまたはシス
テムモデル入力Aが1の値を示しかつシステムモデル入
力Bが0の値を示すかのどちらかの場合にリセット状態
のセット1に遷移するだろう。状態4にいる時、状態マ
シン20は、システムモデル入力AおよびBが各々1の
値を示す場合に状態5に遷移し、また、システムモデル
入力AおよびBが各々0の値を示す場合に状態3に遷移
し、また、システムモデル入力Aが0の値を示しかつシ
ステムモデル入力Bが1の値を示すかまたはシステムモ
デル入力Aが1の値を示しかつシステムモデル入力Bが
0の値を示すかのどちらかの場合にリセット状態のセッ
ト1に遷移するだろう。状態5にいる時、状態マシン2
0は、システムモデル入力AおよびBが各々0の値を示
す場合に状態4に遷移し、また、システムモデル入力A
が1の値を示すか、またはシステムモデル入力Aが0の
値を示しかつシステムモデル入力Bが1の値を示すかの
どちらかの場合にリセット状態のセット1に遷移する。
【0034】状態マシン20のサーチが、方法10のス
テップにしたがってどのように実行されるかを例証する
ために、確認ツールは、以下の制約を用いてプログラム
されていると仮定される。すなわち、 制約1=IF(state=3)ASSUME(A=
B) 制約2=IF(state=4)ASSUME(A=
0) 制約3=IF(state=4)ASSUME(B=
0) 制約4=IF(state=4)ASSUME(A≠
B)
【0035】上述のように、順方向サーチは、制約のセ
ットを用いてプログラムされた確認ツールが、システム
モデル状態マシンのリセット状態のセットからスタート
し、次いで、各状態において入力の全セットを入力する
ことによりできる限り到達する全ての状態を確認するサ
ーチである。次に図3を参照すると、上記に記載された
制約を用いてプログラムされた従来の確認ツールが、方
法10のステップ11にしたがって状態マシン20の順
方向サーチを実行する場合に到達した状態を説明する状
態空間36が示されている。たとえば、状態マシン20
の順方向サーチを実行する際、確認ツールは、リセット
状態のセット1からスタートし、次いで、システムモデ
ル入力AおよびBへ入力の全セットを入力し、次いで、
制約のセットが与えられた状態マシン20が遷移するこ
とができる次の状態のセットを確認するだろう。上記に
記載された制約のうちで、リセット状態のセット1にお
いて機能付与されるものはないので、確認ツールは、状
態マシン20が遷移することができる(すなわち、シス
テムモデル入力AおよびBが各々1の値を示す場合)状
態のセットとして状態2を確認するだろう。その結果、
確認ツールは、マシン20が次の状態2に遷移するよう
に、状態遷移22を承認または許すだろう。
【0036】状態2にいる時、確認ツールは、状態マシ
ン20に入力の全セットを再び入力し、次の状態のセッ
トとして、リセット状態のセット1(すなわち、システ
ムモデル入力AおよびBが各々0の値を示す場合)と状
態3(すなわち、システムモデル入力AおよびBが各々
1の値を示す場合)を確認するだろう。確認ツールは、
リセット状態のセット1に既に到達またはサーチしたの
で、状態マシン20が状態3に遷移するように、状態遷
移24を承認して許すだろう。
【0037】状態3にいる時、確認ツールは、確認ツー
ルは、状態マシン20に入力の全セットを再び入力し、
次の状態のセットとして、リセット状態のセット1(す
なわち、システムモデル入力A=1およびB=0、また
はA=0およびB=1の場合)と、状態2(すなわち、
システムモデル入力AおよびBが各々0の値を示す場
合)と、状態4(すなわち、システムモデル入力Aおよ
びBが各々1の値を示す場合)とを確認するだろう。制
約1は、状態3にいる時システムモデル入力Aがシステ
ムモデル入力Bに等しいと仮定するように確認ツールに
指示しているので、確認ツールは、状態遷移25を無視
するように指示されるだろう。また、状態2は既に到達
またはサーチされているので、確認ツールは、状態マシ
ン20が状態4に遷移するように、状態遷移27を承認
して許すだけであろう。
【0038】状態4にいる時、確認ツールは、状態マシ
ン20に入力の全セットを再び入力し、次の状態のセッ
トとして、リセット状態のセット1(すなわち、システ
ムモデル入力A=1およびB=0、またはA=0および
B=1の場合)と、状態3(すなわち、システムモデル
入力AおよびBが各々0の値を示す場合)と、状態5
(すなわち、システムモデル入力AおよびBが各々1の
値を示す場合)とを確認するだろう。しかしながら、制
約2および制約3は、システムモデル入力Aおよびシス
テムモデル入力Bに0の値が割り当てられている(すな
わち、それらの値が等しい)と仮定するように確認ツー
ルに指示し、かつ制約4は、システムモデル入力Aおよ
びBの値が等しくないと仮定するように確認ツールに指
示しているので、確認ツールは、全ての制約が満足され
るどんな状態遷移も承認しないだろう。すなわち、制約
は、互いに一致しないシステムモデル入力AおよびBの
値を仮定するように確認ツールに指示するだろう。その
結果、確認ツールは、状態4からのどんな状態遷移も承
認しないだろう。したがって、方法10のステップ11
にしたがって実行される順方向サーチは、状態マシン2
0の状態5に到達しないだろう。また、図3に示される
ように、方法10のステップ12で確認されるだろう順
方向サーチ状態のセットは、リセット状態のセット1と
状態2−4のみを含む。
【0039】上記に記載された制約を用いてプログラム
された同一の確認ツールは、確認ツールがリセット状態
のセット1への状態マシン20を通る進路を伸ばすまた
は承認することができる状態を確認することにより、状
態マシン20の逆方向サーチを実行することができる。
次に図4を参照すると、上記記された制約を用いてプロ
グラムされた確認ツールが、方法10のステップ13に
したがって状態マシン20の逆方向サーチを実行した場
合に到達した状態を説明する状態空間40が示されてい
る。たとえば、状態マシン20の逆方向サーチを実行す
る際、確認ツールは、まず、リセット状態のセット1へ
の直接状態遷移を有する各状態(すなわち、直接遷移状
態2−5)を確認し、次いで、各々の直接遷移状態にお
いてシステムモデル入力AおよびBへ入力の全セットを
入力し、次いで、制約のセットが与えられた確認ツール
が、直接遷移状態からリセット状態のセット1への進路
を有するか否かを判定する。制約1は、状態3において
システムモデル入力Aがシステムモデル入力Bに等しい
と仮定するように確認ツールに指示しているので、確認
ツールは、状態マシン20の状態遷移25を承認しない
だろう。さらに、制約2−4は、システムモデル入力A
およびBに矛盾する値を割り当てるように確認ツールに
指示しているので(すなわち、A=0=B≠A、つまり
A≠A)、確認ツールは、状態マシン20の状態遷移2
9を承認しないだろう。その結果、確認ツールは、状態
遷移22および32を承認するだけであり、したがっ
て、リセット状態のセット1への直接進路を有するもの
として状態2および5を確認するだけであろう。
【0040】逆方向サーチを続けるために、次いで、確
認ツールは、状態2および5への直接状態遷移を有する
それらの状態(すなわち、間接遷移状態3および4)を
確認し、次いで、確認された間接遷移状態においてシス
テムモデル入力AおよびBに入力の全セットを入力し、
次いで、状態マシン20が確認された間接遷移状態から
状態2および/または5への進路を承認しているか否か
を判定する。たとえば、確認ツールは、それぞれ状態2
および5への直接遷移を有するものとして状態3および
4を確認するだろう。状態3にいる時、制約1は、シス
テムモデル入力Aがシステムモデル入力Bに等しいと仮
定するように確認ツールに指示するだろう。状態遷移2
6は、システムモデル入力AおよびBが各々0の値を示
す(したがって、それらは等しい)ことを要求している
だけなので、確認ツールは、状態2への直接進路、した
がって状態マシン20におけるリセット状態のセット1
への進路を有するものとして状態3を確認するだろう。
しかしながら、状態4にいる時、制約2−4は、システ
ムモデル入力AおよびBに矛盾する値を割り当てる(す
なわち、A=0=B≠A、つまりA≠A)ように確認ツ
ールに指示するだろう。その結果、確認ツールは、状態
マシン20において状態4を状態5に接続する状態遷移
30を承認しないだろう。したがって、確認ツールは、
状態4からリセット状態のセット1への進路を承認しな
いだろう。その結果、図4に示されているように、方法
10のステップ14において確認されるだろう逆方向サ
ーチ状態のセットは、リセット状態のセット1と状態
2、3および5のみを含むだろう。
【0041】方法10のステップ15にしたがって、状
態マシン20の復帰不可能状態のセットは、逆方向サー
チ状態のセットに含まれない順方向サーチ状態のセット
における状態または状態グループを確認することにより
決定される。順方向サーチ状態のセットは、リセット状
態のセット1と状態2−4を含み、逆方向サーチ状態の
セットは、リセット状態のセット1と状態2、3および
5を含むので、状態マシン2における復帰不可能状態の
セットは、状態4のみを含む。
【0042】状態4が、復帰不可能状態として確認され
ると、状態4において機能付与される制約(すなわち、
制約2−4)または状態4で代表される状態グループに
おいて機能付与される制約は、方法10のステップ16
にしたがって解析され、それらが互いに一致しない値割
り当てを定義しているか否かが判定される。制約2と制
約3は、システムモデル入力AおよびBが共に0の値を
有する(したがって、それらは等しい)と仮定するよう
に確認ツールに指示し、制約4は、システムモデル入力
Aがシステムモデル入力Bに等しくないと仮定するよう
に確認ツールに指示しているので、制約2−4は、方法
10のステップ16において、状態グループを代表する
状態4の場合に相互に矛盾しているまたは過剰制約して
いる仮定を定義しているものとして確認されるだろう。
【0043】システム設計者がチェックしたいいずれか
の特性または状態に依存して、相互に矛盾しているかま
たは過剰制約している制約2−4のうちのいずれか1つ
または組み合わせで定義される仮定は、方法10のステ
ップ17にしたがって変更され、その結果、制約は相互
に一致する。たとえば、特定の実施例において、システ
ム設計者が、状態マシン20の状態4のみをサーチした
い場合は、制約4を、システムモデル変数Aがシステム
モデル変数Bに等しいと仮定するように確認ツールに指
示するべく変更することができる。たとえば、制約4
を、表現“IF(state=4)ASSUME(A=
B)"に変更することができる。制約4のこのような変
更は、制約1−4を相互に一致する制約のセットに変え
るだろう。
【0044】相互に一致する制約を用いてプログラムさ
れた確認ツールが、方法20のステップ18にしたがっ
て状態マシン20のサーチを実行した場合、確認ツール
は、状態4から状態5へ遷移するように状態マシン20
の条件を定義する状態遷移30を除く全ての状態遷移を
承認するだろう。したがって、相互に一致する制約のセ
ットは、システム設計者が希望する通りに、状態1−4
で表されるふるまいをチェックまたはサーチするだけを
確認ツールに指示するだろう。
【0045】次に図5を参照すると、図1の方法10に
したがってサーチを実行する装置50の実施例が示され
ている。図示のように、装置50は、プロセッサ52、
サーチエンジン58、メモリ55、制約値アナライザ5
3および値アジャスタ54を含む確認ツール51を有す
る。確認ツール51は、ユーザーインターフェース57
および他の周辺装置56に接続されている。
【0046】確認ツール51は、サーチエンジン58、
プロセッサ52およびメモリ55を用いて、従来のよう
にシステムモデル状態マシンのサーチを実行するように
動作することができる。すなわち、サーチエンジン58
は、従来のように、システムモデル入力に入力を供給
し、それらの入力に応じて状態マシンのふるまいを監視
するように動作することができる。プロセッサ52は、
サーチエンジン58より要求される計算および他の機能
を実行してサーチを実行するように動作するkとができ
る。メモリ55は、サーチエンジンによってシステムモ
デル入力に入力された値を格納し、入力の結果としてシ
ステムモデル変数および/または入力により仮定された
対応する値を格納するように動作可能な従来のランダム
アクセスメモリ(RAM)である。
【0047】また、確認ツール51は、制約値アナライ
ザ53を用いて、所定の復帰不可能状態において機能付
与される各制約で割り当てられる値を比較し、互いに一
致しない(すなわち、相互に矛盾しているかまたは過剰
制約している)値割り当てを定義している制約を確認す
るように動作することができる。特定の実施例におい
て、制約値アナライザ53は、プロセッサ52にアクセ
ス可能なコンピュータプログラムである。
【0048】確認ツール51は、さらに、値アジャスタ
54を用いて、相互に矛盾しているかまたは過剰制約し
ている制約で割り当てられた値を、それらの値割り当て
が相互に一致するように変更する動作が可能である。特
定の実施例において、値アジャスタ54は、プロセッサ
52にアクセス可能なコンピュータプログラムである。
【0049】他の周辺装置56は、たとえば、メモリ5
5に格納された値を印刷するプリンタ、および確認ツー
ル51をたとえばデータベースに接続するモデムを含
む。このデータベー内に、確認ツール51は、サーチエ
ンジン58によるサーチの結果を格納することができ
る。ユーザーインターフェース57は、たとえば、プロ
グラマーに確認ツール51の動作を制御せしめると共に
メモリ55に制約を入力せしめる従来のキーボードおよ
びディスプレイを含む。
【0050】図1に示される方法10のステップを実行
する場合、確認ツール51は、サーチエンジン58を使
用して、システムモデル状態空間の順方向サーチと逆方
向サーチの両方を実行し、上述のように、順方向サーチ
状態のセットと逆方向サーチ状態のセットを確認する。
次いで、プロセッサ52が、逆方向サーチ状態のセット
に含まれない順方向サーチ状態のセットに含まれる状態
または状態グループとして復帰不可能状態のセットを確
認するために使用される。復帰不可能状態のセットが確
認されると、プロセッサ52は、所定の復帰不可能状態
(すなわち、復帰不可能状態として確認される個別の状
態または状態グループ)において機能付与される制約を
確認し、機能付与された制約を制約値アナライザ53に
供給する。制約値アナライザ53は、、一致しない値割
り当てを定義している制約を、所定の復帰不可能状態が
個別の状態である場合には相互に矛盾する制約、また
は、所定の復帰不可能状態が状態グループである場合に
は過剰制約している制約のどちらかとして確認する。相
互の矛盾する制約または過剰制約している制約は、値ア
ジャスタ54に供給される。値アジャスタ54は、それ
らが、互いに一致してる、つまり相互に一致している値
を割り当てるように、制約のうちの少なくとも1つを直
す。次いで、相互に一致する制約は、サーチエンジン5
8に返送される。次いで、サーチエンジン58は、シス
テムモデル状態空間のサーチを実行する。次いで、サー
チの結果が、他の周辺装置56により印刷され、メモリ
55に格納されおよび/またはユーザーインターフェー
ス57により表示される。
【0051】説明を明快にするために、図1および5に
示され、上記に説明された本発明の実施例は、単なる例
示である。したがって、たとえば、図5に示され説明さ
れたブロック図は、ここでは、本発明の原理にしたがっ
てサーチを実行する装置を具体化する回路例の概念図を
表していることが、当業者にはわかるだろう。同様に、
図1に示され説明されたブロック図は、ここでは、本発
明の原理にしたがって展開された相互に一致する制約の
セットを用いてシステムモデル状態空間のサーチを実行
する方法を具体化するステップ例の概念図を表している
ことが、当業者にはわかるだろう。
【0052】この明細書の請求項において、指定された
機能を実行する手段として表現されている構成要素はい
ずれも、たとえば、a)その機能を実行する回路構成要
素の組み合わせ、またはb)その機能を行うソフトウェ
アを実行するのに適する回路と組み合わせられた何らか
の形態のソフトウェア(したがって、ファームウェア、
マイクロコード等を含む)を含む、その機能を実行する
何らかの手段を包含するものである。前記請求項で定義
される本発明は、種々の列挙された手段で提供される機
能が、請求項が要求する仕方で組み合わせられ、まとめ
られているという事実に帰する。したがって、出願人
は、ここに示されたものと同等の機能を提供することが
できる手段は全て重要視している。
【0053】当業者は、ここには明記されてはいない
が、本発明の原理を具体化し、したがってその精神およ
び範囲内にある種々の配置を工夫することができること
がわかるだろう。
【図面の簡単な説明】
【図1】本発明にしたがって展開された、相互に一致す
る制約のセットでプログラムされた確認ツールを用いて
システムモデル状態空間のサーチを実行する方法の実施
の形態のブロック図である。
【図2】図1の方法の適用を示すシステムモデル状態空
間の線図である。
【図3】制約のセットでプログラムされた確認ツール
が、図1に示される方法にしたがって図2に示されるシ
ステムモデル状態空間の順方向サーチを実行する場合に
到達する順方向サーチ状態の線図である。
【図4】制約のセットでプログラムされた確認ツール
が、図1に示される方法にしたがって図2に示されるシ
ステムモデル状態空間の逆方向サーチを実行する場合に
到達する逆方向サーチ状態の線図である。
【図5】図1に示される方法にしたがってサーチを実行
する確認ツールの実施例のブロック図である。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ロバート ポール カーシャン アメリカ合衆国 10014 ニューヨーク, ニューヨーク,ウエスト テンス ストリ ート 256,アパートメント ナンバー5 デー

Claims (22)

    【特許請求の範囲】
  1. 【請求項1】 システムモデルの特性を確認する方法で
    あって、 システムモデルのふるまいを表す状態空間の復帰不可能
    状態において機能付与される制約で定義された仮定を解
    析することにより、相互に一致する制約のセットを展開
    するステップと、 上記相互に一致する制約のセットを用いてプログラムさ
    れた確認ツールを用いて状態空間をサーチするステップ
    とからなり、上記復帰不可能状態は、上記制約を用いて
    プログラムされた確認ツールが上記状態空間をサーチす
    る場合に、そこから状態空間を通ってリセット状態のセ
    ットに向かう進路がない状態である方法。
  2. 【請求項2】 請求項1記載の方法において、前記相互
    に一致する制約のセットを展開するステップは、 前記制約を用いてプログラムされた確認ツールを使用し
    て、順方向サーチ状態のセットを確認するために前記状
    態空間の順方向サーチを実行するステップと、 前記制約を用いてプログラムされた上記確認ツールを使
    用して、逆方向サーチ状態のセットを確認するために前
    記状態空間の逆方向サーチを実行するステップとからな
    り、 上記順方向サーチ状態のセットは、前記確認ツールが各
    状態において入力の全セットを入力することにより到達
    する状態であり、 上記逆方向サーチ状態のセットは、そこから前記確認ツ
    ールが各状態において上記入力の全セットを入力するこ
    とによりリセット状態のセットに到達することができる
    状態であり、 前記復帰不可能状態のセットは、順方向サーチ状態のセ
    ットと逆方向サーチ状態のセットの差異である方法。
  3. 【請求項3】 請求項2記載の方法において、前記相互
    に一致する制約のセットを展開するステップは、さら
    に、復帰不可能状態において機能付与される制約であっ
    て、互いに一致しない仮定を定義する制約を確認するス
    テップを含む方法。
  4. 【請求項4】 請求項3記載の方法において、前記相互
    に一致する制約のセットを展開するステップは、さら
    に、互いに一致しないものとして確認された前記制約で
    定義された仮定を、状態空間の所定の状態において機能
    付与される場合に互いに相互に一致する値割り当てを定
    義するように変更するステップを含む方法。
  5. 【請求項5】 システムモデル状態空間において復帰不
    可能状態のセットを確認するステップであって、上記復
    帰不可能状態のセットは、制約のセットを用いてプログ
    ラムされた確認ツールがリセット状態のセットへの進路
    が無いことを承認する状態であり、上記リセット状態の
    セットは、システムモデルがそこから動作を開始し、か
    つ動作終了後にそこから復帰するように設計された、シ
    ステムモデル状態空間状態における状態であるステップ
    と、 上記確認ツールにおいてプログラムされた上記制約のセ
    ットが互いに一致しないか否かを判定するために、上記
    復帰不可能状態のセットにおいて機能付与される制約を
    解析するステップとからなる方法。
  6. 【請求項6】 請求項5記載の方法において、前記確認
    するステップは、 前記制約を用いてプログラムされた前記確認ツールを使
    用して、順方向サーチ状態のセットを確認するために前
    記システムモデル状態空間の順方向サーチを実行するス
    テップと、 前記制約を用いてプログラムされた前記確認ツールを使
    用して、逆方向サーチ状態のセットを確認するために前
    記システムモデル状態空間の逆方向サーチを実行するス
    テップとを含み、 上記順方向サーチ状態のセットは、前記確認ツールが各
    状態において入力の全セットを入力することにより到達
    する状態であり、 上記逆方向サーチ状態のセットは、前記確認ツールが各
    状態において入力の全セットを入力することによりリセ
    ット状態のセットに到達する状態であり、 前記不可能状態は、上記順方向サーチ状態のセットと上
    記逆方向状態のセットの差異である方法。
  7. 【請求項7】 請求項6記載の方法において、前記解析
    するステップは、前記復帰不可能状態において機能付与
    される制約で割り当てられた値を比較して、上記値が互
    いに一致しているか否かを判定するステップを含む方
    法。
  8. 【請求項8】 請求項7記載の方法において、さらに、 復帰不可能状態において一致しない値を割り当てる制約
    を、一致しない制約のセットとして確認するステップを
    含む方法。
  9. 【請求項9】 請求項8記載の方法において、さらに、 前記制約のセットが相互に一致するように、前記一致し
    ない制約のセットで割り当てられた値を直すステップを
    含む方法。
  10. 【請求項10】 システムモデルのふるまいを表す状態
    空間の復帰不可能状態において機能付与される制約で定
    義された仮定を解析することにより、相互に一致する制
    約のセットを展開する手段であって、前記復帰不可能状
    態は、上記制約を用いてプログラムされた確認ツールが
    上記状態空間をサーチする場合に状態空間を通ってそこ
    からリセット状態のセットに向かう進路がない状態であ
    る手段と、 上記相互に一致する制約を用いてプログラムされ、状態
    空間をサーチする確認ツールとからなる装置。
  11. 【請求項11】 請求項10記載の装置において、前記
    確認ツールは、サーチエンジン、メモリ、制約値アナラ
    イザおよび値アジャスタに接続されたプロセッサからな
    る装置。
  12. 【請求項12】 請求項11記載の装置において、さら
    に、前記確認ツールに接続されたユーザーインターフェ
    ースを含み、上記ユーザーインターフェースは、プログ
    ラマーに確認ツールの動作を制御せしめるコンピュータ
    キーボードおよびディスプレイを含む装置。
  13. 【請求項13】 請求項12記載の装置において、さら
    に、プリンタおよびモデムを含む周辺装置を含み、上記
    プリンタおよび上記モデムは、前記確認ツールに接続さ
    れている装置。
  14. 【請求項14】 請求項13記載の装置において、前記
    確認ツールは、前記システムモデル状態空間の順方向サ
    ーチを実行して、順方向サーチ状態のセットを確認する
    ように動作することができ、上記順方向サーチ状態のセ
    ットは、前記確認ツールが各状態において入力の全セッ
    トを入力することにより到達する状態である装置。
  15. 【請求項15】 請求項14記載の装置において、前記
    確認ツールは、さらに、前記システムモデル状態空間の
    逆方向サーチを実行して、逆方向サーチ状態のセットを
    確認するように動作することができ、前記順方向サーチ
    状態のセットは、前記確認ツールが各状態において入力
    の全セットを入力することにより到達する状態であり、
    それにより、前記復帰不可能状態は、順方向サーチ状態
    のセットと逆方向サーチ状態のセットの差異である装
    置。
  16. 【請求項16】 請求項15記載の装置において、前記
    制約値アナライザは、復帰不可能状態において機能付与
    される制約が、互いに一致しない値を定義しているか否
    かを判定する手段を含み、一致しない値を定義している
    前記制約は、一致しない制約である装置。
  17. 【請求項17】 請求項16記載の装置において、前記
    値アジャスタは、前記一致しない制約で割り当てられた
    値を直して、相互に一致する制約のセットを得る手段を
    含む装置。
  18. 【請求項18】 確認ツールへの制約入力が相互に矛盾
    しているか否かを判定する方法であって、 確認ツールで実行されるサーチ中、システムモデル状態
    空間の復帰不可能状態において機能付与された制約のセ
    ットで割り当てられた値のセットが、互いに一致してい
    ないか否かを判定するステップを含み、上記復帰不可能
    状態は、確認ツールがリセット状態のセットへの進路が
    ないことを承認する状態であり、上記リセット状態のセ
    ットは、システムモデルがそこから動作を開始するよう
    に設計されると共に動作終了後にそこへ復帰するように
    設計された、システムモデル状態空間状態における状態
    である方法。
  19. 【請求項19】 請求項18記載の方法において、前記
    判定するステップは、 前記制約を用いてプログラムされた前記確認ツールを使
    用して、順方向サーチ状態のセットを確認するために前
    記状態空間の順方向サーチを実行するステップと、 前記制約を用いてプログラムされた上記確認ツールを使
    用して、逆方向サーチ状態のセットを確認するために前
    記状態空間の逆方向サーチを実行するステップとからな
    り、 上記順方向サーチ状態のセットは、前記確認ツールが各
    状態において入力の全セットを入力することにより到達
    する状態であり、 上記逆方向サーチ状態のセットは、そこから前記確認ツ
    ールが各状態において上記入力の全セットを入力するこ
    とによりリセット状態のセットに到達する状態であり、 前記復帰不可能状態は、順方向サーチ状態のセットと逆
    方向サーチ状態のセットの差異である方法。
  20. 【請求項20】 請求項19記載の方法において、さら
    に、復帰不可能状態において一致しない値割り当てる制
    約を、相互に矛盾する制約のセットとして確認するステ
    ップを含む方法。
  21. 【請求項21】 請求項20記載の方法において、前記
    相互に矛盾する制約を相互に一致する制約に変えるため
    に、前記一致しない値を直すステップを含む方法。
  22. 【請求項22】 システムモデルの特性を確認する方法
    であって、状態空間の復帰不可能状態において機能付与
    される試験制約で定義される仮定を再定義することによ
    り展開される矛盾していない制約のセットを用いてプロ
    グラムされた確認ツールを使用して、システムモデルの
    ふるまいを表す状態空間をサーチするステップからな
    り、上記復帰不可能状態は、上記試験制約を用いてプロ
    グラムされた確認ツールが上記状態空間をサーチする場
    合に、そこから状態空間を通ってリセット状態のセット
    に向かう進路がない状態である方法。
JP11176159A 1998-06-23 1999-06-23 制約有効性チェック Pending JP2000066919A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/102850 1998-06-23
US09/102,850 US6099575A (en) 1998-06-23 1998-06-23 Constraint validity checking

Publications (1)

Publication Number Publication Date
JP2000066919A true JP2000066919A (ja) 2000-03-03

Family

ID=22291995

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11176159A Pending JP2000066919A (ja) 1998-06-23 1999-06-23 制約有効性チェック

Country Status (3)

Country Link
US (1) US6099575A (ja)
EP (1) EP0969392A2 (ja)
JP (1) JP2000066919A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016085626A (ja) * 2014-10-27 2016-05-19 日本電気株式会社 有限状態機械の設計検証装置、設計検証方法、及び設計検証プログラム

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6311293B1 (en) * 1998-12-14 2001-10-30 Lucent Technologies Inc. Detecting of model errors through simplification of model via state reachability analysis
US6405250B1 (en) * 1999-01-25 2002-06-11 Lucent Technologies Inc. Network management system based on passive monitoring and proactive management for formulation behavior state transition models
JP3848157B2 (ja) * 2001-12-27 2006-11-22 株式会社東芝 Lsi設計検証装置、lsi設計検証方法、及びlsi設計検証プログラム
US7065726B1 (en) * 2003-05-30 2006-06-20 Jasper Design Automation, Inc. System and method for guiding and optimizing formal verification for a circuit design
US7343589B2 (en) * 2003-06-18 2008-03-11 Microsoft Corporation Declarative state space reduction in a transactional messaging language
CN100365638C (zh) * 2004-09-03 2008-01-30 华为技术有限公司 一种电路原理图标准化分析方法及装置
EP1672547A1 (en) * 2004-12-15 2006-06-21 C.R.F. Societa' Consortile per Azioni Event-driven model generated from an ordered natural language interface
DE502005008382D1 (de) * 2005-09-19 2009-12-03 Komax Holding Ag System zum Bearbeiten eines Kabels mit mindestens zwei Werkzeugen
US7945898B1 (en) 2006-03-16 2011-05-17 Avaya Inc. Handling loops in programs and examining feasible software behavior for detecting malicious code
US8195599B2 (en) * 2008-02-21 2012-06-05 Adventium Enterprises Inferring system-level properties
US8219376B2 (en) * 2008-02-27 2012-07-10 International Business Machines Corporation Verification using directives having local variables
US9639450B2 (en) 2015-06-17 2017-05-02 General Electric Company Scalable methods for analyzing formalized requirements and localizing errors

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5163016A (en) * 1990-03-06 1992-11-10 At&T Bell Laboratories Analytical development and verification of control-intensive systems
CA2147536A1 (en) * 1994-06-01 1995-12-02 Gerard Johan Holzmann On-the-fly model checking with partial-order state space reduction
US5768498A (en) * 1996-01-23 1998-06-16 Lucent Technologies Protocol verification using symbolic representations of queues
US5901073A (en) * 1997-06-06 1999-05-04 Lucent Technologies Inc. Method for detecting errors in models through restriction

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016085626A (ja) * 2014-10-27 2016-05-19 日本電気株式会社 有限状態機械の設計検証装置、設計検証方法、及び設計検証プログラム

Also Published As

Publication number Publication date
US6099575A (en) 2000-08-08
EP0969392A2 (en) 2000-01-05

Similar Documents

Publication Publication Date Title
CN110245067B (zh) 安全关键软件自动化基于需求的测试实例生成系统和方法
JP5412510B2 (ja) 1個のソフトウェアの少なくとも一部を検証するためにテストケースを自動的に形成する方法
US5946481A (en) Method for detecting errors in models through restriction
US10025696B2 (en) System and method for equivalence class analysis-based automated requirements-based test case generation
US6141630A (en) System and method for automated design verification
JP4266226B2 (ja) 選択的に有効にされるチェッカーを用いた設計検証システムおよび方法
US6487704B1 (en) System and method for identifying finite state machines and verifying circuit designs
JP2000066919A (ja) 制約有効性チェック
CN103279418B (zh) 一种组态控制信息的测试方法和装置
US6611779B2 (en) Automatic test vector generation method, test method making use of the test vectors as automatically generated, chip manufacturing method and automatic test vector generation program
JP2019091144A (ja) シミュレーション装置、シミュレーションシステム、シミュレーション方法及びシミュレーションプログラム
CN111581101A (zh) 软件模型的测试方法、装置、设备和介质
EP3572945A1 (en) System and method for safety-critical software automated requirements-based test case generation
KR100777103B1 (ko) 테스트 드라이버 생성 장치 및 방법
US12001771B2 (en) Variant model-based compilation for analog simulation
US20050125757A1 (en) Derivation of circuit block constraints
JP2004272830A (ja) ソフトウェア開発支援装置
US11520964B1 (en) Method and system for assertion-based formal verification using unique signature values
JPH07121576A (ja) 故障シミュレーション装置
JPH07253909A (ja) マイクロプログラム検証方法
US12112149B2 (en) Program creation assistance device
CN110321280B (zh) 一种数据处理方法以及相关设备
JP4334278B2 (ja) シーケンシャルシステムを分析する方法及びプログラム
Vitkin et al. Effort estimation in model-based software development
Chandrashekar et al. Model Based Software Development Process For Production Applications.