JP2008077220A - オブジェクト指向型車両用制御装置 - Google Patents

オブジェクト指向型車両用制御装置 Download PDF

Info

Publication number
JP2008077220A
JP2008077220A JP2006253334A JP2006253334A JP2008077220A JP 2008077220 A JP2008077220 A JP 2008077220A JP 2006253334 A JP2006253334 A JP 2006253334A JP 2006253334 A JP2006253334 A JP 2006253334A JP 2008077220 A JP2008077220 A JP 2008077220A
Authority
JP
Japan
Prior art keywords
data
storage
class
medium
persistence
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
Application number
JP2006253334A
Other languages
English (en)
Other versions
JP4973844B2 (ja
Inventor
Jiro Sato
二郎 佐藤
Yuji Kojima
裕次 小島
Keiichi Yoshino
圭一 吉野
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.)
Denso Corp
Original Assignee
Denso Corp
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 Denso Corp filed Critical Denso Corp
Priority to JP2006253334A priority Critical patent/JP4973844B2/ja
Publication of JP2008077220A publication Critical patent/JP2008077220A/ja
Application granted granted Critical
Publication of JP4973844B2 publication Critical patent/JP4973844B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】 記憶媒体の設計変更がなされた場合も、アプリケーションやデータへの影響を最小限に留めることができるオブジェクト指向型車両用制御システムを提供する。
【解決手段】 記憶媒体への保存処理にかかるメソッドを、記憶媒体に個別に対応する個別媒体管理クラス103C,104Cに組み込み、他方、データを、その保存形態である永続化対応データに変換するメソッドを永続化対応データ変換処理クラス101Cに組み込んで、該永続化対応データ変換処理クラス101Cにアプリからのデータ保存依頼を受け付けるようにする。変換された永続化対応データは、永続化管理クラス102Cにより、永続化対応データに付与された媒体特定参照情報を参照して、対応する記憶媒体の個別媒体管理クラス103C,104Cに受け渡される。アプリから見てデータ保存先となる記憶媒体を、永続化対応データ変換処理クラス101Cにより隠蔽することができる。
【選択図】 図2

Description

この発明は、オブジェクト指向型車両用制御装置に関する。
特開2001−270399号公報
近年、自動車に搭載される電子機器の制御は、ECUと呼ばれるマイコン(MPU)を含んだハードウェアユニットを用いて行なうのが主流となっている。特許文献1に例示するごとく、この制御を、オブジェクト指向により設計されたコンピュータシステム(以下、「オブジェクト指向システム」ともいう)により実現する方式も普及している(特許文献1)。オブジェクト指向システムの採用により、制御に関与する機器のハードウェア構成の相違を、ソフトウェアを構成するブジェクトの内部に隠蔽することができ、制御対象毎に各制御プログラムの独立性を高めることができる。オブジェクト指向型のプログラミング言語としては、例えばJava(登録商標)やC++が知られ、いずれもオブジェクトを単位として、プログラムの記述を行なう。オブジェクトは自律性をもつ有機的なプログラムの単位であり、データと手続きを一体化した形で記述される。プログラム全体としての仕事は、オブジェクト間のメッセージ交換により進められる。メッセージを受信することにより起動される手続きはメソッドと呼ばれる。オブジェクトへの仕事の依頼は、メソッドを介してのみ行なうことができ、オブジェクト内のデータへの直接のアクセスは禁止される。
オブジェクト指向システムにおいては、各オブジェクトが、自身に組み込まれているメソッドを呼び出すメッセージを他のオブジェクトから受け、そのメソッドによる実行結果をメッセージ元へ返す形で処理が実行されてゆく。ここで、オブジェクトは、クラス(クラスオブジェクト)と、そのクラスを用いて作成されるインスタンス(インスタンスオブジェクト)とに大別できる。クラスには、データが格納される属性の定義や、機能処理を記述したメソッドなどが記述されている。クラスはオブジェクトのテンプレートに相当するものであり、汎用的なメソッドの集合と変数の定義を有するのみで、このままでは具体的な処理を直接実行することができない。そこで、実際の処理内容を規定するオブジェクトであるインスタンスが、属性に具体的な値を代入し、また、クラスに記述されているメソッドのうち、実際に使用するものへのリンクを張るためのポインタを記述する、等の手続を経て作成される。なお、インスタンスは、あくまでクラスをテンプレートとして新たに作成されるものでであり、元のクラスが書き換えられるのではない。また、実際の処理は、対応するクラスから作成された個々のインスタンスがメッセージを受け取り、該対応するクラスのメソッドへ制御を受け渡たす形で進んでゆく。
オブジェクト指向システムでは、全ての情報がオブジェクトとしてモデリングされ、クラスとして記述される。そして、プログラムはそのクラスの集合体であり、各クラスから生成される多数のインスタンスが情報の実体を有することになる。この場合、問題になるのは、インスタンスは通常、ワークメモリ(RAM)上に生成されるものであり、プログラムが終了するとメモリ上からは消去されてしまう点である。そこで、作成したインスタンスが後に再利用できるよう、インスタンスの内容をファイル等の保存形式に変換して(不揮発性の)記憶媒体に保存することにより、プログラムが終了しても、必要なときにそのインスタンスをいつでも復元できるようにする機能が考え出されている。この機能のことを、インスタンスの永続化という。
前述のごとく、インスタンスの作成元となるクラスは、データが格納される属性の定義(「フィールド」という)と、その属性を使って実現する機能処理を記述したメソッドとより構築される。そして、このクラスのオブジェクトとしての状態を、フィールド上の変数に実際の値を格納する形で特定することによりインスタンスが作成される。「インスタンスの永続化」とは、そのオブジェクトとしての状態、すなわち属性のデータを保存することに他ならない。
なお、属性は、例えば制御に使用するパラメータ等であって、そのパラメータ値が属性のデータの実体として把握される。しかし、画像や音声のデータファイル、データベースを構築するテキスト列、あるいはログデータなど、表示装置や印刷装置あるいは音声出力部などからなる出力デバイスへの出力処理対象となる受動的なデータ群についても、記憶媒体に書き込んで保存したり、あるいは出力のために読み出したりする処理は、基本的には、保存や書込といった媒体へのアクセスを司るクラスを用いて、オブジェクト指向的に実行される。従って、その保存ないし読出し処理のために、該データを組み込んだインスタンスが作成される点に変わりはなく、保存の実行によりインスタンスの永続化が行なわれているのである。
近年、自動車用の制御システムでは、記憶媒体として多数の不揮発性メモリが使用され、また、データの種類によってEEPROMやフラッシュメモリなど、種別の異なる不揮発性メモリが混在して使用されることも多くなってきている。例えば、EEPROMは比較的小容量であるがバイト単位で消去/書込の双方が可能であるのに対し、フラッシュメモリでは大容量ではあるもののバイト単位での書込みのみが可能であって、消去はそれより大きいブロック(セクタ)単位でしか実行できない、という違いがある。従って、例えば、前者は書換えが頻繁に生ずる制御パラメータの保存用に使用し、後者は画像データや大容量テキストデータの保存用に使用するなどの使い分けがなされていたのであるが、フラッシュメモリはアクセス速度がEEPROMよりも大きく、また価格の低廉化も進んでいるので、これまでEEPROMを使用していた分野においても、これをフラッシュメモリに転換する設計変更が実施される場合がある。他方、RAMの電源バックアップを考慮することにより、不揮発性メモリへのデータ格納を、RAM上でのデータ退避に変更したり、その逆を行なうような設計変更事例も考えられる。さらに、信頼性向上のため、1つのデータを複数の記憶媒体に冗長化して記憶する方式へ設計変更することも考えられる。
データ(インスタンス)の永続化を行なう場合、その保存先となる記憶媒体を指定しなければならないが、この保存先は従来、保存要求を行なうアプリケーション(以下、「アプリ」とも略記する)側で指定するようになっていた。そして、アプリケーション側では、図8に示すように、保存対象となるデータを自立的に取得して、自ら保存先となる媒体を決定し、各媒体に記憶依頼する形で対象となるデータを転送することとなる。しかし、この方式はアプリと記憶媒体とが密接に関係しているため、上記のように保存先の記憶媒体の種別が変更されると、その影響を非常に受けやすく、アプリの大幅な書換えが余儀なくされる場合がある。特に、不揮発性メモリが関与する設計変更の場合、記憶できるデータサイズや、消去可能単位が相違するために影響が特に大きい問題がある。
本発明の課題は、記憶媒体の設計変更がなされた場合も、アプリケーションやデータへの影響を最小限に留めることができるオブジェクト指向型車両用制御システムを提供することにある。
課題を解決するための手段及び発明の効果
本発明のオブジェクト指向型車両用制御システムは、CPUを含んで構成され、車載用電子機器をCPUにより、オブジェクト指向のプログラム処理により動作制御する制御主体を有した車両用制御装置であって、上記の課題を解決するために該プログラムが、
動作制御に関与するアプリケーションクラスからの保存要求対象となるデータを自身のインスタンスとし、該自身のインスタンスを永続化保存するための保存要求をアプリケーションクラスから受け付ける永続化インターフェースを実装し、保存要求を受けることにより、保存先となる記憶媒体を特定するために参照すべき情報である媒体特定参照情報を付与した形で、上記自身のインスタンスを保存用データに変換する永続化対応データクラスと、
保存用データの保存先候補となる記憶媒体又は記憶媒体群に個別に対応する形で設けられ、保存要求を受けた保存用データを対応する記憶媒体に保存する個別媒体管理クラスと、
永続化対応データクラスから受け渡される保存用データを、これに付与された媒体特定参照情報を参照することにより、データ保存先となる記憶媒体に対応する個別媒体管理クラスを選択し、その選択された個別媒体管理クラスに保存用データを受け渡す永続化管理クラスと、を有してなることを特徴とする。
上記の構成によると、記憶媒体への保存処理に係るメソッドを、記憶媒体に個別に対応する個別媒体管理クラスに組み込み、他方、データを、その保存形態である保存用データに変換するメソッドを永続化対応データクラスに組み込んで、該永続化対応データクラスにアプリからのデータ保存依頼を受け付けるようにした。そして、変換された保存用データは、永続化管理クラスにより、保存用データに付与された媒体特定参照情報を参照して、対応する記憶媒体の個別媒体管理クラスに受け渡されるようにしたので、アプリから見てデータ保存先となる記憶媒体を、永続化対応データクラスにより隠蔽することができる。このことは、図8の従来方式と比較して、図7のごとく、アプリからみて記憶媒体と処理すべきデータとの関係が入れ替わることを意味する。その結果、アプリやデータ構造の影響をほとんど受けることなく、記憶媒体の仕様変更や交換に係る設計変更を実施することが可能となる。
上記プログラムには、永続化管理クラスから保存用データの記憶媒体への書込要求を受け付けるデータ保存インターフェースを実装するとともに、個々の記憶媒体へのデータ保存メソッドを搭載したデータ管理クラスを設けることができる。この場合、各個別媒体管理クラスは、該データ管理クラスを継承するサブクラスとして構築することができる。記憶媒体の設計変更があった場合、このデータ管理クラスのメソッドを変更するだけでシステム変更に容易に対応することができる。
次に、媒体特定参照情報はデータの種別を特定するデータ種別特定情報とすることができる。そして、データ種別特定情報が特定するデータ種別と個別媒体管理クラスとの対応関係を示す媒体/データ種別対応関係情報を予め用意し、永続化管理クラスを、該媒体/データ種別対応関係情報を参照することにより、保存用データの種別に対応した個別媒体管理クラスを選択して、これに保存用データを受け渡すものとして構築することができる。
上記の構成は、データの種別に応じて記憶先となる媒体の種別を間接的に特定することを意味する。記憶媒体種別を直接特定するものとして媒体特定参照情報を記述すると、記憶媒体種別の設計変更があったとき、この媒体特定参照情報の内容も変更しなければならないから、アプリ上でも最低限、該媒体特定参照情報を書き直す設計変更作業が必要となる。しかし、上記のごとく、媒体特定参照情報をデータ種別特定情報とすることで、記憶媒体種別の設計変更が生じた場合は、永続化管理クラス内で参照する媒体/データ種別対応関係を修正すればこと足り、アプリ側で取り扱うデータの種別に変更がない限り、媒体変更の影響がアプリに一切及ばなくなる。
他方、永続化管理クラスは、媒体特定参照情報としてデータサイズ情報を参照し、データサイズに応じてデータ保存先となる記憶媒体に対応する個別媒体管理クラスを選択し、保存用データをこれに受け渡すものとすることもできる。この方式でも、記憶先となる媒体の種別がデータのサイズに応じて間接的に特定される形になるので、媒体変更の影響が同様にアプリに及ばない。この方式は、もちろん、データの種別に応じて記憶先となる媒体の種別を間接的に特定する方式と併用することが可能である。
前述のごとく、記憶媒体として、仕様の互いに異なる不揮発性メモリが指定されている場合に本発明の効果発現の寄与が大である。永続化管理クラスは、例えば、データが、アプリケーションクラスの状態を示す変数の設定値を含んだ状態データである場合に、不揮発性メモリの一つであるEEPROMに対応づけられた個別媒体管理クラスを選択し、データが画像データである場合に、不揮発性メモリの一つであるフラッシュメモリに対応付けられた個別媒体管理クラスを選択するものとすることができる。属性は多くの場合パラメータ値であり、容量が比較的小さく、また高頻度の書換えに柔軟に対応できるEEPROMへの保存が好適である。
この場合、永続化管理クラスは、データが、予め定められた重要データである場合に、状態データ用のEEPROMとは別のEEPROMを選択するものとしておくと、重要データを独立したEEPROMに保存できるので、異なるセキュリティレベルの設定にも柔軟に対応できる。また、データが、通信ログ又は機器の動作ログからなるログデータである場合には、時系列的な多量のデータ保存要求がなされるので、画像データ用のフラッシュメモリとは別のフラッシュメモリを選択するものとしておけば便利である。
永続化対応データクラスは、保存用データを一義的に特定するための識別IDを、自身のインスタンスを格納するアドレスから生成し、当該識別IDを付与した形で該保存用データを永続化管理クラスに受け渡すものとすることができる。また、個別媒体管理クラスは、該永続化管理クラスから受け渡された保存用データを、識別IDを付与した形で対応する記憶媒体に書き込むものとすることができる。
上記のごとく、永続化対応データクラスの、保存要求対象となるデータを含んだインスタンスの格納先を示すアドレスから、保存用データの識別IDを一義的に作成し、その識別IDを付けて対応する記憶媒体に保存することで、復元時にも、そのアドレス(これは、プログラムが終了しても消滅することがない)から、復元すべき保存用データの識別IDを容易に特定でき、データ読出し・復元時の便宜を図ることができる。
次に、永続化対応データクラスは、自身のインスタンスをシリアライズするためのシリアライズインターフェースを実装し、そのシリアライズされたデータを保存用データとして永続化管理クラスに受け渡すものとして構成できる。これにより、比較的複雑な構造のデータであってもシリアライズにより単純なバイト列構造を有したデータに変換でき、記憶媒体上での保存処理を大幅に簡略化することができる。シリアライズに特に適したデータは、アプリケーションクラスの状態を示す変数の設定値を含んだ状態データである。
なお、データが予め定められたサイズを超過しているか、又は、予めシリアライズが完了しているデータは、永続化対応データクラスにおいて、シリアライズインターフェースによるシリアライズ処理を実行せずに保存用データに変換することが効率的である。特に、画像データは、元からバイト列データとして記述されており、シリアライズが完了しているデータに該当し、サイズも大きいので、一律なシリアライズ処理を回避してそのまま保存用データとすることで、処理効率を高めることができる。
次に、データ読出し(復元時)を考慮した構成として、次のようなものが可能である。すなわち、永続化インターフェースは、既に保存されている保存用データを読み出してインスタンスに復元する復元要求を、前記自身のインスタンスを特定可能な形でアプリケーションクラスから受け付けるものとすることができる。永続化管理クラスは、保存されている保存用データを特定する識別IDの一覧を、保存先となる記憶媒体が特定可能な形で記憶する保存リストを有するとともに、受け付けた復元要求が特定する上記アドレスに基づいて識別IDを特定し、さらに、当該識別IDを保存リスト上で検索して保存先の記憶媒体を特定し、特定された記憶媒体に対応する個別媒体管理クラスに該識別IDを受け渡すものとすることができる。各個別媒体管理クラスは、受け取った識別IDに対応する保存用データを対応する記憶媒体から読み出して、永続化管理クラスを経て永続化対応データクラスに該保存用データを受け渡すものとすることができる。永続化対応データクラスは該保存用データを自身のインスタンスに復元するものとすることができる。
永続化管理クラスに設ける保存リストは、保存先となる記憶媒体を直接特定する形で作成してもよいし、前述のごとく、記憶媒体(又は記憶媒体群)と一義的に対応付けられたデータ種別により、間接特定する形で作成してもよい。例えば、後者の場合、データ復元時には、保存要求対象データのインスタンスを格納するアドレスとデータ種別の特定情報とをアプリ側から取得し、対応する保存リストにて、そのアドレスから作られた識別IDを検索する。これにより、その識別IDにて保存されている記憶媒体を速やかに特定することができ、保存用データの読出し及び復元をスムーズに実施することが可能となる。なお、シリアライズされた保存用データを復元するために、シリアライズインターフェースは、復元時にシリアライズされた保存用データをデシリアライズするものとして構成しておく必要がある。
以下、本発明の実施の形態を、図面を参照して説明する。
図1は、本発明のオブジェクト指向型車両用制御システムにおける制御主体40の構成を、オブジェクト指向プラットフォームの観点から概念的に示す図である。本実施形態では、制御主体40は、Javaで記述されたプログラムに基づく情報処理を実行する演算処理装置として構成されている。プログラム実行装置1は、Javaによるバイトコードを実行する回路が組み込まれたCPUであり、プログラム実行部3、メソッド検索部4、メモリコントローラ5などを具備する。メモリ2は、ROMまたはRAM、あるいは両者を包括した記憶領域を示しており、プログラムデータ領域6や検索用テーブル領域7などの記憶領域が設定される(なお、図1では、プログラム実行装置1を便宜上単一のCPUとして扱っているが、構成はこれに限られるものではなく、例えば、CAN(Controller Area Network)等の車載ネットワークにより接続されたCPU群であってもよい。
前記プログラムデータ領域6には、Javaのソースプログラムよりコンパイルされたバイトコードのプログラムが格納される(以下、1アドレス分のプログラムを「プログラムデータ」という)。検索用テーブル領域7には、メソッドの呼出し時に、呼び出されたメソッドが格納されている場所を検索するために、図示しないクラステーブルやメソッドテーブルなどが格納される。
プログラム実行装置1におけるメモリアクセスは、メモリコントローラ5により制御される。プログラム実行部3は、メモリコントローラ5に、読み出すべきプログラムデータの格納先を示すプログラムアドレスを与えることにより、前記プログラムデータ領域6から該当するプログラムデータを得て実行する。特にそのプログラムデータがメソッド呼出しを示すメッセージであったとき、プログラム実行部3は、そのメッセージをメソッド検索部4に送信して、メソッドの格納先の検索を要請する。
メッセージには、メッセージの対象となるオブジェクトの所属するクラス名、実行すべきメソッドのメソッド名、引数、戻り値の有無やその型を示すデータが含まれる。メソッド検索部4は、このメッセージにより、メッセージの対象となるオブジェクトが所属するクラスや指定されたメソッドを認識した後、前記検索用テーブルを用いてメソッドの格納場所を検索する。この検索処理は、メモリコントローラ5に、検索用テーブル領域7内で必要な検索用情報の格納先のアドレス(図中、「テーブルアドレス」と示す)を指定して情報の読出しを行なわせることにより実現する。なおテーブルアドレスは、各検索用テーブルのエントリ位置を示すポインタ、またはメモリ2において前記エントリ位置に該当する領域のアドレスを示す値により与えられる。
メソッド検索部4は、検索結果として、指定されたメソッドの格納場所の先頭アドレス(以下「プログラム先頭アドレス」という)を取得し、このプログラム先頭アドレスを、プログラムカウンタとしてプログラム実行部3に送信する。プログラム実行部3は、図示しないスタック用のメモリ領域に前記メソッドのための作業領域を設定するとともに、前記プログラムカウンタが示すアドレスを起点としてプログラムデータ領域6から前記メソッドを構成する各プログラムデータを順次読み出して、各プログラムデータに応じた処理を実行する。
制御主体40の実行プログラムは、上記オブジェクト指向プラットフォーム上に構築されるものである。図2は、そのプログラムの構成を示すUML(Unified Modeling Language)表記に従ったクラス図である。該プログラムは、次のようなオブジェクトによって構成されている。
・永続化対応データクラス101C:動作制御に関与するアプリケーションクラス106Cからの保存要求対象となるデータを自身のインスタンスとし、該自身のインスタンスを永続化保存するための保存要求をアプリケーションクラス106Cから受け付ける永続化インターフェース101Kを実装し、上記保存要求を受けることにより、保存先となる記憶媒体を特定するために参照すべき情報である媒体特定参照情報を付与した形で、データを保存用データに変換する。
・個別媒体管理クラス103C,104C:保存用データの保存先候補となる記憶媒体又は記憶媒体群に個別に対応する形で設けられ、保存要求を受けた保存用データを対応する記憶媒体に保存する。
・永続化管理クラス102C:続化対応データ変換処理クラス101Cから受け渡される保存用データを、これに付与された媒体特定参照情報を参照することにより、データ保存先となる記憶媒体に対応する個別媒体管理クラス103C,104Cを選択し、その選択された個別媒体管理クラス103C,104Cに保存用データを受け渡す。
・データ管理クラス105C:永続化管理クラス102Cから保存用データの記憶媒体への書込要求を受け付けるデータ保存インターフェース105Iを実装するとともに、個々の記憶媒体へのデータ保存メソッドを搭載する。各個別媒体管理クラス103C,104Cは、該データ管理クラス105Cを継承するサブクラスとして構築されている。
上記構成において、記憶媒体への保存処理に係るメソッドは、記憶媒体に個別に対応する個別媒体管理クラス103C,104Cに組み込まれている。また、データを、その保存形態である保存用データに変換するメソッドは、永続化対応データクラス101Cに組み込まれている。そして、該永続化対応データクラス101Cがアプリからのデータ保存依頼を受け付ける。変換された保存用データは、永続化管理クラス102Cにより、保存用データに付与された媒体特定参照情報を参照して、対応する記憶媒体の個別媒体管理クラス103C,104Cに受け渡される。その結果、アプリから見てデータ保存先となる記憶媒体は、永続化対応データクラス101Cにより隠蔽される。
その結果、アプリやデータ構造の影響をほとんど受けることなく、記憶媒体の仕様変更や交換に係る設計変更を実施することが可能となる(例えば、EEPROM、フラッシュメモリ、RAM及び通信接続された他の制御主体(ECU)の間での相互転換など)。また、副次的な効果として、記憶媒体の二重化(例えば、フラッシュメモリの記憶領域を二重化したり、RAM上にバックアップ領域を追加するなど)など、データ信頼性向上のための冗長化に係る設計変更にも容易に対応することができる。
媒体特定参照情報は、具体的には、図3に示すごとく、データの種別を特定するデータ種別特定情報とされている。そして、データ種別特定情報が特定するデータ種別と個別媒体管理クラス103C,104Cとの対応関係を示す媒体/データ種別対応関係情報が用意されている。図2の永続化管理クラス102Cは、該媒体/データ種別対応関係情報を参照することにより、保存用データの種別に対応した個別媒体管理クラス103C,104Cを選択して、これに保存用データを受け渡すものとして構築されている。なお、データ種別は、例えば、アプリ側でデータの保存/復元に使用するクラスの属性等から特定できるが、これに限られるものではない。例えば、保存要求対象データのインスタンスを格納するアドレスを、永続化管理クラスが有する、該当するデータ種別に対応付けられた配列(後述の保存リスト保存リスト200A〜200D:例えば、画像データリストあるいは通常データリスト)に登録することによって、データの種別を特定するように構成することも可能である。
記憶媒体としては、仕様の互いに異なる不揮発性メモリ、具体的にはEEPROM(記憶媒体α、記憶媒体γ)とフラッシュメモリ(記憶媒体δ、記憶媒体ε:図では「flash」と表示している)、及び補助的にRAM(記憶媒体β)が使用されている。永続化管理クラス102Cは、データが、アプリケーションクラス106Cの状態を示す変数の設定値を含んだ状態データ(以下、通常データという)である場合に、EEPROM2に対応づけられた個別媒体管理クラス104C(具体的には、図2において、そのインスタンス104J(図3のデータ管理2))を選択する。また、データが画像データである場合は、フラッシュメモリ2に対応付けられた個別媒体管理クラス103C(具体的には、図2において、そのインスタンス103J(図3のデータ管理4))を選択する。
データが、セキュリティ保護対象として定められた重要データ(本実施形態では、個人情報等を含む契約データ)である場合には、状態データ用のEEPROM1とは別のEEPROM2に対応づけられた個別媒体管理クラス103C(具体的には、図2において、そのインスタンス104J(図3のデータ管理1))を選択するまた、データが、通信ログ又は機器の動作ログからなるログデータである場合には、画像データ用のフラッシュメモリ2とは別のフラッシュメモリ1に対応付けられた個別媒体管理クラス103C(具体的には、図2において、そのインスタンス103J(図3のデータ管理3))を選択する。
永続化対応データクラス101Cは、図4に示すように、保存用データを一義的に特定するための識別IDを、自身のインスタンスを格納するアドレス(図では、「永続化データ格納アドレス」と表示している)から生成する。識別IDは、例えば上記アドレスと一致させることもできるし、元のアドレスへの一義的な復元が可能なデータ加工処理(演算あるいは識別ビット付加など)を施したりする形で作成することができる。いずれにしろ、該アドレスを参照すれば識別IDを、また識別IDを参照すればアドレスをそれぞれ特定できる。
そして、その識別IDを付与した形で該保存用データを永続化管理クラス102Cに受け渡す。また、個別媒体管理クラス103C,104Cは、該永続化管理クラス102Cから受け渡された保存用データを、識別IDを付与した形で対応する記憶媒体の開いているアドレスに書き込む。
図2に戻り、永続化対応データクラス101Cは、自身のインスタンスをシリアライズするためのシリアライズインターフェース101Iを実装し、図3に示すごとく、そのシリアライズされたデータを保存用データとして永続化管理クラス102Cに受け渡す。シリアライズインターフェース101Iは、シリアライズ時のデータサイズを取得するメソッド、及びシリアライズされた保存用データをデシリアライズするメソッドも有する。
シリアライズに特に適したデータは、アプリケーションクラス106Cの状態を示す変数の設定値を含んだ状態データ(通常データ)である。ただし、データが予め定められたサイズを超過しているか、又は、予めシリアライズが完了しているデータ、具体的には、本実施形態における画像データは、元からバイト列データとして記述されており、シリアライズが完了しているので、永続化対応データクラス101Cにおいて、シリアライズインターフェース101Iによるシリアライズ処理は実行されない。
図2に示すごとく、画像データの保存処理自体も、永続化対応データクラスから作成され当該画像データを組み込んだインスタンスに従って実行され、該画像データもまた、そのインスタンスの格納アドレスから作成された識別IDを付与されて保存用データに変換される。上記のごとく、永続化インターフェースにおいて該画像データへの参照を渡すことにより、シリアライズインターフェース101Iを使用せずに対応する記憶媒体へ保存することが可能となる。
永続化インターフェース101Kは、既に保存されている保存用データを読み出してインスタンスに復元する復元要求を、対応するインスタンスの格納アドレスを特定可能な形でアプリケーションクラス106Cから受け付ける(この他、保存用データの削除要求も受付可能である)。永続化管理クラス102Cは、図6に示すように、保存されている保存用データを特定する識別IDの一覧を、保存先となる記憶媒体が特定可能な形で記憶する保存リスト200A〜200Dを有する。ここでは、記憶媒体種別は、データ種別により間接的に特定可能となっている(図2では、保存リストとして、画像データリスト(200D)と通常データリスト(200B)のみ示し、他を省略して描いている)。
そして、受け付けた復元要求が特定する上記アドレスに基づいて識別IDを特定し、さらに、当該識別IDを図6の保存リスト200A〜200D上で検索してデータ種別を特定して、その特定されたデータ種別に対応する個別媒体管理クラス103C,104Cに該識別IDを受け渡す。このとき、識別IDとともにデータ種別の特定情報も受け渡すことで、図6の対応するデータ種別の保存リスト上で検索を行なえばよい。
各個別媒体管理クラス103C,104Cは、受け取った識別IDに対応する保存用データを、自身に対応する記憶媒体から読み出して、永続化管理クラス102Cを経て永続化対応データクラス101Cに該保存用データを受け渡す。永続化対応データクラス101Cは、該保存用データ(例えば、シリアライズ処理されたデータ)を元のインスタンスに復元する(なお、シリアライズ処理が実施されていないデータは、復元時のデシリアライズは当然省略される)。
図5は、データ保存時及び復元時の各シーケンスを示すものである。まず、アプリケーションクラス106Cは、永続化インターフェース101Kを介して永続化対応データクラス101C(ここでは、自身のインスタンスとして画像データのインスタンスが作成されているものとする)にデータ保存又は復元の要求を出す。永続化対応データクラス101Cは、永続化管理クラス102Cにそのインスタンスの保存ないし復元の処理を要求する。永続化管理クラス102Cは、データのシリアライズ化が必要かどうかを判定し、必要な場合はシリアライズ又はデシリアライズを永続化対応データクラス101Cに要求し、対応するデータ変換を実施させ、さらに対応する記憶媒体への書込ないし読出しを要求する。
本発明のオブジェクト指向型車両用制御システムにおける制御主体の構成を、オブジェクト指向プラットフォームの観点から概念的に示す図。 図1の制御主体が実行するプログラムの構成を示すUML表記に従ったクラス図。 システムのソフトウェアとハードウェアとの関係を示す概念ブロック図。 データシリアライズと記憶媒体保存/読出しの流れを示す概念図。 図2に対応するシーケンス図。 保存リストの概念図。 本発明におけるオブジェクト間の情報の流れを示す概念ブロック図。 従来例におけるオブジェクト間の情報の流れを示す概念ブロック図。
符号の説明
1 プログラム実行装置(CPU)
40 制御主体
101C 永続化対応データクラス
101K 永続化インターフェース
101I シリアライズインターフェース
102C 永続化管理クラス
103C,104C 個別媒体管理クラス
105I データ保存インターフェース
106C アプリケーションクラス

Claims (14)

  1. CPUを含んで構成され、車載用電子機器を前記CPUにより、オブジェクト指向のプログラム処理により動作制御する制御主体を有した車両用制御装置であって、前記プログラムが、
    前記動作制御に関与するアプリケーションクラスからの保存要求対象となるデータを自身のインスタンスとし、該自身のインスタンスを永続化保存するための保存要求を前記アプリケーションクラスから受け付ける永続化インターフェースを実装し、前記保存要求を受けることにより、保存先となる記憶媒体を特定するために参照すべき情報である媒体特定参照情報を付与した形で、前記自身のインスタンスを保存用データに変換する永続化対応データクラスと、
    前記保存用データの保存先候補となる記憶媒体又は記憶媒体群に個別に対応する形で設けられ、保存要求を受けた前記保存用データを対応する記憶媒体に保存する個別媒体管理クラスと、
    前記永続化対応データクラスから受け渡される前記保存用データを、これに付与された前記媒体特定参照情報を参照することにより、データ保存先となる記憶媒体に対応する前記個別媒体管理クラスを選択し、その選択された個別媒体管理クラスに前記保存用データを受け渡す永続化管理クラスと、
    を有してなることを特徴とするオブジェクト指向型車両用制御装置。
  2. 前記永続化管理クラスから前記保存用データの前記記憶媒体への書込要求を受け付けるデータ保存インターフェースを実装するとともに、個々の記憶媒体へのデータ保存メソッドを搭載したデータ管理クラスを有し、
    各前記個別媒体管理クラスは、該データ管理クラスを継承するサブクラスとして構築されたものである請求項1記載のオブジェクト指向型車両用制御装置。
  3. 前記媒体特定参照情報は前記データの種別を特定するデータ種別特定情報であり、
    前記データ種別特定情報が特定するデータ種別と前記個別媒体管理クラスとの対応関係を示す媒体/データ種別対応関係情報が予め用意されており、前記永続化管理クラスは、該媒体/データ種別対応関係情報を参照することにより、前記保存用データの種別に対応した個別媒体管理クラスを選択して、これに前記保存用データを受け渡す請求項1又は請求項2に記載のオブジェクト指向型車両用制御装置。
  4. 前記永続化管理クラスは、前記媒体特定参照情報としてデータサイズ情報を参照し、前記データサイズに応じてデータ保存先となる記憶媒体に対応する前記個別媒体管理クラスを選択し、前記保存用データをこれに受け渡す請求項1ないし請求項3のいずれか1項に記載のオブジェクト指向型車両用制御装置。
  5. 前記記憶媒体として、仕様の互いに異なる不揮発性メモリが指定されている請求項1ないし請求項4のいずれか1項に記載のオブジェクト指向型車両用制御装置。
  6. 前記永続化管理クラスは、前記データが、前記アプリケーションクラスの状態を示す変数の設定値を含んだ状態データである場合に、前記不揮発性メモリの一つであるEEPROMに対応づけられた前記個別媒体管理クラスを選択し、前記データが画像データである場合に、前記不揮発性メモリの一つであるフラッシュメモリに対応付けられた前記個別媒体管理クラスを選択するものである請求項5記載のオブジェクト指向型車両用制御装置。
  7. 前記永続化管理クラスは、前記データが、予め定められた重要データである場合に、前記状態データ用のEEPROMとは別のEEPROMを選択するものである請求項6記載のオブジェクト指向型車両用制御装置。
  8. 前記永続化管理クラスは、前記データが、通信ログ又は機器の動作ログからなるログデータである場合に、前記画像データ用のフラッシュメモリとは別のフラッシュメモリを選択するものである請求項6又は請求項7に記載のオブジェクト指向型車両用制御装置。
  9. 前記永続化対応データクラスは、前記保存用データを一義的に特定するための識別IDを、前記自身のインスタンスを格納するアドレスから生成し、当該識別IDを付与した形で該保存用データを前記永続化管理クラスに受け渡すものであり、
    前記個別媒体管理クラスは、該永続化管理クラスから受け渡された保存用データを、前記識別IDを付与した形で対応する記憶媒体に書き込むものである請求項1ないし請求項8のいずれか1項に記載のオブジェクト指向型車両用制御装置。
  10. 前記永続化対応データクラスは、前記自身のインスタンスをシリアライズするためのシリアライズインターフェースを実装し、そのシリアライズされたデータを前記保存用データとして前記永続化管理クラスに受け渡す請求項9記載のオブジェクト指向型車両用制御装置。
  11. 前記永続化対応データクラスは、前記自身のインスタンスが予め定められたサイズを超過しているか、又は、予めシリアライズが完了しているデータである場合に、前記シリアライズインターフェースによるシリアライズ処理を実行せずに、該データを前記保存用データとするものである請求項10記載のオブジェクト指向型車両用制御装置。
  12. 前記シリアライズが完了しているデータが画像データである請求項11記載のオブジェクト指向型車両用制御装置。
  13. 前記永続化インターフェースは、既に保存されている前記保存用データを読み出して前記インスタンスに復元する復元要求を、該保存用データに対応するインスタンスを格納する前記アドレスを特定可能な形で前記アプリケーションクラスから受け付けるものであり、
    前記永続化管理クラスは、保存されている前記保存用データを特定する識別IDの一覧を、保存先となる記憶媒体が特定可能な形で記憶する保存リストを有するとともに、受け付けた前記復元要求が特定する前記アドレスに基づいて前記識別IDを特定し、さらに、当該識別IDを前記保存リスト上で検索して保存先の記憶媒体を特定し、特定された記憶媒体に対応する前記個別媒体管理クラスに該識別IDを受け渡すものであり、
    各前記個別媒体管理クラスは、受け取った前記識別IDに対応する保存用データを対応する記憶媒体から読み出して、前記永続化管理クラスを経て前記永続化対応データクラスに該保存用データを受け渡すものであり、
    前記永続化対応データクラスは該保存用データを前記自身のインスタンスに復元する請求項9ないし請求項12のいずれか1項に記載のオブジェクト指向型車両用制御装置。
  14. 前記シリアライズインターフェースは、前記復元時にシリアライズされた前記保存用データをデシリアライズするものである請求項請求項13記載のオブジェクト指向型車両用制御装置。
JP2006253334A 2006-09-19 2006-09-19 オブジェクト指向型車両用制御装置 Expired - Fee Related JP4973844B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006253334A JP4973844B2 (ja) 2006-09-19 2006-09-19 オブジェクト指向型車両用制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006253334A JP4973844B2 (ja) 2006-09-19 2006-09-19 オブジェクト指向型車両用制御装置

Publications (2)

Publication Number Publication Date
JP2008077220A true JP2008077220A (ja) 2008-04-03
JP4973844B2 JP4973844B2 (ja) 2012-07-11

Family

ID=39349233

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006253334A Expired - Fee Related JP4973844B2 (ja) 2006-09-19 2006-09-19 オブジェクト指向型車両用制御装置

Country Status (1)

Country Link
JP (1) JP4973844B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102009054887A1 (de) 2008-12-23 2010-07-15 Autonetworks Technologies, Ltd., Yokkaichi-shi Steuersystem, Steuervorrichtung, Steuerverfahren und computerlesbares Medium
DE102010003122A1 (de) 2009-03-24 2010-09-30 Autonetworks Technologies, Ltd., Yokkaichi-shi Steuervorrichtung und Steuerverfahren zum Durchführen einer Betriebssteuerung von Aktuatoren

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003162413A (ja) * 2001-11-26 2003-06-06 Hitachi Software Eng Co Ltd プログラム作成支援装置
JP2005259136A (ja) * 2004-03-09 2005-09-22 Hewlett-Packard Development Co Lp 非ディスク永続メモリを利用したトランザクション処理システムおよび方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003162413A (ja) * 2001-11-26 2003-06-06 Hitachi Software Eng Co Ltd プログラム作成支援装置
JP2005259136A (ja) * 2004-03-09 2005-09-22 Hewlett-Packard Development Co Lp 非ディスク永続メモリを利用したトランザクション処理システムおよび方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102009054887A1 (de) 2008-12-23 2010-07-15 Autonetworks Technologies, Ltd., Yokkaichi-shi Steuersystem, Steuervorrichtung, Steuerverfahren und computerlesbares Medium
DE102010003122A1 (de) 2009-03-24 2010-09-30 Autonetworks Technologies, Ltd., Yokkaichi-shi Steuervorrichtung und Steuerverfahren zum Durchführen einer Betriebssteuerung von Aktuatoren
JP2010224961A (ja) * 2009-03-24 2010-10-07 Autonetworks Technologies Ltd 制御装置、制御方法及びコンピュータプログラム
DE102010003122B4 (de) * 2009-03-24 2013-04-25 Autonetworks Technologies, Ltd. Fahrzeug-Steuervorrichtung, Fahrzeug-Steuerverfahren, Computerprogramm und Speicher damit
US9020616B2 (en) 2009-03-24 2015-04-28 Autonetworks Technologies, Ltd. Control apparatus and control method of performing operation control of actuators

Also Published As

Publication number Publication date
JP4973844B2 (ja) 2012-07-11

Similar Documents

Publication Publication Date Title
US11150891B2 (en) Method and device for updating software executed from non-volatile memory
CN103164342B (zh) 数据可用性的挂载时协调
US6477616B1 (en) Storage device, storage system, memory management method, recording medium, and computer data signal
US8176009B2 (en) Performing a pre-update on a non volatile memory
JP2006178983A (ja) バッファメモリに貯蔵されたデータを無効化させるスキームを有する貯蔵システム及びそれを含んだコンピューティングシステム
JP4046877B2 (ja) 一括消去型不揮発性メモリおよび携帯電話
WO2022126470A1 (zh) Flash数据掉电保护方法及设备
JP4745465B1 (ja) 半導体記憶装置及び半導体記憶装置の制御方法
JP5057887B2 (ja) データ更新装置及びデータ更新方法及びデータ更新プログラム
JP4973844B2 (ja) オブジェクト指向型車両用制御装置
CN107341049B (zh) 一种事务处理的优化处理方法及装置
CN103049324A (zh) 一种基于优先级位图的AUTOSAR NvM读写任务的管理方法
JP6030485B2 (ja) 電子制御装置
CN1906559B (zh) 用于控制数据处理设备的方法
CN101894024B (zh) 一种基于模型库的模型元素一致性保障方法
TW583582B (en) Microcomputer and associated method for reducing memory usage of the microcomputer
CN103339603A (zh) 计算机重新编程方法、数据存储介质和机动车辆计算机
US9916103B2 (en) Memory control device, memory device, and memory control method
JP2008047155A (ja) 一括消去型不揮発性メモリおよび携帯電話
JP2009009602A (ja) Icカード及びicカードプログラム
TWI226997B (en) System and method preventing exceptional execution of central processing unit and the computer readable storage medium
JP2011175666A (ja) 半導体記憶装置及び半導体記憶装置の制御方法
US8200611B2 (en) File system and data management method
CN101464817B (zh) 数据恢复方法
JP2005339450A (ja) フラッシュメモリのデータ管理方式

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081007

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111227

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120221

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120327

R151 Written notification of patent or utility model registration

Ref document number: 4973844

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150420

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees