JP2011191806A - タスク実行制御装置及びプログラム - Google Patents

タスク実行制御装置及びプログラム Download PDF

Info

Publication number
JP2011191806A
JP2011191806A JP2010054849A JP2010054849A JP2011191806A JP 2011191806 A JP2011191806 A JP 2011191806A JP 2010054849 A JP2010054849 A JP 2010054849A JP 2010054849 A JP2010054849 A JP 2010054849A JP 2011191806 A JP2011191806 A JP 2011191806A
Authority
JP
Japan
Prior art keywords
slot number
control
task
output
time
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
JP2010054849A
Other languages
English (en)
Other versions
JP5069325B2 (ja
Inventor
Naoya Nakajo
直也 中條
Masatoshi Kido
正利 城戸
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.)
Toyota Motor Corp
Toyota Central R&D Labs Inc
Original Assignee
Toyota Motor Corp
Toyota Central R&D Labs Inc
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 Toyota Motor Corp, Toyota Central R&D Labs Inc filed Critical Toyota Motor Corp
Priority to JP2010054849A priority Critical patent/JP5069325B2/ja
Priority to US13/041,757 priority patent/US8418188B2/en
Priority to DE102011005382A priority patent/DE102011005382A1/de
Publication of JP2011191806A publication Critical patent/JP2011191806A/ja
Application granted granted Critical
Publication of JP5069325B2 publication Critical patent/JP5069325B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0426Programming the control sequence
    • 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
    • G06F9/4887Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/15Plc structure of the system
    • G05B2219/15079Multitasking, real time multitasking
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/25Pc structure of the system
    • G05B2219/25343Real time multitasking
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/25Pc structure of the system
    • G05B2219/25367Control of periodic, synchronous and asynchronous, event driven tasks together
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/506Constraint

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Programmable Controllers (AREA)
  • Debugging And Monitoring (AREA)

Abstract

【課題】簡易な処理で、時間制約違反であるか否かを判定することができるようにする。
【解決手段】スロット計算部45によって、現在のスロット番号を計算してスロット記憶部46に格納する。認識処理部40A、車速計算部40B、ブレーキ制御部40C、及びステアリング制御部40Dの各制御タスクでは、制御タスクを起動するとき、入力としての実行結果の出力時のスロット番号をタスクテーブル記憶部48から取得し、制約テーブル記憶部50に記憶された入力に対するスロット番号の許容範囲に基づいて、時間制約違反であるか否かを判定する。各制御タスクでは、制御タスクの実行結果を出力するときに、スロット記憶部46に格納された現在のスロット番号を読み出し、制約テーブル記憶部50に記憶された出力に対するスロット番号の許容範囲に基づいて、時間制約違反であるか否かを判定する。
【選択図】図2

Description

本発明は、タスク実行制御装置及びプログラムに係り、特に、周期が異なる複数の制御タスクをマルチタスクにより実行するタスク実行制御装置及びプログラムに関する。
従来より、プリエンプティブな優先度ベース・スケジューリングでマルチタスキングを実現しているリアルタイムOSにおいて、遅延許容時間が設定されたタスクに対して起床が指示された時刻である事象発生時刻を記録し、起床が指示されたタスクが処理を終了し、ユーザプログラムにリターンした時刻と記録された事象発生時刻から遅延時間を算出し、算出された遅延時間が設定された遅延許容時間を超えているか否かを判定して、ユーザに報知するリアルタイムOSが知られている(特許文献1)。
特開2006−350653号公報
しかしながら、上記の特許文献1に記載の技術では、制御タスクごとに現在時刻を取得して、遅延許容時間を越えているかどうかを計算する必要があり、時刻データが高精度である場合には、時刻データを取得する処理、及び遅延許容時間を越えているか否かを計算する処理の計算時間が大きくなってしまう、という問題がある。
本発明は、上記の問題点を解決するためになされたもので、簡易な処理で、時間制約違反であるか否かを判定することができるタスク実行制御装置及びプログラムを提供することを目的とする。
上記の目的を達成するために第1の発明に係るタスク実行制御装置は、周期的に実行され、かつ、周期が異なる複数の制御タスクを、マルチタスクによって入力に基づいて各々実行して実行結果を各々出力し、少なくとも1つの制御タスクが、他の制御タスクの実行結果を入力としているタスク実行制御装置であって、所定時間毎に分割したスロット数を、前記複数の制御タスクの周期の最小公倍数を最大公約数で除した値のn倍(nは自然数である。)の値として、現在のスロット番号を計算して第1メモリに格納するスロット番号計算手段と、前記複数の制御タスクの各々について、前記制御タスクの実行結果を出力するときに、前記第1メモリに格納された現在のスロット番号を読み出し、前記読み出されたスロット番号を、前記実行結果の出力時のスロット番号として第2メモリに格納する出力時スロット番号格納手段と、他の制御タスクの実行結果を入力としている制御タスクについて、前記制御タスクを起動するとき、入力としての前記実行結果の出力時のスロット番号を前記第2メモリから取得し、前記取得したスロット番号と、前記制御タスクの入力に対するスロット番号の許容範囲を予め定めた入力制約条件とに基づいて、時間制約違反であるか否かを判定する判定手段と、を含んで構成されている。
第2の発明に係るプログラムは、周期的に実行され、かつ、周期が異なる複数の制御タスクを、マルチタスクによって入力に基づいて各々実行して実行結果を各々出力し、少なくとも1つの制御タスクが、他の制御タスクの実行結果を入力としているコンピュータを、所定時間毎に分割したスロット数を、前記複数の制御タスクの周期の最小公倍数を最大公約数で除した値のn倍(nは自然数である。)の値として、現在のスロット番号を計算して第1メモリに格納するスロット番号計算手段、前記複数の制御タスクの各々について、前記制御タスクの実行結果を出力するときに、前記第1メモリに格納された現在のスロット番号を読み出し、前記読み出されたスロット番号を、前記実行結果の出力時のスロット番号として第2メモリに格納する出力時スロット番号格納手段、及び他の制御タスクの実行結果を入力としている制御タスクについて、前記制御タスクを起動するとき、入力としての前記実行結果の出力時のスロット番号を前記第2メモリから取得し、前記取得したスロット番号と、前記制御タスクの入力に対するスロット番号の許容範囲を予め定めた入力制約条件とに基づいて、時間制約違反であるか否かを判定する判定手段として機能させるためのプログラムである。
第1の発明及び第2の発明によれば、スロット番号計算手段によって、所定時間毎に分割したスロット数を、複数の制御タスクの周期の最小公倍数を最大公約数で除した値のn倍(nは自然数である。)の値として、現在のスロット番号を計算して第1メモリに格納する。出力時スロット番号格納手段によって、複数の制御タスクの各々について、制御タスクの実行結果を出力するときに、第1メモリに格納された現在のスロット番号を読み出し、読み出されたスロット番号を、実行結果の出力時のスロット番号として第2メモリに格納する。
そして、判定手段によって、他の制御タスクの実行結果を入力としている制御タスクについて、制御タスクを起動するとき、入力としての実行結果の出力時のスロット番号を第2メモリから取得し、取得したスロット番号と、制御タスクの入力に対するスロット番号の許容範囲を予め定めた入力制約条件とに基づいて、時間制約違反であるか否かを判定する。
このように、制御タスクの実行結果が出力されたときのスロット番号と、スロット番号の許容範囲を定めた入力制約条件とに基づいて、簡易な処理で、時間制約違反であるか否かを判定することができる。
第3の発明に係るタスク実行制御装置は、周期的に実行され、かつ、周期が異なる複数の制御タスクを、マルチタスクによって入力に基づいて各々実行して実行結果を各々出力し、少なくとも1つの制御タスクが、他の制御タスクの実行結果を入力としているタスク実行制御装置であって、所定時間毎に分割したスロット数を、前記複数の制御タスクの周期の最小公倍数を最大公約数で除した値のn倍(nは自然数である。)の値として、現在のスロット番号を計算してメモリに格納するスロット番号計算手段と、前記複数の制御タスクの各々について、前記制御タスクの実行結果を出力するときに、前記メモリに格納された現在のスロット番号を読み出し、前記読み出したスロット番号と、前記制御タスクの出力に対するスロット番号の許容範囲を予め定めた出力制約条件とに基づいて、時間制約違反であるか否かを判定する判定手段と、を含んで構成されている。
第4の発明に係るプログラムは、周期的に実行され、かつ、周期が異なる複数の制御タスクを、マルチタスクによって入力に基づいて各々実行して実行結果を各々出力し、少なくとも1つの制御タスクが、他の制御タスクの実行結果を入力としているコンピュータを、所定時間毎に分割したスロット数を、前記複数の制御タスクの周期の最小公倍数を最大公約数で除した値のn倍(nは自然数である。)の値として、現在のスロット番号を計算してメモリに格納するスロット番号計算手段、及び前記複数の制御タスクの各々について、前記制御タスクの実行結果を出力するときに、前記メモリに格納された現在のスロット番号を読み出し、前記読み出したスロット番号と、前記制御タスクの出力に対するスロット番号の許容範囲を予め定めた出力制約条件とに基づいて、時間制約違反であるか否かを判定する判定手段として機能させるためのプログラムである。
第3の発明及び第4の発明によれば、スロット番号計算手段によって、所定時間毎に分割したスロット数を、複数の制御タスクの周期の最小公倍数を最大公約数で除した値のn倍(nは自然数である。)の値として、現在のスロット番号を計算してメモリに格納する。
そして、判定手段によって、複数の制御タスクの各々について、制御タスクの実行結果を出力するときに、メモリに格納された現在のスロット番号を読み出し、読み出したスロット番号と、制御タスクの出力に対するスロット番号の許容範囲を予め定めた出力制約条件とに基づいて、時間制約違反であるか否かを判定する。
このように、制御タスクの実行結果を出力するときのスロット番号と、スロット番号の許容範囲を定めた出力制約条件とに基づいて、簡易な処理で、時間制約違反であるか否かを判定することができる。
第1の発明に係る判定手段は、他の制御タスクの実行結果を入力としている制御タスクについて、制御タスクを起動するとき、入力としての実行結果の出力時のスロット番号を第2メモリから取得して、時間制約違反であるか否かを判定し、複数の制御タスクの各々について、制御タスクの実行結果を出力するときに、第1メモリに格納された現在のスロット番号を読み出し、読み出したスロット番号と、制御タスクの出力に対するスロット番号の許容範囲を予め定めた出力制約条件とに基づいて、時間制約違反であるか否かを判定することができる。これによって、制御タスクの実行結果を出力するときのスロット番号と、スロット番号の許容範囲を定めた出力制約条件とに基づいて、簡易な処理で、時間制約違反であるか否かを判定することができる。
上記の発明では、時間制約違反であると判定された場合、判定結果を出力する出力手段を更に含むことができる。これによって、ユーザに対して時間制約違反があったことを知らせることができる。
本発明のプログラムは、記録媒体に格納して提供することができる。
以上説明したように、本発明のタスク実行制御装置及びプログラムによれば、制御タスクの実行結果が出力されたときのスロット番号と、スロット番号の許容範囲を定めた入力制約条件とに基づいて、又は、制御タスクの実行結果を出力するときのスロット番号と、スロット番号の許容範囲を定めた出力制約条件とに基づいて、簡易な処理で、時間制約違反であるか否かを判定することができる、という効果が得られる。
本発明の実施の形態に係る統合制御システムの構成を示す概略図である。 本発明の実施の形態に係る統合制御システムのコンピュータの構成を示すブロック図である。 タスクテーブルの一例を示す図である。 制約テーブルの一例を示す図である。 本発明の実施の形態に係る統合制御システムにおけるスロット番号計算処理ルーチンの内容を示すフローチャートである。 本発明の実施の形態に係る統合制御システムにおけるタスク実行処理ルーチンの内容を示すフローチャートである。 複数のタスクがマルチタスクにより周期的に実行される様子を示すイメージ図である。
以下、図面を参照して本発明の実施の形態を詳細に説明する。なお、車両に搭載された統合制御システムに本発明を適用した場合を例に説明する。
図1に示すように、本実施の形態に係る統合制御システム10は、自車両の前方を撮像する前方カメラ12と、自車両の4輪の車輪速を検出する車輪速センサ14と、操舵トルクを検出するトルクセンサ16と、前方カメラ12、車輪速センサ14、及びトルクセンサ16からの出力に基づいて、自車両のブレーキシステム18、及びステアリングをアシストするためのモータ20を制御するコンピュータ22とを備えている。なお、コンピュータ22が、本発明のタスク実行制御装置の一例である。
コンピュータ22は、CPU24と、RAM26と、後述するスロット番号計算処理ルーチン及びタスク実行処理ルーチンを実行するためのプログラムを記憶したROM28と、処理結果を表示するための表示部32と、前方カメラ12、車輪速センサ14、トルクセンサ16、ブレーキシステム18、及びモータ20との間の入出力を行うための入出力インタフェース34を備えている。CPU24、RAM26、ROM28、表示部32、及び入出力インタフェース34は、バスBUSによって相互に接続されている。
また、コンピュータ22は、機能的には図2に示すように構成されている。コンピュータ22は、マルチタスクによって複数の制御タスクを実行するマルチタスク部40と、各制御タスクを管理して周期的に起動させる周期管理部42と、時刻を計測するタイマ部44と、所定時間毎に現在のスロット番号を計算するスロット計算部45と、計算された現在のスロット番号を記憶するスロット記憶部46と、各制御タスクの起動時及び出力時のスロット番号を格納したタスクテーブルを記憶するタスクテーブル記憶部48と、制御タスクの入力及び出力に関する制約条件を格納した制約条件テーブルを記憶した制約テーブル記憶部50と、を備えている。なお、スロット記憶部46は、第1メモリの一例であり、タスクテーブル記憶部48は、第2メモリの一例である。
マルチタスク部40は、前方カメラ12から出力された前方画像を入力として、前方車両の画像認識処理を行って、実行結果として前方車両の認識結果を出力する制御タスクを実行する認識処理部40Aと、車輪速センサ14から出力された4輪の車輪速データを入力として、自車両の車速を計算し、実行結果として車速データを出力する制御タスクを実行する車速計算部40Bと、認識処理部40Aの実行結果と車速計算部40Bの実行結果を入力として、ブレーキシステム18の制御内容を決定し、実行結果としてブレーキシステム18を制御する制御信号をブレーキシステム18へ出力する制御タスクを実行するブレーキ制御部40Cと、トルクセンサ16から出力されたトルクデータと車速計算部40Bの実行結果を入力として、モータ20のモータ電流を決定し、実行結果としてモータ20のモータ電流を制御するための電流制御信号をモータ20へ出力する制御タスクを実行するステアリング制御部40Dと、を備えている。
認識処理部40A、車速計算部40B、ブレーキ制御部40C、及びステアリング制御部40Dの制御タスクは、マルチタスクにより、周期的に実行され、少なくとも1つの制御タスクの周期が、他の制御タスクと異なっている。認識処理部40A、車速計算部40B、ブレーキ制御部40C、及びステアリング制御部40Dの各制御タスクは、予め定められた周期に従って、周期管理部42によって起動される。
スロット計算部45によって計算されるスロット番号は、時間軸を5ティック(ティックは単位時間)毎に分割したスロットの番号であり、スロット数(スロット番号の上限値)が、全制御タスクの周期の最小公倍数を最大公約数で除した値のn倍(nは所定以下の自然数(大きな数字ではない)であり、例えば1倍)の値と等しくなるように定められている。例えば、認識処理部40A及びブレーキ制御部40Cの各制御タスクの周期が15ティックであり、車速計算部40B及びステアリング制御部40Dの各制御タスクの周期が10ティックである場合には、最小公倍数である30ティックを、最大公約数である5ティックで除した値の1倍である6を、スロット数とする。一般化して説明すると、タスク1の周期をmp、タスク2の周期をmq、タスク3の周期をmr(m、p、q、rは自然数であり、p、q、rは互いに素とする)として、周期の最小公倍数は、mpqrであり、周期の最大公約数はmであるため、スロット数は、pqr(=mpqr/m)のn倍(nは自然数)となり、スロット数の最小値は、pqrとなる。
スロット計算部45は、現在のスロット番号として、スロット番号0〜5の何れかを計算し、スロット記憶部46に記憶する。例えば、スロット計算部45は、1スロット当たりの時間毎に、スロット記憶部46に記憶されたスロット番号に1を加算して、スロット記憶部46のスロット番号を更新し、スロット記憶部46に記憶されたスロット番号が、最大値(例えば、5)である場合には、スロット記憶部46のスロット番号を最小値(例えば、0)に更新する。
認識処理部40A、車速計算部40B、ブレーキ制御部40C、及びステアリング制御部40Dの各制御タスクは、起動されたとき、及び実行結果を出力するときに、スロット記憶部46から現在のスロット番号を読み出し、図3(A)〜(D)に示すように、読み出したスロット番号を、起動時のスロット番号及び出力時のスロット番号として、タスクテーブル記憶部48のタスクテーブルに格納する。
ブレーキ制御部40C、ステアリング制御部40Dの各制御タスクは、入力とする他の制御タスクの実行結果が出力されたときのスロット番号を、タスクテーブル記憶部48のタスクテーブルから読み出し、上記図3(C)、(D)に示すように、読み出したスロット番号を、入力のスロット番号として、タスクテーブル記憶部48のタスクテーブルに格納する。
制約テーブル記憶部50には、図4(A)〜(D)に示すような、各制御タスクについて、起動時のスロット番号に対応して、入力又は出力に対するスロット番号の許容範囲を予め定めた制約条件を格納した制約テーブルが記憶されている。例えば、上記図4(C)に示すように、ブレーキ制御部40Cによる制御タスクでは、起動時のスロット番号が2である場合、入力となる認識結果のスロット番号(認識処理部40Aにおいて認識結果を出力したときのスロット番号)の許容範囲が1であり、入力となる車速データのスロット番号(車速計算部40Bにおいて車速データを出力したときのスロット番号)の許容範囲が0と1であり、実行結果の出力時の許容範囲が3であることが定められている。更に、ブレーキ制御部40Cによる制御タスクについて、起動時のスロット番号が5である場合、入力となる認識結果のスロット番号の許容範囲が4であり、入力となる車速データのスロット番号の許容範囲が3と4であり、実行結果の出力時の許容範囲が0であることが定められている。
認識処理部40A、車速計算部40B、ブレーキ制御部40C、及びステアリング制御部40Dの各々は、実行結果を出力するときに、スロット記憶部46から現在のスロット番号を読み出すと共に、制約テーブル記憶部50から、実行結果の出力時のスロット番号の許容範囲を読み出し、スロット番号が許容範囲内であるか否かを判定し、許容範囲外である場合には、時間制約違反であると判定し、出力に関する時間制約違反を示すメッセージを表示部32に表示させる。
ブレーキ制御部40C及びステアリング制御部40Dの各々は、入力とする他の制御タスクの実行結果が出力されたときのスロット番号を、タスクテーブル記憶部48のタスクテーブルから読み出すと共に、制約テーブル記憶部50から、入力のスロット番号の許容範囲を読み出し、スロット番号が許容範囲内であるか否かを判定し、許容範囲外である場合には、時間制約違反であると判定し、入力に関する時間制約違反を示すメッセージを表示部32に表示させる。
次に、本実施の形態に係る統合制御システム10の作用について説明する。統合制御システム10を搭載した車両の走行中に、コンピュータ22において、予め設定された1スロット当たりの時間毎に、図5に示すスロット番号計算処理ルーチンが実行される。
まず、ステップ100において、スロット記憶部46からスロット番号を読み出し、ステップ102において、上記ステップ100で読み出されたスロット番号が最大値であるか否かを判定する。スロット番号が最大値でない場合には、ステップ104において、読み出したスロット番号に1を加算して、スロット記憶部46に記憶させて、スロット番号を更新し、スロット番号計算処理ルーチンを終了する。一方、上記ステップ102で、読み出したスロット番号が最大値である場合には、ステップ106において、スロット番号として0をスロット記憶部46に記憶させて、スロット番号を更新し、スロット番号計算処理ルーチンを終了する。
以上のように、1スロット当たりの時間毎に、スロット番号計算処理ルーチンが実行されることにより、スロット記憶部46に、現在のスロット番号が記憶される。
また、上記のスロット番号計算処理ルーチンと並行して、マルチタスクにより、周期的に各制御タスクが起動され、起動された制御タスクについて、図6に示すタスク実行処理ルーチンが実行される。なお、各制御タスクの起動は、制約テーブル記憶部50に記憶された起動時のスロット番号に従って、周期管理部42によって行われる。
まず、ステップ110において、スロット記憶部46から、現在のスロット番号を読み出して、起動時のスロット番号として、タスクテーブル記憶部48に記憶させる。次のステップ112では、起動された制御タスクの入力データとしての実行結果をメモリ(図示省略)から取得すると共に、当該入力データとしての実行結果が他の制御タスクから出力されたときのスロット番号を、タスクテーブル記憶部48から取得し、入力のスロット番号として、タスクテーブル記憶部48に記憶させる。入力データが、他の制御タスクの実行結果でない場合には、前方カメラ12、車輪速センサ14、又はトルクセンサ16から入力データを取り込むと共に、スロット記憶部46から、現在のスロット番号を読み出して、入力のスロット番号として、タスクテーブル記憶部48に記憶させる。
そして、ステップ114において、起動された制御タスクの入力のスロット番号の許容範囲を、制約テーブル記憶部50から取得して、上記ステップ112で取得したスロット番号が、許容範囲内であるか否かを判定する。許容範囲外である場合には、時間制約違反であると判定し、ステップ116において、入力に関する制約違反が発生したことを示すメッセージを、表示部32に表示させて、タスク実行処理ルーチンを終了する。
一方、上記ステップ114で、上記ステップ112で取得したスロット番号が、許容範囲内である場合には、ステップ118において、上記ステップ112で取得した入力データに基づいて、制御タスクを実行して、実行結果を求める。
ステップ120では、スロット記憶部46から、現在のスロット番号を読み出す。そして、ステップ122において、起動された制御タスクの出力時のスロット番号の許容範囲を、制約テーブル記憶部50から取得して、上記ステップ120で読み出したスロット番号が、許容範囲内であるか否かを判定する。許容範囲外である場合には、時間制約違反であると判定し、ステップ124において、出力に関する制約違反が発生したことを示すメッセージを、表示部32に表示させて、タスク実行処理ルーチンを終了する。
一方、上記ステップ122で、上記ステップ120で読み出したスロット番号が、許容範囲内である場合には、ステップ126において、上記ステップ118で求めた実行結果を出力してメモリ(図示省略)に格納すると共に、上記ステップ120で読み出したスロット番号を、出力時のスロット番号として、タスクテーブル記憶部48に記憶させて、タスク実行処理ルーチンを終了する。
上記のようにタスク実行処理ルーチンを、図7に示すようにマルチタスクで周期的に実行される各制御タスクについて実行すると、例えば、認識処理部40Aのスロット番号0で起動された制御タスクの実行(上記図7における3つ目のタスクA参照)において、実行結果の出力が遅れ、出力時のスロット番号2が、許容範囲である1以外であるため(上記図4(A)参照)、出力に関する時間制約違反であると判定される。更に、ブレーキ制御部40Cのスロット番号2で起動された制御タスクの実行(上記図7における3つ目のタスクC参照)において、認識処理部40Aの実行結果の出力の遅れにより、入力のスロット番号4が、許容範囲である1以外であるため(上記図4(C)参照)、入力に関する時間制約違反であると判定される。
また、車速計算部40Bのスロット番号2で起動された制御タスクの実行(上記図7における5つ目のタスクB参照)において、実行結果の出力が遅れ、出力時のスロット番号3が、許容範囲である2以外であるため(上記図4(B)参照)、出力に関する時間制約違反であると判定される。更に、ステアリング制御部40Dのスロット番号3で起動された制御タスクの実行(上記図7における5つ目のタスクD参照)において、車速計算部40Bの実行結果の出力の遅れにより、入力のスロット番号0が、許容範囲である2以外であるため(上記図4(D)参照)、入力に関する時間制約違反であると判定される。
以上説明したように、本実施の形態に係る統合制御システムによれば、入力データとなる制御タスクの実行結果が出力されたときのスロット番号と、制約テーブルに格納されたスロット番号の許容範囲とに基づいて、簡易な処理で、制御タスクの入力に関する時間制約違反であるか否かを判定することができる。また、制御タスクの実行結果を出力するときのスロット番号と、制約テーブルに格納されたスロット番号の許容範囲とに基づいて、簡易な処理で、制御タスクの出力に関する時間制約違反であるか否かを判定することができる。
また、制御タスク毎にタイマで時間を測定し、制約条件と比較して時間制約違反を判定する方法に比べて、時間制約条件のデータ表現が小さいため、メモリ消費を小さくすることができる。また、制約条件を満たすかどうかを、現在のスロット番号と共に、制約テーブルに格納されたスロット番号を参照することで判定できるため、高速に処理することができる。
各制御タスクは、スロット番号を参照するだけで、タイマを読み出すことは不要となるため、計算処理が高速となる。
スロット番号の計算処理は、全制御タスクで共通であるため、計算時間を小さくすることができる。スロット番号というビット数の少ない値を用いることにより、各制御タスクのスロット番号の参照時間と、制約テーブルの参照時間を小さくすることができる。また、制約テーブルの記憶容量を小さくすることができる。
なお、上記の実施の形態では、入力に関する時間制約違反であると判定された場合には、制御タスクを実行せずに、タスク実行処理ルーチンを終了する場合を例に説明したが、これに限定されるものではなく、入力に関する時間制約違反であると判定された場合であっても、制御タスクを実行するようにしてもよい。
また、出力に関する時間制約違反であると判定された場合には、実行結果を出力せずに、タスク実行処理ルーチンを終了する場合を例に説明したが、これに限定されるものではなく、出力に関する時間制約違反であると判定された場合であっても、実行結果を出力するようにしてもよい。
また、出力に関する時間制約違反であるか否かを判定せずに、入力に関する時間制約違反であるか否かの判定のみを行うようにしてもよい。また、入力に関する時間制約違反であるか否かを判定せずに、出力に関する時間制約違反であるか否かの判定のみを行うようにしてもよい。
また、車両に搭載される統合制御システムのコンピュータに本発明を適用した場合を例に説明したが、これに限定されるものではなく、他の用途の制御タスクを実行する装置に、本発明を適用してもよい。例えば、一般的なOSを搭載したコンピュータに、本発明を適用してもよい。
時間制約違反があった場合でも、メッセージを記録媒体などに記憶しながら、制御タスクを実行してもよい。その場合には、そのメッセージを、後日の制約違反の発生原因の解析に利用してもよい。
また、時間制約違反があった場合には、メッセージ内容に応じて制御モードを、適切に切り替えながら、制御タスクを実行してもよい。
また、スロットの長さを全てのタスク時間の公約数として、スロット数を全てのタスク時間の公倍数毎に更新(リセット)するようにしてもよい。この場合、本発明と同様な作用が奏される。
10 統合制御システム
12 前方カメラ
14 車輪速センサ
16 トルクセンサ
18 ブレーキシステム
20 モータ
22 コンピュータ
24 CPU
26 RAM
28 ROM
32 表示部
40 マルチタスク部
40A 認識処理部
40B 車速計算部
40C ブレーキ制御部
40D ステアリング制御部
42 周期管理部
44 タイマ部
45 スロット計算部
46 スロット記憶部
48 タスクテーブル記憶部
50 制約テーブル記憶部

Claims (6)

  1. 周期的に実行され、かつ、周期が異なる複数の制御タスクを、マルチタスクによって入力に基づいて各々実行して実行結果を各々出力し、少なくとも1つの制御タスクが、他の制御タスクの実行結果を入力としているタスク実行制御装置であって、
    所定時間毎に分割したスロット数を、前記複数の制御タスクの周期の最小公倍数を最大公約数で除した値のn倍(nは自然数である。)の値として、現在のスロット番号を計算して第1メモリに格納するスロット番号計算手段と、
    前記複数の制御タスクの各々について、前記制御タスクの実行結果を出力するときに、前記第1メモリに格納された現在のスロット番号を読み出し、前記読み出されたスロット番号を、前記実行結果の出力時のスロット番号として第2メモリに格納する出力時スロット番号格納手段と、
    他の制御タスクの実行結果を入力としている制御タスクについて、前記制御タスクを起動するとき、入力としての前記実行結果の出力時のスロット番号を前記第2メモリから取得し、前記取得したスロット番号と、前記制御タスクの入力に対するスロット番号の許容範囲を予め定めた入力制約条件とに基づいて、時間制約違反であるか否かを判定する判定手段と、
    を含むタスク実行制御装置。
  2. 周期的に実行され、かつ、周期が異なる複数の制御タスクを、マルチタスクによって入力に基づいて各々実行して実行結果を各々出力し、少なくとも1つの制御タスクが、他の制御タスクの実行結果を入力としているタスク実行制御装置であって、
    所定時間毎に分割したスロット数を、前記複数の制御タスクの周期の最小公倍数を最大公約数で除した値のn倍(nは自然数である。)の値として、現在のスロット番号を計算してメモリに格納するスロット番号計算手段と、
    前記複数の制御タスクの各々について、前記制御タスクの実行結果を出力するときに、前記メモリに格納された現在のスロット番号を読み出し、前記読み出したスロット番号と、前記制御タスクの出力に対するスロット番号の許容範囲を予め定めた出力制約条件とに基づいて、時間制約違反であるか否かを判定する判定手段と、
    を含むタスク実行制御装置。
  3. 前記判定手段は、他の制御タスクの実行結果を入力としている制御タスクについて、前記制御タスクを起動するとき、入力としての前記実行結果の出力時のスロット番号を前記第2メモリから取得して、時間制約違反であるか否かを判定し、
    前記複数の制御タスクの各々について、前記制御タスクの実行結果を出力するときに、前記第1メモリに格納された現在のスロット番号を読み出し、前記読み出したスロット番号と、前記制御タスクの出力に対するスロット番号の許容範囲を予め定めた出力制約条件とに基づいて、時間制約違反であるか否かを判定する請求項1記載のタスク実行制御装置。
  4. 前記時間制約違反であると判定された場合、判定結果を出力する出力手段を更に含む請求項1〜請求項3の何れか1項記載のタスク実行制御装置。
  5. 周期的に実行され、かつ、周期が異なる複数の制御タスクを、マルチタスクによって入力に基づいて各々実行して実行結果を各々出力し、少なくとも1つの制御タスクが、他の制御タスクの実行結果を入力としているコンピュータを、
    所定時間毎に分割したスロット数を、前記複数の制御タスクの周期の最小公倍数を最大公約数で除した値のn倍(nは自然数である。)の値として、現在のスロット番号を計算して第1メモリに格納するスロット番号計算手段、
    前記複数の制御タスクの各々について、前記制御タスクの実行結果を出力するときに、前記第1メモリに格納された現在のスロット番号を読み出し、前記読み出されたスロット番号を、前記実行結果の出力時のスロット番号として第2メモリに格納する出力時スロット番号格納手段、及び
    他の制御タスクの実行結果を入力としている制御タスクについて、前記制御タスクを起動するとき、入力としての前記実行結果の出力時のスロット番号を前記第2メモリから取得し、前記取得したスロット番号と、前記制御タスクの入力に対するスロット番号の許容範囲を予め定めた入力制約条件とに基づいて、時間制約違反であるか否かを判定する判定手段
    として機能させるためのプログラム。
  6. 周期的に実行され、かつ、周期が異なる複数の制御タスクを、マルチタスクによって入力に基づいて各々実行して実行結果を各々出力し、少なくとも1つの制御タスクが、他の制御タスクの実行結果を入力としているコンピュータを、
    所定時間毎に分割したスロット数を、前記複数の制御タスクの周期の最小公倍数を最大公約数で除した値のn倍(nは自然数である。)の値として、現在のスロット番号を計算してメモリに格納するスロット番号計算手段、及び
    前記複数の制御タスクの各々について、前記制御タスクの実行結果を出力するときに、前記メモリに格納された現在のスロット番号を読み出し、前記読み出したスロット番号と、前記制御タスクの出力に対するスロット番号の許容範囲を予め定めた出力制約条件とに基づいて、時間制約違反であるか否かを判定する判定手段
    として機能させるためのプログラム。
JP2010054849A 2010-03-11 2010-03-11 タスク実行制御装置及びプログラム Expired - Fee Related JP5069325B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2010054849A JP5069325B2 (ja) 2010-03-11 2010-03-11 タスク実行制御装置及びプログラム
US13/041,757 US8418188B2 (en) 2010-03-11 2011-03-07 Task execution controller and recording medium on which task execution control program is recorded
DE102011005382A DE102011005382A1 (de) 2010-03-11 2011-03-10 Aufgabenausführungs-Steuereinheit und Aufzeichnungsmedium, auf dem ein Aufgabenausführungs-Steuerprogramm aufgezeichnet ist

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010054849A JP5069325B2 (ja) 2010-03-11 2010-03-11 タスク実行制御装置及びプログラム

Publications (2)

Publication Number Publication Date
JP2011191806A true JP2011191806A (ja) 2011-09-29
JP5069325B2 JP5069325B2 (ja) 2012-11-07

Family

ID=44561169

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010054849A Expired - Fee Related JP5069325B2 (ja) 2010-03-11 2010-03-11 タスク実行制御装置及びプログラム

Country Status (3)

Country Link
US (1) US8418188B2 (ja)
JP (1) JP5069325B2 (ja)
DE (1) DE102011005382A1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016519371A (ja) * 2013-04-19 2016-06-30 クロノ−セイフ リアルタイムで決定論的エラー回復を可能にするタスク時間割当て方法
JP2017510905A (ja) * 2014-10-24 2017-04-13 エルジー・ケム・リミテッド バッテリー管理システムのタスクスケジューラの誤作動検出装置および方法
CN109614242A (zh) * 2018-12-20 2019-04-12 深圳市网心科技有限公司 一种计算能力共享方法、装置、设备及介质
CN110392883A (zh) * 2017-01-17 2019-10-29 罗伯特·博世有限公司 用于运行控制设备的方法和装置、计算机程序和用于生成计算机程序的方法

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4877423B1 (ja) * 2011-03-15 2012-02-15 オムロン株式会社 Plcのcpuユニット、plc用システムプログラムおよびplc用システムプログラムを格納した記録媒体
KR102032895B1 (ko) * 2013-01-28 2019-11-08 삼성전자주식회사 기능 유닛들 간의 기능 로직 공유 장치, 방법 및 재구성 가능 프로세서
DE102013202774A1 (de) * 2013-02-20 2014-08-21 Robert Bosch Gmbh Vorrichtung, Verfahren und System zum Steuern eines Prozessors
FR3004274A1 (fr) * 2013-04-09 2014-10-10 Krono Safe Procede d'execution de taches dans un systeme temps-reel critique
US9519869B2 (en) * 2013-11-25 2016-12-13 International Business Machines Corporation Predictive computer system resource monitoring
JP6712934B2 (ja) * 2016-08-31 2020-06-24 株式会社日立ソリューションズ データ分析装置及びデータ分析方法
CN109885383B (zh) * 2018-10-30 2023-08-01 广东科学技术职业学院 一种带约束条件的非单位时间任务调度方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08255056A (ja) * 1995-03-16 1996-10-01 Toshiba Corp ストリームスケジューリング方法及び装置
JP2008167446A (ja) * 2007-01-04 2008-07-17 Palo Alto Research Center Inc 通信システム
WO2008105051A1 (ja) * 2007-02-26 2008-09-04 Toshiba Mitsubishi-Electric Industrial Systems Corporation スケジューラ

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5339425A (en) * 1990-12-11 1994-08-16 Fisher Controls International, Inc. Operating system for a process controller
JP3037182B2 (ja) 1997-02-17 2000-04-24 日本電気株式会社 タスク管理方式
US6178542B1 (en) * 1997-02-24 2001-01-23 Lucent Technologies Inc. Hardware-software co-synthesis of embedded system architectures using quality of architecture metrics
JPH11259311A (ja) 1998-03-06 1999-09-24 Chokosoku Network Computer Gijutsu Kenkyusho:Kk タスク管理方法
US6611755B1 (en) * 1999-12-19 2003-08-26 Trimble Navigation Ltd. Vehicle tracking, communication and fleet management system
JP2001236236A (ja) 2000-02-25 2001-08-31 Nec Microsystems Ltd タスク制御装置およびそのタスクスケジューリング方法
US20040216098A1 (en) * 2001-02-05 2004-10-28 Roe Colleen A. Scalable agent service scheduler
DE10200201A1 (de) * 2002-01-04 2003-07-24 Daimler Chrysler Ag Zyklusbasiertes zeitgesteuertes Kommunikationssystem
JP3922070B2 (ja) * 2002-03-29 2007-05-30 株式会社デンソー 分散制御方法及び装置
US7360216B2 (en) * 2002-07-03 2008-04-15 Nvidia Corporation Method and system for real-time multitasking
JP3859564B2 (ja) 2002-08-05 2006-12-20 日本電気株式会社 イベント通知タスク制御処理方式及び方法並びにプログラム
JP4108530B2 (ja) 2003-04-28 2008-06-25 三菱電機株式会社 タスクコントローラ
JP2006350653A (ja) 2005-06-15 2006-12-28 Canon Inc リアルタイムos
US8320321B2 (en) * 2007-06-22 2012-11-27 Motorola Solutions, Inc. Optimizing positions of time slots in a hybrid time division multiple access (TDMA)-carrier sense multiple access (CSMA) medium access control (MAC) for multi-hop ad hoc networks
US7912623B2 (en) * 2007-09-25 2011-03-22 Denso Corporation Engine control system designed to manage schedule of engine control tasks
JP5372699B2 (ja) * 2009-10-27 2013-12-18 日立オートモティブシステムズ株式会社 車載ネットワーク装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08255056A (ja) * 1995-03-16 1996-10-01 Toshiba Corp ストリームスケジューリング方法及び装置
JP2008167446A (ja) * 2007-01-04 2008-07-17 Palo Alto Research Center Inc 通信システム
WO2008105051A1 (ja) * 2007-02-26 2008-09-04 Toshiba Mitsubishi-Electric Industrial Systems Corporation スケジューラ

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016519371A (ja) * 2013-04-19 2016-06-30 クロノ−セイフ リアルタイムで決定論的エラー回復を可能にするタスク時間割当て方法
JP2017510905A (ja) * 2014-10-24 2017-04-13 エルジー・ケム・リミテッド バッテリー管理システムのタスクスケジューラの誤作動検出装置および方法
CN110392883A (zh) * 2017-01-17 2019-10-29 罗伯特·博世有限公司 用于运行控制设备的方法和装置、计算机程序和用于生成计算机程序的方法
CN109614242A (zh) * 2018-12-20 2019-04-12 深圳市网心科技有限公司 一种计算能力共享方法、装置、设备及介质
CN109614242B (zh) * 2018-12-20 2023-07-14 深圳市网心科技有限公司 一种计算能力共享方法、装置、设备及介质

Also Published As

Publication number Publication date
US8418188B2 (en) 2013-04-09
JP5069325B2 (ja) 2012-11-07
US20110225595A1 (en) 2011-09-15
DE102011005382A1 (de) 2011-10-13

Similar Documents

Publication Publication Date Title
JP5069325B2 (ja) タスク実行制御装置及びプログラム
JP2010277303A (ja) 半導体装置及び異常検出方法
US20140092106A1 (en) Clamping of dynamic capacitance for graphics
JP6895235B2 (ja) 環境的に調整されたスラックを割り当てるためのシステム及び方法
JP2010182101A (ja) フィールド制御システム
CN105378668A (zh) 多处理器系统中的操作系统管理的中断引导
CN107624181B (zh) 包括虚拟处理器的闲置和调度的虚拟机管理方法和装备
JP2003271401A (ja) 負荷監視機能を有するマイクロプロセッサ
EP2960796B1 (en) System and method of non-intrusive measurement of memory access profiles of threads in a multi-core processor
JP4591310B2 (ja) 流量制御方法
US20140337658A1 (en) Frequency execution monitoring
JP5699896B2 (ja) 情報処理装置、異常判定方法
CN109212260B (zh) 一种运动频率计算方法和装置
JP2011150532A (ja) 情報処理装置
JP4853390B2 (ja) 計測装置
JP2016184315A (ja) 電子制御装置
JP2010140239A (ja) 割り込みレイテンシーを短縮する装置及び方法
CN114237844A (zh) 一种任务调度方法、装置及电子设备
JP4953794B2 (ja) バスシステムのバス調停方法及びバスシステム
JP2007310735A (ja) ダイレクトメモリアクセスコントローラ
JP2006079394A (ja) データ処理装置
US20230205602A1 (en) Priority inversion mitigation
JP2005100017A (ja) プロセッサシミュレータおよび割込遅延カウントプログラム、並びにプロセッサのシミュレート方法
US20110055446A1 (en) Semiconductor integrated circuit device
JP6332091B2 (ja) 電子制御装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120209

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120214

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120416

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120529

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120726

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

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

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

Free format text: PAYMENT UNTIL: 20150824

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees