JP6093663B2 - 検証プログラム、検証装置および検証方法 - Google Patents
検証プログラム、検証装置および検証方法 Download PDFInfo
- Publication number
- JP6093663B2 JP6093663B2 JP2013140976A JP2013140976A JP6093663B2 JP 6093663 B2 JP6093663 B2 JP 6093663B2 JP 2013140976 A JP2013140976 A JP 2013140976A JP 2013140976 A JP2013140976 A JP 2013140976A JP 6093663 B2 JP6093663 B2 JP 6093663B2
- Authority
- JP
- Japan
- Prior art keywords
- proposition
- verification
- commutability
- idempotency
- regarding
- 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.)
- Expired - Fee Related
Links
- 238000012795 verification Methods 0.000 title claims description 169
- 238000000034 method Methods 0.000 title claims description 77
- 230000009467 reduction Effects 0.000 claims description 41
- 230000007717 exclusion Effects 0.000 claims description 34
- 230000006870 function Effects 0.000 claims description 31
- 238000006243 chemical reaction Methods 0.000 claims description 26
- 230000008569 process Effects 0.000 claims description 18
- 230000008094 contradictory effect Effects 0.000 claims description 6
- 238000012545 processing Methods 0.000 description 18
- 238000013507 mapping Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 3
- 101001035237 Homo sapiens Integrin alpha-D Proteins 0.000 description 2
- 102100039904 Integrin alpha-D Human genes 0.000 description 2
- 101100383079 Schizosaccharomyces pombe (strain 972 / ATCC 24843) cdb4 gene Proteins 0.000 description 2
- 238000005401 electroluminescence Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000012552 review Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- -1 BDB3 Proteins 0.000 description 1
- 101100054598 Hordeum vulgare ACL1.2 gene Proteins 0.000 description 1
- 239000002253 acid Substances 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Landscapes
- Debugging And Monitoring (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
Description
このように、システム間連携における検証において、更新トランザクションを検証できないという課題があった。
以下、図面を参照しながら本発明の一実施形態について詳しく説明する。
図1は、本発明の一実施形態に係る検証装置1を用いて検証可能な検証システムS1の構成の一例を示す概略図である。
システム間連携を検証する検証装置1を用いて検証可能な検証システムS1は、第1システムS2と、第2システムS3と、第3システムS4を含んで構成される。第1システムS2と第2システムS3と第3システムS4とは、互いにネットワークN1を介して無線通信または有線通信を行う。第1システムS2は、データベースADB2を有し、第2システムS3は、データベースBDB3を有し、第3システムS4は、データベースCDB4を有する。
検証装置1は、検証システムS1のような複数のシステム間連携において、各システム内の全ての更新トランザクション(手続的なトランザクション)がリトライに対する耐性(冪等性)および更新順序の入れ替わりに対する耐性(可換性)を検証することで、システム間連携における検証を行う。
検証装置1は、取得部11と、変換部12と、命題生成部13と、記憶部14と、処理部15と、出力部16と、入力部17と、を含んで構成される。記憶部14は、検証式記憶部141と、トランザクション記憶部142と、補題記憶部143と、制約条件記憶部144と、を含んで構成される。処理部15は、検証部151と、解決部152と、追加手続要求部153と、を含んで構成される。検証部151は、簡約部1511と、排除部1512と、分岐部1513と、を含んで構成される。解決部152は、同値判定部1521(第1判定部)と、矛盾判定部1522(第2判定部)と、を含んで構成される。
変換部12は、手続的な複数のトランザクション記述を例えば、定理証明支援系言語であるCoqで記述される写像関数に変換し、変換した写像関数を展開および簡約(βι簡約・δ簡約など)をCoqのラムダ計算手段を利用して実施して出力関数を生成する。そして、変換部12は、生成した出力関数を命題生成部13に出力する。
可換性検証式:f(g(x))=g(f(x))
ここで、f、gは、手続的なトランザクションを表し、xは、更新前のデータベース状態を表す。
トランザクション記憶部142は、命題生成部13により生成された命題を記憶する。具体的には、トランザクション記憶部142は、命題生成部13により生成された可換性に関する命題と冪等性に関する命題とを記憶する。
補題記憶部143は、補題を記憶する。ここで、補題とは、補助定理のことであり、一つの定理を検証するために補助として使う定理である。
制約条件記憶部144は、制約条件を記憶する。ここで、制約条件とは、データベース構成の定義とは別に定義され、データベース内のテーブルに対する定義と、一意キー制約と、外部キー制約と、が含まれる。
処理部15は、トランザクション記憶部142から任意の二つの可換性に関する命題を読み出し、当該可換性に関する命題に対し、演算や操作の順序を入れ替えても同じ結果になるか否かを検証する。また、処理部15は、トランザクション記憶部142から任意の一つの冪等性に関する命題を読み出し、当該冪等性に関する命題に対し、一回適用したときと二回適用したときとで同じになるか否かを検証する。
処理部15は、全ての冪等性に関する命題および全ての可換性に関する命題に対して同様に検証する。以下、より詳細に処理部15の処理内容を説明する。
また、検証部151(追加検証ステップ)は、追加手続要求部153から入力された追加の検証手続きと条件分岐ロジックごとの可換性に関する部分命題および条件分岐ロジックごとの冪等性に関する部分命題とに対して可換性および冪等性の検証を繰り返す。
以下、より詳細に、検証部151の処理内容を説明する。
また、簡約部1511は、トランザクション記憶部142から任意の一つの冪等性に関する命題を読み出し、当該冪等性に関する命題を簡約する。簡約部1511は、簡約した冪等性に関する命題を排除部1512に出力する。
また、簡約部1511は、追加手続要求部153から追加の検証手続きと可換性に関する部分命題および条件分岐ロジックごとの冪等性に関する部分命題とが入力されると、冪等性に関する部分命題を簡約する。簡約部1511は、簡約した可換性に関する部分命題を排除部1512に出力する。
また、排除部1512は、簡約部1511から入力された冪等性に関する部分命題のうち、制約条件を満たさない部分命題を当該冪等性に関する部分命題から排除する。排除部1512は、制約条件を満たさない部分命題が排除された冪等性に関する部分命題を分岐部1513に出力する。
また、分岐部1513は、排除部1512から入力された冪等性に関する部分命題に対し、条件分岐ロジックごとに場合分けし、当該場合分けした条件分岐ロジックごとの冪等性に関する部分命題を簡約する。そして、分岐部1513は、簡約した条件分岐ロジックごとの冪等性に関する部分命題を解決部152に出力する。
図示するように、変換部12は、データベース言語、例えばSQL(エスキューエル)により記述された手続的なトランザクション記述SO1を、Coqで記述されるトランザクションを実行する前のデータベース状態からトランザクションを実行した後のデータベース状態に写像する関数である写像関数SO2に変換する。
図示するように、処理部15により検証処理される手続的な複数のトランザクション記述SO5は、手続的なトランザクション記述の種別数をnとすると、冪等性に関する命題PT1はn個であり、可換性に関する命題PT2はn+nC2個であり、例えば手続的なトランザクション記述の種別数n=3とすると冪等性に関する命題PT1は3個であり、可換性に関する命題PT2は3+3C2=6個である。
追加手続要求部153は、解決部152から入力された条件分岐ロジックごとの可換性に関する部分命題および条件分岐ロジックごとの冪等性に関する部分命題を検証エラーSO8としてユーザに提示する。このとき、検証手続要求SO8は、例えば、(**)で記載される3つの検証課題である。入力部17は、当該検証手続要求に含まれる検証課題に対する追加の検証手続の入力を受け付け、解決部152は、当該追加の検証手続と、条件分岐ロジックごとの可換性に関する部分命題および条件分岐ロジックごとの冪等性に関する部分命題と、に対して可換性および冪等性の検証を繰り返す。
ステップST101において、取得部11(取得ステップ)は、第1システムS2から第2システムS3への手続的なトランザクション記述を複数、取得する。取得部11は、取得した手続的な複数のトランザクション記述を変換部12に出力する。
ステップST102において、変換部12(変換ステップ)は、取得部11から入力された手続的な複数のトランザクション記述を定理証明支援系言語であるCoqで記述される写像関数に変換し、変換した写像関数を展開および簡約(βι簡約・δ簡約など)をCoqのラムダ計算手段を利用して実施して出力関数を生成する。そして、変換部12は、生成した出力関数を命題生成部13に出力する。
また、簡約部1511は、追加手続要求部153から追加の検証手続きと可換性に関する部分命題および条件分岐ロジックごとの冪等性に関する部分命題とが入力されると、冪等性に関する部分命題を簡約する。簡約部1511は、簡約した可換性に関する部分命題を排除部1512に出力する。
また、排除部1512は、簡約部1511から入力された冪等性に関する部分命題のうち、制約条件を満たさない部分命題を当該冪等性に関する部分命題から排除する。排除部1512は、制約条件を満たさない部分命題が排除された冪等性に関する部分命題を分岐部1513に出力する。
Claims (7)
- 第1システムと第2システムとのシステム間連携を検証する検証装置のコンピュータに、
前記第1システムから前記第2システムへの手続的な複数のトランザクション記述を取得する取得ステップと、
検証式と前記取得ステップが取得した前記複数のトランザクション記述とに基づいて冪等性に関する命題および可換性に関する命題を生成する命題生成ステップと、
前記命題生成ステップが生成した冪等性に関する命題および可換性に関する命題を検証する検証ステップと、
を実行させるための検証プログラム。 - 前記検証ステップが前記冪等性に関する命題および前記可換性に関する命題を検証するときに検証できない前記冪等性に関する命題および前記可換性に関する命題を提示する提示ステップと、
前記提示ステップが提示した前記冪等性に関する命題および前記可換性に関する命題に対する追加の検証手続を受け付ける入力ステップと、
前記入力ステップが受け付けた前記追加の検証手続に関して検証する追加検証ステップと、
を前記コンピュータに実行させるための請求項1に記載の検証プログラム。 - 前記取得ステップが取得した前記複数のトランザクション記述をそれぞれ関数に変換する変換ステップを前記コンピュータに実行させ、
前記変換ステップが変換した前記関数を冪等性検証式と可換性検証式とに基づいて前記冪等性に関する命題および前記可換性に関する命題を生成するように前記命題生成ステップを前記コンピュータに実行させるための請求項1または請求項2に記載の検証プログラム。 - 前記命題生成ステップが生成した前記冪等性に関する命題および前記可換性に関する命題を簡約する簡約ステップと、
前記簡約ステップが簡約した前記冪等性に関する命題および前記可換性に関する命題のうち、制約条件の場合分けを行い、前記制約条件を満たさない部分命題を排除する排除ステップと、
前記排除ステップが前記部分命題を排除した前記冪等性に関する命題および前記可換性に関する命題に対し条件分岐ロジックごとに場合分けおよび簡約することで冪等性に関する部分命題および可換性に関する部分命題を生成する分岐ステップと、
前記分岐ステップが前記条件分岐ロジックごとに場合分けおよび簡約したそれぞれの前記冪等性に関する部分命題および前記可換性に関する部分命題の右辺と左辺が同形か否かを判定する第1判定ステップと、
前記冪等性に関する部分命題および前記可換性に関する部分命題の場合分け条件が矛盾しているか否かを判定する第2判定ステップと、
を前記コンピュータに実行させ、
前記第1判定ステップが前記右辺と左辺が同形であると判定した場合、および前記第2判定ステップが2つ以上の前記場合分け条件が矛盾していると判定した場合、前記検証ステップが前記冪等性に関する命題および前記可換性に関する命題の検証を終了するように前記検証ステップ
を前記コンピュータに実行させるための請求項1から請求項3のいずれか一項に記載の検証プログラム。 - 前記取得ステップがデータベース言語で記述された前記第1システムから前記第2システムへの前記手続的な複数のトランザクション記述を取得するように前記取得ステップを前記コンピュータに実行させ、
前記取得ステップが取得した前記データベース言語で記述された前記手続的な複数のトランザクション記述を定理証明支援系言語で記述される関数に変換するように変換ステップを前記コンピュータに実行させ、
前記命題生成ステップが前記検証式と前記変換ステップが変換した前記定理証明支援系言語で記述される前記関数とに基づいて前記冪等性に関する命題および前記可換性に関する命題を生成するように、前記命題生成ステップ
を前記コンピュータに実行させるための請求項1から請求項4のいずれか一項に記載の検証プログラム。 - 第1システムと第2システムとのシステム間連携を検証する検証装置であって、
前記第1システムから前記第2システムへの手続的な複数のトランザクション記述を取得する取得部と、
検証式と前記取得部が取得した前記複数のトランザクション記述とに基づいて冪等性に関する命題および可換性に関する命題を生成する命題生成部と、
前記命題生成部が生成した冪等性に関する命題および可換性に関する命題を検証する検証部と、
を備えることを特徴とする検証装置。 - 第1システムと第2システムとのシステム間連携を検証する検証装置の検証方法であって、
前記第1システムから前記第2システムへの手続的な複数のトランザクション記述を取得する取得過程と、
検証式と前記取得過程が取得した前記複数のトランザクション記述とに基づいて冪等性に関する命題および可換性に関する命題を生成する命題生成過程と、
前記命題生成過程が生成した冪等性に関する命題および可換性に関する命題を検証する検証過程と、
を有することを特徴とする検証方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013140976A JP6093663B2 (ja) | 2013-07-04 | 2013-07-04 | 検証プログラム、検証装置および検証方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013140976A JP6093663B2 (ja) | 2013-07-04 | 2013-07-04 | 検証プログラム、検証装置および検証方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015014890A JP2015014890A (ja) | 2015-01-22 |
JP6093663B2 true JP6093663B2 (ja) | 2017-03-08 |
Family
ID=52436589
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013140976A Expired - Fee Related JP6093663B2 (ja) | 2013-07-04 | 2013-07-04 | 検証プログラム、検証装置および検証方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6093663B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112905492B (zh) * | 2021-04-06 | 2024-05-24 | 浙江网商银行股份有限公司 | 验证方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5257016B2 (ja) * | 2008-11-21 | 2013-08-07 | 富士通株式会社 | 更新関数検証プログラム,更新関数検証方法及び情報処理装置 |
JP5568779B2 (ja) * | 2011-05-30 | 2014-08-13 | 株式会社日立製作所 | 論理検証方法及び論理検証システム |
-
2013
- 2013-07-04 JP JP2013140976A patent/JP6093663B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2015014890A (ja) | 2015-01-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Limasset et al. | Read mapping on de Bruijn graphs | |
US10346381B2 (en) | Atomic update operations in a data storage system | |
US10877846B2 (en) | Performing a closure merge operation | |
CN109522363B (zh) | 基于区块链的云平台同步方法、系统、设备及存储介质 | |
CN111078672B (zh) | 数据库的数据对比方法及装置 | |
JP6093663B2 (ja) | 検証プログラム、検証装置および検証方法 | |
KR20220054255A (ko) | 메타데이터 스냅샷 방법 및 장치 | |
US20210333952A1 (en) | User-interface driven creation and distribution of computer applications | |
US20230237066A1 (en) | Data drift handling | |
US20140310248A1 (en) | Verification support program, verification support apparatus, and verification support method | |
WO2020230043A1 (en) | Feature vector feasibilty estimation | |
JP5672521B2 (ja) | コンピュータシステム、およびそのチェックポイントリスタート方法 | |
JP5304972B1 (ja) | 情報処理装置、情報処理方法、及びプログラム | |
CN107526573B (zh) | 采用并行流水线处理遥感图像的方法 | |
US9588998B2 (en) | Protecting storage data during system migration | |
US20160080217A1 (en) | Methods and Systems for Auto-Starting and Auto-Stopping Databases | |
JPWO2018150503A1 (ja) | データ処理方法、分散型データ処理システム及び記憶媒体 | |
JPWO2013018376A1 (ja) | システムパラメータ設定支援システム、システムパラメータ設定支援装置のデータ処理方法、およびプログラム | |
CN110580333A (zh) | 一种数据表处理方法、搜索方法、装置、设备和存储介质 | |
JP5598089B2 (ja) | プログラム、情報処理装置及び情報処理方法 | |
JPWO2015190080A1 (ja) | 関連情報作成装置、関連情報作成方法、及び、関連情報作成プログラム | |
JP5832592B1 (ja) | データ管理装置 | |
US11775371B2 (en) | Remote validation and preview | |
CN114090067A (zh) | 软件组合版本控制方法、控制装置及存储介质 | |
JP2018067218A (ja) | アプリケーション開発支援装置およびアプリケーション開発支援方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160208 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20161216 |
|
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: 20170117 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170213 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6093663 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |