JPH06348485A - 論理型プログラム比較装置 - Google Patents
論理型プログラム比較装置Info
- Publication number
- JPH06348485A JPH06348485A JP7356394A JP7356394A JPH06348485A JP H06348485 A JPH06348485 A JP H06348485A JP 7356394 A JP7356394 A JP 7356394A JP 7356394 A JP7356394 A JP 7356394A JP H06348485 A JPH06348485 A JP H06348485A
- Authority
- JP
- Japan
- Prior art keywords
- program
- comparison
- input
- procedure
- logical
- 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.)
- Granted
Links
Landscapes
- Stored Programmes (AREA)
Abstract
ムについても比較による妥当性検証が可能で、しかも、
このような検証を効率的に実現する、優れた論理型プロ
グラム比較装置を提供する。 【構成】 キーボード1及び入力部4から2つの論理型
プログラムを入力する。変換部5が、前記各論理型プロ
グラムを有限状態機械に基づいた第1及び第2の記述に
変換する。比較部6が、前記各記述間における各状態・
各入力値・各出力値の所定の等価関係に基づいて、全て
の等価な前記状態における全ての等価な前記入力に対し
て、前記各記述が等価な前記出力を生ずるか否かを比較
する。出力部7及び表示装置2を通じて、前記比較の結
果を出力する。
Description
ムの形式で表現された、システム仕様及びその仕様を具
体化した実システムについて、両者を比較することによ
って、実システムの妥当性を検証する装置に関するもの
である。
ェアやソフトウェアを含む各種システムは、一般に、ま
ずその仕様が決定され、この仕様が実システムとして具
体化される。ここで、「仕様」とは、システム設計者が
具体化の際に満足すべきと考える条件を記述したもので
あり、一般に、曖昧さを残さずに記述されるが読みやす
い。一方、この仕様の内容がソフトウェアやハードウェ
ア上に具体化されたものが実システムであり、実システ
ムの設計は、ソフトウェア的構成単位やハードウェア的
構成単位による問題解決の手法が、その詳細に至るまで
完全に表現できるような形式によって行われる。
「検証」とは、実システムを分析し、仕様の全ての部分
が実システムによって満足されているか否かを決定する
ことを意味する。そして、検証は、設計者の意図する所
期の効果を奏するシステムを誤りなく実現する上で、不
可欠な作業である。
ソフトウェア的に具体化する開発過程においても、開発
されつつある実システムが、仕様の全ての部分を充足す
るか否かをできるかぎり確認することが望ましい。この
ような開発過程における検証は、システムの信頼性を向
上させ、作業工程の後戻りを最小限にするために、極め
て効果的である。
実システムは、仕様を満足していると言われ、近年のシ
ステムの大規模・複雑化という現況において、仕様の満
足を確保することは、システム開発での極めて重要な課
題に位置付けられている。
ものが知られており、検証の対象となる要件の種類に応
じて、様々な形式の仕様が設計者によって用いられてい
る。例えば、通信プロトコルのような非同期式システム
については、各イベントのタイミングに基づいて条件を
表現する仕様が適しており、このような目的に対応した
仕様記述言語を用いることが適している。このような言
語の代表的なものは、例えば時相論理である。また、多
くのハードウェアが属する同期式システムについては、
ハードウェア的又はソフトウェア的構成要素を単位と考
え、これら構成要素の入出力の関連に基づいて条件を表
現する仕様が適している。本発明は、入出力に基づいて
システムの妥当性を検証するものであり、後者が主な適
用対象である。
妥当性を、所定の仕様に基づいて検証する手法の一つと
しては、次のようなものが知られている。すなわち、実
システムの内容とその仕様の双方を、有限状態機械(fin
ite state machine(FSM)) に基づいた表現形式(以下、
単に「FSM」という。)に翻訳し、その上でこれら2
つのFSMを比較する手法である。FSMに翻訳すれ
ば、仕様と実システムとの間に生じ得る文法上の相違、
例えば、変数名などの相違が除去されるので、仕様と実
システムの意味内容が共通の表現として提供される結果
となり、両者の比較が容易なものとなる。
て表現することが可能であるが、FSMはしばしば非常
に大規模化する。このため、ブール式による表現は、さ
らに、二分岐決定ダイヤグラム(binary decision diagr
ams(BDDs))によって表される場合もある。この二分岐決
定ダイヤグラムは、FSMの内容を表すのみならず、組
織化されたアルゴリズムの集合を提供するもので、この
アルゴリズムは、大規模なブール式についても高速な処
理を実現できるという利点を有する。
は、FSMが基礎としている2つの有限状態機械が、同
数の状態を有すると仮定することが一般的である。さら
に、2つのFSMの比較を有意義なものとするために、
2つの有限状態機械が受け付ける入力の範囲も同一と仮
定される。
は、有限状態機械の各状態において、2つの有限状態機
械が、同一の入力に対して同一の出力を生成するか否か
を検証する必要がある。この場合、2つの機械はそれぞ
れの初期状態からスタートすることになる。すなわち、
2つの機械のあるカレント(現在の)状態が初期状態と
され、まず、このカレント状態について、2つの機械の
相互に対応する出力が、あり得る全ての入力に対して同
一か否かがチェックされる。この手順は、カレント状態
から直接間接に到達可能な全ての状態に対して繰り返し
実行され、全ての到達可能な状態がチェックされ尽くせ
ば、2つのFSM全体の同一性を判定することができ
る。
なBDDに基づいたFSMモデル同士の比較は、コンピ
ュータ上で非常に迅速に実行することができる。しかし
ながら、この手法で用いられるBDD自体の表現力は必
ずしも豊かなものではなく、また、BDDによる表現
は、各状態によって構成される状態空間内のパターンを
直接利用して作成することができなかった。このため、
いかに緻密なBDD表現を用いることができるか否か
は、ブール式中のパターンを発見するユーザの能力に左
右されざるを得なかった。さらに、BDD表現の効率
は、ブール式中で生じる変数の順序に大きく影響される
が、変数の理想的な順序を決定することも極めて困難で
あった。このため、FSMを用いた従来の手法では、効
率的な妥当性の確認が困難であった。
手法には、厳密に限定されている(finite: 有限な)状
態機械(state machines)の比較しか行えないという欠点
が存在していた。すなわち、実際のシステムの妥当性検
証では、パラメータで表示された仕様や実システムを取
り扱うことが望まれる場合も多い。しかし、そのような
場合は、システムの構成の一部が不特定な変数として残
されているため、従来の手法による検証は困難であっ
た。例えば、スタックを用いる実システムをスタックを
用いる仕様と比較する場合には、スタックの内容の詳細
は不特定なパラメータとして残されていることが考えら
れる。従来の手法では、このような場合の妥当性検証は
困難であった。
を解決するために提案されたもので、その目的は、パラ
メータによる表示を含む論理型プログラムについても比
較による妥当性検証が可能な論理型プログラム比較装置
を提供することである。
規則性にしたがって構成された規範的なFSMを得るこ
とができる論理型プログラム比較装置を提供することで
ある。また、本発明の他の目的は、プログラムに基づい
て各データ型を決定する煩雑な手数を省くことができる
論理型プログラム比較装置を提供することである。ま
た、本発明の他の目的は、より多様な装置の比較が可能
で、また、比較全体を迅速・効率的に行う論理型プログ
ラム比較装置を提供することである。また、本発明の他
の目的は、状態の内部表現が相違する有限状態機械同士
を比較することができる論理型プログラム比較装置を提
供することである。また、本発明の他の目的は、従来の
手法と比べてより高度の抽象が可能な論理型プログラム
比較装置を提供することである。また、本発明の目的
は、検証を効率的に実現する論理型プログラム比較装置
を提供することである。
め、請求項1の論理型プログラム比較装置は、2つの論
理型プログラムを入力する入力手段と、前記各論理型プ
ログラムを有限状態機械に基づいた第1及び第2の記述
に変換する変換手段と、前記各記述間における各状態・
各入力値・各出力値の所定の等価関係に基づいて、全て
の等価な前記状態における全ての等価な前記入力に対し
て、前記各記述が等価な前記出力を生ずるか否かを比較
する比較手段と、前記比較の結果を出力する出力手段
と、を有することを特徴とする。
論理型プログラム比較装置において、前記変換手段は、
前記各プログラムにそれぞれ含まれるデータ型を獲得
し、前記各プログラムを完備形式に変換し、各プログラ
ム中の手続呼出を手続ボディに展開し、これら手続ボデ
ィを一定の変数順序にしたがって順列させ、プログラム
中の各表現を固有のコードによって置き換える事によっ
て前記変換を行うように構成されたことを特徴とする。
論理型プログラム比較装置において、前記変換手段は、
前記各プログラムに静的解析を適用することによって前
記データ型を獲得するように構成されたことを特徴とす
る。
論理型プログラム比較装置において、前記変換手段は、
再帰的手続に係る前記手続ボディを、反復的表現に対す
る再帰的呼出を除いて、有限状態機械に基づいた前記記
述にマッピングするように構成されたことを特徴とす
る。
論理型プログラム比較装置において、前記入力手段は、
前記変換の内容を制限する汎化質問をプログラムの一部
として入力するように構成され、前記変換手段は、前記
汎化質問に基づいて前記変換を行うように構成されたこ
とを特徴とする。
は、各プログラム中の手続呼出を前記のように手続ボデ
ィに展開した後、再帰的手続の手続ボディを、反復的表
現に対する再帰的呼出を除いてFSMにマッピングする
ように構成されたことを特徴とするまた、請求項5の発
明は、請求項1記載の論理型プログラム比較装置におい
て、前記比較手段は、制約解決器を用いて前記比較を行
うように構成され、この制約解決器は、前記各記述にお
いて入力・出力・状態の表す各項に固有の制約変数を割
り当て、相互に対応する前記制約変数間に非等価関係の
連言(論理積)を設定し、一方の前記記述の項の制約変
数における選言(論理和)を並べ換えた各再配列が、他
方の前記記述の前記項に対応する対応項の制約変数に対
して等価のときに、前記再配列及び前記対応項の対応す
る同一位置において生じる各制約変数間に等価関係を設
定し、前記非等価関係の連言及び前記等価関係の連言の
選言を制約として等価性を確認するように構成されたこ
とを特徴とする。
に構成されたことを特徴とする。
論理型プログラム比較装置において、前記各論理型プロ
グラムは、確定節を組み合わせて記述され、各確定節
は、質問、ルール、事実のいずれかであることを特徴と
する。
な作用を有する。すなわち、請求項1の発明では、入力
手段から入力された2つの論理型プログラムが、変換手
段によって有限状態機械に基づいた第1及び第2の記述
に変換される。そして、比較手段が、前記各記述間にお
ける各状態・各入力値・各出力値の所定の等価関係に基
づいて、全ての等価な前記状態における全ての等価な前
記入力に対して、前記各記述が等価な前記出力を生ずる
か否かを比較し、出力手段が前記比較の結果を出力す
る。このように請求項1の発明によれば、等価関係は、
厳密な等価関係である必要はなく、所定の関係であれば
足りるので、パラメータによる表示を含む論理型プログ
ラムの比較による妥当性検証が可能になる。
は、前記各プログラムにそれぞれ含まれるデータ型を獲
得し、前記各プログラムを完備形式に変換し、各プログ
ラム中の手続呼出を手続ボディに展開し、これら手続ボ
ディを一定の変数順序にしたがって順列させ、プログラ
ム中の各表現を固有のコードによって置き換える。この
ように、請求項2の発明によれば、検証に適した規則性
にしたがって構成された規範的なFSMを得ることがで
きるので、FSM同士の比較が容易になる。
は、各プログラムに静的解析を適用することによって前
記各データ型を獲得するので、ユーザは、プログラムに
基づいて各データ型を決定する煩雑な手数を省くことが
できる。
在するパターンを活用できるので、より多様な装置の比
較が可能になり、また、比較全体の速度が向上する。
って比較の対象となる変換内容が制限されるので、比較
を効率的に行うことができる。
は、前記各記述において入力・出力・状態の表す各項に
固有の制約変数を割り当て、相互に対応する前記制約変
数間に非等価関係の連言を設定し、一方の前記記述の項
の制約変数における選言を並べ換えた各再配列が、他方
の前記記述の前記項に対応する対応項の制約変数に対し
て等価のときに、前記再配列及び前記対応項の対応する
同一位置において生じる各制約変数間に等価関係を設定
し、前記非等価関係の連言及び前記等価関係の連言の選
言を制約として等価性を確認する制約解決器を用いて前
記比較を行う。したがって、請求項6の発明では、状態
の内部表現が相違する有限状態機械同士を比較すること
ができる。
って多相性を直接表現できるので、従来の手法と比べ
て、より高度の抽象が可能である。
ム比較装置(以下「本装置」という)について、図面に
従って具体的に説明する。
な従来技術の問題点を解決するために提案されたもの
で、その目的は、パラメータによる表示を含む論理型プ
ログラムについても比較による妥当性検証が可能な論理
型プログラム比較装置を提供することである。
た規則性にしたがって構成された規範的なFSMを得る
ことができる論理型プログラム比較装置を提供すること
である。また、本実施例の他の目的は、プログラムに基
づいて各データ型を決定する煩雑な手数を省くことがで
きる論理型プログラム比較装置を提供することである。
また、本実施例の他の目的は、より多様な装置の比較が
可能で、また、比較全体を迅速・効率的に行う論理型プ
ログラム比較装置を提供することである。また、本実施
例の他の目的は、状態の内部表現が相違する有限状態機
械同士を比較することができる論理型プログラム比較装
置を提供することである。また、本実施例の他の目的
は、従来の手法と比べてより高度の抽象が可能な論理型
プログラム比較装置を提供することである。また、本実
施例の目的は、検証を効率的に実現する論理型プログラ
ム比較装置を提供することである。
れるもので、本装置の各機能は、プログラムとして格納
された所定の手順で前記コンピュータを動作させること
によって実現されている。したがって、以下、本装置の
各機能を有する仮想的回路ブロック(手段)を想定して
本装置を説明する。
PU(中央演算処理装置)と、RAM(随時書込読出型
記憶素子)からなる主記憶装置とを有する。また、前記
コンピュータの規模は自由であり、マイクロコンピュー
タ・パーソナルコンピュータ・スモールコンピュータ・
ワークステーション・メインフレームなど、いかなる規
模のものを用いてもよい。
は、典型的には、キーボードやマウスなどの入力装置
と、ハードディスク装置などの外部記憶装置と、CRT
表示装置やプリンタ印字装置などの出力装置と、必要な
入出力制御回路を含む。
成は自由であり、本発明が実施できる限り、上記の構成
要素の一部を追加・変更・除外してもよい。例えば、本
装置は、複数のコンピュータを接続したコンピュータネ
ットワーク上に実現してもよい。また、CPUの種類は
自由であり、CPUを複数同時に用いたり、単一のCP
Uをタイムシェアリング(時分割)で使用し、複数の処
理を同時平行的に行ってもよい。また、入力装置とし
て、他の装置、例えば、タッチパネル・ライトペン・ト
ラックボールなどのポインティングデバイスや、デジタ
イザ・イメージ読取装置やビデオカメラなどの画像入力
装置・音声識別装置・各種センサを用いてもよい。ま
た、外部記憶装置として、他の装置、例えば、フロッピ
ーディスク装置・RAMカード装置・磁気テープ装置・
光学ディスク装置・光磁気ディスク装置・バブルメモリ
装置・フラッシュメモリなどを用いてもよい。また、出
力装置として、他の装置、例えば、液晶表示装置・プラ
ズマディスプレイ装置・ビデオプロジェクター・LED
表示装置・音響発生回路・音声合成回路を用いてもよ
い。
実現するためのソフトウェアの構成としては、典型的に
は、本装置の各機能を実現するためのアプリケーション
プログラムが、OS(オペレーティングシステム)上で
実行される態様が考えられる。また、本装置を実現する
ためのプログラムの態様としては、典型的には、高級言
語やアセンブラからコンパイル(翻訳)された機械語が
考えられる。但し、前記コンピュータのソフトウェア構
成も自由であり、本発明が実施できる限り、ソフトウェ
ア構成を変更してもよい。例えば、必ずしもOSを用い
る必要はなく、また、プログラムの表現形式も自由であ
り、BASICのようなインタプリタ(逐次解釈実行
型)言語を用いてもよい。
り、ROM(読出し専用メモリ)に格納しておいてもよ
く、また、ハードディスク装置のような外部記憶装置に
格納しておき、コンピュータの起動時や処理の開始時に
主メモリ上にロード(読み込み)してもよい。また、プ
ログラムを複数の部分に分割して外部記憶装置に格納し
ておき、処理内容に応じて必要なモジュールのみを随時
主メモリ上にロード(読み込み)してもよい。さらに、
プログラムの部分ごとに異なった態様で格納してもよ
い。
装置の各機能に対応する概念的なもので、必ずしも特定
のハードウェアやソフトウェア・ルーチンとの1対1対
応関係を意味しない。例えば、同一のハードウェア要素
が、場合によって異なった手段を構成する。また、一つ
の手段が、わずか1命令によって実現される場合もあれ
ば、多数の命令によって実現される場合もある。
プは、その性質に反しない限り、実行順序を変更し、複
数同時に実行し、また、実行ごとに異なった順序で実行
してもよい。このような順序の変更は、例えば、ユーザ
が実行可能な処理を選択するなどメニュー形式のインタ
ーフェース手法によって実現することができる。
きは、本来の情報の入力のみならず、情報の入力と密接
に関連する他の処理を含む。このような処理は、例え
ば、入力内容を確認のため出力装置へ出力(エコーバッ
ク)したり、入力内容の修正・編集である。また、本明
細書における「出力」は、本来の情報の出力のみなら
ず、情報の出力と密接に関連する他の処理を含む。この
ような処理は、例えば、出力すべき範囲の入力や、画面
スクロールの指示である。なお、対話型インタフェース
を用いて入力と出力を一体的操作によって実現してもよ
く、また、このような一体的操作によって「選択」、
「指定」、「特定」など、何らかの出力情報に基づいた
処理に適用し得る。
は、やデータの格納手段は前記コンピュータ上において
いかなる態様で存在してもよい。例えば、データのハー
ドウェア上の所在部分は、主記憶装置・外部記憶装置・
CPUのレジスタやキャッシュメモリなどいかなる部分
でもよい。また、データの保持態様も自由である。例え
ば、データは、ファイル形式で保持されるのみならず、
メモリやディスクなどの記憶装置を物理的アドレスで直
接アクセスすることによって実現してもよい。また、デ
ータの表現形式も自由である。例えば、文字列は、文字
単位のコードで格納しても単語単位のコードで格納して
もよい。また、データは必要とされる一定時間だけ保持
されれば十分で、その後消滅してもよく、保持時間の長
短は自由である。また、辞書データのように当面変更さ
れない情報は、ROMに格納してもよい。
言及は確認的で、言及されない情報の存在を否定するも
のではない。すなわち、本発明の動作では、動作に必要
な一般的な情報、例えば、各種ポインタ、カウンタ、フ
ラグ、パラメータ、バッファなどが適宜用いられる。
に記載がない場合、当該情報を保持している他の部分か
ら獲得される。このような情報の獲得は、例えば、当該
情報を格納している変数やメモリをアクセスすることに
よって実現することができる。なお、情報の消去・抹消
は、当該情報の内容自体を必ずしも記憶領域から現実に
削除せず、消去を表すフラグを設定するなど、情報の意
味付けの変更によって行うことができる。
ているが、本装置の機能の全部又は一部は専用の電子回
路上に実現してもよい。
キーボード1と、表示装置2と、I/O制御回路3と、
キーボード1を通じての論理型プログラムの入力動作を
制御する入力部4とを有する。また、本装置は、各論理
型プログラムをFSMに変換する変換部5(前記変換手
段に相当するもの)と、2つのFSMを比較する比較部
6(前記比較手段に相当するもの)と、表示装置2を通
じての前記比較結果の出力動作を制御する出力部7とを
有する。なお、キーボード1、I/O制御回路3及び入
力部4は前記入力手段を構成し、出力部7、I/O制御
回路3及び表示装置2は前記出力手段を構成している。
ラムの比較は、次のように行われる。
び実システムの内容を、論理型プログラムの形式で本装
置に入力する。なお、論理型プログラムは、一般に、論
理プログラミング言語によって記述され、この論理プロ
グラミング言語は、述語論理などの論理言語体系に基づ
いて構成される。本実施例における論理プログラミング
言語は、次のような述語論理を基礎とするものである。
て定義されるものである。例えば、全体集合における項
tは、変数Vともなり得るし、また、0に関する(0項
の、即ち項目の数が0個の)関数記号f(以下、「定
数」という。)ともなり得るし、さらに、再帰的に構成
される項“f(t1,・・・,tn)”(但しn>0)
ともなり得る。この場合、fはnに関する(n項の、即
ち項目の数がn個の)関数記号であり、t1,・・・,
tnは全体集合に含まれている項である。
を意味するのに用いられる。例えば、定数“0”は、整
数のゼロの意味に用いることができる。また、二分岐関
数記号“node”は、二分岐ツリーにおいて、左に分
岐すればt1、右に分岐すればt2に到達するような、
ノード(t1,t2)を意味するのに用いることができ
る。
関係を表すには、原子論理式を用いる。すなわち、一つ
の原子論理式はnに関する述語記号pであり、n個の引
数をとる。但し、n=0の場合、その原子論理式は命題
と呼ばれ、単に“p”のように記述される。n=0でな
い場合、原子論理式は、t1,・・・,t2を項とすれ
ば、“p(t1,・・・,t2)”のように記述され
る。また、述語論理では、原子論理式A、又は、原子論
理式Aの否定
る。
うな接続子を用いて構成される。
言、選言、含意、限定、一般的量化を表す。例えば、A
がリテラル、Vが変数、F1及びF2が論理式とした場
合、次のようなものも論理式となる。
が「節」と呼ばれる。述語論理で用いられるセンテンス
(一連の文)は、このような節の集合として定義され、
これら節の結合として解釈される。
(Prolog)の変形であり、上記のような論理言語の部分集
合である。すなわち、この部分集合は、上記述語論理の
うち、この部分集合によって記述されるような問題につ
いて、効率的な解決手順が存在するものである。このよ
うな述語論理の部分集合は、「確定節」として知られて
おり、確定節は、次の3つの書式の一つに限定された論
理式である。
連言、□は真の述語(すなわち、恒真である関係)、V
1,・・・,Vnは、HやBにおいて生じる変数であ
る。上記数式4における第1の書式は「質問」と呼ば
れ、第2の書式は「ルール」と呼ばれ、第3の書式3は
「事実」と称されている。
記のような確定節の集合によって構成されたセンテンス
である。そして、論理型プログラムでは、上記の「質
問」がそのプログラムによって解決されるべき課題を表
す。このような課題は、例えば、
ける証明は、すなわち、「Bが真」というような変数B
への代入の存在の証明を意味する。
グ言語を前提とし、プロログ文法に近い表記法によって
論理型プログラムを表す。すなわち、連言接続子はカン
マと共に(カンマを使用して)記述し、選言及び一般的
量化の記号は省略し、節の終りはピリオドで表す。ま
た、変数名は大文字から開始し、述語記号及び関数記号
は小文字又は数字から開始する。さらに、リストに関す
る便宜的表記法として、
1、最後の要素が項t2であるようなリストを表し、ま
た、[t1,・・・,tn]は項のリストt1,・・
・,t2を表す。
を定義する単純な論理型プログラムの一例を図2に示
す。この図では、1行目が「質問」になっており、2行
目から5行目は述語記号“stack”によって表され
る関係を定義している。この定義は再帰的であり、引数
1から5で与えられた複数の値のリストについて、各リ
ストが全て終了するまで所定の操作を繰り返す動作を表
している。なお、各リストにおける繰り返しは、ハード
ウェア・クロックの1サイクルを表し、また、述語記号
“stack”の6つ目の引数は値のスタックを表す。
記号“stackBody”を定義する「事実」であ
り、述語記号“stack”の最初の5つの引数は、ス
タックに転送され又はスタックから転送される一連の値
を示すのに用いられるリストである。そして、述語記号
“stackBody”によって表現される関係は、ス
タック操作を表している。また、定数“nop”はアイ
ドリング・サイクルを意味し、“exec”は実行サイ
クルを意味する。さらに、定数“push”及び“po
p”は、それぞれ、スタックへの要素の積み上げ(プッ
シュ)又はスタックからの要素の取り出し(ポップ)を
起動する命令を表している。
操作が有効であったか無効であったかを知らせる信号と
して用いられる。さらに、述語記号“stackBod
y”の3番目の引数は、プッシュ操作(7行目)におい
てスタックにプッシュされる要素を意味し、4番目の引
数は、正常なポップ操作(8行目)においてスタックか
らポップされる要素を意味する。また、6番目の引数は
操作前のスタックを意味し、7番目の引数は操作実行の
結果であるスタックを意味する。
(1行目)は、当該論理型プログラムが解決しようとす
る問題の論述を表し、具体的には、当該質問における原
子論理式が真になるような出力信号“O”及びエラー信
号“E”の値を決定することを意味している。この例で
は、質問に対して無数の解の候補が存在する。すなわ
ち、t1,t2及びt3が任意の項とした場合、“O”
は値[t1,t2,a,t3]を取ることができ、ま
た、“E”は値[ok,ok,ok,error]を取
ることができる。
子論理式を手続呼出と考えることで得ることができる。
この場合、接続子“←”の左辺に位置し、前記手続呼出
と同じ述語記号及び(多ソート代数にいう)アリティを
有する節の集合が手続定義に相当する。このような質問
の解決では、最初の質問Qから、原子論理式A(但しA
≠□)が選択されて除去され、Q´が残る。その後、手
続呼出とみなされる原子論理式Aは、対応するものが発
見されるまで、手続の連言の節における左辺の原子論理
式と比較される。この比較において、2つの原子論理式
は、両原子論理式中の変数について、両者が等しくなる
ような置換候補が存在するとき、適合するとされる。こ
のような適合対象を求める手続をマッチングという。
A1がAに適合するような節“A1←B”を仮定した場
合、
われ、この質問に上記のようなマッチング処理が再帰的
に適用されれば、質問Qを解決することができる。この
処理は、上記のように新たに発生した中間的質問が、□
のみによって構成された状態に到達したときに終了す
る。質問に対する解は、最初の質問Qに、上記のような
全ての置換候補を適用することによって導かれる。
解決中に、選択されたある質問に適合する節が存在せ
ず、解決に「行き詰まった」場合、バックトラッキング
(後戻り)が開始される。バックトラッキングによれ
ば、「質問」の解決のために、上記のような「適合」の
条件を満たす他の節を探索することができる。なお、こ
の場合、他の節の探索に先立って、上記のような行き詰
まりに至るまでに生成された変数の置換候補は、全て消
去される。
に、最初の質問が、特定の質問に対する論理型プログラ
ム解決システムの答えを求めることを意味している(例
えば、図2における質問は、出力信号O及びエラー信号
Eについて、質問の記述内容を満たすような値を要求し
ている。)。そして、本実施例における検証手続の目的
は、2つの論理型プログラム(すなわち仕様及び実シス
テム)が、あり得る全ての質問に対して同一の動作を提
供するか否かを決定することである。
問がありうるが、仕様記述として意味があるのはその一
部である。例えば、図2に示したようなハードウェアス
タックの記述について、たとえば、出力値およびエラー
信号を与えて、入力信号や制御、モードを逆算するよう
なことは論理型プログラムとしては計算可能だが、仕様
記述としては必要はない。
接表現できるので、従来の手法と比べて、より高度の抽
象が可能である。
り少ない質問の集合についてのみ2つの論理型プログラ
ムを比較すれば、検証所要時間は大幅に短縮することが
できる。そこで、このような少ない質問の集合を、「汎
化質問」という概念によって表現することとする。この
汎化質問は、プログラムの一部として入力され、環境宣
言部及びインターフェイスという2つの部分から構成さ
れる。このうちインターフェイスは、検証対象となる構
成要素における対外入出力ポートを定義する。この場
合、妥当性の検証は、インターフェイスに現れる振る舞
いに関して行われ、当該構成要素における内部構造の詳
細は重要でないものとして無視することができる。ま
た、環境宣言部は、検証対象となる構成要素において、
通常の動作において現れる得る入力値の集合を特定する
役割を果たす。
の補助に必要ないくつかの追加的な節と共に示してい
る。最初の4つのアトム(記述単位)は、汎化質問の環
境宣言部を構成している。これらのアトムは、プログラ
ム実行中にスタックへの入力が持ち得る値のデータ型を
定義している。また、汎化質問の5番目のアトムは、イ
ンターフェイスを定義しており、この例におけるインタ
ーフェイスは、スタックへのインターフェイスによって
構成されている。
的解析によって、論理型プログラム実行中における変数
のデータ型が決定される(参考文献:MauriceBruynoogh
e and Gerda Janssens. An instance of abstract inte
rpretation integrating type and mode inferencing.
In The MIT Press, editor, Logic Programming: Fifth
International Conference and Symposium, pp. 669-6
83. IEEE, August 1988.)。すなわち、静的解析によれ
ば、各種最適化に有用な情報を提供できるので、本実施
例では、ユーザに必要な情報を問い合わせることなく、
静的解析を用いている。
タ型は、論理型プログラムで用いられる変数がプログラ
ム実行中に値として取り得る項の集合を表現したもので
ある。すなわち、データ型は、“τ→{u1,・・・,
un}”のような書式規則の集合によって定義される。
ここで、τはデータ型を意味するデータ型変数であり、
u1,・・・,unはデータ型の項である。データ型の
項は、原則的には通常の論理項と同様に構成されるが、
変数としては、通常の論理変数の代りにデータ型変数が
用いられる。また、あり得る全ての項を表す特殊なデー
タ型は“Φ”と表され、この場合、どのデータ型τにつ
いても次の関係が成立する。
と、その結果として図4に示すようなデータ型規則集合
が得られる。また、実行中の変数のデータ型は図5及び
6に示すような内容となる。このうち図5は手続の入口
(エントリ)におけるデータ型であり、図6は手続の出
口におけるデータ型である。なお、汎化質問の環境宣言
部におけるこれら呼出の型は、静的解析に続く以下の手
順においては無視され、参照されることはない。これら
の解析結果は、論理型プログラムのFSMへの変換にお
いて用いられる。
基準となる)規範的FSMに変換される。ここで、図7
は、FSMの基礎となる有限状態機械の全体構成を示す
概念図であり、入力ポートI、出力ポートO、遷移関数
f及び状態レジスタRを示している。すなわち、FSM
では、遷移関数fが、現在の状態S及び現在における入
力ポートIからの入力を取得し、出力ポートOからの出
力及び次の状態NSを演算する。そして、状態レジスタ
Rは、現在のサイクル実行中は次の状態NSを格納し、
この次の状態NSは次のサイクルにおける状態として用
いられる。
表現において用いることによって、2つのFSMの比較
における問題が単純化なものとなる。すなわち、fs及
びfiをそれぞれ仕様及び実システムに対応する遷移関
数とし、fs及びfiが共に規範的(FSM)形式で表
されているとする。このとき、あり得る全ての入力I及
び現在の状態Sに対してfs(I,S)=fi(I,
S)ならば、fsの規範的形式はfiの規範的形式と同
一と考えることができる。
M形式に変換するには、論理型プログラムの表記法に内
在する構造を除去するため、いくつかのステップが必要
である。最初のステップでは、論理型プログラムにおけ
る「節」という構造の一部を除去するため、手続を定義
する複数の節を、完備形式として知られる単一の節に合
成する。ここで、n項のある述語記号pに関する手続定
義がm個の節:
は、まず、新たな変数Vi(但しi=1・・・n)が生
成される。これらの変数と項tji(但しi=1・・・
n,j=1・・・m)を用いて、新たな原理論理式Vi
=tjiが各i=1・・・n,j=1・・・mについて
生成される。なお、ここで、tjiは前記m個の節のn
パラメータであり、また、“=”は等価関係を表す項
で、「t1とt2が一致するとき、およびそのときにか
ぎり原子論理式“t1=t2”は真である。」というこ
とを表す。前記の各節のうち、これらの原子論理式とボ
ディBj(但しj=1・・m)を用いて、pの完備形式
が次のような形式となる。
返される。図8は、図2のスタックプログラムに基づい
た完備形式である。
れ、このステップによって、呼出は手続ボディによって
置き換えられる。この置換えは、「展開」として知ら
れ、この展開では、手続ボディ内の変数は呼出引数によ
って置き換えられ、また、手続に対してローカルな変数
に対しては、識別性が保たれるように適当な名称変更が
施される。
が一つの問題となる。すなわち、再帰的手続は、実行
中、呼出結果を最終的にその再帰的手続自体に戻すよう
な呼出を含む手続である。例えば、図2の手続“sta
ck”はその5行目に呼出を有しているが、この呼出
は、この呼出自身が含まれている手続自体に対する(直
接の)再帰的呼出である。
ログラムは最終的に、非再帰的手続への呼出がもはや残
らないものになる。そして、再帰的手続呼出の処理に際
して、どの再帰的呼出を手続ボディによって連続的に展
開した場合に、処理終結が導かれるかを決定するには、
次のような手法が用いられる(参考文献:M.Bruynooghe
et Danny De Schreye and Bern Martens. A general c
riterion for avoiding infinite unfolding during pa
rtial evaluation. New Generation Computing, pp. 47
-79, November 1992.)。すなわち、ここでは、どの再帰
的呼出が数量的にある程度“小さい”二次的再帰的呼出
を常に生じるかが検出され、それによって、最終的に
は、サイズがゼロの呼出、換言すれば、再帰的手続への
他の呼出を生じない呼出を、結果的に得ることができ
る。
他の一例であり、ここでは、スタックにプッシュされ得
る要素の数が3つに制限されている。期待される実行モ
ードでは、関係“len”は、最初の引数で与えられた
リストの長さを算出し、それを2番目の引数に戻すこと
を意味している。ここでは、挿入辞的に(インフィック
ス記法/中置表記法で)表記される“<”や“is”が
意味する関係は、システムに組み込みのものと想定す
る。なお、“<”が意味する関係は、2つの引数が整数
であり、かつ、最初のものが2番目のものよりも厳密な
意味で小さいときに真となる関係である。また、期待さ
れる実行モードでは、関係“is”はその右側の式の値
を求め、その結果を述語記号“is”の左側の変数に代
入するものとして働く。
素が3つ入っている)スタックプログラムの完備形式を
示しており、図11は、当該プログラムの平坦化された
ものである。なお、再帰的手続“len”に対する呼出
は拡張されているが、これは、その2番目の引数が、常
に3という上限を有するからである。
手続の呼出のみが残ることとなる。再帰的手続のマッピ
ングは、再帰的手続の手続ボディを、次のような反復的
表現に対する再帰的呼出を除いてFSMにマッピングす
ることによって行われる。
一組の引数の左側及び右側の要素を返す関数である。数
式11に示したような繰り返し形式(fsm)は、次の
ような初期状態に加え、一連の入力値から一連の出力値
を生成する再帰的手続と等価である。
及びrはマッチングを通じて実現されている。
スト及び出力リストは、遅延評価と同様の手法で一時的
な変数領域で処理される変数の順序を示す。このため、
リスト全体を格納するためにメモリを要することはな
い。しかし、前記fsmの3番目の引数は、入力リスト
及び出力リストにおけるリストの位置が前進したり、現
在状態Riが次の状態Ri+1 によって上書きされるとき
における空回り状態を回避するために、ストレージ・レ
ジスタを包含する(表している)。
出は、上記手続fsmと構造が同一のパターンを発見す
るために解析される。すなわち、再帰的呼出のエントリ
型(入口の型)及び出口型(出口の型)の解析によっ
て、つまり、呼出しの入口点と出口点の型を解析するこ
とで、どの引数が、一時的変数領域で処理され得る列型
を意味するかが決定される。この列型は次のような書式
となる。
リストの要素型を意味する型変数、f0は任意の定数、
f1は任意の2引数の関数記号である。例えば、リスト
表記
力リストとに区分される。ここで、呼出の引数のエント
リ型(例えば図5)がΦ型を含まない列型(すなわち基
底型)の場合、引数は入力リストである。エントリ型
が、Φ型と等しい場合も、要素型τeがΦ型である列型
と等しい場合も、引数は出力リストである。また、入力
リスト又は出力リストのいずれでもない引数は、状態レ
ジスタに区分される。そして、1つ以上の入力リスト及
び1つ以上の出力リストを有する再帰的手続は、上記再
帰的手続fsmで説明したようなFSM形式に直接対応
する。
FSM形式に変換するプロセスが必要なため、いくつか
の制限が存在する。すなわち、fsmで説明したFSM
形式にマッピングできないような再帰的手続を含むプロ
グラムは、取り扱うことができない。また、機械は有限
状態でなければならず、さらに、状態の表現は有限でな
ければならないため、さらなる制約が状態レジスタの表
現に適用される。なお、任意の論理型プログラムを比較
する場合の問題は予測不能であるため、その内容に応じ
ていくつかの制約が生じ得る。
ムは、1以上のFSMの連携から構成される。因みに、
図10の完備形式は、fsmで説明した書式に直接マッ
プされるので、このような制約を満足することとなる。
また、小さなFSMの連鎖によって構成されるプログラ
ムでは、小さなFSMの状態表現の全てを連鎖させるこ
とによって全体の状態表現を構成し、大きな単一のFS
Mが構築することができる。このような場合、全体とし
ての遷移関数も、小さなFSMの遷移関数の連鎖として
構成される。以上の結果、入力リスト引数(すなわち
I)、出力リスト引数(すなわちO)及び単一の状態レ
ジスタ引数(すなわちR)を有する単一の再帰節が得ら
れる。
導かれた“H←B”という形式の新たな手続である。こ
の遷移関数のボディBは、単一の再帰節のボディから、
リスト関連処理と同様に再帰的呼出を除去した結果得ら
れる表現である。Hの引数は、再帰節の列型から状態及
び次状態変数と組み合わせて抽出された個々の入出力要
素である。すなわち、Hの引数は、列型から選択された
入出力要素に対応するものと、状態及び次状態変数と、
を含む。
選択の対象となるリスト上の位置に対応するように、注
意深く整えられる。すなわち、状態及び次状態の引数
は、常に、遷移関数の最後から2つの引数位置に配置さ
れる。完備形式は、遷移関数を表す手続が、原子論理式
中において接続子“←”の左側にのみ変数を有すること
が確実となるように適用される。
移関数を示す図である。ここでは、関数が仕様FSMの
遷移関数であることを表示するのに、述語記号“spe
c”が用いられている。
べ変えると、規範に近い決定木と呼ばれる記述が得られ
る。
とした場合、各原子論理式“t=V”を原子論理式“V
=t”に並べ変える。
ず、また、Vinを入力変数とした場合、“Vin=V
1”のような形式の原子論理式を除去する。このステッ
プによって、無意味な比較を回避することができる。
する。ここで、比較は、Vinが入力変数又は現在状態
変数で、tが任意の項の場合において、“Vin=t”
という形式の原子論理式である。また、代入は、Vのエ
ントリ型がΦの場合において、“V=t”という形式の
原子論理式である。
l−1を、遷移関数への引数として現れる順序の入力変
数とし、また、Vlを現在状態変数とする。また、{V
i=ti1,・・・,Vi=tin}をViにおける一
般的な比較の集合とする。このとき、遷移関数の手続ボ
ディは、図13に示すような形式に再構築される。この
図13において、ノードは入力及び状態変数Vi(但し
i=1・・l)を表し、項ti1,・・・,tinがラ
ベルとなっているノードViからのエッジは、選言の接
続子V(OR)で接続されているように、二者択一の比
較Vi=tij(但しj=1・・n)を表している。こ
のツリーにおける(いわば)葉は、出力変数への代入が
順列し及び冒頭に配置されるように配置換えされた入力
及び状態変数、との比較を必要としない表現である。こ
の表現には、次状態変数に値を代入する表現が続く。
・,Vl−1は、一定で、この変数順序によれば、前記
比較の集合{Vi=ti1,・・・,Vi=tin}を
並べ換えることによって、表現は規範的表現に近いもの
となる。なぜならば、いかなる等価な有限状態機械も、
同一の入力を与えられた場合、同様な順序の比較を有す
るからである。図14は、このようにボディを決定木に
並べ換えた後の遷移関数を示す図である。
場合、tが状態型における複数の項に適合する場合にお
ける“Vs=t”という形式の比較は、節の平坦化に類
似した処理を用いることによって平坦化され、遷移関数
で生じる全ての項が独特の項を生じることとなる。図1
5は、このようなスタック状態の平坦化の結果を示す図
である。
じる状態の各項tをペアi:<V1,・・・,Vn>に
変換することによって実現される。なお、ここで、iは
固有の整数であり、<V1,・・・,Vn>は、多相変
数のベクトルである。この場合、変数V1,・・・,V
nを含み、これら各変数がそれぞれエントリ型及び出口
型Φを有する項tについては、変数V1,・・・,Vn
はFSMの多相パラメータを表す。また、ベクトル<V
1,・・・,Vn>は、tの変数のリストによって構築
され、このリストによる構築は、あらかじめ定められた
順列規則(典型的には深さ優先で、左から右向きの順
列)にしたがって行われる。これらベクトルは、全ての
ベクトルが等しい長さになるように、固有の変数と共に
右詰めで配置される。整数iのペアに代入される内容
は、多相変数の改名によって、状態型の項を検出し、各
項に固有の整数を代入することによって決定される。な
お、図16は前記スタックの例における遷移関数の最終
的な規範的形式を示す。
失敗がユーザに報知される。
6に転送され、比較部6が両FSMの等価性を検証す
る。2つのFSMが等価であることを検証するには、ま
ず、各機械の入力、出力及び状態の表現を符号化したも
のの間で、各遷移関数が等しいという等価関係が確認さ
れなければならない。
れぞれ、両機械間における入力、出力及び状態の表現の
等価関係とする。この場合、例えば、等価関係Eiは、
ペア(t1,t2)の集合であり、この場合におけるt
1は、第1のFSMにおける入力型の要素たる項であ
る。また、t2は、第2のFSMにおける入力型の要素
たる項である。等価関係Eo及びEsにおいても同様で
ある。
はいずれも、実行時間短縮のためユーザが入力してもよ
いし、また、等価関係Esと共に算出されてもよい。
のFSM及び第2のFSMにおける遷移関数とし、f´
2を、f2の各入力、出力及び状態の項をそれぞれ、E
i、Eo及びEsに含まれるペアの該当要素で置き換え
た関数とすると、2つの有限状態機械はf1=f´2の
とき等価である。
Ei、Eo及びEsを求めるには、制約解決器が用いら
れる。ここで、制約とは、型のとり得る値に対してその
部分集合を規定する条件である。そして、この場合の制
約は、非等価関係の連言のみならず、制約変数における
等価関係の連言の選言から構成される。
各入力、出力及び状態の項に対して、固有の制約変数が
生成される。なお、非等価関係は、ある一つの機械にお
いて、2つの等しい入力項の不存在、2つの等しい出力
項の不存在、及び、等しい2つの状態値の不存在を、条
件として指定する。これは、次のように表される。
k=0・・・q)及びs1l(但しl=0・・r)は、
第1のFSMに基づいた制約変数であり、それぞれ、入
力型、出力型及び状態型を表している。同様のルール
は、FSM2のi2 j、o2k、s2lについても生成
される。
合計(和))は、全ての可能なf1の再配列f1 1,f
1 2,・・・,f1 nを得ることによって生成される。
このようなf1の再配列は、選言における表現を変換す
ることによって得られる。すなわち、
討され、それによって、両者が構造的に同一か(すなわ
ち、両者の決定木が構造的に同一か)否かが決定され
る。両者が構造的に同一の場合、連言が等価“V1=V
2”の間に配列される。ここで、V1は項t1の制約変
数、V2はt2の制約変数であり、また、t1は第1の
FSMの一つの入力(、出力、状態)項であって、前記
検討中に第2のFSMの項t2に適合したものである。
選言は、構造的に同一のペアの各連言に基づいて形成さ
れる。
及び第2のFSMの間における等価性が判定され、その
判定結果が出力部7を通じ、表示装置2に表示される。
なお、図17は、以上の論理型プログラム比較手順の大
まかな流れを示すフローチャートである。
価関係は、厳密な等価関係である必要はなく、所定の関
係であれば足りるので、パラメータによる表示を含む論
理型プログラムの比較による妥当性検証が可能になる。
また、本実施例では、検証に適した規則性にしたがって
構成された規範的なFSMを得ることができるので、F
SM同士の比較が容易になる。また、本実施例では、汎
化質問によって比較内容が制限されるので、比較を効率
的に行うことができる。また、本実施例では、変換部5
が、各プログラムに静的解析を適用することによって前
記データ型を獲得するので、ユーザは、プログラムに基
づいてデータ型を決定する煩雑な手数を省くことができ
る。
決器を用いて前記比較を行うので、状態の内部表現が相
違する有限状態機械同士を比較することができる。この
ため、本実施例によれば、ユーザは、比較対象となる各
有限状態機械の各状態表現から対応関係を発見する煩雑
な手順から解放される。さらに、本実施例は、パラメト
リック多相変数を用いて表現された状態を有する有限状
態機械(すなわち、パラメトリックに(パラメータを用
いて)表現された状態を含む有限状態機械)同士の比較
が可能になるという利点を有する。
パターンを活用できるので、より多様な装置の比較が可
能になり、また、比較全体の速度が向上する。また、本
実施例では、多相性が、汎化された機械を比較できる有
力な機構を提供したが、これは、多相性の各事例(要
素)を、状態空間における単一のパターンとして取り扱
うことによって実現されたものである。
次のような他の実施例をも包含するものである。例え
ば、上記実施例では、データ型に関する情報は静的解析
によって得られるが、このような情報は、他の解析手法
や手入力など静的解析以外の手段によって獲得してもよ
い。また、汎化質問に示される情報についても手入力に
よって獲得するか、又はなんらかの解析手法によって獲
得するかは自由である。
ータによる表示を含む論理型プログラムについても比較
による妥当性検証が可能で、しかも、このような検証を
効率的に実現する、優れた論理型プログラム比較装置を
提供することができる。
ブロック図。
論理型プログラムの一例の内容を示す図。
プログラムに由来する型規則の集合を示す図。
における変数型の内容を示す図。
ける変数型の内容を示す図。
内容を示す図。
ムの他の一例であって、スタックの深さが3に制限され
ているもの。
を示す図。
容を示す図。
れた遷移関数の内容を示す図。
示す図。
化されたものの内容を示す図。
及び変数のペアに変換されたものの内容を示す図。
較手順の大まかな流れを示すフローチャート。
Claims (7)
- 【請求項1】 2つの論理型プログラムを入力する入力
手段と、 前記各論理型プログラムを有限状態機械に基づいた第1
及び第2の記述に変換する変換手段と、 前記各記述間における各状態・各入力値・各出力値の所
定の等価関係に基づいて、全ての等価な前記状態におけ
る全ての等価な前記入力に対して、前記各記述が等価な
前記出力を生ずるか否かを比較する比較手段と、 前記比較の結果を出力する出力手段と、を有することを
特徴とする論理型プログラム比較装置。 - 【請求項2】 前記変換手段は、 前記各プログラムにそれぞれ含まれるデータ型を獲得
し、 前記各プログラムを完備形式に変換し、 各プログラム中の手続呼出を手続ボディに展開し、 これら手続ボディを一定の変数順序にしたがって順列さ
せ、 プログラム中の各表現を固有のコードによって置き換え
ることによって前記変換を行うように構成されたことを
特徴とする請求項1記載の論理型プログラム比較装置。 - 【請求項3】 前記変換手段は、前記各プログラムに静
的解析を適用することによって前記データ型を獲得する
ように構成されたことを特徴とする請求項2記載の論理
型プログラム比較装置。 - 【請求項4】 前記変換手段は、再帰的手続に係る前記
手続ボディを、反復的表現に対する再帰的呼出を除い
て、有限状態機械に基づいた前記記述にマッピングする
ように構成されたことを特徴とする請求項2記載の論理
型プログラム比較装置。 - 【請求項5】 前記入力手段は、前記変換の内容を制限
する汎化質問をプログラムの一部として入力するように
構成され、 前記変換手段は、前記汎化質問に基づいて前記変換を行
うように構成されたことを特徴とする請求項1記載の論
理型プログラム比較装置。 - 【請求項6】 前記比較手段は、制約解決器を用いて前
記比較を行うように構成され、 この制約解決器は、 前記各記述において入力・出力・状態の表す各項に固有
の制約変数を割り当て、 相互に対応する前記制約変数間に非等価関係の連言を設
定し、 一方の前記記述の項の制約変数における選言を並べ換え
た各再配列が、他方の前記記述の前記項に対応する対応
項の制約変数に対して等価のときに、前記再配列及び前
記対応項の対応する同一位置において生じる各制約変数
間に等価関係を設定し、 前記非等価関係の連言及び前記等価関係の連言の選言を
制約として等価性を確認するように構成されたことを特
徴とする請求項1記載の論理型プログラム比較装置。 - 【請求項7】 前記各論理型プログラムは、確定節を組
み合わせて記述され、各確定節は、質問、ルール、事実
のいずれかであることを特徴とする請求項1記載の論理
型プログラム比較装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP07356394A JP3582849B2 (ja) | 1993-04-12 | 1994-04-12 | 論理型プログラム検証方法 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5-84450 | 1993-04-12 | ||
JP8445093 | 1993-04-12 | ||
JP07356394A JP3582849B2 (ja) | 1993-04-12 | 1994-04-12 | 論理型プログラム検証方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH06348485A true JPH06348485A (ja) | 1994-12-22 |
JP3582849B2 JP3582849B2 (ja) | 2004-10-27 |
Family
ID=26414707
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP07356394A Expired - Fee Related JP3582849B2 (ja) | 1993-04-12 | 1994-04-12 | 論理型プログラム検証方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3582849B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008070294A (ja) * | 2006-09-15 | 2008-03-27 | Yokogawa Electric Corp | Icテスタ用デバッグ支援方法 |
-
1994
- 1994-04-12 JP JP07356394A patent/JP3582849B2/ja not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008070294A (ja) * | 2006-09-15 | 2008-03-27 | Yokogawa Electric Corp | Icテスタ用デバッグ支援方法 |
Also Published As
Publication number | Publication date |
---|---|
JP3582849B2 (ja) | 2004-10-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5481717A (en) | Logic program comparison method for verifying a computer program in relation to a system specification | |
Burns | Performance analysis and optimization of asynchronous circuits | |
Barbacci | Instruction set processor specifications (ISPS): The notation and its applications | |
Sudkamp | Languages and machines: an introduction to the theory of computer science | |
Boulton et al. | Experience with embedding hardware description languages in HOL. | |
US7653520B2 (en) | Method for combining decision procedures with satisfiability solvers | |
Bloem et al. | Efficient decision procedures for model checking of linear time logic properties | |
JPH11219378A (ja) | 分解及び分割によるハードウェアの検証並びに表現方法 | |
Spies et al. | Transfinite Iris: resolving an existential dilemma of step-indexed separation logic | |
Huang et al. | AQUILA: An equivalence checking system for large sequential designs | |
US6920583B1 (en) | System and method for compiling temporal expressions | |
JPH10105551A (ja) | プロセッサを用いて第1グラフの単一化の一部として第1節と第2節を結合する方法 | |
Ganesh | Decision procedures for bit-vectors, arrays and integers | |
KR20220017993A (ko) | 플랫 넷리스트로부터 동작 디자인 복구 | |
JP3582849B2 (ja) | 論理型プログラム検証方法 | |
Van Tassel | An operational semantics for a subset of VHDL | |
US11507719B1 (en) | Accelerating formal property verification across design versions using sequential equivalence checking | |
Mishchenko et al. | New functionalities of the system for processing natural language specifications and its operating environment | |
Bogdanov et al. | X-machine specification and refinement of digital devices | |
Umamageswaran et al. | Formal semantics and proof techniques for optimizing VHDL models | |
Read | Formal Methods for VLSI Design | |
JP2990882B2 (ja) | 機能シミュレーション装置 | |
Harris et al. | Generation of Verification Artifacts from Natural Language Descriptions | |
Cubert et al. | Modeling the simulation execution process with digital objects | |
Cyre et al. | A rapid modeling tool for virtual prototypes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Effective date: 20040406 Free format text: JAPANESE INTERMEDIATE CODE: A131 |
|
A521 | Written amendment |
Effective date: 20040528 Free format text: JAPANESE INTERMEDIATE CODE: A523 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20040720 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040727 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Year of fee payment: 3 Free format text: PAYMENT UNTIL: 20070806 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Year of fee payment: 4 Free format text: PAYMENT UNTIL: 20080806 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Year of fee payment: 5 Free format text: PAYMENT UNTIL: 20090806 |
|
LAPS | Cancellation because of no payment of annual fees |