JP3722854B2 - データ編集装置 - Google Patents
データ編集装置 Download PDFInfo
- Publication number
- JP3722854B2 JP3722854B2 JP21362594A JP21362594A JP3722854B2 JP 3722854 B2 JP3722854 B2 JP 3722854B2 JP 21362594 A JP21362594 A JP 21362594A JP 21362594 A JP21362594 A JP 21362594A JP 3722854 B2 JP3722854 B2 JP 3722854B2
- Authority
- JP
- Japan
- Prior art keywords
- block
- data
- transition
- deletion
- blocks
- 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
Landscapes
- Stored Programmes (AREA)
Description
【産業上の利用分野】
本発明は、状態遷移モデルのようなデータを編集するデータ編集装置の改良に関するもので、特に、複数のブロックを含むデータを効率的に編集するデータ編集装置に係る。
【0002】
【従来の技術】
従来から、各種のデータ編集装置が知られている。データ編集装置は、編集対象が文字であるか図形であるかなどに応じて各種のものが存在するが、データ編集装置の適用分野の一例はソフトウェア開発である。
【0003】
制御ソフトウェアなどソフトウェアの動作仕様を記述するためには、状態遷移モデルがしばしば利用される。状態遷移モデルとは、ソフトウェアの動作仕様を表現する形式の一つで、ソフトウェアやそのルーチンを、複数の状態に遷移する存在として表す。遷移は通常、ソフトウェアの動作を構成する要素であって、遷移前の状態において(始状態)所定の条件が成立すると(イベント)、所定の処理を実行し(アクション)、次の状態へ遷移する(終状態)ものである。
【0004】
状態遷移モデルの具体的記述法は図や表の形式など各種知られているが、代表的な形式は状態遷移図である。そして、ソフトウェア開発過程は、状態遷移図をデータ編集装置で編集する作業を多く含む。
【0005】
なお、単一のソフトウェアであっても、一般に動作仕様は複雑あるいは多様であるため、単一の状態遷移図で全体の動作仕様を記述すると状態数が爆発的に大きくなり、記述や理解が困難になる。そこで、機能ごと、ルーチンごとなど所望の単位ごとの状態遷移図を複数組み合わせて動作仕様を記述することが一般的である。以下、所望の単位の状態遷移図をブロックと呼ぶ。
【0006】
【発明が解決しようとする課題】
しかしながら、上記のような従来のデータ編集装置には、ブロックの編集の際に繁雑な手順を要し、効率的なシステム開発が困難という問題点が存在した。
【0007】
すなわち、まず第1に、各ブロックの内部情報が別個独立であったため、共通要素であっても複数のブロックに記述するためには、同じ内容を各ブロックに繰り返し記述するという繁雑な手順が必要であった。また、このような共通要素を変更する場合も、全てのブロックに対して変更の作業を繰り返すという繁雑な手順が必要であった。さらに、同一内容の重複記載によって所要メモリ量が増大し、コストが増大するという問題点が存在した。
【0008】
第2に、既存のブロックに変更を加えて再利用し新たなブロックとする場合の作業効率向上が困難であった。すなわち、ソフトウェア開発の途中、特に初期において、どのブロックでも用いられる共通要素を集めたひな型のブロックをあらかじめ準備することは事実上困難である。むしろ実際には、複数のシステムやブロックを作成する過程で徐々にその共通部分が認識されていく場合が多い。したがって、ブロックの再利用の際には、既存のブロックを適宜選び、新たなブロックのために追加すべき要素を考察するだけでなく、選んだブロックに含まれる要素から不要なものを選択して削除するという繁雑な手順を要した。
【0009】
本発明は、上記のような従来技術の問題点を解決するために提案されたもので、その目的は、複数のブロックを含むデータを対象として、複数のブロックから共通の上位階層を抽出しながらデータを効率的に編集するデータ編集装置を提供することである。
【0010】
【課題を解決するための手段】
上記の目的を達成するため、本発明の一つの態様におけるデータ編集装置は、複数のブロックからなるデータを編集する編集手段と、前記各ブロック間に、下位のブロックが上位のブロックの内容を継承する上下関係を設定する設定手段と、前記上下関係により下位となるブロックごとに、当該上下関係における上位ブロックとの相違を表す相違データを格納する格納手段と、最下位のブロックから最上位のブロックまで順次前記上下関係を遡りながら、各上下関係における下位ブロックとなる各ブロックの内容を、当該ブロックの前記相違データ及び当該上下関係における上位ブロックの内容に基づいて決定する決定手段と、前記複数のブロックの各要素から共通要素を抽出する抽出手段と、抽出された前記共通要素によって、当該共通要素の抽出元である前記複数のブロックに対して共通の上位階層となる新規ブロックを生成し、当該複数のブロックから当該共通要素を削除して当該新規ブロックの内容を継承する下位ブロックとする生成手段を有し、前記各ブロックの前記相違データは、前記上下関係における上位ブロックから継承されるブロックの要素に追加すべき追加要素を表す追加データ及び当該上位ブロックから継承されるブロックの要素から削除すべき削除要素を表す削除データを含み、前記決定手段は、前記追加データを記録するためのデータ領域である追加リストと、前記削除データを記録するためのデータ領域である削除リストを用い、前記ブロックごとに、当該ブロックの前記相違データに含まれるすべての要素を順次選択し、前記追加要素については、前記削除リストに含まれていない場合に当該要素の追加データを前記追加リストに加入し、前記削除要素については、前記追加リストに含まれていない場合に当該要素の削除データを前記削除リストに加入するように構成され、前記要素は、ソフトウェアの動作仕様を表す遷移を含み、各遷移は、少なくともイベント・アクション・遷移前の始状態及び遷移後の終状態によって規定され、前記抽出手段は、相互に対応している前記始状態同士及び前記終状態同士についてその対応関係を保持するデータ領域である対応テーブルを用い、複数のブロック間において前記イベントと前記アクションが共通の遷移について、前記始状態又は前記終状態のうち少なくとも一方同士が対応せずかつ対応していない各状態のそれぞれ一方ずつが前記対応テーブルに存在する場合以外は当該遷移を前記共通要素として抽出し、当該遷移を抽出した場合は、前記対応テーブルに存在していなかった状態同士を対応するものとして前記対応テーブルに登録するように構成されたことを特徴としている。
【0012】
本発明の上記データ編集装置は、一つの態様において、さらに、前記抽出の基礎とするブロックを選択するためのブロック選択手段を有する。
【0013】
本発明の上記データ編集装置は、一つの態様において、さらに、抽出された前記共通要素から新たなブロックを構成する要素を選択するための要素選択手段を有する。
【0014】
本発明の上記データ編集装置は、一つの態様において、さらに次のような構成を有する。すなわち、前記編集手段は、前記ブロックに対する編集内容が要素の追加の場合は、当該要素を編集対象となっている前記ブロックである対象ブロックの前記追加データに追加し、前記編集内容が要素の削除の場合は、当該要素が前記上位ブロックから継承したものであれば前記対象ブロックの前記削除データに当該要素を追加し、当該要素が前記対象ブロックにおいて追加されたものであれば前記対象ブロックの前記追加データから当該要素を削除し、前記編集内容が要素の変更の場合は、当該要素が前記上位ブロックから継承したものでなければ前記対象ブロックの前記追加データ内の当該要素のデータを変更し、当該要素が前記対象ブロックの前記上位ブロックから継承したものであれば前記対象ブロックの前記削除データに当該要素のデータを追加するとともに前記対象ブロックの前記追加データに変更後の当該要素のデータを追加するように構成される。
【0015】
本発明の上記データ編集装置は、一つの態様において、さらに次のような構成を有する。すなわち、前記編集手段は、編集対象となっている前記対象ブロックに前記下位ブロックが存在し、かつ、当該下位ブロックの前記削除データに当該対象ブロックで削除された要素が存在する場合に、当該削除データから当該要素を削除するように構成される。
【0016】
本発明の上記データ編集装置は、一つの態様において、さらに次のような構成を有する。すなわち、前記格納手段は、前記各上下関係における最上位の前記ブロックの内容を、当該ブロックの前記相違データとして格納するように構成される。
【0017】
本発明の上記データ編集装置は、一つの態様において、さらに、前記ブロックの各要素を所定の各識別子で表すとともに、これら各識別子に所望の名称を対応させる対応手段を有する。
【0018】
【作用】
上記のような構成を有する本発明は、以下のような作用を有する。すなわち、編集手段によって複数のブロックからなるデータを編集する際に、設定手段によって、前記各ブロック間に下位ブロックが上位ブロックの内容を継承する上下関係を設定しておく。そして、格納手段に、下位ブロックごとに上位ブロックとの相違を表す相違データを格納しておく。そして、編集などのために下位ブロックの内容を出力する場合は、決定手段が、下位ブロックの内容を前記上位ブロックの内容及び当該下位ブロックの相違データに基づいて決定する。
【0019】
このように、本発明のデータ編集装置では、ブロック間に上下関係を設定すれば、上位ブロックの内容が下位ブロックにおいて再記述することなく継承され、下位ブロックの内容をなす。このため、共通の要素を持つ上位ブロックに基づいて複数の下位ブロックを作成する場合、各下位ブロックにおいては上位ブロックに含まれる共通要素との相違のみを記述すればよく、データの編集作業が効率化される。
【0020】
また、共通部分を変更する場合も、上位ブロックを変更すれば下位ブロックの内容が継承関係に基づいて自動的に変更されるので、データの編集作業が一層効率化される。
【0021】
また、追加データと削除データを組み合わせることによって、要素の追加や削除のみならず要素の変更など他の態様の相違をも表すことができる。
【0022】
また、継承関係の下位ブロックにおける各要素の存否は、仮に継承関係が多段に構成され、当該要素の追加・削除が何度繰り返される場合でも当該要素に関する最後の(最下位の)追加又は削除が決する。このため、継承順とは逆に上位ブロックを辿ることによって、最下位側で追加又は削除された要素についてはそれより上位の処理で無視することができる。このため、最上位から継承順に相違データを収集する場合と比べ、処理が効率化される。
【0023】
また、追加リスト・削除リストに加入する要素がそれぞれ、下位のブロックにおいて削除・追加されないものに限定されるので、内容決定の処理が効率化される。
【0024】
また、複数ブロック間の共通要素が抽出され、これら共通要素によって当該複数ブロックの共通の上位階層となる新規ブロックが生成されると同時に、当該複数ブロックから当該共通要素が削除される。このため、メモリ効率が向上し、また、共通要素の修正の際に当該共通要素を含む各ブロックを修正する重複した手順が不要になる。
【0025】
また、共通要素をまとめた新規ブロックをひな型として用いれば、新たなブロックを作成する際、不要な要素の削除及び要素の追加の作業が減少し、データ編集が効率化される。また、共通要素をまとめた新規ブロックをひな型とする場合、ひな型を継承するブロックを複数作成することによってデータ編集作業が一層効率化される。
【0026】
なお、本発明は、いかなるデータの編集にも適用可能であるが、特に、ソフトウェアの動作仕様の編集に適する。すなわち、複数のブロックからなる状態遷移モデルを用いてソフトウェアの動作仕様を記述する場合に、頻繁に使用される動作仕様を上位ブロックとし、下位ブロックで新たな動作仕様のみを記述すれば、ブロックを効率的に再利用することができる。
【0027】
また、イベント・アクション・始状態・終状態によって規定される遷移を要素とすることにより、始状態や終状態が異なってもイベントとアクションが共通する遷移は抽出の対象となるので、多様な要素を共通要素として抽出することができる。
【0028】
また、イベントとアクションが共通する複数の遷移について、対応テーブルを用いて始状態や終状態の対応関係を判断することにより、遷移の始状態又は終状態のうち少なくとも一方がすでに他の遷移の始状態又は終状態と対応している場合すなわち結合状態が異なる場合を除いて共通要素として抽出される。このため、単純な基準で合理的な抽出を行なうことができる。
【0029】
また、ブロック選択手段を有する構成では、抽出の基礎とするブロックを自由に選択できるので、目的に応じた抽出を行うことができる。
【0030】
また、要素選択手段を有する構成では、抽出された共通要素から、実際に新たなブロックを構成させる要素として、真に必要な要素を判断して選択できるので、目的により合致した新規ブロックを生成することができる。
【0031】
また、編集手段により、対象ブロックに対する編集内容に応じて、対象ブロックの追加データ・削除データのデータ処理を行う構成では、編集に基づくデータ更新において、要素の削除・変更の場合に当該要素が継承されたものか否かに応じて適切な処理を自動的に行うことができる。
【0032】
また、下位ブロックの削除データに対象ブロックで削除された要素が存在する場合に、当該要素を削除する構成では、継承関係に関する編集において、ブロック相互間における矛盾の発生が自動的に防止される。
【0033】
また、最上位のブロックの内容を相違データとして格納する構成では、最上位のブロックの内容を他の下位ブロックと共通の追加データとして表すので、データ全体のデータ構造や処理手順を統一して構成を単純化し、費用の低減と処理効率の向上を図ることができる。
【0034】
また、対応手段を有する構成では、データに含まれる各要素について、内部情報としてはコード番号のような識別子を用いて処理を高速化し、入出力は作業上実際用いる所望の名称を用いることができる。
【0041】
【実施例】
次に、本発明の実施例について、図面に従って具体的に説明する。なお、後述する実施例はコンピュータ上に実現され、実施例の各機能は、所定の手順(プログラム)がこのコンピュータを制御することで実現される。
【0042】
本明細書における各「手段」は、実施例の各機能に対応する概念的なもので、必ずしも特定のハードウェアやソフトウェア・ルーチンに1対1には対応しない。同一のハードウェア要素が、場合によって異なった手段を構成する。例えば、コンピュータは、ある命令を実行するときにある手段となり、別の命令を実行するときは別の手段となりうる。また、一つの手段が、わずか1命令によって実現される場合もあれば、多数の命令によって実現される場合もある。
【0043】
したがって、本明細書では、以下、実施例の各機能を有する仮想的回路ブロック(「手段」又は「部」)を想定して実施例を説明する。但し、コンピュータの使用は一例であり、本発明の機能の全部又は一部は、可能ならば、カスタムチップ(専用の集積回路)のような電子回路上に実現してもよい。
【0044】
実施例に用いられるコンピュータは、一般には、CPU(中央演算処理装置)と、RAM(随時書込読出型記憶素子)からなる主記憶装置とを有する。また、前記コンピュータの規模は自由であり、マイクロコンピュータ・パーソナルコンピュータ・スモールコンピュータ・ワークステーション・メインフレームなど、いかなる規模のものを用いてもよい。
【0045】
また、前記コンピュータのハードウェアは、典型的には、キーボードやマウスなどの入力装置と、ハードディスク装置などの外部記憶装置と、CRT表示装置やプリンタ印字装置などの出力装置と、必要な入出力制御回路を含む。
【0046】
但し、前記コンピュータのハードウェア構成は自由であり、本発明が実施できる限り、上記の構成要素の一部を追加・変更・除外してもよい。例えば、CPUの種類は自由であり、CPUを複数同時に用いたり、単一のCPUをタイムシェアリング(時分割)で使用し、複数の処理を同時平行的に行ってもよい。また、他の入力装置(例えば、タッチパネル・ライトペン・トラックボールなどのポインティングデバイスや、デジタイザ・イメージ読取装置やビデオカメラなどの画像入力装置・音声識別装置・各種センサなど)を用いてもよい。また、他の外部記憶装置(例えば、フロッピーディスク装置・RAMカード装置・磁気テープ装置・光学ディスク装置・光磁気ディスク装置・バブルメモリ装置・フラッシュメモリなど)を用いてもよい。また、他の出力装置(例えば、液晶表示装置・プラズマディスプレイ装置・ビデオプロジェクター・LED表示装置・音響発生回路・音声合成回路など)を用いてもよい。
【0047】
また、前記コンピュータにおいて実施例を実現するためのソフトウェアの構成としては、典型的には、実施例の各機能を実現するためのアプリケーションプログラムが、OS(オペレーティングシステム)上で実行される態様が考えられる。また、実施例を実現するためのプログラムの態様としては、典型的には、高級言語やアセンブラからコンパイル(翻訳)された機械語が考えられる。但し、前記コンピュータのソフトウェア構成も自由であり、本発明が実施できる限り、ソフトウェア構成を変更してもよい。例えば、必ずしもOSを用いる必要はなく、また、プログラムの表現形式も自由であり、BASICのようなインタプリタ(逐次解釈実行型)言語を用いてもよい。
【0048】
また、プログラムの格納態様も自由であり、ROM(読出し専用メモリ)に格納しておいてもよく、また、ハードディスク装置のような外部記憶装置に格納しておき、コンピュータの起動時や処理の開始時に主メモリ上にロード(読み込み)してもよい。また、プログラムを複数の部分に分割して外部記憶装置に格納しておき、処理内容に応じて必要なモジュールのみを随時主メモリ上にロード(読み込み)してもよい。さらに、プログラムの部分ごとに異なった態様で格納してもよい。
【0049】
また、本実施例における各手順の各ステップは、その性質に反しない限り、実行順序を変更し、複数同時に実行し、また、実行ごとに異なった順序で実行してもよい。このような順序の変更は、例えば、ユーザが実行可能な処理を選択するなどメニュー形式のインターフェース手法によって実現することができる。
【0050】
また、本明細書における「入力」は、本来の情報の入力のみならず、情報の入力と密接に関連する他の処理を含む。このような処理は、例えば、入力内容のエコーバックや修正・編集である。また、本明細書における「出力」は、本来の情報の出力のみならず、情報の出力と密接に関連する他の処理を含む。このような処理は、例えば、出力すべき範囲の入力や、画面スクロールの指示である。なお、対話的入出力手順によって入力と出力を一体的操作によって実現してもよく、このような一体的操作によって、選択・指定・特定などの処理を行ってもよい。
【0051】
また、本明細書におけるデータ(情報)やデータの格納手段は前記コンピュータ上においていかなる態様で存在してもよい。例えば、データのハードウェア上の所在部分は、主記憶装置・外部記憶装置・CPUのレジスタやキャッシュメモリなどいかなる部分でもよい。また、データの保持態様も自由である。例えば、データは、ファイル形式で保持されるのみならず、メモリやディスクなどの記憶装置を物理的アドレスで直接アクセスすることによって実現してもよい。また、データの表現形式も自由で、例えば、文字列を表すコードの単位は、文字単位でも単語単位でもよい。また、データは必要とされる一定時間だけ保持されれば十分で、その後消滅してもよく、保持時間の長短は自由である。また、辞書データのように当面変更されない情報は、ROMに格納してもよい。
【0052】
また、本明細書において、特定の情報への言及は確認的で、言及されない情報の存在を否定するものではない。すなわち、本発明の動作では、動作に必要な一般的な情報、例えば、各種ポインタ、カウンタ、フラグ、パラメータ、バッファなどが適宜用いられる。
【0053】
実施例の各部分が処理に要する情報は、特に記載がない場合、当該情報を保持している他の部分から獲得される。このような情報の獲得は、例えば、当該情報を格納している変数やメモリをアクセスすることによって実現することができる。なお、情報の消去・抹消は、当該情報の内容自体を必ずしも記憶領域から現実に削除せず、消去を表すフラグを設定するなど、情報の意味付けの変更によって行うことができる。
【0054】
[1.実施例の構成]
本実施例のデータ編集装置(以下「本装置」という)は請求項1〜8に対応するもので、本実施例の目的は、複数のブロックを含むデータを対象として、複数のブロックから共通の上位階層を抽出しながらデータを効率的に編集するデータ編集装置を提供することである。
【0055】
まず、図1は、本実施例のデータ編集装置の構成を示す機能ブロック図である。この図に示すように、本装置は、複数のブロック(以下STDと略することがある)からなる状態遷移図をデータとして編集する編集手段1と、前記各ブロック間に、下位ブロックが上位ブロックの内容を継承する上下関係2を設定する設定手段3を有する。また、本装置は、前記下位ブロックごとに、前記上位ブロックとの相違を表す相違データを格納する格納手段4と、前記下位ブロックの内容を前記上位ブロックの内容及び当該下位ブロックの相違データに基づいて決定する決定手段5とを有する。
【0056】
また、本装置は、ブロックの各要素を所定の識別子で表すが、各識別子に所望の名称を対応させる対応手段6を有する。また、本装置は、複数のブロックから共通要素を抽出する抽出手段7と、抽出された共通要素によって新たなブロックを生成する生成手段8とを有する。また、本装置は、前記抽出の基礎とするブロックを選択するブロック選択手段9と、抽出された共通要素から新たなブロックを構成する要素を選択するための要素選択手段10とを有する。
【0057】
[2.実施例の作用及び効果]
[2−1.データ構造]
上記のような構成を有する本装置では、編集手段1によって複数のブロックからなるデータを編集する際に、設定手段3によって、前記各ブロック間に下位ブロックが上位ブロックの内容を継承する上下関係2を設定しておく。
【0058】
図2は、本実施例におけるブロックの例を示す。本実施例におけるブロックは、図2に例示するように階層構造を持ち、上位のブロックであるSTD−1と、STD−1の下位階層であるSTD−2及びSTD−3の計3つである。
【0059】
これらブロック間の上下関係は次のようなデータで表される。図3は、本実施例におけるブロック間の関係の他の例であり、図4は、図3のブロック間の関係を表すデータ(以下「リンクテーブル」という)の例である。例えば、STD−1の下位階層にSTD−3が存在する事実を示すデータを、図4において破線で示す。
【0060】
また、図5はSTD−1の内容、図6はSTD−3の内容を示す。STD−1は遷移T−1,T−2,T−3を有し、STD−3は遷移T−1,T−3,T−4を有する。
【0061】
本実施例では各上下関係において、格納手段4に、前記下位ブロックごとに前記上位ブロックとの相違を表す相違データを格納しておく。相違データは、上位ブロックから継承されるブロックの要素に追加すべき追加要素(追加遷移)を表す追加データ及び上位ブロックから継承されるブロックの要素から削除すべき削除要素(削除遷移)を表す削除データを含む。このように、本実施例では、追加データと削除データを組み合わせることによって、要素の追加や削除のみならず要素の一部の変更など他の態様の相違も表すことができる。
【0062】
なお、図7はSTD−3に対応する相違データの内容を示す。図7では、上位STD−1の内容に追加される遷移T−4を実線で、また、上位STD−1から継承されず削除される遷移T−2を破線で示す。
【0063】
すなわち、STD−3(図6)において、遷移T−1,T−3はSTD−1から継承されたものであり、遷移T−4はSTD−3において新規に追加されたものであり、遷移T−2は削除されている。
【0064】
次に、図8は、本実施例における複数のブロックのデータの構成例を示す。このデータは、各ブロックの識別子(ID)ごとに、当該ブロックの追加テーブル及び削除テーブルを格納する所定のメモリ領域の先頭番地を指すポインタ41を格納したものである。追加テーブル及び削除テーブルはそれぞれ追加データ及び削除データを格納するための記憶領域である。図8では、例えば、テーブルポインタ41が、STD−1についてテーブル42,43、STD−3についてテーブル44,45を指している。
【0065】
各テーブルは1又は2以上の遷移のデータを含む。単一の遷移のデータは、それぞれ遷移の識別子(ID)、イベント(遷移の発火条件)、始状態(遷移元の状態)、終状態(遷移先の状態)、アクション(遷移時の動作)のデータを含む。これらの各データは識別用の内部情報である識別子で表される。例えば遷移IDが「T−1」である遷移は、始状態「S1」、終状態「S2」、イベント「E1」、アクション「A1,A2」という情報を持っている。
【0066】
追加テーブル内の遷移は、このテーブルを保持しているブロックにおいて新たに追加されたものであり、このブロックの下位ブロックに継承される。
【0067】
なお、前記格納手段4は、前記各上下関係における最上位のブロックの内容を、当該ブロックに対応する前記相違データとして格納するように構成してもよい。このようにすれば、最上位のブロックの内容を他の下位ブロックと共通の追加データとして表すので、データ全体のデータ構造や処理手順を統一して構成を単純化し、費用の低減と処理効率の向上を図ることができる。
【0068】
また、本実施例では、ブロックの各要素を所定の識別子で表すが、各識別子には、対応手段6によって所望の名称を対応させることができる。このため、ブロックのデータに含まれる各要素について、内部情報としてはコード番号のような識別子を用いて処理を高速化し、入出力は作業上実際用いる所望の名称を用いることができる。
【0069】
このような対応関係を表すデータの一例を図9〜11に示す。図9はイベントの識別子と名称との対照テーブル(イベント名称テーブル)の例、図10はアクションの識別子と名称との対照テーブル(アクション名称テーブル)の例、図11は状態の識別子と名称との対照テーブル(状態名称テーブル)の例である。例えば、図9では、IDがE1であるイベントの名称は「イベント1」であることが表されている。
【0070】
これらの対応関係に従えば、遷移T−1は実際の入出力では『「状態1」から「状態2」への遷移であり、イベントは「イベント1」、アクションは「アクション1」である遷移』として扱われることとなる。
【0071】
一方、図8における削除テーブルは、上位ブロックから継承しない遷移については遷移IDのみを保持する。遷移の削除については、削除される遷移が特定できれば十分だからである。
【0072】
なお、図12は、図9〜11に示した識別子(ID)と名称の対応関係を表すデータの構成の他の例である。すなわち、これらのデータは、図12に示すように、単一のブロックのデータごとに対照テーブルとして格納してもよい。このようにすれば、同じ遷移や状態の名称についても、特定のブロックにおいて上位ブロックとは異なった名称で扱うことができる。
【0073】
例えば、図12では、STD−1のデータ61に、状態名称テーブル62が従属し、STD−2のデータ63には状態名称テーブル64が従属している。そして、テーブル62は、STD−1に含まれる状態S2が「状態2」との名称で入出力すべき旨の情報62−aを含む。また、テーブル64は、STD−2に含まれる状態S2,S3がそれぞれ「状態あ」,「状態3」との名称で入出力すべき旨の情報64−a,64−bを含む。この結果、状態S2はSTD−1では「状態2」として入出力されるが、STD−2では「状態3」として入出力される。
【0074】
[2−2.編集の概要]
図13は、本実施例のデータ編集装置におけるブロックの編集の典型的な手順を示すフローチャートである。この手順は、ユーザが既存のブロックをひな型として指定して、このブロックの内容を継承する新たな下位ブロックを表示させ、当該下位ブロックの内容を編集する場合のものである。
【0075】
図13の手順では、まず、ユーザが編集対象とするブロック(以下「対象ブロック」という)を指定する(ステップ131)。対象ブロックが新規のものである場合(ステップ132)、対象ブロックに対して識別子が発行される(ステップ133)。
【0076】
また、ユーザは、対象ブロック指定時に対象ブロックが内容を継承する直近上位のブロックを上位ブロックとして指定することができる。上位ブロックの指定があった場合(ステップ134)は、上位ブロックと対象ブロックとの間の上下関係(階層関係)がリンクテーブルに設定される(ステップ135)。次に、対象ブロックの内容が決定され(ステップ136)、対象ブロックの内容が表示装置に表示される(ステップ137)。そして、ユーザが編集操作を入力すると(ステップ138)、編集操作に応じてデータが更新され(ステップ139)、編集後の対象ブロックが再表示される(ステップ1310)。
【0077】
[2−3.内容の決定]
ここで、下位ブロックとして対象ブロックの内容を決定する手順を具体的に説明する。すなわち、この手順では、前記決定手段5は、内容を決定しようとする対象ブロックから最上位のブロックまで順次遡りながら、各ブロックの相違データに基づいて前記内容を決定する。
【0078】
そして、対象ブロックにおける各遷移の存否は、継承関係が多段に存在し当該遷移の追加・削除が何度繰り返される場合でも、当該遷移に関する最後の(最下位の)追加又は削除が決する。このため、最下位側で追加又は削除された遷移についてはそれより上位の処理で無視することができ、最上位から継承順に相違データを収集する場合と比べ、処理が効率化される。
【0079】
図14は、ブロックの内容決定の手順において、各ブロックのデータすなわち追加遷移と削除遷移に対して行う処理の具体的手順を示すフローチャートである。なお、各ブロックを通じての処理において、最上位ブロックの内容に追加すべき要素を保持するデータ領域である追加リストと、最上位ブロックの内容から削除すべき要素を保持するデータ領域である削除リストを用いる。
【0080】
各ブロックでは、当該ブロックの相違データに含まれるすべての遷移を(ステップ141)、順次選択する(ステップ142)。そして、追加遷移については(ステップ143)、削除リストに含まれていない場合(すなわち当該ブロックよりも下位のブロックで削除されていない場合)に(ステップ144)、当該遷移を追加リストに加入する(ステップ145)。これは、下位で削除されない遷移は再上位の内容に追加すべきだからである。
【0081】
一方、追加遷移が削除リストに含まれている場合は(ステップ144)、追加遷移は追加リストに加入されない。これは、下位で削除される遷移は上位においても登場しなかったと同様だからである。
【0082】
また、削除遷移については(ステップ146)、追加リストに含まれていない場合は(ステップ147)、当該遷移を削除リストに加入する(ステップ148)。下位ブロックで追加されない内容は最上位ブロックの内容から削除すべきだからである。一方、削除要素が追加リストに含まれているときは(ステップ147)、削除リストに加入しない。最終的に下位ブロックで再度追加される要素は削除リストに加える必要がないからである。
【0083】
以上のような処理によって、追加リスト・削除リストに加入する要素がそれぞれ下位のブロックにおいて削除・追加されないものに限定され、内容決定の処理が効率化される。なお、再下層では追加リスト・削除リストは空であるから、最下層の追加遷移及び削除遷移は、それぞれ無条件に追加リスト及び削除リストに追加してもよい。
【0084】
[2−4.データの更新]
ユーザは、以上のように決定された内容を確認して編集内容の指示を入力する。図15は、本実施例において編集の指示が入力された場合におけるデータの更新(ステップ139)の具体的手順を示すフローチャートである。この手順では、まず、前記各名称テーブルに関する変更が行われる(ステップ151)。ここでは、編集に伴う状態名の変更、遷移削除に伴う状態の削除、遷移追加に伴う状態の追加などが行われる。なお、編集の指示の入力とデータの更新は、編集作業を終了すべき旨の指示が入力されるまで続けられる。
【0085】
変更内容が遷移の追加の場合は(ステップ152)、編集対象となっている前記ブロックである対象ブロックの追加テーブルに当該遷移を追加する(ステップ153)。
【0086】
また、変更内容が遷移の削除である場合は(ステップ154)、当該遷移が上位ブロックから継承したものであれば(ステップ155)対象ブロックの削除テーブルに当該遷移が追加され(ステップ156)、一方、削除すべき遷移が対象ブロックにて追加されたものであれば(ステップ155)、対象ブロックの追加テーブルから当該遷移が削除される(ステップ157)。
【0087】
変更内容が遷移の追加及び削除でない場合すなわち遷移の変更の場合は(ステップ154)、当該遷移が上位ブロックから継承したものでなければ(ステップ158)対象ブロックの追加テーブル内の当該遷移のデータを変更し(ステップ159)、当該遷移が上位ブロックから継承したものであれば(ステップ158)対象ブロックの削除テーブルに当該遷移を追加するとともに(ステップ1510)対象ブロックの追加テーブルに変更後の当該遷移を追加する(ステップ1511)。
【0088】
このように本実施例では、編集手段1が、遷移の追加・削除・変更に基づくデータ更新において当該遷移が継承されたものか否かに応じて適切な処理を行う。
【0089】
なお、対象ブロックに下位ブロックが存在し(ステップ1512)、下位ブロックの削除テーブルに削除された遷移が存在する場合、この遷移を削除する(ステップ1513)。これにより、ブロック相互間における矛盾の発生を防止する。
【0090】
[2−5.共通要素の抽出]
本実施例では、抽出手段7によって複数のブロックから共通要素(遷移)を抽出し、生成手段8によって共通要素による新たなブロックを生成できる。このため、共通要素をまとめた新規ブロックをひな型として用い、新たなブロックを作成する際、不要な要素の削除及び要素の追加の作業が減少し、データ編集を効率化することができる。
【0091】
特に、共通要素をまとめた新規ブロックをひな型とし、ひな型を継承するブロックを複数作成すれば、データ編集作業が一層効率化される。
【0092】
図16は、本実施例において共通要素の抽出の具体的手順を示すフローチャートである。この手順では、まず、ユーザがブロック選択手段9によって抽出元(基礎)とするブロックを指定するので(ステップ161)、目的に応じた抽出を行うことができる。この選択は、ブロック間の階層関係を表す図やブロックの一覧を表示して行えばよい。
【0093】
続いて、指定された各ブロック間での共通要素が抽出される(ステップ162)。この共通要素は新たな上位ブロックを構成する要素の候補である。なお、抽出は、いずれかのブロックから任意の遷移を順次選び、この遷移と他のブロックの各遷移との同一性を順次調査することによって行うことができる。
【0094】
例えば、ある2つの遷移を比較する場合、複数指定された抽出元ブロックの中から2つを選択し、それぞれの追加テーブルについて、一方のブロックの各遷移を順次取り出す。これら各遷移を、他方のブロックの各遷移と順次比較する。なお、比較対象とする複数のブロックが共通の上位ブロックから継承している各遷移は共通要素として抽出することができる。
【0095】
図17は、本実施例における遷移間の比較の具体的手順を示すフローチャートである。本実施例では、イベントおよびアクションの同一性を中心に、遷移の結合関係の関連性を斟酌して、遷移の同一性を判断する。
【0096】
このように本実施例では、共通要素としてイベント及びアクションが共通の遷移が抽出される。このため、始状態や終状態が異なっても遷移の内容が同じ遷移は抽出の対象となり、多様な共通要素を抽出することができる。なお、この手順において、イベント・アクションの共通性は、名称の如何にかかわらず識別コードの共通性に基づいて判断すればよい。
【0097】
共通要素の抽出では、相互に対応している状態についてその対応関係を保持するデータ領域である対応テーブルを用いる。そして、抽出手段7は、複数のブロック間においてイベントとアクションが共通の遷移について、始状態又は終状態のうち少なくとも一方同士が対応せず、対応していない各状態のそれぞれ一方ずつが対応テーブルに存在する場合以外は当該遷移を抽出する。また、当該遷移を抽出した場合は、対応テーブルに存在していなかった状態同士を対応するものとして対応テーブルに登録する。
【0098】
すなわち、図17において、イベントとアクションが共通の遷移については(ステップ171)、両遷移の始状態と終状態が共にそれぞれ対応している場合は(ステップ172)、遷移の結合関係が同一と考えられるので、両遷移は共通要素として抽出される(ステップ173)。なお、状態の対応関係は、対応すると考えられる状態同士について状態の名称の如何にかかわらず識別子を前記対応テーブルに登録し、この対応テーブルを参照することによって判断される。
【0099】
始状態と終状態がそれぞれ対応している場合以外で(ステップ172)、始状態又は終状態の一方が対応している場合は(ステップ174)、対応していない方の状態が対応テーブルに存在するか否かが判断される(ステップ175)。対応テーブルに存在していた場合は、当該状態は他の状態と対応しており、比較している遷移同士は対応していないと考えられる。このため、遷移は抽出されず手順は終了する。
【0100】
ステップ175において、対応していない状態が対応テーブルに存在しない場合は、対応していないとされた状態同士が対応するものと考えることができるので、対応していない状態が対応テーブルに追加される(ステップ176)。そして、この対応を前提として両遷移が共通要素として抽出される(ステップ173)。
【0101】
ステップ174において始状態も終状態も対応していない場合は、始状態又は終状態が対応テーブルに存在しているかが判断される(ステップ177)。このとき、始状態も終状態も対応テーブルに存在していない場合は、両状態の対応がそれぞれ状態対応テーブルに追加され(ステップ178)、この対応関係を前提に遷移同士の対応関係が共通要素として抽出される(ステップ173)。
【0102】
この結果、本発明では、イベントとアクションが共通する複数の遷移について、遷移の始状態又は終状態のうち少なくとも一方がすでに他の遷移の始状態又は終状態と対応している場合すなわち結合状態が異なる場合を除いて、共通要素として抽出される。このような手順をすべての遷移について繰り返すことにより、共通要素が抽出される。例えば、図18及び図19は、本実施例における共通要素の抽出の基礎となるブロックの例である。また、図20は、図18及び図19から抽出される共通要素の例である。
【0103】
なお、共通要素の抽出の基準は自由である。例えば、すべてのブロックから抽出された要素のみならず、所定の割合のブロック間で共通する要素を抽出要素に含めてもよい。また、共通要素をわずかしか含まないブロックは、無意味なものとして処理対象から除外してもよい。
【0104】
続いて、各ブロックから抽出した要素を表示し、ユーザが、要素選択手段10によって、実際に新たなブロックを構成させる要素を選択する(ステップ163)。このため、真に必要な遷移やブロックを判断して選択し、目的に合致した新規ブロックを生成することができる。
【0105】
[2−6.新規ブロックの生成]
そして、選択された遷移及びブロックによって、上位ブロックが生成される。この上位ブロックは、抽出の元となったブロックとは別個独立のものして生成することもできるが、一般には、元となった複数のブロックの上位ブロックとして生成し、元のブロックに含まれる共通要素については、新たなブロックから継承させ、元のブロックからは除外することが望ましい。このようにすれば、メモリ効率が向上し、また、共通要素の修正の際に当該共通要素を含む各ブロックを修正する重複した手順が不要になるからである。
【0106】
ここでは、元のブロックの内容を上位ブロックにまとめるものとする。この場合、選択された共通要素によって上位の新規ブロックが生成される(ステップ164)。なお、この新規ブロックに対しては識別子が発行される。次に、元のすべてのブロックから新規ブロックを構成する要素が削除される(ステップ165)。なお、この要素の削除に伴い、対応テーブルに基づいて状態の識別子が新規ブロックの識別子と対応するよう変換される。さらに、新規ブロックと元の各ブロックとの間にリンクが設定される(ステップ166)。
【0107】
[3.他の実施例]
なお、本発明は上記の実施例に限定されるものではなく、適宜態様を変更して実施できるものであるから、次のような他の実施例をも包含するものである。
【0108】
例えば、共通要素の抽出の基準として、「イベントが同じ遷移」を抽出し、アクションは各階層で自由に変更できるようにしてもよい。また、更に他の例としては、アクションを類似しているものごとにグループでまとめておき、「イベントが同じでアクションが同じグループに属している遷移」を親候補として抽出することも可能である。さらに、共通要素の抽出は、蓄積されていく仕様記述などの中から、あらかじめ設定した条件で自動的に行なってもよい。
【0109】
また、本発明のデータ編集装置が編集対象とするデータは状態遷移図には限定されず、文字列や図形などいかなるデータに本発明を適用してもよい。また、継承は無差別に行なわず、特定の類型の情報のみ継承させたり、特定のブロック限りのローカルな情報をブロックに持たせれば、一層多様なデータ編集が可能となる。
【0110】
また、相違データは追加と削除には限定されず、要素の一部の変更など自由に設定することができる。また、ブロック選択手段や要素選択手段は必ずしも設ける必要はない。
【0111】
【発明の効果】
以上説明したように、本発明によれば、上位ブロックの内容が下位ブロックにおいて再記述することなく継承され、下位ブロックの内容をなす。このため、共通の要素を持つ上位ブロックに基づいて複数の下位ブロックを作成する場合、各下位ブロックにおいては上位ブロックに含まれる共通要素との相違のみを記述すればよく、データの編集作業が効率化される。
【図面の簡単な説明】
【図1】本発明の実施例のデータ編集装置の構成を示す機能ブロック図
【図2】本発明の実施例におけるブロックの例
【図3】本発明の実施例におけるブロック間の関係の他の例
【図4】図3のブロック間の関係を表すデータの例
【図5】本発明の実施例におけるSTD−1の内容
【図6】本発明の実施例におけるSTD−3の内容
【図7】本発明の実施例におけるSTD−3に対応する相違データの内容
【図8】本発明の実施例における複数のブロックのデータの構成例
【図9】本発明の実施例におけるイベントの識別子と名称との対照テーブル(イベント名称テーブル)の例
【図10】本発明の実施例におけるアクションの識別子と名称との対照テーブル(アクション名称テーブル)の例
【図11】本発明の実施例における状態の識別子と名称との対照テーブル(状態名称テーブル)の例
【図12】図9〜11に示した識別子(ID)と名称の対応関係を表すデータの構成の他の例
【図13】本発明の実施例におけるブロックの編集の典型的な手順を示すフローチャート
【図14】本発明の実施例において各ブロックのデータに対して行う処理の具体的手順を示すフローチャート
【図15】本発明の実施例において編集の指示が入力された場合におけるデータの更新(ステップ139)の具体的手順を示すフローチャート
【図16】本発明の実施例における共通要素の抽出の具体的手順を示すフローチャート
【図17】本発明の実施例における遷移間の比較の具体的手順を示すフローチャート
【図18】本発明の実施例における共通要素の抽出の基礎となるブロックの例
【図19】本発明の実施例における共通要素の抽出の基礎となるブロックの例
【図20】図18及び図19から抽出される共通要素の例
【符号の説明】
1:編集手段
2:上下関係
3:設定手段
4:格納手段
5:決定手段
6:対応手段
7:抽出手段
8:生成手段
9:ブロック選択手段
10:要素選択手段
Claims (7)
- 複数のブロックからなるデータを編集する編集手段と、
前記各ブロック間に、下位のブロックが上位のブロックの内容を継承する上下関係を設定する設定手段と、
前記上下関係により下位となるブロックごとに、当該上下関係における上位ブロックとの相違を表す相違データを格納する格納手段と、
最下位のブロックから最上位のブロックまで順次前記上下関係を遡りながら、各上下関係における下位ブロックとなる各ブロックの内容を、当該ブロックの前記相違データ及び当該上下関係における上位ブロックの内容に基づいて決定する決定手段と、
前記複数のブロックの各要素から共通要素を抽出する抽出手段と、
抽出された前記共通要素によって、当該共通要素の抽出元である前記複数のブロックに対して共通の上位階層となる新規ブロックを生成し、当該複数のブロックから当該共通要素を削除して当該新規ブロックの内容を継承する下位ブロックとする生成手段を有し、
前記各ブロックの前記相違データは、前記上下関係における上位ブロックから継承されるブロックの要素に追加すべき追加要素を表す追加データ及び当該上位ブロックから継承されるブロックの要素から削除すべき削除要素を表す削除データを含み、
前記決定手段は、
前記追加データを記録するためのデータ領域である追加リストと、前記削除データを記録するためのデータ領域である削除リストを用い、
前記ブロックごとに、当該ブロックの前記相違データに含まれるすべての要素を順次選択し、
前記追加要素については、前記削除リストに含まれていない場合に当該要素の追加データを前記追加リストに加入し、
前記削除要素については、前記追加リストに含まれていない場合に当該要素の削除データを前記削除リストに加入するように構成され、
前記要素は、ソフトウェアの動作仕様を表す遷移を含み、
各遷移は、少なくともイベント・アクション・遷移前の始状態及び遷移後の終状態によって規定され、
前記抽出手段は、
相互に対応している前記始状態同士及び前記終状態同士についてその対応関係を保持するデータ領域である対応テーブルを用い、
複数のブロック間において前記イベントと前記アクションが共通の遷移について、前記始状態又は前記終状態のうち少なくとも一方同士が対応せずかつ対応していない各状態のそれぞれ一方ずつが前記対応テーブルに存在する場合以外は当該遷移を前記共通要素として抽出し、
当該遷移を抽出した場合は、前記対応テーブルに存在していなかった状態同士を対応するものとして前記対応テーブルに登録するように構成されたことを特徴とするデータ編集装置。 - 前記抽出の基礎とするブロックを選択するためのブロック選択手段を有することを特徴とする請求項1記載のデータ編集装置。
- 抽出された前記共通要素から新たなブロックを構成する要素を選択するための要素選択手段
を有することを特徴とする請求項1記載のデータ編集装置。 - 前記編集手段は、
前記ブロックに対する編集内容が要素の追加の場合は、当該要素を編集対象となっている前記ブロックである対象ブロックの前記追加データに追加し、
前記編集内容が要素の削除の場合は、当該要素が前記上位ブロックから継承したものであれば前記対象ブロックの前記削除データに当該要素を追加し、当該要素が前記対象ブロックにおいて追加されたものであれば前記対象ブロックの前記追加データから当該要素を削除し、
前記編集内容が要素の変更の場合は、当該要素が前記上位ブロックから継承したものでなければ前記対象ブロックの前記追加データ内の当該要素のデータを変更し、当該要素が前記対象ブロックの前記上位ブロックから継承したものであれば前記対象ブロックの前記削除データに当該要素のデータを追加するとともに前記対象ブロックの前記追加データに変更後の当該要素のデータを追加するように構成されたことを特徴とする請求項1記載のデータ編集装置。 - 前記編集手段は、編集対象となっている前記対象ブロックに前記下位ブロックが存在し、かつ、当該下位ブロックの前記削除データに当該対象ブロックで削除された要素が存在する場合に、当該削除データから当該要素を削除するように構成された
ことを特徴とする請求項4記載のデータ編集装置。 - 前記格納手段は、前記各上下関係における最上位の前記ブロックの内容を、当該ブロックの前記相違データとして格納するように構成されたことを特徴とする請求項1記載のデータ編集装置。
- 前記ブロックの各要素を所定の各識別子で表すとともに、これら各識別子に所望の名称を対応させる対応手段
を有することを特徴とする請求項1記載のデータ編集装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP21362594A JP3722854B2 (ja) | 1994-09-07 | 1994-09-07 | データ編集装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP21362594A JP3722854B2 (ja) | 1994-09-07 | 1994-09-07 | データ編集装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0876983A JPH0876983A (ja) | 1996-03-22 |
JP3722854B2 true JP3722854B2 (ja) | 2005-11-30 |
Family
ID=16642263
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP21362594A Expired - Fee Related JP3722854B2 (ja) | 1994-09-07 | 1994-09-07 | データ編集装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3722854B2 (ja) |
-
1994
- 1994-09-07 JP JP21362594A patent/JP3722854B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH0876983A (ja) | 1996-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7752597B2 (en) | Layered software development and implementation using files | |
JPH03266039A (ja) | フリーフォーマットデータリンク処理方式 | |
US5469539A (en) | Method for abstracting/detailing structuring elements of system specification information | |
JP5747698B2 (ja) | 要件管理支援装置 | |
JP3722854B2 (ja) | データ編集装置 | |
JP6251860B2 (ja) | 情報管理装置並びにファイル管理方法 | |
JPH0850559A (ja) | ファイル記憶保護装置 | |
JP2009163566A (ja) | ジョブ解析支援装置 | |
JP3540241B2 (ja) | アプリケーション起動メニュー定義ファイル生成装置及びアプリケーション起動メニュー生成装置 | |
JPH0954688A (ja) | Gui設計支援方法 | |
JP3415354B2 (ja) | 最小動作環境移行装置 | |
JP2720805B2 (ja) | プログラム流れ図参照方式 | |
JPH06161759A (ja) | システム状態遷移ルールの検証支援方法および装置 | |
JP3305782B2 (ja) | ソフトウェア標準化方法およびソフトウェア生産物の解析方法 | |
JP3047400B2 (ja) | データ処理装置 | |
JP2002056041A (ja) | ハードウェア記述言語階層情報反映方法 | |
CN116841657A (zh) | 接口函数调用方法和装置 | |
JPH0744446A (ja) | グループ化情報の関連付け方法 | |
Costabile et al. | Iconit: an environment for design and prototyping of iconic interfaces | |
JPWO2006025472A1 (ja) | Lyee方法論に基づく処理経路図作成方法、作成装置、ソフトウェア生成方法、生成装置、ソフトウェア並びにソフトウェア開発支援用ソフトウェア | |
JP2647044B2 (ja) | 履歴管理方式 | |
JPH09152965A (ja) | クラスライブラリ再構築方法 | |
JPH04190423A (ja) | 機能別ポインタを用いた情報管理支援装置 | |
JPH0630065B2 (ja) | 情報検索方法 | |
JPH10143510A (ja) | 文書処理装置及びその方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20041118 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20041207 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050207 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050308 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050428 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050607 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050808 |
|
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: 20050906 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050914 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080922 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090922 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |