JP2020030490A - モデル検査用スクリプト変換プログラム、モデル検査プログラム、モデル検査用スクリプト変換装置及びモデル検査装置 - Google Patents
モデル検査用スクリプト変換プログラム、モデル検査プログラム、モデル検査用スクリプト変換装置及びモデル検査装置 Download PDFInfo
- Publication number
- JP2020030490A JP2020030490A JP2018154268A JP2018154268A JP2020030490A JP 2020030490 A JP2020030490 A JP 2020030490A JP 2018154268 A JP2018154268 A JP 2018154268A JP 2018154268 A JP2018154268 A JP 2018154268A JP 2020030490 A JP2020030490 A JP 2020030490A
- Authority
- JP
- Japan
- Prior art keywords
- node
- variable
- script
- output
- model
- 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
- 238000013515 script Methods 0.000 title claims abstract description 112
- 238000007689 inspection Methods 0.000 title claims abstract description 30
- 238000006243 chemical reaction Methods 0.000 title claims description 24
- 230000007704 transition Effects 0.000 claims abstract description 85
- 230000000007 visual effect Effects 0.000 claims abstract description 33
- 238000000034 method Methods 0.000 claims description 44
- 230000008569 process Effects 0.000 claims description 34
- 230000000694 effects Effects 0.000 claims description 13
- 238000012360 testing method Methods 0.000 claims description 10
- 230000006870 function Effects 0.000 description 31
- 238000012545 processing Methods 0.000 description 23
- 238000010586 diagram Methods 0.000 description 18
- 238000004891 communication Methods 0.000 description 5
- 230000000670 limiting effect Effects 0.000 description 5
- 238000003860 storage Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000007812 deficiency Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000004880 explosion Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 231100000957 no side effect Toxicity 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
Description
以下において、本発明の一実施形態に係るモデル検査装置について説明を行う。図1は、本発明に係るモデル検査装置の構成の例を示すブロック図である。図1に示すように、モデル検査装置10は、対象データ取得部11と、事後条件設定部12と、検査範囲指定部13と、スクリプト変換部14と、モデル検査実行部15と、検査結果出力部16とを少なくとも備える。
次に、スクリプト変換処理の具体的な内容について説明を行う。図5は、ビジュアルスクリプト記法によるノード構成の一例を表した説明図である。この図5に基づいて、変数宣言処理について説明する。図5には、Node1、Node2、Node3の3つのノードが存在し、それぞれのノードにおいて入力変数と出力変数を宣言する。具体的には、
Node1 について、入力変数N1In と、出力変数N1Out を宣言
Node2 について、入力変数N2In と、出力変数N2Out を宣言
Node3 について、入力変数N3In と、出力変数N3Out を宣言
という宣言を実行することで、各ノードについての変数宣言処理が完了する。
N1In:{none, In1, In2}
N1Out:{none, Out3, Out4}
N2In:{none, In5, In6}
N2Out:{none, Out7, Out8}
N3In:{none, In1, In2}
N3Out:{none, Out3, Out4}
入出力変数の値は、ノード内でどのポートがアクティブであるかを示すことになる。
モデルのノードの入力変数の値は、ノードがどこから入力信号を受信したかを表す。次に、入力変数の遷移関係の定義は、ノードグラフのエッジ接続に従って定義される。図5におけるエッジ接続を定義すると、以下のようになります。
・Node1 の出力変数(N1Out)がOut3 の場合、Node2の入力変数(N2In)は次の状態でIn5 になる。
・Node3 の出力変数(N3Out)がOut4 の場合、Node2の入力変数(N2In)は次の状態でIn6 になる。
図6は、Node2の入力変数(N2In)について入力変数定義処理を実行した場合の遷移関係の定義を行うためのスクリプトの一例を表した説明図である。
モデルのノードの出力変数の値は、ノードがいつどのように出力信号を送信するかを示す。そして、出力変数の遷移関係の定義は、ノードのセマンティクスに従って定義される。
“ If node ”をモデル化すると仮定すると、入力in_を受け取ったときの条件に従って、出力true_または出力false_を送信します。典型的なアプローチは、Ifノードが入力in_を受け取ったとき、非決定的に出力true_又は出力false_を送信するノードとする。図8は、Ifノードの出力変数の遷移関係定義を行うためのスクリプトの一例を表した説明図である。これらのセマンティクスについては、出力変数の遷移関係の定義ノードの実装から自動的に生成するようにしてもよいし、開発者が予め各ノードのセマンティクスを準備するようにしてもよい。
いくつかのノードのセマンティクスをモデル化するためには状態遷移が必要となる。この場合のアプローチ手法として、各状態遷移ノードに対して1つの変数を導入し、ノードのセマンティクスを状態変数の遷移として記述することとした。図9は、FadeInノードのモデルを定義するためのスクリプトの一例を表した説明図である。そのセマンティクスは典型的な単純な状態遷移を有する。ゲームデザイナーは、例えば、「フェードイン」スクリーン効果のためにFadeIn ノードを使用できる。FadeIn ノードが入力in_を受け取ると、スクリーン効果のフェードイン処理を開始し、直ちに出力out_を送信する。そして、スクリーン効果のフェードイン処理が終了すると、出力finished_を送信する。これらの振る舞いを念頭に置いて、FadeInノードに次の4つの状態を定義できる。
・s_ini: initial state.
・s_out: received input, and sending output out_.
・s_wait: waiting for the fade in will be finished.
・s_fin: the fade in is finished, and sending output finished_.
これらの状態では、次の手順でFadeIn ノードのセマンティクスをモデル化することができる。
(1)FadeIn_State の初期値はs_ini である。
(2)ノードが入力in_を受け取ると(FadeIn_In =in_)、値s_out をFadeIn_State に割り当てる。
(3)状態がs_out の場合、次の状態遷移でs_wait 状態に遷移する。出力out_が送信されるのは1回だけであることに注意が必要である。
(4)状態がs_wait の場合、s_wait またはs_fin に非決定的に遷移する。これは、フェードインのプロセスが完了するのを待つ動作をエミュレートすることになる。
(5)ステートがs_fin の場合、次のステート遷移時にs_ini ステートに遷移する。出力finished_を送信することが一度だけであることに注意が必要である。デフォルトルール(TRUE:s_ini;)にはこの動作が含まれているため、このルールを明示的に記述する必要はない。
(6)FadeIn_Out の値は、単にFadeIn_StState の状態に従って定義する。
モデル検査が現実的な時間内に検証を終了できるようにするためには、モデルを最適化することが好ましい。具体的には、状態の数はSMV変数の数の増加に伴って指数関数的に増加するため、SMV変数の数を減らすことが最適化の目標となる。ここで、ゲーム開発等で記述されたスクリプトを観察すると、スクリプトで使用されるノードの大半は次のような特徴を持っている。
・N inputs, 1 output.
・Output just after input without side effect.
図10は、省略可能ノードの特性を持つ典型的なノードモデルを記述するためのスクリプトの一例を表した説明図である。これらのノードは、入力をノードの出力に再接続することで、ノードグラフから安全に省略することができる。本手法では、SMV変数の数はノード数に比例するため、これらの多くの無害なノードを省略することで、SMV変数の数を大幅に減らすことが可能となる。
11 対象データ取得部
12 事後条件設定部
13 検査範囲指定部
14 スクリプト変換部
15 モデル検査実行部
16 検査結果出力部
21 変数宣言部
22 入力変数定義部
23 出力変数定義部
24 状態遷移変数導入部
25 ノード省略部
30 サーバ装置
401〜40n 端末装置
50 通信ネットワーク
Claims (6)
- ビジュアルスクリプト記法によって記述された対象データをモデル検査用のスクリプトに変換する処理をコンピュータに実現させるためのモデル検査用スクリプト変換プログラムであって、
前記コンピュータに、
前記対象データのノードグラフの各ノードの入力側に対して1つの入力変数を宣言し、各ノードの出力側に対して1つの出力変数を宣言する変数宣言機能と、
各ノードについての入力変数が、何れのノードから入力信号を受信したかを表す値をとるように、ノードグラフのエッジ接続に従って入力変数の遷移関係を定義する入力変数定義機能と、
各ノードについての出力変数が、当該ノードがいつどのように出力信号を送信するかを表すように、ノードのセマンティクスに従って出力変数の遷移関係を定義する出力変数定義機能と、
ノードのセマンティクスをモデル化するために状態遷移が必要な場合に、状態遷移ノードに対して1つの状態遷移変数を導入し、ノードのセマンティクスを状態遷移変数の遷移として記述する状態遷移変数導入機能と
を実現させることで、対象データをモデル検査用のスクリプトに変換するモデル検査用スクリプト変換プログラム。 - 前記コンピュータに、
複数の入力がなされ1つの出力を行うノードであって副作用を生じさせることなく入力された値を適切な出力先へ出力するノードについて、当該ノードに対して入力するノードからのエッジを当該ノードの出力先のノードに接続して当該ノードを省略するノード省略機能
を実現させる請求項1記載のモデル検査用スクリプト変換プログラム。 - ビジュアルスクリプト記法による対象データについてモデル検査を行う処理をコンピュータに実現させるためのモデル検査プログラムであって、
前記コンピュータに、
モデル検査の対象であるビジュアルスクリプト記法による対象データを取得する対象データ取得機能と、
モデル検査において成立すべき事後条件を設定する事後条件設定機能と、
前記対象データのノードグラフにおける検査範囲を指定する検査範囲指定機能と、
請求項1又は請求項2に記載のモデル検査用スクリプト変換プログラムに基づいて、前記検査範囲指定機能において指定されたノードグラフの範囲の対象データをモデル検査用のスクリプトに変換して変換済スクリプトを出力するスクリプト変換機能と、
前記変換済スクリプトに対してモデル検査を実行するモデル検査実行機能と、
モデル検査の結果が前記事後条件について成立しているか否かの結果を出力する検査結果出力機能と
を実現させるモデル検査プログラム。 - 前記検査結果出力機能は、前記事後条件について不成立である場合に、対象データのノードグラフを表示する表示画面において、反例として不成立の原因となったノード箇所を視覚的に視認可能に表示する手法で検査結果を出力する
請求項3記載のモデル検査プログラム。 - ビジュアルスクリプト記法によって記述された対象データのノードグラフの各ノードの入力側に対して1つの入力変数を宣言し、各ノードの出力側に対して1つの出力変数を宣言する変数宣言部と、
各ノードについての入力変数が、何れのノードから入力信号を受信したかを表す値をとるように、ノードグラフのエッジ接続に従って入力変数の遷移関係を定義する入力変数定義部と、
各ノードについての出力変数が、当該ノードがいつどのように出力信号を送信するかを表すように、ノードのセマンティクスに従って出力変数の遷移関係を定義する出力変数定義部と、
ノードのセマンティクスをモデル化するために状態遷移が必要な場合に、状態遷移ノードに対して1つの状態遷移変数を導入し、ノードのセマンティクスを状態遷移変数の遷移として記述する状態遷移変数導入部と
を備えるモデル検査用スクリプト変換装置。 - モデル検査の対象であるビジュアルスクリプト記法による対象データを取得する対象データ取得機能と、
モデル検査において成立すべき事後条件を設定する事後条件設定部と、
前記対象データのノードグラフにおける検査範囲を指定する検査範囲指定部と、
請求項5に記載のモデル検査用スクリプト変換装置に基づいて、前記検査範囲指定部において指定されたノードグラフの範囲の対象データをモデル検査用のスクリプトに変換して変換済スクリプトを出力するスクリプト変換部と、
前記変換済スクリプトに対してモデル検査を実行するモデル検査実行部と、
モデル検査の結果が前記事後条件について成立しているか否かの結果を出力する検査結果出力部と
を備えるモデル検査装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018154268A JP7096103B2 (ja) | 2018-08-20 | 2018-08-20 | モデル検査用スクリプト変換プログラム、モデル検査プログラム、モデル検査用スクリプト変換装置及びモデル検査装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018154268A JP7096103B2 (ja) | 2018-08-20 | 2018-08-20 | モデル検査用スクリプト変換プログラム、モデル検査プログラム、モデル検査用スクリプト変換装置及びモデル検査装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020030490A true JP2020030490A (ja) | 2020-02-27 |
JP7096103B2 JP7096103B2 (ja) | 2022-07-05 |
Family
ID=69622474
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018154268A Active JP7096103B2 (ja) | 2018-08-20 | 2018-08-20 | モデル検査用スクリプト変換プログラム、モデル検査プログラム、モデル検査用スクリプト変換装置及びモデル検査装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7096103B2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112330180A (zh) * | 2020-11-17 | 2021-02-05 | 深圳市智象科技有限公司 | 一种灵活配置的自动作业系统 |
CN118474156A (zh) * | 2024-07-15 | 2024-08-09 | 亚龙智能装备集团股份有限公司 | 一种基于脚本驱动的数据采集及处理系统 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20150067545A (ko) * | 2013-12-10 | 2015-06-18 | 건국대학교 산학협력단 | 프로그램 언어 변환 장치 및 프로그램 언어 변환 장치를 구비하는 검증 장치 |
-
2018
- 2018-08-20 JP JP2018154268A patent/JP7096103B2/ja active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20150067545A (ko) * | 2013-12-10 | 2015-06-18 | 건국대학교 산학협력단 | 프로그램 언어 변환 장치 및 프로그램 언어 변환 장치를 구비하는 검증 장치 |
Non-Patent Citations (2)
Title |
---|
小形 真平 ほか: "「IoTシステムアーキテクチャのモデリング記法によるモデル検査支援手法の試作と評価」", 電子情報通信学会技術研究報告, vol. 第117巻, 第137号, JPN6022025003, 12 July 2017 (2017-07-12), pages 25 - 30, ISSN: 0004803162 * |
横川 智教 ほか: "「UMLによる組込みソフトウェア設計の検証支援環境の開発」", SEC JOURNAL, vol. 第10巻, 第6号, JPN6022025002, 1 March 2015 (2015-03-01), pages 10 - 17, ISSN: 0004803161 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112330180A (zh) * | 2020-11-17 | 2021-02-05 | 深圳市智象科技有限公司 | 一种灵活配置的自动作业系统 |
CN118474156A (zh) * | 2024-07-15 | 2024-08-09 | 亚龙智能装备集团股份有限公司 | 一种基于脚本驱动的数据采集及处理系统 |
Also Published As
Publication number | Publication date |
---|---|
JP7096103B2 (ja) | 2022-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2017020721A1 (zh) | 业务功能的测试方法和装置 | |
WO2020233369A1 (zh) | 基于模拟端口改进软件集成系统的方法及相关设备 | |
US20190332970A1 (en) | Component releasing method, component creation method, and graphic machine learning algorithm platform | |
CN107783758B (zh) | 一种智能合约工程方法 | |
CN107241315B (zh) | 银行网关接口的接入方法、装置及计算机可读存储介质 | |
JP2010518382A5 (ja) | ||
JP2710896B2 (ja) | 通信オートマトンセットの開発を支援する方法 | |
WO2017083173A1 (en) | Validation using scenario runners | |
US11204860B2 (en) | Methods and apparatuses for generating smart contract test case | |
Salihoglu et al. | Graft: A debugging tool for apache giraph | |
JP7096103B2 (ja) | モデル検査用スクリプト変換プログラム、モデル検査プログラム、モデル検査用スクリプト変換装置及びモデル検査装置 | |
CN108038241A (zh) | 集成web可视化工作流方法、装置、可读存储介质及系统 | |
CN107113199B (zh) | 用于分析和处理通信序列的分析装置 | |
US9329960B2 (en) | Methods, systems, and computer readable media for utilizing abstracted user-defined data to conduct network protocol testing | |
CN115203008A (zh) | 一种测试方法、装置、存储介质及设备 | |
CN110569987A (zh) | 自动化运维方法、运维设备、存储介质及装置 | |
CN116670660A (zh) | 片上网络的仿真模型生成方法、装置、电子设备及计算机可读存储介质 | |
JP6169302B2 (ja) | 仕様構成装置および方法 | |
WO2023124314A1 (zh) | 混合cpu架构设备的微服务测试方法、系统及相关装置 | |
US20140351643A1 (en) | Smart terminal fuzzing apparatus and method using multi-node structure | |
GB2397905A (en) | Method for automatically generating and ordering test scripts | |
CN113259198A (zh) | 监测网络的方法、转发平面装置、存储介质和系统 | |
JP2007156822A (ja) | 計算機システムの模擬アプリケーション試験装置 | |
CN111143227A (zh) | 一种数据操作方法、装置、终端及存储介质 | |
JP2009129133A (ja) | ソフトウェア部分テストシステム、ソフトウェア部分テスト方法およびソフトウェア部分テスト用プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20190902 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20190902 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210818 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20210901 |
|
TRDD | Decision of grant or rejection written | ||
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20220615 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20220621 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220623 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7096103 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |