JP2006059340A - Real-time processing software controller and method - Google Patents

Real-time processing software controller and method Download PDF

Info

Publication number
JP2006059340A
JP2006059340A JP2005213357A JP2005213357A JP2006059340A JP 2006059340 A JP2006059340 A JP 2006059340A JP 2005213357 A JP2005213357 A JP 2005213357A JP 2005213357 A JP2005213357 A JP 2005213357A JP 2006059340 A JP2006059340 A JP 2006059340A
Authority
JP
Japan
Prior art keywords
state
real
priority
task
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.)
Pending
Application number
JP2005213357A
Other languages
Japanese (ja)
Inventor
Hiroshi Fujiwara
寛 藤原
Takuya Nomura
琢家 野村
Naosuke Haruna
修介 春名
Hisaki Furuyama
寿樹 古山
Yu Uno
結 宇野
Hirokazu Yamamoto
浩数 山本
Kiyoshi Hayashi
潔 林
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2005213357A priority Critical patent/JP2006059340A/en
Publication of JP2006059340A publication Critical patent/JP2006059340A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a controller and a control method for real-time processing software, allowing relative description of priority of a state by necessity of real-time processing of each state, and allowing a design of task priority and state transition in consideration of a real-time property in an upstream design process before detailed execution time becomes clear. <P>SOLUTION: About each of a state [1] 311 to a state [6] 316 capable of being taken by control target equipment, a real-time property flag F1 to F6 showing whether a process in the state requires the real-time processing or not, and a priority level P1 to P6 determined by the preceding state and the present state are set. A task priority management part 104 changes the priority of a task on the basis of the real time property flag and the priority level, according to the state transition of the control target equipment. <P>COPYRIGHT: (C)2006,JPO&NCIPI

Description

本発明は機器組み込み向けの実時間処理ソフトウェア制御装置、及び制御方法に関するものである。   The present invention relates to a real-time processing software control apparatus and a control method for incorporation into a device.

従来の機器組み込み向けの実時間処理ソフトウェアによる制御方法としては、例えば特許文献1に記載のタスク実行制御方法のように、予め決定されているタスクの実行時刻に基づきタスクの優先度を変更させてタスクスケジューリングを行う方法がある。   As a conventional control method using real-time processing software for device incorporation, for example, the task priority is changed based on a predetermined task execution time as in the task execution control method described in Patent Document 1. There is a method for performing task scheduling.

以下、従来のタスク実行制御方法について説明する。
図5は、従来のタスク実行制御方法を説明するための図である。
図5において、Aはタスクの実行環境を表す。実行環境Aは、ハードウェア層A1と、オペレーションシステム(OS)層A2と、OS層A2上で動作するアプリケーション層A3とから成る。
Hereinafter, a conventional task execution control method will be described.
FIG. 5 is a diagram for explaining a conventional task execution control method.
In FIG. 5, A represents a task execution environment. The execution environment A includes a hardware layer A1, an operation system (OS) layer A2, and an application layer A3 operating on the OS layer A2.

ハードウェア層A1は、中央演算装置(CPU)506、メモリ507、グラフィックデバイス508などのハードウェア資源を有する。   The hardware layer A1 includes hardware resources such as a central processing unit (CPU) 506, a memory 507, and a graphic device 508.

アプリケーション層A3内には、アプリケーション群の実行に伴って実行されるタスクが複数含まれている。図5には、アプリケーション層A3内のタスクとして、タスクA509、タスクB510、及びタスクC511を例示している。ここで、タスクAは、所定の周期で繰り返し実行される性質を有するものであり、タスクA〜Cのうち優先度が最も高いものである。タスクBは、タスクAとタスクBの共有資源(以下「セマフォ」とする。)を使用して実行されるものであり、タスク処理を実行するために要する前記共有資源の占有時間長が固定されている性質を有する。タスクBはその優先度がタスクA〜Cのうち最も低いものである。タスクCは、タスクA、Bと資源を共有するものではなく、その優先度がタスクA〜Cのうち2番目のものである。   The application layer A3 includes a plurality of tasks that are executed as the application group is executed. FIG. 5 illustrates a task A509, a task B510, and a task C511 as tasks in the application layer A3. Here, the task A has a property of being repeatedly executed at a predetermined cycle, and has the highest priority among the tasks A to C. Task B is executed using a shared resource (hereinafter referred to as “semaphore”) of task A and task B, and the occupation time length of the shared resource required for executing the task processing is fixed. Have the properties Task B has the lowest priority among tasks A to C. Task C does not share resources with tasks A and B, and its priority is the second of tasks A to C.

また、タスク実行制御装置500は、OS層A2に含まれるカーネルの一部として、タスクのスケジューリングに関する処理を行なうものである。つまり、このタスク実行制御装置500は、タスクA509、タスクB510、及びタスクC511の実行順序を制御するスケジューリング部501と、タスク共有資源の排他制御やタスク割り込みに伴う優先度の逆転を回避するための処理を行なう管理部502と、スケジューリング部501がタスク実行順序制御を行なうために参照するための時間情報である余裕時間を算出する余裕時間算出部503とを有している。ここで、余裕時間とは、タスクC511が共有資源を解放してからタスクA509が実行開始されるまでの時間的な余裕を示すものであり、以下の計算式(1)により算出される。   The task execution control device 500 performs processing related to task scheduling as part of the kernel included in the OS layer A2. In other words, the task execution control device 500 has a scheduling unit 501 that controls the execution order of task A509, task B510, and task C511, and avoids priority inversion due to exclusive control of task shared resources and task interruption. A management unit 502 that performs processing, and a margin time calculation unit 503 that calculates a margin time that is time information for the scheduling unit 501 to refer to perform task execution order control. Here, the margin time indicates a time margin from when the task C511 releases the shared resource to when the task A509 starts executing, and is calculated by the following calculation formula (1).

余裕時間=タスクAの実行開始予定時刻−タスクBの共有資源解放時刻・・・(1)
また、前記管理部502は、タスク共有資源の排他制御に関する処理を行なうセマフォ管理部504と、タスクの割り込みに関連してタスクの優先度を調整する優先度管理部505とを有する。
Margin time = scheduled execution start time of task A−shared resource release time of task B (1)
In addition, the management unit 502 includes a semaphore management unit 504 that performs processing related to exclusive control of task shared resources, and a priority management unit 505 that adjusts task priority in relation to task interruption.

次に動作について説明する。
タスクB510が、セマフォ獲得要求をセマフォ管理部504に対して発行すると、余裕時間算出部503は、セマフォ管理部504からの指示に従って、余裕時間を算出する。
Next, the operation will be described.
When task B510 issues a semaphore acquisition request to the semaphore management unit 504, the allowance time calculation unit 503 calculates the allowance time according to an instruction from the semaphore management unit 504.

セマフォ管理部504は、上記余裕時間が負の値である場合は、タスクB510による前記共有資源の占有を認めず、その旨をスケジューリング部501に通知する。スケジューリング部501は、タスクB510を待機状態とし、タスクA509の処理終了をまってからタスクB510の処理を行なわせる。一方、セマフォ管理部504は、上記余裕時間が正の値である場合は、タスクB510に共有資源の占有を認め、その旨をスケジューリング部501に通知する。スケジューリング部501は、かかる通知を受けて、タスクB510を動作状態とする。   When the margin time is a negative value, the semaphore management unit 504 notifies the scheduling unit 501 that the shared resource is not occupied by the task B510. Scheduling section 501 places task B 510 in a standby state, and causes task B 510 to be processed after task A 509 finishes processing. On the other hand, when the margin time is a positive value, the semaphore management unit 504 allows the task B 510 to occupy the shared resource and notifies the scheduling unit 501 to that effect. Upon receiving such notification, the scheduling unit 501 puts the task B 510 into an operating state.

次に、タスクB510の動作中に、スケジューリング部501がタスクC511からの実行開始要求を受けると、優先度管理部505は、セマフォ管理部504から前記余裕時間に関する情報を得る。そして、この余裕時間を初期値とする許容時間を設定し、該許容時間を付加した優先度切替指示をスケジューリング部501に送る。   Next, when the scheduling unit 501 receives an execution start request from the task C511 during the operation of the task B510, the priority management unit 505 obtains information on the margin time from the semaphore management unit 504. Then, an allowable time with the margin time as an initial value is set, and a priority switching instruction with the allowable time added is sent to the scheduling unit 501.

スケジューリング部501は、前記優先度切替指示を受けると、タスクC511の実行開始からの経過時間を割込処理時間として計測し、前記割込処理時間が前記許容時間を超えないようにチェックしながらタスクC511の終了を待つ。スケジューリング部501は、タスクC511が前記許容時間の範囲内でその処理を終えた場合、タスクB510を動作状態にする。一方、スケジューリング部501は、タスクC511の処理が前記許容時間となるまで続いた場合は、前記優先度切替指示に従って、タスクB510の優先度を、タスクA509と同じレベルまで引き上げる。これにより、タスクC511による割り込み処理が生じた場合、その割込処理時間が余裕時間長に達した時点でタスクB510の優先度がタスクA509と同じ優先度に上げられるため、タスクB510の処理がタスクC511の割込みの影響で遅らされる「優先度逆転現象」を回避することが可能となる。
特開2003−131892号公報
When the scheduling unit 501 receives the priority switching instruction, the scheduling unit 501 measures the elapsed time from the start of execution of the task C511 as an interrupt processing time, and checks the interrupt processing time so that it does not exceed the allowable time. Wait for the end of C511. When the task C511 finishes the process within the allowable time range, the scheduling unit 501 sets the task B510 to the operating state. On the other hand, when the processing of task C511 continues until the allowable time is reached, scheduling section 501 raises the priority of task B510 to the same level as task A509 in accordance with the priority switching instruction. As a result, when an interrupt process is generated by the task C511, the priority of the task B510 is raised to the same priority as the task A509 when the interrupt processing time reaches the extra time length. It is possible to avoid the “priority inversion phenomenon” that is delayed by the influence of the C511 interrupt.
JP 2003-131892 A

以上のように、従来の実時間処理ソフトウェアによる制御方法では、予め決定されているタスクの実行時刻に基づきタスクの優先度を変更させて、タスクスケジューリングを行なっているので、実時間処理ソフトウェアを設計する際には、各タスクの実行時刻を制御対象機器の設計段階において予め決定しておく必要がある。   As described above, in the conventional control method using real-time processing software, task scheduling is performed by changing the task priority based on a predetermined task execution time, so the real-time processing software is designed. In doing so, it is necessary to determine the execution time of each task in advance at the design stage of the control target device.

ところが、タスクの実行時刻は、設計の細部が決定する設計最終段階までは、その詳細な値を決定することが非常に困難であり、また、機器仕様を基にした上流工程の設計段階においては、そもそも設計内容にタスクの実行時刻を含めることは行なわない。このため、従来の実時間処理ソフトウェア制御方法は、実時間処理を行なうためのソフトウェアの十分な設計を行っておくことが非常に困難なものであった。   However, it is very difficult to determine the detailed value of the task execution time until the final design stage where the details of the design are determined, and in the design stage of the upstream process based on the equipment specifications. In the first place, the task execution time is not included in the design contents. For this reason, it is very difficult for the conventional real-time processing software control method to sufficiently design software for performing real-time processing.

本発明は上記課題を解決するためになされたものであり、機器仕様を基にした機器の状態遷移に実時間処理が必要か否かの情報を対応付け、機器の状態遷移に伴ってタスクの優先度を自動的に変更することにより、事前の設計段階から実時間性を考慮したソフトウェア設計を可能とし、プログラム実行時のタスク優先度を柔軟に変更することが可能な実時間処理ソフトウェア制御装置、及び方法を提供することを目的とする。   The present invention has been made to solve the above-described problems, and associates information on whether or not real-time processing is necessary for the device state transition based on the device specification. Real-time processing software control device that enables software design that takes real-time characteristics into consideration from the prior design stage by automatically changing priorities, and can flexibly change task priorities during program execution And to provide a method.

本願の請求項1に係る発明は、複数の動作状態を有する機器のそれぞれの状態に対応するタスクの実行制御を、各タスク毎に設定されている優先度に基づいて行なう実時間処理ソフトウェア制御方法であって、前記機器の状態が遷移するごとに、前記機器の遷移後の動作状態に対応するタスクの優先度を更新する優先度更新ステップを含むものである。   The invention according to claim 1 of the present application is a real-time processing software control method for performing execution control of a task corresponding to each state of a device having a plurality of operation states based on a priority set for each task. In addition, each time the state of the device changes, a priority update step of updating the priority of the task corresponding to the operation state after the change of the device is included.

本願の請求項2に係る発明は、請求項1に記載の実時間処理ソフトウェア制御方法において、前記優先度更新ステップは、前記機器の複数の動作状態ごとに設定された優先度レベル値に基づいて前記優先度を更新するステップとしたものである。   The invention according to claim 2 of the present application is the real-time processing software control method according to claim 1, wherein the priority update step is based on a priority level value set for each of a plurality of operation states of the device. The priority is updated.

本願の請求項3に係る発明は、請求項2に記載の実時間処理ソフトウェア制御方法において、前記優先度レベル値は、前記機器の遷移直前の状態と遷移後の状態とにより決まる値であることとしたものである。   The invention according to claim 3 of the present application is the real-time processing software control method according to claim 2, wherein the priority level value is a value determined by a state immediately before the transition of the device and a state after the transition. It is what.

本願の請求項4に係る発明は、請求項1に記載の実時間処理ソフトウェア制御方法において、前記優先度更新ステップは、前記機器の状態が遷移する毎に、前記機器の遷移後の動作状態に対応するタスクの実時間処理の必要性を判断する判定ステップを含み、前記判定ステップにて実時間処理が必要と判断されたときのみ、前記機器の遷移後の動作状態に対応するタスクの優先度を更新することを特徴とするものである。   The invention according to claim 4 of the present application is the real-time processing software control method according to claim 1, wherein the priority update step changes the operation state after the transition of the device every time the state of the device transitions. Including a determination step for determining the necessity of real-time processing of the corresponding task, and the priority of the task corresponding to the operation state after the transition of the device only when the determination step determines that real-time processing is necessary Is updated.

本願の請求項5に係る発明は、請求項4に記載の実時間処理ソフトウェア制御方法において、前記判定ステップは、前記機器の複数の動作状態ごとに設定された、実時間処理の必要性を示すリアルタイム性フラグに基づいて、前記機器の遷移後の状態に対応するタスクの実時間処理の必要性を判断するステップとしたものである。   The invention according to claim 5 of the present application is the real-time processing software control method according to claim 4, wherein the determination step indicates the necessity of real-time processing set for each of a plurality of operating states of the device. Based on the real-time flag, the step of determining the necessity of real-time processing of the task corresponding to the state after the transition of the device is performed.

本願の請求項6に係る発明は、複数の動作状態を有する機器のそれぞれの状態に対応するタスクの実行制御を、各タスク毎に設定されている優先度に基づいて行なう実時間処理ソフトウェア制御装置であって、前記機器の状態が遷移するごとに、前記機器の遷移後の動作状態に対応するタスクの優先度を更新するタスク優先度管理部を備えることとしたものである。   The invention according to claim 6 of the present application is a real-time processing software control device that performs execution control of a task corresponding to each state of a device having a plurality of operation states based on a priority set for each task. Then, every time the state of the device changes, a task priority management unit that updates the priority of the task corresponding to the operation state after the change of the device is provided.

本願の請求項7に係る発明は、請求項6に記載の実時間処理ソフトウェア制御装置において、前記機器の複数の動作状態ごとに設定される、前記機器の遷移直前の状態と前記優先度の変更パラメータ値とを対応させた優先度レベルテーブルを格納する優先度レベルテーブル格納部を備え、前記タスク優先度管理部は、前記機器の状態が遷移する毎に、前記優先度レベルテーブル格納部を参照して、遷移後の状態に対して設定された前記優先度レベルテーブルから前記機器の遷移直前の状態に対応する前記変更パラメータ値を読み出し、該読み出した変更パラメータ値に基づき、前記機器の遷移後の動作状態に対応するタスクの優先度を変更することとしたものである。   The invention according to claim 7 of the present application is the real-time processing software control device according to claim 6, wherein the state immediately before transition of the device and the change of the priority set for each of a plurality of operation states of the device A priority level table storage unit that stores a priority level table that associates parameter values with each other, and the task priority management unit refers to the priority level table storage unit every time the state of the device changes The change parameter value corresponding to the state immediately before the transition of the device is read from the priority level table set for the state after the transition, and after the transition of the device based on the read change parameter value The priority of the task corresponding to the operation state is changed.

本願の請求項8に係る発明は、請求項6又は請求項7に記載の実時間処理ソフトウェア制御装置において、前記機器の複数の動作状態のそれぞれに対応するタスクの実時間処理の必要性を示すリアルタイム性フラグを格納するリアルタイム性フラグ保持部を備え、前記タスク優先度管理部は、前記機器の状態が遷移する毎に、前記リアルタイム性フラグ保持部から前記機器の遷移後の状態に対応するリアルタイム性フラグを読み出して、当該状態に対応するタスクの実時間処理の必要性を判断し、実時間処理が必要と判断されたときのみ、前記機器の遷移後の状態に対応するタスクの優先度を更新することとしたものである。   The invention according to claim 8 of the present application is the real-time processing software control device according to claim 6 or 7, wherein the real-time processing of a task corresponding to each of a plurality of operation states of the device is indicated. A real-time flag holding unit for storing a real-time flag, and the task priority management unit receives a real-time corresponding to a state after the transition of the device from the real-time flag holding unit every time the state of the device changes. The priority of the task corresponding to the state after the transition of the device is determined only when it is determined that real-time processing is necessary. I decided to update it.

本願請求項1の発明によれば、複数の動作状態を有する機器のそれぞれの状態に対応するタスクの実行制御を、各タスク毎に設定されている優先度に基づいて行なう実時間処理ソフトウェア制御方法であって、前記機器の状態が遷移するごとに、前記機器の遷移後の動作状態に対応するタスクの優先度を更新するので、事前の設計段階から実時間性を考慮したソフトウェア設計を可能とし、プログラム実行時のタスク優先度を柔軟に変更することが可能となる。   According to the first aspect of the present invention, a real-time processing software control method for performing execution control of a task corresponding to each state of a device having a plurality of operation states based on a priority set for each task Since the priority of the task corresponding to the operation state after the transition of the device is updated each time the state of the device transitions, it is possible to design software considering real time from the preliminary design stage. The task priority at the time of program execution can be flexibly changed.

本願請求項2の発明によれば、請求項1に記載の実時間処理ソフトウェア制御方法において、前記優先度更新ステップは、前記機器の複数の動作状態ごとに設定された優先度レベル値に基づいて前記優先度を更新するので、状態遷移に伴ってタスクの優先度を動的かつ自動的に変化させることができ、これにより、複数の動作状態を有する機器の上流設計段階から、タスク実行時の優先度設計を状態遷移設計に同調させ、且つ実際の動作状態に基づいて行なうことが可能となる。また、予め状態遷移毎の優先度記述を行うこととしたので、機器設計の後工程でのタスク優先度設計を行う必要がなくなる。   According to a second aspect of the present invention, in the real-time processing software control method according to the first aspect, the priority update step is based on a priority level value set for each of a plurality of operating states of the device. Since the priority is updated, the priority of the task can be dynamically and automatically changed in accordance with the state transition, and from the upstream design stage of the device having a plurality of operation states, The priority design can be synchronized with the state transition design and can be performed based on the actual operation state. In addition, since priority description for each state transition is performed in advance, it is not necessary to perform task priority design in a later process of device design.

本願請求項3の発明によれば、請求項2に記載の実時間処理ソフトウェア制御方法において、前記優先度レベル値を、前記機器の遷移直前の状態と遷移後の状態とにより決定するので、状態毎の優先度を相対的に記述することができ、これにより、被制御機器のタスク実行時刻の詳細が判明する前の上流設計工程において、実時間性を考慮した状態遷移とタスク優先度の設計を行うことができる。   According to the third aspect of the present invention, in the real-time processing software control method according to the second aspect, the priority level value is determined by the state immediately before and after the transition of the device. Each priority can be described relatively, so that in the upstream design process before the details of the task execution time of the controlled device are known, state transition and task priority design considering real-time characteristics It can be performed.

本願請求項4の発明によれば、請求項1に記載の実時間処理ソフトウェア制御方法において、前記優先度更新ステップは、前記機器の状態が遷移する毎に、前記機器の遷移後の動作状態に対応するタスクの実時間処理の必要性を判断する判定ステップを含み、前記判定ステップにて実時間処理が必要と判断されたときのみ、前記機器の遷移後の動作状態に対応するタスクの優先度を更新するので、実時間処理の必要性のないタスクに対する優先度の更新を回避できる。   According to claim 4 of the present application, in the real-time processing software control method according to claim 1, the priority update step changes the operation state after the transition of the device every time the state of the device transitions. Including a determination step for determining the necessity of real-time processing of the corresponding task, and the priority of the task corresponding to the operation state after the transition of the device only when the determination step determines that real-time processing is necessary Therefore, it is possible to avoid updating the priority for tasks that do not require real-time processing.

本願請求項5の発明によれば、請求項4に記載の実時間処理ソフトウェア制御方法において、前記判定ステップは、前記機器の複数の動作状態ごとに設定された、実時間処理の必要性を示すリアルタイム性フラグに基づいて、前記機器の遷移後の状態に対応するタスクの実時間処理の必要性を判断するので、タスクの実時間処理の必要性の判断は簡単なものとなる。   According to claim 5 of the present application, in the real-time processing software control method according to claim 4, the determination step indicates the necessity of real-time processing set for each of a plurality of operating states of the device. Based on the real-time flag, the necessity of the real-time processing of the task corresponding to the state after the transition of the device is determined, so the determination of the necessity of the real-time processing of the task becomes simple.

本願請求項6の発明によれば、複数の動作状態を有する機器のそれぞれの状態に対応するタスクの実行制御を、各タスク毎に設定されている優先度に基づいて行なう実時間処理ソフトウェア制御装置であって、前記機器の状態が遷移するごとに、前記機器の遷移後の動作状態に対応するタスクの優先度を更新するタスク優先度管理部を備えることとしたので、事前の設計段階から実時間性を考慮したソフトウェア設計を可能とし、プログラム実行時のタスク優先度を柔軟に変更することが可能となる。   According to the invention of claim 6 of the present application, a real-time processing software control device that performs execution control of a task corresponding to each state of a device having a plurality of operating states based on the priority set for each task In addition, since the task priority management unit that updates the task priority corresponding to the operation state after the device transition is provided every time the device state transitions, the task priority management unit is implemented from the prior design stage. Software design that takes time into consideration is possible, and task priority during program execution can be flexibly changed.

本願請求項7の発明によれば、請求項6に記載の実時間処理ソフトウェア制御装置において、前記機器の複数の動作状態ごとに設定される、前記機器の遷移直前の状態と前記優先度の変更パラメータ値とを対応させた優先度レベルテーブルを格納する優先度レベルテーブル格納部を備え、前記タスク優先度管理部は、前記機器の状態が遷移する毎に、前記優先度レベルテーブル格納部を参照して、遷移後の状態に対して設定された前記優先度レベルテーブルから前記機器の遷移直前の状態に対応する前記変更パラメータ値を読み出し、該読み出した変更パラメータ値に基づき、前記機器の遷移後の動作状態に対応するタスクの優先度を変更することとしたので、状態遷移に伴ってタスクの優先度を動的かつ自動的に変化させることができ、これにより、複数の動作状態を有する機器の上流設計段階から、タスク実行時の優先度設計を状態遷移設計に同調させ、且つ実際の動作状態に基づいて行なうことが可能となる。また、予め状態遷移毎の優先度記述を行うこととしたので、機器設計の後工程でのタスク優先度設計を行う必要がなくなる。   According to claim 7 of the present application, in the real-time processing software control device according to claim 6, the state immediately before the transition of the device and the change of the priority set for each of a plurality of operation states of the device A priority level table storage unit that stores a priority level table that associates parameter values with each other, and the task priority management unit refers to the priority level table storage unit every time the state of the device changes The change parameter value corresponding to the state immediately before the transition of the device is read from the priority level table set for the state after the transition, and after the transition of the device based on the read change parameter value Since the task priority corresponding to the operating state of the task is changed, the task priority can be dynamically and automatically changed with the state transition. Accordingly, from the upstream design phase of device having a plurality of operating states, to tune the priority design task runtime state transition design, and it is possible to perform on the basis of the actual operating conditions. In addition, since priority description for each state transition is performed in advance, it is not necessary to perform task priority design in a later process of device design.

本願請求項8の発明によれば、請求項6又は請求項7に記載の実時間処理ソフトウェア制御装置において、前記機器の複数の動作状態のそれぞれに対応するタスクの実時間処理の必要性を示すリアルタイム性フラグを格納するリアルタイム性フラグ保持部を備え、前記タスク優先度管理部は、前記機器の状態が遷移する毎に、前記リアルタイム性フラグ保持部から前記機器の遷移後の状態に対応するリアルタイム性フラグを読み出して、当該状態に対応するタスクの実時間処理の必要性を判断し、実時間処理が必要と判断されたときのみ、前記機器の遷移後の状態に対応するタスクの優先度を更新することとしたので、簡単な判断により、実時間処理の必要性のないタスクに対する優先度の更新を回避できる。   According to claim 8 of the present application, in the real-time processing software control device according to claim 6 or claim 7, the necessity for real-time processing of a task corresponding to each of a plurality of operating states of the device is shown. A real-time flag holding unit for storing a real-time flag, and the task priority management unit receives a real-time corresponding to a state after the transition of the device from the real-time flag holding unit every time the state of the device changes. The priority of the task corresponding to the state after the transition of the device is determined only when it is determined that real-time processing is necessary. Since the update is performed, it is possible to avoid updating the priority for a task that does not require real-time processing by simple determination.

以下、本発明の実施の形態について説明する。
(実施の形態1)
この実施の形態1のソフトウェア制御装置は、複数の動作状態を有する機器の各状態に対応するタスクの実行制御を、各タスク毎に設定される優先度に基づいて行なうものであり、本発明に係るソフトウェア制御装置では、被制御対象機器の状態遷移毎に、遷移後の動作状態に対応するタスクに対して設定される優先度が更新される。
Hereinafter, embodiments of the present invention will be described.
(Embodiment 1)
The software control apparatus according to the first embodiment performs task execution control corresponding to each state of a device having a plurality of operation states based on the priority set for each task. In such a software control device, the priority set for the task corresponding to the operation state after the transition is updated for each state transition of the controlled device.

図1は、本発明の実施の形態1による実時間処理ソフトウェア制御装置の構成を表す概略図である。
図1において、実時間処理ソフトウェア制御装置100は、状態遷移実行部101と、リアルタイム性フラグ保持部102と、優先度レベルテーブル格納部103と、タスク優先度管理部104とを有している。
FIG. 1 is a schematic diagram showing the configuration of a real-time processing software control apparatus according to Embodiment 1 of the present invention.
In FIG. 1, the real-time processing software control apparatus 100 includes a state transition execution unit 101, a real-time flag holding unit 102, a priority level table storage unit 103, and a task priority management unit 104.

状態遷移実行部101は、複数の動作状態を有する機器の各状態に対応するタスクTs(1)〜Ts(n)を実行するものである。ここで、複数の動作状態を有する機器は、例えば、ビデオテープレコーダやDVDプレイヤーなどのAV機器であり、当該機器の複数の動作状態は、停止状態、再生状態、録画状態、早送り状態などである。なお、以下、被制御機器の状態を、状態〔1〕,状態〔2〕,・・・,状態〔n〕(nは整数)と表す。機器の状態〔1〕〜状態〔n〕に対応するタスクTs(1)〜Ts(n)には、それぞれのタスクが他のタスクに比べてどの程度優先して動作する必要があるかを示すタスク優先度Tp(1)〜Tp(n)が割り当てられている。   The state transition execution unit 101 executes tasks Ts (1) to Ts (n) corresponding to each state of a device having a plurality of operation states. Here, the device having a plurality of operation states is an AV device such as a video tape recorder or a DVD player, and the plurality of operation states of the device are a stop state, a playback state, a recording state, a fast-forward state, and the like. . Hereinafter, the state of the controlled device is represented as state [1], state [2],..., State [n] (n is an integer). Tasks Ts (1) to Ts (n) corresponding to the state [1] to state [n] of the device indicate how much priority each task needs to operate over other tasks. Task priorities Tp (1) to Tp (n) are assigned.

リアルタイム性フラグ保持部102は、被制御機器が状態〔i〕(i=1〜n)にあるときリアルタイム処理を行う必要性があるかどうかを示すリアルタイム性フラグF(i)を格納するものである。リアルタイム性フラグF(i)は、各状態〔1〕〜状態〔n〕毎に設定されており、リアルタイム性フラグ保持部102には、機器の状態〔1〕〜状態〔n〕に対応するリアルタイム性フラグF(1)〜F(n)が格納されている。   The real-time flag holding unit 102 stores a real-time flag F (i) indicating whether or not there is a need to perform real-time processing when the controlled device is in the state [i] (i = 1 to n). is there. The real-time flag F (i) is set for each state [1] to state [n], and the real-time flag holding unit 102 stores real-time flags corresponding to the device states [1] to [n]. The sex flags F (1) to F (n) are stored.

優先度レベルテーブル格納部103は、機器の機器の状態〔1〕〜状態〔n〕毎に設定される対応テーブルであって、状態機器の遷移直前の状態と、タスクTs(1)〜Ts(n)のタスク優先度Tp(1)〜Tp(n)を変更するためのパラメータ値である優先度レベル値とを対応させた優先度レベルテーブルT(1)〜T(n)を格納するものである。つまり、優先度レベルテーブル格納部103には、機器の状態〔1〕〜状態〔n〕のそれぞれに対応する優先度レベルテーブルT(1)〜T(n)が格納されている。   The priority level table storage unit 103 is a correspondence table set for each state [1] to state [n] of the device, and includes the state immediately before the state device transition and the tasks Ts (1) to Ts ( Stores priority level tables T (1) to T (n) corresponding to priority level values which are parameter values for changing the task priorities Tp (1) to Tp (n) of n) It is. In other words, the priority level table storage unit 103 stores priority level tables T (1) to T (n) corresponding to the device states [1] to [n], respectively.

ここで、優先度レベルテーブルT(i)の詳細について説明する。
図2は、優先度レベルテーブルT(i)の内部の詳細な構造を示す。
優先度レベルテーブルT(i)は、直前状態インデックス部201と、直前状態に対応した優先度レベル値保持部202とからなり、機器の動作状態〔i〕に応じて設定されている。
Here, details of the priority level table T (i) will be described.
FIG. 2 shows the detailed structure inside the priority level table T (i).
The priority level table T (i) includes a previous state index unit 201 and a priority level value holding unit 202 corresponding to the previous state, and is set according to the operation state [i] of the device.

優先度レベルテーブルT(i)の直前状態インデックス部201に表されている値は、被制御機器の現状態〔k〕に遷移する直前にあった動作状態〔1〕,〔2〕,・・・,〔n〕を示すインデックス値X(1),X(2),・・・,X(n)である。また、優先度レベルテーブルT(i)の優先度レベル値保持部202の値は、直前にあった状態〔1〕,〔2〕,・・・,〔n〕から現状態〔k〕に遷移した際のそれぞれ個別の優先度レベル値Pk(1),Pk(2),・・・,Pk(n)であり、これら直前状態インデックス部201の直前状態インデックス値X(n)と、優先度レベル値保持部202の優先度レベル値Pk(n)は、一組として扱われる。   The value shown in the immediately preceding state index part 201 of the priority level table T (i) is the operating state [1], [2],... That was immediately before the transition to the current state [k] of the controlled device. The index values X (1), X (2),..., X (n) indicating [n]. Further, the value of the priority level value holding unit 202 of the priority level table T (i) transitions from the previous state [1], [2],..., [N] to the current state [k]. , Pk (n), and the immediately preceding state index value X (n) of the immediately preceding state index unit 201 and the priority level values Pk (1), Pk (2),. The priority level value Pk (n) of the level value holding unit 202 is treated as a set.

次に、図1における、タスク優先度管理部104は、機器の動作状態が遷移する毎に、現在の状態〔k〕に対応するタスクTs(k)のタスク優先度Tp(k)を更新するものである。タスク優先度管理部104は、図1に示すように状態遷移管理部105と、タスク優先度更新部106とを有しており、状態遷移管理部105は、被制御機器の現在の状態〔k〕、及び直前の動作状態を監視し、リアルタイム性フラグ格納部102から、現在の状態〔k〕に対応付けられているリアルタイム性フラグF(k)を読み出して、実時間処理の必要性を判断するものである。また、状態遷移管理部105は、優先度レベルテーブル格納部103にアクセスし、現在の状態〔k〕に対応する優先度レベルテーブルT(k)から、現在の状態と、直前の状態とに対応する優先度レベル値Pk(k)を読み出す。   Next, the task priority management unit 104 in FIG. 1 updates the task priority Tp (k) of the task Ts (k) corresponding to the current state [k] every time the operating state of the device changes. Is. As shown in FIG. 1, the task priority management unit 104 includes a state transition management unit 105 and a task priority update unit 106, and the state transition management unit 105 displays the current state of the controlled device [k ] And the previous operation state are monitored, and the real-time flag F (k) associated with the current state [k] is read from the real-time flag storage unit 102 to determine the necessity of real-time processing. To do. Further, the state transition management unit 105 accesses the priority level table storage unit 103, and corresponds to the current state and the previous state from the priority level table T (k) corresponding to the current state [k]. The priority level value Pk (k) to be read is read out.

タスク優先度更新部106は、状態遷移管理部105から出力される優先度レベル値Pk(k)に基づいて、現在の状態〔k〕に対応するタスクTs(k)のタスク優先度Tp(k)を更新するものである。   Based on the priority level value Pk (k) output from the state transition management unit 105, the task priority update unit 106 performs the task priority Tp (k) of the task Ts (k) corresponding to the current state [k]. ).

以上のように構成される実時間処理ソフトウェア制御装置100は、CPUやメモリ等からなるハードウェア層と、リアルタイムOS層と、リアルタイムOS層上で動作するアプリケーション層とからなる階層構造により実現することができ、状態遷移実行部101は、アプリケーション層の一部として、タスク優先度管理部104は、リアルタイムOS層の一部として、また、優先度レベルテーブル格納部103、及びリアルタイム性フラグ保持部102は、ハードウェア層のメモリの一部を割り当てることにより、それぞれ実現することができる。   The real-time processing software control apparatus 100 configured as described above is realized by a hierarchical structure including a hardware layer including a CPU and a memory, a real-time OS layer, and an application layer operating on the real-time OS layer. The state transition execution unit 101 is part of the application layer, the task priority management unit 104 is part of the real-time OS layer, the priority level table storage unit 103, and the real-time flag holding unit 102 Can be realized by allocating a part of the memory of the hardware layer.

図3(a)は、被制御機器がDVDプレイヤーである場合の動作状態の遷移の例を示す図であり、タスク優先度管理部104が、DVDプレイヤーの停止状態〔1〕311、再生状態〔2〕312、早送り状態〔3〕313、一時停止状態〔4〕314、逆再生状態〔5〕315、及びスロー再生状態〔6〕316の動作遷移を管理する様子を模式的に表した図である。   FIG. 3A is a diagram illustrating an example of the transition of the operation state when the controlled device is a DVD player. The task priority management unit 104 determines that the DVD player is in a stopped state [1] 311 and a playback state [ 2] 312, fast-forwarding state [3] 313, pause state [4] 314, reverse playback state [5] 315, and slow playback state [6] 316. is there.

また、図3(b)は、DVDプレイヤーが再生状態である場合における優先度レベルテーブルの具体的な内部構成の一例を示す図である。   FIG. 3B is a diagram showing an example of a specific internal structure of the priority level table when the DVD player is in a playback state.

図4は、機器の動作状態がある状態から次の状態に遷移した際に、タスク優先度Tp(n)が更新される処理を示す。   FIG. 4 shows a process in which the task priority Tp (n) is updated when the device operation state transitions from one state to the next state.

次に本実施の形態1の動作について図1ないし図4を用いて説明する。
今、被制御機器がDVDプレイヤーであるとすると、その動作状態は、使用者のボタン操作等による各種のコマンド入力をきっかけとして遷移する。例えば図示しないコントローラに設けられた再生キー(ボタン)の押下により、図3(a)に示すように、停止状態〔1〕から再生状態〔2〕に遷移する。この際に、遷移条件として、例えばペアレンタルロックが掛けられているような場合は、当該ロックが解除された場合のみ、再生状態に遷移することができる。同様に、再生状態〔2〕からは早送りキーの押下により高速再生を行う早送り状態〔3〕に、一時停止キーの押下により同じコマの再生を繰り返す一時停止状態〔4〕に、逆再生キーの押下により通常再生とは逆方向再生を行う逆再生状態〔5〕に、スロー再生キーの押下により通常再生よりも遅い速度で再生を行うスロー再生状態〔6〕に、それぞれ遷移する。また、これら早送り状態〔3〕、一時停止状態〔4〕、逆再生状態〔5〕、スロー再生状態〔6〕から再生キーの押下により、再生状態〔2〕に遷移する。また、再生状態〔2〕、早送り状態〔3〕、一時停止状態〔4〕、逆再生状態〔5〕、スロー再生状態〔6〕では停止キーを押下することにより、停止状態〔1〕にそれぞれ遷移する。
Next, the operation of the first embodiment will be described with reference to FIGS.
Now, assuming that the controlled device is a DVD player, its operating state transitions triggered by various command inputs by a user's button operation or the like. For example, when a reproduction key (button) provided on a controller (not shown) is pressed, the state changes from the stop state [1] to the reproduction state [2] as shown in FIG. At this time, as a transition condition, for example, when a parental lock is applied, it is possible to transit to the reproduction state only when the lock is released. Similarly, from the playback state [2], the fast playback key is pressed to the fast forward state [3] where high speed playback is performed, and the pause key is pressed to the pause state [4] where playback of the same frame is repeated. When pressed, a transition is made to a reverse playback state [5] in which playback is performed in the reverse direction to normal playback, and to a slow playback state [6] in which playback is performed at a slower speed than normal playback when the slow playback key is pressed. In addition, the fast-forward state [3], the pause state [4], the reverse reproduction state [5], and the slow reproduction state [6] transition to the reproduction state [2] by pressing the reproduction key. In the playback state [2], fast forward state [3], pause state [4], reverse playback state [5], and slow playback state [6], the stop key is pressed to enter the stop state [1]. Transition.

ここで、DVDプレイヤーの状態遷移の各状態とそのリアルタイム処理の要否、各状態における優先度レベル値は、ベクトル的に、
(状態,リアルタイム処理の要否,優先度レベル値)
と表わすことができる。
Here, each state of the state transition of the DVD player, necessity / unnecessity of real-time processing, and a priority level value in each state are vector-wise,
(Status, necessity of real-time processing, priority level value)
Can be expressed as

この表記法によれば、図3(b)に示す、現在の状態を再生状態とした場合にその直前の状態が停止,再生,早送り,一時停止,逆再生,スロー再生のいずれかの状態である場合は、それぞれ以下のように記すことができる。   According to this notation, when the current state shown in FIG. 3B is set to the playback state, the state immediately before that is one of stop, playback, fast forward, pause, reverse playback, and slow playback. In some cases, each can be written as:

(停止,否,+10)
(再生,要,0)
(早送り,要,+5)
(一時停止,否,+8)
(逆再生,要,+4)
(スロー再生,要,+5)
(Stop, no, +10)
(Reproduction, necessary, 0)
(Fast forward, required, +5)
(Pause, no, +8)
(Reverse playback, required, +4)
(Slow playback, required, +5)

機器の状態が遷移すると、まず、状態遷移管理部105は、遷移後の状態を判断し、リアルタイム性フラグ保持部102から現在の状態〔k〕に対応するリアルタイム性フラグF(k)を取得する(ステップS401)。続いて、状態遷移管理部105は、取得したリアルタイム性フラグF(k)を用いて現在の状態〔k〕が実時間処理を必要とする状態であるかどうかを判定する(ステップS402)。   When the state of the device transitions, first, the state transition management unit 105 determines the state after the transition, and acquires the real-time flag F (k) corresponding to the current state [k] from the real-time flag holding unit 102. (Step S401). Subsequently, the state transition management unit 105 determines whether or not the current state [k] is a state that requires real-time processing using the acquired real-time flag F (k) (step S402).

この判定の結果、実時間処理が必要な状態であると判断されると、状態遷移管理部105は、優先度レベルテーブル格納部103から現在の状態〔k〕に対応する優先度レベルテーブルT(k)における優先度レベル値Pk(i)を取得する(ステップS403)。この優先度レベルテーブルT(k)の優先度レベル値Pk(i)は、遷移前の状態が状態〔1〕〜〔n〕のうちのどの状態にあったかによって異なる値であり、遷移前の機器の状態によって、取得される優先度レベル値Pk(i)は異なる値となる。   As a result of this determination, if it is determined that the state requires real-time processing, the state transition management unit 105 reads from the priority level table storage unit 103 the priority level table T (corresponding to the current state [k]. The priority level value Pk (i) at k) is acquired (step S403). The priority level value Pk (i) of the priority level table T (k) is a value that differs depending on which of the states [1] to [n] the state before the transition is, and the device before the transition Depending on the state, the acquired priority level value Pk (i) varies.

そして、状態遷移管理部105は、ステップS403で取得した優先度レベル値Pk(i)を、タスク優先度更新部106に出力する。   Then, the state transition management unit 105 outputs the priority level value Pk (i) acquired in step S403 to the task priority update unit 106.

タスク優先度更新部106は、現在の状態〔k〕に対応するタスクTs(k)が保持しているタスク優先度Tp(k)に、状態遷移管理部105から出力される優先度レベル値Pk(i)を加えて新たなタスク優先度に更新する(ステップS404)。さらに、タスク優先度更新部106は、ステップS404で求められた新たなタスク優先度を現在のタスクのタスク優先度Tp(k)として設定する(ステップS405)。   The task priority update unit 106 sets the priority level value Pk output from the state transition management unit 105 to the task priority Tp (k) held by the task Ts (k) corresponding to the current state [k]. (I) is added and updated to a new task priority (step S404). Furthermore, the task priority update unit 106 sets the new task priority obtained in step S404 as the task priority Tp (k) of the current task (step S405).

ここで、優先度レベルテーブルT(k)に保持される優先度レベル値Pk(i)は、現在の状態になる直前の状態と比較して現在の状態がより実時間処理を優先して必要である場合には正の値をもち、実時間処理は必要であるが直前の状態に比較して実時間処理の優先度が低い場合には負の値を持つ。また、現在の状態で直前の状態と比較してより強く実時間処理が求められる場合には、優先度レベル値Pk(i)は絶対値の大きな正の値を持つ。逆に現在の状態で直前の状態に比較してより弱い実時間処理しか必要とされない場合には、優先度レベル値Pk(i)は、絶対値の大きな負の値を持つ。   Here, the priority level value Pk (i) held in the priority level table T (k) requires the current state to give priority to real-time processing compared to the state immediately before the current state is reached. Is positive, and real-time processing is required, but it has a negative value when the priority of real-time processing is lower than the previous state. Also, when real-time processing is required more strongly in the current state than in the immediately preceding state, the priority level value Pk (i) has a positive value with a large absolute value. Conversely, if only weaker real-time processing is required in the current state than in the immediately preceding state, the priority level value Pk (i) has a negative value with a large absolute value.

上記のようにステップS401〜S405までの処理によって新たな状態に適応したタスクの優先度が設定されると、その後は、CPUなどの演算部(図示せず)は、実際に現在の状態〔k〕で必要とされる処理を行う(ステップS406)。   When the priority of the task adapted to the new state is set by the processing from steps S401 to S405 as described above, thereafter, the arithmetic unit (not shown) such as a CPU actually sets the current state [k The processing required in step S406 is performed (step S406).

以後、機器の状態が遷移する毎に上記ステップS401〜S406と同様の処理が行われ、状態遷移に伴ってタスクの優先度が動的かつ自動的に変化される。   Thereafter, every time the state of the device changes, processing similar to steps S401 to S406 is performed, and the priority of the task is dynamically and automatically changed with the state transition.

以下では、本実施の形態1に係る実時間処理ソフトウェア制御装置100の具体的な動作として、DVDプレイヤーが停止状態から再生状態に遷移する場合を例にとって説明する。   Hereinafter, as a specific operation of the real-time processing software control apparatus 100 according to the first embodiment, a case where the DVD player transitions from the stop state to the playback state will be described as an example.

上述したように、停止状態〔1〕311〜スロー再生状態〔6〕316のそれぞれには、各状態に対応するリアルタイム性フラグF(1)〜F(6)、及び優先度レベルテーブルT(1)〜T(6)がそれぞれ対応付けられている。また、図示しないが、停止状態〔1〕311〜逆再生状態〔6〕316のそれぞれは、各状態で行われるべき機器制御プログラム、状態変化のきっかけとなる信号入力によって次にどの状態へ遷移するべきかを示す遷移先情報や遷移条件などの情報を保持している。   As described above, each of the stop state [1] 311 to the slow playback state [6] 316 includes the real-time flags F (1) to F (6) corresponding to each state and the priority level table T (1). ) To T (6) are associated with each other. Although not shown, each of the stopped state [1] 311 to the reverse reproduction state [6] 316 transitions to which state next by the device control program to be executed in each state and the signal input that triggers the state change. It holds information such as transition destination information and transition conditions indicating what should be done.

状態遷移管理部105は、このような動作状態の状態遷移を監視しており、現在の状態に対応するリアルタイム性フラグを取得する。   The state transition management unit 105 monitors the state transition of such an operation state, and acquires a real-time flag corresponding to the current state.

今、停止状態から再生キーが操作されて、DVDプレイヤーの動作状態が、停止状態〔1〕311から再生状態〔2〕312に遷移した場合に、タスク優先度管理部104内の状態遷移管理部105は、現在の状態である再生状態〔2〕312に対応するリアルタイム性フラグF(2)を、リアルタイム性フラグ保持部102から読み出し、現在の状態である再生状態(状態〔2〕)に対応するリアルタイム性フラグF(2)として「要(リアルタイム処理)」を得る(ステップS401)。   Now, when the playback key is operated from the stop state and the operation state of the DVD player changes from the stop state [1] 311 to the playback state [2] 312, the state transition management unit in the task priority management unit 104 105 reads the real-time flag F (2) corresponding to the current playback state [2] 312 from the real-time flag holding unit 102 and corresponds to the current playback state (state [2]). “Necessary (real-time processing)” is obtained as the real-time flag F (2) to be performed (step S401).

状態遷移管理部105は、再生状態〔2〕312の実時間処理の必要性を判断する(ステップS402)。状態遷移管理部105は、リアルタイム性フラグF(2)として「要(リアルタイム処理)」を得たため、再生状態〔2〕312に対して設定されているフラグが、実時間処理の必要性を示すものであると判断し、優先度レベルテーブル格納部103にアクセスし、優先度レベルテーブル格納部103に格納されている複数の優先度レベルテーブルの中から、再生状態〔2〕312に対応する優先度レベルテーブルT(2)にアクセスする。   The state transition management unit 105 determines the necessity of real-time processing of the playback state [2] 312 (step S402). Since the state transition management unit 105 has obtained “necessary (real-time processing)” as the real-time flag F (2), the flag set for the playback state [2] 312 indicates the necessity of real-time processing. The priority level table storage unit 103 is accessed, and the priority corresponding to the playback state [2] 312 is selected from the plurality of priority level tables stored in the priority level table storage unit 103. The level table T (2) is accessed.

状態遷移管理部105は、優先度レベルテーブルT(2)から、直前の状態である停止状態〔1〕311からの遷移X(1)に対応する優先度レベル値Pk(2)として「+10」を読み出し(ステップS403)、該読み出した優先度レベル値を、タスク優先度更新部106に出力する。   From the priority level table T (2), the state transition management unit 105 sets “+10” as the priority level value Pk (2) corresponding to the transition X (1) from the stop state [1] 311 which is the immediately preceding state. (Step S403), and outputs the read priority level value to the task priority update unit 106.

タスク優先度更新部106は、現在の状態に対応するタスクのタスク優先度を更新する。例えば、再生状態〔2〕312に対応するタスクTs(2)のタスク優先度Tp(2)に、状態遷移管理部105から出力される優先度レベル値「+10」を加算し、タスクTs(2)のタスク優先度Tp(2)の値をタスク優先度更新部106に渡す。タスク優先度更新部106はこの優先度レベル値Pk(2)の値「+10」を増分値としてタスクTs(2)のタスク優先度Tp(2)に加算することでタスク優先度を更新する(ステップS404,S405)。その結果、タスクTs(2)はタスク優先度が上昇し、状態遷移前の状態に比して優先して実行されやすくなる。   The task priority update unit 106 updates the task priority of the task corresponding to the current state. For example, the priority level value “+10” output from the state transition management unit 105 is added to the task priority Tp (2) of the task Ts (2) corresponding to the reproduction state [2] 312, and the task Ts (2 ) To the task priority update unit 106. The task priority update unit 106 updates the task priority by adding the value “+10” of the priority level value Pk (2) to the task priority Tp (2) of the task Ts (2) as an increment value ( Steps S404 and S405). As a result, the task Ts (2) has a higher task priority and is likely to be executed with priority over the state before the state transition.

これにより、DVDプレイヤーの状態遷移に伴って、再生状態〔2〕312に対応するタスクTs(2)のタスク優先度Tp(2)が動的かつ自動的に更新される。状態遷移実行部101は、この動的かつ自動的に変更されたタスク優先度に応じてタスクに対応する動作状態内のプログラムの動作を開始する(ステップS406)。   As a result, the task priority Tp (2) of the task Ts (2) corresponding to the playback state [2] 312 is dynamically and automatically updated with the state transition of the DVD player. The state transition execution unit 101 starts the operation of the program in the operation state corresponding to the task according to the task priority changed dynamically and automatically (step S406).

このように、本実施の形態1では、制御対象機器の取り得る状態のそれぞれに対して、その状態中での処理が実時間処理を必要としているか否かを示すリアルタイム性フラグF(i)と、直前の状態と現在の状態とで決まる優先度レベル値Pk(i)とを設定し、制御対象機器の状態遷移に伴って、リアルタイム性フラグF(i)と優先度レベル値Pk(i)とに基づいてタスクの優先度を変化させるようにしたので、各状態の実時間処理の必要性によって状態の優先度を相対的に記述できることとなり、この結果、詳細な実行時刻が判明する前の上流設計工程において実時間性を考慮した状態遷移、及びタスク優先度の設計を行うことができるという効果が得られる。   As described above, in the first embodiment, for each of the states that can be taken by the control target device, the real-time flag F (i) that indicates whether the processing in that state requires real-time processing or not. , A priority level value Pk (i) determined by the immediately preceding state and the current state is set, and the real-time flag F (i) and the priority level value Pk (i) are associated with the state transition of the control target device. Since the task priority is changed based on the above, the priority of the state can be relatively described according to the necessity of the real-time processing of each state, and as a result, before the detailed execution time becomes clear In the upstream design process, it is possible to design state transition and task priority in consideration of real-time characteristics.

なお、上記実施の形態1では、優先度レベル値Pk(i)を、直前の動作状態と現在の状態〔k〕とにより決定される相対的な値としたが、優先度レベル値Pk(i)は、現在の動作状態のみにより決定される絶対的な値としてもよい。   In the first embodiment, the priority level value Pk (i) is a relative value determined by the previous operation state and the current state [k]. However, the priority level value Pk (i ) May be an absolute value determined only by the current operating state.

また、上記実施の形態1では、タスク優先度を変化させるタスクは、状態遷移が発生した自タスクとしたが、タスク優先度を変化させるタスクは、状態遷移が発生した自タスク以外の1つまたは複数の他タスクであってもよい。   In the first embodiment, the task whose task priority is changed is the own task in which the state transition has occurred. However, the task whose task priority is changed is one or a task other than the own task in which the state transition has occurred. It may be a plurality of other tasks.

本発明は、例えばビデオテープレコーダ、DVDプレイヤーなどのように、複数の動作状態を有し、各状態毎にタスクの優先度を変化させなければならない機器の組み込みソフトウェア制御方法として有用である。   The present invention is useful as an embedded software control method for a device that has a plurality of operation states such as a video tape recorder and a DVD player and in which the priority of a task must be changed for each state.

本発明の実施の形態1による実時間処理ソフトウェア制御装置の構成を表す図である。It is a figure showing the structure of the real-time processing software control apparatus by Embodiment 1 of this invention. 実施の形態1の優先度レベルテーブルを説明するための図であり、優先度レベルテーブルの内部構成を表す図である。It is a figure for demonstrating the priority level table of Embodiment 1, and is a figure showing the internal structure of a priority level table. 本発明の実施の形態1による実時間処理ソフトウェア制御装置の概略動作を説明する模式図である。It is a schematic diagram explaining schematic operation | movement of the real-time processing software control apparatus by Embodiment 1 of this invention. 実施の形態1の優先度レベルテーブルを説明するための図であり、優先度レベルテーブルの具体的な内部構成を表す図である。It is a figure for demonstrating the priority level table of Embodiment 1, and is a figure showing the specific internal structure of a priority level table. 実施の形態1の実時間処理ソフトウェア制御装置の動作を説明するためのフローチャートである。4 is a flowchart for explaining the operation of the real-time processing software control apparatus according to the first embodiment. 従来のタスク実行制御方法を説明する模式図である。It is a schematic diagram explaining the conventional task execution control method.

符号の説明Explanation of symbols

101 状態遷移実行部
102 リアルタイム性フラグ保持部
103 優先度レベルテーブル格納部
104 タスク優先度管理部
105 状態遷移管理部
106 タスク優先度更新部
201 直前状態インデックス部
202 優先度レベル値保持部
F(1)〜F(5) リアルタイム性フラグ
Pk(1),Pk(2),Pk(n) 優先度レベル値
T(k) 優先度レベルテーブル
Tp(n) タスク優先度
Ts(n) タスク
X(1)〜X(n) 直前状態インデックス値
DESCRIPTION OF SYMBOLS 101 State transition execution part 102 Real time property flag holding part 103 Priority level table storage part 104 Task priority management part 105 State transition management part 106 Task priority update part 201 Immediate state index part 202 Priority level value holding part F (1 ) To F (5) Real-time flag Pk (1), Pk (2), Pk (n) Priority level value T (k) Priority level table Tp (n) Task priority Ts (n) Task X (1 ) To X (n) Previous state index value

Claims (8)

複数の動作状態を有する機器のそれぞれの状態に対応するタスクの実行制御を、各タスク毎に設定されている優先度に基づいて行なう実時間処理ソフトウェア制御方法であって、
前記機器の状態が遷移するごとに、前記機器の遷移後の動作状態に対応するタスクの優先度を更新する優先度更新ステップを含む、
ことを特徴とする実時間処理ソフトウェア制御方法。
A real-time processing software control method for performing execution control of a task corresponding to each state of a device having a plurality of operation states based on a priority set for each task,
A priority update step of updating the priority of the task corresponding to the operation state after the transition of the device every time the state of the device transitions;
A real-time processing software control method.
請求項1に記載の実時間処理ソフトウェア制御方法において、
前記優先度更新ステップは、前記機器の複数の動作状態ごとに設定された優先度レベル値に基づいて前記優先度を更新するステップである、
ことを特徴とする実時間処理ソフトウェア制御方法。
The real-time processing software control method according to claim 1,
The priority update step is a step of updating the priority based on a priority level value set for each of a plurality of operation states of the device.
A real-time processing software control method.
請求項2に記載の実時間処理ソフトウェア制御方法において、
前記優先度レベル値は、前記機器の遷移直前の状態と遷移後の状態とにより決まる値である、
ことを特徴とする実時間処理ソフトウェア制御方法。
In the real-time processing software control method according to claim 2,
The priority level value is a value determined by a state immediately before the transition of the device and a state after the transition,
A real-time processing software control method.
請求項1に記載の実時間処理ソフトウェア制御方法において、
前記優先度更新ステップは、前記機器の状態が遷移する毎に、前記機器の遷移後の動作状態に対応するタスクの実時間処理の必要性を判断する判定ステップを含み、
前記判定ステップにて実時間処理が必要と判断されたときのみ、前記機器の遷移後の動作状態に対応するタスクの優先度を更新する、
ことを特徴とする実時間処理ソフトウェア制御方法。
The real-time processing software control method according to claim 1,
The priority update step includes a determination step of determining the necessity of real-time processing of a task corresponding to the operation state after the device transition every time the device state transitions,
Only when it is determined that real-time processing is necessary in the determination step, the priority of the task corresponding to the operation state after the transition of the device is updated.
A real-time processing software control method.
請求項4に記載の実時間処理ソフトウェア制御方法において、
前記判定ステップは、前記機器の複数の動作状態ごとに設定された、実時間処理の必要性を示すリアルタイム性フラグに基づいて、前記機器の遷移後の状態に対応するタスクの実時間処理の必要性を判断する、
ことを特徴とする実時間処理ソフトウェア制御方法。
In the real-time processing software control method according to claim 4,
The determination step requires real-time processing of a task corresponding to the state after the transition of the device based on a real-time flag indicating the necessity of real-time processing set for each of a plurality of operation states of the device. Judge sex,
A real-time processing software control method.
複数の動作状態を有する機器のそれぞれの状態に対応するタスクの実行制御を、各タスク毎に設定されている優先度に基づいて行なう実時間処理ソフトウェア制御装置であって、
前記機器の状態が遷移するごとに、前記機器の遷移後の動作状態に対応するタスクの優先度を変更するタスク優先度管理部を備える、
ことを特徴とする実時間処理ソフトウェア制御装置。
A real-time processing software control device that performs execution control of a task corresponding to each state of a device having a plurality of operation states based on a priority set for each task,
A task priority management unit that changes the priority of a task corresponding to the operation state after the transition of the device each time the state of the device transitions;
A real-time processing software control device.
請求項6に記載の実時間処理ソフトウェア制御装置において、
前記機器の複数の動作状態ごとに設定される、前記機器の遷移直前の状態と前記優先度の変更パラメータ値とを対応させた優先度レベルテーブルを格納する優先度レベルテーブル格納部を備え、
前記タスク優先度管理部は、前記機器の状態が遷移する毎に、前記優先度レベルテーブル格納部を参照して、遷移後の状態に対して設定された前記優先度レベルテーブルから前記機器の遷移直前の状態に対応する前記変更パラメータ値を読み出し、該読み出した変更パラメータ値に基づき、前記機器の遷移後の動作状態に対応するタスクの優先度を変更する、
ことを特徴とする実時間処理ソフトウェア制御装置。
The real-time processing software controller according to claim 6,
A priority level table storage unit that stores a priority level table that is set for each of a plurality of operating states of the device and associates the state immediately before the device transition with the change parameter value of the priority,
The task priority management unit refers to the priority level table storage unit every time the state of the device changes, and changes the device from the priority level table set for the state after the transition. Read the change parameter value corresponding to the immediately previous state, and based on the read change parameter value, change the priority of the task corresponding to the operation state after the transition of the device,
A real-time processing software control device.
請求項6又は請求項7に記載の実時間処理ソフトウェア制御装置において、
前記機器の複数の動作状態のそれぞれに対応するタスクの実時間処理の必要性を示すリアルタイム性フラグを格納するリアルタイム性フラグ保持部を備え、
前記タスク優先度管理部は、前記機器の状態が遷移する毎に、前記リアルタイム性フラグ保持部から前記機器の遷移後の状態に対応するリアルタイム性フラグを読み出して、当該状態に対応するタスクの実時間処理の必要性を判断し、実時間処理が必要と判断されたときのみ、前記機器の遷移後の状態に対応するタスクの優先度を更新する、
ことを特徴とする実時間処理ソフトウェア制御装置。
In the real-time processing software control device according to claim 6 or 7,
A real-time flag holding unit for storing a real-time flag indicating the necessity of real-time processing of a task corresponding to each of the plurality of operation states of the device;
The task priority management unit reads the real-time flag corresponding to the state after the device transition from the real-time flag holding unit every time the device state transitions, and executes the task corresponding to the state. Only when it is determined that real-time processing is necessary, the priority of the task corresponding to the state after the transition of the device is updated.
A real-time processing software control device.
JP2005213357A 2004-07-23 2005-07-22 Real-time processing software controller and method Pending JP2006059340A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005213357A JP2006059340A (en) 2004-07-23 2005-07-22 Real-time processing software controller and method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004216343 2004-07-23
JP2005213357A JP2006059340A (en) 2004-07-23 2005-07-22 Real-time processing software controller and method

Publications (1)

Publication Number Publication Date
JP2006059340A true JP2006059340A (en) 2006-03-02

Family

ID=36106728

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005213357A Pending JP2006059340A (en) 2004-07-23 2005-07-22 Real-time processing software controller and method

Country Status (1)

Country Link
JP (1) JP2006059340A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008186044A (en) * 2007-01-26 2008-08-14 Kyocera Corp Electronic device and control method in electronic device
US8631413B2 (en) 2007-01-26 2014-01-14 Kyocera Corporation Determining the termination priority of applications based on capability of applications to retain operation state information
JP2018138987A (en) * 2016-10-28 2018-09-06 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America Information processing device and information processing method
CN111309462A (en) * 2020-01-21 2020-06-19 腾讯科技(深圳)有限公司 Task processing method and device and computer readable storage medium

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008186044A (en) * 2007-01-26 2008-08-14 Kyocera Corp Electronic device and control method in electronic device
US8631413B2 (en) 2007-01-26 2014-01-14 Kyocera Corporation Determining the termination priority of applications based on capability of applications to retain operation state information
JP2018138987A (en) * 2016-10-28 2018-09-06 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America Information processing device and information processing method
JP7009092B2 (en) 2016-10-28 2022-01-25 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ Information processing equipment and information processing method
CN111309462A (en) * 2020-01-21 2020-06-19 腾讯科技(深圳)有限公司 Task processing method and device and computer readable storage medium

Similar Documents

Publication Publication Date Title
US20080295104A1 (en) Realtime Processing Software Control Device and Method
KR101724176B1 (en) Opportunistic multitasking
JP5605970B2 (en) Minimizing resource latency between processor application states in portable computing devices by scheduling resource set migration
JP6199477B2 (en) System and method for using a hypervisor with a guest operating system and virtual processor
US8365180B2 (en) Information terminal, computer resource managing method, and virtual machine execution switching method
JP4476193B2 (en) Information processing method and information processing apparatus
CN109698979B (en) Video playing method and device and electronic equipment
US20070250834A1 (en) Information processing device including manipulation task reservation function, manipulation task reservation processing program and manipulation task reservation processing method
US8589933B2 (en) Low power execution of a multithreaded program
US20210311782A1 (en) Thread scheduling for multithreaded data processing environments
JP2006059340A (en) Real-time processing software controller and method
US10430245B2 (en) Systems and methods for dynamic low latency optimization
JP2008276666A (en) Information processor and processing method, and program
EP3401784A1 (en) Multicore processing system
JP5542643B2 (en) Simulation apparatus and simulation program
JP2001117786A (en) Process scheduling device and process scheduling method
CN107360470B (en) Media file playing method and device and electronic equipment
JP2001236236A (en) Task controller and its task scheduling method
US9176771B2 (en) Priority scheduling of threads for applications sharing peripheral devices
JP6584655B2 (en) Graphics context scheduling based on flip-queue management
JP3830133B2 (en) Power control apparatus and method, and power control program
JP4962026B2 (en) User level process control device having process management function, method and program thereof
KR20100125672A (en) Method and apparatus for performing java application
JP2001154872A (en) Device and method for supporting software development and recording medium having the same program recorded thereon
JP2010003153A (en) Information processor and program