JP4934113B2 - 制御装置及びコンピュータプログラム - Google Patents

制御装置及びコンピュータプログラム Download PDF

Info

Publication number
JP4934113B2
JP4934113B2 JP2008200072A JP2008200072A JP4934113B2 JP 4934113 B2 JP4934113 B2 JP 4934113B2 JP 2008200072 A JP2008200072 A JP 2008200072A JP 2008200072 A JP2008200072 A JP 2008200072A JP 4934113 B2 JP4934113 B2 JP 4934113B2
Authority
JP
Japan
Prior art keywords
program
layer
execution
intermediate layer
programs
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.)
Expired - Fee Related
Application number
JP2008200072A
Other languages
English (en)
Other versions
JP2010079320A (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.)
Sumitomo Wiring Systems Ltd
AutoNetworks Technologies Ltd
Sumitomo Electric Industries Ltd
Original Assignee
Sumitomo Wiring Systems Ltd
AutoNetworks Technologies Ltd
Sumitomo Electric Industries Ltd
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 Sumitomo Wiring Systems Ltd, AutoNetworks Technologies Ltd, Sumitomo Electric Industries Ltd filed Critical Sumitomo Wiring Systems Ltd
Priority to JP2008200072A priority Critical patent/JP4934113B2/ja
Priority to PCT/JP2009/003582 priority patent/WO2010013461A1/ja
Priority to US12/994,988 priority patent/US20110098875A1/en
Priority to DE112009001877T priority patent/DE112009001877T8/de
Publication of JP2010079320A publication Critical patent/JP2010079320A/ja
Application granted granted Critical
Publication of JP4934113B2 publication Critical patent/JP4934113B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues

Description

