(57)【特許請求の範囲】
【請求項１】
データ名称と１つまたは複数のデータとの組み合わせでデータを格納する第１メモリと、
プログラムで使用する変数に割り当てられたデータ名称によって前記第１メモリを検索して該データ名称に対応するデータのメモリアドレスを読み出す関数を含む、コンピュータで実行可能なプログラムを格納するメモリ手段と、を有し、
前記プログラムの初期化に際し、前記関数を実行することにより前記名称により前記第１メモリを検索して前記データの前記第１メモリにおけるメモリアドレスを読み取るよう構成されており、
前記変数ごとに記憶領域を割り当てることができる第２メモリを有し、前記読みとられたメモリアドレスは該記憶領域に記憶され、
プログラム実行時には、前記変数に応答して前記第２メモリから前記メモリアドレスを取得し、該メモリアドレスを使用して前記第１メモリをアクセスしデータを得るよう構成された、コンピュータ・システム。
【請求項２】
外部から名称と１つまたは複数のデータとの組み合わせが供給されることに応答して、該名称により前記第１メモリを検索し、一致する名称に関連するデータを前記供給されたデータで書き替えるようにした請求項１に記載のコンピュータ・システム。
【請求項３】
データ名称と１つまたは複数のデータとの組み合わせでデータを格納する外部記憶手段と、
プログラムで使用する変数に割り当てられた前記データ名称によって前記外部記憶手段を検索する関数を含む、コンピュータで実行可能なプログラムを記憶するメモリ手段と、
前記プログラムの初期化に際し、前記関数を実行することにより前記名称により前記外部記憶手段を検索して読み出したデータを記憶する第１メモリと、
前記読み出したデータの第１メモリにおけるメモリアドレスを記憶する第２メモリと、を備え、
前記プログラムの実行時には、前記変数に応答して前記第２メモリから前記メモリアドレスを取得し、該メモリアドレスを使用して前記第１メモリをアクセスしデータを得るよう構成された、コンピュータ・システム。
【請求項４】
前記コンピュータ・システムは、エンジン制御用の電子制御装置である、請求項１から３のいずれかに記載のコンピュータ・システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、コンピュータ・システムに関し、より具体的には頻繁にデータを変更するに適したコンピュータ・システムに関する。
【０００２】
【従来の技術】
一般的なコンピュータにおいて、データは、メモリ・コントローラによって割り当てられたアドレスにおいてハードディスク記憶装置、フロッピィディスクなどの外部記憶装置または不揮発性メモリに格納されており、使用する際にアドレスを指定して読み出され、ＣＰＵによって演算処理される。
【０００３】
自動車のＥＣＵ、生産工程管理のコンピュータなどにおいては、演算のベースとなるデータを変更する必要を生じることが多い。たとえば、自動車のエンジンを制御するＥＣＵは、燃料噴射量を算出するベースとなるデータ、空燃比を制御するベースとなるデータ、スロットルの開度を制御するベースとなるデータなど大量のデータを不揮発性のメモリに格納しており、自動車各部のセンサから入力されてくるパラメータに応答しエンジン各部のアクチュエータに送る制御値を上記データに基づいて算出している。開発段階においてはこれらのデータは実験に基づいて頻繁に書き替えられる。
【０００４】
この場合、一般的にはプログラム中で定義されているデータが格納されている領域のアドレスをアクセスして、そのアドレスのデータを書き換えるという方法がとられている。
【０００５】
【発明が解決しようとする課題】
このような一般的な方法においては、データを外部から変更するには、そのデータのメモリ・アドレスを知らねばならないため、データ変更に手間取るという問題があった。また、プログラムをバージョンアップし、新しいプログラムで旧データを継続して使用しようとすると、新しいプログラムでも旧データのアドレスを使用しなければならないため、プログラムのバージョンアップ作業が複雑になり、多くのバグを発生させる原因となった。
【０００６】
この発明は、これらの問題を解決しようとするものである。
【０００７】
【課題を解決するための手段】
上記の課題を解決するため、請求項１のコンピュータ・システムは、名称と１つまたは複数のデータとの組み合わせでデータを格納する記憶手段と、名称によって前記記憶手段を検索する関数を含む、コンピュータで実行可能なプログラムを格納するメモリ手段と、を有し、前記プログラムの初期化に際し、前記関数を実行することにより前記名称により前記記憶手段を検索して前記データのアドレスを読み取るという構成をとる。
【０００８】
請求項１の発明によれば、記憶手段に格納されたデータは名称との組み合わせで格納され名称によって検索されるので、データのアドレスを知らなくても、データの名称を指定することによって外部からデータを変更することができる。また、プログラムのバージョンアップないし変更の際にデータのアドレスに注意を払う必要がなく旧データの名称を使用してプログラムすることにより旧データを継続して使用することができる。
【０００９】
さらにあるプログラムのサブルーチンなどプログラムの一部を構成する部分的なプログラムであるプログラム・モジュールをその記述に変更を加えることなく別のプログラムに移植することができる。この場合、プログラム・モジュールが使用する変数には、移植先のプログラムの初期化部で該変数に関連して定義される、名称によって記憶手段を検索する関数を用いて記憶手段から読み取られるデータが割り当てられる。
【００１０】
なお、この明細書でいうデータとは、コンピュータ・システムがメモリに格納し、読み出すことができるコードをいい、プログラム・コードもコンピュータがメモリに格納し読み出しまたは転送する対象となるときはデータに含まれる。また、データの名称とは、データにつけられた名前、名札、ラベルなどデータを識別する識別子をいう。
【００１１】
請求項２に記載のコンピュータ・システムは、前記アドレスは、前記コンピュータ・システムの一時記憶領域に記憶され、プログラム実行時には、前記関数を呼び出す変数に関する演算は該変数に関連する前記アドレスを用いて記憶手段をアクセスすることによって実行されるという構成をとる。
【００１２】
請求項２の発明によれば、プログラムの実行時にはデータのアドレスが一時記憶領域に読み込まれており、このアドレスを用いて記憶手段をアクセスするのでプログラムの実行速度を低下させることなく請求項１の発明を実施することができる。
【００１３】
請求項３に記載のコンピュータ・システムは、外部から名称と１つまたは複数のデータとの組み合わせが供給されることに応答して、該名称により前記記憶手段を検索し、一致する名称に関連するデータを前記供給されたデータで書き替えるという構成をとる。
【００１４】
請求項３の発明によると、記憶装置におけるデータのアドレスを知ることなくデータの名称を用いてデータを外部から変更することができる。
【００１５】
請求項４のコンピュータ・システムは、名称と１つまたは複数のデータとの組み合わせデータを格納する外部記憶手段と、名称によって前記外部記憶手段を検索する関数を含む、コンピュータで実行可能なプログラムを記憶するメモリ手段と、前記プログラムの初期化に際し、前記関数を実行することにより前記名称により前記外部記憶手段を検索して読み出したデータを記憶する第１の記憶手段と、を備え、前記プログラムの実行時には、前記関数を呼び出す変数に関する演算は該変数に関連する前記第１の記憶手段のアドレスを用いて該第１の記憶手段をアクセスし該変数に関連するデータを読み出して実行するという構成をとる。
【００１６】
請求項４の発明によると、プログラムの初期化の際に外部記憶手段からこのプログラムが使用する変数に関連するデータがその名称の検索により第１の記憶手段に読み込まれ、プログラムの実行時には第１の記憶手段のアドレスによりデータが読み出されるので、プログラムのバージョンアップないし変更の際にデータのアドレスに注意を払う必要がなく旧データの名称を使用してプログラムすることにより旧データを継続して使用することができる。また、データのアドレスを知らなくても、データの名称を指定することによって外部からデータを変更することができる。
【００１７】
請求項５のコンピュータ・システムは、請求項４のコンピュータ・システムにおいて、前記外部記憶手段が接続されていないときは、前記プログラムの初期化時に、前記変数に関連して前記第１の記憶手段に記憶されたデータのアドレスを、該変数にセットするという構成をとる。
【００１８】
請求項５の発明によると、外部記憶装置を着脱可能とし、プログラムのインストール時に外部記憶装置を接続してデータを第１の記憶手段に読み込ませ、その後は外部記憶装置をはずしてコンピュータ・システムを使用するという形態が可能になる。また、データ変更は、外部記憶装置を別のコンピュータを用いて書き換えて再度接続し当該コンピュータ・システムの第１の記憶手段に読み込ませるか、あるいは新しく作成された外部記憶装置を接続して第１の記憶手段に読み込ませることによって行うことができる。
【００１９】
請求項６に記載の記録媒体は、名称と１つまたは複数のデータとの組み合わせでデータを格納する記憶装置から、前記データを名称によって検索する関数を含み、初期化に際し、前記関数を実行することにより前記名称により前記記憶装置を検索して前記データのアドレスを前記関数を呼び出す変数にセットする処理を行う、コンピュータで実行可能なプログラムを記録したという構成をとる。
【００２０】
請求項６の発明によると、データをその名称によって検索する関数を含み、初期化に際してこの関数を実行することによりデータのアドレスを読み取るので、データのアドレスに関する知識を要することなくデータを変更することが可能になる。
【００２１】
【発明の実施の形態】
次に図面を参照してこの発明の実施の形態を説明する。図１は、この発明を自動車のＥＣＵに使用する一実施例の全体的構成を示すブロック図である。
【００２２】
エンジン制御用の電子制御装置（ＥＣＵ）１０は、プログラムを格納したメモリ手段であるＲＯＭ（読み取り専用メモリ、ＲＯＭ：Read Only Memory）１１、並びに空燃比制御用のデータおよびスロットル開度制御用のデータなどエンジンの制御に必要なデータを記憶する書き換え可能の第１の記憶手段である第１メモリ１２を備えている。第１メモリ１２は、ＥＥＰＲＯＭなどの書き換え可能な不揮発性メモリを用いるのが好ましいが、電源オフ時にバックアップをとる機能を備えていればその他のメモリを使用してもよい。また、ここでは、プログラムをＲＯＭ１１に格納しているが、プログラムを第１メモリ１２と同様の不揮発性メモリに格納することも可能で、この場合は一体的な不揮発性メモリにプログラムとデータの両方を格納してもよい。
【００２３】
ＥＣＵ１０は、プログラムを実行するＣＰＵ１４およびプログラムの実行時に各種の変数を一時記憶し、ＣＰＵ１４による演算の作業メモリ領域（一時記憶領域）を提供するランダム・アクセス・メモリ（ＲＡＭ）である第２メモリ１５を備えている。また、ＥＣＵ１０は、パーソナルコンピュータなどの外部機器１８と通信する通信ポート１３を備えており、外部機器のデータファイルから第１メモリ１２にデータを書き込みまたは第１メモリのデータを変更することができるようになっている。
【００２４】
ＥＣＵ１０に備えられるＩ／Ｏ部１６は、自動車の各部に設けられたセンサからの感知データを取り込み、ＥＣＵ１０での演算結果に基づく制御信号を自動車各部のアクチュエータに送るインターフェイス部である。センサの典型的な例は排気系に設けられて排気ガスの空燃比を感知する空燃比センサであり、アクチュエータの典型的な例は、燃料をエンジンの吸気系またはエンジンシリンダ内に噴射するインジェクタの噴射弁を制御するソレノイドである。
【００２５】
この発明のもう一つの実施形態では、ＥＣＵは外部記憶装置１７に接続可能で外部記憶装置からデータを第１メモリ１２に読み込んで使用する。外部記憶装置１７は、典型的にはパーソナルコンピュータの分野で使用されるメモリカード、フロッピィ・ディスク、ハードディスク装置などである。外部記憶装置１７が接続されると、ＲＯＭ１１に格納されているプログラムに従ってＣＰＵ１４が必要なデータを外部記憶装置１７から読み取って第１メモリ１２に格納する。
【００２６】
図２（Ａ）は、この発明の一つの実施形態におけるプログラムと第１メモリ１２との関係を示すブロック図で、動作プログラム部２０は、初期化部２１と実行部２２に分けられる。プログラムの実行に必要なデータの読み出しおよび一時記憶は、データ管理部２３が制御する。不揮発性メモリである第１メモリ１２には、例としてＡＢＣという名称（名前、名札、ラベル）のデータ１２、ＢＢＣという名称のデータ２２、ＣＣＣという名称のデータ２３が名称と組み合わせで格納されている。
【００２７】
Ｃ言語で書かれた次のプログラムを例にこの図２の実施形態を説明する。
【００２８】
【表１】
0004015313.tif 000002
【００２９】
表１において、SHORTからγ=func_get("CCC")までは、プログラムの初期化部で、このプログラムで使用する変数を宣言する。SHORTは、データ型を示し、変数αが１６ビットの短整数であることを宣言する。データ型の宣言には、文字型を示すCHAR、実数型を示すFLOAT、倍長実数型を示すDOUBLEなどあり、このデータ型の宣言にしたがってデータ管理部２３の第２メモリ１５にその変数のための記憶領域が割り当てられる。変数α、βおよびγの前に*印を付けた*α、*βおよび*γは、変数α、βおよびγに対応するデータのメモリ・アドレスを格納する記憶領域を宣言するポインタ変数である。γ[10]は、変数γの配列の数が１０であることを示す。
【００３０】
α=func_get("ABC")は、データ名称ABCを検索キーとしてデータ・メモリである第１メモリ１２から変数αのデータが格納されているアドレスを読み出す関数である。同様にβ=func_get("BBC")は、データ名称BBCを検索キーとして第１メモリから変数βのデータが格納されているアドレスを読み出す関数であり、γ=func_get("CCC")は、データ名称CCCを検索キーとして第１メモリから変数γのデータの配列が格納されている最初の要素番号のデータのアドレスを読み出す関数である。
【００３１】
いま、表１に示すプログラムが読み出されると、初期化部に応答してデータ管理部の第２メモリ１５に変数α、βおよびγのアドレスを記憶するメモリ領域が割り当てられ、アドレス読み出し関数が実行されて変数α、βおよびγの第１メモリにおけるアドレスがデータ管理部２３の第２メモリ１５に記憶される。図２には、アドレス読み出し関数α=func_get("ABC")によって、名称ABCの変数のデータが格納されている第１メモリ１２のアドレス1003Hが読み出されてデータ管理部２３に記憶される状態が示されている。
【００３２】
続いてプログラムは、実行部に入り、if(*α>10)の記述に応答して、データ管理部は、ポインタ変数*αに応答してメモリ・アドレス1003Hを用いて第１メモリをアクセスし、そのアドレスに格納されているデータ値１２をプログラム実行部２２に返す。いま、変数αのデータ値が１２で１０より大きいので処理Ａを実行する。処理Ａは、Ｃ言語で記述されたプログラムであり、ここでは簡単のため単に処理Ａで示す。実際のプログラムは数行から数十行にわたって記述されるのが一般的であり、プログラム実行部は、変数αと同様にその他の変数のデータを第１メモリから取り出してプログラムを実行する。
【００３３】
図２（Ｂ）は、第１メモリ１２におけるデータの格納態様を模型的に示すもので、名称（ラベル）ABCに続いてデータ値１２がアドレス1003Hに、名称BBCに続いてデータ値２２がアドレス1008Hに、名称CCCに続いて１０の値の配列の最初の要素番号のデータがアドレス100AHに格納され、これに続いてそれぞれ次のアドレスに次のデータが格納されていることが示されている。データ名称には開発エンジニアがデータの名称として実際に使用する名称またはその略号を使用することが好ましい。
【００３４】
図３は、変数αについて上記の働きをフローチャートで表したもので、ポインタ変数αを定義し（101）、第１メモリ１２からラベル"ABC"を検索し（102）、一致するラベルを見つけると（103）、第１メモリ１２からラベル"ABC"のデータが格納されているアドレス1003Hをポインタαに入れる（104）。この処理を定義されたすべてのポインタ変数について実行してからプログラムの実行に移る。
【００３５】
図４（Ａ）はデータを変更する形態を示す。いま、エンジン制御用のＥＣＵ１０が使用しているたとえば名称ABCのデータを変更したいときには、ＥＣＵ１０の通信ポート１３にパソコンなどの外部機器１８を接続し、名称ABCのデータを３３に設定するデータ設定関数func_set("ABC", 33)をＥＣＵ１０に送る。ＥＣＵ１０のデータ管理部２３がこれに応答して名称"ABC"を検索キーとして第１メモリ１２を検索し、一致した名称"ABC"に関連する記憶領域に３３を書き込む。このようにして、ＥＣＵ１０が使用するデータを、ＥＣＵ１０の実行プログラムに変更を加えることなく、かつデータがプログラム内でどのような変数で定義されているかに関係なく、外部から変更することができる。図４（Ｂ）は、名称ABCとの組み合わせでアドレス1003Hに格納されていたデータ値１２がデータ設定関数func_set("ABC", 33)によって３３に変更される態様を模式的に示している。
【００３６】
図５は、データ変更処理の流れを示すフローチャートで、パソコンなどのデータ設定機器からＥＣＵにラベル"ABC"とデータ３３が送信されてくると（201）、第１メモリ１２においてラベル"ABC"を検索し（202）、一致するラベルがあれば（203）、データ領域のラベル"ABC"のデータ格納領域に３３を上書きする（204）。
【００３７】
先に述べたようにこの発明によると、あるプログラムのサブルーチンなどプログラムの一部を構成する部分的なプログラムであるプログラム・モジュールをその記述に変更を加えることなく別のプログラムに移植することができる。この場合、プログラム・モジュールが使用する変数には、移植先のプログラムの初期化部で該変数に関連して定義されるアドレス読み出し関数を用いて記憶手段から読み取られるデータが割り当てられる。このことを次の表２および表３を参照して説明する。
【００３８】
【表２】
0004015313.tif 000003
【００３９】
表２は、所与のプログラム１００のモジュール３の記述を示す。このモジュールではデータ名称CCCのデータを読み出してその値に１／２をかけて記憶装置に入れ戻す処理を行っている。いま、このモジュール３を別のプログラム２００に移植するには、次の表３に示すようにモジュール３をそのままプログラム２００にコピーし、使用対象となるデータの名称BBCをfunc_get関数にセットする。移植されたモジュール３は、移植先のプログラムの初期化部で定義されるfunc_get関数にしたがって記憶手段から読み出される名称BBCのデータに対して処理を実行する。
【００４０】
【表３】
0004015313.tif 000004
【００４１】
このようにこの発明によると、変数が直接データまたはデータの記憶場所を示すのではなく、データ名称をキーとして記憶手段を検索するアドレス読み出し関数を介してデータに関連づけられるので、データまたはその格納場所を気にすることなくプログラム・モジュールをそのまま他のプログラムにコピーして使用することができる。プログラム・モジュールの初期化部と実行部とを別ファイルにしておけば、実行部だけを他のプログラムに移植し、移植先のプログラムの初期化部の設定に従って実行部が走るようにすることができる。
【００４２】
図６（Ａ）は、この発明の第２の実施形態を示す機能的なブロック図で、図１および図２（Ａ）と共通の要素は同じ参照番号で示してある。ハードウェア的に図２（Ａ）の実施形態と異なる点は、外部記憶装置１７が接続されている点である。外部記憶装置１７は、ハードディスク装置、フロッピィディスク、メモリカードなどで、ＥＣＵ１０に取り外し可能に接続することができるものが好ましいが、コンピュータ部分が自動車のエンジンルームに搭載されるＥＣＵ１０ではなく、一般的なコンピュータである実施形態においては、必ずしも取り外し可能である必要はなく、常時接続されたままであってもよい。
【００４３】
図６（Ａ）の実施形態では、データはその名称との組み合わせで外部記憶装置１７に格納されている。表１に示したプログラムを例に説明すると、図２（Ａ）の実施形態の場合と同様に、プログラムの初期化プロセスでそれぞれの変数について読み出し関数func_getが実行される。いま、関数func_get("ABC")を例にとると、データ管理部２３は、この関数に応答してデータの名称ABCを検索キーとして外部記憶装置１７の記憶領域を検索し、名称ABCに対応するデータの値３３を読み出し、ＥＣＵ１０内の第１メモリ１２に格納し、その格納場所のアドレス1000Hをデータ管理部の一時記憶メモリである第２メモリに記憶するとともに動作プログラム部にポインタ変数αが示すアドレスとして返す。プログラム実行部２２は、プログラム実行中にに変数αの値が必要になるとポインタ変数が示す第１メモリのアドレス1000Hをアクセスしてデータの値３３を読み出して変数αに代入する。
【００４４】
図６（Ｂ）は、第１メモリ１２におけるデータの格納形態を示し、外部記憶装置１７に格納されていたデータの値３３、２２および２３が第１メモリのアドレス1000H、1001Hおよび1002Hにそれぞれ格納されている。この場合、外部記憶装置に格納されていたデータの名称（ラベル）は、第１メモリには格納されない。
【００４５】
このようにプログラムの初期化が終わりプログラムが定義する変数に対応するデータが第１メモリに格納された後は、外部記憶装置１７をアクセスする必要がなく、高速の第１メモリをポインタ変数が示すアドレスによってアクセスしながらプログラムが実行されるので、大容量の外部記憶装置を利用しながら高速でプログラムを実行することができる。また、プログラムの初期化終了後は外部記憶装置１７を取り外してもプログラムを実行することができる。また、この実施形態においては、外部記憶装置１７を外部のパソコンに接続してデータを書き替えた後、この外部記憶装置１７をＥＣＵ１０に接続してプログラムの初期化を実行することにより、使用するデータの変更を行うことができる。
【００４６】
また、ＥＣＵ１０の開発時には外部記憶装置１７を接続した形態で使用し、製品の量産段階では外部記憶装置１７をはずした形態を用いることができる。さらに、外部記憶装置１７に替えて通信手段からデータを取り込むことも可能である。
【００４７】
図７は、図６の実施形態のプロセスの流れを示すフローチャートである。プログラムの初期化部２１において*αその他のポインタ変数が定義され（301）、定義されたデータ型にしたがってデータ管理部２３の第１メモリ１５に変数を記憶するための記憶領域が割り当てられる。次いで変数αに関連して定義された読み出し関数func_get("ABC")が実行され、データの名称ABCをキーとして外部記憶装置１７が検索される（302）。一致するラベルがあると（303）、外部記憶装置１７からラベルABCに対応するデータ３３が読み出され（304）、第１メモリ１２に記憶され（305）、その記憶位置のアドレス1000Hがデータ管理部２３に返される（306）。こうしてポインタ変数αに変数αのデータを記憶する第１メモリのアドレスがセットされる。
【００４８】
所与のプログラムで使用するすべての変数について同様の処理が完了すると、プログラムは初期化を終えて実行部２２に移る。この段階ではすべての変数に対応するデータが第１メモリに記憶されており、ポインタ変数には第１メモリのアドレスがセットされている。したがって、プログラムの実行部２２は第１メモリをアドレスを用いてアクセスしてプログラムを実行するので、高速にプログラムを実行することができる。
【００４９】
図８は、図６の実施形態のものから外部記憶装置１７を取り外した状態を示す。一旦プログラムの初期化が完了するとプログラムが使用する変数のデータは第１メモリに記憶されている。第１メモリとしてＥＥＰＲＯＭなどの不揮発性メモリまたはバックアップ機能付きのメモリを使用し、データ管理部のメモリに記憶したポインタ変数とデータの第１メモリにおける記憶位置のアドレスとの対応関係もバックアップとして第１メモリに記憶させておけば、電源をオフにした後、再び電源をオンにする場合、外部記憶装置１７を使用することなくＥＣＵ１０だけでプログラムを立ち上げることができる。
【００５０】
図９はそのようなプロセスの流れを示すフローチャートで、プログラムの初期化部でポインタ変数が定義されている（401)。このＥＣＵ１０が開発段階のものであることを示すフラグが立っているかどうか点検し（406）、フラグが立っていれば判断ブロック402に移り、立っていなければ、すなわち量産用のＥＣＵであると判断されると、ブロック403に進む。
【００５１】
ブロック402で外部記憶装置１７が接続されているかどうかの点検が行われ、接続されていなければ、第１メモリ１２にコピーされたデータの記憶アドレスをポインタ変数にセットする（403）。すべての変数について同様の処理を行った後、プログラム実行部２２に移る。
【００５２】
ブロック402において、外部記憶装置１７が接続されていることが検出されると、外部記憶装置１７に格納されているデータの個数と前回の起動時のデータの個数とを比較し（404）、同じであればデータに変更はないものとみなし、改めてデータの読み取りを行うことなくステップ403に移る。データの個数に増減があるときは、データに変更があったことを意味するから、図６に関連して説明した形態で外部記憶装置１７から第１メモリ１２にデータの読み込みを行う（405）。
【００５３】
【発明の効果】
請求項１の発明によれば、記憶手段に格納されたデータは名称との組み合わせで格納され名称によって検索されそのアドレスがプログラムに返されるので、データのアドレスを知らなくても、データの名称を指定することによって外部からデータを変更することができる。
【００５４】
請求項２の発明によれば、プログラムの実行時にはデータのアドレスが一時記憶領域に読み込まれており、このアドレスを用いて記憶手段をアクセスするのでプログラムの実行速度を低下させることなく請求項１の発明を実施することができる。
【００５５】
請求項３の発明によると、記憶装置におけるデータのアドレスを知ることなくデータの名称を用いてデータを外部から変更することができる。
【００５６】
請求項４の発明によると、プログラムの初期化の際に外部記憶手段からこのプログラムが使用する変数に関連するデータがその名称の検索により第１の記憶手段に読み込まれ、プログラムの実行時には第１の記憶手段のアドレスによりデータが読み出されるので、プログラムのバージョンアップないし変更の際にデータのアドレスに注意を払う必要がなく、また、データのアドレスを知らなくても、データの名称を指定することによって外部からデータを変更することができる。
【００５７】
請求項５の発明によると、外部記憶装置を着脱可能とし、プログラムのインストール時に外部記憶装置を接続してデータを第１の記憶手段に読み込ませ、その後は外部記憶装置をはずしてコンピュータ・システムを使用するという形態が可能になる。
【００５８】
請求項６の発明によると、データをその名称によって検索する関数を呼び出す変数を含み、初期化に際してこの関数を実行することによりデータのアドレスを読み取るので、データのアドレスに関する知識を要することなくデータを変更することが可能になる。
【００５９】
以上にこの発明を自動車のＥＣＵを例にとって説明したが、この発明はこのような実施形態に限定されるものではなく、広くコンピュータの分野で利用することができる。
【図面の簡単な説明】
【図１】この発明の一実施例の電子制御装置の全体的構成を示すブロック図。
【図２】（Ａ）はこの発明の一実施形態における機能的な連携を示すブロック図であり、（Ｂ）は記憶装置におけるデータの記憶形態を示す図である。
【図３】図２の実施形態におけるプロセスの流れを示すフローチャート。
【図４】（Ａ）は図２の実施形態において、記憶装置のデータを変更する形態を示すブロック図であり、（Ｂ）は記憶装置においてデータが変更される態様を示す図である。
【図５】図４の実施形態におけるプロセスの流れを示すフローチャート。
【図６】（Ａ）はこの発明のもう１つの実施形態を示すブロック図であり、（Ｂ）は第１メモリにおけるデータの記憶態様を示す図である。
【図７】図６の実施形態におけるプロセスの流れを示すフローチャート。
【図８】図６の実施形態から外部記憶装置を取り外した形態を示すブロック図。
【図９】図８の実施形態におけるプロセスの流れを示すフローチャート。
【符号の説明】
１１      ＲＯＭ（メモリ手段）
１２      第１メモリ（記憶手段、第１の記憶手段）
１５      第２メモリ（一時記憶領域）
１７      外部記憶装置
２１      初期化部
２２      実行部
２３      データ管理部
【図１】
0004015313.tif 000005
【図２】
0004015313.tif 000006
【図３】
0004015313.tif 000007
【図４】
0004015313.tif 000008
【図５】
0004015313.tif 000009
【図６】
0004015313.tif 000010
【図７】
0004015313.tif 000011
【図８】
0004015313.tif 000012
【図９】
0004015313.tif 000013