JP5412305B2 - モデルベースの性能予測システム - Google Patents

モデルベースの性能予測システム Download PDF

Info

Publication number
JP5412305B2
JP5412305B2 JP2010015371A JP2010015371A JP5412305B2 JP 5412305 B2 JP5412305 B2 JP 5412305B2 JP 2010015371 A JP2010015371 A JP 2010015371A JP 2010015371 A JP2010015371 A JP 2010015371A JP 5412305 B2 JP5412305 B2 JP 5412305B2
Authority
JP
Japan
Prior art keywords
delay
model
storage unit
task
design 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.)
Active
Application number
JP2010015371A
Other languages
English (en)
Other versions
JP2011154521A (ja
Inventor
章彦 兵頭
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 Advanced Digital Inc
Original Assignee
Hitachi Advanced Digital Inc
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 Advanced Digital Inc filed Critical Hitachi Advanced Digital Inc
Priority to JP2010015371A priority Critical patent/JP5412305B2/ja
Publication of JP2011154521A publication Critical patent/JP2011154521A/ja
Application granted granted Critical
Publication of JP5412305B2 publication Critical patent/JP5412305B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02TCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
    • Y02T10/00Road transport of goods or passengers
    • Y02T10/80Technologies aiming to reduce greenhouse gasses emissions common to all road transportation technologies
    • Y02T10/82Elements for improving aerodynamics

Description

本発明は、モデルベースの性能予測システムに係り、特に、組み込みシステムのソフトウェアの開発において、設計上流段階で実装を考慮したリアルタイム性の検証ができるモデルベースの性能予測システムに関するものである。
組み込みシステムのソフトウェアの規模は年々増大傾向にあり、既存のプログラム開発では、開発期間や設計品質など、要求を満たすことが困難になりつつある。このような中、自動車分野を中心に、モデルを用いて仕様の記述や機能設計などを行うモデルベースの開発手法が広く用いられるようになった。
モデルベースとは、Simulink(登録商標)に代表される制御系モデリングツールを用いて、基本機能が定義されたブロックを組み合せ、目的の機能を設計することを指しており、これによって、設計者はプログラムのソースコードを記述することなく、モデルを利用して容易に機能を開発することが可能となった。さらに、設計した機能モデルからプログラムを自動で生成する技術についても近年大きく進歩し、一般に普及し始めている。設計者は、これら自動生成されたプログラムを組み合せ、コンパイルし、特定のマイコンに実装する。
特許文献1には、モデルベースの開発において、モデルによって表現されるプログラムのマイコンへの実装時におけるマイコンリソース消費量を見積もることができるようにした見積もり装置が開示されている。
また、特許文献2には、仕様設計における状態遷移に時間定義を導入したものが開示されている。すなわち、状態遷移表の各セルに対応した時間情報を記憶し、それに基づいてシステムのシミュレーション実行時の処理時間を累積して、システムの動作をシミュレーションした際の、処理時間を求めるプログラム開発装置が開示されている。
特開2005−078243号公報 特開2000−20347号公報
たとえば車載システムなど、コスト制約の厳しい分野においては、マイコンへの実装において、CPU性能、ROM/RAM容量、通信速度など、リソースの制約を受けることが少なくない。
このため、上流工程で機能的な検証を通ったモデルが、実装段階になって与えられた制約を満たせないと判明することはよくある。たとえば、想定外にリソース使用量が大きいモデルになっていた場合など、機能設計段階に戻って、設計を大幅に見直す必要がでてくる。もしくは、想定していた以上の高価で高性能なマイコンに変更するなど、大きな仕様変更が求められる。一般に、組み込みシステムの実装設計には工数の負担が大きいこともあり、こういった手戻りの発生は極力避けたい。このことは、大規模複雑化が進むソフトウェア開発にとって、深刻な問題となりつつある。
この点に着目して、特許文献1の発明では、CPU、ROM/RAMの消費量を設計上流工程で見積もり、開発の手戻りを防いでいる。この例では、システム設計段階において、マイコンリソース消費見積もりプログラムが、モデルの各構成要素ブロックのマイコンリソース消費見積もり量の情報に基づいて、当該モデルから生成されるオブジェクトコードのマイコンリソース消費見積もり量を算出する。
ただし、この方法では、平均的なCPU処理負荷は見積もることができるが、ピーク負荷やリアルタイム性の問題は解決できない。すなわち、特許文献1の発明では、プログラムの開発が終了したマイコンリソースの消費量の見積もりに関するものであり、開発段階にある複数のプログラムを実際の装置上で動作させた実装状態における遅延の見積もりを行うことはなされていない。このような、ソフトウェアまで含めた組み込みシステムの遅延の見積もりには、実装状態での各処理の遅延時間の情報に加えて、各割り込みの発生タイミング、各タスク(処理の一まとまり)の実行優先度など、処理の相互関係も考慮する必要がある。
このように、実装不具合には、機能的な要求は満たしながら、制約時間内に処理が完了しないことによる、たとえば制御値の誤出力などがあり、これを処理のリアルタイム性と呼ぶことにする。
一方、特許文献2で開示されたプログラム開発装置は、状態遷移表の各セルに記述されたアクションの処理時間を、順次入力される事象と、各セルに記述された遷移先の状態とで順次特定されるセルに対応した時間情報を累積することによって、システムの動作をシミュレーションすることができる。上記特許文献2のプログラム開発装置は、ユーザが予め設定した各セルに対応した時間情報について、実装段階の時間要素を反映するために、プログラミング言語で記述された原始プログラムを作成しコンパイルして、特定の実装形態であるオブジェクトコードを用意し、その実行時間から時間情報を算出する方法を開示している。
しかしながら、モデルベース開発手法に基づいた、大規模な組み込みシステムの機能設計においては、上記特許文献2で開示された方法を実施するには実装設計段階に近い開発工数を要し、工数の負担がかなり増す可能性が大きい。
また、リアルタイム性の検証という点で、複数処理が同時に起動した場合に、各処理の優先度が、モデル全体の実行遅延に与える影響について検証する手段ではないため、これについては、従来技術の課題として残されている。
上記従来技術の課題に鑑みて、本発明では、ソフトウェアを含む組み込みシステムの開発において、設計上流段階で遅延の見積もりを行い、リアルタイム性を検証できる、モデルベースの性能予測システムを提供することを目的とする。
本発明の代表的なものの一例を示せば以下の通りである。本発明のモデルベースの性能予測システムは、基本ブロックデータベースと、設計モデル・タスク定義関連のデータベースと、実装状態シミュレーションユニットを備え、上記実装状態シミュレーションユニットは、モデル解析部と実装遅延計算部とを有し、上記基本ブロックデータベースは、複数の基本ブロックの各機能を記憶する基本機能記憶部と、上記各機能に対応した各基本ブロックの要素の、実装遅延の情報を記憶する実装遅延要素記憶部とを有し、上記設計モデル・タスク定義関連のデータベースは、上記基本ブロックを組み合せて作成された設計モデルを格納する設計モデル記憶部と、上記設計モデルに含まれるタスクに関して、上記基本ブロックの組み合わせ構成や実行優先度などのタスク定義を格納するタスク定義記憶部と、リソースの情報を記憶するリソース情報記憶部とを有し、上記実装状態シミュレーションユニットは、上記タスク定義に基づいて上記設計モデルを解析し、上記リソースの情報及び上記各基本ブロックの要素の実装遅延の情報に基づき、上記設計モデルを実際の装置に組み込んで動作させることを想定した状態で予想される、該設計モデルの動作の遅延を実装遅延として算出し、その結果を出力することを特徴とする。
本発明によれば、上流設計段階で、実装時の主要な課題である遅延の見積もりやリアルタイム性について予測し、それらの問題について早期に解決できるため、工数の大きな下流工程の負担軽減が可能であり、また、実装不具合による手戻りを抑制することができる。これは、ソフトウェア規模の大きなシステムにとっては必然的である。
本発明の第1実施形態に係る性能予測システムの構成例ブロック図である。 上記第1実施形態に係る性能予測システムで、基本ブロックデータベースの演算ブロックの一例を示す説明図である。 上記第1実施形態に係る性能予測システムで、基本ブロックデータベースが具備する実装遅延要素記憶部において参照される要素演算の説明図である。 上記第1実施形態に係る設計モデルの一例を示したブロック図である。 図4に示したスリップ制御システムの各機能を構成する基本ブロックとそれらの演算要素の例を示すテーブルである。 上記第1実施形態に係る性能予測システムで、タスク定義記憶部の一例を示した説明図である。 上記第1実施形態に係る性能予測システムが具備するリソース情報記憶部の一例を示した説明図である。 上記第1実施形態に係る設計モデルの他の例を示したブロック図である。 上記第1実施形態に係る性能予測システムで、基本ブロックデータベースが具備する通信ブロックに関する説明図である。 上記第1実施形態に係る性能予測システムにおけるモデル解析部の処理フロー図である。 上記第1実施形態に係る性能予測システムにおける実装遅延計算部の前処理フロー図である。 上記第1実施形態に係る性能予測システムの実装遅延計算処理フロー図である。 上記第1実施形態に係る性能予測システムのタスク定義の一例を示した説明図である。 上記第1実施形態に係る性能予測システムにおいて、上記タスク定義の場合の出力結果を示した説明図である。 上記第1実施形態に係る性能予測システムのタスク定義において優先度を変更した場合の一例を示した説明図である。 上記第1実施形態に係る性能予測システムにおいて、上記タスク定義の場合の出力結果を示した説明図である。 上記第1実施形態に係る性能予測システムにおいて、周期タスクの実装遅延計算処理を示したフロー図である。 上記第1実施形態に係る性能予測システムにおいて、周期タスクを定義した場合の一例を示した説明図である。 上記第1実施形態に係る性能予測システムにおいて、上記タスク定義の場合の出力結果を示した説明図である。 本発明の第2実施形態に係る性能予測システムの構成例ブロック図である。 本発明の第2実施形態に係る性能予測システムの実時間シミュレーション装置における信号入出力タイミングの説明図である。
本発明の代表的な実施形態によれば、モデルベースの性能予測システムは、基本ブロックデータベースと、設計モデル・タスク定義関連のデータベースと、実装状態シミュレーションユニットを備えている。実装状態シミュレーションユニットは、実装遅延計算部とリアルタイム性判定部とを備えている。基本ブロックデータベースは、複数の基本ブロックについてそれらの機能を記憶する基本機能記憶部と、それらの機能に対応した各基本ブロックの要素の実装遅延を記憶する実装遅延要素記憶部とを有する。モデルの設計者は、上記基本ブロックを組み合せることで、組み込みシステム等のモデルに必要な機能を具備するモデル(ソフトウェア)を作成し、それを設計モデル・タスク定義関連のデータベースの設計モデル記憶部に格納しておく。実装遅延計算部では、リソース制約、処理の優先度設定の情報などを考慮し、要素毎の実装遅延時間を用いて、開発されたソフトウェア(設計モデル)の実装段階での不具合要因となる時間的要素が反映された、実装遅延時間を求める。
なお、本発明で、実装遅延とは、設計モデルを実際の装置に組み込んで動作させることを想定した状態で予想される、設計モデルの動作の遅延を意味する。
さらに、リアルタイム性判定部において、求めた設計モデルの遅延時間と、設定された設計モデルのデッドラインとを比較して、リアルタイム処理の可否を判断する。これにより、開発中の設計モデルについて、任意の段階で、モデルベースの性能予測を行い、その結果を以降の開発に反映させることができる。
なお、本発明は、自動車に搭載される各種制御システム、デジタルテレビ、ハードディスク装置、ATM、ロボット、電車等、コンピュータを備えた各種の制御装置や組み込み機器の開発に広く適用できる。
以下、本発明の実施形態について、図を用いて説明する。
本発明の第1実施形態にかかるモデルベースの性能予測システムについて、図1〜図19を用いて説明する。
図1には、モデルベースの性能予測システムの、全体的な構成が示されている。本発明の第1実施形態にかかるモデルベースの性能予測システムは、設計モデル・タスク定義の入力装置100と、実装状態シミュレーションユニット110、基本ブロックデータベース、及び設計モデル・タスク定義関連のデータベースとを備えている。基本ブロックデータベース関連の記憶装置として、複数の基本ブロックについてそれらの機能と遅延とを少なくとも属性として持つ要素演算ブロックの集合である基本処理機能の情報が格納されている。ここでは、基本ブロックの機能を記憶する基本機能記憶部101と、それらの機能に対応した各基本ブロックの各構成要素の実装遅延を記憶する実装遅延要素記憶102部とを有するものとする。
設計モデル・タスク定義関連のデータベースとして、設計モデル記憶部103には、モデルの設計者が、上記基本ブロックデータベースの基本ブロックを組み合せることで、例えば組み込みシステムに要求される機能を満たすソフトウェアを設計モデルとして作成したものを格納する。また、タスク定義記憶部104には、一つ以上の基本ブロックの組み合わせからなる上記設計モデルに含まれるすべてのタスクについての、基本ブロックの組み合わせ構成や実行優先度、タスクのデッドラインなどのタスク定義が格納される。リソース情報記憶部105には、CPU、ROM/RAMなど実装リソースの情報を記憶する。また、デッドライン記憶部106には、設計モデルのデッドラインに関する情報が記憶される。
設計モデル・タスク定義の入力装置100では、設計者が、基本処理機能記憶部101のデータを用いて開発した設計モデル、例えば組み込みシステムの設計モデルやタスク定義、デッドライン等を入力し、それらが各々、設計モデル記憶部103、タスク定義記憶部104、デッドライン記憶部106に記憶される。また、設計者は、タスク定義と実装リソースの関係に関する情報を入力し、それがリソース情報記憶部105に記録される。
実装状態シミュレーションユニット110は、モデル解析部111、実装遅延計算部112、及びリアルタイム性判定部113を備えている。実装状態シミュレーションユニット110の出力は、モデル遅延記憶部114に記憶され、さらに、表示部115に表示される。
設計モデル・タスク定義の入力装置100から入力された設計モデルは、実装状態シミュレーションユニット110のモデル解析部111において上記タスク定義記憶部104のタスク定義情報と結びつけられ、実行優先度やデッドラインなど、それぞれのブロック構成に対応付けられる。そして、実装遅延計算部112において、上記基本ブロックデータベースの実装遅延要素記憶部102の遅延情報と、上記リソース情報記憶部105とを参照し、それぞれのブロックについて実遅延時間を算出する。各ブロックの実装遅延時間が求まれば、タスクの実装遅延時間を計算することが可能となる。なお、このモデルベースの性能予測システムは、例えば、複数のコンピュータをネットワークで接続し、あるいはさらにサーバを接続して構成される。
ここで、たとえば、上記基本ブロックの一例として、信号処理でよくみられるFIRフィルタを取り上げる。FIRフィルタは、次の数式で表される。
y[n] = h[0]・x[n] + h[1]・x[n-1] + … + h[N-1]・x[n-N+1] (式1)
ここで、フィルタ係数h[i]、フィルタ・タップ長Nである。上式から、乗算N回と加算N回の組み合わせであることが分かる。よって、それぞれ乗算と加算に必要なクロックサイクルを定義することで、演算の総サイクルを見積もることができる。本発明では、上記のような乗算、加算などの要素演算について、CPU実行サイクルを定義する方法をとる。
あるいまた、それぞれ基本ブロックをプログラム実装して、マイコンシミュレータや実機マイコンを用いて実行時間を評価し、その情報をテーブルに登録しておく方法も考えられる。この方法は、最初のデータ作成に時間を要するが、一旦データベースを構築すれば、基本ブロックの詳細な実行遅延を考慮に入れることが可能となる。しかし、特定の実装に依存した遅延しか得ることができないという問題がある。
一般に、商用マイコンの命令セットは、加減算、論理演算、比較演算、乗算など、低レベル演算の種類においては、それほど変わりはない。たとえば、組み込みシステムで用いられるマイコンには、一般にRISC方式が用いられる。RISCとはReduced Instruction Set Computer(縮小命令セットコンピュータ)の略で、コンピュータのアーキテクチャの一種を指している。これは、命令の種類を減らし、回路を単純化して演算速度の向上を図ろうとする手法である。RISC方式では、基本的にすべての演算は1クロックサイクルで実行され、また、最小限必要な単純な命令のみでプログラムを実行するという特徴がある。
これを考慮して、基本ブロックを上記の要素演算の組み合わせで記述し、要素演算の実行に要するサイクル数は、平均的な数値を設定しておくことで、上記リソース情報記憶部105に含まれるCPU動作速度の情報に応じて、実遅延を容易に計算することが可能となる。すなわち、モデルベースの性能予測を容易に行うことが可能となる。
次に、リアルタイム性の評価がなされる。
ここで、リアルタイム性の評価については、個々の演算の実行遅延をいかに正確に見積もるかということに加えて、演算間の相互関係を考慮に入れることが、大きく影響する場合もある。この場合、タスクの実行優先度や、割り込み処理の発生タイミングなどを考慮に入れなければならない。
これを実現するためには、上記タスク定義記憶部104に加えてデッドライン記憶部106も備え、上記モデル解析部111で設計モデルとの関連付けをおこない、上記実装遅延計算部112において実行スケジュールをシミュレーションすることにより、設計モデルの遅延を算出する。そして、求めた設計モデルの遅延時間と、予め設定された設計モデルのデッドラインとを、リアルタイム性判定部113において比較し、リアルタイム処理の可否を判断する。
ここで、図2に、基本ブロックデータベース101の基本処理機能記憶部101に格納された、各基本ブロックの遅延定義の一例(101A)を示す。信号処理などでよく用いられる基本演算として、FIR(有限インパルス応答)やDFT(離散フーリエ変換)やFFT(高速フーリエ変換)を例にあげる。遅延は、加算や乗算など各要素演算に定義された処理サイクルを用いて、データポイント数などをパラメータとし、図2のサイクルの列に記載された数式で計算できる。
図3に、実装遅延要素記憶部102に格納された、要素演算の定義の一例(102A)を示す。たとえば、加算(ADD)は1サイクル、乗算(MUL)は2サイクルといった具合に、処理に必要なCPUサイクル数、換言すると遅延要素が定義される。この遅延要素の情報から、たとえば図2の1024点FFTであれば、n=1024,M=2,A=1を代入して、30,720サイクルの遅延であると計算できる。なお、遅延要素としては、図3に示したもののほか、例えばデータの読み書き(リード、ライト)を各1サイクルとするなど、用途に応じて適宜追加すればよい。
上記の方法で計算したCPUの実行サイクルは、図1のリソース情報記憶部105を参照し、実装CPUタイプを定めると、それに対応した実装遅延時間を求めることができる。
次に、組み込みシステムの具体的なモデルとして、図4に示すような車のスリップ制御システムを適用例として示す。図4の例は、スリップ制御システムが1つのマイクロコンピュータ200で構成されており、車輪速(IN1)、車体速(IN2)、ペダル位置(IN3)を入力として持ち、トルク基本指令値計算(TB)の機能204、スリップ率計算(SR)の機能202、トルク補正値計算(TC)の機能203、トルク基本指令値と補正値の加算(AD)の機能205の4つのタスクを実行し、最終的にトルク指令値(OUT1)を出力する。これと同じく、各センサ入力(IN1〜IN3)に基づいて故障診断をするタスク(DN)の機能206も動作し、診断結果(OUT2)を出力する。
図5に、図4に示したスリップ制御システムの各機能を構成する基本ブロックとそれらの演算要素の例をテーブル104Aとして示す。例えば、スリップ率計算(SR)の機能(基本ブロック)は、演算要素として、1つのADDと2つのMULとを具備している。
図6に、上記モデルに対応したタスク定義の例(104B)を示す。ここでは、各タスクID毎に、優先度が定義され、出力部分のタスクにはデッドラインも定義されている。
次に、図7に、リソース情報記憶部105の一部(105A)を示す。図7の例で、Type1のCPUは、動作クロックが100MHz、IPC(サイクル当たりの実行命令数)は1と定義されており、上記1024点FFTについては、30,720サイクルを100MHzで除算し、307.2マイクロ秒と算出できる。また、たとえばType3のCPUでは、30,720サイクルを1GHzで除算し、さらに1サイクルで2命令を処理可能なため÷2で除算する。その結果、15.72マイクロ秒で実行できると判明する。
ここで、上記基本ブロックの基本処理機能のデータベースは、演算だけでなく通信の情報も含めることが可能である。例えば、図8に示すような車のスリップ制御システムを適用例として示す。図8の例は、スリップ制御システムが2つのマイクロコンピュータ200、201で構成されており、2つのマイクロコンピュータは通信路で接続されている。この例では、マイクロコンピュータ201が上記機能202〜205を実行し、マイクロコンピュータ201が故障診断をするタスク(DN)の機能206を実行するように構成されている。
図9に、図8の例における、基本通信ブロックの定義の一例(101B)示されている。たとえば、protocol−1の通信方式には、ブロックIDが1,2,4である3つのブロックが接続され、当該ブロック間を流れるデータは、ボーレート設定から定まる通信遅延が生じる。もし複数のデータが同じ通信路を流れる場合は、通信パケットの優先度を定め、それを考慮した通信遅延を計算することもできる。
つぎに、上記の基本ブロックを組み合せたモデル全体の遅延を算出するための構成を説明する。
図1に示されるシミュレーションユニット110は、モデル解析部111、実装遅延計算部112、及びリアルタイム性判定部113から構成される。まず、設計者は、設計モデル・タスク定義の入力装置100により、モデル内の任意のブロックの組み合わせについて、タスクを定義する必要がある。そして、設計モデル記憶部103には、各タスクID、実行優先度などを定義しておく。モデル解析部111は、タスク定義記憶部の情報に基づいてモデルを解析する。すなわち、上記設計モデル記憶部103からモデルを読み込み、さらに、上記タスク定義記憶部104からタスク情報を読み込み、当該モデルにおいて対応するブロック部分に、タスク定義情報を付加する。
モデル解析部111の具体的な処理の流れは、図10のフロー図に示される。モデル解析が開始されると、まず、設計モデル記憶部103からモデルを読み込み(P901)、つぎに、タスク定義記憶部104やデッドライン記憶部106からタスクID、優先度、デッドラインなどの情報を読み込む(P902)。そして、読み込んだ各タスクIDを基に、モデル内の対応するブロックの組み合わせを探す(P903)。全タスクIDとブロックの組み合わせについて対応付けをおこない(P904)、対応を付けることができないタスクIDが残った場合は、警告メッセージを出力する(P905)。残らなかった場合には、タスクIDと対応関係のないブロックの有無を調べ(P906)、もしあれば警告メッセージを出力する(P907)。以上が、モデル解析の流れとなる。
つぎに、実装遅延計算部112の処理の流れを、図11、図12を用いて説明する。実装遅延計算部112の処理は、実装遅延計算の前処理と、実装遅延計算の処理とからなる。
図11では、実装遅延計算の前処理の流れが示されており、まず、上記モデル解析部111において解析ずみである、モデル内ブロックとタスク定義との関係付けをもとに、各タスクが含む基本ブロック(図5のテーブル104A参照)をすべてリストアップする(P1101)。
基本ブロックのサイクル算出のため、入力データ量など必要なパラメータは、予め設定された実装遅延要素記憶部102のデータを参照し、サイクルを求める(P1102)。
次に、各タスクについて、内包する基本遅延を累積し、総サイクルを算出する(P1103)。そして、リソース情報記憶部105のCPU情報に基づいて、前述の方法により、各タスクの実遅延時間を計算する。以上が、実装遅延計算の前処理の流れとなる。
つづいて、図12を用いて、実装遅延計算の処理の流れを述べる。まず、実装遅延計算が開始されると、シミュレーション時刻を0と初期設定し(P1201)、当該シミュレーション時刻において実行可能なタスクをレディキューに入れる(P1202)。レディキューにタスクがない場合は、シミュレーション時刻に単位遅延ΔT(=1単位時間)を加算し更新する(P1210)。レディキューにタスクがある場合は、その中でもっとも優先度の高いタスクを選び、レディキューからは削除する(P1204)。その後、上記タスクの遅延時間をシミュレーション時刻に加算して更新する(P1205)。このとき、あらたに起動したタスクの有無を調べ、起動していれば、レディキューに入れる(P1206)。このとき、レディキューにまだタスクが存在していればP1202に戻る。レディキューにタスクがなければ、すべてのタスクが実行終了したか確認する(P1208)。全タスクがまだ終了していない場合はP1210に戻り、終了した場合は、現在のシミュレーション時刻をモデルの実行に要する遅延として出力し、モデル遅延記憶部114に格納する(P1209)。以上が、実装遅延計算の流れとなる。
図13は、図4のモデルに対応したタスク定義の一例であり、実装遅延計算の前処理(図12)を行った場合の遅延算出結果も加えて示している。
図14は、上記の各タスクの遅延時間を用いて、図12で説明した実装遅延計算をすることにより得られたタイミングチャートである。横軸は時間をあらわし、1メモリ当たり10単位時間としている。縦方向には、5つのタスクの実行状況が並べて表示されている。図14で、上向きの矢印は、タスクが実行可能になった時刻を示し、ハッチング表示した矩形部分が単位遅延ΔTの累積結果である実装遅延を示し、下向きの矢印はデッドライン時刻を示している。表示結果から、図13の優先度設定において全てのタスクの実装遅延かデッドラインを満たしており、リアルタイム処理が可能であると検証できる。
ここで、上記タスク優先度設定のうち、設計者がたとえば、タスクADとタスクDNの優先度を逆転させた新たなタスク定義を作成した例が、図15に示されている。上記新たなタスク定義の条件でモデル遅延時間を算出すると、図16のタイミングチャートが得られる。
これによれば、タスク定義を変更して故障診断タスク(DN)の後にトルク基本指令値と補正値の加算のタスクADを実行しようとすると、タスクADはデッドライン内に処理が間に合わないことを確認できる。つまり、各タスクの優先度設定によって、モデルのリアルタイム性が大きく影響を受けることが分かる。これらの点を踏まえて開発設計を行うことにより、組み込みシステムのモデルの開発を効率良く行うことが出来る。
なお、上記の例においては、基本的なパターンとして、いずれも1回のみ起動するタスクの例について述べ、複数回の起動、周期的な起動を前提としていなかった。しかし、一般の制御システムでは、多くの周期タスクが実行される。
つぎに、図17を用いて、周期タスクや割込み等イベントで起動するタスクなど含む実用的なパターンの実装遅延計算フローを説明する。
まず、周期タスクは延々と起動するため、シミュレーション終了時刻を設定する必要がある(P1701)。つぎに、シミュレーション時刻を0と初期化し(P1702)、当該シミュレーション時刻において、実行可能な状態にあるタスクをレディキューへ入れる(P1703)。このとき、レディキューにタスクがなければ、シミュレーション時刻に単位遅延ΔTを加算する(P1705)。この時点で、シミュレーション終了時刻に達していないか判定し(P1706)、終了時刻ならばシミュレーションを停止し、そうでなければ、P1703に戻る。また、レディキューにタスクがあれば、その中でもっとも優先度の高いタスクを選択し、当該タスクはレディキューから削除する(P1707)。
ここで、当該タスクの処理の残り時間が設定されていなければ(P1708)、残り時間=遅延時間と設定する(P1709)。処理の残り時間は、実行時間が増えると減っていく。ただし、実行中に高優先度のタスクが起動し、処理が中断させられる、いわゆるプリエンプションの状態では、その期間は残り時間は減少しない。処理の残り時間が設定ずみであれば、シミュレーション時刻に単位遅延ΔTを加算する(P1710)。その後、シミュレーション終了時刻に達していないか判定し(P1711)、終了時刻であればシミュレーションを停止し、そうでなければ、残り実行時間から単位遅延を減算する(P1712)。当該タスクが実行終了、すなわち残り時間が0の状態であるか判定し(P1713)、実行終了ならP1703に戻る。
実行終了でなければ、あらたな起動タスクの有無を判定する(P1714)。起動がない場合はP1710へ戻り、起動があれば、実行中のタスクと優先度を比較する(P1715)。実行中のタスクより優先度が高ければ、実行中のタスクはレディキューに戻し、P1704に戻る。実行中のタスクより優先度が低ければ、P1710に戻る。以上が、周期タスクなども含めた実装遅延計算の流れとなる。
ここで、前述のモデル(図4)を例に、処理が複数の周期タスクで構成されている場合を説明する。タスク定義は図18に示した。タスクDNを200単位時間の周期タスクとし、それ以外を100単位時間の周期タスクとしている。
図19に、上記条件において、前述の実装遅延計算フロー(図17)を実行した場合の各タスクのタイミングチャートが示される。各タスクの実行状態は、図14と同じ表記法で示している。これによれば、すべてのタスクがデッドライン(起動周期)内に収まっており、リアルタイム処理を検証できた。一方、図15に示した例と同様に、タスクADとタスクDNの優先度を逆転させた新たなタスク定義の場合、図16の例と同様、タスクADはデッドライン内に処理が間に合わないことを確認できた。これらの点を踏まえて開発設計を行うことにより、組み込みシステムのモデルの開発を効率良く行うことが出来る。
本実施例によれば、上流設計段階で、実装時の主要な課題である遅延の見積もりやリアルタイム性の問題について早期に解決できるため、工数の大きな下流工程の負担軽減が可能であり、また、実装不具合による手戻りを抑制することができる。特に、ソフトウェア規模の大きなシステムにとっては、効果が大きい。
本発明の第2実施形態にかかる性能予測システムについて、図20、図21を用いて説明する。
図20には、本発明の第2実施形態にかかる性能予測システムの構成が示されている。これは、図1に示された性能予測システムの構成要素をすべて含むが、第1実施形態との相違点としては、実時間シミュレーション装置130及び制御対象(実機)140が追加されている。
実時間シミュレーション装置130は、設計モデル記憶部103に格納された設計モデルから生成されるプログラムを実行する演算実行部131と、モデル遅延記憶部114に格納されたモデルの実装遅延情報に基づいて、実装遅延発生の指示を出す実装遅延指令部132と、上記演算実行部131の出力に対して、上記実装遅延指令部132から指定された実装遅延時間だけ出力の伝搬を遅らせるなど、実装遅延を制御する実装遅延制御部133と、上記実装遅延制御部からの信号を実機の制御対象140への出力信号として入出力を実施する信号入出力部134とを備えている。
図21は、(a)開発対象の組み込みシステム(実機)、(b)従来技術のラピッドプロトタイプシステム(模擬)、(c)上記実時間シミュレーション装置(模擬)、それぞれについて、演算時間と信号出力タイミングについて図示したものである。
横軸は時間を示し、図中のTは、周期タスクの起動周期を表している。また、菱形の点は、出力処理が行われる時刻を示すものである。
図21から、(a)では、0.8Tの時間で演算が終了、結果を出力していることが分かる。タスクは周期Tで起動されている。(b)は、モデルベース開発で使われる汎用のラピッドプロト・コントローラを用いた場合の(a)の模擬システムを示している。(c)は、上記実時間シミュレーション装置による(a)の模擬システムである。ここで(b)と(c)の演算性能は同じとする。これらの違いは、信号出力のタイミングであると確認できる。
ラピッドプロト・コントローラでは、通常、設定した制御周期毎(T,2T,−)に前周期の演算結果を出力するため、実機システムの出力タイミング(0.8T,1.8T,2.8T,−)と結果出力タイミングにずれが生じてしまう。これに対して、上記実時間シミュレーション装置130では、上記モデルの実装遅延情報に基づいて、その実装遅延を実時間で発生させる機能を備えており、入出力だけみれば、実機と全く同じ(0,0.8T,T,1.8T,2T,−)にみせることが可能である。
この特徴は、信号出力タイミングが制御対象の動作に少なからず影響を及ぼすシステムにおいて有利である。
100 設計モデル・タスク定義の入力装置、
101 基本機能記憶部、
102 実装遅延要素記憶、
103 設計モデル記憶部、
104 タスク定義記憶部
105 リソース情報記憶部、
106 デッドライン記憶部、
110 実装状態シミュレーションユニット、
111 モデル解析部、
112 実装遅延計算部、
113 リアルタイム性判定部、
114 モデル遅延記憶部、
115 表示部、FIR 有限インパルス応答、
DFT 離散フーリエ変換、
FFT 高速フーリエ変換、
ADD 加算、
MUL 乗算、
CMP 比較演算、
LOG 論理演算、
CPU 中央演算ユニット、
IPC 1サイクル当りの実行命令数。

Claims (20)

  1. 基本ブロックデータベースと、設計モデル・タスク定義関連のデータベースと、実装状態シミュレーションユニットとを備え、
    上記実装状態シミュレーションユニットは、モデル解析部と実装遅延計算部とを有し、
    上記基本ブロックデータベースは、
    複数の基本ブロックの各機能を記憶する基本機能記憶部と、
    上記各機能に対応した各基本ブロックの要素の、実装遅延の情報を記憶する実装遅延要素記憶部と
    を有し、
    上記設計モデル・タスク定義関連のデータベースは、
    上記基本ブロックを組み合せて作成された設計モデルを格納する設計モデル記憶部と、
    上記設計モデルに含まれるタスクに関して、上記基本ブロックの組み合わせ構成や実行優先度などのタスク定義を格納するタスク定義記憶部と、
    リソースの情報を記憶するリソース情報記憶部と
    を有し、
    上記実装状態シミュレーションユニットは、上記タスク定義に基づいて上記設計モデルを解析し、上記リソースの情報及び上記各基本ブロックの要素の実装遅延の情報に基づき、上記設計モデルを実際の装置に組み込んで動作させることを想定した状態で予想される、該設計モデルの動作の遅延を算出し、その結果を遅延情報として出力する
    ことを特徴とするモデルベースの性能予測システム。
  2. 請求項1において、
    上記設計モデル・タスク定義関連のデータベースは、上記設計モデルに設定されたデッドラインの情報を記憶するデッドライン記憶部を有しており、
    上記実装状態シミュレーションユニットは、上記実装遅延計算部で求めた設計モデルの遅延時間と、上記設定された上記設計モデルのデッドラインとを比較して、上記設計モデルのリアルタイム処理の可否を判断するリアルタイム性判定部を備えている
    ことを特徴とするモデルベースの性能予測システム。
  3. 請求項1において、
    上記基本ブロックの各処理機能を実現する要素は、少なくとも加算処理及び乗算処理の要素を含み、
    上記タスク定義記憶部には、
    上記基本ブロックを構成する上記各要素の演算の組み合わせで機能が定義され、かつ、
    あらかじめ上記実装遅延要素記憶部に定義された上記各要素演算の遅延の情報から、上記基本ブロックの遅延を算出する数式が記憶されている
    ことを特徴とするモデルベース性能予測システム。
  4. 請求項1において、
    上記タスク定義記憶部は、タスクの識別子と、タスクの実行優先度と、タスクのデッドラインのいずれかもしくは全てが記憶されている
    ことを特徴とするモデルベース性能予測システム。
  5. 請求項1において、
    上記リソース情報記憶部は、CPUの動作クロックと、1クロックサイクル当たりの処理量のいずれかもしくは全てが記憶されている
    ことを特徴とするモデルベース性能予測システム。
  6. 請求項1において、
    上記基本ブロックデータベースは、通信機能を基本ブロックに含み、
    上記基本ブロックは、実装遅延要素記憶部に複数の通信方式、複数の通信速度の選択肢を持ち、
    上記実装状態シミュレーションユニットは、上記通信方式と上記通信速度の組み合わせから、上記モデルの通信遅延を算出する
    ことを特徴とするモデルベース性能予測システム。
  7. 請求項6において、
    上記設計モデルは、上記通信機能の基本ブロックによって、複数のブロックが通信路に接続された構成を持ち、上記通信路に複数の通信データが発生した場合に、あらかじめ定めた優先度に従って、上記通信を処理する機能を有する
    ことを特徴とするモデルベース性能予測システム。
  8. 請求項1において、
    上記遅延情報を記憶するモデル遅延記憶部と、
    該モデル遅延記憶部の情報に基づいて実装遅延に関する情報を表示する表示部と
    を更に備えて成る
    ことを特徴とするモデルベースの性能予測システム。
  9. 請求項4において、
    上記モデル解析部は、
    上記設計モデル記憶部から上記設計モデルを読み込み、上記タスク定義記憶部からタスクID、タスクの優先度、タスクのデッドラインなどの情報を読み込み、該読み込んだ各タスクIDを基に、全タスクIDと上記各ブロックの組み合わせについて対応付けを行う
    ことを特徴とするモデルベースの性能予測システム。
  10. 請求項9において、
    上記実装遅延計算部は、
    前処理として、上記設計モデル解析部において解析されたモデル内ブロックと上記タスク定義との関係付けをもとに、各タスクが含む基本ブロックをリストアップし、上記各タスクについて、内包する基本遅延を累積し、総サイクルを算出し、上記リソース情報記憶部の情報に基づいて、上記各タスクの実遅延時間を計算する機能を有する
    ことを特徴とするモデルベースの性能予測システム。
  11. 請求項9において、
    上記実装遅延計算部は、シミュレーション時刻を初期設定し、当該シミュレーション時刻において実行可能なタスクをレディキューに入れ、該レディキューにタスクがない場合は上記シミュレーション時刻に単位遅延ΔTを加算し更新し、上記レディキューにタスクがある場合はその中でもっとも優先度の高いタスクを選び、上記レディキューから削除し、上記タスクの遅延時間をシミュレーション時刻に加算して更新し、全タスクが終了した場合に、現在のシミュレーション時刻を上記設計モデルの実行に要する遅延情報として出力する
    ことを特徴とするモデルベースの性能予測システム。
  12. 実装状態シミュレーションユニットと、基本ブロックデータベースと、設計モデル・タスク定義関連のデータベースとを備え、
    上記基本ブロックデータベースは、
    基本機能と実装遅延とを少なくとも属性として持つ複数の基本ブロックを記憶する基本機能記憶部と、
    上記各機能に対応した各基本ブロックの要素の、実装遅延の情報を記憶する実装遅延要素記憶部と
    を有し、
    上記設計モデル・タスク定義関連のデータベースは、
    上記基本ブロックを用いて設計されたモデルを記憶する設計モデル記憶部と、
    上記設計モデルに含まれる基本ブロックの集合であるタスク情報が定義されるタスク定義記憶部と、
    上記設計モデルの機能を実装するCPUやメモリを含めた資源情報を記憶するリソース情報記憶部と
    を有し、
    上記実装状態シミュレーションユニットは、
    上記タスク定義記憶部の情報に基づいて、上記設計モデルを解析するモデル解析部と、
    上記基本機能記憶部と、上記タスク定義記憶部及び上記リソース情報記憶部の情報に基づいて、上記設計モデルの実装遅延を計算する実装遅延計算部と
    を有する
    ことを特徴とするモデルベースの性能予測システム。
  13. 請求項12において、
    上記設計モデル記憶部は、上記複数の基本ブロックを組み合せて生成された組み込みシステムの設計モデルが格納され、
    上記タスク定義記憶部には、上記設計モデルに含まれる上記基本ブロックの各処理機能に対して処理条件を与える上記タスク情報が格納され、
    上記リソース情報記憶部には、上記設計モデルの機能を実装するCPUやメモリを含めた上記リソースの情報が格納され、
    上記実装状態シミュレーションユニットは、
    上記設計モデルの上記タスク情報、上記リソースの情報、及び上記基本ブロックの要素毎の実装遅延に関する情報を用いて、上記設計モデルが上記組み込みシステムに実装された状態における上記設計モデルの動作遅延の予測値を計算し、その結果を遅延情報として出力する
    ことを特徴とするモデルベースの性能予測システム。
  14. 請求項12において、
    少なくとも上記設計モデルおよび上記タスク定義のいずれかを入力する入力装置と、
    上記実装遅延に関する情報を表示する表示部と
    を更に備えて成る
    ことを特徴とするモデルベースの性能予測システム。
  15. 請求項12において、
    上記設計モデル・タスク定義関連のデータベースは、設定された上記設計モデルのデッドラインの情報を記憶するデッドライン記憶部を有しており、
    上記実装状態シミュレーションユニットは、上記実装遅延計算部で求めた設計モデルの遅延時間と、上記設定されたデッドラインとを比較して、上記設計モデルのリアルタイム処理の可否を判断するリアルタイム性判定部を備えている
    ことを特徴とするモデルベースの性能予測システム。
  16. 請求項12において、
    上記基本機能記憶部には、加算や乗算などの要素演算の組み合わせで機能が定義され、かつ、あらかじめ定義された上記要素演算の遅延の情報から、上記基本ブロックの遅延を算出できる数式が記憶されている
    ことを特徴とするモデルベース性能予測システム。
  17. 請求項12において、
    上記リソース情報記憶部には、CPUの動作クロックと、1クロックサイクル当たりの処理量のいずれかもしくは全てが記憶されている
    ことを特徴とするモデルベース性能予測システム。
  18. 請求項12において、
    上記基本ブロックデータベースは、通信機能を基本ブロックに含み、
    上記基本ブロックは、実装遅延要素記憶部に複数の通信方式、複数の通信速度の選択肢を持ち、
    上記実装状態シミュレーションユニットは、上記通信方式と上記通信速度の組み合わせから、上記モデルの通信遅延を算出する
    ことを特徴とするモデルベース性能予測システム。
  19. 実装状態シミュレーションユニットと、実時間シミュレーション装置と、データベース及び複数の記憶部と、与えられたモデルからプログラムを生成する自動コード生成および実装部とを具備し、
    上記データベース及び複数の記憶部は、
    機能と遅延とを少なくとも属性として持つ複数の基本ブロックを記憶する基本ブロックデータベースと、
    上記基本ブロックを用いて設計された設計モデルを記憶する設計モデル記憶部と、
    上記設計モデルに含まれる基本ブロックの集合であるタスク情報が定義されるタスク定義記憶部と、
    上記設計モデルの機能を実装するCPUやメモリを含めた資源情報を記憶するリソース情報記憶部と
    を有し、
    上記実装状態シミュレーションユニットは、
    上記タスク定義記憶部の情報に基づいて、設計モデルを解析するモデル解析部と、
    上記基本ブロックデータベースおよび上記リソース情報記憶部の情報に基づいて、上記設計モデルの実装遅延を計算する実装遅延計算部と、
    上記実装遅延計算部が算出した設計モデルの実装遅延情報を記憶するモデル遅延記憶部と
    を有し、
    上記実装遅延は、上記設計モデルを実際の装置に組み込んで動作させることを想定した状態で予想される、該設計モデルの動作の遅延であり、
    上記実時間シミュレーション装置は、
    上記生成されたプログラムを実時間で実行する演算実行部と、
    上記設計モデル遅延記憶部の情報に基づいて、遅延時間の指令を出す遅延指令部と、
    上記遅延指令部の実装遅延情報に基づいて、上記遅延を生成する遅延制御部と、
    上記遅延制御部の信号を実機の制御対象へ出力する信号入出力部と
    を具備する
    ことを特徴とするモデルベース性能予測システム。
  20. 請求項19において、
    上記基本ブロックは、加算や乗算などの要素演算の組み合わせで機能が定義され、かつ、あらかじめ定義された上記要素演算の遅延の情報から、上記基本ブロックの実装遅延を算出できる数式が記憶されている
    ことを特徴とするモデルベース性能予測システム。
JP2010015371A 2010-01-27 2010-01-27 モデルベースの性能予測システム Active JP5412305B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010015371A JP5412305B2 (ja) 2010-01-27 2010-01-27 モデルベースの性能予測システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010015371A JP5412305B2 (ja) 2010-01-27 2010-01-27 モデルベースの性能予測システム

Publications (2)

Publication Number Publication Date
JP2011154521A JP2011154521A (ja) 2011-08-11
JP5412305B2 true JP5412305B2 (ja) 2014-02-12

Family

ID=44540436

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010015371A Active JP5412305B2 (ja) 2010-01-27 2010-01-27 モデルベースの性能予測システム

Country Status (1)

Country Link
JP (1) JP5412305B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5961971B2 (ja) 2011-10-12 2016-08-03 富士通株式会社 シミュレーション装置,方法,およびプログラム
JP6378128B2 (ja) 2015-04-28 2018-08-22 ルネサスエレクトロニクス株式会社 性能検証装置、システム、方法、およびコンピュータに当該方法を実行させるためのプログラム
WO2024127523A1 (ja) * 2022-12-13 2024-06-20 日立Astemo株式会社 処理負荷推定システム、及び処理負荷推定方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7007270B2 (en) * 2001-03-05 2006-02-28 Cadence Design Systems, Inc. Statistically based estimate of embedded software execution time
JP4132802B2 (ja) * 2001-12-07 2008-08-13 富士通株式会社 概略マルチタスクソフトウェアのシミュレーションを行う方法、装置及びプログラム
JP2005078243A (ja) * 2003-08-29 2005-03-24 Denso Corp マイコンリソース消費見積もりプログラム、マイコンリソース消費見積もり装置、およびプログラム生成方法
JP5056493B2 (ja) * 2008-03-11 2012-10-24 富士通株式会社 仮想ソフトウェア生成装置

Also Published As

Publication number Publication date
JP2011154521A (ja) 2011-08-11

Similar Documents

Publication Publication Date Title
Urunuela et al. Storm a simulation tool for real-time multiprocessor scheduling evaluation
Zeng et al. Using statistical methods to compute the probability distribution of message response time in controller area network
Zeng et al. Stochastic analysis of can-based real-time automotive systems
Zhu et al. Optimization of task allocation and priority assignment in hard real-time distributed systems
Chua et al. Predicting change propagation and impact on design schedule due to external changes
JP4405520B2 (ja) プロジェクトの進行スケジュールを調整するためのコンピュータプログラム、コンピュータ装置及び方法
US20150082316A1 (en) System and Method for Efficient Utilization of Simulation Resources
Van Den Brand et al. Models meet data: Challenges to create virtual entities for digital twins
JP5412305B2 (ja) モデルベースの性能予測システム
Zhao et al. A unified framework for period and priority optimization in distributed hard real-time systems
US8484009B2 (en) Timing analysis using formal methods
US20100332209A1 (en) Method of combined simulation of the software and hardware parts of a computer system, and associated system
Schenk et al. Architecture for modeling and simulation of technical systems along their lifecycle
JP4467823B2 (ja) 設計支援装置および設計支援方法ならびに設計支援プログラム
JP2015072505A (ja) ソフトウェア検証装置
McKee et al. DIVIDER: modelling and evaluating real-time service-oriented cyberphysical co-simulations
JP5691529B2 (ja) 性能評価システム、性能評価方法および性能評価用プログラム
Hasanbegović et al. Optimising vehicular system architectures with real-time requirements: An industrial case study
JP4891807B2 (ja) 高位合成装置および高位合成方法
JP4196764B2 (ja) 原因・経路推定方法および原因推定装置
JP4556629B2 (ja) データ処理システム検証装置と方法およびプログラム
Becker et al. Timing analysis driven design-space exploration of cause-effect chains in automotive systems
JP7332425B2 (ja) 計算機システム
Iyenghar et al. Model-Based Timing Analysis of Automotive Use Case Developed in UML
Kacem et al. A Petri Net Extension for Schedulability Analysis of Real Time Embedded Systems.

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120802

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130530

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130611

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130807

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131111

R150 Certificate of patent or registration of utility model

Ref document number: 5412305

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350