JP3801343B2 - 設計仕様作成支援装置 - Google Patents
設計仕様作成支援装置 Download PDFInfo
- Publication number
- JP3801343B2 JP3801343B2 JP06521198A JP6521198A JP3801343B2 JP 3801343 B2 JP3801343 B2 JP 3801343B2 JP 06521198 A JP06521198 A JP 06521198A JP 6521198 A JP6521198 A JP 6521198A JP 3801343 B2 JP3801343 B2 JP 3801343B2
- Authority
- JP
- Japan
- Prior art keywords
- state
- information
- states
- matrix
- parallel
- 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
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Description
【発明の属する技術分野】
この発明は、製品の設計仕様を記述する状態遷移図を得るための設計仕様作成支援装置に関するものである。
【0002】
【従来の技術】
製品制作の順序としては、
(1)設計仕様の記述、
(2)仕様の正しさの検証、
(3)仕様に基づくハードウェア、ソフトウェアの開発、
(4)システム試験、
を経て最終製品が確定する。この間に上述の工程間で手戻りがあり、この手戻りを出来るだけ初期のまたは上流の段階で減らすことが高品質の製品を短時間で生み出すのに大切なこととされている。
ところで、設計仕様を、計算機シミュレーションが出来るためによく用いられるようになった状態遷移図で表現することが知られている。状態遷移図で記述された対象は、容易にシミュレーションが行われ、従ってその過程で上流に対するフィードバックがされるので、実物によるシステム試験を待たずに記述された仕様を検証し、初期の段階で設計が確定する。
【0003】
この状態遷移図に並行性と階層性を持たせた手法として、STATECHARTがある。これはオブジェクト指向方法論の1つで、OMT法と呼ばれる手法の中の動的モデルを用いた方法である。STATECHARTは、例えば、David Harel and A.Naamad:The STATEMATE Semantics of Statecharts,submitted for publication.(Revised version of“The Semantics of Statecharts”,Tech.Report,i-Logix,Inc. (1989))の文献で紹介されていて、STATEMATEという商品として実装されている。
このSTATECHARTは、従来の遷移図に並行性と階層性の概念を取り入れているので、大規模なシステムの記述を状態遷移図で表すことも出来るようになった。またその文法や、意味論に関しても研究が進んでいる。
上述の各方法は一旦、遷移図の状態で記述が出来ると、以後の分析とフィードバックは容易であるが、遷移図を作成するまでは系統だった手法が確立しておらず、そのほとんどを人が経験を頼りに1つ1つの項目を人手で配置するしかなかった。設計対象の製品が大規模になると、この作業は困難を極め、多大の労力と、製品に対する経験が要求される。また、出来上がった状態遷移図を以後のシミュレーションで検証して正していくのに多くの試行錯誤の時間がいる。
制御仕様を形式的に記述する方法が特開平2−109127号公報で示されている。しかしこの方法は、入力の制御仕様を専門知識情報と関係付けてドキュメント情報として整理して出力するものであり、設計仕様を状態遷移図で表現して出力するものではない。
【0004】
【発明が解決しようとする課題】
従来のSTATECHARTであれ状態遷移図であれ、各状態をどのような関係でどのような優先度で配置していくかについては確立された方法がなく、熟練者の経験と時間が要求されるという課題があった。
【0005】
この発明は上記の課題を解消するためになされたもので、制御仕様に記述される個別機能についてそれらに対応する状態が同時に有効になるかならないかの状態の並行性情報及び排他性の情報と、1つの状態が有効になったとき、他の状態も必ず有効になるという包含性情報と、更に必要に応じてそれらの状態の優先順位情報を入力するだけで状態遷移図の前段階の状態配置図を得ることを目的とする。
【0006】
【課題を解決するための手段】
この発明に係る設計仕様作成支援装置は、仕様に規定される状態が同時に有効になるかならないかという状態並行性情報及び状態排他性情報を基に、状態遷移図における並行または排他状態を割り付けていく状態分割手段を備えて、
状態遷移図用に状態を割り付けられた分割状態配置図を出力するようにした。
【0007】
また更に、仕様に規定される1つの状態が有効になると他の状態も必ず有効になるという状態包含性情報を基に、状態遷移図における階層状態を割り付けていく状態分割手段を備えて、
状態遷移図用に、上記状態を割り付けられた分割状態配置図を出力するようにした。
【0008】
また更に、複数の状態間の優先順位情報を基に、排他的に有効になる状態の階層配置を行う状態配置手段を備えて、
状態遷移図用に、階層を表現したあり得る階層状態配置図を出力するようにした。
【0009】
また更に、仕様に規定される状態が同時に有効になるかまたは同時に有効にならないかを決定用マトリクスで記述し、
状態分割手段は、決定用マトリクスを基に並行または排他状態を割り付けるようにした。
【0010】
また更に、状態分割手段は、位置付けが曖昧かどうかを検査する位置曖昧状態検索アルゴリズムを付加して、並行状態の割付出力に際しては位置割付の曖昧さの状態も出力するようにした。
【0011】
また更に、仕様に規定される状態が同時に有効になり得るという状態並行性情報、状態が排他的に有効になるという状態排他性情報、1つの状態が有効になると他方も必ず有効になるという状態包含性情報を表現する状態位置決定用マトリクスで記述し、
状態分割手段は、並べ替えアルゴリズムを用いて状態位置決定用マトリクス中の状態の順番を並べ替えて完全正規形マトリクスを出力するようにした。
【0012】
また更に、仕様に規定される状態が同時に有効になり得るという状態並行性情報、状態が排他的に有効になるという状態排他性情報、1つの状態が有効になると他方も必ず有効になるという状態包含性情報を表現する状態位置決定用マトリクスで記述し、
状態分割手段は、変形化アルゴリズムを用いて状態位置決定用マトリクスの一部の要素を変更して条件付き正規形マトリクスを出力するようにした。
【0013】
また更に、状態分割手段は、状態分割アルゴリズムを用いて状態位置決定用マトリクスを細分化状態に分解可能な正規形マトリクスに変形処理をし、
正規形マトリクスを基に細分化された分割状態配置図を出力するようにした。
【0014】
【発明の実施の形態】
実施の形態1.
本発明の仕様に規定される状態が同時に有効かまたは同時には有効にならないかの状態並行性及び状態排他性の情報を基にして、また更に、複数の状態間の優先順位情報を基にして、階層も表現したあり得る階層並行状態配置図を得る、設計仕様作成支援装置を説明する。
図1は、この実施の形態における設計仕様作成支援装置の構成図である。
図において、1は設計仕様作成支援装置と対話して情報を入力したり、条件を提示したりする入出力装置で、2は設計仕様作成支援装置であり、以下の要素から構成される。即ち、3の仕様に規定される状態が同時に有効かまたは同時には有効にならないかの状態並行性及び状態排他性の情報を基にして並行に存在し得る状態を割り付けていく状態分割手段と、4の複数の状態間の優先順位情報を基にして並行に存在しうる状態の階層割付を行う状態階層化手段と、5の設計仕様の状態並行性及び状態排他性を含んだ状態関係情報ファイルと、6の状態間の優先順位情報ファイルと、7の一旦得られたあり得る状態配置図で表される状態分割情報ファイルと、8のSTATECHART状態配置情報(階層並行状態配置図)ファイルとで構成される。
図2は、STATECHARTで表現される階層並行状態配置図の例を示す図であり、図3は、より明確に状態の優先順位を階層並行状態配置図で表した例を示す図であり、共にSTATECHARTの概念を説明する図である。
【0015】
図4は、図1の状態分割手段3の動作を示すフローチャートである。また図5は、同じく状態分割手段3が付加的に行う、位置付けが曖昧かどうかを検査する位置曖昧状態検索アルゴリズムのフローチャートである。
図6は、状態階層化手段4の動作を示すフローチャートである。
図7は、状態分割手段3への入力として、状態並行性及び状態排他性情報を状態位置決定用マトリクスとして与える場合の入力マトリクスの例を示す図で、図8は、状態分割手段3に図7に示す入力があった場合の、状態分割手段3が図4の動作に基づいて出力する並行状態配置図である。
また図9は、更に状態階層化手段4が図6の動作に基づいて出力する階層並行状態配置図である。
また図10は、最終的に完成されるSTATECHARTで表現した状態遷移図であり、本実施の形態における設計仕様作成支援装置2との関係を説明するための図である。
【0016】
図1の構成と図4ないし図6に示す手段を持つ設計仕様作成支援装置の動作を説明する。
まず、並行記述と階層性記述を含む状態遷移図、つまりSTATECHARTの概念を説明する。図2の状態において、外側の状態を親状態、内側の状態を子状態とする。図2の例では、子状態1と子状態2とは相反する排他的関係にあり、親状態と子状態とは同時に起こり得る関係にある。また子状態2は、並行状態1と並行状態2とを持ち、これらの並行状態1と並行状態2は共に更に細分化されて互いに独立して状態遷移が起こり得る並行状態1_1,1_2と、並行状態2_1,2_2を持つことを意味している。また図3は、「運転停止」が「正常運転」及び「異常運転」の両者よりも優先順位が高いことを意味し、正常運転、異常運転のいずれかの状態であっても、運転停止条件が満たされると運転停止に転移することを「運転停止」を上位に配置して階層を示した状態遷移図で表現している。
一旦このSTATECHARTが出来上がれば、以降のシミュレーションは問題はない。しかし、従来はこの状態配置図の作成を全て人手で機能を配置して行なっていたのを、本実施の形態では設計仕様作成支援装置が階層並行状態配置図、つまりSTATECHART状態配置情報の出力動作を行うことになる。
【0017】
状態並行性及び排他性情報は、制御仕様の個別機能に対応した状態を1つ1つ取り上げて、それを他の個別機能に対応する状態と同時に有効になるかならないかを記述していってもよいが、これらを複数記述して矛盾がないか、正しいかを検査するのは無駄が多いので、状態位置決定用マトリクスで与える。これは図7にその例を示すように、制御状態リスト内の状態を縦と横の欄に展開したマトリクスを作り、これらの状態が交わる枡目に、その枡目の各状態が同時に有効になり得る場合は○、同時には有効にならない場合は×を記入したものである。
状態分割手段3は、上述の状態位置決定用マトリクスを入力として、図4の動作を行う。図4中のNは状態関係情報に含まれる状態の数、「検査状態」「対象状態」は状態位置決定用マトリクスの枡目が交わるところでの○×の検索を意味している。
図4のステップ(以後、ステップの記述は省略する)401では、状態に対応する1〜Nの全ての順列リストを作成し、検査対象となる検査順列リストに上記で生成した順列リストの最初のリストを代入する。
402では、検査順列リストの先頭を検査する状態を意味する検査状態という変数に代入する。
403では、最終的な並行状態の数を意味する並行状態数という変数に初期値1を代入し、各並行状態に含まれる状態を格納する並行状態リストの初期のリスト、並行状態リスト[1]に1,2,・・・,Nを代入する。
404では、並行状態リストのインデックス用の変数を意味するリスト番号に初期値1を代入する。
【0018】
405では、並行状態リスト[リスト番号]に検査状態が含まれるかを判定し、含まれる場合は、この検査状態に対してこの並行状態リストに並行状態が含まれるかを判定するために、406〜412の処理を行う。含まれていない場合は、413でリスト番号を1増加させ、414でリスト番号が並行状態数以下の場合は、405に戻って次の並行状態リストに関して処理を続ける。
406では、検査状態と比較の対象になる対象状態という変数に初期値1を代入する。
407では、検査状態と対象状態が並行状態にあるかどうかを状態位置決定用マトリクスで判定し、検査状態と対象状態が交わったマス、状態位置決定用マトリクス[検査状態][対象状態]が○の場合は、この2つの状態は並行状態のため、別の並行状態リストに存在しないといけないため、408において、検査状態を並行状態リスト[リスト番号]から削除し、並行状態リスト[リスト番号+1]に追加する。
409において、リスト番号と並行状態が等しい場合は、並行状態数を1増やす必要があるため、この処理を410で行う。
【0019】
407で状態位置決定用マトリクス[検査状態][対象状態]が○でない場合は、411に移り対象状態を1増やし、412で対象状態が状態の数N以下の場合は、405に戻り処理を続ける。
415では、検査順列リストの次の要素を検査状態に代入して検査状態を更新し、416で全ての検査順列リストに含まれる検査状態を処理したかを判定して、した場合は417に進み、していない場合は403に戻り処理を続ける。
417では、1〜Nまでの1つの順列の並びに対して、評価が終わったことになるので、ここでの並行状態リストの内容、並行状態数を記録し、別の1〜Nの順列の並びに対して同様の評価を行うため検査順列リストを更新する。
418では、全ての1〜Nの順列の並びに対して評価が完了したかを判定し、完了していれば終了し、していなければ402に戻って評価を続ける。
アルゴリズム中の417で記録された並行状態リストの内容が各並行状態に配置された状態であり、並行状態数が並行状態の数である。
図4の動作フローでは、407ないし412が重要な部分であり、決定用マトリクスに記入された状態の関係が検査されて状態の並行、相反する関係の配置記述に置き換えられる。
【0020】
しかし、上述のアルゴリズムでは、複数の並行状態に入る可能性のある位置が曖昧な状態が並行状態リストに入ったままである。このような位置が曖昧な状態は、位置が曖昧であるということを明示しておいた方が好ましい。
位置が曖昧な状態を検出するアルゴリズムで記述すると、その流れは図5に示すフローチャートになる。この処理は、図4のアルゴリズム中の417で求められた並行状態リスト毎に行う。
501では、位置付けが曖昧かどうかの対象となる状態を意味する検査状態という変数に初期値1を代入する。
502では、検査対象となる検査状態のある並行状態リストの番号を検査リスト番号に代入する。
503では、並行状態リストのインデックス用の変数を意味するリスト番号に初期値1を代入する。
504では、リスト番号と検査リスト番号を比較し、番号が異なる場合のみ検査状態が他の並行状態リストに入る可能性があるため、505〜509の処理を行う。同じ場合は、510でリスト番号を1増加させ、511でリスト番号が並行状態数以下の場合は、504に戻って次の並行状態リストに関して処理を続ける。
505では、リスト内の状態の位置を意味するリスト位置という変数に初期値1を代入する。
【0021】
506では、曖昧な状態を判定するための対象状態を並行状態リスト[リスト番号]のリスト位置から取り出す。
507では、検査状態と対象状態が並行であるかを調べ、並行であれば位置付けが曖昧でないので、513の処理に移る。並行でなければ508でリスト位置を1増やし、509で並行状態リスト[リスト番号]の全ての状態に対して並行性を評価したかを判定し、全て評価していれば510へ移り、していなければ506に戻る。
507で、1つも並行性がなかった検査状態は位置付けが曖昧な状態なので、512において、この検査状態を曖昧状態リストに追加し、並行状態リスト[検査リスト番号]から位置付けが曖昧な検査状態を削除する。
513では、検査状態を増やし、検査状態が状態数N以下の場合は502に戻って処理を続け、それ以外の場合は終了する。
但し、このアルゴリズムでは、複数の組み合わせの並行状態リストが作成される可能性がある。この場合、並行状態数が少ない方の並行状態リストを採用する。また、並行状態が最小の並行状態リストが複数存在した場合は、仕様の内容から作業者が適切な状態配置を選択する必要がある。
【0022】
こうして得られた並行状態配置図に、状態の優先順位を指定して階層表現を取り入れる。図1の状態階層化手段は、状態分割手段が出力した並行状態情報、つまりまだ並行状態だけが記述された並行状態配置図に、図6に示す動作を行って階層関係を決める。
図6の601で、各並行状態毎にその並行状態内の全ての状態を状態リストに入れる。
602で、最上位の状態として空の状態を作成する。
603では、状態リストを調べて、入力された状態の優先順位の中で最も優先順位の高い状態を取り出す。もし、同じ優先順位の状態が複数ある場合は、これら複数を同時に取り出す。
604では、取り出した状態を最上位の状態として配置する。
605は、状態リストが空かを判定し、空であれば607に、空でなければ606で最上位の状態として空の状態を作成して、この状態を新たに最上位の状態として603以降を繰り返す。
607では、602で最初に作成した最上位の状態を削除し、状態配置の動作を終える。
【0023】
以下に具体的な「空調機」について、階層並行状態配置図を得る動作を説明する。
この空調機の制御仕様が、製品機能、目的、有効条件、内容、終了条件として示される。しかし、それらの相互間の関係は、単に1つ1つを自然言語で記述するだけでは判らない。例えば、異常呼出(異呼)、製品初期化(製)、停止(停)、異常処理(異処)、冷房運転(冷)、店頭展示処理(店)について状態が示されても、相互間の並行性及び排他性が判らない。図7は、この例における相互の状態間の並行性、排他性の関係を定めた状態位置決定用マトリクスであり、上述の状態は図7では括弧内のように省略記述されている。
これを図1の設計仕様作成支援装置2の状態関係情報5として入力すると、まず状態分割手段3が図4と図5のアルゴリズムにより、図8の並行状態配置図を状態分割情報ファイル7に出力する。
この例では、状態間の優先順位情報として各並行状態に関して以下の優先順位が与えられているとする。
並行状態1:冷房運転<異常処理<停止
並行状態2:通常モード<店頭展示モード<異常呼出モード、製品初期化モード
これらの優先順位情報を状態優先順位情報6として入力すると、状態階層化手段4が図6のアルゴリズムにより、図9の階層並行状態配置図をSTATECHART状態配置情報8として出力する。
【0024】
図9は、そのままではSTATECHARTにはならない。しかし配置情報が与えられると、それから図10のSTATECHARTを完成するのは人手でやるとしても容易な作業である。即ち、どのような指示、トリガにより運転が移るのか、モードが移るのかが容易に記入できる。
【0025】
実施の形態2.
実施の形態1で述べたように、仕様の個別機能と状態をもれと重複を防いで相互関係として整理するには、状態位置決定用マトリクスの作成が有効である。またこのマトリクスは、所定の形式を満足すると分割することができて、分割された小さなマトリクス対応で状態配置図を出力することができる。
本実施の形態では、複雑な仕様の記述を変形していって状態配置図を出力するまでのマトリクスの変形処理を説明する。
図11は、状態位置決定用マトリクスの例を示す図で、マトリクス中の記号の意味を説明するものである。図12ないし図14は、各種のマトリクスと状態配置図との対応を示す図で、図15は、図1における状態分割手段3が持つ状態分割アルゴリズムが行う動作フローチャートである。
以下、各種のマトリクスの意味の説明と、所定の形式として完全正規形マトリクスの意味と特徴を述べる。
図1の状態関係情報ファイル5に入力される仕様として、状態が同時に有効になりうるという状態並行性情報、1つの状態が有効になると他方は必ず無効になるという、状態が排他的に有効になる状態排他性情報、1つが有効になると他方も必ず有効になるという状態包含性情報の3種からなる入力がある。この入力情報を、例えば、図11に示す状態位置決定用マトリクスで表現し、これが完全正規形であれば、分割された状態配置図に変換できる。
【0026】
最初に、本実施の形態における拡張された状態位置決定用マトリクスの生成方法を記号の意味と共に図11を用いて述べる。
(1−1)まず、仕様として与えられる存在しうる状態を縦と横のAないしDの欄に列記する。
(1−2)作成された状態欄の交点における状態間の相互関係が同時に有効になることはないという排他的関係にある場合は、×印を記入する。例えば、状態Aと状態BないしDとがこの関係にある。
(1−3)交点における状態の相互関係が、一方が有効になっている場合に他方の状態も有効になることがあるという並行関係にある場合は、○印を記入する。例えば、状態Cと状態Dとがこの関係にある。
(1−4)交点における状態の相互関係が、一方が有効になると他方の状態も必ず有効になるという包含関係にある場合は、二重丸を記入する。状態CまたはDと状態Bとがこの関係にある。
【0027】
n×nのマトリクスに関して、マトリクスの縦、横の状態の順番が同じで、かつ、同じ印がマトリクスの右上、k(縦)×(n−k)(横)の矩形に集中しているマトリクスを正規形の状態位置決定用マトリクス(以下、正規形マトリクスと省略する)と定義する。正規形マトリクスには次の3種類があり、それぞれ状態が構造的に整理される。
以下に、3種類の正規形マトリクスを、それらの図12ないし図14を用いて説明する。
各図に示す正規形マトリクス中の“*”は、×,二重丸,○のうちの任意の印であってよいことを意味する。また、各図の右に示す状態配置図は、正規形マトリクスによって分割処理されて得られ、破線とその中に記入されている状態は、破線中にこの状態が存在することを意味する。
(2−1)独立正規形
右上、k×(n−k)の矩形に×が集中しているマトリクス(図12の状態A,Bと状態C、Dが交差している欄)。
このマトリクスは、縦に記入されている1〜k番目の状態の集合と(k+1)〜n番目の状態の集合の2つに分割できる。この場合、分割された2つの状態の集合は、排他的な独立状態の関係になる。
【0028】
(2−2)並行正規形
右上、k×(n−k)の矩形に○が集中しているマトリクス(図13の状態A,Bと状態C、Dが交差している欄)。
このマトリクスは、縦に記入されている1〜k番目の状態の集合と(k+1)〜n番目の状態の集合の2つに分割できる。この場合、分割された2つの状態の集合は、並行状態の関係になる。
(2−3)階層正規形
右上、1×(n−1)の矩形に二重丸が集中しているマトリクス(図14の状態Aと状態B,C,Dが交差している欄)。
このマトリクスは、縦に記入されている1番目の親状態と2〜n番目の子供の状態の集合の2つに分割できる。この場合、分割された親状態と子供の状態の集合は、階層状態の関係になる。
【0029】
状態位置決定用マトリクスが以下の性質を満たす場合、このマトリクスを完全正規形マトリクスと定義する。完全正規形マトリクスに記述されている状態は、分割することが可能である。
完全正規形マトリクスの定義:
(3−1)状態を1つしか持たない状態位置決定用マトリクス。
(3−2)状態位置決定用マトリクスが正規形マトリクスであり、正規形によって分割された2つの状態の集合に関しての状態位置決定用マトリクスが両者とも完全正規形マトリクスである状態位置決定用マトリクス。
【0030】
完全正規形マトリクスに含まれる状態の分割は、図1の状態分割手段3が図15の状態分割アルゴリズムによって以下のように実行する。
(4−1)完全正規形マトリクスは、独立正規形、並行正規形、階層正規形のいずれかの正規形マトリクスであるため、各正規形に含まれる状態の集合をそれぞれ独立状態関係、並行状態関係、階層状態関係にある2つの状態の集合に分割する(ステップ707〜711)。
(4−2)分割された個々の状態の集合に関しての状態位置決定用マトリクスも、完全正規形マトリクスであるため、分割された個々の状態の集合の要素が全て1つになるまで分割を繰り返す。
なお、図15で、S[]は、状態位置決定用マトリクスによって分割を行なう対象の状態の集合を保存するための変数データである。indexは、S[]に保存する位置を操作するための変数データである。
【0031】
図16に、状態位置決定用マトリクスが完全正規形マトリクスである場合の例を示す。
この図のマトリクスは、以下の手順からマトリクスの分割が行なえ、最終的には、図17の状態配置図が得られる。
(5−1)状態A〜状態Dに関しての状態位置決定用マトリクスは、並行正規形であるため、状態Aとそれ以外の状態B〜Dは、並行的位置関係にある状態に分割できる。
即ち、自身の交点を結ぶ左上から右下への対角線Lと、右上隅の角(図16では、状態AとDの交点)と、この対角線Lに接する交点とで形成する四辺形内の印が○であれば、並行的位置関係に分割できる。
(5−2)状態B〜Dに関しての状態位置決定用マトリクスは、階層正規形であるため、状態はBと状態C〜Dは、状態Bが親状態で状態C〜Dが子の状態集合である階層的位置関係にある状態に分割できる。
(5−3)状態C〜Dに関しての状態位置決定用マトリクスは、独立正規形であるため、状態Cと状態Dは、独立的位置関係にある状態に分割できる。
【0032】
一般的には、仕様として示される状態の関係をマトリクスで整理して表現すると、正規形にはならない。しかし、状態位置決定用マトリクスは、マトリクスの縦、横の状態の順番を同じように入れ替えることで、完全正規形マトリクスにできる場合がある。以下に、この並べ替えアルゴリズムを説明する。
完全正規形への並べ替えアルゴリズムをフローチャートで記述した図を、図18ないし図21に示す。
ここで、図18は、並べ替えのメイン処理のアルゴリズムを、図19は、並べ替えアルゴリズム中のステップ818の状態配置探索アルゴリズムの詳細を、図20,21は、並べ替えアルゴリズム中のステップ815の探索リストへの挿入アルゴリズムの詳細を示す。
【0033】
この並べ替えアルゴリズムでは、3つのリスト、即ち、順序リスト、探索リスト、正規リストを使用する。これらはみな状態のリストである。順序リストは、状態挿入アルゴリズムによって挿入される状態の順序を保持する。状態配置探索アルゴリズムは、順序リストに含まれている状態の順番を入れ換えながら、挿入アルゴリズムを適用することによって、さまざまな挿入順序を試行し、正規化された状態位置決定用マトリクスの状態並びを決定する。探索リストは、状態配置探索アルゴリズムによって作成されている途中の状態位置決定用マトリクスの状態並びを表す。リストの並びは、リストの先頭から末尾に向かって、状態位置決定用マトリクス上の左から右(または上から下)方向の状態並びを表す。正規リストは、正規化された状態位置決定用マトリクスの状態並びを表す。状態配置探索アルゴリズムが最終的に成功した時に、探索リストの内容が正規リストへコピーされる。
【0034】
並べ替えメイン処理のアルゴリズムを説明する。
(6−1)順序リストの要素がマトリクスに現れる状態だけからなり、かつ、各状態を1つずつ含むように初期化する。フローチャートでは、リストのi番目の要素を状態iとしているが、初期化時のリストの並び方には意味がないので、これ以外の並び方でも良い。
(6−2)探索リストを空にする(804)。
(6−3)indexを1に設定する(805)。indexは、探索の深さを表す指標として使われる。
(6−4)状態配置探索を開始する(806)。
【0035】
状態配置探索アルゴリズムを説明する。
このステップ806の詳細を構成するアルゴリズムでは、再帰的な処理によって順序リスト上にリスト要素の順列組合せを生成しながら、完全正規形の探索を行なう。
(7−1)indexが状態数を越えているかどうかを調べる(811)。越えている場合、1から状態数までの各index値に対し、順序リストに示された全ての状態の挿入が成功したことを表す。このとき、挿入された結果は、探索リストに入っており、完全正規形のマトリクスを表している。探索リストの内容を正規リストにコピーした後(812)、探索成功として、アルゴリズムの実行を終了する。
(7−2)順序リストのindex番目から最後までの各要素について、探索リストへの挿入を試みる。このとき、何番目の要素について処理を行なうかを表すために、count[index]を用いる。また、再帰呼び出しによって順列組合せを生成するために、順序リストのindex番目の要素とcount[index]番目の要素を交換する(814)。
【0036】
(7−3)挿入に成功した場合、順序リストのindex+1番目以降の要素について処理を行なうため、indexを1増加させてから(817)、状態配置探索を呼び出し(818)、戻ってきたらindexを1減ずる(819)。探索に成功した場合は、そのまま探索成功としてアルゴリズムを終了する。失敗した場合は、先ほど追加した探索リストに追加した順序リストの要素を、リストから削除する(821)。
(7−4)先ほど交換した順序リストの要素を元に戻し(823)、count[index]を1増加する(824)。count[index]が状態数以下ならば、まだ挿入を試みていない要素があるので、前に戻り処理を続行する(814以降)。そうでなければ、探索失敗として、アルゴリズムの実行を終了する。
【0037】
探索リストへの挿入アルゴリズムを説明する。
このステップ815の詳細を構成する挿入アルゴリズムでは、順序リストのindex番目の要素として指定される状態(以下では、状態sと呼ぶ)を、探索リストの適切な位置に挿入できるかどうかを調べ(852)、可能な場合は挿入する。
マトリクスの状態によって、挿入可能な条件が以下の5つ考えられる。条件の優先順位としては(8−1)が最も高く、(8−5)が最も低い。そこで、これらの条件に当てはまるかどうかを(8−1)から(8−5)の順に1つずつ調べていく。完全正規形を維持しながら状態を追加するためには、適切な挿入位置を選ぶ必要があるが、そのための指標として挿入位置ガイドを用いる。以下の説明では、アルゴリズム実行開始時の挿入位置ガイドの値をkと呼ぶ。
【0038】
(8−1)探索リストが空の場合、状態sを探索リストの先頭に挿入し、挿入位置ガイドを0にする(853)。挿入成功としてアルゴリズムの実行を終える。
(8−2)マトリクス中の状態sの行において、探索リストに含まれる各状態に対応する項目がすべて二重丸であれば(855)、状態sを探索リストの先頭に挿入し、挿入位置ガイドを0にする(853)。挿入成功として、アルゴリズムの実行を終える。
(8−3)マトリクス中の状態sの行において、探索リストの先頭からk−1番目までに含まれる各状態に対応する項目が全て×で、かつ、探索リストのk番目から最後までに含まれる各状態に対応する項目が全て○(856)、となる場合、挿入を行なえる。挿入を行なう前に、マトリクスの項目のうち、探索リストk番目の状態に対応する行で、探索リストk−1番目の状態に対応する列の内容が○であれば、挿入位置ガイドを1増加させる(859)。そして、探索リストのk番目に状態sを挿入し(860)、挿入成功として、アルゴリズムの実行を終える。なお、k<1のときは、この条件は成立しないものとする。
【0039】
(8−4)マトリクス中の状態sの行において、探索リストの先頭からk−1番目までに含まれる各状態に対応する項目が全て○で、かつ、探索リストのk番目から最後までに含まれる各状態に対応する項目が全て×(861)、となる場合、挿入を行なえる。挿入を行なう前に、マトリクスの項目のうち、探索リストk番目の状態に対応する行で、探索リストk−1番目の状態に対応する列の内容が×であれば、挿入位置ガイドを1増加させる。そして、探索リストのk番目に状態sを挿入し(865)、挿入成功として、アルゴリズムの実行を終える。なお、k<1のときは、この条件は成立しないものとする。
(8−5)マトリクス中の状態sの行において、探索リストに含まれる各状態に対応する項目が全て○または全て×ならば(866)、状態sを探索リストの最後に追加し、挿入位置ガイドをindexにする(868)。挿入成功として、アルゴリズムの実行を終える。
(8−6)(8−1)から(8−5)のいずれの条件にも当てはまらなかった場合は、挿入失敗として、アルゴリズムの実行を終える。
【0040】
状態位置決定用マトリクスが完全正規形マトリクスの場合、上述したように、そのマトリクスに記述されている状態を分割することが可能である。しかし、状態位置決定用マトリクスの中には、図22に示される例のように、完全正規形マトリクスに変形不可能なマトリクスも存在する。この場合、本来、同時に有効になり得ない状態同士を一部、並行状態に配置することで、解決することができる。即ち、マトリクスの中の要素の×を一部○に変更することで、並行正規形への変形を行う。
しかし、この場合、仕様で同時に有効にならない状態が配置の上では有効になってしまう。そこで、状態遷移の条件の中で、同時に有効になることを防ぐ条件を追加する必要がある。
実は、図22の例の場合、任意の×を1つを○に変更することで、完全正規形マトリクスに変形することができる。例えば、状態Bと状態Cの関係を×から○に変更することで、完全正規形マトリクスになり、マトリクス中の状態は、図23のように分割することが可能となる。この場合、状態Bと状態Cの関係を×から○に変更したことによって、状態Aと状態Bは同時に有効にならないという制約が生じる。
【0041】
×を○に変更することにって、状態位置決定用マトリクスを完全正規形へ変換する変形アルゴリズムをフローチャートで記述した図が、図24ないし図27である。
ここで、図24は、変形メイン処理のアルゴリズムを、図25は、変形化アルゴリズム中のステップ906の状態配置探索アルゴリズムを、図26は、変形化アルゴリズム中のステップ918の探索リストへの挿入アルゴリズムを示す。
このアルゴリズムは、前記の完全正規形マトリクスへの変形アルゴリズムに類似しているが、必要に応じて状態間の関係を×から○に変更する点が異なっている。このアルゴリズムを使用すれば、仕様の状態を記述したマトリクスがそのままでは完全正規形に変形できないマトリクスとして表現されても、マトリクスの内容の一部が変更された条件付完全正規形マトリクスを得ることが可能である。以下では、アルゴリズムによって変更を指定されて生じた○を●と表記して、もとから存在した○と区別する。
【0042】
この条件付への変形化アルゴリズムでは、3つのリスト、即ち、順序リスト、探索リスト、正規リストを使用する。これらは、みな状態リストであり、先の並べ替えアルゴリズムでのリストと同様の役割を果たす。即ち、順序リストは、状態の順序を保持する。状態配置探索アルゴリズムは、順序リストに含まれている状態の順番を入れ換えながら、挿入アルゴリズムを適用することによって、さまざまな挿入順序を試行し、状態並びを決定する。探索リストは、状態配置探索アルゴリズムによって作成されている途中のマトリクスの状態並びを表す。正規リストは、正規化されたマトリクスの状態並びを表す。状態配置探索アルゴリズムが最終的に成功した時、または、探索の途中でそれまでの最善の解が得られた時、探索リストの内容が正規リストへコピーされる。
【0043】
変形化メイン処理のアルゴリズムを説明する。
(9−1)順序リストの要素がマトリクスに現れる状態だけからなり、かつ、各状態を1つずつ含むように初期化する。フローチャートでは、リストのi番目の要素を状態iとしているが、初期化時のリストの並び方には意味がないので、これ以外の並び方でも良い。
(9−2)探索リストを空にする。最良補正値に十分大きな値(ここでは、(状態数−1)×(状態数−2)÷2)を設定する(904)。最良補正値は、完全正規形へ変形させるために、必要となった●の数のうち、最小の値を保持する。
(9−3)indexを1に設定する(905)。indexは、探索の深さを表す指標として使われる。
(9−4)状態配置探索を開始する(906)。
【0044】
状態配置探索アルゴリズムを説明する。
このステップ906の詳細を構成するアルゴリズムでは、再帰的な処理によって順序リスト上にリスト要素の順列組合せを生成しながら、完全正規形の探索を行なう。
(10−1)indexが状態数を越えているかどうかを調べる(911)。越えている場合、1から状態数までの各index値に対し、順序リストに示された全ての状態の挿入が成功したことを表す。このとき、挿入された結果は、探索リストに入っており、完全正規形のマトリクスを表している。ここで、マトリクス中の●の数が最良補正値よりも小さいならば、より良い配置が見つかったことを意味するので、探索リストの内容を正規リストにコピーし(913)、最良補正値を●の数で更新する(914)。更に、●の数が0の場合、マトリクスの変更なしに完全正規形への変形が行なわれたことを意味するため、探索成功としてアルゴリズムの実行を終了する。この探索成功により、全ての探索が終了する。●の数が0でない場合は、今後より良い配置が見つかる可能性があることから、探索を継続させるため探索失敗として、アルゴリズムの実行を終了する。
【0045】
(10−2)順序リストのindex番目から最後までの各要素について、探索リストへの挿入を試みる(916)。このとき、何番目の要素について処理を行なうかを表すために、count[index]を用いる。また、再帰呼び出しによって順列組合せを生成するために、順序リストのindex番目の要素とcount[index]番目の要素を交換する(917)。
(10−3)挿入に成功した場合、順序リストのindex+1番目以降の要素について処理を行なうため、indexを1増加させてから(920)、状態配置探索を呼び出し(921)、戻ってきたらindexを1減ずる(922)。探索に成功した場合は、そのまま探索成功として、アルゴリズムを終了する。失敗した場合は、先ほど追加した探索リストに追加した順序リストの要素を、リストから削除する(924)。
(10−4)先ほど交換した順序リストの要素を元に戻し(925)、count[index]を1増加する(926)。count[index]が状態数以下ならば、まだ挿入を試みていない要素があるので、前に戻り処理を続行する(917以降)。そうでなければ、探索失敗として、アルゴリズムの実行を終了する。
【0046】
探索リストへの挿入アルゴリズムを説明する。
このステップ918の詳細を構成する挿入アルゴリズムでは、順序リストのindex番目の要素として指定される状態sを、探索リストの適切な位置に挿入できるかどうかを調べ(952)、可能な場合は挿入する。
このとき、必要であれば、×を●に変えることによって挿入を可能にする。ただし、マトリクスに含まれる●の数は、最良補正値よりも小さくなければならない。この条件を満たせない場合は、●への変更は行なわない。マトリクスの状態によって、挿入可能な条件が以下の6つ考えられる。条件の優先順位としては、(11−1)が最も高く、(11−6)が最も低い。そこで、これらの条件に当てはまるかどうかを(11−1)から(11−6)の順に1つずつ調べていく。完全正規形を維持しながら状態を追加するためには、適切な挿入位置を選ぶ必要があるが、そのための指標として、その値をkとする挿入位置ガイドを用いる。
【0047】
(11−1)探索リストが空の場合、状態sを探索リストの先頭に挿入し、挿入位置ガイドを0にする(953)。挿入成功として、アルゴリズムの実行を終える。
(11−2)マトリクス中の状態sの行において、探索リストに含まれる各状態に対応する項目が全て二重丸であれば(954)、状態sを探索リストの先頭に挿入し、挿入位置ガイドを0にする(953)。挿入成功としてアルゴリズムの実行を終える。
(11−3)マトリクス中の状態sの行において、探索リストに含まれる各状態に対応する全項目が全て×ならば、状態sを探索リストの最後に追加し、挿入位置ガイドをindexにする。挿入成功として、アルゴリズムの実行を終える。
(11−4)マトリクス中の状態sの行において、探索リストの先頭からk−1番目までに含まれる各状態に対応する項目が全て×で、かつ、探索リストのk番目から最後までに含まれる各状態に対応する項目が○または●となるような●が存在する場合(956)、挿入を行なえる。挿入を行なう前に、マトリクスの項目のうち、探索リストk番目の状態に対応する行で、探索リストk−1番目の状態に対応する列の内容が○であれば、挿入位置ガイドを1増加させる(959)。そして、探索リストのk番目に状態sを挿入し(960)、挿入成功として、アルゴリズムの実行を終える。なお、k<1のときは、この条件は成立しないものとする。
【0048】
(11−5)マトリクス中の状態sの行において、探索リストの先頭からk−1番目までに含まれる各状態に対応する項目が○または●で、かつ、探索リストのk番目から最後までに含まれる各状態に対応する項目が全て×となるような●が存在する場合(961)、挿入を行なえる。挿入を行なう前に、マトリクスの項目のうち、探索リストk番目の状態に対応する行で、探索リストk−1番目の状態に対応する列の内容が×であれば、挿入位置ガイドを1増加させる(964)。そして、探索リストのk番目に状態sを挿入し(965)、挿入成功として、アルゴリズムの実行を終える。なお、k<1のときは、この条件は成立しないものとする。
(11−6)マトリクス中の状態sの行において、探索リストに含まれる各状態に対応する項目が○または●から成っているならば(966)、状態sを探索リストの最後に追加し、挿入位置ガイドをindexにする(968)。
(11−7)(11−1)から(11−6)のいずれの条件にも当てはまらなかった場合は、挿入失敗として、アルゴリズムの実行を終える。
【0049】
状態位置決定用マトリクスを変形して完全正規形マトリクスとして状態の分割を行った後、状態の関係が全て独立である場合、以下のように抽象的な状態を作成することで、状態を階層化することができる。この優先順位に基づいて、状態階層化手段4が行う状態階層化アルゴリズムを以下に説明する。
(12−1)排他的で独立な状態(S_1,...,S_n)に関して、優先順位が低い順に、P_1≦P_2≦...≦P_nという優先順位があるとする。
(12−2)P_1=...=P_i<P_(i+1)(1≦i≦n−1)の場合、S_1,...,S_iを包含する抽象的な状態S_i’を作成する。S_i’の優先順位は、P_iと等しい。
(12−3)S_i’,S_(i+1),...,S_n関して同様に、P_i+1とP_nが等しくなるまで、抽象的な状態を作成していく。
これは、優先順位i番目より低い状態を含む抽象状態S_i’からはS_(i+1)が有効になるイベントE_iが発生すれば、i+1より優先順位が低い状態を含むS_iに遷移する必要があるためである。図28は、この関係を示し、このように抽象状態を作成して状態を階層構造にすることで、優先順位が状態遷移図上で表現可能になる。
【0050】
以下に、上述した状態分割手段3と状態階層化手段4が上述の各アルゴリズムに基づいて行う動作を、具体的な「空調機」について階層並行状態配置図を得るまでの過程によって説明する。
この空調機の制御仕様が、製品機能、目的、各相互の状態、有効条件、内容、終了条件として示される。しかし、それらの相互間の関係は、単に1つ1つを自然言語で記述するだけでは明確ではない。例えば、停止(停)、運転(運)、店頭展示処理(店)、冷房運転(冷)、異常処理(異処)、異常呼出(異呼)、マルチスタンバイ(マ)、製品初期化(製)について状態が示されても(()内は略記した記述である)、これを階層並行状態配置図上にどのように配置すれば良いかわからない。しかし、各状態が同時に有効になるか、ならないかなどの状態間の同時有効性は、仕様から簡単に抽出できる。
【0051】
図29は、この例における機能関係情報を記入した状態位置決定用マトリクスであり、上述の状態は、図29では縦横の状態欄のように、省略記述されている。
これを図1の設計仕様作成支援装置2の状態関係情報5として入力すると、まず、状態分割手段3が図29として完全正規形にならないことを出力する。この時、図29の完全正規形でない状態位置決定用マトリクスを完全正規形の状態位置決定用マトリクスに変形するため、マトリクスの×を○に変更するという条件付きで、完全正規形の状態位置決定用マトリクスに変形する方法を上述の変形化アルゴリズムを用いて出力する。この場合は、以下の箇所を×から○に変更する。
マ×店−>○
マ×製−>○
異呼×店−>○
異呼×製−>○
【0052】
条件に従って、一部の同時有効性情報を修正した完全正規形の状態位置決定用マトリクスを、図30に示す。
この図では、条件に従って変更した同時有効性情報の部分を●で示してある。
図30の完全正規形の状態位置決定用マトリクスからは、図31のように、階層並行状態配置図として、状態の分割が行なわれる。
【0053】
図31のように、状態が分割された後、新たな状態が必要であることが仕様から判明した。そこで、次の2つの状態を追加した。
(13−1)通常モードを店頭展示と製品初期化の階層に追加する。
(13−2)異常呼出なしを異常呼出の階層に追加する。
追加した状態も含めて、これまで抽出した状態には、以下のような優先順位が仕様中に存在する。
冷房運転<マルチスタンバイ<異常処理
通常モード<店頭展示<製品初期化
この優先順位情報を状態優先順位情報6として入力すると、状態階層化手段4が優先順位に基づく状態の階層化アルゴリズムにより、図32の階層状態配置図をSTATECHART状態配置図用として、STATECHART状態配置情報ファイル8に出力する。
図32に示される階層並行状態配置図が出力されれば、以降の状態遷移図を作成することは容易である。
【0054】
【発明の効果】
以上説明したようにこの発明によれば、状態分割手段と、必要により状態階層化手段を備えたので、状態関係情報と、必要により状態優先順位情報を入力するのみで階層並行状態配置図が得られて、状態遷移図の作成が容易になる効果がある。
【0055】
また更に、状態位置決定用マトリクスを用いて状態関係情報を与えるようにしたので、より正確な階層並行状態配置図が得られて、状態遷移図の作成が容易になる効果がある。
【0056】
また更に、位置曖昧状態検索アルゴリズムを付加したので、より正確な階層並行状態配置図が得られて、状態遷移図の作成が容易になる効果がある。
【0057】
また更に、状態の並行性情報、状態の排他性情報、状態の包含性情報を状態位置決定用マトリクスを用いて得られるようにしたので、より正確な階層並行状態配置図が得られて、状態遷移図の作成が容易になる効果がある。
【0058】
また更に、状態位置決定用マトリクスを正規形に並べ替える並べ替えアルゴリズムを用いたので、より容易に階層並行状態配置図が得られて、状態遷移図のの作成が容易になる効果がある。
【0059】
また更に、一部の状態関係を変更指示する変形化アルゴリズムを用いたので、より容易に階層並行状態配置図が得られて、状態遷移図の作成が容易になる効果がある。
【図面の簡単な説明】
【図1】 この発明の実施の形態1における設計仕様作成支援装置の構成図である。
【図2】 STATECHARTで表現される階層並行状態配置図の例を示す図である。
【図3】 機能の優先順位を階層並行状態配置図で表した例を示す図である。
【図4】 実施の形態1における状態分割手段の動作を示すフローチャートの図である。
【図5】 実施の形態1の状態分割手段が行う位置曖昧状態検索アルゴリズムのフローチャートの図である。
【図6】 実施の形態1における状態階層化手段の動作を示すフローチャートの図である。
【図7】 実施の形態1における入力マトリクスの例を示す図である。
【図8】 実施の形態1の状態分割手段が出力する並行状態配置図の例を示す図である。
【図9】 実施の形態1の状態階層化手段が出力する階層並行状態配置図の例を示す図である。
【図10】 状態遷移図と設計仕様作成支援装置の出力との関係を説明するための図である。
【図11】 実施の形態2における状態位置決定用マトリクスの例を示す図である。
【図12】 実施の形態2における独立正規形マトリクスの例を示す図である。
【図13】 実施の形態2における並行正規形マトリクスの例を示す図である。
【図14】 実施の形態2における階層正規形マトリクスの例を示す図である。
【図15】 実施の形態2における状態分割手段の状態分割アルゴリズムによる動作を示すフローチャート図である。
【図16】 実施の形態2における完全正規形マトリクスの例を示す図である。
【図17】 実施の形態2における完全正規形マトリクスによって分割された状態の例を示す図である。
【図18】 実施の形態2における完全正規形マトリクスに並べ替える並べ替えアルゴリズムによるメイン処理動作を示すフローチャート図である。
【図19】 実施の形態2における並べ替えアルゴリズムでの状態配置探索アルゴリズムの動作を示すフローチャート図である。
【図20】 実施の形態2における並べ替えアルゴリズムでの挿入アルゴリズムの動作を示すフローチャート図である。
【図21】 実施の形態2における並べ替えアルゴリズムでの挿入アルゴリズムの動作を示すフローチャート図である。
【図22】 実施の形態2における完全正規形マトリクスに変形不可能な状態位置決定用マトリクスの例を示す図である。
【図23】 実施の形態2における状態配置図の例を示す図である。
【図24】 実施の形態2における条件付完全正規形マトリクスに変形する変形化アルゴリズムによるメイン処理動作を示すフローチャート図である。
【図25】 実施の形態2における変形化アルゴリズムでの状態配置探索アルゴリズムの動作示すフローチャート図である。
【図26】 実施の形態2における変形化アルゴリズムでの挿入アルゴリズムの動作示すフローチャート図である。
【図27】 実施の形態2における変形化アルゴリズムでの挿入アルゴリズムの動作示すフローチャート図である。
【図28】 実施の形態2における制約付きで分割された階層並行状態配置図の例を示す図である。
【図29】 実施の形態2における空調機の状態位置決定用マトリクスの例を示す図である。
【図30】 実施の形態2における条件付完全正規形に変形後の空調機の状態位置決定用マトリクスの例を示す図である。
【図31】 実施の形態2における空調機の分割された状態配置図の例を示す図である。
【図32】 実施の形態2における最終的に得られた空調機の状態配置図の例を示す図である。
【符号の説明】
1 入出力装置、2 設計仕様作成支援装置、3 状態分割手段、4 状態階層化手段、5 設計仕様の状態並行性、状態排他性、状態階層性を含んだ状態関係情報ファイル、6 状態間の優先順位情報ファイル、7 状態分割情報ファイル、8 STATECHART状態配置情報ファイル。
Claims (8)
- 仕様に基づいて状態遷移図の基になる状態配置図を出力する設計仕様作成支援装置において、
上記仕様に規定される2つの状態が同時に有効になる状態並行性情報を成情報、及び同時には有効にならないという状態排他性情報を否情報として、上記2つの状態が交わった点での成否情報で表した順列リストとして入力し、上記成情報で示される状態を抜出してゆき、該抜出した成情報の数だけ並行状態があるとし、上記否情報で示される状態を抜出してゆき、該抜出した否情報の状態は上記並行状態とは排他する関係を示す状態分割情報を出力する状態分割手段を備えて、
上記状態分割情報を基に状態配置図を得ることを特徴とする設計仕様作成支援装置。 - 複数の状態間の優先順位情報を基に、状態分割手段が出力する状態分割情報の並行状態に、上記優先順位情報に基づいて階層化情報を加えて状態配置図を出力する状態階層化手段を備えた、ことを特徴とする請求項1記載の設計仕様作成支援装置。
- 順列リストは、ありうる状態の組合わせをマトリクスの縦と横の欄に展開して、該縦と横との交点に2つの状態が同時に有効になるか、有効にならないかを表す成否情報を記入した状態決定用マトリクスとし、
状態分割手段は、上記状態決定用マトリクスの各欄を順次調べることを特徴とする請求項1記載の設計仕様作成支援装置。 - 状態分割手段は、並行状態にあると判定した対象状態を取出し、該取出した対象状態を他の並行状態と比較して独立した並行状態であるかを調べて、並行状態を確定するようにしたことを特徴とする請求項1記載の設計仕様作成支援装置。
- 順列リストは、ありうる状態の組合わせをマトリクスの縦と横の欄に展開して、該縦と横との交点に2つの状態が同時に有効になり得るという状態並行性情報、状態が排他的に有効になるという状態排他性情報、1つの情報が有効になると他方も必ず有効になるという状態包含性情報、のいずれかを表す状態情報を記入した状態決定用マトリクスとし、
状態分割手段は、上記状態決定用マトリクスに記入された上記状態情報が所定の条件を満足する正規形マトリクスである場合は、該正規形マトリクスに対応する状態配置図を出力することを特徴とする請求項1記載の設計仕様作成支援装置。 - 正規形マトリクスを、状態排他性情報のみが記入された独立正規形、状態並行性情報のみが記入された並行正規形、状態包含性情報のみが記入された階層正規形、に分類して、
状態分割手段は、上記の分類された各正規形マトリクスに対応してそれぞれ、排他的な独立関係を示す状態配置図、並行関係を示す状態配置図、階層関係を示す階層配置図、を出力することを特徴とする請求項5記載の設計仕様作成支援装置。 - 状態分割手段は、状態決定用マトリクスに示される任意の順番にある縦と横の状態を、別の縦と横の位置に移して挿入する並べ替えアルゴリズムを用いて状態決定用マトリクスの縦と横の順番の並べ替えを行って正規形マトリクスを生成することを特徴とする請求項5記載の設計仕様作成支援装置。
- 状態分割手段は、状態決定用マトリクスの縦と横の交点に記入された状態情報の一部を仮に他の状態情報に置換えて得られる正規形マトリクスに基づいて状態配置図を出力し、
上記仮に他の状態情報に変更した元の2つの状態間に優先順位を適用して上記状態分割手段が出力した状態配置図に階層情報を加えて変更する状態階層化手段、を備えたことを特徴とする請求項5記載の設計仕様作成支援装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP06521198A JP3801343B2 (ja) | 1997-08-04 | 1998-03-16 | 設計仕様作成支援装置 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP20875897 | 1997-08-04 | ||
JP9-208758 | 1997-08-04 | ||
JP06521198A JP3801343B2 (ja) | 1997-08-04 | 1998-03-16 | 設計仕様作成支援装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11110439A JPH11110439A (ja) | 1999-04-23 |
JP3801343B2 true JP3801343B2 (ja) | 2006-07-26 |
Family
ID=26406340
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP06521198A Expired - Fee Related JP3801343B2 (ja) | 1997-08-04 | 1998-03-16 | 設計仕様作成支援装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3801343B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009140203A (ja) * | 2007-12-06 | 2009-06-25 | Hidenao Takahashi | 関係図表作成システムおよび関係図表作成方法 |
JP2013057985A (ja) * | 2009-12-09 | 2013-03-28 | Hitachi Ltd | システムの設計支援装置および方法 |
-
1998
- 1998-03-16 JP JP06521198A patent/JP3801343B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH11110439A (ja) | 1999-04-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6889370B1 (en) | Method and apparatus for selecting and aligning cells using a placement tool | |
US5805860A (en) | Methods, data structures and apparatus for traversing a hierarchical netlist | |
US8429582B1 (en) | Methods, systems, and articles of manufacture for smart pattern capturing and layout fixing | |
US6026222A (en) | System for combinational equivalence checking | |
US8984465B1 (en) | Methods, systems, and articles of manufacture for automatically assigning track patterns to regions for physical implementation of an electronic design | |
US20050043935A1 (en) | Method for validating simulating results of a system and equivalence comparison of digital circuits based on said method | |
US8051400B2 (en) | Modifying integrated circuit layout | |
JP2001519958A (ja) | 電子設計の高レベル記述から最適な物理的実施形態を生成するための方法及びシステム | |
US20050091627A1 (en) | Comparison of two hierarchical netlist to generate change orders for updating an integrated circuit layout | |
JPH07311797A (ja) | Lsi自動設計システム及びlsi自動設計方法 | |
JP5540887B2 (ja) | 設計検証プログラム、設計検証方法および設計検証装置 | |
JPH0816429A (ja) | 並行プログラム作成支援装置及び並行プログラム作成方法並びに並行プログラム実行装置 | |
US11675726B2 (en) | Interconnect repeater planning and implementation flow for abutting designs | |
Leduc et al. | Synthesis method for hierarchical interface-based supervisory control | |
JP3801343B2 (ja) | 設計仕様作成支援装置 | |
US20120265493A1 (en) | Method for technology porting of cad designs, and computer program product therefor | |
US7181704B1 (en) | Method and system for designing integrated circuits using implementation directives | |
KR20060022371A (ko) | 3차원 캐드 모델링 및 도면 데이터 속성정보 추출방법 | |
US6189129B1 (en) | Figure operation of layout for high speed processing | |
JP2831741B2 (ja) | アーキテクチャ合成システムにおける記憶要素割当て支援装置 | |
US20230315967A1 (en) | Color graph reduction on a line of connected structures | |
JP2006085329A (ja) | 商品の仕様管理装置 | |
JPH07129375A (ja) | システム状態遷移のプログラミング方法およびその装置 | |
JPH07192041A (ja) | 設計データ管理装置 | |
JPH04205062A (ja) | レイアウト設計方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20040119 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060214 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060328 |
|
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: 20060425 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060425 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100512 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100512 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110512 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110512 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120512 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120512 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130512 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140512 Year of fee payment: 8 |
|
LAPS | Cancellation because of no payment of annual fees |