JP2846242B2 - ソフトウェア仕様の検証装置 - Google Patents

ソフトウェア仕様の検証装置

Info

Publication number
JP2846242B2
JP2846242B2 JP6135803A JP13580394A JP2846242B2 JP 2846242 B2 JP2846242 B2 JP 2846242B2 JP 6135803 A JP6135803 A JP 6135803A JP 13580394 A JP13580394 A JP 13580394A JP 2846242 B2 JP2846242 B2 JP 2846242B2
Authority
JP
Japan
Prior art keywords
state
processes
states
function
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.)
Expired - Lifetime
Application number
JP6135803A
Other languages
English (en)
Other versions
JPH086778A (ja
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.)
Ei Tei Aaru Tsushin Shisutemu Kenkyusho Kk
Original Assignee
Ei Tei Aaru Tsushin Shisutemu Kenkyusho Kk
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 Ei Tei Aaru Tsushin Shisutemu Kenkyusho Kk filed Critical Ei Tei Aaru Tsushin Shisutemu Kenkyusho Kk
Priority to JP6135803A priority Critical patent/JP2846242B2/ja
Publication of JPH086778A publication Critical patent/JPH086778A/ja
Application granted granted Critical
Publication of JP2846242B2 publication Critical patent/JP2846242B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)
  • Exchange Systems With Centralized Control (AREA)
  • Maintenance And Management Of Digital Transmission (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、ソフトウェア仕様の
検証装置に関し、特に、書換え型のプロダクションシス
テムによって定義された通信ソフトウェア仕様の検証を
行なうような検証装置に関する。
【0002】
【従来の技術】近年、通信システムにおいてユーザの要
求は多様化および複雑化している。したがって、通信の
ソフトウェア発展のために、技術者は多くの時間を割か
れている。特に、ソフトウェアの仕様は、多くの時間を
割く要因である。このようなソフトウェアの仕様をルー
ル集合として定義し、プロダクションシステムで解釈実
行する方法は、ラピッドプロトタイピングに有効であ
る。このような方法が有効な理由としては、設計者の意
図が簡潔に記述されること、ルールの追加や削除によっ
て仕様の変更が容易であることなどの利点による。
【0003】通信ソフトウェア仕様の重要な検証項目の
1つに、状態の可到達解析がある。可到達解析は、特定
の状態がある仕様によって与えられたシステムに出現す
るか否かの検査である。これによって、ある必要な状態
がそのシステムで確かに実現されること、または、ある
望ましくない状態がそのシステムで実現し得ないこと、
が確認されれば通信システムの信頼性の向上が図られ
る。
【0004】一般に、通信システムに含まれるプロセス
の数は、同一の仕様を実現する場合であっても一意には
決められず、不特定多数とみなさざるを得ない。ここ
で、プロセスとは、たとえば通信端末や交換機などの通
信システムの構成要素に相当するエンティティ(機能)
である。プロセスの数が一意に決められないため、シス
テム全体の状態(広域状態)が可到達解析の対象として
用いられるのは適当ではない。その代わりに、可到達解
析の対象として用いられるのは、特定の個数の複数プロ
セスによって構成される準広域状態である。準広域状態
の可到達性を検査するには、初期状態から始めて、その
時点でのシステムの状態に対し適用可能なルールをすべ
て採用させる手順が繰返され、すべての可到達状態が実
際に生成されればよい。しかし、このように生成される
可到達状態の大きさは、初期状態として与えるプロセス
が増加されると単調増加する。
【0005】通信システムのプロセス数を不特定多数と
想定すると、ある状態の可到達性がどのようなシステム
構成でも保障されるためには、プロセスの数は無限と仮
定されて解析が行なわれる必要がある。このような条件
の下で可到達状態集合が無限となるならばそもそもの解
析は不可能である。したがって、ルールの適用に無限の
繰返しが許されないような制限が設けられる必要があ
る。それによって可到達状態集合は有界となり解析の対
象となり得る。解析の対象となり得るためには、可到達
状態集合のすべての要素がルールの適用によって統一す
るために必要なプロセスが明確化される必要がある。
【0006】そこで、このような問題を解決するため
に、“Reachability Analysis
for a Behavior Descriptio
n Independent of the Numb
er of Process”,JWCC93で以下の
ようなモデルに従う可到達解析が提案されている。
【0007】状態遷移ルールは、時刻tにおいてあるイ
ベントeventが生起しかつあるCurrent s
tate状態がシステム中に存在しているならば、時刻
(t+1)におけるシステムの状態はCurrent
stateがNext stateに書換えたものにな
るルールである。たとえば第(1)式および第(2)式
に示すものが状態遷移ルールである。第(1)式におい
て、プロセス状態s0,s0 に対しイベントev1が生
起して、プロセス状態s0 ,s1 が現われる。したがっ
て、第(1)式においては、Current stat
eがs0 ,s0であり、イベントEventがev1で
あり、Next stateがs0 ,s 1 である。第
(2)式においても同様であり、プロセス状態s1 ,s
1 に対してイベントev2が生起し、プロセス状態
0 ,s2 が現われる。この第(2)式においては、C
urrent stateがs1 ,s1 であり、イベン
トEventがev2であり、Next stateが
0 ,s2 である。
【0008】ここでの状態遷移ルールにおける特徴的な
制約は、個々のプロセスの状態は、他のプロセスから独
立なものとして定義されなければならないことである。
このようにして、与えられた仕様について、システムを
構成するプロセス数と可到達集合の大きさの関係がこの
ようなモデルによって明らかにされていた。そして、無
限のプロセスの存在が仮定されるシステムの可到達性は
有限のプロセスのそれに置換えられていた。
【0009】
【数1】
【0010】
【発明が解決しようとする課題】しかしながら、上記の
ような状態遷移ルールによる可到達解析では、個々のプ
ロセスの状態は他のプロセスから独立なものとして扱わ
れていたため、プロセス間に関係がある場合の状態を定
義できず、ルール記述性が大きく制限されていた。
【0011】それゆえに、この発明の主たる目的は、プ
ロセス間に関係づけが定義された場合であっても、可到
達解析を行なうことができるようなソフトウェア仕様の
検証装置を提供することである。
【0012】
【課題を解決するための手段】請求項1に係る発明は、
n個の機能手段の各々の状態が変数を含む状態記述手段
によって互いに関連づけがなされており、n個の機能手
段の状態の遷移規則がプロダクションルールとして与え
られるソフトウェア仕様において、n個の機能手段のう
ち任意のm個の機能手段によって形成される特定状態
が、ソフトウェア仕様で決定されるシステムに現れるか
否かを検証するソフトウェア仕様の検証装置であって、
mの値およびm個の機能手段の特定状態を与える状態付
与手段と、n個の機能手段からなるシステムに現れる、
任意のm個の機能手段によって形成される状態の集合を
算出する集合算出手段と、nの値を増加させた場合に、
m個の機能手段によって形成される状態の集合の増大が
上限に達したことを判定する上限判定手段と、上限判定
手段によって上限に達したことが判定されたm個の機能
手段によって形成される状態の集合の中に状態付与手段
によって与えられたm個の機能手段の特定状態が含まれ
るか否かを判定し、その判定結果に応じて、m個の機能
手段の特定状態が前記仕様で与えられるシステムに現れ
るか否かを判定する状態判定手段とを備えて構成され
る。
【0013】請求項2の発明では、請求項1の上限判定
手段がnをn=3で表わして、iの初期値を3i0
mを満たすiに設定する設定手段と、n=3個の機能
手段からなるシステムに現れるm個の機能手段による状
態の第1の集合を求める第1の集合演算手段と、iを1
だけ増加させたi←i+1に対応したn=3個の機能
手段からなるシステムに現れるm個の機能手段による状
態の第2の集合を求める第2の集合演算手段と、第1の
演算手段によって求められた第1の集合と、第2の集合
演算手段によって求められた第2の集合が等しいか否か
を判定する一致判定手段と、一致判定手段によって第1
の集合と第2の集合とが等しくなるまで第1および第2
の集合演算手段と一致判定手段とを動作させる制御手段
を備えて構成される。
【0014】
【0015】
【作用】請求項1の発明に係るソフトウェア仕様の検証
装置は、mの値およびm個の機能手段の特定状態を与
え、n個の機能手段からなるシステムに現れる任意のm
個の機能手段によって形成される状態の集合を算出し、
nの値を増加させた場合にm個の機能手段によって形成
される状態の集合の増大が上限に達したことを判定し
て、判定されたm個の機能手段によって形成される状態
の集合の中に与えられたm個の機能手段の特定状態が含
まれるか否かを判定し、その判定結果に応じてm個の機
能手段の特定状態が前記仕様で与えられるシステムに現
れるか否かを判定する。
【0016】
【0017】
【0018】
【実施例】まず、この発明の一実施例によるソフトウェ
ア仕様の検証方法を説明するために、原理について説明
する。
【0019】はじめに、状態遷移ルールによる仕様記述
について説明する。前述したラピッドプロトタイピング
に有効なプロダクションシステムではプロダクションル
ールが必要である。このプロダクションルールの形式や
意味付けには様々な種類が考えられる。この発明に関す
るプロダクションルールとしては、複数のプロセス間に
わたる状態遷移規則が変数を含む書換え型のプロダクシ
ョンルール(以下、状態遷移ルールと呼ぶ)として与え
られる。
【0020】このような方式は、通信サービス用仕様記
述言語STRで採用されている方式である。したがっ
て、記述の対象となる通信システムは、複数のプロセス
が状態遷移を伴いながら協調して動作する協調分散シス
テムである。ここで、プロセスは、前述したように通信
端末や交換機などの通信システムの構成要素に相当する
エンティティ(機能)である。
【0021】各プロセスの状態は、第(3)式で示され
るような状態記述要素と呼ばれる識別子によって与えら
れる。第(3)式においてProcess_varia
blesは、1個以上の変数の並びで、各変数の値は任
意のプロセス識別子をとる。2個以上の変数を持つ状態
記述要素は、その状態が複数のプロセスにわたって定義
されるものである。
【0022】通信システムの状態は、変数が拘束された
システムに含まれるすべての状態記述要素の集合として
定義される。以下、このような状態記述要素の集合を広
域状態と呼ぶ。
【0023】通信システムの仕様は、第(4)式のよう
な状態遷移ルールの集合として定義される。第(4)式
において、Current_state,Next_s
tateは、状態記述要素の集合である。イベントev
entは、第(5)式のように表わされる。
【0024】第(4)式に示されるような状態遷移ルー
ルは、時刻tにおいてあるイベントeventが生起し
かつCurrent_stateがシステム中に存在し
ているならば、時刻(t+1)におけるシステムの状態
はCurrent_stateをNext_state
に書換えたものになる、ことを意味する。ただし、1つ
のルール中に書かれた同じ名前の変数は、同一のプロセ
スを参照しなければならず、異なる変数は異なるプロセ
スを参照しなければならない。また、ルールはすべての
プロセスに対して、等しく適用可能である。
【0025】図1は、状態遷移ルールの実行の様子を示
す図である。特に、図1(a)は、時刻tにおける広域
状態を示した図であり、図1(b)は、時刻(t+1)
における広域状態を示した図であり、図1(c)は、図
1(a)および図1(b)による状態遷移ルールの記述
を示した図である。
【0026】図1を参照して、図1(a)に示す広域状
態1は、{s0(a),s0(b),s0(c),s2
(d,e),s2(e,d)}である。ここで、プロセ
スaに対してイベントev(a,b)が生起した場合、
広域状態1の部分集合およびev(a,b)とユニフィ
ケーション可能なCurrent_stateおよびE
ventを持つルールが選択される。このルールは、図
1(c)に示すようなルールである。すなわち、変数拘
束A=a,B=bが得られて、Next_stateと
して{s1(a,b),s1(b,a)}が導かれる。
そして、第(6)式に示すような広域状態遷移が実行さ
れる。その結果、広域状態1は、広域状態3となる。こ
のような広域状態1から広域状態3への状態遷移は、第
(6)式によって表わされている。第(6)式のs0
(a),s0(b)が、Current_stateで
あり、第(6)式のs1(a,b),s1(b,a)が
Next_stateである。
【0027】
【数2】
【0028】なお、図1に示した状態遷移ルールでは、
1つのプロセスが1つの状態記述要素に属しているが、
1つのプロセスが複数の状態記述要素に属することも可
能である。この場合、状態記述要素の書換えは、ルール
に一致した状態記述要素に対してのみ行なわれる。
【0029】ルールの適用時における非決定性は排除さ
れる必要がある。このような理由のため、ルール記述に
以下のような制約条件が必要とされる。第1は、1つの
ルール中にプロセス識別子が決定不能な変数が存在して
はならないこと。第2は、複数のルールが同時に適用可
能となるようなルールの組が存在してはならないこと。
第3は、すべてプロセス識別子が同一な複数の状態記述
要素が広域状態中に存在してはならないこと。具体的に
説明すると、第1は、図1(a)におけるプロセスaか
らeのように、同一のプロセス識別子が用いられていな
いことである。第2は、図1(c)に示すような状態遷
移ルールに加え、Current_stateおよびE
ventが同一であって、Next_stateが異な
る状態遷移ルールが存在してはならないことである。第
3は、図1(a)に示すような広域状態1において、た
とえば状態記述要素s0(a)およびs0(a)が存在
しないことである。
【0030】図2は、電話サービスにおける電話器の各
操作に対応する状態遷移ルールを示した図であり、図2
(a)は、サービスの状態を示した図であり、図2
(b)は、図2(a)に対応する状態遷移ルールを示し
た図である。
【0031】図2(a)の上段は、端末a,bがidl
eの状態のとき、端末aがoffhookされると、端
末aはdial_tone状態に遷移する。これについ
て、図2(b)のルール(1)にその状態遷移ルールが
示されている。図2(a)の中段は、端末aがdial
_tone状態で、端末bに対してdialすると、端
末aがringback状態に、端末bがringin
g状態に遷移することが示されている。この中段の状態
は、図2(b)のルール(2)で示されている。図2
(a)の下段は、端末aがringback状態、端末
bがringing状態で、端末bがoffhookさ
れると、端末a,bの状態がpathに遷移することを
示している。この下段の状態は、図2(b)のルール
(3)で示されている。
【0032】図3および図4は、二者間通話の仕様を示
した図であり、図4は、図3の破線内における状態遷移
ルールにおいて、広域状態を示した図である。特に、図
4(a)は、時刻tにおける広域状態を示した図であ
り、図4(b)は、時刻(t+1)の広域状態を示した
図である。
【0033】図3の破線内の状態遷移ルールおよび図4
を参照して、時刻tにおける広域状態4は、{dial
_tone(a),idle(b),idle(c),
path(d,e),path(e,d)}である。こ
のような広域状態4において、イベントdial(a,
b)が発生したとする。このときに、適用される状態遷
移ルールは、図3の破線内のルールである。したがっ
て、Current_stateとして、dial_t
one(A),idle(B)が選ばれ、Eventと
してdial(a,b)が生起して、Next_sta
teとしてのringback(a,b),ringi
ng(b,a)にCurrent_stateが書換え
られる。これによって、図4(b)に示すような時刻
(t+1)における広域状態5に広域状態4が遷移す
る。
【0034】次に、可到達判定問題について説明する。
可到達判定問題は、協調分散システムの仕様を検証する
1つの方法である。可到達判定問題は、複数のプロセス
によって構成される特定の状態が与えられたシステムに
出現するか否かの検査である。このような複数のプロセ
スの可到達解析は、あるプロセスの挙動が他のプロセス
の状態によって影響されるため、単一プロセスにおける
可到達解析に比べて遙かに複雑な問題である。
【0035】状態遷移ルールの集合で定義された複数プ
ロセスよりなるシステムの挙動は、初期状態に各々のル
ールを適用する操作が繰返すことによって得られる状態
遷移木によって与えられる。状態遷移木の接点は、各広
域状態である。
【0036】広域状態を対象とした可到達解析を行なう
ことは、一般の通信システムでは非現実的である。なぜ
ならば、システム中に含まれるプロセスの数は、一般に
不特定多数と考えざるを得ない。たとえば、電話交換機
における端末である。そこで、広域状態のプロセス数が
固定された部分集合として準広域状態が新たに定義さ
れ、この準広域状態の可到達解析について説明する。
【0037】(定義1)通信システム、広域状態、準広
域状態を以下のように定義する。通信システムTn は、
特定の仕様によって定義されたnプロセスからなるシス
テムである。
【0038】広域状態gn は、通信システムTn のある
時刻における状態記述要素の集合である。したがって、
広域状態gn は、第(7)式のように表わされる。
【0039】準広域状態sgm は、特定のm個のプロセ
スによって構成される状態である。したがって、準広域
状態sgm は、第(8)式のように表わされる。
【0040】ただし、第(7)式および第(8)式にお
けるui は、状態記述要素を値とする変数である。
【0041】このような準広域状態を対象とした可到達
判定問題は、定義2のように定義される。
【0042】(定義2)可到達判定問題は、システムT
n および準広域状態sgm が与えられたとき、システム
n の状態遷移木中のある広域状態gn が、準広域状態
sg m を含むか否かを判定する問題である。
【0043】一般に、通信サービスでは、すべての端末
の初期状態は同一である。そこで、以下では、システム
n 内のすべてのプロセスの初期状態は同一のs0 と仮
定する。
【0044】次に、可到達状態集合のプロセス数依存性
について説明する。 (定義3)システムTn において準広域状態sgm が可
到達状態であることを n →sgm と表わしたとき、可到
達状態集合Rm (n)は、第(9)式のように定義され
る。準広域状態sgm に含まれるプロセスの数はmで固
定されているが、可到達状態集合Rm (n)の大きさは
nに依存する。以下に具体的な例を示す。
【0045】すべてのプロセスの初期状態がs0であ
り、かつ第(10)式および第(11)式に示される状
態遷移ルールによって定義されるシステムにおいて、プ
ロセス2の準広域状態に関する可到達状態集合R
m (n)を求める。
【0046】プロセスをa,bとすると、初期広域状態
は{s0(a),s0(b)}である。この広域状態に
適用可能なルールは、第(10)式および第(11)式
のうち第(10)式のみである。よって、第(11)式
の{(s0(a),s1(b)}に適用可能なルールは
存在せず、第(12)式に示された遷移木中に到達可能
なすべての状態が含まれている。したがって、第(1
2)式に示された各広域状態について2プロセスによっ
て構成される準広域状態が抽出されると、可到達状態集
合R2 (2)は、第(13)式のようになる。ただし、
第(13)式において、プロセス識別子は省略されてい
る。
【0047】一方、第(10)式および第(11)式で
定義されるシステムにおいて、プロセスa,b,c,d
によるプロセス4の準広域状態に関する可到達状態集合
2(4)を求める。状態遷移木は、第(14)式から
第(19)式で示される。第(14)式は、初期広域状
態{s0(a),s0(b),s0(c),s0
(d)}に対し、第(10)式が適用された場合を示し
ている。第(15)式は、第(14)式で示された広域
状態に対しさらに第(10)式のルールが適用された場
合を示している。第(16)式は、第(15)式で示さ
れる広域状態に対して第(11)式による状態遷移ルー
ルが適用された場合を示している。第(17)式は、第
(16)式による広域状態に対して第(10)式による
状態遷移ルールが適用された場合を示している。第(1
8)式は、第(17)式による広域状態に対して第(1
0)式による状態遷移ルールが適用された場合を示して
いる。第(19)式は、第(18)式による広域状態に
対して第(11)式による状態遷移ルールが適用された
場合を示している。
【0048】第(14)式から第(19)式で示される
状態遷移木の接点は、各広域状態であり、各広域状態に
ついて2プロセスの組合せによる準広域状態が抽出され
た場合には、可到達状態集合R2 (4)は、第(20)
式のようになる。ただし、第(20)式においてもプロ
セス識別子は省略されている。
【0049】
【数3】
【0050】このように、可到達解析のためには、シス
テムTn のプロセスnが幾つに仮定されるかが問題であ
る。仮に、可到達状態集合Rm (n)がプロセス数nに
対し単調増加かつ有界であるならば、無限プロセス(n
=∞)を含むシステムを仮定しても、有限な集合R
m (∞)が存在する。ある準広域状態が集合Rm (∞)
に含まれないならば、どのような規模のシステムにおい
てもその状態は発生し得ない。また、準広域状態がRm
(∞)に含まれるならば、十分大きなプロセスnが用意
されれば、その状態が実現される。したがって、以下
に、このような集合R m (∞)の存在の証明、および、
これを求めることについて説明する。
【0051】無限のプロセスを含むシステムにおける可
到達問題の解決に先立ち、可到達性に関する幾つかの性
質を説明する。
【0052】広域状態gn ={u1 ,u2 ,…,ul
n について、各ui に含まれるプロセス識別子がプロセ
ス間の関係を保存しつつ書換えられることによって得ら
れる任意の広域状態(準広域状態)は、同型の広域状態
(同型の準広域状態)と呼ばれる。
【0053】図5は、同型の広域状態を示した図であ
る。図5(a)に示す広域状態6は、{s1(p1,p
2),s2(p2,p1),s3(p3)}である。図
5(b)に示す広域状態7は、{s1(p2,p3),
s2(p3,p2),s3(p1)}であり、図5
(c)に示す広域状態8は、{s1(p1,p3),s
2(p3,p1),s3(p2)}である。このよう
に、プロセス識別子がプロセス間の関係を保存するよう
に書換えられているため、広域状態6,7,8は、同型
の広域状態である。
【0054】広域状態gn に含まれるプロセス識別子
を、同一のプロセスは同一の変数に、異なるプロセスは
異なる変数に書換えたものをGn とすると、Gn は広域
状態g n と同型のすべての広域状態を代表するメタ状態
である。同様に、準広域状態sgm に対するメタ状態は
SGm である。
【0055】(定理1)n →sgm ならばn →SGm
ある。 (証明)システムTn 内のすべてのプロセスの初期状態
は、同一なので、システムTn の状態遷移木に含まれる
任意の広域状態gn を考えると、広域状態gnと同型な
広域状態もこの遷移木に含まれる。よって、定理1は明
らかである。
【0056】このように、可到達性に関しては、広域状
態gn と広域状態のメタ状態Gn 、準広域状態sgm
準広域状態のメタ状態SGm は等価である。よって、以
下では、広域状態gn 、準広域状態sgm の代わりに、
それぞれのメタ状態であるG n 、SGm を広域状態、準
広域状態として用いる。
【0057】(定理2)可到達状態集合Rm (n)はn
に関して単調増加である。 (証明)可到達状態集合Rm (n)が単調増加でないと
仮定すると、第(21)式を満たすNが存在する。ここ
で、システムTN+1 のうちN個のプロセスについてのみ
ルールが適用されて得られる可到達状態集合をR′
m (N+1)とすれば、明らかに、第(22)式が成り
立つ。第(22)式から第(23)式が得られるので、
この第(23)式は第(21)式の仮定に反する。した
がって、可到達状態集合Rm (n)は、単調増加であ
る。
【0058】
【数4】
【0059】(定理3)可到達状態集合Rm (n)はn
に関して有界である。 (証明)システムTn における任意の準広域状態SGm
について考えると、準広域状態SGm に含まれる状態記
述要素の種類は有界であり、ルール記述に関する制限か
ら、同一プロセスに関する状態記述要素は高々1つしか
存在しない。よって、準広域状態SGm の種類は有限で
ある。したがって、可到達状態集合Rm(n)は有界と
なる。
【0060】このように、定理2および定理3から、可
到達状態集合Rm (n)の最大値(Rm max を与え、
かつそれ以上の数ではRm (n)=(Rm max となる
ようなn=Nmax の存在が保障される。このようなN
max を求めるために、可到達状態集合Rm (n)とプロ
セスnとの関係について説明する。
【0061】(定義4)最少プロセス数Min(Gn
m)は、広域状態Gn に含まれる任意のm個のプロセス
からなる準広域状態SGm ⊆Gn について、i →SGm
を満たす最少のi(m≦i≦n)である。
【0062】(定義5)最大連結数Cmax を以下のよう
に定義する。広域状態をグラフで表現したとき、状態プ
リミティブによって連結されているプロセスの数を連結
数と呼ぶことにする。最大連結数Cmax は、このとき
の、システムTn の状態遷移木に含まれるすべての広域
状態Gn の連結数の最大値である。
【0063】(定理4)時刻tにおける広域状態G
n (t)がルールの適用によって時刻(t+1)に広域
状態Gn (t+1)となったとする。ルールで参照され
るプロセスの数の最大値をKmax とし、最大連結数をC
max とすると、m≧Kmax かつm≧Cmax を満たすmに
関して以下の性質が成り立つ。
【0064】Min(Gn (t+1),m)≦3・Mi
n(Gn (t),m) 図6は、定理4の証明に用いる図である。
【0065】(証明)ある状態遷移ルールのCurre
nt_stateおよびEventで参照されるプロセ
ス数をkc、Next_stateで参照されるプロセ
ス数をknとすると、kc≧knである。ここで、kc
>knである場合は、Next_stateで参照され
ていないプロセス識別子を含む状態プリミティブがCu
rrent_stateに存在することを意味する。こ
の状態プリミティブをNext_stateに加えても
状態遷移ルールの意味は保存される。したがって、以後
の証明では、すべての状態遷移ルールはkc=kn=k
となるように正規化されていると仮定する。
【0066】図6に示すように、第(24)式で表わさ
れた状態遷移ルールによって、広域状態Gn (t)は、
広域状態Gn (t+1)に遷移する。ここで、広域状態
n(t+1)に含まれるmプロセス数の準広域状態S
m (t+1)が可到達となる十分条件は、第(25)
式で示される条件である。すなわち、広域状態G
n (t)において、準広域状態SGm (t+1)のルー
ル適用前の状態SGm (t)とルール適用によって参照
される状態SGk (t)が存在することである。
【0067】次に、図6に示されるSGk (t)∪SG
m (t)がm以下のプロセスを含む、他の部分と連結を
持たない高々3つの部分に分割可能であることを示す。
【0068】SGk (t)∪SGm (t)内で、連結さ
れているプロセスのみで構成される準広域状態SGCを
連結数の多い順にソートしたものをSGCi とする。こ
の場合、SGk (t)∪SGm (t)とSGCi との関
係においては、第(26)式が成立する。
【0069】そして、たとえば、図6の広域状態G
n (t)では、SGC1 は、連結数5であり、SGC2
は連結数5であり、SGC3 は連結数4であり、SGC
4 は連結数1である。このような各SGCi に含まれる
プロセス数をpn(SGCi )としたとき、定義5で定
義された最大連結数Cmax は、m以下なので、第(2
7)式を満たす最大のL′が存在する。
【0070】たとえば具体的に説明すると、mは図6の
準広域状態SGm では8なので、最大のL′は1であ
る。すなわち、pn(SGC1 )は5であり、このi=
1までは第(27)式を満たす。次のpn(SGC2
がさらに加わると、pn(SGC1 )+pn(SG
2 )=10となり、m=8を超えてしまう。したがっ
て、第(27)式を満たす最大のL′は1である。
【0071】このような最大のL′をLmax とすると、
第(26)式の左辺であるSGk (t)∪SGm (t)
は、第(28)式に示すSG1と第(29)式に示すS
G2と第(30)式に示すSG3に分割された場合、S
k (t)∪SGm (t)に含まれるプロセス数は2m
以下なので、第(28)式から第(30)式に示される
SG1,SG2,SG3の各々に含まれるプロセス数は
m以下となる。
【0072】このことを具体的に説明すると、図6の場
合において、SG1={SGC1 }、SG2={SGC
2 }、SG3={SGC3 ,SGC4 }である。SG1
のプロセス数は第(27)式から決定されたように、5
であり、m=8以下となっている。SG2に含まれるプ
ロセス数は5であり、SG3に含まれるプロセス数は5
である。このように、SG1,SG2,SG3は、図6
においては、ライン9,10,11によって分割され
る。第(27)式で決定されるLmax は、SG1,SG
2,SG3の各々に含まれるプロセス数をm以下にして
いる。
【0073】以上のように分割されたSG1,SG2,
SG3は、それぞれ定義4で定義された最少プロセス数
Min(Gn (t),m)個の初期プロセスから可到達
可能である。このことは、第(31)式に示されてい
る。第(31)式および第(25)式によって、第(3
2)式のように準広域状態SGm (t+1)も可到達と
なる。準広域状態SGm (t+1)に対しての最少プロ
セス数Min(Gn (t+1),m)との関係から、第
(33)式に示すような最少プロセス数の関係が得られ
る。
【0074】
【数5】
【0075】(定理5)任意のシステムTn について、
以下の性質を満たすNが存在する。 Rm (3i )⊂Rm (3i+1 ) i<N Rm (3i )=Rm (3i+1 ) i≧N (証明)Rm (3N )=Rm (3N+1 )のとき、R
m (3M )⊃Rm (3M+1)となるM>Nが存在すると
仮定する。このとき、第(34)式の条件を満足する準
広域状態SGm が存在する。
【0076】したがって、第(35)式で示される3
M+1 プロセスからなる初期広域状態から第(36)式で
示される準広域状態SGm を含む第(37)式に示され
る広域状態への第(38)式に示されるような遷移系列
が存在する。
【0077】第(38)式に示される遷移系列の各広域
状態に定義4で定義された最少プロセス数を適用した第
(39)式に示される系列を考えるとする。
【0078】ここで、第(39)式の上段であり*で示
した最少プロセス数Minはmであり、第(39)式の
最下段であり☆で示した最少プロセス数Minは3M+1
なので、第(40)式および第(41)式の関係を満た
すL<nが存在する。
【0079】一方、定理4より、第(42)式が成立す
る。したがって、第(40)式および第(42)式によ
って第(43)式が成立する。さらに、第(41)式お
よび第(43)式によって第(44)式が成立する。
【0080】第(44)式は、第(45)式を満たす準
広域状態SG′m が存在することを意味する。しかしな
がら、このことは証明の初めに仮定したRm (3N )=
m(3N+1 )の仮定に反している。よって、そのよう
なMは存在しない。したがって、Rm (3N )=R
m (3N+1 )ならば、i>NについてRm (3i )=R
m(3i+1 )が成り立つ。
【0081】Rm (n)は、nに関して単調増加かつ有
界であるから、このようなNは必ず存在する。
【0082】
【数6】
【0083】図7は、定理5についてのグラフである。
システムを構成するプロセス数が3倍ずつ増加されてい
くと、ある時点で可到達状態集合の大きさが変化しなく
なる。そのときの値が可到達状態集合の最大値(Rm
N max である。また、Nmax は3N-1 と3N との間に存
在する。これによって、プロセス数が無限の(n=∞)
によるシステムにおける可到達問題は、n=Nmax によ
るシステムの可到達問題に還元される。
【0084】図8は、この発明の一実施例によるソフト
ウェア仕様の検証方法を示すためのフローチャートであ
る。
【0085】図8を参照して、ステップ(図面ではSで
表わす)1において、定理4において制約を受ける準広
域状態のプロセス数mが入力される。このmは、m≧K
maxかつm≧Cmax を満たす値である。さらに、ステッ
プ1において、変数iが1とされる。可到達状態集合R
として、初期値としてR0 がφ(空集合)とされる。
【0086】ステップ2において、可到達状態集合Rm
(n)のそのパラメータであるnの値が大きくされて、
m (n)の値が一定値とされる。さらにステップ2に
ついて詳しく説明する。
【0087】ステップ21において、R1 がRm (m)
とされる。これは、ステップ1においてiが1とされ、
nがmとされたためである。
【0088】ステップ22において、R1 がR0 と一致
するか否か判定される。R0 は空集合φであったため、
この空集合とステップ21において決定されたR
m (m)との値が一致すればステップ23に進み、一致
しない場合には後で説明するステップ3に進む。
【0089】ステップ23において、iの値が1加算さ
れる。さらに、nの値が3倍される。ステップ24にお
いて、3倍されたnに対する可到達状態集合Rm (n)
をR i とする。ステップ25においてRi とRi-1 とが
一致するか否か判定される。一致した場合にはステップ
3に進み、一致しない場合にはステップ23に戻る。こ
こでのループは、図7に示したグラフでのnの値が3倍
ずつ変化することに伴って可到達状態集合Rm (n)の
値が一定値になるか否か判定されていることと等価であ
る。
【0090】このようなステップ21からステップ25
に示される処理の後、ステップ3において、別途入力さ
れた準広域状態SGm が一定値となった可到達状態集合
iに含まれるか否か判定される。含まれる場合にはス
テップ41に進み、含まれない場合にはステップ42に
進む。ステップ41は、準広域状態SGm が可到達であ
ることを示し、ステップ42は、準広域状態SGm が非
可到達状態であることを示す。このようなステップ41
およびステップ42によるステップ4は結果的に、ステ
ップ3の判定結果に応じてm個のプロセスによる状態が
n=Nmax で決定されるシステムに現われるか否かを判
定している。このように準広域状態SG m が可到達であ
るか否か判定された結果、処理は終了する。
【0091】以上のことをまとめる。本発明の一実施例
によるソフトウェア仕様の検証方法では、書換え型のプ
ロダクションルールにおける状態記述要素が、変数を含
み、複数プロセス間の関連づけをも表現可能としてい
る。このことは、従来例では行なわれていなかった。こ
れは、プロセスのそれぞれが従来では独立として扱われ
ていたため状態記述要素に変数を含む必要がなかったた
めである。仮に、従来例の状態記述要素に変数を用いた
とすると、プロセス間に関係がある場合には、たとえば
path_b(a),path_c(a)のように相手
プロセスごとに異なる識別子を定義せざるを得ない。こ
のような記述は複雑となり記載を困難化させてしまう。
【0092】ところが、本実施例のような方法では、前
述のpath_b(a),path_c(a)はpat
h(a,b),path(a,c)のようにパラメータ
内に含めて記述できる。したがって、仕様の記述力は飛
躍的に増大する。
【0093】
【発明の効果】以上のように、この発明によれば、n個
の機能手段からなるシステムに現れる任意のm個の機能
手段によって形成される状態の集合を算出して、nの値
を増加させた場合にm個の機能手段によって形成される
状態の集合の増大が上限に達したことを判定し、判定さ
れたm個の機能手段によって形成される状態の集合の中
に与えられたm個の機能手段の特定状態が含まれている
か否かを判定し、その判定結果に応じてm個の機能手段
の特定状態が仕様で与えられるシステムに現れるか否か
を判定するようにしたので、たとえば変数が複数必要と
される機能手段間の関連づけがある状態遷移規則であっ
ても、m個の機能手段の特定状態がソフトウェア仕様で
決定されるシステムに現れるか否かを検証できる。
【図面の簡単な説明】
【図1】状態遷移ルールの実行の様子を示す図である。
【図2】電話サービスにおける電話器の各操作に対応す
る状態遷移ルールを示す図である。
【図3】二者間通話の仕様を示す図である。
【図4】図3に示された仕様のうちで破線で囲まれた範
囲の状態遷移ルールを説明するための図である。
【図5】同型の広域状態を示す図である。
【図6】定理5を説明するための図である。
【図7】システムを構成するプロセス数nと可到達状態
集合Rm (n)との関係を示したグラフである。
【図8】この発明の一実施例によるソフトウェア仕様の
検証方法を示すフローチャートである。
【符号の説明】
1,3,4,5,6,7,9,10,11 広域状態
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.6,DB名) G06F 9/06 G06F 9/44

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】 n個の機能手段の各々の状態が変数を含
    む状態記述手段によって互いに関連づけがなされてお
    り、前記n個の機能手段の状態の遷移規則がプロダクシ
    ョンルールとして与えられるソフトウェア仕様におい
    て、前記n個の機能手段のうち任意のm個の機能手段に
    よって形成される特定状態が、前記ソフトウェア仕様で
    決定されるシステムに現れるか否かを検証するソフトウ
    ェア仕様の検証装置であって、 前記mの値およびm個の機能手段の特定状態を与える状
    態付与手段と、 前記n個の機能手段からなるシステムに現れる任意のm
    個の機能手段によって形成される状態の集合を算出する
    集合算出手段と、 前記nの値を増加させた場合に、前記m個の機能手段に
    よって形成される状態の集合の増大が上限に達したこと
    を判定する上限判定手段と、 前記上限判定手段によって上限に達したことが判定され
    たm個の機能手段によって形成される状態の集合の中
    に、前記状態付与手段によって与えられたm個の機能手
    段の特定状態が含まれるか否かを判定し、その判定結果
    に応じて、前記m個の機能手段の特定状態が、前記仕様
    で与えられるシステムに現れるか否かを判定する状態判
    定手段を備えた、ソフトウェア仕様の検証装置。
  2. 【請求項2】 前記上限判定手段は、 前記nをn=3で表わして、iの初期値を3i0>m
    を満たすiに設定する設定手段と、 n=3個の機能手段からなるシステムに現れる前記m
    個の機能手段による状態の第1の集合を求める第1の集
    合演算手段と、 iを1だけ増加させたi←i+1に対応したn=3
    の機能手段からなるシステムに現れる前記m個の機能手
    段による状態の第2の集合を求める第2の集合演算手段
    と、 前記第1の演算手段によって求められた第1の集合と、
    前記第2の集合演算手段によって求められた第2の集合
    が等しいか否かを判定する一致判定手段と、 前記一致判定手段によって前記第1の集合と前記第2の
    集合とが等しくなるまで前記第1および第2の集合演算
    手段と前記一致判定手段を動作させる制御手段を備え
    た、請求項1に記載のソフトウェア仕様の検証装置。
JP6135803A 1994-06-17 1994-06-17 ソフトウェア仕様の検証装置 Expired - Lifetime JP2846242B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6135803A JP2846242B2 (ja) 1994-06-17 1994-06-17 ソフトウェア仕様の検証装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6135803A JP2846242B2 (ja) 1994-06-17 1994-06-17 ソフトウェア仕様の検証装置

Publications (2)

Publication Number Publication Date
JPH086778A JPH086778A (ja) 1996-01-12
JP2846242B2 true JP2846242B2 (ja) 1999-01-13

Family

ID=15160189

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6135803A Expired - Lifetime JP2846242B2 (ja) 1994-06-17 1994-06-17 ソフトウェア仕様の検証装置

Country Status (1)

Country Link
JP (1) JP2846242B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4351186B2 (ja) 2005-05-19 2009-10-28 富士通株式会社 仕様書確認方法、仕様書確認プログラム、該プログラムを記録した記録媒体、および仕様書確認装置
JP5302712B2 (ja) * 2009-02-25 2013-10-02 日本電信電話株式会社 クライアント端末、ユーザ管理方法、端末管理プロセッサ、プログラム
JP6109661B2 (ja) * 2013-07-12 2017-04-05 株式会社東芝 システム検証支援装置

Also Published As

Publication number Publication date
JPH086778A (ja) 1996-01-12

Similar Documents

Publication Publication Date Title
US5913023A (en) Method for automated generation of tests for software
CN111290958B (zh) 一种调试智能合约的方法及装置
Li et al. Ensuring content and intention consistency in real-time group editors
CN111666393A (zh) 智能问答系统的验证方法、装置、计算机设备及存储介质
Touati et al. Testing language containment for ω-automata using BDDs
JP2846242B2 (ja) ソフトウェア仕様の検証装置
CN112765833B (zh) 冗余多阶段任务系统动态任务的可靠性建模与评估方法
CN111400178A (zh) 接口自动造数方法、装置、计算机设备及存储介质
DeMercado et al. A method for calculation of network reliability
US8381145B2 (en) Method and apparatus for analyzing fault behavior of a software design model
CN110098959A (zh) 工控协议交互行为的建模方法、装置、系统及存储介质
Wang et al. Concurrent reasoning of fuzzy logical Petri nets based on multi-task schedule
CN111538715B (zh) 一种风控方案的迁移方法、装置及电子设备
Tigane et al. Generalized stochastic Petri nets with rewritable topology
Tigane et al. Dynamic GSPNs: formal definition, transformation towards GSPNs and formal verification
CN113708978A (zh) 网络的可用性测试方法、装置、计算机设备和存储介质
Nanz et al. Topology-dependent abstractions of broadcast networks
Boroday et al. Techniques for Abstracting SDL Specifications
CN114363363B (zh) 基于多链的数据存储方法、装置、设备及介质
Zamansky et al. A composition-based method for combinatorial test design
Arts et al. Applying rewriting techniques to the verification of Erlang processes
Bernardinello et al. Morphisms on Marked Graphs.
US20220237343A1 (en) Techniques for providing concrete instances in traffic scenarios by a transformation as a constraint satisfaction problem
Jakubowski et al. Iterated transformations and quantitative metrics for software protection.
Song et al. On reachability analysis of pushdown systems with transductions: Application to Boolean programs with call-by-reference

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19981013