(57)【要約】【課題】処理負荷増加を抑制しつつ、ソフトウェアの再利用性を向上できる制御ソフトウェアの部品化手法及び部品化ツールを提供する。【解決手段】ソフト部品１Ｃの外部での演算結果が格納されたメモリ上のアドレスが登録されるポインタテーブル２とともに、ポインタテーブル２に登録されたアドレスを介して演算結果を参照して、各種機器を制御する制御ソフトウェア１００の一部として機能するソフト部品１Ｃを制御ソフトウェアに組み込む。【選択図】図２
2010092215.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータを用いて各種機器を制御する制御ソフトウェアを機能毎に分割して成したソフト部品を組み込んで前記制御ソフトウェアを構成するソフト部品の組み込み方法において、
前記ソフト部品の外部での演算結果が格納されたメモリ上のアドレスが登録されるポインタテーブルと、
このポインタテーブルに登録された前記アドレスを介して前記演算結果を参照し、前記制御ソフトウェアの一部として機能する前記ソフト部品とを前記制御ソフトウェアに組み込むことを特徴とするソフト部品の組み込み方法。
【請求項２】
コンピュータを用いて各種機器を制御する制御ソフトウェアを機能毎に分割して成したソフト部品を前記制御ソフトウェアに組み込むときに用いられるソフト部品の部品化ツールであって、
前記ソフト部品内で外部演算結果を変数を介して参照している箇所を検出する手順と、
この手順で検出された箇所における前記外部演算結果の参照方法を、前記外部演算結果が格納されたメモリ上のアドレスを介するものに置換する手順とをコンピュータに実行させることを特徴とするソフト部品の部品化ツール。
【請求項３】
コンピュータを用いて各種機器を制御する制御ソフトウェアを機能毎に分割して成したソフト部品を前記制御ソフトウェアに組み込むときに用いられるソフト部品の組み込みツールであって、
前記ソフト部品内で外部演算結果を参照している変数を検出する手順と、
この手順で検出された変数の情報に基づいて前記外部演算結果が格納されたメモリ上のアドレスが登録されるポインタ変数を定義し、前記ソフト部品が前記外部演算結果を参照する際に用いられるポインタテーブルを作成する手順とをコンピュータに実行させることを特徴とするソフト部品の組み込みツール。
【請求項４】
コンピュータを用いて各種機器を制御する制御ソフトウェアを機能毎に分割して成したソフト部品を前記制御ソフトウェアに組み込むときに用いられるソフト部品の組み込みツールであって、
一の制御ソフトウェアのソフト部品が外部演算結果をメモリ上のアドレスを介して参照する際に利用する既存のポインタテーブル内に含まれる登録変数を抽出する手順と、
前記一の制御ソフトウェアのソフト部品が他の制御ソフトウェアに組み込まれたときに外部演算結果を参照する際に利用する変数であって、前記既存のポインタテーブル内から抽出された登録変数に対応する変数を変数変換リストから取得する手順と、
前記既存のポインタテーブルから抽出された登録変数を前記変数変換リストから取得された変数に置換することで、前記一の制御ソフトウェアのソフト部品が前記他の制御ソフトウェアに組み込まれた際に利用する他のポインタテーブルを前記既存のポインタテーブルから作成する手順とをコンピュータに実行させることを特徴とするソフト部品の組み込みツール。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は自動車や家電等の各種機器を制御する制御ソフトウェアへのソフト部品の組み込み方法、ソフト部品の部品化ツール及び組み込みツールに関する。
【背景技術】
【０００２】
自動車や家電等の種々の機器をコンピュータを使って制御するために用いられるソフトウェア（制御ソフトウェア）は、原則的には、各製品の商品性やシステム構成に応じて各々独自に開発する必要がある。しかし、ソフトウェアを各製品ごとに独自に開発していては、開発期間、工数、コストが膨大なものとなる。そのため、これまでは類似する製品でベースとなるソフトウェアをまず開発し、製品毎に異なる部分のみを差分として開発する手法が採られてきた。しかしながら、このような手法を採ってもなお、近年の製品数やソフトウェア規模の増大による開発期間、工数、コストの増加が問題となっており、このことが製品の品質にも影響を及ぼしている。
【０００３】
そこで、近年、新たなソフトウェア開発手法として、ソフトウェアの部品化による開発が提案されている。この手法は、ソフトウェアを機能毎に分割して部品化し、その部品（ソフト部品）の開発とソフトウェア全体の開発とを別々に行うものである。この手法におけるソフトウェアの開発は、その商品性やシステム構成に応じてソフト部品を統合するのみとなる。一方、ソフト部品の開発は、複数のソフトウェアに適用可能なかたちで開発する必要がある。このようなソフト部品の開発手法に関しては、制御基本ソフトウェアからソフト部品への実行命令や、ソフト部品間の変数の受け渡しなどを管理するインターフェースソフトをソフト部品毎に設けた開発ツールが提案されている（特許文献１等参照）。
【０００４】
【特許文献１】特開２００７−１０９２５２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記の開発ツールは、複数の製品に適用できるのでソフトウェアの再利用性を向上するものであるが、部品化による処理負荷の増加を避けることができない。
【０００６】
本発明の目的は、処理負荷増加を抑制しつつ、ソフトウェアの再利用性を向上できるソフト部品の組み込み方法、ソフト部品の部品化ツール及び組み込みツールを提供することにある。
【課題を解決するための手段】
【０００７】
（１）本発明は、上記目的を達成するために、コンピュータを用いて各種機器を制御する制御ソフトウェアを機能毎に分割して成したソフト部品を組み込んで前記制御ソフトウェアを構成するソフト部品の組み込み方法において、前記ソフト部品の外部での演算結果が格納されたメモリ上のアドレスが登録されるポインタテーブルと、このポインタテーブルに登録された前記アドレスを介して前記演算結果を参照し、前記制御ソフトウェアの一部として機能する前記ソフト部品とを前記制御ソフトウェアに組み込むものとする。
【０００８】
（２）本発明は、上記目的を達成するために、コンピュータを用いて各種機器を制御する制御ソフトウェアを機能毎に分割して成したソフト部品を前記制御ソフトウェアに組み込むときに用いられるソフト部品の部品化ツールであって、前記ソフト部品内で外部演算結果を変数を介して参照している箇所を検出する手順と、この手順で検出された箇所における前記外部演算結果の参照方法を、前記外部演算結果が格納されたメモリ上のアドレスを介するものに置換する手順とをコンピュータに実行させるものとする。
【０００９】
（３）本発明は、上記目的を達成するために、コンピュータを用いて各種機器を制御する制御ソフトウェアを機能毎に分割して成したソフト部品を前記制御ソフトウェアに組み込むときに用いられるソフト部品の組み込みツールであって、前記ソフト部品内で外部演算結果を参照している変数を検出する手順と、この手順で検出された変数の情報に基づいて前記外部演算結果が格納されたメモリ上のアドレスが登録されるポインタ変数を定義し、前記ソフト部品が前記外部演算結果を参照する際に用いられるポインタテーブルを作成する手順とをコンピュータに実行させるものとする。
【００１０】
（４）本発明は、上記目的を達成するために、コンピュータを用いて各種機器を制御する制御ソフトウェアを機能毎に分割して成したソフト部品を前記制御ソフトウェアに組み込むときに用いられるソフト部品の組み込みツールであって、一の制御ソフトウェアのソフト部品が外部演算結果をメモリ上のアドレスを介して参照する際に利用する既存のポインタテーブル内に含まれる登録変数を抽出する手順と、前記一の制御ソフトウェアのソフト部品が他の制御ソフトウェアに組み込まれたときに外部演算結果を参照する際に利用する変数であって、前記既存のポインタテーブル内から抽出された登録変数に対応する変数を変数変換リストから取得する手順と、前記既存のポインタテーブルから抽出された登録変数を前記変数変換リストから取得された変数に置換することで、前記一の制御ソフトウェアのソフト部品が前記他の制御ソフトウェアに組み込まれた際に利用する他のポインタテーブルを前記既存のポインタテーブルから作成する手順とをコンピュータに実行させるものとする。
【発明の効果】
【００１１】
本発明によれば、メモリ上のアドレスを介して外部演算結果を参照できるので、処理負荷増加を抑制しつつ、ソフト部品の再利用性を向上することができる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の各実施の形態を図面を用いて説明する。なお、ここでは、コンピュータを用いて自動車用変速機を制御する制御ソフトウェアに本発明を適用した例について説明する。
【００１３】
図１は本発明の第１の実施の形態に係る自動車用変速機の制御ソフトウェアの構成図である。  
この図に示す自動車用変速機の制御ソフトウェア１００は、ＯＳ及びＢＩＯＳと、複数のソフト部品１Ａ，１Ｂ，１Ｃ，１Ｄ，１Ｅを備えている。ＯＳはタスク管理や割り込み処理を管理しており、ＢＩＯＳは各センサからの入力処理やアクチュエータへの出力処理を行う。ソフト部品１Ａ〜１Ｅは、制御ソフトウェア１００を機能毎に分割して各々を部品化したものである。ソフト部品としては、変速パターン演算モジュール１Ａと、変速制御モジュール１Ｂと、締結要素制御モジュール１Ｃと、ライン圧制御モジュール１Ｄと、通信インターフェースモジュール１Ｅが備えられている。
【００１４】
変速パターン演算モジュール１Ａは、車両の走行状況やドライバの趣向に応じて変速のパターンを演算する部分である。変速制御モジュール１Ｂは、変速パターン演算モジュール１Ａで演算された変速パターンや車両の走行状況に応じて目標変速段を決定する部分である。締結要素制御モジュール１Ｃは、変速制御モジュール１Ｂで決定された目標変速段を実現するために、その目標変速段に基づいて締結要素を制御する部分である。ライン圧制御モジュール１Ｄは、締結要素を制御するための油圧の供給を制御する部分である。通信インターフェースモジュール１Ｅは、車両の動力源やブレーキ等の制御ソフトウェアと通信を介して情報をやり取りする部分である。
【００１５】
これらソフト部品の中でも、変速パターン演算モジュール１Ａや変速モジュール１Ｂは、車両のタイプや商品性、変速段の数によってその制御内容が異なるため複数の制御ソフトウェアで共用することは難しく、製品毎に用意する必要がある。これに対して、締結要素制御モジュール１Ｃは、複数の製品でその制御内容が大きく異なることがないため、共用できる可能性がある。そこで、本実施の形態では、この締結要素制御モジュール１Ｃを複数の製品における制御ソフトウェアで共用可能なかたちに部品化するものとする。次に、締結要素制御モジュール１Ｃを制御ソフトウェアに組み込む方法（ソフト部品の組み込み方法）について説明する。
【００１６】
図２は、本発明の第１の実施の形態に係る製品Ａ及び製品Ｂの制御ソフトウェアの構成図である。なお、先の図と同じ部分には同じ符号を付して説明を省略し、製品Ａの部分には添字「ａ」を、製品Ｂの部分には添字「ｂ」を付して表す（後の図も同様に扱う）。
【００１７】
この図に示す製品Ａの制御ソフトウェア１００ａには、締結要素制御モジュール１Ｃが、ポインタテーブル２ａとともに組み込まれている。また、製品Ｂの制御ソフトウェア１００ｂには、締結要素制御モジュール１Ｃが、ポインタテーブル２ｂとともに組み込まれている。ここで、製品Ａと製品Ｂに組み込まれた締結要素制御モジュール１Ｃは同一のもので、製品Ａと製品Ｂにおいて共用されている。なお、先に説明した他のモジュール１Ａ，１Ｄ，１Ｅ等の記載は省略する。
【００１８】
図３は、図２におけるポインタテーブル２ａの構成図である。この図に示すポインタテーブル２ａは、締結要素制御モジュール１Ｃの外部（本実施の形態では変速制御モジュール１Ｂａ）で演算された結果（外部演算結果）が格納されたメモリ（コンピュータに搭載されたＲＡＭ（Random Access Memory））上のアドレスが登録されるもので、宣言部２１と本体部２２を備えている。
【００１９】
宣言部２１は、ポインタ変数を要素とする構造体であることを宣言している。宣言部２１における「＊」記号は、これに後続する文字列がポインタ変数であることを宣言している。すなわち、本実施の形態では、「tGp_Adr」がポインタ変数として定義されている。このポインタ変数（tGp_Adr）には、下記のように、指定した変数のメモリ上のアドレスが代入される。
【００２０】
本体部２２中の「＆」記号は、これに後続する変数のメモリ上のアドレスを、宣言部２１で宣言したポインタ変数に代入することを示す演算子である。本実施の形態では、変速制御モジュール１Ｂａにおける変数「NxtGp」のメモリ上のアドレスがポインタ変数「tGp_Adr」に代入されている。
【００２１】
すなわち、ポインタテーブル２ａは、変速制御モジュール１Ｂａが演算した目標変速段（NxtGP）の値が格納されているメモリ上のアドレスを、締結要素制御モジュール１Ｃのために取得する機能を有している。また、ポインタテーブル２ａは、本体部２２における「＆」記号に続く変数名に変更するだけで、他の制御ソフトウェアの変速制御モジュール１Ｂに対応させることができる。例えば、ポインタテーブル２ａにおける「＆」以下の変数を「NxtGp」から「GpNext」に変更すれば、図２に示すように、製品部Ｂにおける変速制御モジュール１Ｂｂのポインタテーブル２ｂを作成できる。
【００２２】
図４は、図２における締結要素制御モジュール１Ｃの構成図である。この図に示す締結要素制御モジュール１Ｃは、ポインタテーブル２ａ（２ｂ）に登録されたアドレスを介して変速制御モジュール１Ｂａ（１Ｂｂ）の演算結果（外部演算結果）を参照し、制御ソフトウェアの一部として機能している。
【００２３】
この図において、「Input」とは締結要素制御モジュール１Ｃが参照するポインタテーブルの名称を示しており、本実施の形態ではポインタテーブル２ａの名称がこれに相当する。また、「Input」に後続する文字列（tGp_Adr）は、参照するポインタテーブルに登録されたポインタ変数を示している。締結要素制御モジュール１Ｃは、このポインタ変数に代入されているアドレスに格納されている値を利用し、締結要素を制御するための演算処理を行う。本実施の形態では、ポインタテーブル２に登録されたポインタ変数（tGp_Adr）がこれに相当し、締結要素制御モジュール１Ｃは、変数名を介することなく、アドレスのみを介して目標変速段（NxtGP）の値を参照して演算処理を行っている。
【００２４】
このように、本実施の形態の締結要素制御モジュール１Ｃは、ポインタテーブル２ａを介することによって、ポインタ変数に代入されたメモリ上のアドレスに基づいて変速制御モジュール１Ｂａの演算結果を参照している。
【００２５】
次に本実施の形態の効果について、従来の方法を参照しながら説明する。
【００２６】
図５は、製品Ａ及び製品Ｂの制御ソフトウェアに対して、締結要素制御モジュール１Ｃを組み込む従来の方法を示す図である。
【００２７】
この図に示す製品Ａの変速制御モジュール１Ｂａは、演算した目標変速段の変数名を「NxtGP」と定義しており、製品Ｂの変速制御モジュール１Ｂｂは、演算した目標変速段の変数名を「GpNext」と定義している。また、この図における締結要素制御モジュール１Cは、締結要素を制御する際に、変速制御モジュール１Ｂａ，１Ｂｂが演算した目標変速段（外部演算結果）を変数名（NxtGP，GpNext）を介して参照している。そのため、例えば、モジュール１Ｃ内における目標変速段の参照箇所を「NxtGP」と一旦作成してしまうと、製品Ａの制御ソフトウェアに組み込めても、参照する変数名を「GpNext」に変更しない限り製品Ｂの制御ソフトウェアに組み込むことができない。そのため、締結要素制御モジュール１Ｃを製品Ａと製品Ｂの間で効率良く共用することが難しかった。
【００２８】
これに対して、本実施の形態の制御ソフトウェア１００ａには、変速制御モジュール１Ｂａの演算結果（目標変速段）が格納されたメモリ上のアドレスが登録されるポインタテーブル２ａと、ポインタテーブル２ａに登録されたアドレスを介して目標変速段を参照し、締結要素を制御するための演算を行う締結要素制御モジュール１Ｃが組み込まれている。
【００２９】
このように構成された制御ソフトウェア１００ａにおいて、ポインタテーブル２ａは、変速制御モジュール１Ｂａが演算した目標変速段（NxtGp）が格納されたメモリ上のアドレスをポインタ変数（tGp_Adr）に代入する。そして、締結要素制御モジュール１Ｃは、ポインタテーブル２ａに登録されたポインタ変数（tGp_Adr）に代入されたアドレスを利用して目標変速段の値を参照し、締結要素制御に必要な演算処理を行う。このように締結要素制御モジュール１Ｃとともにポインタテーブル２ａを組み込むと、締結要素制御モジュール１Ｃを他の制御ソフトウェア（例えば、製品Ｂの制御ソフトウェア１００ｂ）に組み込む際に付随する手間を低減できる。
【００３０】
すなわち、上記のように外部演算結果をコンピュータのメモリ上のアドレスを介して参照するようにソフト部品を構成すると、ポインタテーブル２を差し替えるだけで複数の製品間で同一のソフト部品を共用できる。ソフト部品を共用するにさしあたり、差し替え用のポインタテーブル２を作成するには、本体部２２においてポインタ変数に代入する変数（「＆」記号に続く変数名）を変更すれば良いので、処理部分を変更することなくデータ変更のみで対応することができる。
【００３１】
ところで、目標変速段の他の参照方法としては、関数の引数による方法も一応考えられるが、この方法ではコンピュータへの処理負荷の増加を避けることができない。これに対し、本実施の形態によれば、ソフト部品の組み込みに際する処理負荷を抑制することができる。したがって、本実施の形態によれば、メモリ上のアドレスを介して他の機能の演算結果を参照できるので、処理負荷増加を抑制しつつ、ソフト部品の再利用性を向上することができる。
【００３２】
また、上記の例の締結要素制御モジュール１Ｃでは、外部演算結果の参照箇所が一箇所であったが、処理内容によっては参照箇所が多数となることがある。しかし、本実施の形態によれば、その場合でもポインタテーブル２の本体部２２の一箇所を変更するだけで対応できるので、制御ソフトウェアの開発効率の向上に大きく寄与することができる。
【００３３】
次に本発明の第２の実施の形態について説明する。  
第１の実施の形態で説明した方法を利用してソフト部品を制御ソフトウェアに組み込む場合には、そのソフト部品がポインタテーブル２を介して外部演算結果を参照するようにあらかじめ部品化しておく必要がある。しかし、一般的なソフト部品は、変数名を介して外部演算結果を参照していることが多い。そこで、本実施の形態では、コンピュータにこの変数による参照方法をポインタテーブル２を介した参照方法に自動変換させ、ソフト部品を他の製品と共用可能にするための部品化ツール（プログラム）について説明する。
【００３４】
図６は本発明の第２の実施の形態に係る部品化ツールの処理手順を示す図である。
【００３５】
この図に示す各手順を実行する部品化ツールでは、まず、対象とするソフト部品において、変数を参照している箇所を検出する手順を行う（６Ａ）。この手順では、例えば、ソースコードのｉｆ文や演算式の右辺にある変数は参照変数であることから、これらを条件として変数参照箇所を検出することができる。
【００３６】
手順６Ａで変数の参照箇所を検出した場合、その検出した変数がソフト部品の外部の演算結果（外部演算結果）を参照しているか否かを判定する手順を行う（６Ｂ）。この手順における判定は、その変数が、例えば、ソフト部品の関数中に更新箇所が無いものであるか、宣言の無いものであるか、または外部参照を宣言しているものであるか等を条件とすることができる。すなわち、この条件による峻別の結果、その変数が、更新箇所の無いもの、宣言の無いもの、または外部参照を宣言しているもの等である場合には、外部演算結果を参照しているものであると判定することができる。
【００３７】
検出した変数が外部演算結果を参照していると判定されたら、その参照方法をポインタテーブルを介したものに置換する手順を行う（６Ｃ）。図７はその置換方法の説明図である。
【００３８】
図７において、ソフト部品１C０は、外部演算結果である変数「NxtGp」を参照している。手順６Ｃの置換では、この「参照変数（NxtGp）」の部分を、「（１）ソフト部品１C０が参照するポインタテーブル名」と「（２）そのポインタテーブルにおけるポインタ変数」に置換する。図７に示す例では、「NxtGp」を「CLctr_Input.（ポインタテーブル名）」及び「 NxtGp_Adr（ポインタ変数）」に置換して、他の製品と共用可能なソフト部品１Ｃ１を作成している。
【００３９】
なお、図７に示した置換例は、ポインタテーブル名を「関数名_Input」とし、ポインタ変数名を「参照変数名_Adr」とする規則性を有している。このような規則性に基づいてポインタテーブル名にソフト部品の関数名を使用すると、ポインタテーブル２の名称をソフト部品固有のものとすることができ、また、ポインタ変数名に参照変数の名称を使用すると、参照したい変数を特定することができる。
【００４０】
手順６Ｃが終了したら、上記の手順６Ａから６Ｃを変数の参照箇所が検出できなくなるまで繰り返し、外部演算結果を参照する全ての箇所をポインタテーブル２を介した参照に変更する。
【００４１】
このように、上記の各手順をコンピュータに実行させるツールを用いると、ソフト部品における外部演算結果の参照方法をポインタテーブル２を介した方法に自動変換することができるので、ソフト部品を共用化する際に要する手間を軽減することができる。また、これにより、ソフト部品が組み込まれた制御ソフトウェアの開発効率を向上させることができる。
【００４２】
次に本発明の第３の実施の形態について説明する。  
第１の実施の形態で説明した方法を利用してソフト部品を制御ソフトウェアに組み込む場合には、ポインタテーブル２が必要になる。ところで、このポインタテーブル２に登録する変数が多い場合（すなわち、ソフト部品が参照する外部演算結果が多い場合）には、その作成工数も多くなってしまうのでポインタテーブル２の作成効率が低下する。そこで、本実施の形態では、この作業をコンピュータに自動的に実施させるソフト部品の組み込みツール（プログラム）について説明する。
【００４３】
図８は本発明の第３の実施の形態に係るソフト部品の組み込みツールの処理手順を示す図である。
【００４４】
この図に示す各手順を実行する組み込みツールでは、まず、ソフト部品において、変数を参照している箇所を検出する手順を行う（８Ａ）。この手順では、第２の実施の形態における手順６Ａ同様に、ソースコードのｉｆ文や演算式の右辺にある変数等を参照変数として検出することができる。
【００４５】
手順８Ａで変数の参照箇所を検出した場合、その検出した変数が外部演算結果を参照しているか否かを判定する手順を行う（８Ｂ）。この手順も、第２の実施の形態における手順８Ｂと同様の判定方法を利用することができる。
【００４６】
手順８Ｂで変数が外部演算結果を参照していると判定されたら、その参照変数の名称や型情報等に基づいてポインタ変数を定義し、当該ソフト部品に対応するポインタテーブル２を作成する手順を行う（８Ｃ）。図９はその作成方法の説明図である。
【００４７】
図９において、ソフト部品１Ｃ０は、外部演算結果である変数「NxtGp」を参照している。手順８Ｃでは、このソフト部品１Ｃ０における「参照変数」の名称（NxtGp）及び型情報（BYTE）に基づいて、まず、ポインタテーブル２の宣言部２１においてポインタ変数（NxtGp_Adr）を定義する。そして、さらに、本体部２２において当該参照変数のメモリ上のアドレスをポインタ変数に代入することを定義して、ソフト部品１C０に対応するポインタテーブル２を作成している。なお、図９に示した作成例では、予めポインタテーブルの雛形２０を用意しておき、そのポインタテーブルの名称を「関数名_Input_str」とし、ポインタ変数名を「参照変数名_Adr」とし、ポインタ変数の型情報を「参照変数の型」とする規則的な置換を行っている。このように雛形２０を利用して規則的な置換を行うと、ポインタテーブル２の作成効率をさらに向上させることができる。
【００４８】
手順８Ｃが終了したら、上記の手順８Ａから８Ｃを変数の参照箇所が検出できなくなるまで繰り返す。これにより、外部演算結果を参照する全ての変数に対し、その値が格納されたメモリ上のアドレスを自動的にポインタテーブル２に登録することができる。このように、本実施の形態によれば制御ソフトウェアの開発効率を向上させることができる。
【００４９】
次に本発明の第４の実施の形態について説明する。  
第１の実施の形態で説明した方法を利用してソフト部品を制御ソフトウェアに組み込む場合には、製品毎にポインタテーブル２を作成する必要がある。したがって、製品数やポインタテーブル２に登録する変数が多い場合、その作成工数も多くなってしまい開発効率が低下するおそれがある。そこで、本実施の形態では、このポインタテーブル作成作業をコンピュータに自動的に実施させるソフト部品の組み込みツール（プログラム）について説明する。なお、本実施の形態では、製品Ａのものとして既に存存するポインタテーブル２ａを製品Ｂのポインタテーブル２ｂに変換する例を扱う。
【００５０】
図１０は本発明の第４の実施の形態に係るソフト部品の組み込みツールの処理手順を示す図である。
【００５１】
この図に示す各手順を実行する部品化ツールでは、まず、入力手段（マウスやキーボード等）を介して、「（１）既にポインタテーブル２が存在する製品」と「（２）ソフト部品の新たな組み込み先となる製品」がオペレータによってコンピュータに入力されることを待機する手順を行う（１０Ａ）。ここでは、上記（１）の製品として製品Ａが、上記（２）の製品として製品Ｂがオペレータによって入力されたとする。
【００５２】
この入力手順１０Ａが完了すると、既存の製品のポインタテーブル２に含まれる登録変数を抽出する手順が行われる（１０Ｂ）。本実施の形態では、製品Ａのポインタテーブル２ａの登録変数として、まず、登録変数「NxtGp」が抽出される。
【００５３】
手順１０Ｂで既存のポインタテーブル２内の登録変数を抽出したら、手順１０Ａで選択した他の製品（本実施の形態では製品Ｂ）において、手順１０Ｂで抽出した登録変数に対応する変数名を変数変換リスト５０（図１１参照）から取得する手順が行われる（１０Ｃ）。
【００５４】
図１１は、本発明の第４の実施の形態に係る変数変換リスト５０を示す図である。この図に示す変数変換リスト５０は、製品ごとの変数が登録されたものであり、本実施の形態に係る部品化ツールを実行する前に予め作成されたものである。本実施の形態では、まず、手順１０Ｂで抽出された製品Ａの変数「NxtGp」と対応するものとして、製品Ｂの目標変速段の変数名「GpNext」が取得される。
【００５５】
手順１０Ｃが完了したら、手順１０Ｂで抽出された変数名を手順１０Ｃで取得された変数名に置換する手順が実行される（１０Ｄ）。本実施の形態では、ポインタテーブル２ａにおいて「NxtGp」と記載されている部分が、製品Ｂの変数名「GpNext」に置換される。
【００５６】
以下、上記手順１０Ａ〜１０Ｄを既存のポインタテーブル２に登録されている変数全てが抽出されるまで繰り返す。これにより、既存のポインタテーブル２に基づいて、新たにソフト部品を組み込む製品のポインタテーブル２を作成することができる。したがって、製品数やポインタテーブル２に登録する変数が多い場合でもその作成工程を低減できるので、ソフト部品を制御ソフトウェアに組み込む効率を向上することができる。
【図面の簡単な説明】
【００５７】
【図１】本発明の第１の実施の形態に係る自動車用変速機の制御ソフトウェアの全体構成図。
【図２】本発明の第１の実施の形態に係る製品Ａ及び製品Ｂの制御ソフトウェアの構成図。
【図３】本発明の第１の実施の形態に係るポインタテーブルの構成図。
【図４】本発明の第１の実施の形態に係る締結要素制御モジュールの構成図。
【図５】製品Ａ及び製品Ｂの制御ソフトウェアに対して締結要素制御モジュールを組み込む従来方法の図。
【図６】本発明の第２の実施の形態に係る部品化ツールの処理手順を示す図。
【図７】本発明の第２の実施の形態において外部演算結果の参照方法をポインタテーブルを介したものに置換する手順の説明図。
【図８】本発明の第３の実施の形態に係るソフト部品の組み込みツールの処理手順を示す図。
【図９】本発明の第３の実施の形態においてポインタテーブルを作成する手順の説明図。
【図１０】本発明の第４の実施の形態に係るソフト部品の組み込みツールの処理手順を示す図。
【図１１】本発明の第４の実施の形態に係る変数変換リスト。
【符号の説明】
【００５８】
１Ｂ      変速制御モジュール
１Ｃ      締結要素制御モジュール
２      ポインタテーブル
２０      雛形
２１      宣言部
２２      本体部
５０      変数変換リスト
１００      制御ソフトウェア
【図１】
2010092215.tif 000003
【図２】
2010092215.tif 000004
【図３】
2010092215.tif 000005
【図４】
2010092215.tif 000006
【図５】
2010092215.tif 000007
【図６】
2010092215.tif 000008
【図７】
2010092215.tif 000009
【図８】
2010092215.tif 000010
【図９】
2010092215.tif 000011
【図１０】
2010092215.tif 000012
【図１１】
2010092215.tif 000013