"1または複数のアプリケーションと、該アプリケーションを動作させるためのプラットフォームとを備える組み込みシステム用の制御プログラムであって、前記プラットフォームは、前記アプリケーションとの間の送受信を中継する中継手段と、動作中の前記アプリケーションを更新する更新指示を受け付ける受付手段と、前記アプリケーションを更新するための更新データを外部から取得する取得手段と、前記受付手段が前記更新指示を受け付けると、該更新指示により更新される前記アプリケーションに対し、動作の正常な停止と、前記中継手段を介しての該アプリケーションへの送信の停止とを指示する停止指示を行う停止指示手段と、前記停止指示により、前記アプリケーションの動作が正常に停止すると共に、前記中継手段を介しての該アプリケーションへの送信とが停止した後に、前記取得手段が取得した前記更新データに基づき該アプリケーションを更新する更新手段と、してコンピュータを動作させ、前記アプリケーションは、当該アプリケーションに対しての前記停止指示がなされると、当該アプリケーションの動作を正常に停止させると共に、前記中継手段を介しての当該アプリケーションへの送信を停止させる停止手段としてコンピュータを動作させること、を特徴とする制御プログラム。請求項1に記載の制御プログラムにおいて、前記アプリケーションは、さらに、当該アプリケーションに対しての前記停止指示がなされると、当該アプリケーションの動作状態を示す引継ぎデータをメモリに保存する保存手段と、前記更新手段により当該アプリケーションが更新された後に、前記保存手段により保存された前記引継ぎデータを読み出し、該引継ぎデータに基づき、前記停止指示がなされた時点の前記動作状態を復元した後に当該アプリケーションの動作を再開させる再開手段と、してコンピュータを動作させることを特徴とする制御プログラム。請求項1または請求項2に記載の制御プログラムにおいて、前記取得手段は、ネットワークを介して外部サーバから前記更新データを取得すること、を特徴とする制御プログラム。請求項1から請求項3のうちのいずれか1項に記載の制御プログラムにおいて、当該制御プログラムは、書き換え可能な不揮発性の記憶媒体に記憶された状態でコンピュータを動作させるよう構成されていること、を特徴とする制御プログラム。請求項1から請求項4のうちのいずれか1項に記載の制御プログラムにおいて、前記プラットフォームは、さらに、前記停止指示がなされた前記アプリケーションの動作が停止しない場合に、該アプリケーションの動作を停止させる強制停止手段としてコンピュータを動作させることを特徴とする制御プログラム。1または複数のアプリケーションと、該アプリケーションを動作させるためのプラットフォームであって、前記アプリケーションとの間の送受信を中継する中継手段と、動作中の前記アプリケーションを更新する更新指示を受け付ける受付手段と、前記アプリケーションを更新するための更新データを外部から取得する取得手段と、前記受付手段が前記更新指示を受け付けると、該更新指示により更新される前記アプリケーションに対し、動作の正常な停止と、前記中継手段を介しての該アプリケーションへの送信の停止とを指示する停止指示を行う停止指示手段と、前記停止指示により、前記アプリケーションの動作が正常に停止すると共に、前記中継手段を介しての該アプリケーションへの送信とが停止した後に、前記取得手段が取得した前記更新データに基づき該アプリケーションを更新する更新手段と、してコンピュータを動作させることを特徴とするプラットフォーム。当該部位を個別に更新するプラットフォーム上で動作し、該プラットフォームを介して他のソフトウェアモジュールとの間の通信を行う組み込みシステム用のアプリケーションであって、前記プラットフォームが動作中の当該アプリケーションを個別に更新する際に、該プラットフォームからの停止指示に応じて、当該アプリケーションの動作を正常に停止させると共に、前記プラットフォームを介しての当該アプリケーションへの送信を停止させる停止手段としてコンピュータを動作させることを特徴とするアプリケーション。1または複数のアプリケーションと、該アプリケーションを動作させるためのプラットフォームとを備える組み込みシステム用の制御プログラムにより動作するコンピュータを備える電子装置であって、前記プラットフォームは、前記アプリケーションとの間の送受信を中継する中継手段と、動作中の前記アプリケーションを更新する更新指示を受け付ける受付手段と、前記アプリケーションを更新するための更新データを外部から取得する取得手段と、前記受付手段が前記更新指示を受け付けると、該更新指示により更新される前記アプリケーションに対し、動作の正常な停止と、前記中継手段を介しての該アプリケーションへの送信の停止とを指示する停止指示を行う停止指示手段と、前記停止指示により、前記アプリケーションの動作が正常に停止すると共に、前記中継手段を介しての該アプリケーションへの送信とが停止した後に、前記取得手段が取得した前記更新データに基づき該アプリケーションを更新する更新手段と、して前記コンピュータを動作させ、前記アプリケーションは、当該アプリケーションに対しての前記停止指示がなされると、当該アプリケーションの動作を正常に停止させると共に、前記中継手段を介しての当該アプリケーションへの送信を停止させる停止手段として前記コンピュータを動作させること、を特徴とする電子装置。1または複数のアプリケーションと、該アプリケーションを動作させると共に、該アプリケーションとの間の送受信を中継するプラットフォームとを備える組み込みシステム用の制御プログラムにおける、該アプリケーションの更新方法であって、前記プラットフォームにて、動作中の前記アプリケーションを更新する更新指示を受け付ける受付手順と、前記プラットフォームにて、前記アプリケーションを更新するための更新データを外部から取得する取得手順と、前記更新指示を受け付けると、前記プラットフォームから、該更新指示により更新される前記アプリケーションに対し、動作の正常な停止と、前記プラットフォームを介しての該アプリケーションへの送信の停止とを指示する停止指示を行う停止指示手順と、前記停止指示がなされた前記アプリケーションにて、当該アプリケーションの動作を正常に停止させると共に、前記プラットフォームを介しての当該アプリケーションへの送信を停止させる停止手順と、前記停止指示により、前記アプリケーションの動作が正常に停止すると共に、前記プラットフォームを介しての該アプリケーションへの送信とが停止した後に、前記プラットフォームが、前記更新データに基づき該アプリケーションを更新する更新手順と、を有することを特徴とする更新方法。ここで、プログラムを構成する各モジュールは、互いに通信を行い協調して動作することで要求される機能を実現しており、プログラムの稼動中に特定のモジュールを書き換えるとした場合には、書き換えの途上にあるモジュールが他のモジュール等からの指示により起動されてしまう可能性がある。そして、このような場合には、CPUが暴走してしまうおそれがあるため、上述のTOPPERSでは、各モジュールを停止させ、機能を完全に停止させた後でなければ、プログラムの一部を動的に書き換えることができなかった。本願発明は上記課題に鑑みてなされたものであり、要求される機能を完全に停止させること無く、プログラムの一部を動的に書き換えることができる組み込みシステム用の制御プログラム等を提供することを目的とする。上記課題を解決するためになされた請求項1の発明は、1または複数のアプリケーションと、該アプリケーションを動作させるためのプラットフォームとを備える組み込みシステム用の制御プログラムに関する。この制御プログラムにおいて、プラットフォームは、アプリケーションとの間の送受信を中継する中継手段と、動作中のアプリケーションを更新する更新指示を受け付ける受付手段と、アプリケーションを更新するための更新データを外部から取得する取得手段と、受付手段が更新指示を受け付けると、該更新指示により更新されるアプリケーションに対し、動作の正常な停止と、中継手段を介しての該アプリケーションへの送信の停止とを指示する停止指示を行う停止指示手段としてコンピュータを動作させる。また、プラットフォームは、停止指示により、アプリケーションの動作が正常に停止すると共に、中継手段を介しての該アプリケーションへの送信とが停止した後に、取得手段が取得した更新データに基づき該アプリケーションを更新する更新手段としてコンピュータを動作させる。また、アプリケーションは、当該アプリケーションに対しての停止指示がなされると、当該アプリケーションの動作を正常に停止させると共に、中継手段を介しての当該アプリケーションへの送信を停止させる停止手段としてコンピュータを動作させる。このような構成によれば、更新指示がなされた際には、更新指示の対象となるアプリケーションの動作と、中継手段を介しての該アプリケーションへの送信が停止された後に該アプリケーションが更新され、更新中のアプリケーションに対してイベント通知等がなされることを防ぐことができる。このため、他のアプリケーションやプラットフォームの動作を停止させずに、特定のアプリケーションのみを更新したとしても、更新途上のアプリケーションが起動されることは無く、CPUが暴走してしまうことを防ぐことができるのである。したがって、請求項1に記載の制御プログラムによれば、各アプリケーションにより実現される全ての機能を完全に停止させること無く、プログラムの一部を動的に書き換えることができる。ここで、アプリケーションの更新後、該アプリケーションを初期状態で再起動させるとなると、更新の前後でアプリケーションの動作が大きく変わってしまう可能性があり、制御対象の状態に適合しない処理や、ユーザの意思に反した処理等が行われるおそれがある。そこで、請求項2に記載の制御プログラムでは、アプリケーションは、さらに、当該アプリケーションに対しての停止指示がなされると、当該アプリケーションの動作状態を示す引継ぎデータをメモリに保存する保存手段と、更新手段により当該アプリケーションが更新された後に、保存手段により保存された引継ぎデータを読み出し、該引継ぎデータに基づき、停止指示がなされた時点の動作状態を復元した後に当該アプリケーションの動作を再開させる再開手段としてコンピュータを動作させる。こうすることにより、更新後のアプリケーションを更新前と同様に動作させることができ、アプリケーションの更新により、制御対象の状態に適合しない処理や、ユーザの意思に反した処理等が行われてしまうことを防ぐことができる。また、請求項3に記載されているように、取得手段は、ネットワークを介して外部サーバから更新データを取得しても良い。こうすることにより、アプリケーションの更新を容易に行うことができる。また、請求項4に記載されているように、制御プログラムは、書き換え可能な不揮発性の記憶媒体に記憶された状態でコンピュータを動作させるよう構成されていても良い。こうすることにより、制御プログラムをロードするためのメインメモリを設ける必要が無くなり、制御プログラムが搭載される装置のコストを抑えることができる。また、制御プログラムを構成する各アプリケーションは、異なる業者により開発されるという可能性もある。このため、アプリケーションの更新機能が十分にサポートされておらず、プラットフォームからの停止指示に応じてアプリケーションが停止しないという可能性もある。また、アプリケーションの更新機能が十分にサポートされている場合であっても、何らかの理由により、停止指示がなされたアプリケーションが動作を停止できないといった可能性もある。そこで、請求項5に記載の制御プログラムでは、プラットフォームは、さらに、停止指示がなされたアプリケーションの動作が停止しない場合に、該アプリケーションの動作を停止させる強制停止手段としてコンピュータを動作させる制御プログラム。こうすることにより、更新を行うアプリケーションの動作を確実に停止させることができ、アプリケーションの更新を確実に行うことができる。なお、請求項6,7に記載されているように、請求項1に記載の制御プログラムを構成するプラットフォームやアプリケーションを単体で市場に流通させても良い。このような場合であっても、対応するアプリケーションやプラットフォームと組み合わせることで、同様の効果を得ることができる。また、請求項8に記載されているように、請求項1に記載の制御プログラムが搭載された電子装置を市場に流通させても良い。このような場合であっても、同様の効果を得ることができる。また、請求項9には、請求項1に記載の制御プログラムにて行われるアプリケーションの更新方法が記載されている。このような方法によれば、アプリケーションにより実現される全ての機能を完全に停止させること無く、プログラムの一部を動的に書き換えることができる。以下、本発明の実施形態について図面を用いて説明する。なお、本発明の実施の形態は、下記の実施形態に何ら限定されることはなく、本発明の技術的範囲に属する限り種々の形態を採りうる。[構成の説明]図1aは、自車両の車速を自動調整するクルーズコントロールや、ヘッドライトの制御や、自車両が車線に追従して走行するようステアリングを自動調整する車線追従等の機能を有する本実施形態のECU10の構成を示すブロック図である。ECU10は、無線通信によりインターネットにアクセスするための無線通信部11と、書き換え可能な不揮発性メモリ例えばフラッシュメモリ等として構成されている記憶部12と、ユーザからの操作を受け付ける操作部13と、CPU、ROM、RAM、I/O及びこれらを接続するバスライン等からなる周知のマイコンを中心に構成され、記憶部12に記憶されている制御プログラムにより当該ECU10を統括制御する制御部14とを有している。なお、図1bに記載されているように、ECU10は、無線通信部11によりインターネット30にアクセスして外部サーバ20と通信を行い、該外部サーバ20から記憶部12に記憶されている制御プログラムを更新するための更新データを取得するよう構成されている。次に、ECU10の記憶部12に記憶されている制御プログラム100の構成について説明する。制御プログラム100は、車載用の組み込みシステム向けに標準化されたソフトウェアアーキテクチャーであるAUTOSARに準拠した構造を有している。ここで、AUTOSARについて簡単に説明する。図1cに記載されているように、AUTOSARは、各種機能を実現するためのアプリケーションが属するアプリケーション層と、ハードウェアを抽象化すると共に、各種サービスを提供する基本ソフトウェアと、基本ソフトウェアからアプリケーションを抽象化し、基本ソフトウェアとアプリケーションとの間や、アプリケーション間の通信を行うRTERuntimeEnvironmentの略,ランタイム環境から構成される。また、この基本ソフトウェアは、各アプリケーションを動作させるOSとして機能すると共に、他のECUとの通信や、メモリ管理や故障診断等を行うサービス層と、マイコンや各種デバイスを制御するためのAPIを提供するECU抽象化層と、マイコン内部のペリフェラルやメモリや各種デバイス等を制御するマイクロコントローラ抽象化層を備えると共に、高速での処理や、標準化できない特殊な処理等をサポートするための複合ドライバを備える。そして、図2aに記載されているように、本実施形態の制御プログラム100は、上記アプリケーション層に含まれる部位であって、1または複数のタスクから構成されたアプリケーションであるA~C-SWC140~160と、上記サービス層に属する部位であって、SWCを構成するタスクのスケジューリングを行うことで、これらのアプリケーションを動作させるOS110と、上記複合ドライバに属する部位であって、動作中のSWCの書き換えを行うRMReconfigurationManagement120と、SWCの書き換えに関連する各種インターフェースを提供する拡張I/F131が設けられた上述のRTE130と、を備える。なお、RTE130により提供されるインターフェースを呼び出すことで、各SWCに対して各種イベントが通知され、対応する処理が実行されると共に、各SWCの処理がコールバック関数として実行されるよう構成されている。また、RTE130により提供されるインターフェースを呼び出すことで、RM120とOS110との間の通信が行われる。また、A-SWC140はクルーズコントロールを実現するためのアプリケーションであり、B-SWC150は、ヘッドライトを制御するためのアプリケーションであり、C-SWC160は、車線追従を実現するためのアプリケーションである。また、本実施形態では、制御プログラム100は、記憶部12に記憶された状態で制御部14を構成するマイコンにより実行されるよう構成されているが、これに限定されることは無く、メインメモリにロードされた状態でマイコンにより実行されるよう構成されていても良い。[動作の説明]次に、制御プログラム100の動作について説明する。1A~C-SWCの状態について既に述べたように、本実施形態の制御プログラム100では、SWCは、外部サーバ20から取得された更新データにより書き換え可能に構成されている。そして、図2bに記載されているように、SWCは、タスクの稼動状態や更新の状態等に基づき以下のような状態に分類される。すなわち、SWCの状態は、SWCが記憶部12から削除された状態であるUninstと、SWCが記憶部12に書き込まれた状態であるInstalledと、SWCの実行イメージが生成された状態であるLoadedと、SWCのインスタンスが生成され、該インスタンスが停止した状態であるStoppedと、SWCのインスタンスが起動された状態であるActに分類される。さらに、Uninst,Installedが実行ファイルレベルとされ、Loaded,Stopped,Actがインスタンスレベルとされる。また、SWCでは、以下のイベントにより状態遷移が発生する。すなわち、Uninstである場合には、RM120がSWCを記憶部12に書き込むInstallイベントが発生すると、該SWCはInstalledに遷移する。また、Installedである場合には、RM120がSWCを記憶部12から削除するUninstallイベントが発生すると、該SWCはUninstに遷移する。また、Installedである場合には、OS110がSWCにて用いられるデータの初期値をRAMに展開するLoadイベントが発生すると、該SWCはLoadedに遷移する。また、Loadedである場合には、OS110がSWCを構成するタスクや割込みハンドラを登録するInitイベントが発生すると、該SWCはStoppedに遷移する。また、Stoppedである場合には、OS110がSWCを構成するタスクを起動すると共に、該SWCに対応するデバイスからの割込みを許可するStartイベントが発生すると、該SWCはActに遷移する。また、Stoppedである場合には、OS110がSWCを構成するタスクや割込みハンドラの登録を解除するFinalizeイベントが発生すると、該SWCはLoadedに遷移する。なお、詳細については後述するが、SWCを更新する過程において、Finalizeイベントが発生した際には、該SWCの動作状態を示す引継ぎデータが保存されると共に、Initイベントが発生した際には、保存されている引継ぎデータが読み出され、該SWCの動作状態が復元される。また、Actである場合には、OS110がSWCを構成するタスクを停止させると共に、該SWCに対応するデバイスからの割込みを禁止するStopイベントが発生すると、該SWCはStoppedに遷移する。また、インスタンスレベルである場合に、OS110がSWCにて用いられるデータを破棄するExitイベントが発生すると、該SWCはInstalledに遷移する。2アプリケーションの書き換えについて次に、外部サーバ20から取得した更新データにより動作中のSWCを書き換える処理である書き換え処理について、図3に記載のシーケンス図を用いて説明する。なお、本処理は、ECU10の稼動中に、ユーザから動作中のいずれかのSWCを書き換える指令を受け付けた際に開始される。また、以下の説明では、制御プログラム100を構成する部位が各種処理を行うことが記載されているが、これらの処理は、該部位に従い動作する制御部14により実現されるということを念のため付言しておく。制御プログラム100のRM120は、ECU10の操作部13を介して、ユーザから、動作中のいずれかのSWCを書き換える更新指示を受け付けるとS205、無線通信部11を介して、外部サーバ20から、書き換えの対象となるSWC対象SWCとも記載を書き換えるための更新データを取得するS210。そして、S215では、RM120は、RTE130のインターフェースを呼び出すことで、対象SWCに対し、動作を正常に停止させるstopイベントを通知する。そして、対象SWCは、stopイベントを受け取ると、当該SWCを正常に停止させるための処理である停止処理を実行するS220。具体的には、停止処理において、対象SWCは、実行中の処理を、安全に停止可能な段階まで進行させた上で中断する。なお、対象SWCに対するイベント通知や、対象SWCのコールバック関数の呼び出しがなされている場合には、対応する処理の実行完了を待つ。その後、RTE130のインターフェースを呼び出し、OS110に対し、当該SWCの動作の停止要求を行う。また、対象SWCは、RTE130のインターフェースを呼び出し、RTE130を介しての当該SWCへのイベントの通知や、当該SWCのコールバック関数当該SWCの書き換えに関連するコールバック関数を除くの呼び出しを禁止する。また、対象SWCの動作の停止要求を受け取ったOS110は、対象SWCを構成するタスクの稼動を順次停止させる。停止処理の実行後に移行するS225では、対象SWCは、RM120のインターフェースを呼び出し、RM120に対し、停止処理が正常に実行されたことを示すstoppednotifyを通知し、S230に処理が移行される。なお、stoppednotifyが通知される時点では、対象SWCを構成するタスクのうち、対象SWCを統括制御するタスクstoppednotifyを通知するタスク以外の他のタスクは、全て停止された状態となっている。S230では、対象SWCが停止しない場合を想定し、stoppednotifyを受け取ったRM120において、RTE130のインターフェースを呼び出し、対象SWCを強制的に停止させる強制停止処理を実行しても良い。なお、該インターフェースは、RTE130の拡張I/F131として設けられている。具体的には、強制停止処理において、RM120は、RTE130のインターフェースを呼び出し、OS110に対し、対象SWCのタスクを全て強制停止させると共に、対象SWCが既に受信しているイベントや、既に呼び出された対象SWCのコールバック関数を全て無効とさせる。強制停止処理を経た後に、S235に処理が移行される。S235では、RM120は、対象SWCの動作状態を保存するための処理であるfinalize処理をコールバック関数として呼び出し、S240に処理が移行される。なお、該処理の呼び出しがFinalizeイベントに相当する。S240では、対象SWCはfinalize処理を実行し、該処理において、対象SWCの動作状態を示すデータを引継ぎデータとしてRAM或いは、図示しないEEPROMの不揮発性記憶媒体等に保存する。そして、finalize処理の実行後、対象SWCを統括制御するタスクが停止される。なお、finalize処理の実行後、OS110は、対象SWCを構成するタスクや割込みハンドラの登録を解除する処理を行う。続くS245では、RM120は、対象SWCで用いられるデータをRAM上から破棄すると共にExitイベントに相当、対象SWCを記憶部12から消去するUninstallイベントに相当。その後、RM120は、外部サーバ20から取得され、制御部14のRAMに一時的に保存されている更新データを記憶部12に書き込むことで、対象SWCの書き換えを行いInstallイベントに相当、さらに、OS110が対象SWCにて用いられるデータの初期値をRAMに展開するLoadイベントに相当。続くS250では、RM120は、書き換え直前の対象SWCの動作状態の復元等を行う処理であるinitialize処理をコールバック関数として呼び出し、その後、S255に処理が移行される。なお、該処理の呼び出しがInitイベントに相当する。S255では、対象SWCはinitialize処理を実行し、該処理において、RAMに保存された引継ぎデータを読み出し、書き換え直前の対象SWCの動作状態を復元する。また、該処理において、対象SWCは、RTE130のインターフェースを呼び出し、RTE130を介しての当該SWCへのイベントの通知や、当該SWCのコールバック関数の呼び出しを許可する。また、該処理の実行後、OS110は、対象SWCを構成するタスクや割込みハンドラを登録するInitイベントに相当。そして、S260に処理が移行される。S260では、RM120は、書き換え後の対象SWCを再起動させるための処理であるstart処理をコールバック関数として読み出し、その後、S265に処理が移行される。S265では、対象SWCはstart処理を実行する。具体的には、対象SWCは、RTE130のインターフェースを呼び出してOS110に対し当該SWCの動作の再開要求を行い、該再開要求を受け取ったOS110は、対象SWCを構成するタスクを起動すると共に、対象SWCに対応するデバイスからの割込みを許可するStartイベントに相当。そして、以後、対象SWCの動作が再開される。一方、書き換え処理において、対象SWCからstoppednotifyの通知がなされない場合には、以下のような処理が行われる図4参照。すなわち、既に述べたように、制御プログラム100のRM120が更新指示を受け付けS305、外部サーバ20から更新データを取得すると共にS310、対象SWCに対しstopイベントを通知するとS315、対象SWCでは停止処理が実行されるS320。そして、stopイベントを通知した後、所定時間例えば1sが経過しても、対象SWCからstoppednotifyが通知されない場合には、RM120は、RTE130のインターフェースを呼び出し、対象SWCを強制的に停止させる強制停止処理を実行するS325。続くS330では、RM120は、対象SWCのデータをRAM上から消去すると共にExitイベントに相当、対象SWCに対応するプログラムを記憶部12から消去するUninstallイベントに相当。その後、RM120は、外部サーバ20から取得され、制御部14のRAMに一時的に保存されている更新データを記憶部12に書き込むことで、対象SWCの書き換えを行いInstallイベントに相当、さらに、OS110が対象SWCにて用いられるデータの初期値をRAMに展開するLoadイベントに相当。続くS335では、RM120は、initialize処理をコールバック関数として呼び出し、その後、S340に処理が移行される。なお、該処理の呼び出しがInitイベントに相当する。S340では、対象SWCはinitialize処理を実行し、該処理において、RTE130のインターフェースを呼び出し、RTE130を介しての当該SWCへのイベントの通知や、当該SWCのコールバック関数の呼び出しを許可する。また、該処理の実行後、OS110は、対象SWCを構成するタスクや割込みハンドラを登録するInitイベントに相当。そして、S345に処理が移行される。S345では、RM120は、書き換え後の対象SWCを再起動させるための処理であるstart処理をコールバック関数として読み出し、その後、S350に処理が移行される。S350では、対象SWCはstart処理を実行する。具体的には、対象SWCは、RTE130のインターフェースを呼び出してOS110に対し当該SWCの動作の再開要求を行い、該再開要求を受け取ったOS110は、対象SWCを構成するタスクを起動すると共に、対象SWCに対応するデバイスからの割込みを許可するStartイベントに相当。そして、以後、対象SWCの動作が再開される。[効果]本実施形態の制御プログラム100によれば、更新指示を受け付けた際には、更新の対象となるSWCの動作と、RTE130を介しての該SWCへの送信が停止された後に、該SWCが書き換えられるため、SWCの書き換え中に、該SWCに対してのイベント通知や、該SWCのコールバック関数の実行がなされることを防ぐことができる。このため、全てのSWCの動作を停止させずに特定のSWCのみを更新したとしても、更新途上のSWCが起動されることは無く、CPUが暴走してしまうことを防ぐことができるのである。したがって、制御プログラム100によれば、各SWCにより実現される全ての機能を完全に停止させること無く、特定のSWCを動的に書き換えることができる。[他の実施形態]1本実施形態では、ユーザからの操作によりSWCの書き換えが行われるが、これに限定されることは無く、例えば、無線通信部11を介してインターネット経由で外部から受け付けた指示等に応じて、SWCの書き換えを行っても良い。また、本実施形態では、外部サーバ20から更新データが取得されるが、これに限定されることは無く、例えば、SWCの書き換えを行う際にECU10に記憶装置を接続し、該記憶装置から更新データを取得しても良い。このような場合であっても、同様の効果を得ることができる。2また、本実施形態では、SWCの書き換えを行う際に、書き換えの対象となるSWCが引継ぎデータの保存を行っている。しかしながら、これに限定されることは無く、例えば、他のSWCとの間で共通化されているデータを引継ぎデータとして保存する場合等には、これらのデータに関しては、RM120やOS110等にて引継ぎデータとして保存しても良い。このような場合であっても、同様の効果を得ることができる。また、本実施形態では、SWCの書き換えを行う際に、書き換えの対象となるSWCが、当該SWCへのイベント通知やコールバックを禁止している。この点に関しても、例えば、他のSWCとの間で共通化されているイベントやコールバック関数が存在する場合には、これらに関しては、RM120やOS110等でイベント通知やコールバックを禁止しても良い。このような場合であっても、同様の効果を得ることができる。[特許請求の範囲との対応]上記実施形態の説明で用いた用語と、特許請求の範囲の記載に用いた用語との対応を示す。SWCがアプリケーションに、OS110,RM120,RTE130がプラットフォームに、RTE130が中継手段に相当する。また、書き換え処理のS205,S305が受付手段,受付手順に、S210,S310が取得手段,取得手順に、S215,S315が停止指示手段,停止指示手順に、S220が停止手段,停止手順に、S325が強制停止手段に、S240が保存手段に、S245,S330が更新手段,更新手順に、S255,S265が再開手段に相当する。また、SWC,OS110,RM120等がソフトウェアモジュールに相当する。また、ECU10が電子装置に相当する。"