JPH04237341A - インタフェース検証処理方式 - Google Patents

インタフェース検証処理方式

Info

Publication number
JPH04237341A
JPH04237341A JP3020575A JP2057591A JPH04237341A JP H04237341 A JPH04237341 A JP H04237341A JP 3020575 A JP3020575 A JP 3020575A JP 2057591 A JP2057591 A JP 2057591A JP H04237341 A JPH04237341 A JP H04237341A
Authority
JP
Japan
Prior art keywords
information
module
unit
interface
modules
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
Application number
JP3020575A
Other languages
English (en)
Other versions
JP2735698B2 (ja
Inventor
Satoru Torii
悟 鳥居
Koshio Ono
越夫 小野
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP3020575A priority Critical patent/JP2735698B2/ja
Priority to US07/823,115 priority patent/US5355479A/en
Publication of JPH04237341A publication Critical patent/JPH04237341A/ja
Application granted granted Critical
Publication of JP2735698B2 publication Critical patent/JP2735698B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は,プログラムのモジュー
ル等が外部と情報を授受するインタフェースにおける,
モジュール間等の整合性を検証するために用いられるイ
ンタフェース検証処理方式に関する。また,未インプリ
メントの仮想モジュール間,モジュール内部の宣言と内
部処理間,仕様とプログラム間等の整合性の検証を実現
する方式に関する。
【0002】近年のシステムは多様化,巨大化しており
,一部の決められた処理を担当するモジュールが複数個
集まってシステムを構成するようになっている。そして
,これらのモジュールがお互いに影響を及ぼし合って処
理が行われる。
【0003】これらの個々に作成されたモジュールを組
み合わせ,結合して一つのシステムを作成していく場合
,例えば以下の検証を通して,一つのシステムとして与
えられた仕様通り(要求通り)の正しい動作結果が得ら
れていることを確認する必要がある。 ・好ましいモジュール構成であるかの検証。 ・各モジュール内が仕様(設計)通りであるかの検証。 ・各モジュールが外部に対して余計な影響を及ぼさない
かどうかの検証。 ・お互いの各モジュール間でのインタフェースが正しい
ものかどうかの検証。
【0004】
【従来の技術】計算機のプログラム開発において,プロ
グラムの規模が大きくなると,周知のように,■  そ
れを複数のモジュールに分割し,■  モジュール間で
授受する情報をモジュール間のインタフェースとして規
定して,■  そのインタフェース条件を満足するよう
に各モジュールを個別に作成した後,■  それらのモ
ジュールを結合して,■  所要のプログラムを完成す
る,というような手法が通常採られる。
【0005】そのような場合に,各モジュールごとのい
わゆる単体テストで,充分にエラーを除いておかないと
,モジュール結合後のテストでは,エラーが検出されて
もその原因の探索は,結合が進めば進むほど困難となり
,また,エラーの検出自体も困難になることは良く知ら
れているとおりである。
【0006】そこで,単体テストを充分に行って,モジ
ュールに誤りが無いことをできるだけ確認する必要があ
る。しかし,そのテスト段階では,対象のモジュールと
インタフェースを持つ他のモジュールも,一般に同じ開
発段階にあるので,インタフェースについては,プログ
ラムの解読によるチェックと,テスト用に設ける仮モジ
ュールと結合した実行テスト,等によることになる。
【0007】しかし,そのようなチェックや仮モジュー
ルの作成は,被テストモジュールや隣接モジュールにつ
いて想定している処理に基づいて行われるので,テスト
漏れが生じやすく,さらに比較的大きな工数が必要にな
るという問題がある。
【0008】また,対象のモジュールとインタフェース
を持つ他のモジュールについて,実現済みの機能を基に
,段階的に結合テストを行うことも可能ではある。この
場合においても,実現済みの機能,テスト項目に必要な
機能等の情報について,一時的な結合テストに必要な機
能が実現されていることを確かめる問題は,前記と同様
のインタフェース整合性の問題として扱うことができる
【0009】ところで,前に述べたような,複数のモジ
ュールに分割する場合において,分割する目安というも
のは,今のところ存在せず,設計者の経験や,解決する
問題や要求の分析によって行われている。このシステム
の設計時に行なわれるモジュール分割に対して,実際の
要求通りに動作するか,好ましいシステム構成(モジュ
ール分割)であるかなどの検証も,プログラムの開発と
同様のインタフェースの整合性の問題として扱うことが
できる。
【0010】また,プログラムの開発ではなく,文書の
編集作業で文書を挿入したり,削除したりする場合にお
いても,文書の文字サイズ,フォント,行下がり,その
他の文書制御情報について,挿入・削除による他の文書
への影響を確かめる問題は,前記と同様のインタフェー
スの整合性の問題として扱うことができる。
【0011】
【発明が解決しようとする課題】本発明は,システムを
構成するモジュールを結合した場合の処理結果の検証を
,・モジュール単体で,他と結合せずに,外部への影響
を調べたり,・仕様にはない,余計な外部への影響を検
出したり,・級数的に増加してしまいがちなモジュール
間の検証の組み合わせを,少ないコストで抑えたり,す
ることを目的とする。
【0012】さらに,・与えられた仕様通りにモジュー
ルを実現したか,・仕様に記述していること以外の影響
を他に対して行っていないか,等の検証や,設計時にお
けるモジュール間インタフェースの検証,文書作成時に
おける挿入,削除による他文書への影響の検証,の実現
を目的とする。
【0013】すなわち,本発明は,モジュール等のテス
トおよび設計のために,インタフェースの整合性を効率
良く検証できるインタフェース検証処理方式を提供する
ことを目的とする。
【0014】
【課題を解決するための手段】図1ないし図5は,本発
明の構成を示すブロック図である。図1は,請求項1記
載の発明に対応する構成を示すブロック図であり,図中
,10はCPUやメモリなどからなる処理装置,11は
プログラムや文書等の管理単位であるモジュールまたは
それらが集まったモジュール群,12は情報収集部,1
3は情報収集部12が収集した情報の集合,14は検証
部,15は集合演算機構,16は判定部,17は検証結
果の出力情報を表す。
【0015】この発明では,情報収集部12と検証部1
4とを有する。情報収集部12は,与えられた複数のモ
ジュールまたはモジュール群11から,それぞれ,その
内部に記述されている所定のオペレーションの対象とな
る情報の識別情報を収集し,それを要素とする集合13
をそれぞれ入力した複数のモジュール(またはモジュー
ル群)ごとに作成する。
【0016】所定のオペレーションとは,検証しようと
するものがプログラムである場合,例えば定義,宣言,
参照,設定,割り当て,呼び出し等といった命令の種類
などであり,オペレーションの対象となる情報とは,変
数,配列・構造体・データベース等のデータ,機能,関
数等である。
【0017】また,検証部14は,集合演算機構15と
判定部16とを持つ。集合演算機構15にて,二つ以上
の集合13を入力し,所定の集合演算を行い,対応する
オペレーション間の関係を示すその演算結果を判定部1
6にて取り出して診断し,所定の結果の出力情報17を
出力する。
【0018】一般に,二つの集合A,Bに関しては,図
6の(a) 〜(d) に示すような関係が成り立つ。 ここで,図6(a) における(x) の部分はA−B
図6(a) における(y) 部分はA∩B図6(a)
 における(z) の部分はB−Aであり,A={a,
b,c,d},B={b,d,e,f}であるとした場
合には, A∪B={a,b,c,d,e,f},A∩B={b,
d}, A−B={a,c}, となる。
【0019】図6の(b) 〜(d) は,図6(a)
 の特殊な場合の状態を示している。ここで,図6の(
b) はA=Bの状態を示し,図6の(c) はB⊂A
を,図6の(d) はA⊂Bを,示している。
【0020】ここでは,二つの集合に関しての集合演算
を示しているが,特に,演算対象とする集合は二つであ
る必要はなく,例えば図6の(e) に示すように,複
数の集合に対して集合演算を行っても同様の関係が得ら
れる。
【0021】図2は,請求項2記載の発明に対応する構
成を示すブロック図であり,図中の符号は,図1に示す
ものに対応する。この発明では,情報収集部12は,与
えられた一つのモジュールまたはモジュール群11から
,その内部に記述されている,所定のオペレーション(
定義,宣言,参照,設定,割り当て,呼び出し等)ごと
に,その対象となる情報(変数,データ〔配列,構造体
,データベース等〕,機能,関数等)の識別情報を収集
し,それを要素とする集合13をそれぞれ作成する。
【0022】また,検証部14は,集合演算機構15と
判定部16とを持つ。集合演算機構15にて,二つ以上
の集合13を入力し,所定の集合演算を行い,所与のモ
ジュール(モジュール群)内で,対応するオペレーショ
ン間の関係を示すその演算結果を判定部16により取り
出して診断し,所定の結果の出力情報17を出力する。
【0023】図3は,請求項3記載の発明に対応する構
成を示すブロック図であり,図中の符号は,図1または
図2に示すものに対応する。また,30は情報収集部1
2が行う情報収集の基準となる収集基準情報,31は集
合演算機構15が行う集合演算の種類を示す演算指示情
報,32は判定部16が行う判定の基準を示す判定基準
情報を表す。
【0024】図3に示す発明では,情報収集部12が情
報収集の基準となる収集基準情報30を入力し,一つま
たは複数のモジュール(またはモジュール群11)から
,その収集基準情報30に示されたオペレーションの対
象となる情報の識別情報を収集し,これを要素とする集
合13を作成する。
【0025】また,検証部14は,集合演算機構15と
判定部16とを持つ。集合演算機構15は,集合演算基
準となる演算指示情報31と二つ以上の集合13とを入
力し,集合演算基準に則った集合演算を行い,判定部1
6は,判定基準情報32と前記集合演算の結果とを入力
し,判定基準を基に,モジュールまたはモジュール群1
1間に跨がった,あるいは,その内部での,対応するオ
ペレーション間の関係を示すその演算結果を取り出して
診断し,所定の結果の出力情報17を出力する。
【0026】図4は,請求項4記載の発明に対応する構
成を示すブロック図であり,図中の符号は,図1または
図2に示すものに対応する。また,40は情報収集部1
2が行う情報収集の範囲を指定する位置指定を表す。
【0027】図4に示す発明では,情報収集部12が情
報収集範囲の位置指定40を入力し,一つまたは複数の
モジュール(またはモジュール群11)から,その情報
収集範囲に示された範囲における所望の識別情報を収集
し,それを要素とする集合13を複数作成する。
【0028】図5は,請求項5記載の発明に対応する構
成を示すブロック図であり,図中の符号は,図1または
図2に示すものに対応する。また,50はモジュール群
11を実行する,またはその実行のシミュレーションを
行う実行部,51は実行部50の出力である実行ログと
収集する識別情報とを対応させた情報を記憶する対応表
を表す。
【0029】図5に示す発明では,新たに,実行部50
を有する。実行部50は,入力モジュール(またはモジ
ュール群11)内のオペレーションの実行(シミュレー
ト実行を含む)を行い,実行単位時間ごとに実行された
オペレーションの実行ログを収集し,情報収集部12へ
渡す。
【0030】情報収集部12は,実行ログと収集する識
別情報とを対応させ,実行ログを収集する識別情報に付
加し,それを要素とする集合13を作成する。
【0031】集合演算機構15で所定の集合演算を行い
,得られた演算結果に対して,判定部16にて,その各
要素に対して実行ログ(実行単位)を基準とした判定を
行い,実行の移り変わりを考慮したオペレーション間の
関係を示す結果の出力情報17を出力する。
【0032】
【作用】本発明によれば,オペレーションの対象となる
情報の識別情報を収集し,それらを要素とする集合を作
成し,それらの集合間で集合演算を行うことにより,モ
ジュール間またはモジュール内のインタフェースの整合
性を,一律に汎用的に検証できるようになる。
【0033】
【実施例】図7ないし図11は,本発明の実施例のシス
テム構成図である。また,図12は本発明の実施例によ
る文書編集時の検証の説明図,図13は情報収集部の処
理フロー,図14は集合演算の処理フローである。
【0034】まず,請求項1記載の発明についての実施
例を図7に従って説明する。・実現例〔情報収集部の実
現〕図7に示す情報収集部12の処理フローは,図13
に示すとおりである。なお,他の実施例についても同様
である。
【0035】図13に示すように,情報収集部12は,
以下の処理を与えられたすべてのモジュール70(また
はモジュール群)に対して行い,それぞれ集合13を作
成していく。与えられた一つ以上のモジュール70(ま
たは,モジュール群)に対して,そこに記述されている
オペレーションを読み込む。この読み込んだオペレーシ
ョンに対して,一つずつ,このモジュール(またはモジ
ュール群)における所定のオペレーションかどうかを判
定する。所定のオペレーションならば,これの対象とし
ている情報の識別情報を取り出し,同じ識別情報が既に
格納されていないならば,集合13にその要素として格
納する。もし,既に同じ識別情報が格納されているなら
ば,その識別情報は格納しない。上記の処理を,与えら
れた一つ以上のモジュール70(またはモジュール群)
のすべてのオペレーションに対して行う。
【0036】〔集合の内部表現〕集合13に格納されて
いる要素には同じものは存在せず,その要素間には順序
といった概念がない。そこで,重複格納を許さない順序
のないプール構造体を集合として利用する。このプール
構造体に対しては,−そこにxという要素が格納されて
いるか否かの判定 −そこにxという要素を格納 −格納されている要素の取り出し −格納されている要素の削除 といった処理が可能であるとする。
【0037】〔集合演算の実現〕集合演算には,和集合
(A∪B),積集合(A∩B),差集合(A−B),を
求める演算があり,集合演算機構15ではこれらを実現
する。また,これらの演算を複数の(三つ以上の)入力
に対しても,また,これらの演算を組み合わせた複合演
算も行なえるものとする。これらはソフトウェアによっ
て実現しても,また既存の集合演算装置を用いて実現し
てもよい。
【0038】『和集合(A∪B)』:和集合を求めるア
ルゴリズムを図14の(a) に示す。まず集合A(o
rB)のすべての要素を,結果として生成される集合(
を実現するプール構造体)に格納し,もう一方の集合B
(orA)の各要素に対して,以下の処理を要素がなく
なるまで繰り返し行う。取り出した要素が,結果の集合
にすでに同一のものが格納されていなければ,その要素
を結果の集合に格納し,すでに格納済みならば格納しな
い。
【0039】『積集合(A∩B)』:積集合を求めるア
ルゴリズムを図14の(b) に示す。集合A(orB
)の各要素に対して,以下の処理をそのすべての要素に
対して行う。取り出した要素と同じものが,もう一方の
集合B(orA)内に格納されているなら,その要素を
結果として生成される集合(を実現するプール構造体)
に格納し,同一のものがなければ,格納しない。
【0040】『差集合(A−B)』:差集合を求めるア
ルゴリズムを図14の(c) に示す。まず集合Aのす
べての要素を,結果として生成される集合(を実現する
プール構造体)に格納し,集合Bの各要素に対して,以
下の処理をそのすべての要素に対して行う。取り出した
要素と同一のものが,結果の集合内にすでに格納されて
いるなら,その要素を結果の集合から削除し,同一のも
のがなければ何もしない。
【0041】〔判定部の実現〕上記の集合演算機構15
で得られた集合に対して, (1) 集合が,空集合(要素がない集合)であるか否
かの判定を行ない, (2) もし要素があるなら,その集合のすべての要素
を取り出し, (3) 行なった集合演算に対応する意味づけを付加し
て,(4) 判定,行なった集合演算,要素,等を出力
する。
【0042】・モジュール間インタフェース検証システ
ム前記のような内部構成で実現したモジュール間インタ
フェース検証システムについて示す。図7において,情
報収集部12にて以下のような情報を収集する。−ある
モジュール(Module A)の内部で設定される変
数名を収集し,これを要素とする集合Aを作成する。−
別のあるモジュール(Module B)の内部で参照
される変数名を収集し,これを要素とする集合Bを作成
する。
【0043】ここで,たとえばモジュール内で以下のよ
うな記述があった場合, a=b 変数aは値設定される変数であり,変数bは値参照され
る変数であるとする。また,以下のような比較演算があ
った場合, a==b さらに,以下のような関数呼出しがあった場合,fun
c(a,b,c)  各変数a,b,cは値参照される変数であるとする。
【0044】次に,検証部14の集合演算機構15にて
以下のような集合演算を行う。 A∩B この演算結果(二つの集合の積集合)の要素がこのモジ
ュール(ModuleA)から別のモジュール(Mod
ule B)にデータを流す変数である,とみなすこと
ができる。そこで,判定部16では,この集合演算の結
果を出力する。
【0045】例えば,以下のようなModule A,
Module Bがあったとする。 Module A( ){ P=pct + STORAGE (*pct);CP
=pct + 1;  DET = 1;  L++; }
【0046】 Module B( ){ point = ST; point−>var_size=STORAGE(*
pct);point−>ret_env =E; p
utvalue(point−> ret_code,
DET,CP); point−>b_frame =
B; point−>lebel=L;  E=point ;  Y=ST+E_FRAME _SIZE; ST=Y+
STORAGE(*pct);P++;  }
【0047】すると,情報収集部12によって,A={
P,CP,DET,L} B={ ST, pct, E, point, DE
T, CP, B, L, E_ FRAME_SIZ
E, Y }が得られ,集合演算機構15によって,A
∩B={CP,L} が得られる。判定部16では,この結果を出力し,本シ
ステムの使用者に対して注意を促す。
【0048】・その他の例(1)ここで,あるモジュー
ル(Module A)として複数のモジュールからな
るモジュール群を想定してもよく,また,別のあるモジ
ュール(Module B)として先のモジュール(ま
たはモジュール群)を含まない複数のモジュールからな
るモジュール群を想定してもよい。
【0049】次に,請求項2記載の発明を採用した,モ
ジュール内インタフェースの検証システムの例について
,図8に従って説明する。
【0050】・モジュール内インタフェース検証システ
ム図8において,情報収集部12は,以下のような情報
を収集する。 −このモジュール70の内部で定義(割り当て)された
変数名を収集し,それを要素とする集合Aを作成する。 −このモジュール70の内部で値が参照される変数名を
収集し,それを要素とする集合Bを作成する。 −このモジュール70の内部で値が設定される変数名を
収集し,それを要素とする集合Cを作成する。
【0051】このようにして,情報収集部12で収集さ
れたこれらの変数名を要素とする集合に対して,検証部
14に図6の(e) に示すような集合演算を行う。
【0052】その結果から以下のように判定できる。 (1) (B∪C)−Aの要素:図15(a) 斜線部
分。モジュールの外で定義(割当て)されているものを
利用(値参照,値設定)している変数。 (2) A−(B∪C)の要素:図15(b) の斜線
部分。モジュールの外で利用(値参照,値設定)されて
いる変数。あるいは,他では未使用である変数。 (3) B−Cの要素:図15(c) の斜線部分。モ
ジュール外で値設定している(それを内部で値参照して
いる)変数。 (4) C−Bの要素:図15(d) の斜線部分。(
この内部での値設定を)モジュール外で参照している変
数。判定部16では,このような判定結果,並びに,そ
の要素を出力する。
【0053】以下に,処理の例を示す。 module Module A{ FILE  *fd; char  my_buffer[BUFSIZ]; 
char  *file _name=”test.d
at”; fd=fopen(file_name,”
r”);… printf(”%s”, my_buffer);… }
【0054】この時,モジュールModule Aに対
して情報収集すると,以下のような集合が作成される。 内部定義A={fd, my_buffer, fil
e_name}値参照B={BUFSIZ, file
_name, my_buffer}値設定C={fi
le_name, fd}
【0055】この時, (B∪C)−A={BUFSIZ} A−(B∪C)=φ B−C={ BUFSIZ , my_ buffer
 }C−B={fd} が得られる。また,結果として図16のような出力をお
こなう。
【0056】以下に,請求項1および請求項2で記載し
た発明を利用した,モジュール内およびモジュール間イ
ンタフェースの検証システムについて説明する。これは
,陽にモジュール外への入出力を明示するようなモジュ
ールにおける,その指示の正当性を検証する検証システ
ムである。
【0057】図9において,情報収集部12は,以下の
ような情報を収集する。・このモジュール70の内部で
定義(割当て)された変数名を収集し,それを要素とす
る集合Aを作成する。・このモジュール70の内部で値
設定される変数名を収集し,それを要素とする集合Cを
作成する。・このモジュール70の内部で明示されたモ
ジュール外部への出力の変数名を収集し,それを要素と
する集合Dを作成する。・このモジュール70以外の全
てのモジュールで参照される変数名を収集し,それを要
素とする集合Fを作成する。・このモジュール70以外
の全てのモジュールで設定される変数名を収集し,それ
を要素とする集合Gを作成する。
【0058】検証部14においては,まず集合演算機構
15にて,集合演算 H1 =(A∪C)∩(F∪G)−D H2 =D−(A∪C)∩(F∪G) を行う。判定部16では,この演算結果H1 ,H2 
に対して, H1 =H2 =φ であるかどうかをチェックし,そうであれば,陽に明示
されているモジュール外への出力表示とモジュール内の
処理との整合性がとれているものであるとの情報を出力
する。そうでなければ,整合性がとれていない旨のメッ
セージを出力し,必要に応じて,前記の集合演算結果を
も出力する。
【0059】また,同様にして,情報収集部12にて以
下のような処理を行う。 ・このモジュール70の内部で定義(割り当て)された
変数名を収集し,それを要素とする集合Aを作成する。 ・このモジュール70の内部で値参照される変数名を収
集し,それを要素とする集合Bを作成する。 ・このモジュール70の内部で値設定される変数名を収
集し,それを要素とする集合Cを作成する。 ・このモジュール70の内部で明示されたモジュール外
からの入力の変数名を収集し,それを要素とする集合E
を作成する。 ・このモジュール70以外の全てのモジュールで設定さ
れる変数名を収集し,それを要素とする集合Gを作成す
る。
【0060】検証部14においては,まず集合演算機構
15にて,集合演算 H1 =((( B∪C)∩G)−A)−EH2 =E
−((( B∪C)∩G)−A)を行う。判定部16で
は,この演算結果H1 ,H2 に対して, H1 =H2 =φ であるかどうかをチェックし,そうであれば,陽に明示
されているモジュール内への入力表示とモジュール内の
処理との整合性がとれているものであるとの情報を出力
する。そうでなければ,整合性がとれていない旨のメッ
セージを出力し,必要に応じて,前記の集合演算結果を
も出力する。
【0061】これで,陽に明示されているモジュール外
との入出力の記述が正しいものであるかどうかが検証さ
れる。
【0062】次に,請求項3で記載した発明の実現例に
ついて説明する。図10に本実現例のシステム構成図を
示す。
【0063】基準作成部101:ユーザ入力100から
,情報収集基準の収集基準情報30,集合演算基準の演
算指示情報31,判定基準の判定基準情報32を作成す
るものである。基準作成のアルゴリズムを以下に示す。 (1) ユーザ入力100を読み込み,(2) その入
力を解析し, (3) そこから,必要な情報収集の基準,集合演算の
基準,判定の基準の情報を取り出し, (4) 各基準をそれぞれの形式に従って作成し,(5
) 情報収集基準,集合演算基準,判定基準として,そ
れぞれ,情報収集部12,集合演算機構15,判定部1
6へ渡す。また,この基準作成部101にて,一括して
ユーザ入力100を得るのではなく,ユーザに逐次必要
な基準を問い合わせて,それから情報収集基準,集合演
算基準,判定基準を,それぞれ作成してもよい。
【0064】収集基準情報30:収集する識別情報を指
示するものである。ここには,生成する集合に対して,
それぞれ収集対象のモジュール(またはモジュール群)
と,オペレーションとその対象となる情報とが指定され
る。
【0065】演算指示情報31:実施する集合演算を指
定するものである。指定可能な集合演算として,A∪B
,A∩B,A−Bといった基本演算と,これらを複数結
合した複合演算があり,これらが指定可能であるとする
【0066】判定基準情報32:集合演算結果を判定す
る判断材料である。指定した集合演算結果に対する判定
が指定される。また必要に応じて,その意味付けが指定
されてもよい。
【0067】ユーザ入力100の例:ユーザ入力100
の例を以下に示す。これは以下のことを意味する。集合
Aは,モジュールModule A,Module B
内に出現するオペレーションset/2 に対して,そ
の第0引数に出現するデータを要素とする。
【0068】集合Bは,モジュールModule C内
に出現するオペレーションget/2 に対して,その
第0引数に出現するデータを要素とする。(例において
,オペレーション引数中の“−”は,その引数値は無視
することを示すものである。)
【0069】この二つの集合A,Bの和集合が空集合で
ある必要がある。           SET:A={x|set(x,
−)∈(Module A∪Module B)}  
        SET:B={y|get(y,−)
∈(Module C}          RESU
LT:A∩B==φ
【0070】このようなユーザ入力
を得た場合,各情報収集基準,集合演算基準,判定基準
は,それぞれ,以下のような形式となる。 情報収集基準: BEGIN  A READ:Module A,Module BOPE
RATION:set/3  DATA:ARITY(0) END BEGIN  B READ:Module C OPERATION:get/3  DATA:ARITY(0) END 集合演算基準: RESULT=A∩B 判定基準: RESULT==φ
【0071】情報収集部12:情報判定基準を基に,作
成する集合に対するモジュールを読み込む。この読み込
んだオペレーションに対して,一つずつ,情報判定基準
で指定されたオペレーションかどうかを判定する。指定
されたオペレーションならば,情報判定基準で指定され
た,対象となる情報の識別情報を取り出し,同じ識別情
報が既に格納されていないならば,作成する集合にその
要素として格納する。もし,既に同じ識別情報が格納さ
れているならば,その識別情報は格納しない。
【0072】上記の処理を,情報判定基準で指定された
モジュール(またはモジュール群)のすべてのオペレー
ションに対して行う。これを,情報収集基準で指定され
た,作成すべき全ての集合に対して行い,それぞれ集合
を作成していく。
【0073】集合演算機構15:集合演算機構15では
,集合演算基準に示された集合演算を行う。判定部16
: 判定部16では,判定基準に示す通りの結果であるかど
うか判定し,その趣旨を出力する。また必要に応じて,
集合演算結果,ユーザが指定したコメント,等を出力し
てもよい。
【0074】・前記実施例を利用した仕様書レベルでの
検証システムの実行例を,以下に示す。 入力モジュールの例: Module A: (1) A(i) の値をY(n) に設定する。 (2) pct を進める。
【0075】Module B: (1) UnboundをGに設定する。 (2) Gへのreference をX(n) に設
定する。 (3) Gへのreference をA(n) に設
定する。 (4) pct を進める。 (5) Gを進める。
【0076】Module C: (1) Y(n) の値を取り出す。 (2) Y(n) が変数であればY(n) へのre
ference をA(i) に設定する。 (3) そうでなければ,Y(n) の値をA(i) 
に設定する。 (4) pct を進める。
【0077】ユーザ入力の例:           SET:A={x|xに設定する
∈(Module A∪Module B)}    
      SET:B={y|yの値を∈Modul
e C}          RESULT:PRIN
TOUT:=A∩B
【0078】情報収集基準: BEGIN  A READ:Module A,Module BOPE
RATION:設定する DATA:PRE(に) END BEGIN  B READ:Module C OPERATION:値を DATA:PRE(の) END
【0079】集合演算基準: RESULT=A∩B 判定基準: PRINTOUT  RESULT 集合: A={Y(n),G,X(n),A(n),A(i) 
}B={A(i),Y(n) } 集合演算結果並びに出力結果: A∩B={Y(n),A(i) }
【0080】・その他の例(1)前記実施例において,
情報収集基準,集合演算基準,判定基準それぞれが何も
指定されなくてもよい。また,各基準情報が接続してい
なくてもよい。この場合,ユーザ入力中にデフォルト値
を指定する旨が記述されているか,または各基準を作成
するのに必要な情報がない場合,基準作成部101にて
,必要に応じてデフォルト値で処理を行う旨をユーザに
示し,基準作成部101が保持するデフォルト値を各基
準の値として対応する処理部へそれぞれの基準を渡す。 または,各基準内にデフォルト値である趣旨を記述する
【0081】デフォルト値で処理することを示す各基準
の例を以下に示す。情報収集基準: BEGIN  A DEFAULT END BEGIN  B DEFAULT END 集合演算基準: RESULT=DEFAULT 判定基準: DEFAULT
【0082】・その他の例(2)前記実施例において,
さらに,各情報収集部12,集合演算機構15,判定部
16にて,それぞれユーザ入力を受け付けることで,そ
れぞれの実行をリアルタイムに変更させてもよい。
【0083】次に,請求項4で記載した発明の実現例を
説明する。その構成は,図4に示すとおりである。
【0084】収集範囲の指定:情報収集部12にて収集
を行う範囲を指定するものである。範囲の指定方法とし
て,ここでは,生成する集合ごとに,それぞれ,モジュ
ール名とそれぞれの収集開始位置と収集終了位置とを指
定する。範囲の指定を,入力した全てのモジュールに対
する先頭から最後までとすると,請求項1または請求項
2記載の発明と同様の結果が得られる。
【0085】また,範囲収集の例として,以下のような
指示が可能とする。     BEGIN  A     READ:Module A:=TOP  T
O  CALL(func/3)          
    Module B:=ALL    END     BEGIN  B     READ:Module C:=DEFINI
TION(func/3)             
 Module B:=ALLEND
【0086】これは,以下のことを意味する。集合Aを
作成する場合,モジュールModule A内の先頭か
ら関数func/3の呼び出しまでと,モジュールMo
dule B内の全てに出現するオペレーションが情報
収集対象である。集合Bを作成する場合,モジュールM
odule C内の関数func/3の定義に出現する
オペレーションが情報収集対象である。
【0087】情報収集部12:情報収集部12では,範
囲指定に示された各モジュールに対して,それぞれ情報
収集開始位置まで読み飛ばし,そこから,前記実施例に
示した方法等により情報を収集する。読み取りながらそ
れが情報収集終了位置であるかどうか判断し,情報収集
終了位置であるなら読込みを終了する。そうでなければ
,情報の収集を繰り返す。
【0088】〔文書制御情報インタフェース検証システ
ム〕以下に,請求項2,請求項4で記載した発明の実現
例として,文書制御情報インタフェース検証システムを
説明する。
【0089】図11に示す処理方式は,例えば文書作成
システムの一部として組み込まれ,図12に示すように
ある文書110Aと文書110Bとが連続してなる第一
の文書の,文書と文書との間に文書110Cを挿入する
場合,または連続する文書から,部分的に文書を削除す
る場合に,文書の挿入または削除の前後で,文書に対す
るモジュールサイズ,フォント,行下がり,章番号,そ
の他の文書制御情報が一貫性を保持するかをチェックす
る機能を構成するものである。
【0090】そこで,情報収集部12は,文書で設定さ
れている文書制御情報と,文書内で設定されている文書
制御情報とを受け取ると,文書制御情報から文書に入力
される文書制御情報の集合としてA集合を生成する。ま
た文書に入力される文書制御情報と文書で設定されてい
る文書制御情報とから,文書の終了点で保存され,文書
に入力されるべき文書制御情報の集合としてB集合を生
成する。
【0091】このA集合とB集合について,検証部14
が前記と同様に集合演算機構15による集合演算を実行
し,判定部16がその演算結果と,演算結果による判定
を出力情報として出力する。但し,この場合には,共通
集合  C=A∩B 差集合    D1 =A−B および    D2 =B−A を求め, C≠φ,D1 =D2 =φ であれば問題はないが,その他の結果を得た場合には,
D1 およびD2 についての影響の有無を調べる必要
があることの警告を発する。
【0092】次に,請求項5で記載した発明の実現例を
説明する。その構成は,図5に示すとおりである。
【0093】実行部50:実行部50では,指定された
モジュール(またはモジュール群)に記述されたオペレ
ーションの実行を行い,実行単位時間ごとに実行された
オペレーションの実行ログを収集し,情報収集部12へ
渡す。この実行部50について,図17にその構成図を
,図18にその処理フローを示す。
【0094】実行部50は,図17に示すように,オペ
レーション解析部172と,オペレーション実行部17
3とを持つ。また,オペレーション・ポインタ171を
持ち,実行スタック175と,変数名とその値とを格納
する変数情報テーブル176を持つ。また,実行結果を
出力する実行ログ出力部174を持つ。
【0095】まず,オペレーション列170における最
初に実行すべきオペレーションを指すように,オペレー
ション・ポインタ171を設定する。そして,以下の処
理を,最後のオペレーション(或いは,実行すべきオペ
レーションがなくなる)まで繰り返す。
【0096】オペレーション・ポインタ171の指すオ
ペレーションを取り出し,そのオペレーションをオペレ
ーション解析部172で解析することにより,その処理
を決定し,オペレーション実行部173でそのオペレー
ションを実行する。この時,実行したオペレーションの
情報を実行ログ出力部174で出力する。
【0097】この実行したオペレーションが変数に対す
る処理ならば,その結果を変数情報テーブル176へ反
映させる。また,実行制御の処理なら,オペレーション
・ポインタ171と実行スタック175に反映させる。 なお,この実行部50は既存のトレーサを用いて実現し
てもよい。
【0098】実行ログ: 実行ログの例を以下に示す。 1:Module A(1) :main(argc,
argv) {2:Module A(6) :if(
1<argc){3:Module A(7) :fu
ncA(num,argv,&argument); 
4:Module B(1) :funcA(num,
argv,argument_ p) { 5:Module B(5) :for(i=1;6:
Module B(5) :i<num; i++) 
{7:Module B(10):return(1)
 8:Module A(8) :funcB(num
,argument); …
【0099】情報収集部12:情報収集部12では,実
行部50で作成された実行ログと実行したモジュール(
モジュール群)とを対応させ,所定の識別情報(ここで
は変数名)を収集し,この対応を対応表51として作成
し,識別情報を要素とする集合を作成する。
【0100】集合13:情報収集部12で生成された集
合の例を示す。ここで,集合Aは設定される変数名を要
素とする集合であり,集合Bは参照する変数名を要素と
する集合であるとする。 A={argc,argv,num,argument
_p,i,...}B={argc,num,argv
,i,argument,...}
【0101】対応表
51:
【0102】判定部16: 集合演算機構15にて, C1 =A−B={argument_p,…}C2 
=B−A={argument,…}C3 =A∩B=
{argc,argv,num,i,... }が得ら
れる。
【0103】判定部16では,集合C3 の各要素に対
して,対応表から, argc:A(1),B(2),… argv:A(1),B(3),… num :B(3),A(4),B(6),B(8),
…i :A(5),B(6),… … という情報を得る。これより,変数num が設定より
先に参照していると判断でき,警告メッセージを出力す
る。
【0104】・その他の例(1)前記の実施例において
,情報収集部12にて,プログラム中の変数名を識別情
報として,これを要素とする集合を作成したが,特に,
変数名でなくてもよい。データベース,配列,構造体,
等の意味を持ってまとめられたデータの識別子を,変数
名と同様に,要素とする集合を作成することでも,同様
の効果をあげることができる。
【0105】・その他の例(2)前記の実施例において
,プログラムや仕様書等の記述を基に情報収集している
が,プログラムの実行中における割り当てられたメモリ
上のアドレスを基に情報収集を行ってもよい。
【0106】・その他の例(3)前記の実施例において
説明したシステムでは,情報収集部12は一つであるが
,収集する情報ごとに,複数の情報収集部12が存在し
てよく,これらで同時に集合を作成してもよい。
【0107】
【発明の効果】以上説明したように,本発明によれば,
複数のモジュールから構成されるようなシステムにおい
て,・あるモジュールに注目して,そのモジュールが与
えるシステム内,あるいは他モジュールへの影響,・あ
るモジュールに関する仕様と実際の処理プログラムとの
違い,・設計におけるモジュール間のインタフェース,
等の検証を行うことが容易に実現でき,大規模システム
の開発に寄与するところが大きい。
【図面の簡単な説明】
【図1】本発明の構成を示すブロック図である。
【図2】本発明の構成を示すブロック図である。
【図3】本発明の構成を示すブロック図である。
【図4】本発明の構成を示すブロック図である。
【図5】本発明の構成を示すブロック図である。
【図6】本発明の実施例を説明するための集合の関係図
である。
【図7】本発明の実施例のシステム構成図である。
【図8】本発明の実施例のシステム構成図である。
【図9】本発明の実施例のシステム構成図である。
【図10】本発明の実施例のシステム構成図である。
【図11】本発明の実施例のシステム構成図である。
【図12】本発明の実施例に係る文書編集時の検証の説
明図である。
【図13】本発明の実施例に係る情報収集部の処理フロ
ーを示す図である。
【図14】本発明の実施例に係る集合演算の処理フロー
を示す図である。
【図15】本発明の実施例を説明するための3集合の関
係図である。
【図16】本発明の実施例による実行結果の例を示す図
である。
【図17】本発明の実施例に係る実行部の構成図である
【図18】本発明の実施例に係る実行部の処理フローを
示す図である。
【符号の説明】
10    処理装置 11    モジュール群 12    情報収集部 13    集合 14    検証部 15    集合演算機構 16    判定部 17    出力情報

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】  それぞれ,種類と対象とを持つような
    オペレーションが複数個集まって一つのモジュールを構
    成し,このようなモジュールが複数存在して,一つのシ
    ステムを構成している検証対象物のインタフェースの整
    合性を,計算機により検証するインタフェース検証処理
    方式であって,モジュールまたは一つ以上のモジュール
    から構成されるモジュール群(11)を一つ以上入力し
    ,それぞれのモジュールまたはモジュール群(11)の
    入力ごとに,所定のオペレーションの対象となる情報の
    識別情報を収集し,これを要素とする集合(13)を作
    成する情報収集部(12)と,集合演算機構(15)と
    判定部(16)とを持ち,集合演算機構(15)により
    ,前記情報収集部(12)で作成された二つ以上の集合
    (13)を入力して所定の集合演算を行い,判定部(1
    6)により,対応するオペレーション間の関係が得られ
    る演算結果を出力する検証部(14)とを備え,モジュ
    ール間のインタフェースを検証することを特徴とするイ
    ンタフェース検証処理方式。
  2. 【請求項2】  それぞれ,種類と対象とを持つような
    オペレーションが複数個集まって一つのモジュールを構
    成し,このようなモジュールが一つ以上存在して,一つ
    のシステムを構成している検証対象物のインタフェース
    の整合性を,計算機により検証するインタフェース検証
    処理方式であって,与えられたモジュールから,所定の
    オペレーションごとに,その対象となる情報の識別情報
    を収集し,この識別情報を要素とする集合(13)をオ
    ペレーションごとに複数個作成する情報収集部(12)
    と,集合演算機構(15)と判定部(16)とを持ち,
    集合演算機構(15)により,前記情報収集部(12)
    で作成された二つ以上の集合(13)を入力して所定の
    集合演算を行い,判定部(16)により,モジュール内
    で対応するオペレーション間の関係が得られる演算結果
    を出力する検証部(14)とを備え,モジュール内のイ
    ンタフェースを検証することを特徴とするインタフェー
    ス検証処理方式。
  3. 【請求項3】  請求項1または請求項2記載のインタ
    フェース検証処理方式において,前記情報収集部(12
    )は,情報収集の基準となる収集基準情報(30)を入
    力することにより,ユーザ定義オペレーションの対象と
    なる情報の識別情報を収集し,これを要素とする集合(
    13)を複数作成する手段を持ち,前記検証部(14)
    における集合演算機構(15)は,前記情報収集部(1
    2)で作成された二つ以上の複数の集合(13)と集合
    演算の基準となる演算指示情報(31)とを入力し,そ
    の演算指示情報(31)で指定された集合演算を行う手
    段を持ち,前記検証部(14)における判定部(16)
    は, 集合演算結果と判定の基準となる判定基準情報(
    32)とを入力し,これらを基に,対応するオペレーシ
    ョン間の関係が得られる判定結果を出力する手段を持つ
    ことを特徴とするインタフェース検証処理方式。
  4. 【請求項4】  請求項1または請求項2記載のインタ
    フェース検証処理方式において,前記情報収集部(12
    )は,各モジュールまたはモジュール群(11)内の情
    報を収集する範囲を指定する位置指定(40)を入力し
    ,その範囲内で所定のオペレーションの対象となる情報
    の識別情報を収集し,これを要素とする集合(13)を
    作成する手段を持つことを特徴とするインタフェース検
    証処理方式。
  5. 【請求項5】  請求項1または請求項2記載のインタ
    フェース検証処理方式において,モジュールまたはモジ
    ュール群(11)内のオペレーションを実行し,その実
    行ログを出力する実行部(50)を備え, 前記情報収
    集部(12)は,収集する識別情報に,それぞれ対応す
    る実行ログを付加させ,それを要素とする集合(13)
    を作成する手段を持ち,前記検証部(14)における判
    定部(16)は,集合演算機構(15)で得られた集合
    演算の結果から,その結果の集合の各要素に対して,実
    行ログを基準とした判定を行ない,実行単位時間ごとに
    変化するオペレーション間の関係を示す結果を出力する
    手段を持つことを特徴とするインタフェース検証処理方
    式。
JP3020575A 1991-01-21 1991-01-21 インタフェース検証処理方式 Expired - Lifetime JP2735698B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP3020575A JP2735698B2 (ja) 1991-01-21 1991-01-21 インタフェース検証処理方式
US07/823,115 US5355479A (en) 1991-01-21 1992-01-21 Interface conformance verification system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3020575A JP2735698B2 (ja) 1991-01-21 1991-01-21 インタフェース検証処理方式

Publications (2)

Publication Number Publication Date
JPH04237341A true JPH04237341A (ja) 1992-08-25
JP2735698B2 JP2735698B2 (ja) 1998-04-02

Family

ID=12031004

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3020575A Expired - Lifetime JP2735698B2 (ja) 1991-01-21 1991-01-21 インタフェース検証処理方式

Country Status (2)

Country Link
US (1) US5355479A (ja)
JP (1) JP2735698B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008203977A (ja) * 2007-02-16 2008-09-04 Nec Corp ソフトウェア検証装置、ソフトウェア検証方法およびソフトウェア検証プログラム
JP5967225B2 (ja) * 2013-01-21 2016-08-10 日産自動車株式会社 データ更新漏れ検査装置、データ更新漏れ検査方法、データ更新漏れ検査プログラム

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999042935A1 (en) * 1998-02-23 1999-08-26 Ip Warehouse, Inc. System for searching and monitoring information on a computer network
US6973560B1 (en) * 1999-07-16 2005-12-06 Lamarck, Inc. Fault tolerant and combinatorial software environment system, method and medium
US6895551B1 (en) 1999-09-23 2005-05-17 International Business Machines Corporation Network quality control system for automatic validation of web pages and notification of author
US7076767B1 (en) * 1999-12-30 2006-07-11 Unisys Corporation Method for controlling and collecting information in a data processing system
GB2365156B (en) * 2000-07-24 2003-08-20 Motorola Inc Generating Co-Ordination Messages for use in Distributed Test Scripts
US7363618B2 (en) * 2001-02-14 2008-04-22 International Business Machines Corporation Software testing
US7296228B2 (en) * 2002-12-17 2007-11-13 International Business Machines Corporation Document editing by blocks and groups
JP2005258964A (ja) * 2004-03-12 2005-09-22 Nec Corp データ処理システム、データ処理方法及びデータ処理プログラム
US9396095B2 (en) * 2014-05-15 2016-07-19 Fujitsu Limited Software verification
CN106874181B (zh) * 2016-06-28 2020-09-29 阿里巴巴集团控股有限公司 一种接口转换的验证方法和装置
US11074069B2 (en) 2019-06-06 2021-07-27 International Business Machines Corporation Replaying interactions with transactional and database environments with re-arrangement
US11036619B2 (en) * 2019-06-06 2021-06-15 International Business Machines Corporation Bypassing execution of a module in real-time
US10915426B2 (en) * 2019-06-06 2021-02-09 International Business Machines Corporation Intercepting and recording calls to a module in real-time
US11016762B2 (en) * 2019-06-06 2021-05-25 International Business Machines Corporation Determining caller of a module in real-time
US10929126B2 (en) 2019-06-06 2021-02-23 International Business Machines Corporation Intercepting and replaying interactions with transactional and database environments
CN110503341A (zh) * 2019-08-27 2019-11-26 云汉芯城(上海)互联网科技股份有限公司 一种基于bom选型的校验方法、装置
CN112306879A (zh) * 2020-11-02 2021-02-02 平安普惠企业管理有限公司 接口参数校验方法、装置、设备及存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4553261A (en) * 1983-05-31 1985-11-12 Horst Froessl Document and data handling and retrieval system
US4906988A (en) * 1987-01-27 1990-03-06 Rand Mcnally & Co. Object verification system and method
US5159548A (en) * 1988-06-17 1992-10-27 Banctec, Inc. Apparatus and method for priority processing of financial documents using video image capture

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008203977A (ja) * 2007-02-16 2008-09-04 Nec Corp ソフトウェア検証装置、ソフトウェア検証方法およびソフトウェア検証プログラム
JP5967225B2 (ja) * 2013-01-21 2016-08-10 日産自動車株式会社 データ更新漏れ検査装置、データ更新漏れ検査方法、データ更新漏れ検査プログラム

Also Published As

Publication number Publication date
JP2735698B2 (ja) 1998-04-02
US5355479A (en) 1994-10-11

Similar Documents

Publication Publication Date Title
JPH04237341A (ja) インタフェース検証処理方式
CA2107833C (en) Regeneration of process control flow diagrams for programmable logic controllers
Zage et al. Evaluating design metrics on large-scale software
CN110554958A (zh) 图数据库测试方法、系统、设备和存储介质
US5862382A (en) Program analysis system and program analysis method
WO2011060655A1 (zh) 软件业务功能覆盖率的统计方法及系统
CN106682036A (zh) 一种数据交换系统及其交换方法
CN111324540B (zh) 一种接口测试方法及装置
CN111290956A (zh) 基于脑图的测试方法、装置、电子设备及存储介质
CN111767227A (zh) 一种录制回放测试的方法及装置
CN111353754A (zh) 流程模板的生成方法、装置、电子设备及可读存储介质
CN113703739B (zh) 基于omiga引擎的跨语言融合计算方法、系统及终端
JPH096628A (ja) 並列処理手続き選定装置及び方法
CN112685316A (zh) 代码执行路径的获取方法、装置、计算机设备及存储介质
CN112527573A (zh) 一种接口测试方法、装置及存储介质
CN113282496B (zh) 接口自动测试方法、装置、设备及存储介质
CN115470106A (zh) 一种可重构芯片的验证方法和系统
JP2009193488A (ja) ソフトウェアテスト項目編集支援装置およびソフトウェアテスト項目編集支援方法
CN109685453B (zh) 智能识别工作流有效路径的方法
US20050114736A1 (en) Methods and systems for testing software development
JP2751539B2 (ja) インタフェース検証処理方式
CN108984390B (zh) 用于信号系统离线工具的自动化测试通用框架及其应用
JP3322129B2 (ja) 情報自動生成方法
JP6949441B2 (ja) ベクタ適正化装置及びベクタ適正化用プログラム
CN1069354A (zh) 控制程序的准备方法及其准备设备

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: 19971216

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080109

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090109

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100109

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110109

Year of fee payment: 13

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110109

Year of fee payment: 13

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120109

Year of fee payment: 14