本発明は、車輌に搭載された機器など多数の機器の制御を行うことができ、開発、拡張又は変更等の作業を容易に行うことができる制御装置及びコンピュータプログラムに関する。
従来、車輌には多種多様な電子機器(以下、車載機器という)が搭載され、車輌の高機能化が進んでいる。車輌の高機能化が進むほど車載機器の搭載数は増加するため、多数の車載機器を制御するためのECU(Electronic Control Unit)などの制御装置及びこの制御装置上で実行されるコンピュータプログラムは巨大化及び複雑化し、制御装置及びコンピュータの開発の困難化、開発期間の増大及び開発コストの増大等が生じるという問題があった。
特許文献1においては、アプリケーションプログラムの開発者の負担を軽減することができる車輌用制御プログラムが提案されている。この車輌用制御プログラムは、ハードウェアデバイスからの入力結果に基づくデータを他の処理に渡すデバイスドライバを含むプラットフォームプログラムと、プラットフォームプログラムの処理によって得られたデータに基づく処理を実行するアプリケーションプログラムと、プラットフォームプログラムの処理によって得られたデータをアプリケーションプログラムの処理に適合するように仲介する結合処理部とを備えている。結合処理部がプラットフォームプログラムのインタフェースとアプリケーションプログラムのインタフェースとの橋渡しを行い、アプリケーションプログラムの開発者はプラットフォームプログラムのインタフェースを意識する必要がないため、開発者の負担を軽減することができる。
特許文献2においては、複雑な大規模システム開発を行う際にも開発期間の短縮化が図れる車輌用ネットワークシステムが提案されている。この車輌用ネットワークシステムは、分散制御プラットフォーム構成を複数の階層に分けた基本構造で構築し、各階層で個別の役割を担う。即ち、インタフェースを提供するアプリケーション層と、リソースを一元管理するシステムインフラ層と、ハードウェアシステム全体を抽象化するハードウェア抽象化層とによって電子制御装置を構成する。
特許文献1及び特許文献2に記載の発明のように、近年では車載機器を制御するためのコンピュータプログラムを階層化することによって開発者の負担を軽減する試みがなされている。図8は、従来の階層化されたコンピュータプログラムの一構成例を示す模式図である。図示のコンピュータプログラムは、プラットフォーム層201、中間層202及びアプリケーション層203にて構成された3階層のプログラムである。プラットフォーム層201は複数のプログラム(図中ではPF1〜3と略示する)を有しており、各プログラムPF1〜3は車輌に搭載された各種のセンサ及びアクチュエータ等の車載機器を制御するプログラム(ドライバプログラムなど)である。同様に、アプリケーション層203は複数のプログラム(図中ではAP1〜3と略示する)を有しており、各プログラムAP1〜3は予め定められた要求仕様などに従って車載機器を動作させるためのプログラムである。
例えば、車輌に搭載されたセンサの検出値はプラットフォーム層201のプログラムPF1〜3にてデータ化されて中間層202へ与えられる。中間層202は、プラットフォーム層201から与えられたデータをアプリケーション層203に適するデータ形式に変換し、変換したデータをアプリケーション層203へ与える。アプリケーション層203のプログラムAP1〜3は、中間層202から与えられたデータに基づいて処理を行い、処理結果として車載機器への動作指示などのデータを中間層202へ与える。中間層202は、アプリケーション層203から与えられたデータをプラットフォーム層201に適するデータ形式に変換し、変換したデータをプラットフォーム層201へ与える。プラットフォーム層203のプログラムPF1〜3は、中間層202から与えられたデータに基づいてアクチュエータなどの車載機器の制御を行う。これらにより図示のコンピュータプログラムは、センサの検出値に応じてアクチュエータを動作させるなどの車載機器の制御を行うことができる。
このようなコンピュータプログラムにおいて、車載機器のハードウェア構成の変更などに伴ってプラットフォーム層201のプログラムPF1〜3が変更されるなどした場合であっても、中間層202に対する修正を行うのみでよく、アプリケーション層203のプログラムAP1〜3に対する修正を行う必要はない。また、異なる車種などにおいてプラットフォーム層201の構成が異なる場合であっても、アプリケーション層203に適した中間層202をプラットフォーム層201毎に用意することで、アプリケーション層203のプログラムAP1〜3を修正することなく異なる車種で動作させることができる。
特開2004−192541号公報 特開2006−142994号公報
しかしながら、図8に示した階層構造を有する従来のコンピュータプログラムは、データの授受については階層化されているが、各層のプログラムの起動及びそのスケジューリング等についてはいずれかの層のプログラムが一括して行っている。また例えば、アプリケーション層203のプログラムAP1を動作させるためにはプラットフォーム層201のプログラムPF1及びPF2が出力するデータが必要など、各層のプログラムの動作には依存関係がある。このため、各層のプログラムが変更されるなどした場合には、起動及びスケジューリング等を行うプログラムについては多大な修正を行う必要があり、コンピュータプログラムの開発が困難化するという問題があった。
また、車載機器の搭載数の増加に伴って、この制御を行うコンピュータプログラムは巨大化及び複雑化し、各層に含まれるプログラムの数も増加する。よってプログラムの動作に関する依存関係が複雑化し、コンピュータプログラムの開発がさらに困難化するという問題があった。特許文献1に記載の車輌用制御プログラム及び特許文献2に記載の車輌用ネットワークシステムについても、これらの問題を解決し得るものではない。
本発明は、斯かる事情に鑑みてなされたものであって、その目的とするところは、複数のプログラム(又はプログラム部品)で構成されたコンピュータプログラムにおいて、その一部のプログラムに修正又は変更等がなされた場合であっても、これに伴うプログラムの起動及びスケジューリング等に係る部分の修正又は変更等を最小限に抑えることができるコンピュータプログラム及びこれを備えて機器の制御を行う制御装置を提供することにある。
本発明に係る制御装置は、複数のプログラムをそれぞれ実行し、プラットフォーム層、中間層及びアプリケーション層の階層構造をなす複数の実行手段を備え、複数の動作条件のいずれかで動作し、プラットフォーム層及び中間層の間、並びに、中間層及びアプリケーション層の間でデータの授受を行って、前記動作条件に応じた機器の制御を行う制御装置において、各実行手段は、前記複数のプログラムの実行の可否を決定する実行可否決定手段をそれぞれ有し、前記プラットフォーム層、中間層及びアプリケーション層の階層構造外に設けられ、前記実行可否決定手段による前記可否の決定に係る前記動作条件を決定し、決定した前記動作条件を各実行可否決定手段へ与える動作条件決定手段を備え、前記動作条件には、各プログラムの実行可否を指定した情報を含まないことを特徴とする。
また、本発明に係る制御装置は、複数のプログラムをそれぞれ実行し、プラットフォーム層、中間層及びアプリケーション層の階層構造をなす複数の実行手段を備え、複数の動作条件のいずれかで動作し、プラットフォーム層及び中間層の間、並びに、中間層及びアプリケーション層の間でデータの授受を行って、前記動作条件に応じた機器の制御を行う制御装置において、各実行手段は、前記複数のプログラムの実行の可否を決定する実行可否決定手段と、該実行可否決定手段の決定した実行の可否に基づいて、前記複数のプログラムを実行させるスケジュールを管理する実行スケジュール管理手段とをそれぞれ有し、前記プラットフォーム層、中間層及びアプリケーション層の階層構造外に設けられ、前記実行可否決定手段による前記可否の決定に係る前記動作条件を決定し、決定した前記動作条件を各実行可否決定手段へ与える動作条件決定手段と、前記プラットフォーム層、中間層及びアプリケーション層の階層構造外に設けられ、前記実行スケジュール管理手段を動作させるスケジュールを管理し、各実行スケジュール管理手段へ動作指示を与える動作指示手段とを備え、前記動作条件には、各プログラムの実行可否を指定した情報を含まないことを特徴とする。
また、本発明に係る制御装置は、各実行手段が実行するプログラムが、他のプログラムの実行を必要とする場合に、前記実行スケジュール管理手段へ通知を行うようにしてあり、前記実行スケジュール管理手段は、前記通知が与えられた場合に、前記動作指示手段へ通知を行うようにしてあり、前記動作指示手段は、時間経過及び前記通知に応じて前記実行スケジュール管理手段を実行させるスケジュールを管理するようにしてあることを特徴とする。
また、本発明に係る制御装置は、前記動作条件決定手段が、各実行手段の動作状態を取得する動作状態取得手段と、取得した動作状態に応じて、前記機器の動作状態を変化させるべきか否かを判定する判定手段とを有し、前記機器の動作状態を変化させるべきと判定した場合に、動作条件を決定して各実行可否決定手段へ与えるようにしてあることを特徴とする。
また、本発明に係る制御装置は、前記動作条件決定手段が、前記機器の動作状態を変化させるべきと判定した場合に、決定した動作条件に応じて前記実行手段の動作を初期化する初期化手段を有することを特徴とする。
また、本発明に係るコンピュータプログラムは、複数のプログラム部品をそれぞれ含み、プラットフォーム層、中間層及びアプリケーション層の階層構造をなす複数のプログラム群を備え、コンピュータを複数の動作条件のいずれかで動作させ、プラットフォーム層及び中間層の間、並びに、中間層及びアプリケーション層の間で情報の授受を行って、前記コンピュータに前記動作条件に応じた機器の制御を行わせるコンピュータプログラムにおいて、各プログラム群は、コンピュータに、前記プログラム群に含まれる前記複数のプログラム部品の実行の可否を決定させる実行可否決定プログラム部品をそれぞれ含み、コンピュータに、前記実行可否決定プログラム部品による前記可否に係る前記動作条件を決定させるステップと、決定した前記動作条件を各プログラム群の前記実行可否決定プログラム部品へ与えさせるステップとを実行させる制御プログラムを、前記プラットフォーム層、中間層及びアプリケーション層の階層構造外に備え、前記動作条件には、各プログラム部品の実行可否を指定した情報を含まないことを特徴とする。
また、本発明に係るコンピュータプログラムは、複数のプログラム部品をそれぞれ含み、プラットフォーム層、中間層及びアプリケーション層の階層構造をなす複数のプログラム群を備え、コンピュータを複数の動作条件のいずれかで動作させ、プラットフォーム層及び中間層の間、並びに、中間層及びアプリケーション層の間で情報の授受を行って、前記コンピュータに前記動作条件に応じた機器の制御を行わせるコンピュータプログラムにおいて、各プログラム群は、コンピュータに、前記プログラム群に含まれる前記複数のプログラム部品の実行の可否を決定させる実行可否決定プログラム部品と、コンピュータに、前記実行可否決定プログラム部品が決定した可否に基づいて、前記プログラム群に含まれる前記複数のプログラム部品を実行させるスケジュールの管理を行わせる実行スケジュール管理プログラム部品とをそれぞれ含み、コンピュータに、前記実行可否決定プログラム部品による前記可否に係る前記動作条件を決定させるステップと、決定した前記動作条件を各プログラム群の前記実行可否決定プログラム部品へ与えさせるステップと、複数のプログラム群にそれぞれ含まれる前記実行スケジュール管理プログラム部品を実行させるスケジュールの管理を行わせるステップと、各プログラム群の前記実行スケジュール管理プログラム部品へ動作指示を与えさせるステップとを実行させる制御プログラムを、前記プラットフォーム層、中間層及びアプリケーション層の階層構造外に備え、前記動作条件には、各プログラム部品の実行可否を指定した情報を含まないことを特徴とする。
本発明においては、例えばプラットフォーム層、中間層及びアプリケーション層のように、一又は複数のプログラム又はプログラム部品(以下、単にプログラムという)をそれぞれ含む複数のプログラム群にてコンピュータプログラムを構成し、これをECUなどの制御装置にて実行する。これにより、一のプログラム群に変更又は修正等が生じた場合であっても、他のプログラム群に対する影響を抑えることができ、コンピュータプログラムの開発を容易化でき、制御装置の開発を容易化できる。
各プログラム群(実行手段)には、このプログラム群に含まれる一又は複数のプログラムを実行させるスケジュールの管理を行う実行スケジュール管理プログラム(実行スケジュール管理プログラム部品、実行スケジュール管理手段)をそれぞれ設ける。またコンピュータプログラムには、各プログラム群の実行スケジュール管理プログラムを動作させるスケジュールを管理し、スケジュールに従って各実行スケジュール管理プログラムへ動作指示を与える制御プログラム(動作指示手段)を設ける。
これにより、各プログラム群に含まれるプログラムのスケジューリングと、各プログラム群のスケジューリングとを別のプログラムが行うため、スケジューリングに関するコンピュータプログラムの階層化を実現できる。よって、一のプログラム群に変更又は修正等が生じた場合には、そのプログラム群の実行スケジュール管理プログラムに変更又は修正等を行えばよく、他のプログラム群に対して変更又は修正等を行う必要がない。
また本発明においては、プログラム群に含まれる一又は複数のプログラムの実行可否を決定する実行可否決定プログラム(実行可否決定プログラム部品、実行可否決定手段)を、各プログラム群にそれぞれ設ける。またコンピュータプログラムには、各プログラム群の実行可否決定プログラムが実行可否を決定するための動作条件を決定し、この動作条件を各実行可否決定プログラムへ与える制御プログラム(動作条件決定手段)を設ける。
これにより、各プログラム群にて実行されるプログラムが、制御プログラムが決定した動作条件に応じて制限されるため、複数のプログラム間の依存関係の複雑化が緩和され、複数のプログラムのスケジューリングなどを容易化できる。また、制御プログラムからの動作条件に基づいて各プログラム群の実行可否決定プログラムがプログラムの実行可否を決定するため、一のプログラム群に変更又は修正等が生じた場合には、そのプログラム群の実行可否決定プログラムに変更又は修正等を行えばよく、他のプログラム群に対して変更又は修正等を行う必要がない。
また、各プログラム群では、他のプログラム群からの入力データの変化及び/又は他のプログラム群への出力データの変化に伴ってイベントが発生し、これらのイベントに応じたプログラムを起動する必要が生じる。そこで本発明においては、各プログラム群に含まれるプログラムは、他のプログラム群からの入力データ又は他のプログラム群への出力データが変化してイベントが発生した場合に実行スケジュール管理プログラムへ通知を行う。実行スケジュール管理プログラムは、イベントの発生を更に制御プログラムへ通知する。制御プログラムは、所謂タイムシェアリングのための時間経過と、実行スケジュール管理プログラムからの通知とに応じて、各プログラムの実行のスケジューリングを行うことができる。
また、車載機器などの動作は例えば車輌が走行しているか否か、エンジンが動作しているか否か、又はイグニッションスイッチがオフされているか否か等に応じて変化し、制御装置にて実行される各プログラム群のプログラムの数及び種類等も変化させる必要がある。そこで本発明においては、制御プログラムが各プログラム群の動作状態を取得することによって、各プログラム群が制御する例えばエンジン又はイグニッションスイッチ等の機器の動作状態を監視する。これにより制御プログラムは、エンジン停止又はイグニッションスイッチのオフ等の発生を検出して、制御対象の機器の動作状態を変化させるべきか否かを判定することができる。
動作状態を変化させるべきと判定した場合、制御プログラムは変化させる動作状態に適した動作条件を決定して各プログラム群の実行可否決定プログラムへ動作条件を与える。これにより、各プログラム群で実行されるプログラムが変化し、制御対象の機器の動作状態を変化させることができる。
またこのときに、制御プログラムは各プログラム群の初期化処理(例えば、実行を終了させるプログラムが使用していたメモリなどのリソースの開放、及び実行を開始させるプログラムのためのリソースの確保等)を行う構成としてもよい。これにより、各プログラム群で共通して行う必要がある処理を制御プログラムにて行うことができ、各プログラム群の処理負荷を低減できる。
本発明による場合は、プログラムを実行させるスケジュールを管理する実行スケジュール管理プログラムを各プログラム群に設け、複数のプログラム群を有するコンピュータプログラムには各プログラム群の実行スケジュール管理プログラムを動作させるスケジュールを管理し、スケジュールに従って各実行スケジュール管理プログラムへ動作指示を与える制御プログラムを設ける構成とすることにより、各プログラム群に含まれるプログラムのスケジューリングと、各プログラム群のスケジューリングとをそれぞれ別のプログラムが行うことができるため、データの授受に関するコンピュータプログラムの階層化のみでなく、プログラムのスケジューリングに関するコンピュータプログラムの階層化を実現できる。
また、プログラムの実行可否を決定する実行可否決定プログラムを各プログラム群に設け、コンピュータプログラムには実行可否を決定するための動作条件を決定し各実行可否決定プログラムへ与える制御プログラムを設ける構成とすることにより、複数のプログラムの実行が制限されてプログラム間の依存関係の複雑化が緩和されると共に、実行可否に係る制御に関してコンピュータプログラムの階層化を実現できる。
よって、一のプログラム群に変更又は修正等が生じた場合であっても、他のプログラム群に対する変更又は修正を行う必要がなく、コンピュータプログラムの開発、修正及び変更等を容易に行うことができ、各プログラム層に含まれるプログラムの再利用性、移植性及び汎用性等を高めることができる。
以下、本発明をその実施の形態を示す図面に基づき具体的に説明する。図1は、本発明に係る制御装置の構成を示すブロック図である。図において1は、車輌に搭載された各種のセンサ5、アクチュエータ6及びその他の車載機器7の制御を行うECUであり、本発明に係る制御装置に相当するものである。ECU1は、センサ5、アクチュエータ6及びその他の車載機器7にケーブルを介して接続される入出力I/F(インタフェース)部11を備えており、入出力I/F部11がセンサ5、アクチュエータ6及び車載機器7との間で信号の授受を行って、センサ5から各種の検知結果を取得し、アクチュエータ6へ動作指示を与え、車載機器7とデータの授受を行うことができる。
またECU1は、各種の演算処理及びECU1内の各部の制御処理等を行うCPU(Central Processing Unit)12を備えている。入出力I/F部11は、センサ5の検知結果及びその他の車載機器7からのデータ等をCPU12へ与えると共に、CPU12からのデータをアクチュエータ6及びその他の車載機器7へ与える。CPU12は、ROM(Read Only Memory)14に予め記憶された車載機器制御プログラム(コンピュータプログラム)100を読み出して実行することにより、演算処理及び制御処理等を行い、処理過程にて発生した一時的なデータをRAM(Random Access Memory)13に記憶しながら処理を進める。
ROM14は、例えばマスクROM又はEEPROM(Electrically Erasable Programmable ROM)等の不揮発性のメモリ素子で構成され、車載機器制御プログラム100及びこのプログラムの実行に必要なデータ(図示は省略する)等が予め記憶されている。RAM13は、SRAM(Static RAM)又はDRAM(Dynamic RAM)等のメモリ素子で構成されている。
また、ECU1は、車輌に搭載されたその他の複数のECU3にCAN(Controller Area Network)などのネットワークを介して接続されており、ネットワークを介してその他のECU3とデータの送受信を行うための通信部15を備えている。ECU1は、通信部15にて他のECU3との間でデータの送受信を行うことによって、他のECU3に接続された車載機器からのデータを取得することができると共に、他のECU3に接続された車載機器の動作を制御することができる。
図2は、本発明に係る車載機器制御プログラム100のソフトウェア構成を示す模式図である。車載機器制御プログラム100は、プラットフォーム層101、中間層102及びアプリケーション層103の3つの階層(プログラム群)を備えるコンピュータプログラムである。プラットフォーム層101は、複数のプログラムPF1、2…を有している。プラットフォーム層101のプログラムPF1、2…は、ECU1の入出力I/F部11に接続されたセンサ5、アクチュエータ6及びその他の車載機器7を制御するプログラム、並びに通信部15による他のECU3とのデータの送受信をCANなどの規格に従って行うプログラム等である。プログラムPF1、2…は、センサ5及びその他の車載機器7等から取得したデータを中間層102へ与えると共に、中間層102から与えられる動作指示に従ってアクチュエータ6及びその他の車載機器7等の動作を制御する。
中間層102は、プラットフォーム層101及びアプリケーション層103の間に設けられ、プラットフォーム層101から与えられたデータを適切なデータ形式に変換してアプリケーション層103へ与えると共に、アプリケーション層103から与えられたデータを適切なデータ形式に変換してプラットフォーム層101へ与える処理を行う。中間層102は複数のプログラム(図中ではMP1、2…と略示する)を有しており、各プログラムMP1、2…が上記のデータ形式の変換を行う。
アプリケーション層103は、複数のプログラムAP1、2…を有している。アプリケーション層103のプログラムAP1、2…は、予め定められた要求仕様などに従って、センサ5及びその他の車載機器7等からプラットフォーム層101及び中間層102を介して与えられたデータに基づき、アクチュエータ6及びその他の車載機器7等の動作を決定する処理を行う。プログラムAP1、2…は、アクチュエータ6及びその他の車載機器7等に対する動作指示を出力データとして中間層102へ与える。
即ち、車輌に搭載されたセンサ5及び車載機器7等の出力は、ECU1にて実行される車載機器制御プログラム100のプラットフォーム層101のプログラムPF1、2…にてデータ化されて中間層102へ与えられる。中間層102のプログラムMP1、2…は、プラットフォーム層101から与えられたデータを、アプリケーション層103に適したデータに変換して、アプリケーション層103へ与える。アプリケーション層103のプログラムAP1、2…は、中間層102から与えられたデータを基に種々の演算処理を行ってアクチュエータ6及び車載機器7等の動作を決定する。
アプリケーション層103のプログラムAP1、2…は、アクチュエータ6及び車載機器7等に決定した動作を行わせるための動作指示を出力データとして中間層102へ与える。中間層102のプログラムMP1、2…は、アプリケーション層103から与えられたデータを、プラットフォーム層101に適したデータに変換して、プラットフォーム層101へ与える。プラットフォーム層101のプログラムPF1、2…は、中間層102から与えられたデータに基づいてアクチュエータ6及び車載機器7等の制御を行う。
このように車載機器制御プログラム100は、センサ5及び車載機器7等から取得したデータを3つの層の間で授受し、各層にてデータに対する処理を行うことによって、アクチュエータ6及び車載機器7等の動作を制御することができる。各層のプログラムの開発者は、他の層が内部で行うデータ処理について知る必要はなく、各層が入出力するデータについてのみ知ればよい。また、各層には複数のプログラムが含まれているが、例えば制御対象の機器毎、実行する処理毎又は扱うデータの種類毎等によりプログラムを適切に細分化することができる。また、各層内の複数のプログラムは、他のプログラムとのデータの授受を行って処理を進めることができる。
図3は、アプリケーション層103のプログラムAP1、2…の一例を示す模式図である。例えばアプリケーション層103には、ドアロックプログラム131、ライト制御プログラム132、ワイパー制御プログラム133、入力スキャンプログラム134、通信スキャンプログラム135、侵入者感知プログラム136、バッテリ警告プログラム137及び出荷検査プログラム138等の種々のプログラム(図2におけるプログラムAP1、2…に対応する)が含まれている。この例では、アプリケーション層103のプログラムAP1、2…を、制御対象の車載機器及びその機能に分けて設けてある。
ドアロックプログラム131は、車輌のドアに設けられたスイッチ又はユーザが所有する遠隔操作器等に対する操作に応じてドアのロック/アンロックを行うプログラムである。ライト制御プログラム132は、車輌の運転席近傍に設けられた点灯スイッチ又は光センサなどによる明るさの検知結果等に応じて車輌のヘッドライトなどの点灯/消灯を行うプログラムである。ワイパー制御プログラム133は、車輌の運転席近傍に設けられたスイッチ又は雨滴を検出するセンサの検知結果等に応じて車輌のワイパーを動作させるプログラムである。
入力スキャンプログラム134は、車輌のインストルメントパネルなどに配された各種のスイッチ又はタッチパネル等に対する入力操作の検出及び操作内容の判断等を行うプログラムである。通信スキャンプログラム135は、通信部15による他のECU3からのデータ受信の有無を判断し、データを受信した場合にはこのデータを必要とする他のプログラムへの通知を行うプログラムである。
侵入者感知プログラム136は、車輌に搭載された種々のセンサ5、例えば振動センサなどの検知結果を基に、車輌に対する侵入者の有無を判断するプログラムである。バッテリ警告プログラム137は、車輌のバッテリに蓄えられた電力の残容量を電流センサ及び電圧センサ等のセンサ5からのデータを基に判断し、電力の残容量が低下した場合に警告を行うプログラムである。出荷検査プログラム138は、車輌の製造工程の最終段階である工場出荷時において、車輌に搭載された車載機器が正常に動作するか否かを自動的に検査するプログラムである。
車載機器制御プログラム100は、複数のプログラムを含む3つの階層を備えているため、全体として多数のプログラムを備えている。しかし、ECU1に設けられたCPU12は1つであるため、1時点において実行できるプログラムは1つである。このため車載機器制御プログラム100は、多数のプログラムからCPU12にて実行するプログラムを選択すると共に、実行するプログラムの切り替えを行う処理、所謂スケジューリング処理を行う必要がある。
本発明に係る車載機器制御プログラム100は、スケジューリング処理を行うために、プラットフォーム層101、中間層102及びアプリケーション層103の各層には、スケジューラプログラム(以下、単にスケジューラという)110と、構造管理プログラム(図2においては単に”構造管理”と略示してある)111とがそれぞれ設けられている。また、車載機器制御プログラム100は、各層のスケジューラ110及び構造管理プログラム111の動作を制御する複数のプログラムを有するシステムマネージャ層104を備えている。
各層のプログラムは、同じ層の他のプログラム又は他の層から与えられるデータを基に処理を行うが、入力されるデータ又は出力するデータの変化に伴って他のプログラムを起動する必要があるイベントが発生した場合に、これを同じ層のスケジューラ110へ通知する。
各層のスケジューラ110は、内部にタイマを有しており(又は、車載機器制御プログラム100のいずれかに設けられたタイマから時間情報を取得してもよい)、同じ層の複数のプログラムを所定の経過時間毎に切り替えて実行すると共に、上述のようにプログラムからイベント発生の通知が与えられた場合にプログラムを切り替えて実行する。スケジューラ110は、所定の経過時間毎又はイベント発生の通知毎に、複数のプログラムから実行する一のプログラムを選択し、選択したプログラムを実行するが、複数のプログラムの実行順序についてはFIFO(First In First Out)方式のスケジューリング又は優先度を考慮したスケジューリング等の既存の種々のスケジューリング方式を利用して決定すればよい。また、各プログラムからイベント発生の通知が与えられた場合、スケジューラ110はシステムマネージャ層104に含まれるシステムスケジューラ143(詳細は後述する)へイベントの発生を通知する。
一方、車輌には多数の車載機器が搭載されており、車載機器制御プログラム100のプラットフォーム層101、中間層102及びアプリケーション層103の各層には多数のプログラムがそれぞれ含まれている。しかし、例えば車輌のセキュリティに関する車載機器などは車輌の走行中に動作する必要はなく、これを制御するためのプログラムを実行する必要はない。そこで、本発明に係る車載機器制御プログラム100は、各層の構造管理プログラム111が各プログラムの実行の可否をそれぞれ決定してスケジューラ110へ通知し、スケジューラ110が構造管理プログラム111にて許可されたプログラムのみを実行する。換言すれば、構造管理プログラム111は各層のプログラム構造を決定しており、スケジューラ110は決定されたプログラム構造に従ってスケジューリング処理を行っている。
図4は、構造管理プログラム111によるプログラムの実行可否の決定を説明するための模式図であり、図3に示したアプリケーション層103の構造管理プログラム111の場合の一例を図示してある。例えばECU1(及び車載機器制御プログラム100)は、車輌のエンジンが動作中の場合の通常動作モード、エンジンが停止中の場合の省電力モード、省電力モードにバッテリ残容量のチェック機能を追加したバッテリハザードモード、又は車輌の工場出荷時の検査を行う場合の工場出荷モードのいずれかにて動作する。
アプリケーション層103の構造管理プログラム111は、通常動作モードにおいてはドアロックプログラム131、ライト制御プログラム132及びワイパー制御プログラム133の実行を許可し、その他のプログラムの実行を禁止する。よって、アプリケーション層103のスケジューラ110は、通常動作モードにおいては上記の3つのプログラムのみのスケジューリングを行う。
同様に、構造管理プログラム111は、省電力モードにおいては入力スキャンプログラム134、通信スキャンプログラム135及び侵入者感知プログラム136のみ実行を許可し、バッテリハザードモードにおいては省電力モードで実行を許可するプログラムに加えてバッテリ警告プログラム137の実行を許可し、工場出荷モードにおいては出荷検査プログラム138のみ実行を許可する。
なお、アプリケーション層103の各プログラムが所謂オブジェクトとして構成されており、スケジューラ110が各プログラムに対応するオブジェクトの生成及び破棄を行うことができる場合には、構造管理プログラム111が実行を許可したプログラムに対応するオブジェクトを生成すると共に、実行が禁止されたプログラムに対応するオブジェクトを破棄する構成としてもよい。又は、構造管理プログラム111がオブジェクトの生成及び破棄を行い、構造管理プログラム111により生成されたオブジェクトの動作のスケジューリングをスケジューラ110が行う構成としてもよい。これらの場合、構造管理プログラム111の決定に応じて、アプリケーション層103のプログラム構造が変化する。
各層のスケジューラ110及び構造管理プログラム111は、その動作をシステムマネージャ層104により制御されている。システムマネージャ層104は、車載機器制御プログラム100においてプラットフォーム層101、中間層102及びアプリケーション層103とは独立して設けられており、各層のスケジューラ110及び構造管理プログラム111へ動作指示などを与えることができる。システムマネージャ層104は、システム監視プログラム(図2においては単に”システム監視”と略示してある)141、システム構造管理プログラム(図2においては単に”システム構造管理”と略示してある)142、システムスケジューラ143及び時間管理プログラム(図2においては単に”時間管理”と略示してある)144等の複数のプログラムを有している。
システム監視プログラム141は、プラットフォーム層101、中間層102及び/又はアプリケーション層103の動作状態を取得し、動作状態の変化を監視することによって、図4に示した通常動作モード、省電力モード、バッテリハザードモード及び工場出荷モード等の動作モードの変更を行うか否かを判定する。例えば、車輌のイグニッションスイッチの状態に関するデータを有するプログラムの動作状態を監視することで、システム監視プログラム141は車輌のエンジンが動作中であるか否かを判断することができ、通常動作モード又は省電力モードのいずれで動作させるべきかを判定することができる。
また例えば、車輌のインストルメントパネルに配されたスイッチなどの状態を取得するプログラムの動作状態を監視することで、システム監視プログラム141はバッテリの残容量低下に警告を行う機能のオン操作が行われたか否かを判断することができ、バッテリハザードモードで動作させるべきか否かを判定することができる。また例えば、ECU1の通信部15に係るプログラムの動作状態を監視することで、車輌のネットワークに工場出荷時の検査装置が接続されたことを判断することができ、工場出荷モードで動作させるべきか否かを判定することができる。
各層のプログラムの動作状態に基づいて動作モードの変更を行うと判定した場合、システム監視プログラム141は、取得したプログラムの動作状態を参照して、上述の4つのモードのうちのいずれの動作モードに変更するかを決定する。
システム構造管理プログラム142は、システム監視プログラム141により決定された動作モードを全ての層の構造管理プログラム111へ通知(動作条件の通知)すると共に、各層にて動作モード変更のための処理を行うよう構造管理プログラム111へ指示を与える。ここで、動作モード変更のための処理とは、例えば動作モード変更前に実行されていたプログラムのためのリソースの開放など、プログラムの実行を終了させるための処理(以下、後処理という)、並びに、動作モード変更後に実行するプログラムのためのリソースの確保及び設定など、プログラムの実行を開始させるための初期化処理(以下、前処理という)等である。
また、システム構造管理プログラム142は、各層の構造管理プログラム111に後処理及び前処理等を行わせると共に、動作モード変更に伴ってシステム全体で行う必要がある後処理及び前処理等を行う。このように、動作モード変更に伴う後処理及び前処理等を、システム構造管理プログラム142と、各層の構造管理プログラム111とがそれぞれ行う構成とすることにより、開発者は他層の構成を知ることなく各層の後処理及び前処理等を決定することができ、車載機器制御プログラム100の開発を容易化することができる。
システムマネージャ層104のシステム構造管理プログラム142から動作モード変更の通知を与えられた各層の構造管理プログラム111は、通知された動作モードに応じて各プログラムの実行の可否をそれぞれ決定し、スケジューラ110へ通知する。また、各層の構造管理プログラム111は、システムマネージャ層104のシステム構造管理プログラム142から与えられる後処理及び前処理等の指示に応じて、実行すると決定したプログラムに適した後処理及び前処理等を行う。これにより各層ではシステムマネージャ層104にて決定された動作モードに応じたプログラムが実行される。
システムスケジューラ143は、車載機器制御プログラム100のプラットフォーム層101、中間層102及びアプリケーション層103の3層からいずれか1つを選択し、選択した層のスケジューラ110へ動作指示を与えることによってこの層のプログラムを実行する、即ち3つの層のスケジューリングを行う。システムスケジューラ143は、各層のスケジューラ110からイベント発生の通知が与えられた場合、又は時間管理プログラム144から所定時間経過の通知が与えられた場合に実行する層の切り替えを行う。
時間管理プログラム144は、実行する層の切り替えを行う周期を管理するプログラムである。時間管理プログラム144は、一定の周期が経過する毎に、システムスケジューラ143へ時間経過を通知する。
本発明に係る車載機器制御プログラム100は、プラットフォーム層101、中間層102及びアプリケーション層103の3つの層の実行に関するスケジューリングをシステムマネージャ層104のシステムスケジューラ143が行い、各層に含まれるプログラムの実行に関するスケジューリングを各層のスケジューラ110が行う構成である。これにより、各層でのプログラムのスケジューリングを他の層のプログラムのスケジューリングから分離することができる。各層のスケジューラ110が行うスケジューリングの方法は、全ての層で同じ方法であってもよく、異なる方法であってもよい。
また、車載機器制御プログラム100は、システムマネージャ層104のシステム監視プログラム141が各層のプログラムの動作状態、即ち車載機器の動作状態を監視し、動作状態の変化に応じてシステム構造管理プログラム142が動作モードを決定して各層の構造管理プログラム111へ通知することによって、各層で実行するプログラムを変更する構成である。これにより、各層で不要なプログラムが動作することがなく、各層のスケジューラ110によるスケジューリングの負担を軽減できる。
次に、本発明に係る車載機器制御プログラム100の動作をフローチャートを用いて説明する。図5及び図6は、システムマネージャ層104が行う処理の手順を示すフローチャートである。まず、システムマネージャ層104は、システム監視プログラム141の実行により、プラットフォーム層101、中間層102及びアプリケーション層103の動作状態を取得し(ステップS1)、取得した動作状態に基づいて動作モードの変更を要するか否かを判定する(ステップS2)。動作モードの変更を要しない場合(S2:NO)、システムマネージャ層104は以下のステップS3〜S8の処理を行うことなく、ステップS8の処理へ進む。また、動作モードの変更を要する場合(S2:YES)、システムマネージャ層104は、変更する動作モードをシステム監視プログラム141にて決定する(ステップS3)。
次いで、システムマネージャ層104は、システム構造管理プログラム142を実行することによって、システム監視プログラム141にて決定された動作モードを各層の構造管理プログラム111へ通知すると共に、各層の構造管理プログラム111へ動作モード変更前に動作していたプログラムを終了させるための後処理を行う指示を与える(ステップS4)。その後、システムマネージャ層104は、システム構造管理プログラム142にて、動作モード変更に要するシステム全体の後処理及び前処理を実行し(ステップS5及びS6)、更に各層の構造管理プログラム111へ動作モード変更後に動作させるプログラムの動作開始のための前処理を行う指示を与えて(ステップS7)、ステップS8の処理へ進む。
次いで、システムマネージャ層104は、システムスケジューラ143を実行することにより、時間管理プログラム144から所定時間経過の通知が与えられたか否かを判定し(ステップS8)、所定時間経過の通知を与えられていない場合には(S8:NO)、各層のスケジューラ110からイベント発生の通知が与えられたか否かを更に判定する(ステップS9)。
所定時間経過の通知が与えられた場合(S8:YES)、又は、イベント発生の通知が与えられた場合(S9:YES)、システムマネージャ層104のシステムスケジューラ143は、予め定められたアルゴリズムに従ってスケジューリングを行い、動作させるいずれかの層のスケジューラ110へ動作指示を与え(ステップS10)、処理を終了する。また、所定時間経過の通知が与えられず、且つ、イベント発生の通知が与えられない場合(S9:NO)、システムマネージャ層104のシステムスケジューラは処理を終了する。
なお、システムマネージャ層104は、上述のステップS1〜S10の処理を繰り返し行っており、これにより動作状態の監視、動作モード変更の判定及び各層のスケジューラ110のスケジューリング等の処理が常に行われている。
図7は、プラットフォーム層101、中間層102及びアプリケーション層103の各層が行う処理の手順を示すフローチャートである。プラットフォーム層101、中間層102及びアプリケーション層103の各層は、構造管理プログラム111の実行により、システムマネージャ層104のシステム構造管理プログラム142から動作モードの通知(図5のステップS4参照)が与えられたか否かを判定し(ステップS21)、動作モードの通知が与えられていない場合には(S21:NO)、ステップS22〜S24の処理を行うことなくステップS25へ進む。
動作モードの通知が与えられた場合(S21:YES)、各層の構造管理プログラム111は、通知された動作モードに基づいて、同じ層に含まれる各プログラムの実行可否を決定する(ステップS22)。また、各層の構造管理プログラム111は、動作モードの通知と共に与えられる後処理及び前処理の指示(図5のステップS5及びS6参照)に応じて、動作モード変更前に実行していたプログラムの後処理を行い(ステップS23)、動作モード変更後に実行するプログラムの前処理を行う(ステップS24)。
次いで、プラットフォーム層101、中間層102及びアプリケーション層103の各層は、スケジューラ110の実行により、所定時間の経過を判定し(ステップS25)、所定時間が経過した場合(S25:YES)、予め定められたアルゴリズムに従ってスケジューリングを行って実行するプログラムの切り替えを行う(ステップS26)。
プログラムの切り替えを行った後、又は、所定時間が経過していない場合(S25:NO)、スケジューラ110は、同じ層に含まれるプログラムを実行して個別の処理を行わせ(ステップS27)、この実行に伴ってイベントが発生したか否かを判定する(ステップS28)。スケジューラ110は、イベントが発生した場合には(S28:YES)、システムマネージャ層104のシステムスケジューラ143へイベントの発生を通知し(ステップS29)、イベントが発生していない場合には(S28:NO)、通知を行わずに、処理を終了する。
なお、プラットフォーム層101、中間層102及びアプリケーション層103の各層では、上述のステップS21〜S28の処理を繰り返し行っており、これにより動作モードに応じた実行プログラムの変更、各層に含まれる複数のプログラムのスケジューリング及びプログラムの実行に伴うイベント発生の通知等の処理が常に行われている。また、図7に示したフローチャートにおいては、所定時間が経過した場合に実行するプログラムの切り替えを行う構成としたが、イベントが発生した場合にも実行するプログラムの切り替えを行う構成としてもよい。
以上の構成の車載機器制御プログラム100においては、システムマネージャ層104のシステム監視プログラム141が各層のプログラムの動作状態を取得して動作モードの変更を要するか否かを判定し、動作モードの変更を要する場合には取得した動作状態に基づいて動作モードを決定し、決定した動作モードをシステム構造管理プログラム142が各層の構造管理プログラム111へ通知すると共に、動作モードの変更に伴う後処理及び前処理を行わせる。これにより、各層の構造管理プログラム111は、通知された動作モードに応じて各プログラムの実行可否を決定することができ、各層のプログラム構造を変更することができる。スケジューラ110は、動作が許可されたプログラムについてのみ実行及びスケジュールの管理を行えばよい。各層に含まれる多数のプログラムのうち、動作モードに応じて実行されるプログラムが制限され、プログラム間の依存関係が容易化されるため、各層のプログラムの開発者はモード毎にプログラム開発を行うことができ、開発を容易化することができる。
また車載機器制御プログラム100は、システムスケジューラ143は時間管理プログラム144による所定時間経過の通知及び各層のスケジューラ110からのイベント発生の通知に応じて各層のスケジューラ110の動作切替及びスケジューリングを行い、各層のスケジューラ110は時間経過及び/又は各プログラムからの通知に応じて各プログラムの動作切替及びスケジューリングを行う構成であり、スケジューリングに関してシステムマネージャ層104のシステムスケジューラ143を上位とし、各層のスケジューラ110を下位とした階層構造が構成されている。よって、各層のプログラムの開発者は、層内のプログラムのみを考慮してスケジューラ110を開発すればよく、他の層のプログラムのスケジューリングを考慮する必要がないため、開発を容易化することができる。
よって、本発明に係る車載機器制御プログラム100は、プラットフォーム層101、中間層102及びアプリケーション層103の各層がデータの授受のみでなく、プログラムの実行及びスケジューリングに関してもそれぞれ依存関係がなく独立しているため、各層のプログラム開発を容易化することができると共に、各層の変更又は修正の容易性、移植性及び再利用性等を向上することができる。
なお、本実施の形態においては、車載機器制御プログラム100は、プラットフォーム層101、中間層102及びアプリケーション層103の3層構造としたが、これに限るものではなく、2層又は4層以上の構造であってもよい。また、機器を制御するコンピュータプログラムとして車載機器制御プログラム100を例に説明を行ったが、これに限るものではなく、その他の機器を制御するコンピュータプログラムに同様の構成を適用することができる。また、図3に示したアプリケーション層103のプログラムは一例であってこれに限るものではなく、図4に示した4つのモード及び対応するプログラムも一例であってこれに限るものではない。
本発明に係る制御装置の構成を示すブロック図である。 本発明に係る車載機器制御プログラムのソフトウェア構成を示す模式図である。 アプリケーション層のプログラムの一例を示す模式図である。 構造管理プログラムによるプログラムの実行可否の決定を説明するための模式図である。 システムマネージャ層が行う処理の手順を示すフローチャートである。 システムマネージャ層が行う処理の手順を示すフローチャートである。 プラットフォーム層、中間層及びアプリケーション層の各層が行う処理の手順を示すフローチャートである。 従来の階層化されたコンピュータプログラムの一構成例を示す模式図である。
符号の説明
1 ECU(制御装置)
3 ECU
5 センサ
6 アクチュエータ
7 車載機器
11 入出力I/F部
12 CPU(コンピュータ)
13 RAM
14 ROM
15 通信部
100 車載機器制御プログラム(コンピュータプログラム)
101 プラットフォーム層(実行手段、プログラム群)
102 中間層(実行手段、プログラム群)
103 アプリケーション層(実行手段、プログラム群)
104 システムマネージャ層(動作指示手段、動作条件決定手段、制御プログラム)
110 スケジューラ(実行スケジュール管理手段、実行スケジュール管理プログラム部品)
111 構造管理プログラム(実行可否決定手段、実行可否決定プログラム部品)
141 システム監視プログラム(動作状態取得手段、判定手段、動作条件決定手段)
142 システム構造管理プログラム(初期化手段)
143 システムスケジューラ(動作指示手段)
144 時間管理プログラム
PF1〜3 プラットフォーム層のプログラム(プログラム部品)
MP1〜3 中間層のプログラム(プログラム部品)
AP1〜3 アプリケーション層のプログラム(プログラム部品)

Claims (7)

  1. 数のプログラムをそれぞれ実行し、プラットフォーム層、中間層及びアプリケーション層の階層構造をなす複数の実行手段を備え、複数の動作条件のいずれかで動作し、プラットフォーム層及び中間層の間、並びに、中間層及びアプリケーション層の間でデータの授受を行って、前記動作条件に応じた機器の制御を行う制御装置において、
    各実行手段は、前記複数のプログラムの実行の可否を決定する実行可否決定手段をそれぞれ有し、
    前記プラットフォーム層、中間層及びアプリケーション層の階層構造外に設けられ、前記実行可否決定手段による前記可否の決定に係る前記動作条件を決定し、決定した前記動作条件を各実行可否決定手段へ与える動作条件決定手段を備え、
    前記動作条件には、各プログラムの実行可否を指定した情報を含まないこと
    を特徴とする制御装置。
  2. 数のプログラムをそれぞれ実行し、プラットフォーム層、中間層及びアプリケーション層の階層構造をなす複数の実行手段を備え、複数の動作条件のいずれかで動作し、プラットフォーム層及び中間層の間、並びに、中間層及びアプリケーション層の間でデータの授受を行って、前記動作条件に応じた機器の制御を行う制御装置において、
    各実行手段は、
    記複数のプログラムの実行の可否を決定する実行可否決定手段と、
    該実行可否決定手段の決定した実行の可否に基づいて、前記複数のプログラムを実行させるスケジュールを管理する実行スケジュール管理手段と
    をそれぞれ有し、
    前記プラットフォーム層、中間層及びアプリケーション層の階層構造外に設けられ、前記実行可否決定手段による前記可否の決定に係る前記動作条件を決定し、決定した前記動作条件を各実行可否決定手段へ与える動作条件決定手段と、
    前記プラットフォーム層、中間層及びアプリケーション層の階層構造外に設けられ、前記実行スケジュール管理手段を動作させるスケジュールを管理し、各実行スケジュール管理手段へ動作指示を与える動作指示手段と
    を備え、
    前記動作条件には、各プログラムの実行可否を指定した情報を含まないこと
    を特徴とする制御装置。
  3. 各実行手段が実行するプログラムは、他のプログラムの実行を必要とする場合に、前記実行スケジュール管理手段へ通知を行うようにしてあり、
    前記実行スケジュール管理手段は、前記通知が与えられた場合に、前記動作指示手段へ通知を行うようにしてあり、
    前記動作指示手段は、時間経過及び前記通知に応じて前記実行スケジュール管理手段を実行させるスケジュールを管理するようにしてあること
    を特徴とする請求項2に記載の制御装置。
  4. 前記動作条件決定手段は、
    各実行手段の動作状態を取得する動作状態取得手段と、
    取得した動作状態に応じて、前記機器の動作状態を変化させるべきか否かを判定する判定手段と
    を有し、
    前記機器の動作状態を変化させるべきと判定した場合に、動作条件を決定して各実行可否決定手段へ与えるようにしてあること
    を特徴とする請求項1乃至請求項3のいずれか1つに記載の制御装置。
  5. 前記動作条件決定手段は、前記機器の動作状態を変化させるべきと判定した場合に、決定した動作条件に応じて前記実行手段の動作を初期化する初期化手段を有すること
    を特徴とする請求項4に記載の制御装置。
  6. 数のプログラム部品をそれぞれ含み、プラットフォーム層、中間層及びアプリケーション層の階層構造をなす複数のプログラム群を備え、コンピュータを複数の動作条件のいずれかで動作させ、プラットフォーム層及び中間層の間、並びに、中間層及びアプリケーション層の間で情報の授受を行って、前記コンピュータに前記動作条件に応じた機器の制御を行わせるコンピュータプログラムにおいて、
    各プログラム群は、コンピュータに、前記プログラム群に含まれる前記複数のプログラム部品の実行の可否を決定させる実行可否決定プログラム部品をそれぞれ含み、
    コンピュータに、
    前記実行可否決定プログラム部品による前記可否に係る前記動作条件を決定させるステップと、
    決定した前記動作条件を各プログラム群の前記実行可否決定プログラム部品へ与えさせるステップと
    を実行させる制御プログラムを、前記プラットフォーム層、中間層及びアプリケーション層の階層構造外に備え、
    前記動作条件には、各プログラム部品の実行可否を指定した情報を含まないこと
    を特徴とするコンピュータプログラム。
  7. 数のプログラム部品をそれぞれ含み、プラットフォーム層、中間層及びアプリケーション層の階層構造をなす複数のプログラム群を備え、コンピュータを複数の動作条件のいずれかで動作させ、プラットフォーム層及び中間層の間、並びに、中間層及びアプリケーション層の間で情報の授受を行って、前記コンピュータに前記動作条件に応じた機器の制御を行わせるコンピュータプログラムにおいて、
    各プログラム群は、
    コンピュータに、前記プログラム群に含まれる前記複数のプログラム部品の実行の可否を決定させる実行可否決定プログラム部品と、
    コンピュータに、前記実行可否決定プログラム部品が決定した可否に基づいて、前記プログラム群に含まれる前記複数のプログラム部品を実行させるスケジュールの管理を行わせる実行スケジュール管理プログラム部品と
    をそれぞれ含み、
    コンピュータに、
    前記実行可否決定プログラム部品による前記可否に係る前記動作条件を決定させるステップと、
    決定した前記動作条件を各プログラム群の前記実行可否決定プログラム部品へ与えさせるステップと、
    複数のプログラム群にそれぞれ含まれる前記実行スケジュール管理プログラム部品を実行させるスケジュールの管理を行わせるステップと、
    各プログラム群の前記実行スケジュール管理プログラム部品へ動作指示を与えさせるステップと
    を実行させる制御プログラムを、前記プラットフォーム層、中間層及びアプリケーション層の階層構造外に備え、
    前記動作条件には、各プログラム部品の実行可否を指定した情報を含まないこと
    を特徴とするコンピュータプログラム。
JP2008200072A 2008-08-01 2008-08-01 制御装置及びコンピュータプログラム Expired - Fee Related JP4934113B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2008200072A JP4934113B2 (ja) 2008-08-01 2008-08-01 制御装置及びコンピュータプログラム
PCT/JP2009/003582 WO2010013461A1 (ja) 2008-08-01 2009-07-29 制御装置及びコンピュータプログラム
US12/994,988 US20110098875A1 (en) 2008-08-01 2009-07-29 Control apparatus and computer program
DE112009001877T DE112009001877T8 (de) 2008-08-01 2009-07-29 Steuervorrichtung und Computerprogramm

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008200072A JP4934113B2 (ja) 2008-08-01 2008-08-01 制御装置及びコンピュータプログラム

Publications (2)

Publication Number Publication Date
JP2010079320A JP2010079320A (ja) 2010-04-08
JP4934113B2 true JP4934113B2 (ja) 2012-05-16

Family

ID=41610175

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008200072A Expired - Fee Related JP4934113B2 (ja) 2008-08-01 2008-08-01 制御装置及びコンピュータプログラム

Country Status (4)

Country Link
US (1) US20110098875A1 (ja)
JP (1) JP4934113B2 (ja)
DE (1) DE112009001877T8 (ja)
WO (1) WO2010013461A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090126619A (ko) * 2008-06-04 2009-12-09 현대자동차주식회사 차량의 씨 디 에이 장치 진단시스템 및 그 방법
CN105227679B (zh) * 2015-10-22 2018-05-25 上海汽车集团股份有限公司 车辆动力总成的电器网络架构方法
US20190380012A1 (en) * 2018-06-06 2019-12-12 GM Global Technology Operations LLC Method and system for facilitating data communication between publishers and applications

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3638947C2 (de) * 1986-11-14 1995-08-31 Bosch Gmbh Robert Verfahren zur Synchronisation von Rechnern eines Mehrrechnersystems und Mehrrechnersystem
DE69027507T2 (de) * 1989-10-27 1997-01-30 Hitachi Ltd Kraftfahrzeugsteuerungssystem und Steuerungseinheit dafür
JP3111752B2 (ja) * 1993-06-22 2000-11-27 株式会社日立製作所 自動車制御方法及び制御システム
EP0869417B1 (en) * 1993-07-26 2003-03-26 Hitachi, Ltd. Control unit for vehicle
JPH08241290A (ja) * 1995-03-07 1996-09-17 N T T Data Tsushin Kk 分散リアルタイムスケジュール方法及びスケジューラ
JPH08305589A (ja) * 1995-05-09 1996-11-22 Fuji Xerox Co Ltd 画像処理装置
JPH10320218A (ja) * 1997-05-19 1998-12-04 Hitachi Ltd データ転送処理における連携ジョブ自動起動方法
JP3692820B2 (ja) * 1999-03-10 2005-09-07 株式会社デンソー 自動車用制御装置
DE50002456D1 (de) * 1999-03-31 2003-07-10 Bosch Gmbh Robert Verfahren und vorrichtung zur speicherung von daten in einem fahrzeug und zur auswertung der gespeicherten daten
DE19915253A1 (de) * 1999-04-03 2000-10-05 Bosch Gmbh Robert Verfahren und Vorrichtung zum Betreiben eines verteilten Steuersystems in einem Fahrzeug
JP4427860B2 (ja) * 2000-03-24 2010-03-10 株式会社デンソー 車両用制御装置及び記録媒体
WO2002030626A1 (fr) * 2000-10-11 2002-04-18 Sony Corporation Systeme de commande de robot et procede de commande de robot
JP3972730B2 (ja) * 2001-07-18 2007-09-05 株式会社デンソー 車両用通信システム
JP4276909B2 (ja) * 2002-09-13 2009-06-10 株式会社リコー 画像形成装置およびアプリ起動制御方法
US20040109188A1 (en) * 2002-09-13 2004-06-10 Kunihiro Akiyoshi Image forming apparatus and methods used in the image forming apparatus
JP4225025B2 (ja) * 2002-09-30 2009-02-18 株式会社デンソー 車両統合制御システム
JP4134672B2 (ja) * 2002-10-18 2008-08-20 株式会社デンソー 車両用制御システム
JP4397574B2 (ja) * 2002-10-18 2010-01-13 株式会社デンソー 車両用通信システム
JP4515701B2 (ja) * 2002-12-13 2010-08-04 株式会社デンソー 車両用制御プログラム、及び、車両用制御装置
JP4222154B2 (ja) * 2003-08-28 2009-02-12 株式会社デンソー 車両制御システム
US7689337B2 (en) * 2003-09-30 2010-03-30 Honda Motor Co., Ltd. Cooperative vehicle control system
WO2005102833A1 (en) * 2004-04-26 2005-11-03 Ab Volvo Penta Boat and control system for a boat
JP2006142994A (ja) 2004-11-19 2006-06-08 Denso Corp 車両用ネットワークシステムおよび電子制御装置
JP2007034359A (ja) * 2005-07-22 2007-02-08 Hitachi Ltd 分散制御装置
JP2007110516A (ja) * 2005-10-14 2007-04-26 Ricoh Co Ltd 撮像装置、撮像方法及びその方法をコンピュータに実行させるプログラムを記録した記録媒体
JP4791162B2 (ja) * 2005-11-29 2011-10-12 京セラ株式会社 携帯情報端末
JP4797867B2 (ja) * 2006-07-31 2011-10-19 株式会社デンソー 車両用制御システムのメッセージ管理装置及び車両用制御システム
JP4853196B2 (ja) * 2006-09-19 2012-01-11 株式会社デンソー 制御システム
JP2008084009A (ja) * 2006-09-27 2008-04-10 Toshiba Corp マルチプロセッサシステム
JP2008141722A (ja) * 2006-11-06 2008-06-19 Matsushita Electric Ind Co Ltd モード切替方法、モード切替プログラム及び放送受信端末
US20080107208A1 (en) * 2006-11-06 2008-05-08 Masaharu Kudou Mode switching method, mode switching program, and broadcast receiving terminal
US8392882B2 (en) * 2006-11-30 2013-03-05 Caterpillar Inc. Engine state-based control of software functions
JP4427761B2 (ja) * 2007-08-29 2010-03-10 株式会社デンソー 車載電子機器制御システム
JP4438861B2 (ja) * 2007-12-21 2010-03-24 株式会社デンソー 車両制御装置およびそれを用いた車両制御システム

Also Published As

Publication number Publication date
DE112009001877T5 (de) 2011-07-14
DE112009001877T8 (de) 2011-11-17
US20110098875A1 (en) 2011-04-28
JP2010079320A (ja) 2010-04-08
WO2010013461A1 (ja) 2010-02-04

Similar Documents

Publication Publication Date Title
JP4624448B2 (ja) 制御装置、制御システム及びコンピュータプログラム
JP6189004B1 (ja) 共用バックアップユニットおよび制御システム
JP6665728B2 (ja) 車載更新装置、車載更新システム及び通信装置の更新方法
EP2409230B1 (en) Failure diagnostic system, electronic control unit for vehicle, failure diagnostic method
JP2010285001A (ja) 電子制御システム、機能代行方法
JP2017220091A (ja) 車両用装置
US9690269B2 (en) Controller and process monitoring method including monitoring of process execution sequence
JP4922262B2 (ja) 制御装置
US11340887B2 (en) Method for performing a software update in a control unit of a motor vehicle, and motor vehicle designed accordingly
JP4934113B2 (ja) 制御装置及びコンピュータプログラム
JP2015067107A (ja) 車両用制御装置
JP2009059334A (ja) 電子制御装置、診断結果の不揮発性メモリへの記憶許可方法、情報処理装置、診断結果の不揮発性メモリへの記憶許可システム、及び外部装置
JP2010231809A (ja) 制御装置及びコンピュータプログラム
JP2019209945A (ja) 車載制御装置、制御プログラム及び制御方法
JP2007133603A (ja) コンピュータシステム、基本ソフトウェアおよび監視プログラム
US8782672B2 (en) Control apparatus, control method, and recording medium
JP6349444B2 (ja) 車両用制御装置
JP2020021506A (ja) 電子制御装置及びセッション確立プログラム
JP2006279498A (ja) ノード診断システム及びノード
WO2022004324A1 (ja) 車両制御装置
US20170023935A1 (en) Method and Control System
JP2007137654A (ja) エレベーター用制御システム
JP2008311978A (ja) 中継接続ユニット
JP2013199180A (ja) 車載制御装置
JP2023150341A (ja) 車載システムおよび制御装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100223

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20100303

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20100430

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111223

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

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20150224

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees