JP2002230063A - 割込み構造局所化の装置および方法およびプログラム - Google Patents
割込み構造局所化の装置および方法およびプログラムInfo
- Publication number
- JP2002230063A JP2002230063A JP2001024888A JP2001024888A JP2002230063A JP 2002230063 A JP2002230063 A JP 2002230063A JP 2001024888 A JP2001024888 A JP 2001024888A JP 2001024888 A JP2001024888 A JP 2001024888A JP 2002230063 A JP2002230063 A JP 2002230063A
- Authority
- JP
- Japan
- Prior art keywords
- interrupt
- localization
- localizing
- parallel
- model
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
み構造を局所化する装置及び方法を提供する。 【解決手段】割込み可能箇所の特定部22は、システム
仕様に対し、内部構造を探索し、割込み可能箇所(wa
it/maitfor)を含む箇所を特定する。仕様分
割部24は、割込み可能箇所において仕様を分割する、
割込み構造局所化部26は、割込み定義階層の下層の内
部構造を参照し、実質的に割込みがかかる箇所まで階層
構造を渡って局部集中させる。つまり、割込みがかかる
箇所を割込みが有効な箇囲を限定した別の構造に変換す
る。逐次割込み構造局所化部28は、下層構造が逐次構
造(FSM)である場合に局所化する。並列割込み構造
局所化部30は、下層構造が並列(par)構造である
場合に局所化を行う。どちらもルールを適用して行う。 【効果】階層構造にまたがって割込みが掛からないよう
な仕様構造を得る。
Description
等のハードウエア、ソフトウエア、及びその組み合わせ
を含むシステムの設計支援に関する。
区別しない、システムレベルでの仕様記述のための言語
が開発され、これによりシステムレベルでの仕様から具
体的なソフトウェアまたはハードウェアに分割された仕
様へ、同一の仕様の書式に基づいて一貫して仕様記述を
行う環境が整いつつある。このような仕様記述のための
言語の登場に伴い、新たな設計方法論も幾つか提唱され
ている。
システム仕様を確かめながらの設計環境を提供するラピ
ッドプロトタイピングツール(RapidやBette
rState)が知られている。Rapidの参考文
献:“Rapid-plus, White Paper”,http://www.e-sim.c
om/pdf/whtpaper.pdf)。
は、階層的な状態遷移図を利用してシステム分析と設計
をシームレスに、かつ迅速に行えることを特徴としてお
り、仕様の実装方法が明らかでないシステムレベルでの
仕様設計の観点からすると割込み実行、逐次実行、並列
実行を階層的に組み合わせることで効率的な設計が行え
たり、他の上流のシステム分析工程における成果物を少
ない労力で当該システムレベルの仕様記述に変換、流用
できる利点がある。
伴う詳細化に弱点がある。例えば、ソフトウエアであれ
ばC言語等のプログラミング言語による実装、ハードウ
エアであればHDL(Hardware Description Language)
等のハードウエア記述言語による実装において、これら
実装言語が直接的には包含しない並列や割込み等の概念
を当該実装言語向けに翻訳する必要が生じ、必ずしも効
率的ではないという欠点がある。この問題は、階層的な
組合せによりシステム仕様がもとより複雑である場合に
顕著になる。
ルの仕様を元に、下流の設計段階において実装可能な詳
細度の仕様を効率的に得ることを目的とする。具体的に
は、システム記述言語に沿って作成されたシステムレベ
ルの仕様を詳細化する際に好適であって、構造的なシス
テムレベルの仕様に含まれる割込み構造を局所化する装
置及び方法を提供することである。
て作成された仕様において、割込みを定義する階層が、
上位階層に位置し実際に割込みが掛かる箇所と構造的に
掛け離れている(はるかに隔たる)ことが、割込みの効
率的な実装を困難にする点に着目する。
は、システムレベルの仕様において実質的に割込みが掛
かる箇所(ポイント)を特定し、割込みが掛かる箇所に
階層構造に渡って局所化する(局部集中させる)ことに
より、階層構造にまたがって割込みが掛からないような
仕様構造を得る。
ている。
装置は、システムの仕様の構造を記録する仕様構造記録
手段と、前記仕様の内容を保持しつつ前記構造のうち割
込みの構造を局所化する割込み構造局所化手段と、を具
備することを特徴とする割込み構造局所化装置である。
されるソフトウエアの仕様、半導体を組み合わせたハー
ドウエアの仕様、ソフトウエアとハードウエアを組み合
わせた組み込みシステムの仕様、およびワークフローな
どビジネスプロセスの仕様等を含む。
装置は、システムレベルの計算の仕様および通信の仕様
からなる仕様モデルを作成するための仕様モデル記述手
段と、前記仕様モデル記述手段により作成された仕様記
述モデルの部分構造を分割して所定のアーキテクチャの
部分要素に分配し、アーキテクチャモデルを作成するた
めのアーキテクチャ探索手段と、前記アーキテクチャ上
の仕様要素間の通信手順を合成し、コミュニケーション
モデルを作成するためのコミュニケーション合成手段
と、前記仕様モデル記述手段により作成された仕様モデ
ル、前記アーキテクチャ探索手段により作成されたアー
キテクチャモデル、前記コミュニケーション合成手段に
より作成されたコミュニケーションモデルを相互に関連
付け、これをシステム仕様として記録するシステム仕様
記録手段と、前記システム仕様記録手段に記録されてい
るシステム仕様からハードウエア仕様を生成するハード
ウエア仕様生成手段と、前記システム仕様記録手段に記
録されているシステム仕様からソフトウエア仕様を生成
するソフトウエア仕様生成手段と、前記システム仕様に
含まれる仕様の内容を保持しつつ該仕様の構造のうち割
込みの構造を局所化する割込み構造局所化手段と、を具
備するシステム設計支援装置である。
方法は、システムの仕様の構造を記録する記録ステップ
と、前記仕様構造に基づいて割込み可能な箇所を特定す
る特定ステップと、前記特定された割込み可能箇所を境
に前記仕様を構造的に分割する分割ステップと、仕様の
内容を保持しつつ前記仕様構造のうち割込みの構造を局
所化する局所化ステップと、を具備する割込み構造局所
化方法である。
システムの仕様の構造を記録する記録ステップと、前記
仕様構造に基づいて割込み可能な箇所を特定する特定ス
テップと、前記特定された割込み可能箇所を境に前記仕
様を構造的に分割する分割ステップと、仕様の内容を保
持しつつ前記仕様構造のうち割込みの構造を局所化する
局所化ステップと、をコンピュータに実行させるための
プログラムである。
システムレベルの計算の仕様および通信の仕様からなる
仕様モデルを作成する作成ステップと、前記作成された
仕様記述モデルの部分構造を分割して所定のアーキテク
チャの部分要素に分配し、アーキテクチャモデルを作成
するステップと、前記アーキテクチャ上の仕様要素間の
通信手順を合成し、コミュニケーションモデルを作成す
るステップと、前記作成された仕様モデル、アーキテク
チャモデル、コミュニケーションモデルを相互に関連付
け、これをシステム仕様として記録する記録ステップ
と、前記システム仕様からハードウエア仕様を生成する
ステップと、前記システム仕様からソフトウエア仕様を
生成するステップと、前記仕様記述モデルの部分構造へ
の分割前に実行される割込み構造局所化ステップであっ
て、前記仕様構造に基づいて割込み可能な箇所を特定す
る特定ステップと、前記特定された割込み可能箇所を境
に前記仕様を構造的に分割する分割ステップと、仕様の
内容を保持しつつ前記仕様構造のうち割込みの構造を局
所化する局所化ステップと、により構成される割込み構
造局所化ステップと、をコンピュータに実行させるため
のプログラムである。
の実施形態を説明する。
構造局所化装置が適用されたシステム設計支援装置の全
体構成を示すブロック図である。
様モデル記述部2、システム仕様記録部3、アーキテク
チャ探索部4、コミュニケーション合成部6、ハードウ
ェア仕様生成部8、部品再利用部10、およびソフトウ
ェア仕様生成部12から構成されている。
計算機で実行されるソフトウエアの仕様、半導体素子等
を組み合わせたハードウエアの仕様、ソフトウエアとハ
ードウエアとを組み合わせた組み込みシステムの仕様、
ワークフロー等のビジネスプロセスの仕様などについて
の、システムレベルでの仕様を扱う。
る計算の仕様および通信の仕様からなる仕様モデルを設
計するための仕様モデル記述部2は、設計者による仕様
記述を支援する部分である。予め定められた仕様記述形
式に従って、計算内容の仕様、通信内容の仕様を設計者
が記述した結果、仕様記述モデルが生成される。この仕
様記述モデルは、後述する仕様構造を含んでいる。仕様
記述形式の例としては、構造化プログラミング言語に代
表される構造化テキスト形式、グラフを利用する構造図
形式、テーブルを利用する表形式などがある。
様記述モデルを元に、アーキテクチャ(ハードウェアと
ソフトウエア実行環境の構成)に対し、仕様の内容を保
存したまま仕様記述モデルの部分構造を分割してアーキ
テクチャ要素に分配する。具体的な実施形態では、仕様
モデル記述部2で設計された計算内容の仕様や通信内容
の仕様を構成する部品(仕様記述モデルの構成要素)を
アーキテクチャ要素に割り当てる(アーキテクチャモデ
ル作成)。
クチャ上の仕様要素間の通信手順を合成する。具体的に
は、アーキテクチャ探索部4で分配された通信仕様要素
間に対して通信手順(プロトコル)を挿入し、通信内容
の仕様が挿入された通信手順と整合性を保つためのプロ
トコル変換(通信手順の組替え)を行う(コミュニケー
ションモデル作成)。
部2により作成された仕様モデル、アーキテクチャ探索
部4により作成されたアーキテクチャモデル、コミュニ
ケーション合成部6により作成されたコミュニケーショ
ンモデルを相互に関連付け、これをシステム仕様として
記録する。
様記録部3に記録されているシステム仕様からハードウ
エア仕様を生成する。一方、ソフトウエア仕様生成部1
2は、システム仕様記録部3に記録されているシステム
仕様からソフトウエア仕様を生成する。
部3に記録されているシステム仕様を部品化し、これを
仕様モデル記述部2、アーキテクチャ探索部4、および
コミュニケーション合成部6のそれぞれの設計における
再利用に供する。
ーキテクチャ探索部4における仕様分割を容易化するよ
うに、あらかじめ割込みの構造を局所化しておく装置と
して、システム設計支援装置1に組み込まれている。
を示すブロック図である。同図に示すように割込み構造
局所化装置20は、割込み可能箇所の特定部22、仕様
分割部24、および割込み構造局所化部26により構成
されている。割込み構造局所化部26は、逐次割込み構
造局所化部28と、並列割込み構造局所化部30とによ
り構成されている。また、並列割込み構造局所化部30
は、並列割込み展開部32と、並列割込み分離部33と
を有する。
少なくとも、「逐次実行」、「繰り返し」、「割込み終
了」、「割込み一次停止」、「並列実行」の仕様を記述
するための記述要素を具備しており、これらの記述要素
を階層的に組み合わせることによってシステム全体の仕
様を記述することができる。
を記述するステートチャート(StateChart)
や、構造的な言語として文字により仕様を表現するSp
ecC(Specification description language based on
C)言語等がある。SpecCについては、例えば"Spec
C: Specification Language and Methodology", Daniel
D.Gajski, Kluwer Academic Publishers, Dordrecht,
ISBN0-7923-7822-9に詳しい。以下、本実施形態ではシス
テム仕様記述方式として、SpecC言語の記述形式に
沿った説明を行うが、本発明はSpecC言語に限定さ
れない。
様は、複数の「ビヘイビア」と呼ぶ基本単位で構成され
るものとする。ビヘイビアは、階層構造を持つことがで
きる。すなわち、ひとつのビヘイビアは、複数の他のビ
ヘイビアを下階層として持つことができる。ビヘイビア
は、ソフトウエアの仕様の場合は、関数やクラスに相当
し、ハードウエアの場合は、LSIブロックに相当し、
ビジネスプロセスの場合は、ジョブやタスクに相当す
る。
れる仕様の構造を規定し、ビヘイビアの実行の順番に関
する階層構造と、ビヘイビア間でのデータの通信路に関
する階層構造とによって構成される。実行の順番に関す
る構造と通信路に関する構造は、階層としては同じ構造
を持つ。すなわち、ビヘイビアAが実行の順番に関して
ビヘイビアBの上位階層にあるならば、ビヘイビアAは
通信路に関してもビヘイビアBの上位階層である。
る仕様分割の方法も定義できる。例えば、組み込みシス
テムならば、ハードウエアとソフトウエアのそれぞれに
対応する部分に、仕様がどのように分割されるかを、仕
様として構造化して記述する。
順番に関係する構造は、少なくとも「逐次実行および繰
返し実行」(fsm)、「並列実行」(par)、「同
期実行」(fork,join,start,en
d)、「割込み実行」(try,trap,itrp)
という4分類の文法的要素を用いた階層構造として表現
される。fsmは有限状態機械(finite state machin
e)の略である。
し終了の後にbを実行する”という仕様を表現し、pa
r{a,b}は、“aとbを並列に実行する”という仕
様を表現し、階層的な仕様である、fsm{a,par
{b,c},d}は、“aを実行した後にb,cを並列
に実行し、そしてb,cが両方終了したらdを実行す
る”という仕様を表現している。
る、try{a}trap(e){b}は、“最初にa
を実行する。aの実行中にイベントeが発生したら、a
の実行を強制終了し、bの実行を開始する”という仕様
を示す。
実行」、「同期実行」、「割込み実行」は、ソフトウエ
ア、ハードウエア、そしてビジネスプロセスの仕様を記
述するために用いられる実行制御方法規定のための手段
として必要最小限の要素であり、これらを階層的に組み
合わせることにより、いわゆるシステムの仕様を記述す
る。
間のデータのやりとりを規定する。ここでは、変数およ
びチャネルと呼ばれる部品により、通信路が実現される
ものとする。変数やチャネルは仕様の階層関係の上位階
層のビヘイビアの直属の部品として定義され、これと下
位階層のビヘイビアとがポートと呼ばれる接続口を介し
て接続することにより、下位階層同士のビヘイビアが通
信路を介して互いに通信することを可能にしている。
信用の関数に相当し、ハードウエアの場合はLSIを結
ぶ結線に相当する。ポートは、通信のための入出力口で
あり、ソフトウエアの場合は引数に相当し、ハードウエ
アの場合は部品同士を結線で結ぶための端子に相当す
る。チャンネルは、データを送受信するために特別に用
意されたコマンドを受け付ける部品である。例えば、
“put(データ)”,“get()”といったコマン
ドが考えられる。変数は、書き込み“write(デー
タ)”コマンドと読み込み“read()”コマンドと
を備えたチャンネルの一種であるとみなすことができ
る。
規則を説明する。 ・システム記述:=“ビヘイビア記述”の集合 ・ビヘイビア記述:={通信要素,…,処理内容} ここで、通信要素:=変数,チャネル 処理内容:=ビヘイビア(ポート,…),実行手順記述 実行手順記述:=fsm{…},par{…},try{…}tra
p(e){…}itrp(e){…} ビヘイビア記述例{i,j,k,fsm{A(i),B
(i,j),C(k)}において、i,j,kはローカ
ル変数であり、A,B,Cは下位階層のビヘイビアで、
それぞれポートを持ち、ポートがローカル変数と接続し
ていることを示している。 ・par{A,B,C} この処理内容例は、A,B,Cを並列実行するものであ
る。 ・fsm{{1,A,goto(2)}, {2,B,flg==3:goto(1),flg==1:goto(2)}, } ここで、fsmの各要素は、{ラベル,処理内容,{条
件:条件成立時の遷移},…}、あるいは、{ラベル,
処理内容,処理終了時の遷移,…}、あるいは、{ラベ
ル,処理内容}、あるいは、処理内容のいずれかで構成
され、特に指定が無い場合は、左から順に逐次実行され
る。すなわち、遷移ラベルの項目が無い場合、{ラベ
ル,処理内容}は、処理内容が終了すると、次のfsm
要素を実行することになる。また、ラベルが1のfsm
要素又は最左のfsm要素が最初に実行されるものとす
る。遷移は、「goto(X):Xはラベル番号」にて
表す。例えば、goto(1)は、最初のfsm要素に
戻ることを表している。上記の処理内容例では、Aが実
行され、終了すれば、Bが実行され、Bが終了したと
き、変数flgの値が3ならばAを、1ならばBを実行
することを表している。
は、ラベルを用いた或る実行制御の簡略形であるといえ
る。 fsm{A,B,C}=fsm{{1,A,goto(2)},{2,B,goto
(3)},{3,C,…},…}・try{A}trap(ev
1){B}itrp(ev2){C}… この処理内容例では、まず、Aを実行する。そして、A
の実行中にイベントev1が発生すれば、Aを強制終了
して、Bを実行する。また、Aの実行中にイベントev
2が発生すれば、Aを一時停止して、Cを実行し、Cが
終了したとき、Aの処理を再開する。なお、trap
(e){X},itrp(e2){Y}は、複数あって
もよい。 ・wait(ev) これは、イベントevの発生を待つ同期処理である。 ・notify(ev) これは、イベントevを発生させる同期処理である。 ・flg=X これは、変数flgへの値の代入である。 ・flg==X これは、条件判断である。 ・start(ID);fork(ID); これは、同期処理Iであり、startとforkは同
期して実行される。 ・end(ID);join(ID); これは、同期処理IIであり、endとjoinは同期
して実行される。
持つ仕様の例を以下に挙げる。 (例:ex0) A:={i,par{B(i),g(i)}} B(i):={j,k,fsm{a(j),b(k,
i),C(k)}>} C(k):={par{d,e,f(k)}} これは、以下の仕様を表現している。「ビヘイビアAは
B,C,g,a,b,d,e,fという子ビヘイビアか
ら構成され、ビヘイビアAは下位階層B,gより構成さ
れ、Bとgは並列実行であり、Aの下位階層であるBは
下位要素a,b,Cより構成され、逐次実行され、さら
にBの下位階層であるCは下位要素d,e,fより構成
され、並列実効される。また、Aは通信路iを持ち、i
を介してBのポートiとgのポートiが接続しており、
またBは通信路j,kを持ち下位要素aのポートjと通
信路jが接続し、bのポートkと通信路kが、bのポー
トiとBのポートiが、Cのポートkと通信路kがそれ
ぞれ接続し、Cのポートkとfのポートkが接続してい
ることを示している。すなわち、階層を渡ってビヘイビ
アfとb、gとbがそれぞれ通信線により接続し互いに
データをやり取りする。」 以下では、説明のために実行の順番に着目して通信路と
階層関係を簡略化する場合がある。例えば、上記の仕様
例(ex0)を実行の順番に着目して簡略化すると以下
のように記述できる。 A:=par{fsm{a,b,par{d,e,
f}},g} また、説明のために通信路と接続関係に着目して、実行
の順番を簡略化する場合がある。上記の仕様例(ex
0)を通信路と接続関係に着目して簡略化すると以下の
ように記述できる。 A:={i,bh{B(i),g(i)}} B(k):={i,j,bh{a(i),b(i,j),
C(j)}>} C(j):={bh{d,e,f(j)}} fork(x)とstart(x)、およびend
(x)とjoin(x)は、それぞれ対となって、同期
制約を表し、これらの2つが常に同期して実行されるこ
とを規定している(ここで、xはid番号であり同じi
d番号をもつペアが同期して実行されることとする)。
例えば、 par{fsm{1,fork(2),join
(2),3},fsm{start(2),2,end
(2),4}} という仕様は、1から3および2から4の逐次実行(f
sm)を並列実行(par)することを階層的に示して
いるが、fork,join,start,endの同
期関係より1と3の間に2が実行されることがわかる。
通信路の構造に関しては、上記の仕様例(ex0)にお
いては、fとbがBの通信路jを介して互いにデータを
やり取りし、Aの通信路iを介してa,b,gが互いに
データをやり取りできることを示している。
支援装置1は、仕様記述に関する制約をシステム仕様記
録部3に記録しており、この仕様制約に基づき、仕様の
内容が保持されることを判断することができるものとす
る。
記述部2における割込みに関する仕様の記述において、
割り込むタイミングがシステム実行時間の任意の時間単
位で可能である割込みを、プリエンプティブ(pree
mptive)な割込みであるという。本実施形態にお
けるシステムレベルでの仕様記述において、割込みは、
予め決められた仕様上の箇所でのみ許されるものとす
る。予め決められた仕様上の箇所とは、仕様記述方式特
有のものであったり、設計者が任意の箇所に識別するた
めの印(マーク)を付与したものである。プリエンプテ
ィブな割込みでは、この割込み可能な箇所が仕様全般に
わたり稠密に存在することになる。多くの仕様記述言語
では、割込み可能箇所を特定する仕組みを備えている。
例えばSpecC言語においては、wait文やwai
tfor文の箇所でのみ割込みが許される。
られ、ビヘイビアA1,A2およびBがそれぞれwai
t/waitfor要素を含まないとするとき、 この仕様は、「まずA1が実行され、このA1の実行中
には割込みが入らない。A1が終了したときwait
(e1)が実行される。wait(e1)実行中はtr
ap(e2)による割込みが可能であるから、このwa
it中にイベントe2が発生すればwaitは割込みに
より強制終了してBが実行される。また、wait中に
e1が発生すればこのwaitは終了し、次にA2が実
行される。A2の実行中には割込みが入らない。」こと
を示している。
定部22は、システム仕様記録部3に記録されているシ
ステム仕様に対し、仕様の内部構造(SpecCであれ
ばmain関数内のC言語で記述された仕様)を探索
し、割込み可能箇所(SpecCであれば、wait/
waitfor)を含む箇所を特定する。これは、構文
解析器(パーサ)と呼ばれる計算機科学の技術を利用す
ることにより実現される。または、割込み可能箇所特定
部を用いて設計者が仕様中に印(SpecCならwai
t/waitfor)を挿入することにより割込み可能
箇所を特定することもできる。これは、仕様編集の機
能、例えばエディタ技術等を利用することにより実現さ
れる。
4は、割込み可能箇所が特定された仕様に対して、該割
込み可能箇所において仕様を分割する。例えば、ビヘイ
ビアA内に割込み可能箇所を検出すると、該割込み可能
箇所を境にこのビヘイビアAを複数のビヘイビアに分割
する。分割されたビヘイビアは、割込み可能箇所を全く
含まないビヘイビアか、あるいは割込み可能な最小限の
構造すなわちSpecC言語の場合ならばwait/w
aitfor要素のみで構成されるビヘイビアに分類さ
れる。このような仕様の分割は、割込み可能性のあるビ
ヘイビア、すなわちwait文を内部に含むビヘイビア
を対象にして行われる。
て、途中にwait(e1)を含むものであるとする。
ビアの内部構造を表現する方法であり、main関数内
部の逐次実行処理の並びを「;」で分けたものである。
ここで、f1,f2は割込みが掛からないとすると、ビ
ヘイビアAは仕様分割部によって3つのビヘイビアA
1,A2,A3に分割される。 A(分割)−>fsm{A1,A2,A3} A1==[f1;],A2==[wait(e1);],A3==[f2;] このようにビヘイビアAは、A1,A2,A3を下階層
とするfsm構造になる。
構造を含んでおり、該繰り返し構造中にwait文が含
まれる場合には、 fsm{A,B} A==[for(i=0;i<10;i++){f1;wait(e1);f2;}] A(分割)−>fsm{ A1, {1,A2}, A3, {A4,i<10:goto(1),i>=10:goto(2)}, {2,EXIT} } A1=[i=0;],A2=[f1;],A3=[wait(e1);],A4=[f2;] このようにビヘイビアAを分割して新たなfsm構造を
得る。なお、条件分岐(if then else)についても上記
と同様の処理により仕様の分割を行う。
み(try/trap/intterrupt)におい
て、割込み作用が有効な範囲は、この割込みが定義され
た階層よりも下層の階層構造である。例えば以下の割込
み構造、 try{A }trap(e){B} において、イベントeによる割込みが作用として有効な
範囲は、tryの下層であるビヘイビアA以下の階層に
含まれるビヘイビアのみである。
は、割込み定義階層の下層の内部構造を参照し、割込み
定義箇所を実質的に割込みがかかる箇所まで階層構造を
渡って局所化する(局部集中させる)。具体的には、実
際に割込みが掛かる箇所を、割込みが有効な範囲を限定
した別の構造に変換する。また、割込み構造局所化部2
6は、逐次割込み構造局所化部28と並列割込み構造局
所化部30とに構成されており、これらが、割込みが掛
かる下階層の構造に応じて異なる処理を担う。
所化部28は、下層構造が逐次構造(fsm)である場
合に割込み構造を局所化する。局所化においては、以下
に説明する幾つかのルールを適用して行うものとする。
尚、ここでのルールは便宜的なものであり実施の形態に
応じて適宜変更され得る。
いビヘイビアとし、ビヘイビアA3を割込み可能なビヘ
イビアとするとき、例えば次の仕様、 try{fsm{A1,A2}}trap(e){B} に対し、逐次割込み構造局所化部28は、(ルール:割
込みがが掛からないビヘイビアは割込み構造から外
す。)に従い割込みを局所化して次の仕様を得る。
の掛からないビヘイビアA1,A2のfsmのみから構
成されているので、局所化の結果、割込み構造自体が無
くなってしまっている。これは、システム仕様上は等価
な内容である。
{B} に対し、逐次割込み構造局所化部28は、まず「割込み
がが掛からないビヘイビアは割込み構造から外す」とい
う上記したルールに従い局所化を行って、 fsm{A1,try{fsm{A3,A2}}tra
p(e){B}} を得る。さらに、以下の部分、 try{fsm{A3,A2}}trap(e){B} に対して局所化を行う。ここでは以下のルール、 (ルール:割込みがが掛かった後の動作が保存されなけ
ればならない。) (ルール:動作を保存するために必要な分岐情報の記録
・参照を仕様に挿入する。)に従って局所化を行う。
可能である。このビヘイビアA3に対する割込み発生の
如何によりA2の実行の有無は決定される。すなわち、
ビヘイビアA3の実行中に、 (1)割込みeが発生すれば、ビヘイビアA3を中止し
ビヘイビアBを実行する。ビヘイビアA2は実行されな
い。
3が終了すればビヘイビアA2を実行する。ビヘイビア
Bは実行されない。という動作仕様である。この仕様の
内容が保存されるように、逐次割込み構造局所化部28
は、割込み構造を以下のように局所化する。 fsm{A1,{A3',flg==1:EXIT,flg!=1:A2}} A3'=try{fsm{A3,flg=0}}trap(e){flg=1} すなわち、ビヘイビアA3の実行中に割込みが発生すれ
ばflg(フラグ)を1に、割込みが発生せずビヘイビ
アA3が終了したらflgを0に設定することで割込み
状況を分別している。割込み状況に応じてビヘイビアA
2を実行するか、それとも終了するかをfsmの仕様に
従い分岐条件に応じて判別している。
図3に示す別の例によって説明する。図3において、t
ry{}で示される構造から、割込み可能箇所特定部2
2によりwait(e1)が割込み可能箇所として特定
される。次に、図3下部に示すように仕様分割が行われ
る(仕様分割部24)。そして、図3右部に示すように
局所化が行われる(逐次割込み構造局所化部28)。
に示すように、ビヘイビアA1を実行した後、イベント
e1とe2とを並列待ちし、先に成立したイベントに応
じた遷移を実現する、というものである。逐次割込み構
造局所化部28は、このような仕様構造を自動的に作成
する。
表記を説明するための図である。これまで説明したSp
ecC言語の仕様表記を、図5に示す要素を追記するこ
とでETG表記により表すこともできる。
構造の局所化を、ETG表記により示したものである。
上位階層であるtrap(e2)が、割込み可能箇所
(e2)に関して局所化されている点は、SpecC言
語でもETGでも同様であることがわかる。
込み構造の局所化を説明する。並列割込み構造局所化部
30は、下層構造が並列(par)構造である場合の割
込み構造の局所化を行う。局所化においては、以下に説
明するルールを適用して行う。
ける。) (ルール:割込み箇所における終了状況(割込み有り終
了、割込み無し終了)に応じて全体の終了を定める。) 例えば次のようにparを含む仕様(図7にも示す)、 においては、ポイントwait(a1),wait(a
2),wait(b)においてイベントeによる割込み
が起こる可能性がある。
部30は、まず、割込み構造を並列構造(par)の内
部構造(fsm構造)に入れ込むような局所化を行う
(並列割込の展開)。
の構造、 に着目し、以下のような展開を行う(並列割込み展開部
32)。
A,Bの割込み終了状況を次のように定める。 par{ fsm{ {par{ fsm{ A1, {a1',flg==1:goto(1),flg!=1:goto(2)}, {1|A2,goto(3)}, {3|a2',flg==1:goto(4),flg!=1:goto(2)}, {4|A3,flg=0,:EXIT}, {2|flg=1,:EXIT} }, fsm{ B1, {b1',flg==1:goto(1),flg!=1:goto(2)}, {1|B2,flg=0,:EXIT}, {2|flg=1,:EXIT}}}, flg==0:fork_d1,flg!=0:fork_c} }, fsm{join_c,C,fork_d2}, fsm{wait(join_d1,join_d2),D} } 上記並列割込み構造の局所化結果を、図8に示す。同図
から分かるように、par中の割込可能箇所(ポイン
ト)に関して局所化が行われ、1つのFSMとして展開
されている。
2は、割込みを含む並列構造において、個々の並列要素
に対する割込み可能箇所が明らかである場合に、これら
の並列要素を組み合わせた全体としての割込み可能箇所
を明らかにする。
並列(par)を含む割込み(try/trap/in
trp)構造がある場合、並列割込み展開部32は、図
10に示すような並列合成を行って、ラティス構造のよ
うなFSMを得る。さらに、並列構造(par)のそれ
ぞれに割込みを掛けたものを図11に示す。
3は、並列割込み展開部32とはまったく逆の作用をす
る。すなわち、ひとつの割込み構造を有する構造を、2
つの並列実行される構造に変換する。割込み構造局所化
の逆作用を行わない場合、当該分離部33は不要であ
る。
逐次割込み構造局所化と同様、上述したETGにより表
記することもできる。図7に示した並列割込み構造をE
TG表記したものを図12〜図14に示す。
を並列構造のそれぞれに掛け合わせた結果が図13であ
る。この図13のにおいて、並列構造を並列割込み展開
部32により並列合成し、一本化したものが図14であ
る。図14において、ビヘイビアA1,B1のpar
は、スケジューリング(fsm化)が可能な箇所であ
る。
ープ構造が含まれている場合についても、上記から容易
に類推して対処可能である。このようにループ構造が含
まれている構造に対し局所化を行った結果を図15に示
す。
化装置によれば、実質的に割込みが掛かる箇所(ポイン
ト)を割込み可能箇所特定部22が特定し、仕様分割部
24がその特定箇所を境に仕様を分割し、その分割結果
を割込構造局所化部26が局所化する。その結果、階層
構造にまたがって割込みが掛からないような仕様構造を
得ることができる。これにより、システム記述言語に沿
って作成された仕様において割込みを定義する階層が上
位階層に位置し、実際に割込みが掛かる箇所と構造的に
掛け離れ、割込みの効率的な実装を困難にすることを回
避できるようになる。
成されたシステムレベルの仕様を詳細化する際に好適で
あって、構造的なシステムレベルの仕様に含まれる割込
み構造を局所化する装置及び方法を提供できる。
て実現可能である。また、本実施形態は、コンピュータ
に所定の手段を実行させるための(あるいはコンピュー
タを所定の手段として機能させるための、あるいはコン
ピュータに所定の機能を実現させるための)プログラム
として実施することもでき、該プログラムを記録したコ
ンピュータ読取り可能な記録媒体として実施することも
できる。
成は一例であって、それ以外の構成を排除する趣旨のも
のではなく、例示した構成の一部を他のもので置き換え
たり、例示した構成の一部を省いたり、例示した構成に
別の機能あるいは要素を付加したり、それらを組み合わ
せたりすることなどによって得られる別の構成も可能で
ある。また、例示した構成と論理的に等価な別の構成、
例示した構成と論理的に等価な部分を含む別の構成、例
示した構成の要部と論理的に等価な別の構成なども可能
である。また、例示した構成と同一もしくは類似の目的
を達成する別の構成、例示した構成と同一もしくは類似
の効果を奏する別の構成なども可能である。また、この
発明の実施の形態で例示した各種構成部分についての各
種バリエーションは、適宜組み合わせて実施することが
可能である。また、この発明の実施の形態は、個別装置
としての発明、関連を持つ2以上の装置についての発
明、システム全体としての発明、個別装置内部の構成部
分についての発明、またはそれらに対応する方法の発明
等、種々の観点、段階、概念またはカテゴリに係る発明
を包含・内在するものである。従って、この発明の実施
の形態に開示した内容からは、例示した構成に限定され
ることなく発明を抽出することができるものである。
るものではなく、その技術的範囲において種々変形して
実施することができる。
システム記述言語に沿って作成されたシステムレベルの
仕様を詳細化する際に好適であって、構造的なシステム
レベルの仕様に含まれる割込み構造を局所化する装置及
び方法を提供できる。
置の概略構成を示すブロック図
構造局所化装置の概略構成を示すブロック図
するための図
より示す図
めの図
図
す図
の局所化結果を示す図
結果を示す図
Claims (19)
- 【請求項1】システムの仕様の構造を記録する仕様構造
記録手段と、 前記仕様の内容を保持しつつ前記構造のうち割込みの構
造を局所化する割込み構造局所化手段と、 を具備することを特徴とする割込み構造局所化装置。 - 【請求項2】 前記割込み構造局所化手段は、前記構造
に基づいて割込み可能な箇所を特定する割込み可能箇所
特定手段と、 前記特定された割込み可能箇所を境に前記仕様を構造的
に分割する仕様分割手段とを具備することを特徴とする
請求項1に記載の割込み構造局所化装置。 - 【請求項3】 前記割込み構造局所化手段は、 下層構造が逐次構造のみからなる仕様の割込み構造を局
所化する逐次割込み構造局所化手段と、 下層構造が並列構造を含む仕様の割込み構造を局所化す
る並列割込み構造局所化手段と、を具備することを特徴
とする請求項1又は2に記載の割込み構造局所化装置。 - 【請求項4】 前記並列割込み構造局所化手段は、並列
に実行され、かつそれぞれが割込み可能な複数の仕様
を、一つの逐次実行の仕様に展開する並列割込み展開手
段を具備することを特徴とする請求項3に記載の割込み
構造局所化装置。 - 【請求項5】 前記展開された一つの逐次実行の仕様
を、前記並列に実行され、かつそれぞれが割込み可能な
複数の仕様に分離する並列割込み分離手段をさらに具備
することを特徴とする請求項4に記載の割込み構造局所
化装置。 - 【請求項6】 前記システム仕様は、 処理単位と、処理単位間の通信を行うための通信路とを
要素として記述され、 処理実行制御方式として少なくとも逐次、並列、割込
み、繰り返し実行を用いた制御構造の階層的な組み合わ
せによって全体の制御仕様が記述され、 処理単位同士を通信路で結合してデータの流れが記述さ
れたものであることを特徴とする請求項1ないし5のい
ずれか1項に記載の割込み構造局所化装置。 - 【請求項7】 前記システム仕様は、並列実行される2
つ以上の処理単位間でのイベントの授受および同期処理
についての記述をも含むものであることを特徴とする請
求項6に記載の割込み構造局所化装置。 - 【請求項8】 システムレベルの計算の仕様および通信
の仕様からなる仕様モデルを作成するための仕様モデル
記述手段と、 前記仕様モデル記述手段により作成された仕様記述モデ
ルの部分構造を分割して所定のアーキテクチャの部分要
素に分配し、アーキテクチャモデルを作成するためのア
ーキテクチャ探索手段と、 前記アーキテクチャ上の仕様要素間の通信手順を合成
し、コミュニケーションモデルを作成するためのコミュ
ニケーション合成手段と、 前記仕様モデル記述手段により作成された仕様モデル、
前記アーキテクチャ探索手段により作成されたアーキテ
クチャモデル、前記コミュニケーション合成手段により
作成されたコミュニケーションモデルを相互に関連付
け、これをシステム仕様として記録するシステム仕様記
録手段と、 前記システム仕様記録手段に記録されているシステム仕
様からハードウエア仕様を生成するハードウエア仕様生
成手段と、 前記システム仕様記録手段に記録されているシステム仕
様からソフトウエア仕様を生成するソフトウエア仕様生
成手段と、 前記システム仕様に含まれる仕様の内容を保持しつつ該
仕様の構造のうち割込みの構造を局所化する割込み構造
局所化手段と、 を具備することを特徴とするシステム設計支援装置。 - 【請求項9】 前記システム仕様記録手段に記録されて
いるシステム仕様を部品化し、該システム仕様の部品を
前記仕様モデル記述手段、アーキテクチャ探索手段、お
よびコミュニケーション合成手段における再利用に供す
る部品化再利用手段をさらに具備することを特徴とする
請求項8に記載のシステム設計支援装置。 - 【請求項10】 前記システム仕様は、 処理単位と、処理単位間の通信を行うための通信路とを
要素として記述され、 処理実行制御方式として少なくとも逐次、並列、割込
み、繰り返し実行を用いた制御構造の階層的な組み合わ
せによって全体の制御仕様が記述され、 処理単位同士を通信路で結合してデータの流れが記述さ
れたものであることを特徴とする請求項8または9に記
載のシステム設計支援装置。 - 【請求項11】 前記システム仕様は、並列実行される
2つ以上の処理単位間でのイベントの授受および同期処
理についての記述をも含むものであることを特徴とする
請求項10に記載のシステム設計支援装置。 - 【請求項12】 システムの仕様の構造を記録する記録
ステップと、 前記仕様構造に基づいて割込み可能な箇所を特定する特
定ステップと、 前記特定された割込み可能箇所を境に前記仕様を構造的
に分割する分割ステップと、 仕様の内容を保持しつつ前記仕様構造のうち割込みの構
造を局所化する局所化ステップと、を具備することを特
徴とする割込み構造局所化方法。 - 【請求項13】 前記局所化ステップは、 下層構造が逐次構造のみからなる仕様の割込み構造を局
所化する第1の局所化ステップと、 下層構造が並列構造を含む仕様の割込み構造を局所化す
る第2の局所化ステップの少なくともいずれか一方を実
行することを特徴とする請求項12に記載の割込み構造
局所方法。 - 【請求項14】 前記局所化ステップは、並列に実行さ
れ、かつそれぞれが割込み可能な複数の仕様を、一つの
逐次実行の仕様に展開する展開ステップを具備すること
を特徴とする請求項12又は13に記載の割込み構造局
所化方法。 - 【請求項15】 前記展開された一つの逐次実行の仕様
を、前記並列に実行され、かつそれぞれが割込み可能な
複数の仕様に分離する分離ステップをさらに具備するこ
とを特徴とする請求項14に記載の割込み構造局所化方
法。 - 【請求項16】 前記仕様は、 処理単位と、処理単位間の通信を行うための通信路とを
要素として記述され、 処理実行制御方式として少なくとも逐次、並列、割込
み、繰り返し実行を用いた制御構造の階層的な組み合わ
せによって全体の制御仕様が記述され、 処理単位同士を通信路で結合してデータの流れが記述さ
れたものであることを特徴とする請求項12ないし15
のいずれか1項に記載の割込み構造局所化方法。 - 【請求項17】 前記仕様は、並列実行される2つ以上
の処理単位間でのイベントの授受および同期処理につい
ての記述をも含むものであることを特徴とする請求項1
6に記載の割込み構造局所化方法。 - 【請求項18】 システムの仕様の構造を記録する記録
ステップと、 前記仕様構造に基づいて割込み可能な箇所を特定する特
定ステップと、 前記特定された割込み可能箇所を境に前記仕様を構造的
に分割する分割ステップと、 仕様の内容を保持しつつ前記仕様構造のうち割込みの構
造を局所化する局所化ステップと、をコンピュータに実
行させるためのプログラム。 - 【請求項19】 システムレベルの計算の仕様および通
信の仕様からなる仕様モデルを作成する作成ステップ
と、 前記作成された仕様記述モデルの部分構造を分割して所
定のアーキテクチャの部分要素に分配し、アーキテクチ
ャモデルを作成するステップと、 前記アーキテクチャ上の仕様要素間の通信手順を合成
し、コミュニケーションモデルを作成するステップと、 前記作成された仕様モデル、アーキテクチャモデル、コ
ミュニケーションモデルを相互に関連付け、これをシス
テム仕様として記録する記録ステップと、 前記システム仕様からハードウエア仕様を生成するステ
ップと、 前記システム仕様からソフトウエア仕様を生成するステ
ップと、 前記仕様記述モデルの部分構造への分割前に実行される
割込み構造局所化ステップであって、 前記仕様構造に基づいて割込み可能な箇所を特定する特
定ステップと、 前記特定された割込み可能箇所を境に前記仕様を構造的
に分割する分割ステップと、 仕様の内容を保持しつつ前記仕様構造のうち割込みの構
造を局所化する局所化ステップと、により構成される割
込み構造局所化ステップと、をコンピュータに実行させ
るためのプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001024888A JP3923734B2 (ja) | 2001-01-31 | 2001-01-31 | 割込み構造局所化の装置および方法およびプログラム |
US10/059,199 US7086037B2 (en) | 2001-01-31 | 2002-01-31 | Method and computer program product for localizing an interruption structure included in a hierarchical structure of a specification |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001024888A JP3923734B2 (ja) | 2001-01-31 | 2001-01-31 | 割込み構造局所化の装置および方法およびプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002230063A true JP2002230063A (ja) | 2002-08-16 |
JP3923734B2 JP3923734B2 (ja) | 2007-06-06 |
Family
ID=18889966
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001024888A Expired - Fee Related JP3923734B2 (ja) | 2001-01-31 | 2001-01-31 | 割込み構造局所化の装置および方法およびプログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US7086037B2 (ja) |
JP (1) | JP3923734B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015076007A (ja) * | 2013-10-10 | 2015-04-20 | 株式会社日立情報通信エンジニアリング | 基板設計支援システムおよび基板設計支援方法 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200725415A (en) * | 2005-12-30 | 2007-07-01 | Tatung Co Ltd | Method for automatically translating high level programming language into hardware description language |
US8766666B2 (en) * | 2010-06-10 | 2014-07-01 | Micron Technology, Inc. | Programmable device, hierarchical parallel machines, and methods for providing state information |
CN104899048A (zh) * | 2015-06-27 | 2015-09-09 | 奇瑞汽车股份有限公司 | 一种嵌入式系统的设计方法 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5263153A (en) * | 1987-01-22 | 1993-11-16 | National Semiconductor Corporation | Monitoring control flow in a microprocessor |
US5093914A (en) * | 1989-12-15 | 1992-03-03 | At&T Bell Laboratories | Method of controlling the execution of object-oriented programs |
US5221973A (en) * | 1990-09-24 | 1993-06-22 | Xerox Corporation | Method and apparatus for exercising diagnostic functionality in product extensions |
US5835922A (en) * | 1992-09-30 | 1998-11-10 | Hitachi, Ltd. | Document processing apparatus and method for inputting the requirements of a reader or writer and for processing documents according to the requirements |
US5937190A (en) * | 1994-04-12 | 1999-08-10 | Synopsys, Inc. | Architecture and methods for a hardware description language source level analysis and debugging system |
US5860009A (en) * | 1994-04-28 | 1999-01-12 | Kabushiki Kaisha Toshiba | Programming method for concurrent programs and program supporting apparatus thereof |
US6016474A (en) * | 1995-09-11 | 2000-01-18 | Compaq Computer Corporation | Tool and method for diagnosing and correcting errors in a computer program |
US5758168A (en) * | 1996-04-18 | 1998-05-26 | International Business Machines Corporation | Interrupt vectoring for optionally architected facilities in computer systems |
CA2211505C (en) * | 1997-07-25 | 2002-02-05 | Ibm Canada Limited-Ibm Canada Limitee | Setting instance breakpoints in object oriented computer programs |
US6202199B1 (en) * | 1997-07-31 | 2001-03-13 | Mutek Solutions, Ltd. | System and method for remotely analyzing the execution of computer programs |
US6751789B1 (en) * | 1997-12-12 | 2004-06-15 | International Business Machines Corporation | Method and system for periodic trace sampling for real-time generation of segments of call stack trees augmented with call stack position determination |
US6226787B1 (en) * | 1999-01-25 | 2001-05-01 | Hewlett-Packard Company | Visualization method and system for dynamically displaying operations of a program |
US6748583B2 (en) * | 2000-12-27 | 2004-06-08 | International Business Machines Corporation | Monitoring execution of an hierarchical visual program such as for debugging a message flow |
-
2001
- 2001-01-31 JP JP2001024888A patent/JP3923734B2/ja not_active Expired - Fee Related
-
2002
- 2002-01-31 US US10/059,199 patent/US7086037B2/en not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015076007A (ja) * | 2013-10-10 | 2015-04-20 | 株式会社日立情報通信エンジニアリング | 基板設計支援システムおよび基板設計支援方法 |
Also Published As
Publication number | Publication date |
---|---|
US20040015825A1 (en) | 2004-01-22 |
JP3923734B2 (ja) | 2007-06-06 |
US7086037B2 (en) | 2006-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6026226A (en) | Local compilation in context within a design hierarchy | |
US9075624B2 (en) | Compilation of system designs | |
JP2006285865A (ja) | レジスタ転送レベル記述と動作記述間の対応関係特定方法、装置及びプログラム | |
US7350180B1 (en) | Search algorithm for inheriting clock contexts in hardware description language translation tools | |
US20110035712A1 (en) | Method and System for Placement of Electronic Circuit Components in Integrated Circuit Design | |
JP2007087215A (ja) | ハードウェアモデルの変換処理に用いられるデータ構造、コンピュータプログラム、方法、及びシステム | |
JPH10187789A (ja) | ハードウェア/ソフトウェア協調シミュレーション装置、ハードウェア/ソフトウェア協調シミュレーション方法及びハードウェア/ソフトウェア協調シミュレーションプログラムを記録した機械読み取り可能な記録媒体 | |
US7331031B2 (en) | Method for describing and deploying design platform sets | |
US6980941B2 (en) | Method and computer program product for realizing a system specification which is described in a system description language | |
US8245163B1 (en) | Partial compilation of circuit design with new software version to obtain a complete compiled design | |
JP2002230063A (ja) | 割込み構造局所化の装置および方法およびプログラム | |
CN112596706A (zh) | 模式化代码生成方法、装置和计算机可读存储介质 | |
US8739088B1 (en) | Using constraints wtihin a high-level modeling system for circuit design | |
JP5115003B2 (ja) | 論理設計支援システム及びプログラム | |
JP3930255B2 (ja) | システム仕様情報処理装置、システム仕様情報処理方法及びプログラム | |
JPH0896018A (ja) | Cadツール管理方法および回路の自動設計システム | |
JP2005293349A (ja) | 回路設計支援システム、設計方法及びプログラム | |
US7464365B2 (en) | Method and computer program product for operating a specification of a system | |
US20090326908A1 (en) | Simulation support method, computer-readable storage medium storing simulation support program, and simulation support apparatus | |
US8769449B1 (en) | System level circuit design | |
JP3889633B2 (ja) | 仕様交換装置及び仕様交換プログラム | |
CN118394176B (zh) | 一种基于Python的时钟网络自动生成的方法和装置 | |
US20240202423A1 (en) | Runtime efficient multi-stage router flow for circuit designs | |
WO2007144940A1 (ja) | Hdl処理方法、プログラム及びコンピュータ読み取り可能な記憶媒体 | |
JP2002229785A (ja) | Gui設計支援装置および方法およびプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20061114 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070115 |
|
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: 20070220 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070222 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100302 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110302 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120302 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |