JPH02151933A - 仕様模擬実行方式 - Google Patents

仕様模擬実行方式

Info

Publication number
JPH02151933A
JPH02151933A JP63306071A JP30607188A JPH02151933A JP H02151933 A JPH02151933 A JP H02151933A JP 63306071 A JP63306071 A JP 63306071A JP 30607188 A JP30607188 A JP 30607188A JP H02151933 A JPH02151933 A JP H02151933A
Authority
JP
Japan
Prior art keywords
data
state
transition
transition condition
simulation execution
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.)
Pending
Application number
JP63306071A
Other languages
English (en)
Inventor
Yoichi Kogure
小暮 陽一
Hiroyuki Maezawa
前澤 裕行
Kimito Takatate
公人 高舘
Toshio Kinoshita
敏夫 木下
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP63306071A priority Critical patent/JPH02151933A/ja
Publication of JPH02151933A publication Critical patent/JPH02151933A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

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

Description

【発明の詳細な説明】
〔産業上の利用分野〕 本発明は、仕様の模擬実行方法に係り、例えば、図形に
よって表現された仕様を、計算機の対話型端末上で対話
的に検証する場合に好適な仕様模擬実行方式に関する。 〔従来の技術〕 従来、システムの動特性を記述する仕様記述法としては
ペトリネット(Petri−Nets)があり、ペトリ
ネットで記述したシステムの動作の模擬実行に関しては
、例えばニー・シー・より 、シクソフト、ソフトウェ
アエンジニアリンク・ノー1〜、第12巻第3号(19
87年)第25頁から第;36頁(ACM 5IGSO
FT、 Software IEnHjneerjnV
、Notes。 Vol、 12. 、No、3(1987)、pp、2
5−36)に示されるように、プロセスの内容を特定の
#計算機汀語で記述し、それを実行することによって仕
様を模擬実行する方式があった。 第17図は、本従来技術で扱われるぺI〜リネットの例
を示す図である。1701.1702゜1703は、デ
ータ(システムまたはソフトウェアで扱われる物質並び
に情報一般)に相当するプレース(P 、i a c 
e )、」704はプロヤス(データに対する何らかの
操作を表わす処理)に相当するトランジション(Tra
nsitjon) 、1705 、1706゜]707
はプレースとトランジションを結合するアーク(Arc
)、1708はデータの状態に相当するトークン(1’
oken)であり、ペトリネットはこの四つの記述要素
の組合せによって記述される。本従来技術では、ぺ1−
リネットで記述された仕様中の各トランジションに対し
て、その動作内容をスモールl−−り(Smal、]、
ta1.k)という特定の計算機言語で記述すると共に
、遷移条件に相当する条件を、プレースからトランジシ
ョンへ移行するための前条件(Precondit、1
on)及びトランジションからプレースへ移行するため
の後条件(Postcondj、tion)の組として
、これもスモールドータに準拠した形式で設定1゛る。 操作者は、仕様中の任意のプレースに対して、1−−ク
ンを一つ一つ入力する。しかる後に模擬実行の開始を操
作者が指示すると、計算機はプレース」二の1−−クン
の存在状態を検査し、前条件と後条件の双方を満足する
トランジションが存在すれば、該トランジションを発火
(Fjre)さ9せ、詠1〜ランジションに記述された
動作内容の計算機プログラムを実行することによって仕
様を模擬実行する。 模擬実行の状況の表示は、ペトリネットの遷移規則に従
い、プレース」二のトークンを生成、消滅させることに
よって行なう。また、べ1−リネットではトランジショ
ンにおける遷移は一瞬にして行なわれるものとするため
、プロセスにおいてデータが処理されるのに要する時間
(以下処理時間と言う)の概念が無く、そのままでは処
理時間を考慮した模擬実行をすることができないが、本
従来技術では、処理時間に相当する時1川遅れを、操作
者がプロセスの内部状態に相当するプレースを新たに書
き加え、該プレースにおいてトークンにある時間保持す
るように設定することによって模擬している。 また、本従来技術は、ペトリネットによって記述された
仕様を模擬実行するだけでなく、該仕様を編集すること
もできる。 〔発明が解決しようとする課題〕 上記従来技術には以下のような問題があった。 (1)−上記従来技術は、ペトリネットが数学的理論に
基づいた厳密な記述法であるために、プロセスの内容が
明確で確定しているシステムの仕様製模擬実行する場合
には適しているが、プロセスの動作内容を厳密に記述す
ることが困難な仕様、例えば複雑で大規模なシステムの
概要設計段階における仕様や、不確定要素が存在する仕
様、例えばへ手による非定型的なプロセスを有する仕様
などの模擬実行を行なおうとすると、そのようなプロセ
スの動作内容を、1−ランジション中に特定の計算機言
語によって詳細に記述するか、あるいは前記処理時間の
ように、動作内容の記述とは別に特定の機能を追加して
、操作者が特別な設定を行なわなければ模擬実行するこ
とができないという問題点があった。 (2)上記往来技術は、遷移条件も特定のa1゛僧機i
語に準拠した形式で記述する必要があり、該dI計算機
言語習熟していない者には利用することができず、また
、上記従来技術は、プレースとトランジションは交互に
記述する、等のべ1〜リネツトの記述規則に依存して模
擬実行を行うものであり、同じプロセスとデータの記述
をイイする仕様であっても、その記述規則がペトリネッ
トと異なる仕様、例えばデータフローダイアグラム(D
 F D)や状態遷移図等の仕様に対しては、これらの
仕様の記述規則に依存する部分をその都度新たに開発す
る必要があるという問題点があった。 (3) l記従来技術は、模擬実行する際に、データの
状態として一つ一つのトークンを人力する必要があり、
例えばシステムへの入力が特定の確率分布に従って発生
するような場合や、特定の周期に従って発生するような
場合などには、その入力形態を模擬する方法が無いとい
う問題点があった。 (4)上記従来技術はプレース上のトークンを生成、消
滅させることによって模擬実行の状況を表示しているが
、1〜ランジシヨンについては、発火しているかどうか
の表示が無いために、例えば、同一のプレースから複数
のi〜ランジションが発火し得る場合、どのトランジシ
ョンが発火したのか一見しただけでは判別出来ないとい
う問題点があった。 (5)上記従来技術は、模擬実行に必要な情報を、プロ
セスに相当するトランジションを中心にして設定するた
めに、一つのトランジションに対して、前条件、後条件
の二種類の条件を、このトランジションに接続するアー
クの数だけ設定する必要があるという問題点があった。 (6)上記従来技術は、全ての前条件と後条件を入力し
なければならず、例えば、仕様に記述された内容によっ
ては、これらの条件が自明であり、入力しなくても仕様
の記述規則から自動的に推定できるような場合があるが
、そのような場合でも全ての条件を入力する必要がある
といつ間照点があった。 (7)上記従来技術は、仕様中の各プロセスの処理内容
を確定し、その具体的な動作を特定の計算機言語で予め
記述していなければ模擬実行をすることができず、例え
ば、処理内容が確定していないプロセスにおいて、遷移
条件のみによって模擬実行を行ない、その結果に基づい
てそのプロセスの処理内容を決定するといった手順をと
ることができないという問題点かあった。 (8)上記従来技術は、仕様を模擬実行するだけでなく
、この仕様を編集する方法も同時に備えているが、模擬
実行の方法として既に述べたような問題点がある上に、
編集の対象とする仕様がペトリネットに限定されている
という問題点があった。 (9)上記従来技術は、遷移条件の設定を特定の計算機
言語に準拠した形式で行なうために、設定した遷移条件
の内容と、この遷移条件によって実現する模擬実行上の
動作との対応を視覚的に判断することが困難であるとい
う問題点かぁ−)(JO) た。 (10)l記従来技術は、計算機上のソフトウェアとし
て実現されているものであり、同等の機能を有する専用
のハードウェアとしては実現されていない。仮にこのよ
うなハードウェアを実現した場合、既に述べたように、
特定の仕様しか扱えず、また特定の計算機言語の処理系
を必要とするために、ソフトウェアのように容易な変更
が可能ではないハードウェアでは、その適用範囲が狭く
、発展性に乏しいという問題点がある。 本発明の第1の目的は、プロセスの動作内容に関する記
述を必要とぜすに、データの遷移条件のみによってpA
擬実行を行い、仕様に記述されたシステムの処理内容や
規模に依存しない汎用的な模擬実行方法を提供すること
にある。 本発明の第2の目的は、遷移条件そのものも特定の計算
機言語やプロセスの動作内容に依存しない形式で設定す
ることにより、模擬実行に必要な全情報をデータに関す
る情報のみとし、これによってデータとプロセスの接続
関係等の仕様の記述(II) 規則が異なる複数種類の仕様に対しても、同一の模擬実
行方法を提供することにある。 本発明の第3の目的は、仕様を模擬実行する際に、特定
の確率分布や周期に従う人出力を模擬できる方法を提供
することにある。 本発明の第4の目的は、模擬実行の状況を表示する際に
、データの状態遷移だけではなく、遷移に係るプロセス
も同時に表示し、判別可能とすることにある。 本発明の第5の目的は、遷移条件を一種類のみとするこ
とにある。 本発明の第6の[目的は、仕様の記述規則と仕様に記述
された内容とから遷移条件を予め推定することにより、
操作者が遷移条件を設定する労力を削減する方法を提供
することにある。 本発明の第7の目的は、仕様中の処理内容が確定してい
ないプロセスに対して、その処理内容を自動的に生成す
る方法を提供することにある。 本発明の第8の目的は、仕様の模擬実行を行なう際に設
定した情報を用いて、前記第7の[1的に記載された処
理内容の自動生成を行なう方法を提供することにある。 本発明の第9の目的は、記述規則の異なる複数種類の仕
様に対して、仕様の模W!実行と仕様の編集の、少なく
とも一方の機能を適用できる方法を提供することにある
。 本発明の第10の目的は、設定した遷移条件の内容と、
遷移条件によって実現する模擬実行上の動作との対応が
、視覚的に容易に判断できる方法を提供することにある
。 本発明の第11の目的は、上記第1〜第9の目的の内、
少なくとも一つを達成する仕様模擬実行装置を提供する
ことにあり、特に複数種類の仕様に対しても、同一の該
仕様模擬実行装置を適用可能とすることにある。 〔課題を解決するための手段〕 」二記第1の目的は、少なくとも一つ以上のプロセス及
びデータの記述を含む仕様において、仕様中の各プロセ
スについては一切関知せず、仕様中の各データに対して
のみ、データの状態が遷移する条件を設定しておき、模
擬実行の際には、設定された条件を判定し、この判定に
基づいてデータの状態を遷移させることにより、達成さ
れろ。 上記第2の目的は、上記した条件を、処理手順を表現す
る特定の計算機言語に依存しない基本的な表現として、
データの存在に関する任意の属性を、一つ以上互いに論
理記号で連結した、記号論理表現とすることにより、達
成される。 」二記第3の目的は、上記の属性を、往来技術に用いら
れていた前記データの状態のみならず、データの存在に
関する確率分布或いはデータの存イf;に関する時間的
属性の何れかとすることにより、達成される。 上記第4の目的は、前記遷移条件を判定するステップと
、前記データの状態を遷移させるステップとの間に、前
記仕様中で該データを出力している前記プロセスを稼働
状態とするステップを設けることにより、達成される。 また、上記第5の目的は、遷移条件だけでは記述しきれ
ない、前記後条件の一部に相当する動作を、以−ドの方
法で代行することにより、達成される。即ち、遷移条件
を判定するステップにおいて、遷移条件を満足すると判
定された前記データの内、前記仕様中であるデータを出
力している前記プロ′セスが前記稼働状態であるとき、
そのデータの状態の遷移を禁止あるいは保留することに
より、達成される。 また、上記第6の目的は、前記仕様の記述規則を読み込
むステップと、これらの規則と仕様に記述された内容と
から前記遷移条件を推定するステップと、推定された遷
移条件を&f隼するステップを設けることにより、達成
される。 また、上記第7の目的は、前記仕様を読み込むステップ
と、前記遷移条件を読み込むステップと、仕様中の前記
プロセスの処理内容を、仕様に記述された内容と遷移条
件とから自動的に生成するステップを設けることにより
、達成される。 また、上記第8及び第9の目的は、以上のステップを組
合せることにより、達成される。 また、ト、記第10の目的は、仕様中のプロセスを、遷
移条件の図形的表現として記述するステップと、データ
の状態が遷移してゆく過程を該図形的表現上に表示する
ステップを設けることにより、達成される。 また、上記第11−の目的は、仕様を読み込む手段と、
データの状態を読み込む手段と、遷移条件を読み込む手
段と、読み込んだ遷移条件を判定する手段と、この判定
に基づいてデータの状態を遷移させる手段と、このデー
タの状態を出力する手段を設けた、計算機及び対話用端
末を有する情報処理装置により、達成されろ。 〔作用〕 模擬実行の対象となる仕様に記述されたシステムにおい
て、システム内のデータの流れが明確であれば、その流
れはデータの状態を遷移させるという形で模擬すること
ができる。したがって、システムのプロセスの内容や規
模とは無関係に、システムのデータの流れを模擬実行す
ることができる。 また、例えばペトリネットではトランジションとプレー
スはアークによって交互に接続しなければならない等、
仕様の記述規1110ま一般にプロセスとデータの接続
関係に関する情報を含むが、遷移条件を、データの属性
を用いた記号論理表現とすることにより、模擬実行に必
要な全情報をプロセスに無関係な情報とすることができ
るので、仕様の記述規則にも無関係に模擬実行が行なえ
、記述規則が異なる複数種類の仕様に対しても、同一の
模擬実行方法を適用することができる。 また、属性を、データの状態のみならず、データの存在
に関する確率分布或いはデータの存在に関する時間的属
性の何れかとすることにより、仕様を模擬実行する際に
、特定の確率分布や周期に従ったデータの状態遷移をさ
せることができ、現実のシステムにおけるデータの入出
力形態を模擬することができる。 また、遷移条件を判定するステップと、データの状態を
遷移させるステップとの間に、仕様中でデータを出力し
ているプロセスを稼働状態とするステップを設けること
により、データの状態遷移(]7) に係るプロセス、即ち仕様中で該データを処理、出力し
ているプロセスを表示することかでき、同一データを扱
うプロセスが複数ある場合でも、模擬実行時にどのプロ
セスが稼働し、たかを判別することができる。 また、従来技術では、同一トランジションに対して、該
トランジションの前条件を濶たしているトークンが複数
競合した場合に、あるトークンが発火している間は他の
1−−クンの発火を禁止するという役割を後条件が担っ
ているが、本発明では、あるデータの遷移条件が満たさ
れても、データの遷移に係るプロセスが稼働状態である
ときは、この遷移を禁止あるいは保留することによって
、後条件に相当する情報を予め設定しなくても、従来技
術と同一の効果を得ることができろ。 また、データとプロヤスの接続関係等の仕様の記述規則
を読み込み、読み込んだ規則と仕様に記述された内容と
から遷移条件を推定し、推定された遷移条件を操作者が
編集することにより、操作者は全ての遷移条件を人力す
る必要がなくなり、例えば最初は推定された遷移条件の
みによって模擬実行を行ない、その結果に基づいて操作
者が遷移条件を修正してゆくといった使い方が可能にな
る。 また、遷移条件は、この遷移に係るプロセスの入出力デ
ータ間の関係を表現するものとなるので、仕様に記述さ
れた内容と遷移条件とから1例えば該プロセスの入出力
仕様として、プロセスの処理内容を自動的生成すること
ができる。 また、以上の処理内容生成方式と仕様模擬実行方式を組
み合わせることによって、例えば、遷移条件を修iE 
しつつ仕様の模擬実行を行ない、満足のゆく動作が実、
現した時点で、その時の遷移条件を仕様中の処理内容と
して出力するといった使い方が可能になる。 また、仕様模擬実行方式に、仕様を編集する方式を組み
合わせることによって、遷移条件のみならず、模擬実行
の対象となる仕様そのものをも編集の対象とすることが
できる。特に、仕様pA擬実行方式が仕様の記述規則を
読み込むステップを有する場合には、仕様を編集する方
式においてもハ(3述規則に合わせて編集機能を変虹す
ることか可能となるので、記述規則の異なる複数種類の
仕様に対して、その編集と模擬実行とを同一のd4算機
プログラムで行なうことができる。 また、仕様中のプロセスを、遷移条件の図形的表現とし
て記述することによって、プロセスの内容とそのプロセ
スが扱うデータの遷移条件とを同一視することができ、
さらに模擬実行時には、データの状態が遷移してゆく過
程を図形的表現上に表示することによって、設定した遷
移条件即ちプロセスとその動作とが同一表現上で表示可
能となるので、操作者は、プロセス、遷移条件、及びそ
の動作の王者の間の区別を意識することなく仕様の模擬
実行を行なうことができる。 また、以上述べてきたような模擬実行方式と同等の機能
を有する装置を実現することにより、装置構成の変更が
ラフ1−ウェアに比べて容易ではないハードウェアにお
いても、仕様の種類や処理の内容に依存しないという模
擬実行方法の特徴を活かすことかできる。 〔実施例〕 以下、本発明の一実施例を詳細に説明する。 第6図は、本発明を図形的仕様記述法のひとつであるデ
ータフロー・ダイアグラム(Data FlowDia
fCram、以下DFDという)で記述したシステム仕
様の動作の模擬実行に適用した場合の一実施例を実現す
る計算機システムの機能構成図である。 DFD記憶1は、模擬実行の対象となるDFDを記憶す
る。遷移条件設定2は、DFD記憶1に記憶されたD 
F l’)中の各データに対して、該データの状態か遷
移する条件を操作者が設定し、遷移条件記憶3は、該条
件を記憶する。データ状態設定4は、模擬実行を行う際
に各データの状態を操作者が設定する。データ状態記憶
5は、前記データ状態設定4によって設定された該状態
を記憶すると共に、遷移条件解析・模擬実行6において
模擬実行された結果としての各データの状態も、次の模
擬実行を行う際の入力として継続利用するために記憶す
る。遷移条件解析・模擬実行6は、 DFD記憶1に記
憶されたD F’ D中の一つ一つのデータに対して、
遷移条件記憶3に記憶された該データの遷移条件が、デ
ータ状態記憶5に記憶された各データの状態によって満
足されているかどうかを検査し、もう満足されている場
合には、[)ト’l)記憶1に記憶されたDFD中で該
データを出力しているプロセスを稼働状態に遷移させ、
しかる後に該データの状態を遷移させる。そしてD F
 r)中の全てのデータの状態遷移を同期させるために
、前記操作が全てのデータに対して完了してから、遷移
した後の各データの状態を、その時点での模擬実行の結
果として模擬実行状況表示7に出力すると共に、次回の
遷移条件の検査時に用いるためにデータ状態記憶5に再
び記憶させる。即ち、遷移条件解析・模擬実行6は、1
11記遷移条件と前記各データの状態との対応関係を検
査することによって該データの状態を遷移させるが、遷
移させた後の該データの状態を、次回の検査時に1fび
利用する。また、データ状態設定4.データ状態記憶5
゜遷移条件解析・模擬実行6における、以上述べた一連
の手順が模擬実行のt jlt位(以下模擬実行中位と
いう)に相当し、遷移条件解析・模擬実行6における処
理が終了すると、再びデータ状態設定4に戻って同じ手
順を繰り返すことによって、前−記憶データの状態を連
続して遷移させてゆく。模擬実行状況表示7は、DFD
記憶1に記憶されたD FDを、第2図の表示装置10
上に表示出力すると共に、遷移条件解析・模擬実行6に
よって出力された各模擬実行単位毎の各データの状態を
、該表示上に合成して表示出力する。 第2図は、本実施例に係る装置槽底を示した図である。 入力装置8は、遷移条件設定2及びデータ状態設定4に
おける入力操作を行なう。C1) U9は遷移条件設定
2.データ状態設定4.遷移条件解析・模り実行6.模
擬実行状況表示7を行なう。表示装置10は模擬実行状
況表示7による表示を行なう。記憶装置11はD F 
D記憶1.遷移条件記憶3.データ状態記憶5を行なう
。 第3図は、本実施例において扱われるシステ11の仕様
をD F Dで記述した場合の一具体例である。 DFDでは、システムにおけるプロセスを12のように
箱で表示し、各プロセス間を流れるデータを13のよう
に矢印で表す。本実施例では、このようなりFDで表さ
れた仕様において、該仕様中の全てのデータに遷移条件
を設定し、模擬実行+11゜位毎に各データの状態を同
期させて遷移させることによって模擬実行を行なう。 第4図は、第6図の遍移条件設定2において、データの
状態が遷移する条件を設定する手順を示すフローチャー
トである。以下、このフローチャートに従って該手順を
説明する。ステップ40」では、DFD記憶1に記憶さ
れた171 F D中の全データの内、遷移条件が設定
されていないデータを一つ選択する。ステップ402で
は、ステップ401で選択したデータについて、該デー
タの状態が遷移するための条件を、該遷移に必要なデー
タの存在状態を一つ以上互いに論理記号で連結した、記
号論理表現として設定する。ステップ403では、他に
遷移条件を設定する必要のあるデータが有るか否かを判
定し、もしあればステップ401に戻り、もし無ければ
遷移条件の設定を終了する。 第5図は、第4図に示した手順によってデータの遷移条
件をdq定した場合の一具体例である。以下の図中にお
いて破線で囲んだ枠は、慴に−まとまりの概念あるいは
物を表すための、補助的な境界線である。この例では、
一つのプロセス501ト三ツノデータ502,503,
504とから成るDFDにおいて、各データが取りうる
状態は「有」か「無」かのどちらかであるとして、まず
第4図のステップ401で、遷移条件が設定されていな
いデータ504を選択し、次にステップ402で、デー
タ504の状態が「無」から「有」に遷移する条件を、
データ502及びデータ503の状態が共に「有」にな
った時として、論理記号「かつ」を用いた記号論理表現
によって設定している。前記従来技術のように、プロセ
スの内容に関する情報を用いて模擬実行を行なう方式で
は、プロセスから出力されるデータが複数あった場合に
は、各々の出力データを区別して扱う必要があったが、
本発明では、そのような場合でも処理内容には一切関知
せずに、各出力データ毎に一つずつ遷移条件を設定する
だけでよい。 第1図は、第4図に示した手順によって設定され、遷移
条件記憶3に記憶された遷移条件に基づいて、データ状
態設定4.データ状態記憶5.遷移条件解析・模擬実行
6において模擬実行を行なう手順を示すフローチャート
である。以1くこのフローチャートに従って該手順を説
明する。ステップ601はデータ状態設定4で行オ)れ
、操作者が各データの状態を設定する。ここで設定され
た状態は、データ状態記憶5に記憶される。例えば、第
5図に示した例では、データ502.データ503、デ
ータ504のそれぞれに対して、各々r有」または「無
」のいずれかの状態を設定する。 以下ステップ602からステップ610までは、遷移条
件解析・模擬実行6で行われる。ステップ602では、
DFD記憶1に記憶されたn F D中のデータの内、
まだ遷移条件を検査していないデータを一つ選ぶ。ステ
ップ603では、そのデータに設定された遷移条件を遷
移条件記憶3から読みだし、該条件が、データ状態記憶
5に記憶された各データの状態によって満足されている
かどうかを検査する。もし該条件が満足されていない場
合にはそのデータの状態は遷移せず、ステップ607に
進む。もし該条件が満足されている場合にはステップ6
04に進み、D P I)記憶1に記憶さtたDFD中
でそのデータを出力しているプロセスが存在するかどう
かを調べ、もし存在する場合には該プロセスが稼働した
結果としてそのデータが出力されたと見なせるので、ス
テップ605に進み、該プロセスを稼働状態にする。た
だしこの稼働状態は、模擬実行状況の表示上稼働してい
るように見せる′だけの、見かけ」二の稼働状態であり
、実際にそのデータに対して何らかの処理を行うわけで
はない。ステップ606では、前記条件に従ってそのデ
ータの状態を遷移させるが、遷移した後のそのデータの
状態をデータ状態記憶5には直接書き込ますに、遷移条
件解析・模擬実行6の中で一時的に保存しておく。これ
は、 D F D 記憶1に記憶されたDFD中の全て
のデータを同期させて模擬実行するためであり、全ての
データの遷移条件の検査が終了するまでは、その遷移条
件の検査で参照されるデータ状態記憶5が書き換オ)ら
ないようにするために、各データの遷移後の状態を一時
保存するのである。もし−時保存をしないと、模擬実行
の結果が、ステップ602でデータを選択する順序に依
存して変ね−)でしまう。ステップ607では、他に遷
移条件を検査していないデータが存在するかどうか奈判
定し、もし存在すればステップ602からステップ60
6を繰り返す。DFD記憶1に記憶されたD FD中の
全てのデータに対して遷移条件を検査した後に初めてス
テップ608に進み、−時保存しておいた各データの遷
移後の状態によって、データ状態記憶5の内容を一斉に
書き換える。ステップ609では、書き換わった後の各
データの状態を、その模擬実行は位の結果として模擬実
行状況表示7に出力する。ステップ610では、模擬実
行を終了するか否かの判断を行い、もし模擬実行を続行
するのであれば、再びステップ60]からの・F順を繰
り返す。即ち、ステップ601からステップ609まで
が、1模擬実行m位を行なう手順となり、それをステッ
プ610によって繰り返すことによって、連続して各デ
ータの状態を同期させて遷移させてゆく。 第7図は、第」−図に示した手順を、第5図に示した例
を適用した場合の、模擬実行の進んでゆく様子を表した
図である。この図では、データの状態が「無」であるこ
とを、そのデータを細く表示することによって、また「
有」であることを、そのデータを太く表示することによ
って表している。 701は、3つのデータについて、ステップ601で全
て「無」を設定した状態を表す。各データの状態は、第
5図に示されている遷移条件を満足しないために、この
模擬実行m位ではデータ504の状態は遷移せず、ステ
ップ602.ステップ603、ステップ607.ステッ
プ608.ステップ609を経て再びステップ601に
戻ってくる。なお、この時データ502とデータ503
の遷移条件も検査されていることになるが、ここでは共
に遷移しなかったとする。次に、ステップ601によっ
てデータ502の状態を「有」に設定した状態が702
である。この模擬実行学位においてもデータ504の遷
移条件は満たされず、遷移は起こらない。次に、ステッ
プ601によってデータ503の状態を「有」に設定し
た状態か703である。この時前回の模擬実行中2位に
おいて「有」に設定されたデータ502の状態は、その
まま今回の模擬実行単位まで保存されている。 703の状態は、データ504に設定された第5図の遷
移条件を満たすので、第1図ステップ603からステッ
プ604.ステップ605と進み、データ504を出力
しているプロセス501が表示上の稼働状態になる。そ
してステップ606においてデータ504の状態を「有
」に遷移させるのだが、その結果を遷移条件解析・模擬
実行6中に一時保存している状態が704である。ここ
では、プロセスが稼働状態にあることを、データと同様
太く表示することによって表している。なお、データ5
02とデータ503について、その状態がr有」から「
無」に遷移する条件を[データ504の遷移条件が満た
された時」と設定したとすると、704に示すように、
表示上あたがもデータ502とデータ503がプロセス
501に吸収されて「無」に戻ったかのように見せるこ
とができる。 705は、各データの同期をとるためステップ607で
他のデータの遷移条件も検査した後に、ステップ608
で一斉にデータ状態記憶5を一時保存していた結果によ
って書き換え、ステップ609によって表示出力した状
態である。以上第7図に示したように、本発明ではデー
タの状態遷移のみに基づいて模擬実行を行なうので、プ
ロセスはデータの状態が遷移するまでの過渡的な状態と
して扱われ、データに対する実際の処理を一切行なうこ
と無く、見掛は上の稼働状態になるだけとなる。また、
第7図では一つのプロセスの場合について示したが、第
3図に示したように、DPI)では一般に複数のプロセ
スと、それらの間を流れるデータとによって仕様を記述
する。従って、あるプロセスから出力されるデータの状
態が遷移条件に従って遷移した場合、そのデータが次の
プロロセスの入力となり、そのブ′ロセスからの出力デ
ータの遷移条件中に参照されることによって、ステップ
601で各データの状態をいちいち設定しなくても、次
々と他のデータの状態遷移が連鎖してゆくこともある。 第8図は、6つのプロセスと9つのデータから成るI)
 F I)について、9つのデータのそれぞれに対して
遷移条件を設定して模擬実行を行なった場合の一例を示
す図である。各データに設定された遷移条件の詳細は省
略するが、801.802,803,804と模擬実行
中1位が進むにつれて、各データの状態が次々に遷移し
てゆく様子が分かる。本実施例では、このような場合に
DFD中の全てのデータの状態を回期させて遷移させる
必要があることから、ステップ606において各データ
の遷移後の状態を一時保存し、全てのデータの遷移条件
を検査し終わってから、ステップ608によって一括書
き換えを行なうのである。 以上の実施例においては、第5図に示したように、デー
タの状態が遷移する条件を、各データの状態である「有
」と「無Jのみを用いて記述していたが、これはデータ
の状態に関する他の属性、即ち各データの具体的な値や
構造、あるいは各データの存在に関する確率分布や時間
的属性などを用いてもよい。 第9図は、データの遷移条件に確率を用いた場合の一実
施例である。ここでは、プロセス901に入力データ9
02が入力しても、プロセスの内部状態によって出力デ
ータ903が出力されたりされなかったりするという動
作を模擬実行するために、プロセスの内部状態の代用と
して確率を用いている。即ち、データ503の遷移条件
中で「確率80%」と記述された部分が、ステップ60
3で検査される際に、検査10回のうち8回の割合で論
理学−1:、「真」となるような関数であるとすれば、
ある模擬実行m位においてデータ902の状態がr有」
となっても、データ903の遷移条件全体が満たされる
のは、その内の8割となるので、出力データ903が出
力されたりされなかつたりするという、プロセス内部の
状態に依存するような動作を模擬することができる。こ
れは、プロセスを実際に稼働させ、その処理内容によっ
て出力データを変化させるという、前記従来技術におけ
る後条件を代用する効果がある。 第10図は、データの遷移条件に時間的属性を用いた場
合の一実施例である。第10図では、人力データの無い
プロセス10o1において、3秒おきに出力データ10
02が出力されるという朽j作を模擬実行するために、
出力データ1002の遷移条件中に、プロセスioO]
の稼働周期の代用として、3秒周期で論理学−1−;の
1゛↓′
【」となるような関数r周期(3秒)」を用い
ている。 以上の実施例では、データの状態が遷移する際、そのデ
ータを出力するプロセスはmに表示−にの稼働状態に遷
移するのみで模似実行の進行には一切影響を−りえなか
ったが、プロセスの表示」二の稼働状態を利用して、デ
ータの状態遷移を禁+t したり保留したりすることも
できる。 第11図は、プロセスの表示上の稼働状態によつて、デ
ータの状m遷移を禁止あるいは保留する場合の一実施例
の手順を示すフローチャー1−の−部である。このフロ
ーチャートは、第1図のフローチャー1−において、ス
テップ604とステップ605の間に挿入される。ステ
ップ1]0]−では、ステップ604において、遷移条
件が満たされたデータを出力しているプロセスが存在し
た場合、そのプロセスが稼働状態であるか否かを判定し
、もし稼動状態でなければステップ605に進み、もし
既に稼働状態にあった場合には、ステップ1102にお
いて該データの遷移を禁止あるいは保留する。 第12図は、90セスの表示」二の稼働状態によって、
データの状態遷移を禁+hした場合の一実施例である。 1201は、第5図と同様に]一つのプロセスと3つの
データから成るI) F’ r、)の例である。 A、B、Cはデータの名前を表し、Pはプロセスの名前
を表す。ここでは、データCについて、その状態が「無
」から[有Jになる条件を、データAまたはデータBの
どちらかが「有」になった場合として設定しである。1
−202かE) 1204は、1201のDFDが模擬
実行されてゆく様子の一実施例を示す。1202におい
て、データΔの状態か「有」に遷移したとする。これに
より、データCの遷移条件が濶だされ、] 203では
データCを出力しているプロセスPが稼働状態になるか
、一方この時同時にデータBの状態が「有JL′0−遷
移したとすると、ここで再びデータCの遷移条イノ1が
濶だされる。ところが、データ(″、を出力しているプ
ロセスPが既に稼働中であるために、ステップ]102
において、データI3の状態が「有」に遷移したことに
よるデータCの状態遷移は禁出され、12o4において
データBの状態は「無」に戻ってしまう。即ちこの例で
は、プロセスが稼働している間は、次の入力を受は付け
ないという!fel1作が模擬実行できたことになるの
である1、もしデータの状態遷移を禁止するのではなく
保留するのであれば、120/Iにおいてプロセス1)
が稼(fl+が終了するまで、データ■3によるデータ
(:の状態遷移が待たされることになる。 以上の実施例では、遷移条件設定2において操作者が全
てのデータの遷移条件を設定する必要があったが、これ
は、予め登録しておいた設定規則に従って、計算機側で
自動的に設定することもできる。 例えばDFDにおいては、[あるプロセスからデータが
出力されるためには、一般に該プロセスへの全人力デー
タが揃っている必要がある」という経験則があるので、
このような経験的規則を予め計算機に登録しておいて、
その知識に基づいて各データの遷移条件を計算機が自動
的に12定し、操作者にその確認と修正を求めるように
すれば、操作者は経験則から外れるデータの遷移条件に
ついてのみ修1Fすればよい。即ち上記経験則の例では
、各データの遷移条件は、そのデータを出力しているプ
ロセスに入力する全てのデータの状態がr有」となる場
合として、自動的に設定できる。 例えば、第5図に示した遷移条件の設定例はこの経験則
に則っているので、計算機側で自動的に設定することが
できるので、操作者は自動設定された遷移条件を修正す
る必要が無くなり、遷移条件を入力する手間が省ける。 また、以上の実施例では、プロセスの具体的な処理内容
の情報を使用せずに模擬実行かできろとしていたが、こ
のことから逆に、各データに膜力′された遷移条件から
、予めd1″算機に登録しておいた知識に基づいてプロ
セスの処理内容を自動的に生成することもできる。 第13図は、プロセスからの出力データにdQ ’#′
された遷移条件から、該プロセスの処理内容の概要を自
動的に生成する場合の一実施例を表すフローチャートで
ある。計算機には、予め遷移条件と処理内容との間の対
応をとるための知識をべ2録しておく。ステップ130
1では、処理内容の自動生成を行うプロセスを、D F
 D記憶1に4j4憶されたDFDの中から一つ指定す
る。ステップI:302では、そのプロセスから出力さ
れるテ゛−夕を一つ選ぶ。ステップ1303では、その
データに設定された遷移条件を、予め登録しておいた知
識に基ついて処理の手続きに変換する。ステップ1 :
30 /1では、変換した手続きを蓄積する。ステップ
1305では、他にそのプロセスから出力されるデータ
が存在するか否かを判定し、もし存在すればそのデータ
についてステップ1302からステップ1304の手続
きを繰り返す。そのプロヤスから出力される全てのデー
タに関して、その遷移条件を処理の手続きに変換し終え
たら、ステップ1306において、蓄積しておいた全て
の手続きをそのプロセス全体の処理内容として整理1合
成する。以上の手続きによって、プロセスの処理内容が
自動的に生成される。 第14図は、第13図に示した手順によってプロセスの
処理内容が自動的に生成される様子を示した一実施例で
ある。プロセス]401は、二つの入力データ]、4.
02,1403と二つの出力テ゛−タ1404,14.
05を持つとし、出力データ14.04,14.05に
関して、その状態が「無」から[有Jに遷移する条件は
、それぞれ1406゜1407のように設定されていた
とする。まず、ステップ1301によって、処理内容を
自動生成するプロセス140]−を指定する。次にステ
ップ1302によってデータ1404を選択すると、ス
テップ1303によってデータ]、 /1.0.4に設
定された遷移条件1406を、予め登録しておいた知識
に基づいて処理の手続き1408に変換する。 この例では、mに遷移条件の内容を、通常の干続き型針
算機M語に使われている「もし〜ならば」という構文を
用いて書き換えているだけである。 例えば、プロセスに人力するデータの状態が1無、1か
ら「有」に遷移するということは、処理の手続きとして
見れば該データがプロセスに人力したことに相当する。 変換した手続きを蓄積した後、ステップ1305からス
テップ1302に戻って今度はデータ1405について
、同様に遷移条件を処理手続きに変換した結果が140
9である。各データの遷移条件を変換した結果である]
、 4.08 。 1409は、もちろんそのまま各データ毎の処理手続き
として個別に出力してもよいが、本実施例ではさらに、
変換し蓄積したf、続きを、プロセス全体の手続きとし
てステップi 306で整理、合成する。その結果が1
410である。ここでは、1408.1409の各手続
きのうち共通な部分を一つにまとめることによって、二
つの手続きを一つに合成している。また、本実施例では
遷移条件を内容的に等価な処理手続きに変換しただけで
あるが、より高度な知識、例えば複数のデータ間の関連
等の知識を用いてより詳a+nな処理の手続きに変換し
てもよい。 また、以上の実施例では遷移条件な記号論理表現5の文
として記述しているが、これは他の方法でも実現し得る
。 第15図は、データの前記時間的属性を中心とした遷移
条件を、文章ではなく図形で記述した場合の一実施例で
ある。プロセス]501とデータ1502.1503.
1504から成るD F D1505において、プロセ
ス1501を、】505のように記述するのではなく、
入出力データ間の時間的な関係をもとにして記述した例
が1506であり、この場合プロセスはデータ]502
が入力されてからデータ1504が出力されるまでの時
間約な遅延として表現されている。即ち、1506では
図の縦方向に時間軸をとり、上から下へ時間が流れると
した上で、データ1502が人力されろ時点を基準にし
て、その時点からデータ1504が出力されるまでの時
間を縦方向の矩形の長さで表している。従って1506
では、データ1502の状態が「有」となることによっ
てプロセス15(+1が稼働を開始し、その時からt、
 sの時間が経過した後にデータ1503の状態を見て
、もし「有」であればさらにt2の時間が経過した後に
初めてデータ1504の状態を遷移させるという、各デ
ータ間の時間的関係を中心にしてデータ1504の遷移
条件を記述していることになる。1.507は、このよ
うにして複数のプロセスとデータとを持つDFDの遷移
条件を、−枚の図に描いたもので1する。網のかかった
矩形部分が各プロセスを表している。この図からも分か
るように、1506の記法は、複数のプロセスとデータ
間の関係を記述できることから、そのまま仕様の記述法
としても使える。 第16図は、第」−5図1506に示した遷移条件の図
形的表現上で、そのプロセスが模擬実行されてゆく様子
を、1505のD F Dと対比させて示した図である
。1601から1604の各図に−おいて、左側が第7
図と同様通當のDFD上で模擬実行の状況を表示したも
のであり、右側が、同じ模擬実行状況の表示を、150
 E;の表現上で行ったものである。1601はプロセ
ス]501にデータ1502が人力された時点の表示で
ある。 双方共にデータ1502の状態が「有」となっている。 1602は、データ1502が人力されてからIl後の
状態である。D P I)の方は、時間的な経過を表現
する・ことができないために、甲、にデータ1503が
[有」となっているだけであるが、1506の表現上で
は、その時間の経過を、例えばこの図のように網かけに
よって表現することができる。なお、もし1602の時
点でデータ]503の状態がまた「無」であった場合に
は、例えばその状態がl’H」になるまでプロセス]−
501内での時間の経過を11ユめで待てばよい。16
03はテ−タ1503が入力されてからデータ+ 50
/lが出力されるまでの途中経過を示す。1604は規
定の時間が経過して出力データ】504が出力された時
点を示している。このように、1506の表現は、各デ
ータ間の時間的な関係を中心とした遷移条件を含む、仕
様の記述法の一種であると同時に、その図形上で模擬実
行の進行状況を表示する場合にも便利な表現1となる。 以上の実施例では、プロセスの処理内容には一切関知せ
ずに、データの状態遷移のみによって模擬実行を行って
いたが、これは第1図のステップ605で該当するプロ
セスを稼働させる時に、実際に何らかの処理をそのデー
タに対して行ってもよい。 また、以上の実施例では、模擬実行の対象となる仕様と
してDFDを用いていたか、これはデータとプロセスの
記述を含む仕様であれは、どのような仕様にも適用でき
る。 第18図は、本発明の模擬実行方式をぺ1−り不ツ1〜
に適用した場合の一実施例である。73つのびレース1
801..1802,1803とそ(7)Il[1(7
)トランジション1804を持つペトリネット1805
に対して、プレースをデータ、トランジションをプロセ
スと考えれば、第5図に示した例と全く同じようにして
、プレースの状態が遷移する条件を図のように設定する
ことができ、また第1図の手順をそのまま適用して、1
806,1807゜1808のように模擬実行を行うこ
とができる。 こζでは第7図において太線で表現していた各データの
「有」状態を、1〜−クンによって表している。 〔発明の効果〕 本発明によれば、データと、データを扱うプロセスの記
述を有する仕様によって表現されたシステムの動作を、
プロセスの具体的な処理内容の記述を必要とせすに、デ
ータの状態遷移のみによって模擬実行することができる
ので、システムのプロトタイピングによる正確な要求定
義が可能になると同時に、システムの動作時の特性を仕
様段階で検証することにより、機能レベルの設計不良を
16期に検出し、1ilFの千ノにクイ1削誠うJろと
い・)効果がある。
【図面の簡単な説明】
第1図は本発明の詳細な説明1ろ一/ rl −−−f
’ ff17−1−1第2図は子のハードウニ/精1成
、第3図4.1図、第8図は仕様の枦擬実t1状況、第
0図、第10図、第12図、第1/1図、ハl!′)図
、第1 fi図は他の実施例、第11図、第1:3図の
他の”ノ′tar。 例を説明間−るフr+=−1′■−)−1第1゛/図番
土べ[−り不ツ1−の例、第18図はべ1−りネットへ
■川(ノブー実旅例である。。 ■・・・遷移条件改定、4・・データ状jn’?t I
<’/定、6・dヶ定されへm移条件と各データの状態
との対1.?;関係を検査し、模擬実行状況・t「う、
遷移条件fln析・セ:y擬実行、7・・・模擬実行状
況表示。 代ア11人 弁即1° 小川勝りシ 第 ≠ 図 茅 図 1−−−−                    
      J拓 」 m−」 m− ト3θ3 L−−−一一−−−− 一一一」 デ′−り/θθ2(に関しマ、 −口 L−−一一− J −一一」   −J ! ノ3 図

Claims (1)

  1. 【特許請求の範囲】 1、データと、該データに対するプロセスの記述をそれ
    ぞれ少なくとも一つ以上含む仕様を読み込むステップと
    、該データの状態が遷移する条件を読み込むステップと
    、上記データの状態を読み込むステップと、上記遷移条
    件を判定するステップと、該判定に基づいて上記データ
    の状態を遷移させるステップと、該データの状態を出力
    するステップを有することを特徴とする仕様模擬実行方
    式。 2、前記遷移条件が、前記データの存在に関する任意の
    属性を、一つ以上互いに論理記号で連結した記号論理表
    現であることを特徴とする特許請求の範囲第1項記載の
    仕様模擬実行方式。 3、前記属性が、前記データの状態或いは該データの存
    在に関する確率分布或いは該データの存在に関する時間
    的属性の何れかであることを特徴とする特許請求の範囲
    第2項記載の仕様模擬実行方式。 4、前記遷移条件を判定するステップと、前記データの
    状態を遷移させるステップとの間に、前記仕様中で該デ
    ータを出力している前記プロセスを稼働状態とするステ
    ップを有することを特徴とする特許請求の範囲第1項か
    ら第3項の何れか一つに記載の仕様模擬実行方式。 5、前記遷移条件を判定するステップにおいて、該遷移
    条件を満足すると判定された前記データの内、前記仕様
    中で該データを出力している前記プロセスが稼働状態で
    あるとき、該データの状態の遷移を禁止あるいは保留す
    ることを特徴とする特許請求の範囲第4項記載の仕様模
    擬実行方式。 6、前記仕様の記述規則を読み込むステップと、該規則
    と該仕様に記述された内容とから前記遷移条件を推定す
    るステップと、推定された該遷移条件を編集するステッ
    プを有することを特徴とする特許請求の範囲第1項から
    第5項の何れか一つに記載の仕様模擬実行方式。 7、仕様を読み込むステップと、遷移条件を読み込むス
    テップと、読み込んだ仕様中のプロセスの処理内容を、
    該仕様に記述された内容と上記遷移条件とから自動的に
    生成するステップを有することを特徴とする処理内容生
    成方式。 8、特許請求の範囲第1項から第6項、第8項又は第9
    項の何れか1つに記載の仕様模擬実行方式において、前
    記仕様中の前記プロセスを、前記遷移条件の図形的表現
    として記述するステップと、前記データの状態が遷移し
    てゆく過程を該図形的表現上に表示するステップを有す
    ることを特徴とする図形的仕様記述・模擬実行結果表示
    方式。 9、前記仕様を読み込む手段と、前記データの状態を読
    み込む手段と、前記遷移条件を読み込む手段と、該遷移
    条件を判定する手段と、該判定に基づいて該データの状
    態を遷移させる手段と、該データの状態を出力する手段
    を設けたことを特徴とする仕様模擬実行装置。
JP63306071A 1988-12-05 1988-12-05 仕様模擬実行方式 Pending JPH02151933A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63306071A JPH02151933A (ja) 1988-12-05 1988-12-05 仕様模擬実行方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63306071A JPH02151933A (ja) 1988-12-05 1988-12-05 仕様模擬実行方式

Publications (1)

Publication Number Publication Date
JPH02151933A true JPH02151933A (ja) 1990-06-11

Family

ID=17952694

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63306071A Pending JPH02151933A (ja) 1988-12-05 1988-12-05 仕様模擬実行方式

Country Status (1)

Country Link
JP (1) JPH02151933A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018077613A (ja) * 2016-11-08 2018-05-17 富士通株式会社 開発支援装置、開発支援方法および開発支援プログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING=1988 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018077613A (ja) * 2016-11-08 2018-05-17 富士通株式会社 開発支援装置、開発支援方法および開発支援プログラム

Similar Documents

Publication Publication Date Title
US9754059B2 (en) Graphical design verification environment generator
JP2862886B2 (ja) Asic用計算機支援設計システム
Kerbrat et al. Automated test generation from SDL specifications
US20070288797A1 (en) Generating scan test vectors for proprietary cores using pseudo pins
DE10147078A1 (de) Verfahren zur Gültigkeitsprüfung von Entwürfen für komplexe integrierte Schaltungen
JP2007012003A (ja) フィーチャ指向ソフトウェア製品ラインの開発環境を提供するシステム
JP3248753B2 (ja) 組み合わせ論理回路の遷移表決定方法及び装置
JP2009508203A (ja) 集積回路設計シミュレーション用アサーションの開発方法
Bigot et al. Automatic test generation with AGATHA
Liu et al. Graphical modeling vs. textual modeling: an experimental comparison based on istar models
JPH02151933A (ja) 仕様模擬実行方式
Zielasko et al. 3D visualization of symbolic execution traces
Blackburn Using models for test generation and analysis
De Souza et al. Teaching-learning methodology for formal languages and automata theory
Sani et al. Model transformation specification for automated formal verification
Washizaki et al. Envisioning software engineer training needs in the digital era through the SWEBOK V4 prism
Weiß et al. Towards establishing formal verification and inductive code synthesis in the PLC domain
Doldi et al. Assessment of automatic generation methods of conformance test suites in an industrial context
Sypsas et al. Computing Similarities Between Virtual Laboratory Experiments Models Using Petri Nets
Ue et al. Learning Support Technique of Software Visual Modeling Using Place/Transition Nets
Cash et al. Bowyer: A planning tool for bridging the gap between declarative and procedural domains
Beay et al. Using Agent-Based Modeling to Visualize Interactions in Fuzzy Cognitive Maps
Route et al. Combinatorial Test Design–A smarter way to connect with the business
Presnell et al. Making behavior modeling accessible to non-programmers: challenges and solutions
Jones Automated support for test-driven specification