JP6377168B2 - 複数のプログラムファンクションを選択する方法、1つのプログラムファンクションを選択する方法、対応する装置および対応する車両、船舶または航空機 - Google Patents

複数のプログラムファンクションを選択する方法、1つのプログラムファンクションを選択する方法、対応する装置および対応する車両、船舶または航空機 Download PDF

Info

Publication number
JP6377168B2
JP6377168B2 JP2016553340A JP2016553340A JP6377168B2 JP 6377168 B2 JP6377168 B2 JP 6377168B2 JP 2016553340 A JP2016553340 A JP 2016553340A JP 2016553340 A JP2016553340 A JP 2016553340A JP 6377168 B2 JP6377168 B2 JP 6377168B2
Authority
JP
Japan
Prior art keywords
function
value
performance value
unit
apf
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.)
Active
Application number
JP2016553340A
Other languages
English (en)
Other versions
JP2017516695A (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.)
Siemens AG
Original Assignee
Siemens AG
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 Siemens AG filed Critical Siemens AG
Publication of JP2017516695A publication Critical patent/JP2017516695A/ja
Application granted granted Critical
Publication of JP6377168B2 publication Critical patent/JP6377168B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W50/0098Details of control systems ensuring comfort, safety or stability not otherwise provided for
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W10/00Conjoint control of vehicle sub-units of different type or different function
    • B60W10/18Conjoint control of vehicle sub-units of different type or different function including control of braking systems
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W10/00Conjoint control of vehicle sub-units of different type or different function
    • B60W10/20Conjoint control of vehicle sub-units of different type or different function including control of steering systems
    • 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/0428Safety, monitoring
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • G05B23/0205Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
    • G05B23/0259Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterized by the response to fault detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W2050/0001Details of the control system
    • B60W2050/0002Automatic control, details of type of controller or control system architecture
    • B60W2050/0004In digital systems, e.g. discrete-time systems involving sampling
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2300/00Indexing codes relating to the type of vehicle
    • 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/14Plc safety
    • G05B2219/14104Fault masking, redundant module is selected, fault will not propagate
    • 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/14Plc safety
    • G05B2219/14106Reconfiguration of components or graceful degradation, degrade
    • 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/24Pc safety
    • G05B2219/24177State machine arbitrates which redundant controller is active
    • 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/24Pc safety
    • G05B2219/24182Redundancy

Landscapes

  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Transportation (AREA)
  • Mechanical Engineering (AREA)
  • Chemical & Material Sciences (AREA)
  • Combustion & Propulsion (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Traffic Control Systems (AREA)
  • Control Of Driving Devices And Active Controlling Of Vehicle (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は特に、多重にインプリメントされたファンクションすなわち冗長的に設けられるファンクションを提供するために、プログラムファンクションを選択する方法もしくは装置に関する。この場合、一重の冗長すなわち2つのファンクションとしてもよいし、または1つよりも多くの複数の冗長としてもよい。互いに冗長構成を成す複数のファンクションを同一の態様で提供することもできるし、または互いに異なる態様で提供することもでき、これはたとえば、一方の冗長的なファンクションによって緊急ファンクションだけを保証しようという場合である。
特に自律走行との関連で、冗長システムは極めて重要である。自律走行は、電気車両についても、内燃機関車両についても、さらにハイブリッド車両についても、考慮の対象となっている。航空分野においては、すでにかなり以前から自律飛行が行われている。ただし航空分野においても、冗長システムをなおいっそう改善することが可能である。
特に車両または船舶または航空機において、多重にインプリメントされたファンクションを提供するために複数のプログラムファンクションを選択する、本発明による方法に対し、以下を適用することができる。すなわち、
・第1のプログラムファンクションの実行時に用いられるファンクションユニットに対する個別パフォーマンス値と、多重にインプリメントされた複数のファンクションに対して規定されている総パフォーマンス値との間の、第1の依存関係が記録される、または記録されている。
・第2のプログラムファンクションの実行時に用いられるファンクションユニットに対する個別パフォーマンス値と、規定されている総パフォーマンス値との間の、第2の依存関係が記録される、または記録されている。
・第1のプログラムファンクションにおける複数のファンクションユニットの現時点の第1の個別パフォーマンス値が求められる。
・第2のプログラムファンクションにおける複数のファンクションユニットの現時点の第2の個別パフォーマンス値が求められる。
・求められた第1の個別パフォーマンス値と、記録された第1の依存関係とが、第1の総パフォーマンス値を求めるまたは計算するために用いられる。
・求められた第2の個別パフォーマンス値と、記録された第2の依存関係とが、第2の総パフォーマンス値を求めるまたは計算するために用いられる。
・第1の総パフォーマンス値と、第2の総パフォーマンス値とから、クラスタパフォーマンス値が求められる。
・クラスタパフォーマンス値が、または、このクラスタパフォーマンス値から求められたまたは計算された少なくとも1つの値が、多重にインプリメントされたファンクションを提供する目的で、上述のプログラムファンクションまたは他のプログラムファンクションを選択するために用いられる。
さらに本発明は、特に車両または船舶または航空機において、多重にインプリメントされたファンクションを提供するために1つのプログラムファンクションを選択する方法に関する。この場合、
・上記のプログラムファンクションの実行時に用いられるファンクションユニット(集合体/ネットワークノード)に対する個別パフォーマンス値と、多重にインプリメントされたファンクションに対して規定されている総パフォーマンス値との間の、依存関係が記録される、または記録されている。
・複数のファンクションユニットの現時点の個別パフォーマンス値が求められる。
・求められた個別パフォーマンス値と、記録された依存関係とが、総パフォーマンス値を求めるまたは計算するために用いられる。
・総パフォーマンス値が、または、この総パフォーマンス値から求められたまたは計算された少なくとも1つの値が、多重にインプリメントされたファンクションを提供する目的で、上述のプログラムファンクションまたは他のプログラムファンクションを選択するために用いられる。
特に上述の方法の実施に適した装置は、以下を含むことができる。すなわち、
・記憶ユニット。この記憶ユニットには、第1のプログラムファンクションの実行時に用いられる複数のファンクションユニットに対する個別パフォーマンス値と、多重にインプリメントされた複数のファンクションに対して規定されている総パフォーマンス値との間の、第1の依存関係が記録される、または記録されている。さらにこの記憶ユニットには、第2のプログラムファンクションの実行時に用いられる複数のファンクションユニットに対する個別パフォーマンス値と、規定されている総パフォーマンス値との間の、第2の依存関係が記録される、または記録されている。
・算出ユニット。この算出ユニットは、第1のプログラムファンクションにおける複数のファンクションユニットの現時点の第1の個別パフォーマンス値を求める。さらにこの算出ユニットは、第2のプログラムファンクションにおける複数のファンクションユニットの現時点の第2の個別パフォーマンス値を求める。
・第2の算出ユニット。この第2の算出ユニットは、求められた第1の個別パフォーマンス値と、記録された第1の依存関係とを、第1の総パフォーマンス値を求めるまたは計算するために用いる。さらにこの第2の算出ユニットは、求められた第2の個別パフォーマンス値と、記録された第2の依存関係とを、第2の総パフォーマンス値を求めるまたは計算するために用いる。
・第3の算出ユニット。この第3の算出ユニットは、第1の総パフォーマンス値と、第2の総パフォーマンス値とから、クラスタパフォーマンス値を求める。
・選択ユニット。この選択ユニットは、クラスタパフォーマンス値を、または、このクラスタパフォーマンス値から求められたまたは計算された少なくとも1つの値を、多重にインプリメントされたファンクションを提供する目的で、第1のプログラムファンクションおよび第2のプログラムファンクションまたは他のプログラムファンクションを選択するために用いる。
さらに本発明は、特に上述の方法を実施するための装置にも関する。この装置には、以下のユニットが設けられている。すなわち、
・記憶ユニット。この記憶ユニットには、1つのプログラムファンクションの実行時に用いられるファンクションユニット(集合体/ネットワークノード)に対する個別パフォーマンス値と、多重にインプリメントされたファンクションに対して規定されている総パフォーマンス値との間の、依存関係が記録される、または記録されている。
・現時点の個別パフォーマンス値を求める算出ユニット。
・別の算出ユニットまたは計算ユニット。このユニットは、求められた個別パフォーマンス値と、記録された依存関係とを、総パフォーマンス値を求めるまたは計算するために用いる。
・選択ユニット。この選択ユニットは、現時点の総パフォーマンス値を、または、この総パフォーマンス値から求められたまたは計算された少なくとも1つの値を、多重にインプリメントされたファンクションを提供する目的で、上述のプログラムファンクションまたは他のプログラムファンクションを選択するために用いられる。
本発明はさらに、上述の装置のうちの1つを備えた車両または船舶または航空機に関する。
本発明が改善すべき課題は、多重にインプリメントされたファンクションを提供するために、複数のプログラムファンクションを選択する簡単な方法、もしくは多重にインプリメントされたファンクションを提供するために1つのプログラムファンクションを選択する方法を呈示することであり、これらの方法を特に簡単に拡張できるようにすることである。さらにこれらの方法に対応する装置および対応する車両、船舶もしくは航空機も呈示したい。
方法に関する課題は、請求項1もしくは2記載の方法によって解決される。従属請求項には実施形態が記載されている。これらの方法に対応する装置もしくは対応する輸送手段に関する課題は、各独立請求項の構成によって解決される。
特に車両または船舶または航空機において、多重にインプリメントされたファンクションを提供するために複数のプログラムファンクションを選択する方法に対し、以下を適用することができる。すなわち、
・以下ではプログラムファンクションもしくはファンクションのファンクションユニットとも称する、第1のプログラムファンクションの実行時に用いられるファンクションユニットに対する個別パフォーマンス値と、多重にインプリメントされた複数のファンクションに対して規定されている総パフォーマンス値との間の、第1の依存関係が記録される、または記録されている。
・第2のプログラムファンクションの実行時に用いられるファンクションユニットに対する個別パフォーマンス値と、規定されている総パフォーマンス値との間の、第2の依存関係が記録される、または記録されている。
・第1のプログラムファンクションにおける複数のファンクションユニットの現時点の第1の個別パフォーマンス値が求められる。
・第2のプログラムファンクションにおける複数のファンクションユニットの現時点の第2の個別パフォーマンス値が求められる。
・求められた第1の個別パフォーマンス値と、記録された第1の依存関係とが、第1の総パフォーマンス値を求めるまたは計算するために用いられる。
・求められた第2の個別パフォーマンス値と、記録された第2の依存関係とが、第2の総パフォーマンス値を求めるまたは計算するために用いられる。
・第1の総パフォーマンス値と、第2の総パフォーマンス値とから、クラスタパフォーマンス値が求められる。
・クラスタパフォーマンス値が、または、このクラスタパフォーマンス値から求められたまたは計算された少なくとも1つの値が、多重にインプリメントされたファンクションを提供する目的で、上述のプログラムファンクションまたは他のプログラムファンクションを選択するために用いられる。
したがって、クラスタには複数のファンクションが含まれている。クラスタリングの行われない方法の実施に対し、クラスタリングを行うことによって、計算の手間が著しく低減され、それによって計算時間が節約される。このため本発明による方法を、それがたとえ複数のファンクションに係わるものであるとしても、50msよりも短い時間内に周期的に実施することができる。
特に車両または船舶または航空機において、多重にインプリメントされたファンクションを提供するために1つのプログラムファンクションを選択する、択一的な方法によれば、以下のことが可能である。すなわち、
・上記のプログラムファンクションの実行時に用いられるファンクションユニット(集合体/ネットワークノード)に対する個別パフォーマンス値と、多重にインプリメントされたファンクションに対して規定されている総パフォーマンス値との間の、依存関係が記録される、または記録されている。
・複数のファンクションユニット(ファンクションもしくはプログラムファンクション)の現時点の個別パフォーマンス値が求められる。
・求められた個別パフォーマンス値と、記録された依存関係とが、(ファンクションもしくはプログラムファンクションの)ファンクションユニットに対する総パフォーマンス値を求めるまたは計算するために用いられる。
・総パフォーマンス値を、または、この総パフォーマンス値から求められたまたは計算された少なくとも1つの値を、多重にインプリメントされたファンクションを提供する目的で、上述のプログラムファンクションもしくはファンクションを選択するために、または他のプログラムファンクションもしくは他のファンクションを選択するために、用いることができる。
このようにすれば、本発明による方法をたとえばクラスタリングを行うことなく実施することもできる。
したがってこれら両方の選択肢において、多重にインプリメントされたファンクションが冗長的に提供される。依存関係を行列として記録してもよいし、または別の態様で記録してもよい。
総パフォーマンス値をyとして表すことができ、有利にはこの値はスカラー量であり、これは他のスカラー量との単純な比較に特に適したものである。
つまり上述のステップを通して、特に簡単な手法で総パフォーマンス値を求めることができる。この総パフォーマンス値によって、特に客観的な判定基準に基づき、マスタ−サーバント型もしくはマスタ−スレーブ型の開ループ制御または閉ループ制御において、現時点で優先的に使用すべきファンクションユニットを選択することができる。特に、それぞれ異なる多数の判定基準を、選択の際に考慮することができる。このようにすれば、たとえば短期間の障害または持続的な障害に起因して、他のユニットよりもひどく損なわれたもしくは劣化したユニットを、間接的に取り除くことができる。
プログラムファンクションは、第1のデータ処理装置のプロセッサによって実行される命令を含むことができる。プログラムファンクションは、以下のようにも定義される。すなわちプログラムファンクションは、たとえば単独でまたは他のプログラムファンクションと共働させて、マスタ−スレーブファンクションを適用可能なユニットである。
依存関係を行列として記録してもよい。したがってこの場合、行列の行を総パフォーマンス値に割り当てることができ、行列の列を個別パフォーマンス値に割り当てることができる。別の選択肢として、行列の列を総パフォーマンス値に割り当てることができ、行列の行を個別パフォーマンス値に割り当てることができ、または割り当てておくことができる。行列配置は、とても見やすい表示形態である。しかも行列を用いた計算は、たとえばマイクロプロセッサ、マイクロコントローラにおいて、またはプログラムのプログラム命令を実行するプロセッサもしくはコントローラを含まない計算ユニットにおいて、簡単な手法で実装することができる。
行列はたとえば、互いに異なる2つの値だけを含むことができ、特に値0と1だけを含むことができ、これによって計算がさらに単純になり加速される。
少なくとも1つの総パフォーマンス値のために、行列の少なくとも2つの行または行列の少なくとも2つの列を設けることができる。このようにすれば、複数の行においてOR結合を簡単に表現することができる。別の選択肢として、またはこれに加えて、該当する総パフォーマンス値を決定づけるファンクションユニットの状態も考慮することができ、つまり特に、そのようなファンクションユニットに対する状態値の順列を考慮することができる。
この場合、ファンクションユニットの複数のクラスを規定することができ、それらのファンクションユニットの個別パフォーマンス値は、クラス固有の意味を有する。ファンクションにおける少なくとも2つのファンクションユニットを、同じクラスに所属させることができる。別の選択肢として、またはこれに加えて、ファンクションにおける少なくとも2つのファンクションユニットが、互いに異なるクラスに所属するようにしてもよい。
これらのクラスを、以下の冗長性フィーチャのうち少なくとも1つ、または少なくとも2つ、またはすべてに基づいて、規定することができ、または規定しておくことができる。すなわち、
・1つのファンクションユニットの冗長性なし、または多重に設けられたファンクションユニットによる冗長性あり。つまりこの1つのファンクションに対し1つのファンクションユニットだけしか存在しない。
・1つのファンクションユニットに関して値冗長性なし、または値冗長性あり。たとえば複数の値が何回も求められ何回も伝送される、および/または、互いに冗長構成を成す複数のセンサが使用される。
・通信冗長性なし、特に通信リンク冗長性なし、または多重通信による冗長性あり。特に通信リンク冗長性あり。
複数の伝送リンク、二重化された伝送パケットまたはメッセージがあれば、通信冗長性を生じさせることができる。
また、クラスをこのように規定することによって特に、システムの簡単な拡張性が得られる。新たなファンクションユニットを、すでに規定されているクラスに分類することができる。このようにすることで、ファンクション/アプリケーションを、ファンクションユニット(集合体/ネットワークノード)により、たとえばプラグ&プレイコンセプトによって、つまり単にプラグインするだけで、あとから拡張することができる。また、既存のシステマティックに基づき、あるクラスをすでに規定した後、そのクラスに属するファンクションユニットをファンクションに挿入することができる。
ファンクションに関する総パフォーマンス値を、複数のファンクションユニットまたはすべてのファンクションユニットに対し同じ基準で、規定することができ、または規定しておくことができる。この場合、以下の判定基準のうち少なくとも1つの判定基準を考慮することができる。すなわち、
・乗員および/または貨物の損傷という点でのエラーの影響、
・メンテナンスタスクまたはメンテナンスインターバルの不足、ならびに、
・ドライビングまたはドライビングタスクまたはフライトの中断。
このようにすることで、輸送手段の使用に関して非常に重要であり、ひいてはファンクションユニットの機能性も良好に表す判定基準を考慮することができる。車両の場合、メンテナンスタスクはたとえば50000kmを超える可能性がある。さらに車両の場合、ドライビングタスクはたとえば4時間を超えることもある。
このような総パフォーマンス値の規定によって、やはり特にシステムの簡単な拡張性が得られるようになる。新たに開発されたファンクションユニットを、あとからファンクションに挿入することができ、もしくはプログラムファンクションによってあとから使用することができ、これをたとえばプラグ&プレイコンセプトによって、すなわち単にプラグインするだけで行うことができ、その場合、それらのファンクションユニットに対しても、以前に規定されていた総パフォーマンス値が適用される。このことは、輸送手段へのファンクションユニットの追加装備にも当てはまる。
現時点の個別パフォーマンス値を、行列またはベクトルに記録することができる。したがってこの場合も、多数の値が見やすい形態で記録されるようになる。現時点の総パフォーマンス値を高速に計算するためにも、行列もしくはベクトルは特に適している。行列またはベクトルが、互いに異なる2つの値だけしか含まないようにすることができ、特に値0と1だけしか含まないようにすることができる。これによって行列またはベクトルを用いた演算を、さらに加速することができる。
総パフォーマンス値を、2つの行列の乗算すなわち依存関係行列と個別パフォーマンス値行列との乗算によって求めることができ、または、行列すなわち依存関係行列と個別パフォーマンス値を含むベクトルとの乗算によって求めることができる。乗算の順序によっては、乗算を行うにあたりたとえば、依存行列の転置または個別パフォーマンス値行列の転置、もしくは転置ベクトルを用いてもよい。「転置」とは、行列において要素の現在の行と列とを入れ替えることである。存在するファンクションユニットよりも大きい行列に対し、行列乗算(ベクトル乗算を含む)を実行することができ、これによってシステムの簡単な拡張性が保証される。
現時点の総パフォーマンス値を、計算ファンクションを用いて求めることができる。この計算ファンクションは、ファンクションもしくはプログラムファンクションのファンクションユニットの個数よりも小さい値またはこの個数とは異なる値に対しては、第1の値となるよう、特に0となるよう定義されており、この個数と等しい値に対しては、第1の値とは異なる第2の値となるよう、特に値1となるよう、定義されている。このファンクションをたとえば、x軸上でシフトするステップ関数とすることができ、この関数は場合によっては、シフトされたシグモイド関数と呼ばれることもある。ファンクションにおけるファンクションユニットの個数よりも大きい値を、たとえば発生しないようにすることができるので、それらの値を定義する必要もない。このような計算ファンクションを用いることによって、行列乗算において発生しファンクションにおけるファンクションユニットの個数よりも小さい値を、やはり値1もしくは0に戻すことができる。ファンクションにおけるファンクションユニットの個数と一致する値を、たとえば値1にセットすることができる。これにより、たとえば1つの要素だけに値1が含まれているベクトルと、スカラー値とを乗算すれば、スカラー値の総パフォーマンス値を簡単に求めることができるようになる。
このように、総パフォーマンス値を求めるために、記録された依存関係に従って総パフォーマンス値が記録されているベクトルを用いることができる。有利には、このベクトルと、上述の計算ファンクションを適用して求められたベクトルまたは行列とが乗算される。この場合、数学的に閉じた表現ないしは数学的に自己完結した表現が生成され、それによって特に技術的な認証が容易になる。
両方の選択肢によれば、本発明による方法を周期的に実行することができ、有利には50msよりも短い周期時間で実行することができる。
少なくとも1つのファンクションユニットをネットワークノードとすることができ、特に以下のものとすることができる。すなわち、
・制御エレクトロニクスを備えたステアリングコントロールユニット、または、
・場合によってはインバータおよび/または制御エレクトロニクスを備えた車輪ハブ原動機、または、
・アクセルペダル値を読み取って伝送するタスクを担うネットワークノード、
・右後輪、同様に左後輪または他の個所の車輪における駆動原動機を備えたネットワークノード、または、
・アクセルペダルセンサ値から、駆動されている右後輪および左後輪または他の個所における車輪を制御するための目標設定値を求めるタスクを担うプログラムファンクション。
ネットワークノードを、データ伝送ネットワークの構成部分とすることができ、特にデータパケットを伝送するデータ伝送ネットワーク、たとえばLAN(Local Area Network)/EthernetまたはWLAN(ワイヤレスLAN)の構成部分とすることができる。
少なくとも1つのファンクションユニットを、プログラムファンクション自体によって実現することができ、たとえばファンクション「ドライビング」"Fahren"のためのプログラムによって実現することができる。ファンクションユニットのレベルにおいてプログラムファンクションはたとえば、データを供給できるか(ランニング状態Running)または実行不可能であるか(アイソレーション状態Isolated)、に関してのみ考察され、その際、特に、データが正しいか否かについては考慮されない。
車両の「ドライビング」"Fahren"のためのファンクションを設けることができる。ドライビングのためのファンクションは、以下のファンクションユニットのうちの少なくとも1つを含むことができる。すなわち、
・アクセルペダル"Fahrpedal"に関するファンクション、
・少なくとも1つまたは少なくとも2つまたは少なくとも4つの、車輪"Rad"に関するファンクション、これらは特に駆動原動機"Antriebsmotor"に関するファンクションをそれぞれ含む、
・ドライビングに関するプログラム、
のうちの少なくとも1つを含むことができる。
別の選択肢として、またはこれに加えて、ブレーキング"Bremsen"のためのファンクションを設けることができる。ブレーキングのためのファンクションは、以下のファンクションユニットのうちの少なくとも1つを含むことができる。すなわち、
・ブレーキペダルにおける運転者のブレーキング要求を読み取るユニット、
・ブレーキハイドロリクスを制御するユニット、
・有利には少なくとも2つのユニットであって、ブレーキングにも使用可能である電気的に駆動される車輪、たとえば右後輪および左後輪、
・運転者が要求するブレーキング命令を、車輪たとえば右後輪または有利には左後輪のための、さらにハイドロリックブレーキを制御するネットワークノードのための、目標ブレーキング設定に変換するタスクを担うプログラムファンクション、
のうちの少なくとも1つを含むことができる。
別の選択肢として、またはこれに加えて、ステアリングのためのファンクションを設けることができる。ステアリングのためのファンクションは、以下のファンクションユニットのうちの少なくとも1つを含むことができる。すなわち、
・ステアリングコントローラの制御および実際ステアリングポジションの出力、
・ステアリングホイールにおける目標ステアリング角の評価、
・プログラムファンクションであるコントローラ設定=f(実際ステアリング角、目標ステアリング角)、
のうちの少なくとも1つを含むことができる。
支援機能のためのファンクションを、ABS(アンチロックシステム)、ESP(エレクトロニックスタビリティシステム)またはフルオートマチックドライビングに関するものとすることができる。この場合、ここで挙げた支援機能のうちの1つまたは2つ、またはすべての支援機能を設けることができる。
同様に航空機であれば、以下のプロセスのためのファンクションを設けることができる。すなわち、地上走行(タキシング)、離陸、浮揚、上昇、巡航、降下、進入、着陸、停止までの地上走行。
クラスタパフォーマンス値を、複数のファンクションまたはすべてのファンクションに対し同じ基準で、規定することができ、または規定しておくことができる。このような措置によって、ファンクションのレベルにおいても簡単な拡張性を実現することができ、および/または、システム設計にあたり高度なフレキシビリティを実現することができる。
有利には、以下のクラスのうちの少なくとも1つ、または少なくとも2つ、またはすべてを考慮することができる。すなわち、
・最も重要な1つのファンクション、または最も重要な複数のファンクション、
・2番目に重要な1つのファンクション、または2番目に重要な複数のファンクション、
・重要度の低い1つのファンクション、または重要度の低い複数のファンクション。
このようなシンプルなクラス分けによって、システム全体に対するそれらの重要性に従い、および/または、たとえば人の健康もしくは輸送すべき有価物の危険に対する重要性に従い、ファンクションの重み付けを実現することができる。
さらにたとえば、複数のファンクションユニットに対する総パフォーマンス値に関しても、もしくは1つのアプリケーション/ファンクション/プログラムファンクションに対する総パフォーマンス値に関しても、クラスタパフォーマンス値の場合には、以下の判定基準のうちの少なくとも1つ、または少なくとも2つ、またはすべてを関連させることができる。すなわち、
・乗員および/または貨物の損傷という点でのエラーの影響、
・メンテナンスタスクまたはメンテナンスインターバルの不足、
・ドライビングまたはドライビングタスクまたはフライトの中断。
このような手法により(包括的に)すなわち複数のファンクションに対して規定することによって、この場合にも、さらに別のファンクションをシステムに簡単に挿入することが保証される。
1つのクラスタにおける複数のファンクションもしくはプログラムファンクションに対するクラスタリングパフォーマンス値を、たとえばクエリを介して求めることができ、特にIF THENクエリまたはCASEクエリ(ケース依存性)を介して求めることができる。この種のクエリは、広く普及している多くのプログラム言語に用意されている。クラスタを用いれば、リアルタイムアプリケーションにおいて貴重な計算時間を節約することができる。さらに、いわゆるWORST()ファンクションを用いることもでき、このファンクションによれば、現時点で最悪のパフォーマンス値が求められる。
特に上述の方法の実施に適した装置は、以下を含むことができる。すなわち、
・記憶ユニット。この記憶ユニットには、第1のプログラムファンクションの実行時に用いられる複数のファンクションユニットに対する個別パフォーマンス値と、多重にインプリメントされた複数のファンクションに対して規定されている総パフォーマンス値との間の、第1の依存関係が記録される、または記録されている。さらにこの記憶ユニットには、第2のプログラムファンクションの実行時に用いられる複数のファンクションユニットに対する個別パフォーマンス値と、規定されている総パフォーマンス値との間の、第2の依存関係が記録される、または記録されている。
・算出ユニット。この算出ユニットは、第1のプログラムファンクションにおける複数のファンクションユニットの現時点の第1の個別パフォーマンス値と、第2のプログラムファンクションにおける複数のファンクションユニットの現時点の第2の個別パフォーマンス値とを求める。
・第2の算出ユニット。この第2の算出ユニットは、求められた第1の個別パフォーマンス値と、記録された第1の依存関係とを、第1の総パフォーマンス値を求めるまたは計算するために用いる。さらにこの第2の算出ユニットは、求められた第2の個別パフォーマンス値と、記録された第2の依存関係とを、第2の総パフォーマンス値を求めるまたは計算するために用いる。
・第3の算出ユニット。この第3の算出ユニットは、第1の総パフォーマンス値と、第2の総パフォーマンス値とから、クラスタパフォーマンス値を求める。
・選択ユニット。この選択ユニットは、クラスタパフォーマンス値を、または、このクラスタパフォーマンス値から求められたまたは計算された少なくとも1つの値を、多重にインプリメントされたファンクションを提供する目的で、第1のプログラムファンクションおよび第2のプログラムファンクションまたは他のプログラムファンクションを選択するために用いる。
複数またはすべてのファンクションに対するクラスタパフォーマンス値を、またはこのクラスタパフォーマンス値から計算された少なくとも1つの値を、多重にインプリメントされたファンクションを提供する目的で、すなわちマスタとスレーブを切り替える目的で、もしくはパフォーマンス向上のために冗長的に構成されている一方のクラスタをアクティブにする目的で、そのクラスタのプログラムファンクションまたは他のクラスタの他のプログラムファンクションを選択するために、用いることができる。
よって、本発明による方法に関して挙げた技術的な効果は、この装置および対応するその実施形態についても当てはまる。特にクラスタリングによって、計算時間の節約が達成される。
さらに、特に上述の方法の実施に適した装置は、以下を含むことができる。すなわち、
・記憶ユニット。この記憶ユニットには、1つのプログラムファンクションの実行時に用いられるファンクションユニットに対する個別パフォーマンス値と、多重にインプリメントされたファンクションに対して規定されている総パフォーマンス値との間の、依存関係が記録される、または記録されている。
・算出ユニット。この算出ユニットは、(ファンクションもしくはプログラムファンクションの)ファンクションユニットの現時点の個別パフォーマンス値を求める。
・別の算出ユニットまたは計算ユニット。このユニットは、求められた個別パフォーマンス値と、記録された依存関係とを、(ファクションもしくはプログラムファンクションに対する)、特に現時点の、総パフォーマンス値を求めるまたは計算するために用いる。
・選択ユニット。この選択ユニットは、現時点の総パフォーマンス値を、または、この総パフォーマンス値から求められたまたは計算された少なくとも1つの値を、多重にインプリメントされたファンクションを提供する目的で、上述のプログラムファンクションを選択するために、または他のプログラムファンクションを選択するために、用いられる。
よって、本発明による方法に関して挙げた技術的な効果は、この装置および対応するその実施形態についても当てはまる。
さらに車両、船舶、または航空機に、このような装置を装備させることができる。この場合、上述の技術的な効果が同様に当てはまる。冗長性およびそれに関連する方法すなわちファンクションユニットの性能もしくは障害を求める方法は、特に上述の輸送手段の自律制御を行う場合に効果を発揮する。なぜならばその場合、人と貨物に対する危険を最小限に抑えるためには、技術的なコストが正当化されるからである。
車両を電気車両、内燃機関車両、またはこれら両方の駆動形態によるハイブリッド車両とすることができる。この場合、人員を輸送するための自動車、バス、または貨物車両または他の有用車両とすることができる。ただし車両と航空機のほか、この装置をボートまたは船舶に設けてもよい。
別の表現をすれば、ファンクション品質を評価するための方法が呈示される。フォールトトレラントシステムの基本的な問題は、分散型ネットワークに冗長構成が設けられているにもかかわらず、アクチュエータもしくは作動機構の制御において一義性を保証することである。
その際、2チャネルまたは3チャネル以上のフォールトトレラント制御システムをベースとすることができる。1つのチャネルのマスタ−スレーブ(サーバント)属性を介して、上述の一義性が形成される。
マスタ−スレーブ方式は、存在する2つのチャネルのうち一方のチャネルを、マスタとして一義的に選択する。マスタチャネルだけがアクチュエータ機構を制御し、これに基づきそのアクチュエータ機構に対し一義的な制御が保証される。
マスタ−スレーブ方式のベースを、各チャネルのパフォーマンスを評価するメトリクスと、各チャネル相互間のパフォーマンスの比較とすることができる。特にここでは、まさにこのようなファンクションパフォーマンスを求めるためのメトリクスおよび方法について説明する。ファンクションに依存しない評価スケールたとえば0〜9もしくは0〜10を、メトリクスとして提案することができる。これを任意に拡張または縮小することができるが、ただしこれによっても、チャネルのファンクションパフォーマンスを計算するための方法論に関しては、何も変わらない。
本発明による方法を、以下のタスクを担う複数の伝達関数の集合によって構成することができる。すなわち、
1)センサ機構/アクチュエータ機構に関するエラー識別子を、ファンクション特有ではない汎用的なデグラデーションレベルすなわち個別パフォーマンス値に変換。
2)センサ機構/アクチュエータ機構のファンクション特有ではないデグラデーションレベルを、依存関係行列すなわち1つ(または複数)の総パフォーマンス値に基づき1つのパフォーマンスレベルごとに、1つのチャネルのすべての個別ファンクションのパフォーマンスレベルに変換。
3)オプションとしてクラスタを用いた場合、1つのチャネルの個別ファンクションのパフォーマンスレベルをそのチャネルのクラスタパフォーマンスレベルに変換。
この方法の目的を最終的には、1つのチャネルのクラスタパフォーマンスレベルまたは総パフォーマンスレベルを求めて、マスタ/スレーブメカニズムに渡すこと、とすることができる。
マスタ−スレーブ方式は、かなり以前から知られている。特に、航空機のプライマリ飛行制御システムおよびセカンダリ飛行制御システムは、これが駆使される適用分野を成している。
自動車業界においてマスタ−スレーブ方式を適用した例もあり、それらは以下のとおりである。すなわち、
[1]Armbruster, Lehmann, Reichel, Zimmer, Tjaden, Ostertag, Werner著、"X-by-Wire platform design-approach; Functionality, Safety and Design", European Automotive Safety フランクフルト、2007年。
[2]Michael Armbruster著、"Eine fahrzeuguebergreifende X-by-Wire Plattform zur Ausfuehrung umfassender Fahr- und Assistenzfunktionen"(広範囲に及ぶ走行機能および支援機能を実施するための、車両全体にわたるX-by-Wireプラットフォーム)、シュトゥットガルト大学航空システム研究所、2009年、論文。
文献[1]には、プライオリティベースのマスタ−スレーブメカニズムの原理が開示されているが、まさにそのプライオリティを求めるために、ファンクション特有ではないもしくは汎用的な方法論は開示されていない。
マスタ−スレーブ方式自体はさして複雑なものではないという理由から、ここで前提としているのは、チャネルのパフォーマンスを求める方法は原則的に、対応するシステム供給者には知られているが、そこにメカニズムのトリックがあるので、それらの方法は公開されない、ということである。ここで示す方法はたとえば、ファンクションパフォーマンスの評価を抽象化する、という点で、本来のファンクションとは、以下のレベルのいずれであれ、異なっている。すなわち、
・ネットワークノードのレベル、たとえばステアリングエレクトロニクス、ブレーキングエレクトロニクス、ビデオコントローラのレベル、
・個別ファンクションのレベル、たとえばステアリング、ドライビング、ブレーキング等のレベル、または、
・ファンクションクラスタのレベル、ただし1つのファンクションクラスタは複数の個別ファンクションを統合することができる。これによってマスタ−スレーブ方式を、1つの個別ファンクションに対してではなく、複数のファンクションから成るクラスタに対して、適用することができる。このことで最終的には、計算ストが節約される。ただしこの方法を、個別ファンクションに適用することもできる。
たとえばこのようなアプローチが必要とされるのは、拡張可能なシステムにおいて対応するパフォーマンスレベルの計算を使用できるようにするためであり、たとえばキーワードはsafe Plug’ n Playである。
上述のように本発明による方法を、以下のタスクを担う複数の伝達関数の集合によって構成することができる。すなわち、
・ステップ1:センサ機構/アクチュエータ機構に関するエラー識別子を、ファンクション特有ではない汎用的なデグラデーションレベルに変換する。
・ステップ2:センサ機構/アクチュエータ機構のファンクション特有ではないデグラデーションレベルを、依存関係行列に基づき1つのパフォーマンスレベルごとに、1つのチャネルのすべての個別ファンクションのパフォーマンスレベルに変換する。
・ステップ3(オプション):1つのチャネルの個別ファンクションのパフォーマンスレベルを、そのチャネルの総パフォーマンスレベルに変換する。
次に、これらのステップについて詳述する。
ステップ1:ユニット/ネットワークノードのファンクション特有ではない汎用的なデグラデーションレベル
エラー識別はたとえば、入力データストリームに適用される公知の標準エラー識別メカニズムに基づく。考えられる中心的なエラーインジケータは、たとえば以下のとおりである。すなわち、
・データが受信されない、
・誤ったCRC(巡回冗長符号)、
・値範囲内ではない値、
・冗長データの不一致、
・妥当でないデータ、これはたとえばモデルとの比較に基づき識別される。
図3は、これまでたとえば11個のタイプにネットワークノードが分類されている様子を、テーブル1として示している。図3には、ユニット/ネットワークノードもしくはファンクションユニットのパフォーマンスの抽象化が示されている。各タイプは、明確に定義されたデグラデーションレベルの集合を有することができ、それらのデグラデーションレベルが、後続のパフォーマンス計算において相応に考慮される。この場合、11個のデグラデーションレベルよりも多いまたは少ないデグラデーションレベルを用いてもよい。ここで決定的であるのは、クラスの個数ではなく、クラスの形成(ここでは11個)それ自体と、クラスごとに制限された個数のデグラデーションレベルである。
ユニットタイプの場合、たとえば以下の順序で以下の点が異なっている。すなわち、
・冗長性それ自体、
・値冗長性、および、
・通信リンク冗長性。
つまり"simplex/single/single-link"が意味するのは、該当するユニットもしくは対応するファンクションユニットが冗長的には設計されておらず、かつ値冗長性がなく、かつ単一の通信リンクでありつまりやはり冗長性がない、ということである。
たとえば、アプリケーションとファンクションとの間には相違点はないが、ただしファンクションはプログラムファンクションとは、以下の点で異なっている場合がある。すなわちファンクションは輸送手段(車両)全体にわたって分散されており、プログラムファンクションは1つの制御装置たとえばECU(Electronic Control Unit電子制御ユニット)内に実装されており、これはたとえばソフトウェアプログラムとして、またはプログラムを実行するプロセッサのない回路として実装されている。
クラスタは、1つの論理的な抽象化レベルである。
アプリケーションは、ネットワークノードにおいて実行される。1つのユニットは1つのネットワークノードである。この場合、プログラムファンクションのパフォーマンスレベルが計算され、それらのプログラムファンクションは、それぞれ異なるネットワークノードにおいて冗長的に実行され、データを他のネットワークノードから受け取り、さらに別のネットワークノードへデータを再び送信する。
ステップ2:個別ファンクションのパフォーマンスレベル
タスク:アプリケーションソフトウェアコンポーネントであるステアリング、ブレーキングおよびドライビングのパフォーマンスレベルを、ユニットのデグラデーションレベルに基づき計算することができる。1つのユニットを先行のセクションの1つのタイプに、一義的に割り当てることができる。したがってこれに基づき各ユニットごとに、明確に定義されたデグラデーションレベルから成る固有の集合を生成することができる。
最終的に目標とすることができるのは、1つのアプリケーションソフトウェアコンポーネントのパフォーマンスレベルと、ユニットのデグラデーションレベルとの関係を、コンパクトかつシステマティックにかつ機械が理解できるように記述することである。別の抽象化として、複数のアプリケーションSW(ソフトウェア)コンポーネントのパフォーマンスレベルを、1つのクラスタパフォーマンス値にまとめることができる。ただしこのような間接的な手法はオプションであって、最終的には、グループとして複数のアプリケーションSWコンポーネントの共通のマスタ/スレーブ切り替えを実現することができ、これによってたとえば貴重な計算時間を節約することができる。
以下では、このことを行列によってどのようにして記述することができるのかについて、1つのアプローチを示す。このために以下を定義する。すなわち、
Figure 0006377168
これに関連して以下が成り立つ。すなわち、
Figure 0006377168
ただしsgnAppMaは、図14を参照しながら説明するファンクションである。
この例において、この関係について以下で説明することにする。
ステップa) 依存関係行列Aの作成
最初に、たとえばファンクション「ドライビング」に対して、図4に示したテーブル2が適用される。このテーブルにおいて用いられているシンボルは、論理式において以下の意味を有する。すなわち、
・"-"は影響なし、すなわち対応する値はこの個所では考慮されない、
・"&"はAND結合、さらに、
・"|"はOR結合。
ステップa)において、図4に示されたコンフィギュレーションフィールド(テーブル2)が&依存関係だけしか含まないようになるまで、この行列はさらに詳細に定義される。その結果、図5(テーブル3)による行列が得られるようになる。つまり、すべての順列を明示的に記述することができる。
たとえば、ファンクション「ドライビング」に対する依存関係行列Aもしくは
Figure 0006377168
は、テーブル4に示されているようになる。図6を参照。依存関係行列Aには値0と1だけしか含まれていないので、これをバイナリマッピングとすることができる。OR結合"I"と、該当するパフォーマンスレベルに対し何の影響も及ぼさないユニットもしくはそれらのユニットのデグラデーションレベルに対するシンボル"X"とを除去することによって、バイナリマッピングが実現される。
パフォーマンス値を求めるために、図8もしくはテーブル5に示したルールセットを適用することができる。このルールセットを、アプリケーションに依存することなく、たとえば以下のアプリケーションに適用することができる。すなわち、
・ドライビング、および/または、
・ブレーキング、および/または、
・ステアリング、および/または、
・支援:たとえばABS(アンチロックシステム)および/またはESP(エレクトロニックスタビリティプログラム)および/またはフルオートマチックドライビング。
ステップb) デグラデーション行列の導出
周期的に、たとえば50msよりも短い、または10msよりも短い、または5msよりも短いインターバルで、RTE(Run Time Environmentランタイム環境)において計算されたユニットのデグラデーションレベルから、デグラデーション行列Xを作成することができる。たとえばここで前提となり得るのは、ユニットの各デグラデーションレベルごとに、たとえば値0と1を有することのできる別個の変数を用いる、ということである。
デグラデーション行列Xもしくは
Figure 0006377168
の列は、依存関係行列の決定に関連するユニットのデグラデーションレベルを表している。図5には、列の意味が例示されており、枠内に説明されている。図10には、デグラデーション行列Xの一部分が示されている。デグラデーション行列Xもしくは
Figure 0006377168
において、仮想的なユニットのデグラデーションレベルを表すためにソフトウェア(SW)で利用可能な変数は、たとえば以下のように表される。すなわち、
Var (degLevel (i) ) . virtAgg(k) 式(2)
これらのデグラデーションはたとえば、構造体AggregateStatus_tにおける型attribute_performanceLevel_tの変数degradationLevelから得られる。
この場合、上述のように規定されたユニットクラスについて、変数degradationLevelの10進数値と対応するDegLevelとの間の対応関係が得られ、これはテーブル6もしくは図9に示されており、ここで"X"は例えば値"1"に対応し、"-"は値"0"に対応する。
ユニットを、RTE(Run Time Environmentランタイム環境)においてコンフィギュレーションすることができる。1つのアプリケーション(i)の入出力データ各々を、正確に1つのユニットに割り当てることができる。
例を挙げると、図10においてデグラデーション行列Xの一部分について示されているような、ファンクション「ドライビング」"Fahren"に対するデグラデーション行列Xが得られる。図示されていない列は、以下の内容で占められている。すなわち、
・VirtAgg_Rad_HL, Deg0, Deg1 - single link, DegN ->
var (degLevel0 ).virtAgg(Rad_HL),
var (degLevel1).virtAgg(Rad_HL)もしくは
var (degLevelN).virtAgg(Rad_HL),
・VirtAgg_Rad_HR, Deg0, DegN - single link, DegN ->
var (degLevel0 ).virtAgg(Rad_HR),
var (degLevel1).virtAgg(Rad_HR)もしくは
var (degLevelN).virtAgg(Rad_HR),
・オプション、中央の駆動原動機"Antriebsmotor"の場合:
VirtAgg_Antriebsmotor, Deg0, DegN - 使用不可 -> var (degLevel0 ).virtAgg(Antriebsmotor),
var (degLevelN).virtAgg(Antriebsmotor),
・アプリケーション「ドライビング」Applikation "Fahren", Deg0 (Running), DegN (Isolated) ->
var (degLevel0).virtAgg(Applikation_Fahren),
var (degLevelN).virtAgg((Applikation_Fahren).
ここでは、デグラデーション行列Xの各列には、値1または値0しか存在することができない、ということが適用される。これについては、図12および図13を参照しながら、あとでさらに詳しく説明する。
ステップc) パフォーマンスベクトルの抽出
第3のステップにおいて、パフォーマンスベクトルpもしくは
Figure 0006377168
が、たとえば当初のテーブル4もしくは図6から読み取られる。これについては、図11(テーブル7)に示されている。
ステップd) 補正行列Kもしくは
Figure 0006377168
の導出
Figure 0006377168
を計算すると、たとえば主対角線の要素だけ、すなわちつまりすべてのCiiだけが着目される行列が発生する。補正行列
Figure 0006377168
によって保証されるのは、演算
Figure 0006377168
の実行後、要素diiが<> 0(0と等しくない)だけの行列が生じることである。つまり以下が成り立つ。すなわち、
Figure 0006377168
ステップe) 行列Dもしくは
Figure 0006377168
からベクトルへの変換
有効なパフォーマンス値pi
Figure 0006377168
から抽出できるようになる前に、行列
Figure 0006377168
をベクトルに移行させることができる。
Figure 0006377168
は依然として要素dii <> 0(0と等しくない)だけであることから、たとえば「アイデンティティベクトル」
Figure 0006377168
との乗算が充足される。ここで以下が成り立つ。すなわち、
Figure 0006377168
その結果、以下のとおりとなる。すなわち、
Figure 0006377168
ステップf) 考察しているアプリケーション(i)の現時点で有効なパフォーマンス値もしくはパフォーマンスレベル値の抽出
アプリケーション(i)に対し最終的に現時点で生じているパフォーマンスレベルは、結局は以下のとおりとなる。すなわち、
Figure 0006377168
この場合、要素d11〜dnnには1つだけ値1が含まれ、他の値はすべて0である。
したがってこの場合、特に、閉じた数学的表現ないしは自己完結型の数学的表現を得る目的で、補正行列Kを用いることができる。別の選択肢として、補正行列Kは用いられず、したがってステップe)およびf)を省くことができる。この場合には、要素d11〜dnnを行列Cから直接取り出すことができ、たとえば主対角線または1つの行からも取り出すことができる。
ステップ3:ファンクションクラスタ/パーティションのパフォーマンスレベル
タスク:"APPLICLUSTER Performance Calculation"のタスクを、APPLICLUSTERのすべてのアプリケーションソフトウェアコンポーネントのパフォーマンスに基づき、パフォーマンスクラスタPC全体のただ1つのパフォーマンス値を計算すること、とすることができる。
基礎を成すアプローチ:このチャレンジは、プラグ&プレイ(PnP)というフレームワークにおいて拡張可能な手法を見出すことにあり、その目的は、複数のアプリケーションソフトウェアコンポーネントのパフォーマンスレベルを、APPLICLUSTERのパフォーマンスレベルに伝達することである。
初回のインプリメントのために、以下のストラテジを遂行することができる。
テーブル8
Figure 0006377168
Figure 0006377168
ここでiとjは、自然数1,2,3等である。その際、複数の最も重要なアプリケーションおよび/または複数の2番目に重要なアプリケーションを存在させてもよい。
テーブル8の上述の定義によれば、1つのクラスタにおいて複数のパフォーマンスレベルが該当する可能性もあるので、他のすべての考察に対し最も悪いパフォーマンスレベル(PL)が用いられ、その他のパフォーマンスレベルは破棄される。つまりこの場合、WORST()ファンクションが適用される。
1つのパフォーマンスクラスタPCのパフォーマンスレベルの決定は、たとえば図15(テーブル9)に示された原理に従う。この場合、以下のデグラデーション情報を用いることができる。すなわち、
・1つのアプリケーション(i)は、それが実行不可能な場合、またはそのアプリケーションのDL-Appli(Direct-Lawダイレクト・ロー)もしくはDLアプリケーションが実行される場合、最大のデグラデーションを有し得る。DLアプリケーションは、本来のいわゆる「ノーマル・ロー」"normal law"アプリケーションが、まさしくそのアプリケーションに対応づけられるべきエラーを引き起こしたケースのための、代替アプリケーションである。ダイレクト・ロー・アプリケーションは、非常にシンプルに実装されており、運転者のためにトレーニングケースを成し得るものであるが、トレーニングされた運転者であればこそ、車両を依然として安全に停止させることができるのに十分なものである。
・「1つのアプリケーション(i)の低減された可用性」は、そのアプリケーションのパフォーマンスがYELLOW4よりも良好であるかまたはそれと同等である、ということを意味し得るものである。
アプリケーションのためにもクラスタのためにも、パフォーマンスレベルに対して他の規定を用いてもよく、特に異なる個数のパフォーマンスレベルを用いてもよい。
したがって、ファンクション特有の情報を、ファンクション特有でない汎用的な、つまり同等の情報に抽象化するための、システマティックな方法が記載される。このような抽象化を、評価テーブルと、上述の説明および以下に続く説明による方法/伝達関数によって、構成することができる。以下の説明には、評価テーブルも示されている。
これまで述べてきた本発明固有の事項、本発明の特徴、利点ならびにその実現手法は、以下の実施例の説明と関連させて、さらにはっきりと明確に理解できるようになる。本願において「できる」という概念が用いられるところでは、技術的に可能であることも、実際に技術的に実現されることも扱われる。また、本願において「ほぼ」という概念が用いられる場合、そのことは、厳密な値も開示されていることを意味する。
さらに図面は縮尺どおりには描かれておらず、特に各要素のアスペクト比が異なるように選択されている場合もある。
次に、添付の図面を参照しながら本発明の実施例について説明する。
自動車における複数のファンクションユニットもしくは複数の集合体を示す図 「ドライビング」という用途のための複数のファンクションユニットのうち、互いに冗長構成を成す2つのアプリケーションを示す図 ユニットもしくはネットワークノードのパフォーマンスもしくは性能に対して規定されたクラスを示す図 第1の設計段階による依存関係行列Aを示す図 第2の設計段階による依存関係行列Aを示す図 第3の設計段階による依存関係行列Aを示す図 第3の設計段階による依存関係行列Aの1つのセクションを示す図 それぞれ複数のユニットもしくはネットワークノードを含む複数のアプリケーションに対するパフォーマンスレベルの規定について示す図 変数「デグラデーションレベル」の10進数値と、対応するデグラデーションレベルとの対応関係、さらにこれらとユニットもしくはネットワークノードのクラスとの対応関係を示す図 ファンクションもしくはアプリケーション「ドライビング」"Fahren"に対するデグラデーション行列を示す図 パフォーマンスベクトルを示す図 デグラデーション行列Xの1つのセクションと、依存関係行列Aの1つのセクションとの行列乗算に関する第1の例を示す図 デグラデーション行列Xの1つのセクションと、依存関係行列Aの1つのセクションとの行列乗算に関する第2の例を示す図 プロダクト行列Cの各要素を単純化するファンクションを示す図 複数のアプリケーションから成る1つのクラスタのパフォーマンスレベルを求める原理を表すテーブルを示す図 ファンクションクラスタのパフォーマンスを求める方法を実施する際の処理ステップを示す図
図1には、自動車10における複数のファンクションユニットもしくは複数のユニットないしは集合体が示されている。自動車10はたとえば自家用車であり、以下を含む。すなわち、
・右前輪VR
・左前輪VL
・右後輪HR
・左後輪HL
・バッテリ12および(ハイブリッド)/または燃料タンク12
・ハンドル14
・アクセルペダル16
・2つの制御ユニット18,18b
・右後輪HRのための車輪ユニット20つまりたとえば電動機、インバータ、および/または電子制御装置
・左後輪HLのための車輪ユニット22つまりたとえば電動機、インバータ、および/または電子制御装置。
2つの車輪ハブ原動機の代わりに、1つの中央駆動原動機Mたとえば電動機、内燃機関、またはハイブリッドエンジンを用いてもよい。さらに別の選択肢として、4つの車輪ハブ電動機を用いてもよい。
制御ユニット18は、
・データとプログラム命令を記憶するデータ記憶装置M1と、
・プロセッサP、たとえばマイクロプロセッサまたはマイクロコントローラもしくは複数のプロセッサと、
・たとえば「ドライビング」"Fahren"など、1つまたは複数のプログラムファンクション、略してAPFすなわちソフトウェアファンクションと
を含む。
別の選択肢として制御ユニット18を、プログラムによらず単に電子回路として構築してもよく、たとえばASIC(Application Specific Integrated Circuit)または結線をプログラミング可能な同等の回路を使用して構築してもよい。
制御ユニット18は、中央制御装置の一部として表されている。択一的に制御ユニット18を、分散型制御装置の一部としてもよい。
制御ユニット18はバスシステム24と接続されており、したがって1つのネットワークノードを成している。バスシステム24はたとえばEthernet、CANネットワーク(Controller Area Network)またはFlexRayバスである。択一的にバスシステム24としてLAN(Local Area Network)を用いてもよく、特に冗長的に構成されたLANを用いてもよく、このようなLANによってたとえば、1つの論理平面上に2つのリング構造が形成される。
たとえばバスシステム24と上述のファンクションユニットとの間に、以下の接続ラインが設けられている。すなわち、
・アクセルペダル16へ向かう接続ライン30、
・ハンドル14へ向かう接続ライン32、
・オプションとして設けられる中央原動機Mへ向かうオプションの接続ライン34、
・車輪ユニット22へ向かう接続ライン36、
・車輪ユニット20へ向かう接続ライン40。
別の選択肢として、前輪駆動部または全輪駆動を用いることもできる。
制御ユニット18bはたとえば、制御ユニット18と同じように構成されている。制御ユニット18bはバスシステム24bを介して、上述のユニット14,16,M,20および22と接続されている。
図1に示されているユニットの電圧給電も、二重化または多重化して冗長的に構成することができる。
あとで図2を参照しながら説明する方法または他の方法によれば、ファンクションユニット14,16,M,20,22,APF等のパフォーマンス値/デグラデーション値に従って、いずれの制御ユニット18,18bを目下アクティブにすべきか、およびいずれが非アクティブであるのか、が決定される。ここで「アクティブ」が意味するのは、アクティブな制御ユニットによってドライビングが制御される、ということである。「非アクティブ」は、該当する制御ユニットがスイッチオフされた状態にある、ということを意味する場合もあるし、または該当する制御ユニットは動作しているけれども、その制御信号は自動車10の目下の制御のためには用いられない、ということを意味する場合もある。このコンテキストにおいて、主従方式もしくはマスタ−スレーブ方式という呼び方も用いられる。個別パフォーマンス値および総パフォーマンス値の算出については、あとで図3〜図16を参照しながら説明するが、それらの説明は、必ずしも図1および図2に示したコンフィギュレーションを引き合いに出したものではなく、それよりも一般的に当てはまるものである。
図2には、「ドライビング」"Fahren"という用途のための複数のファンクションユニットのうち、互いに冗長構成を成す2つのアプリケーションもしくは適用事例が示されている。図2には、著しく簡略化された形態で、2チャネルの車輪アクチュエータ50が示されている。
第1のアクチュエータチャネル54は、
・二重化されていないアクセルペダル16と、
・このアクセルペダル16と、データ処理装置もしくは制御ユニットDVAaもしくは18との間の、たとえばバスシステムの一部である通信リンクK1abと、
・制御ユニットDVAaと、やはり二重化されていない車輪ユニット20,22との間の、たとえばバスシステムの一部である通信リンクK2abと、
を含んでいる。
第2のアクチュエータチャネル56は、
・同様に、二重化されていないアクセルペダル16と、
・このアクセルペダル16と、データ処理装置もしくは制御ユニットDVAbもしくは18bとの間の、たとえばバスシステムの一部である通信リンクK1abと、
・制御ユニットDVAbと、やはり二重化されていない車輪ユニット20,22との間の、たとえばバスシステムの一部である通信リンクK2abと、
を含んでいる。
第1のアクチュエータチャネル54は、マスタMとしてアクティブである。第2のアクチュエータチャネル56は、たとえば目下のところスレーブ/サーバントDとして扱われ、つまりこのチャネルは目下、アクティブではなく、ただし第1のアクチュエータチャネル54においてエラーが発生した場合のフォールバックポジションを成している。
制御ユニットDVAaおよびDVAbは常時、たとえば50msよりも短いタイムインターバルで、第1のアクチュエータチャネル54もしくは第2のアクチュエータチャネル56のステータスクエリもしくはエラー検出60もしくは62を実行する。ついでクエリ結果に基づき、ユニットもしくはネットワークノードに対する個別パフォーマンス値と、該当するアクチュエータチャネル54もしくは56を成すアプリケーションに対する総パフォーマンス値とが求められる。これは基本的に、あとで図3〜図14もしくは図3〜図16を参照しながら説明するようにして行うことができる。複数のアプリケーションによって1つのクラスタを形成することができ、このクラスタに対し1つのクラスタパフォーマンス値を求めることができ、これについてはあとで特に図15および図16を参照しながら説明する。ただし、クラスタ形成を伴わないマスタ/スレーブ方式も可能である。
上述のパフォーマンス値を、制御ユニットDVAa、制御ユニットDVAb、両方の制御ユニットDVAaとDVAbにおいて冗長的に、または上位の制御ユニットにおいて、求めることができる。
データ処理装置(コンピュータ)DVAaには、特に以下のプログラムファンクションをインストールしておくことができる。すなわち、
・プログラムファンクション「ドライビング」"Fahren" APFa、
・プログラムファンクション「ステアリング」"Lenken" APLa、
・プログラムファンクション「ブレーキング」"Bremsen" APBa、および必要に応じて、
・さらに別のプログラムファンクション57a(ABS(アンチロックシステム)、ACC(オートマチッククルーズコントロール)、ESP(エレクトロニックスタビリティプログラム)など)。
データ処理装置(コンピュータ)DVAaには、特に以下のプログラムファンクションをインストールしておくことができる。すなわち、
・APFaに対し冗長構成となるプログラムファンクション「ドライビング」"Fahren" APFb、
・APLaに対し冗長構成となるプログラムファンクション「ステアリング」"Lenken" APLb、
・APBaに対し冗長構成となるプログラムファンクション「ブレーキング」"Bremsen" APBb、および必要に応じて、
・57aに対し冗長構成となるさらに別のプログラムファンクション57b(ABS(アンチロックシステム)、ACC(オートマチッククルーズコントロール)、ESP(エレクトロニックスタビリティプログラム)など)。
プログラムファンクションAPFはたとえば、1つのプログラムファンクションのみを含む1つのクラスタを成しており、もしくはクラスタには対応づけられていない。プログラムファンクションAPLおよびAPBは、たとえば複数のプログラムファンクションもしくはファンクションユニット群を含む1つのクラスタを成しており、これについてはあとで詳しく説明する。クラスタに対しスカラー量のパフォーマンスレベルが計算され、これはマスタMとスレーブDを選択するために用いられる。
これらのプログラムファンクションAPF,APL,APB等のために、および/または、これらのプログラムファンクションにより用いられるファンクションユニットのために、パフォーマンス値(パフォーマンスレベル)が、あとで詳しく説明するようにして計算されて、少なくとも1つのデータベースに記憶され、または冗長性という理由から、たとえば2つのデータベースDBaおよびDBbに記憶される。
両方のデータベースDBa,DBbには、同じデータを記憶させることができる。データ処理装置DVAa、略して装置DVAaは、たとえば通常のケースでは、データベースDBaにアクセスする。データ処理装置DVAb、略して装置DVAbは、たとえば通常のケースでは、データベースDBbにアクセスする。データベースDBaとDBbとの間で、データの比較58を行うことができる。
データの比較58に関しては、たとえば上述のM. Armbrusterによる論文[2]を参照されたい。単純化した視点で想定すれば、つまりたとえば非同期のスタートおよび他の非同期性に関連する問題を考慮しなければ、両方の装置DVAaおよびDVAbは、データ整合方法を用いることで、互いに同じ見え方をするし、ネットワーク内の他のすべてのユニットに対し同じ見え方をする、ということができる。見え方が同一であれば、たとえば装置DVAaは装置DVAbに対し優先され、その場合、装置DVAaはマスタMである。
見え方に差異が生じ、ひいてはプログラムファンクションAPF,APL,APB等に対するパフォーマンスレベルがそれぞれ異なるようになる可能性があるとすれば、それはたとえばデータ伝送において、1つの論理レベルで偏差またはエラーが発生した場合である。
したがって2つのデータ伝送リング構造を設けることができ、それらのリング構造にはそれぞれ、関連するファンクションユニットおよび装置DVAa,DVAbが含まれている。特に、装置DVAaとDVAbとを、2つのリングセグメントを介して互いに接続することができる。リング構造におけるデータ伝送方向を、ポートの設定により行うことができ、すなわち論理レベルで行うことができる。たとえば1つのポートが故障したならば、データ伝送は別の方向で引き続き行われるが、その場合、装置DVAaとDVAbの見え方は異なる可能性がある。
図3には、ユニットもしくはネットワークノードのパフォーマンスもしくは性能に対して規定されたクラスが、デグラデーションテーブル100として示されている。デグラデーションテーブル100は、以下の内容を含む列102〜108を有している。すなわち、
・列102には、個々のユニットタイプの識別子(ID識別子)が含まれている。
・列103には、ユニットタイプが記載されており、この場合、あとで説明する冗長性フィーチャが考慮される。
・列104には、テーブル100の該当する行のユニットタイプに対し、デグラデーションレベル0が規定されているか否か、およびデグラデーションレベルがどのように定義されているのか、が記載されている。
・列106には、テーブル100の該当する行のユニットタイプに対し、デグラデーションレベル1が規定されているか否か、およびデグラデーションレベルがどのように定義されているのか、が記載されている。
・列108には、テーブル100の該当する行のユニットタイプに対し、デグラデーションレベル2が規定されているか否か、およびデグラデーションレベルがどのように定義されているのか、が記載されている。
図示されていない列において、すべてのユニットタイプに対しデグラデーションレベルNが規定されており、ただしNは、最大デグラデーションを表す自然数であり、たとえば10進数の10である。図9のPL_RED(パフォーマンスレベルREDもしくは赤)も参照。
これよりも多くの列またはこれよりも少ない列を規定してもよいし、および/または、これよりも多くの識別子IDまたはこれよりも少ない識別子IDを設定してもよい。
ユニットタイプを規定する際に、以下の冗長性フィーチャを考慮することができる。すなわち、
・ファンクションユニットの冗長性なし、または多重に設けられたファンクションユニットによる冗長性あり。すなわちこのファンクションに対し、この1つのファンクションユニットだけしか存在しない。
・1つのファンクションユニットに関して値冗長性なし、または値冗長性あり。たとえば複数の値が何回も求められ何回も伝送されるなど。
・通信冗長性なし、特に通信リンク冗長性なし、または多重通信による冗長性あり。特に通信リンク冗長性あり。
1行目110はたとえば、値1の識別子IDに関する。この値には、たとえばユニットタイプ"simplex/single/single-link"が属しており、すなわちユニット冗長性なし、値冗長性なし、そして通信冗長性なし、である。このユニットにおいていかなるエラーも存在しなければ、デグラデーションレベル0となる。デグラデーションレベルN以外の他のデグラデーションレベル、特にデグラデーションレベル1および2は、ユニットタイプ"simplex/single/single-link"に対しては定義されていない。
2行目112はたとえば、値2の識別子IDに関する。この値には、たとえばユニットタイプ"simplex/single/dual-link"が属しており、すなわちユニット冗長性なし、値冗長性なし、ただし二重化された通信もしくはデュアル通信による冗長性あり、である。このユニットにおいていかなるエラーも存在しなければ、デグラデーションレベル0となる。通信リンクにエラーがあれば、デグラデーションレベル1となる。デグラデーションレベル2は、ユニットタイプ"simplex/single/dual-link"に対しては定義されていない。車輪アクチュエータ20,22は、たとえば値2のユニットタイプを有しており、すなわち"simplex/single/dual-link"を有している。
3行目114はたとえば、値3の識別子IDに関する。この値には、たとえばユニットタイプ"simplex/dual/single-link"が属しており、すなわちユニット冗長性なし、値冗長性あり、通信冗長性なし、である。このユニットにおいていかなるエラーも存在しなければ、デグラデーションレベル0となる。デグラデーションレベルN以外の他のデグラデーションレベル、特にデグラデーションレベル1および2は、ユニットタイプ"simplex/dual/single-link"に対しては定義されていない。アクセルペダル16はたとえば、ユニットタイプ"simplex/dual/single-link"を有する。
行114と行128との間にあるその他の行には、たとえばさらに以下の値が記載されている。すなわち、
・ユニット冗長性に対する"duplex"、
・値冗長性に対する"dual-dual"、
・値冗長性に対する"duplex"、さらに
・値冗長性に対する"duo-duplex"。
これらの意味は以下のとおりである。すなわち、
・duplex:ビットが同じ2つの値による値冗長性、
・dual:デルタ整合した2つの値、すなわちたとえば絶対値(値A−値B)<デルタによる値冗長性、さらに
・Duo-XXXX:2つの物理的なボックスもしくはユニットのうちXXXX個の値冗長性がある。
最後から2行目128は、10である識別子IDと、ユニットタイプ"duplex/duo-duplex/dual-link"を有しており、すなわちユニット冗長性と、4倍の値冗長性(それぞれ2つのセンサ値を有する2つのネットワークノード、この場合、ネットワークノードごとにそれぞれ2つの値が比較されるが、2つのネットワークノード相互間の値は比較されない)と、二重化された通信の冗長性とを有する。デグラデーションレベルは、以下のように定義されている。すなわち、
・Deg-Level 0:エラーなし、
・Deg-Level 1:リンク消失、
・Deg-Level 2:センサペア消失。
最後の行130はたとえば、ユニットタイプ"simplex/duo-triple/dual-link"に関する。このユニットタイプに対するデグラデーションレベルは、まだ規定されておらず、すなわち未定義tbd (to be defined)である。最後の行130は省略してもよい。
図4には、第1の設計段階による依存関係行列150aもしくはAが示されている。この依存関係行列150aは、アプリケーション「ドライビング」"Fahren"に関する。この場合、依存関係行列150aもしくはAに対し、ないしは依存関係行列150aもしくはA内において、以下の対応づけが適用される。すなわち、
・列152aは、該当する行170a〜186aのパフォーマンスレベル値を表す。
・列154aには、パフォーマンスレベルの言葉による説明が含まれている。
・アクセルペダル16には、ユニット"VirtAgg Fahrpedal"(アクセルペダル)が対応する。2つの列158aを参照。これらの列は左から右へ向かって、デグラデーションレベル0ないしはNに割り当てられている。
・車輪アクチュエータ22には、ユニット"VirtAgg Rad HL"(車輪HL)が対応する。3つの列160aを参照。これらの列は左から右へ向かって、デグラデーションレベル0,1もしくはNに割り当てられている。
・車輪アクチュエータ20には、ユニット"VirtAgg Rad HR"(車輪HR)が対応する。3つの列162aを参照。これらの列は左から右へ向かって、デグラデーションレベル0,1もしくはNに割り当てられている。さらに、
・APFには、アプリケーション「ドライビング」"Fahren"が対応する。2つの列166aを参照。これらの列は左から右へ向かって、デグラデーションレベルDeg0(「ランニング状態」"Running")もしくはDegN(「アイソレーション状態」"Isolated")に割り当てられている。
依存関係行列150a,Aの1行目170aは、すべてのユニットが使用可能でありつまりエラーが存在しないパフォーマンス状態に関する。したがって、あとで図8を参照しながら詳しく説明するように、値10のパフォーマンスレベルが生じている。"&"(AND結合のシンボル)、特に要素187aによって表されているのは、ユニット16とユニット22とユニット20とプログラム「ドライビング」"Fahren"が、個別デグラデーションレベルDeg0もしくは「ランニング」"Running"を有する、ということである。したがって、すべてのユニット16,22,20およびプログラム「ドライビング」"Fahren"を使用することができる。
依存関係行列150a,Aの2行目172aは、少なくとも1つのユニットの可用性が減少しているパフォーマンス状態に関する。このことは、値7もしくは6のパフォーマンスレベルに相応する。図8も参照。たとえば車輪アクチュエータ22もしくは"VirtAgg_Rad_HL"は、デグラデーションレベル1を有する。この場合、車輪アクチュエータ20もしくは"VirtAgg_Rad_HR"の状態がDeg0(デグラデーションレベル0)であるのか、またはDeg1(デグラデーションレベル1)であるのかが重要である。要素188aの" | "(OR結合)およびその隣りのOR結合を参照。
依存関係行列150a,Aの3行目174aも、少なくとも1つのユニットの可用性が減少しているパフォーマンス状態に関する。これもやはり、値7もしくは6のパフォーマンスレベルに相応する。図8も参照。たとえばこの場合、車輪アクチュエータ20もしくは"VirtAgg_Rad_HR"は、デグラデーションレベル1を有する。ここでは、車輪アクチュエータ22もしくは"VirtAgg_Rad_HL"の状態がDeg0(デグラデーションレベル0)であるのか、またはDeg1(デグラデーションレベル1)であるのかが重要である。列160aの1〜2列目、つまり車輪アクチュエータ22のデグラデーションレベルDeg0とDeg1に該当する列における" | "(OR結合)を参照。
さらに、依存関係行列150a,Aにおいて、値5のデグラデーションレベルに該当する2つの行176aおよび178aが規定されている。つまり、1つのユニットたとえば車輪アクチュエータ20は使用不可能であり(DegN)、その場合、別の車輪アクチュエータ22の状態Deg0およびDeg1が重要であり、もしくは車輪アクチュエータ22は使用不可能であり、つまりDegNであり、その場合、車輪アクチュエータ20の状態Deg0およびDeg1が重要である。行174aもしくは行176aにおける対応する" | "シンボルを参照。
さらに依存関係行列150a,Aにおいて、3つの行180a〜186aが規定されており、これらの行はデグラデーションレベル0すなわち「ファンクション実行不可能」に該当する。ここではシンボル"X"、たとえば要素189a参照、によって、問題となる状態もしくはデグラデーションレベルが表される。"X"(これは常にユニットに関連する)を含むセルもしくは行は、さらに細分化可能であり、これに関して、行180aに対応する行180cについては図6を参照しながら、行186aに対応する行186cについては図7を参照しながら、あとでさらに詳しく説明する。なお、シンボル"-"が意味するのは、ある特定のデグラデーションレベルは存在しない、ということである。
たとえばファンクション「ドライビング」"Fahren"が実行不可能であるのは、両方の車輪アクチュエータ22および20がデグラデーションレベルDegNである場合、行180a参照、またはアクセルペダル16がデグラデーションレベルDegNである場合、行184a参照、またはプログラム「ドライビング」"Fahren"が状態「アイソレーション」"Isolated"にある場合、行186a参照、である。
以上のとおりこの実施例によれば、依存関係行列150a,Aは当初、10個の列158a〜166aと8個の行170a〜186aを有している。
別の実施例によれば、依存関係行列150a,Aにおける依存関係が、図4に示したものとは異なるように規定され、特に、それよりも多いまたは少ないもしくは別のユニット、プログラム(すなわち列)を用いて、および/または、それよりも多いまたは少ないもしくは別の行ないしは総デグラデーションレベルを用いて、規定される。
図5には、第2の設計段階による依存関係行列Aが示されており、この段階では、依存関係行列150aから依存関係行列150bが発生している。列152b〜166bは列152a〜166aに対応している。また、行170bは行170aに対応している。行172aのOR結合が解かれて、この行172aは、補足された行172b1および172b2によって置き換えられており、この場合、行172b1において、列162bのDeg0列に"&"シンボルがあり、列172b2において、列162bのDeg1列に"&"シンボルがある。列152bの行172b2には、6というパフォーマンスレベル値が生じており、つまり、「2つ以上のユニットの可用性が減少している」ことを表すYELLOW4が生じている。
同様に、行174a,176a,178aのORシンボルが解かれている。行174b1,174b2;176b1,178b2もしくは178b1,178b2を参照。列152bの行174b2には、やはり6というパフォーマンスレベル値が生じており、つまり、「2つ以上のユニットの可用性が減少している」ことを表すYELLOW4が生じている。
したがって、依存関係行列150bには、要素187aに対応する要素187bと、要素189aに対応する行列要素189bが存在する。これに対し、要素188bおよびその右隣の行列要素すなわちOR結合は、もはや存在していない。行172b1および172b2においてそれらの個所には、2×2の行列が存在しており、その際、この部分行列の各行には、"&"シンボルと"-"シンボルが、もしくは"-"シンボルと"&"シンボルが設けられている。この部分行列以外、行172aの値は、行172b1および172b2へそのまま引き継がれている。同様のことは、補足された他の行174b1〜178b2についても当てはまる。
図6には、第3の設計段階による依存関係行列Aが示されており、この段階では、"&"シンボルの個所にたとえば値”1”をセットするようにして、依存関係行列150bから、依存関係行列150cが発生している。さらにその際、シンボル"-"の個所には、たとえばそれぞれ値"0"がセットされる。別の実施形態によれば、場合によってはいっそう簡単に理解できるシンボル"&"および"-"に頼らず、値"0"および”1”がそのまま用いられる。つまり行列150bの要素"&"187bには、行列150cの要素”1”もしくは187cが対応する。
列152b〜166bには列152c〜166cが対応している。また、行170bには行170cが対応している。さらに、補足された行172b1〜178b2には、補足された行172c1〜178c2が対応している。行180b〜186bには、行180c〜186cが対応しており、その際、行180c〜186cには依然として、シンボル"X"が存在している。たとえば要素189bに対応する要素189cを参照。
これらのシンボル"X"は、行180cに関しては以下のように分解される。すなわち行180cから2つの新たな行が生成され、それらの行の要素が、"X"の存在しない個所ではそのまま行180cから引き継がれる。新たに生成された第1の行には、たとえば要素189cの"X"の代わりに"1"が書き込まれ、その右隣にある"X"の個所には"0"が書き込まれる。
別の選択肢として、シンボル"X"を、すでに依存関係行列150bにおいて、"&"シンボルに同じようなやり方で分解してもよく、その際、次のステップにおいて、"&"シンボルを値"1"によって置き換え、シンボル"-"を値"0"によって置き換えることができる。
行186cのシンボル"X"の分解については、あとで図7を参照しながら、シンボル"X"が書き込まれている列158c、160c、162cを引き合いに出して詳しく説明する。行186cの列166cにおける値"0"および"1"はやはりそのまま、補足されたすべての行に引き継がれる。同様のやり方で、行184cにおけるシンボル"X"が分解される。
依存関係行列150cのセクション190には、列160cすなわち車輪アクチュエータ22もしくはVirtAgg_Rad_HLおよび列162cすなわち車輪アクチュエータ20もしくはVirtAgg_Rad_HRと、列170c,172c1〜178c2とのクロスオーバー要素が含まれている。セクション190は、特に図12および図13において、さらに別の計算のプロセスを簡単に説明するために用いられる。自動車10においては一般的に、さらに別の計算をするために依存関係行列A全体が用いられるが、その際、依存関係行列Aが、さらに分解されるシンボル"X"を含め、依存関係行列150cよりもはるかに大きくなる可能性もある。たとえば依存関係行列Aは、50列よりも多く、および/または50行よりも多い。
図7には、第3の設計段階による依存関係行列Aの1つのセクション196が示されている。セクション196は、行186cにおいてシンボル"X"が現れていた列158c、160c、162cを示している。行186cの個所において18個の行186c1〜186c18が補足され、これらの行には、アクセルペダル16のデグラデーションレベルDeg0, DegN、車輪アクチュエータHL,22のデグラデーションレベルDeg0, Deg1, DegN、および車輪アクチュエータHR,20のデグラデーションレベルDeg0, Deg1, DegNに関して現れる可能性のあるすべての順列がリストアップされている。
つまりたとえば列162cには、車輪アクチュエータHR,20のデグラデーションレベルDegN, Deg1, Deg0の値が"1"である3つのグループが存在し、各グループにはそれぞれ6つの行が含まれている。最初の6行には、車輪アクチュエータHL,22のデグラデーションレベルDegN, Deg1, Deg0の値が"1"である3つのサブグループが存在し、その際、各サブグループにはそれぞれ2つの行が含まれている。各サブグループ内において、アクセルペダル16のデグラデーションレベルDegNの値が"1"である行と、アクセルペダル16のデグラデーションレベルDeg0の値が"1"である行とが区別される。ここで挙げなかった1つの行の要素の値は"0"である。すべての順列が考慮されているかぎり、この順列の順序を図示の順序とは異ならせてもよい。
同様のことは、第2のグループ(ユニットHR,20;Deg1 = 1)の6つの列についても、第3のグループ(ユニットHR,20;Deg0 = 1)の6つの列についても当てはまる。行186c1〜186c18の最後に示した3つの点は、それぞれ行186cから値"01"が引き継がれることを表している。
図8には、それぞれ複数のユニットもしくはネットワークノードを含む複数のアプリケーションもしくは用途もしくはプログラムファンクションに対するパフォーマンスレベルの規定について示されている。これらをテーブル200として規定してもよいし、または別の態様で規定してもよい。
テーブル200には、以下の意味を有する列202〜206が含まれている。すなわち、
・列202には、パフォーマンスレベルの10進数値が含まれており、たとえば最高のパフォーマンス値を表す"10"で始まり、最低のパフォーマンス値を表す値"0"まで含まれる。これよりも大きいまたは小さいもしくは異なる10進数値、つまりはパフォーマンスレベルPLを規定してもよい。
・列204には、個々のパフォーマンスレベルPLを理解できるようにした記述が含まれており、最高のパフォーマンス値を表すGREEN(緑色)から始まり、中程度のパフォーマンス値を表すYELLOW1〜YELLOW9(黄色)を経て、最低のパフォーマンス値もしくは最大のデグラデーションレベルを表すRED(赤色)まで含まれる。列204はオプションである。
・列206には、特定のパフォーマンスレベルPCに当てはめるための選択基準もしくは選択条件が、言葉による形態または他の適切な形態で含まれている。
さらにテーブル200には、以下の意味を有する行210〜230が含まれている。すなわち、
・行210は、値"10"を有するパフォーマンスレベルGREENに該当する。この場合、アプリケーション(i)が依存する他のすべてのアプリケーション(j)を、デグラデーションもしくは障害なく使用可能であるならば、パフォーマンスレベルGREENが発生する。
・行212は、値"9"を有するパフォーマンスレベルYELLOW1に該当する。この場合、パフォーマンスレベルYELLOW1は目下のところ未定義であり、したがって無視してかまわない。
・行214は、値"8"を有するパフォーマンスレベルYELLOW2に該当する。この場合、パフォーマンスレベルYELLOW2も目下のところ未定義であり、したがって無視してかまわない。
・行216は、値"7"を有するパフォーマンスレベルYELLOW3に該当する。この場合、1つのユニット/ネットワークノードの可用性が減少しているならば、パフォーマンスレベルYELLOW3が発生する。
・行218は、値"6"を有するパフォーマンスレベルYELLOW4に該当する。この場合、2つ以上のユニット/ネットワークノードの可用性が減少しているならば、パフォーマンスレベルYELLOW4が発生する。
・行220は、値"5"を有するパフォーマンスレベルYELLOW5に該当する。この場合、少なくとも1つのユニット/ネットワークノードが故障または欠落して、制御品質もしくはファンクションパフォーマンスが、顧客が認識できない程度に劣化したならば、パフォーマンスレベルYELLOW5が発生する。
・行222は、値"4"を有するパフォーマンスレベルYELLOW6に該当する。この場合、少なくとも1つのユニット/ネットワークノードが故障もしくは欠落して、制御品質もしくはファンクションパフォーマンスが、顧客が認識できる程度に劣化したならば、パフォーマンスレベルYELLOW6が発生する。
・行224は、値"3"を有するパフォーマンスレベルYELLOW7に該当する。この場合、少なくとも1つのユニット/ネットワークノードが故障もしくは欠落して、制御品質もしくはファンクションパフォーマンスが、顧客が認識できる程度に劣化し、さらにこれに加えてアプリケーション(i)が、スケジュール外のメンテナンスの必要性を通報したならば、すなわち、メンテナンスタスクの中断ではなくドライビングタスクの中断を通報したならば、パフォーマンスレベルYELLOW7が発生する。
・行226は、値"2"を有するパフォーマンスレベルYELLOW8に該当する。この場合、少なくとも1つのユニット/ネットワークノードが故障もしくは欠落して、制御品質もしくはファンクションパフォーマンスが、顧客が認識できる程度に、しかもパフォーマンスレベルYELLOW6よりもひどく劣化したならば、パフォーマンスレベルYELLOW8が発生する。オプションとして、アプリケーション(i)がスケジュール外のメンテナンスの必要性を通報するように、すなわちメンテナンスタスクの中断ではなくドライビングタスクの中断を通報するように、要求することができる。
・行228は、値"1"を有するパフォーマンスレベルYELLOW9に該当する。この場合、少なくとも1つのユニット/ネットワークノードが故障もしくは欠落して、制御品質もしくはファンクションパフォーマンスが、顧客が認識できる程度に劣化したならば、またはアプリケーション(i)が、赤信号警告すなわちまだパフォーマンスレベルREDではない警告を送出し、つまりタスク中断が必須であるならば、パフォーマンスレベルYELLOW9が発生する。
・行230は、値"0"を有するパフォーマンスレベルREDに該当する。この場合、アプリケーション(i)が実行不可能であるならば、またはDL(上述の説明を参照)が実行されるならば、またはパフォーマンスが、パフォーマンスレベルYELLOW9のパフォーマンスよりも劣化しているならば、パフォーマンスレベルREDが発生する。
以上のように、パフォーマンスレベルをアプリケーションレベルで規定する場合には、顧客の認識、および/またはメンテナンスタスクの中断、および/またはドライビングタスクの中断、という判定基準が特に考慮される。別の実施例によれば、他の態様および/または他の判定基準を用いて、パフォーマンスレベルが規定される。
図9には、変数「デグラデーションレベル」の10進数値と、対応するデグラデーションレベルとの対応関係、さらにこれらとユニットもしくはネットワークノードのクラスとの対応関係が、テーブル250として示されている。テーブル250には、以下の内容を有する列252〜276が含まれている。すなわち、
・列252は、変数PL_GREEN(パフォーマンスレベルGREEN)、PL_YELLOW1〜PL_YELLOW9および変数PL_REDを定義している。たとえば出願人の独自仕様または標準を充足する目的で、変数名をPERFORMANCELEVEL_PL_GREENなどとしてもよい。
・列254は、変数の10進数値を表し、ここでは0〜10の範囲であり、PL_GREENから始まり、YELLOW1〜YELLOW9を経て、PL_REDまでを表す。
・列256は、デグラデーションレベルの値を表し、ここでは0〜9およびNまでであり、PL_GREENから始まり、YELLOW1〜YELLOW9を経て、PL_REDまでを表す。
・10個の列258〜276は、この順序に従い、図3の行110〜128に示した10個のユニットタイプに対応し、"simplex/single/single-link"から始まり"duplex/duo-duplex/dual-link"で終わる。
テーブル250には、以下の行280〜300が含まれている。すなわち、
・行280は、10進数値が0である変数PL_GREENおよびデグラデーションレベル0に該当する。すべてのユニットタイプがデグラデーションレベル0を有することができる。すべての列258〜276中のXを参照。
・行282は、10進数値が1である変数PL_YELLOW1およびデグラデーションレベル1に該当する。ユニットタイプ1,3,7を除いてすべてのユニットタイプがデグラデーションレベル1を有することができる。該当する列260,264〜268および272〜276中のXを参照。
・行284は、10進数値が2である変数PL_YELLOW2およびデグラデーションレベル2に該当する。ユニットタイプ6および10だけがデグラデーションレベル2を有することができる。該当する列268および276中のXを参照。
・行286〜298は、10進数値が3〜9である変数PL_YELLOW3〜PL_YELLOW7およびデグラデーションレベル3〜9に該当する。この実施例によればこれらのデグラデーションレベルは、列258〜276において該当するユニットタイプに対しては規定されておらず、したがってテーブル250の行286〜298のこれらの列には、それぞれシンボル"-"が含まれており、これは該当するデグラデーションレベルは該当するユニットタイプには使用できない、ということを表す。
・行300は、10進数値が10である変数PL_REDおよびデグラデーションレベルNに該当する。すべてのユニットタイプがパフォーマンスレベルNを有することができる。すべての列158〜276中のXを参照。
テーブル250の下端部には、列258〜276に対するユニットタイプの識別子IDが記載されており、これは値"1"から始まり値"10"まである。このためテーブル250は、図3に示したテーブルに実質的に対応しているが、テーブル250では言葉による説明の代わりに、該当するデグラデーションレベルが定義されているのか否か、だけが記入されている。このことからテーブル250は、機械特に計算機によって、いっそう簡単に評価することができる。
ただし、ユニットの目下の状態に応じて、それぞれ1つの特定のデグラデーションレベルだけしか発生しない。
別の実施例によれば、ユニットクラスのデグラデーションレベルに対する別の規定、および/またはデグラデーションレベルの10進数値および/または値に対する別の規定も存在する。特に、これよりも大きいまたは小さいデグラデーションレベル、および/または他のデグラデーションレベルを用いてもよい。
図10には、ファンクションもしくはアプリケーション「ドライビング」"Fahren"に対するデグラデーション行列Xもしくは350の1つのセクションが示されている。図10には、デグラデーション行列Xもしくは350の列の意味を説明するために、列352および354が示されている。列352は、パフォーマンスベクトルpと一致しており、これはデグラデーション行列350の個々の行370〜394に対するパフォーマンスレベルを表す。パフォーマンスベクトルは、依存関係行列Aの行の意味とも一致している。たとえば図6の列152cを参照。列354には、個々のパフォーマンスレベルもしくは個々の行370〜394の意味が言葉で説明されており、これもやはり、補足された依存関係行列Aの説明と一致している。たとえば図6の列154cを参照。
ここで留意したいのは、見やすくするために、デグラデーション行列Xもしくは350の最後の3行388〜394は、まだ分解されておらず、したがってここでは本来であればそれ相応にさらに多くの行が用いられることになり、これについては依存関係行列Aに関して、たとえば図7を参照しながら詳しく説明してある。
デグラデーション行列Xもしくは350の第1の列356には、バーチャルユニット「アクセルペダル」"Fahrpedal"のデグラデーションレベルDeg0に該当する値が記入される。たとえば参照符号396の付された値を参照。この値は、クエリvar (degLevel0).virtAgg(Fahrpedal)によって、式(2)に従い求められる。目下、このデグラデーションレベル0になっているならば、たとえば値"1"とすることができる。デグラデーションレベル0になっていなければ、クエリにより値"0"が求められる。
デグラデーション行列Xもしくは350の第2の列356には、ユニット「アクセルペダル」"Fahrpedal"のデグラデーションレベルDegNに該当する値が記入される。この場合も、クエリvar (degLevelN).virtAgg(Fahrpedal)が、やはり式(2)に従って用いられる。目下、このデグラデーションレベルNになっているならば、たとえば値"1"とすることができる。デグラデーションレベルNになっていなければ、クエリにより値"0"が求められる。
デグラデーション行列Xもしくは350のさらに次の列360は、以下のことに関する。すなわち、
・VirtAgg_Rad_HL, Deg0, Deg1 - single link, DegN ->
var (degLevel0 ).virtAgg(Rad_HL),
var (degLevel1).virtAgg(Rad_HL)もしくは
var (degLevelN).virtAgg(Rad_HL),
・VirtAgg_Rad_HR, Deg0, DegN - single link, DegN ->
var (degLevel0).virtAgg (Rad_HR),
var (degLevel1).virtAgg (Rad_HR)もしくは
var (degLevelN).virtAgg(Rad_HR),
・アプリケーション「ドライビング」"Fahren"、Deg0 (Running), DegN (Isolated) ->
var (degLevel0).virtAgg(Applikation_Fahren),
var (degLevelN).virtAgg((Applikation_Fahren)。
簡単に描かれているデグラデーション行列Xもしくは350には、12個の行376〜394が含まれており、これらの行はこの順序で、パフォーマンスレベル10,7,6,7,6,5,5,5,5,0,0,0に対応づけられている。したがって、やはり特定のパフォーマンスレベルたとえば7,6,5,0に対し、複数の行が存在しており、この場合にはそれぞれ2行、2行、4行、もしくは3行である。
この実施例によれば、デグラデーション行列Xもしくは350の1つの列内には、常に同じ値だけしか現れておらず、すなわち値0もしくは値1しか現れていない。ただし、閉じた表現ないしは自己完結型の表現もしくは単純な計算を保証できるように、すべての行が用いられる。
別の実施例によれば、デグラデーション行列Xもしくは350は、ここで挙げたものよりも多くの列と行を含み、たとえば50列よりも多くの列および/または50行よりも多くの行を含む。さらに別の実施例によれば、たとえばデグラデーション行列Xもしくは350の行370に対応する1つのデグラデーションベクトルだけをセットしてもよい。
図11には、図10に示したデグラデーション行列Xもしくは350に適用されるパフォーマンスベクトルpが示されている。列352を参照。このパフォーマンスベクトルpは、依存関係行列Aについても当てはまる。図6の列152cを参照。ただし実際には、このパフォーマンスベクトルは、図示されているものよりも多くの行を含んでいる。その理由は、依存関係行列Aは、さらにデグラデーション行列Xも、たとえばシンボル"X"を分解するためなど、場合によってはさらに複数の行で拡張されるからである。
図12には、デグラデーション行列Xのセクション350dと、転置された依存関係行列Aのセクション190dとの行列乗算に関する第1の例が示されている。
デグラデーション行列Xのセクション350dは、列360の一部に該当し、図10参照、つまり車輪アクチュエータHLもしくは22に関する3つの列402d、404d、406dと、車輪アクチュエータHRもしくは20に関する3つの列408d、410d、412dに該当する。したがって列356もしくは358は、見やすくするためにここでは省かれているが、計算には同様に関与させることができる。同様のことは、プログラム「ドライビング」もしくはAPFの目下の値に関する列362についても当てはまる。
セクション350dのこれら6つの列402d〜412dについて、以下のことが当てはまる。すなわち、
・列402dにおいて、すべての要素は値"1"を有しており、すなわち車輪アクチュエータ22,HLに対しデグラデーションレベルDeg0が生じている。
・列404dにおいて、すべての要素は値"0"を有する。
・列406dにおいて、すべての要素は値"0"を有する。
・列408dにおいて、すべての要素は値"1"を有し、すなわち車輪アクチュエータ20,HRに対しデグラデーションレベルDeg0が生じている。
・列410dにおいて、すべての要素は値"0"を有する。
・列412dにおいて、すべての要素は値"0"を有する。
セクション190dは、列と行の入れ替えを除いて、セクション190と一致している。図6を参照。図12には、列160cおよび162cに対応する転置された行160dおよび162dが示されているが、見やすくするため、これらの行はセクション190dに制限されている。
セクション190dの9つの列400d1〜400dは、この順序で、デグラデーションレベル10,7,6,7,6,5,5,5,5に対応づけられており、対応する転置された要素の値が入れられている。
周知のように行列乗算の場合、セクション350dの1行目の最初の要素が、セクション190dの1列目400d1の最初の要素と乗算される。ついでこれに、セクション350dの1行目の2番目の要素とセクション190dの1列目400d1の2番目の要素との積が加算され、という具合に、セクション350dの1行目と列400d1のすべての要素について、このことが行われる。その後、同じようにして、積行列450dもしくはCの他の要素が計算される。式(3)も参照。
積行列450d,Cの9つの列452d〜468dに対し、以下のことが成り立つ。すなわち、
・1列目452dにおいて、すべての要素は値"2"を有する。たとえば積行列450d,Cの主対角線における最初の要素500dを参照。
・2列目454dにおいて、すべての要素は値"1"を有する。たとえば最初の要素502dと、積行列450d,Cの主対角線における2番目の要素504dを参照。
・3列目において、すべての要素は値"0"を有する。
・4列目において、すべての要素は値"1"を有する。
・5列目において、すべての要素は値"0"を有する。
・6列目において、すべての要素は値"1"を有する。
・7列目において、すべての要素は値"0"を有する。
・8列目において、すべての要素は値"1"を有する。たとえば最初の要素506dと、主対角線上の最後から2番目の要素508dを参照。
・9列目468dにおいて、すべての要素は値"0"を有する。たとえば主対角線上の最後の要素510dを参照。
したがってたとえば主対角線の要素を、あとで図14を参照しながら説明するファンクションによって評価することができる。別の選択肢として、主対角線要素のクエリが行われて、最大値が求められ、これはたとえばセクション450d,Cの1列目における要素500dである。この要素の値は"2"であり、これはセクション350dで考慮されたユニットの個数と一致する。さらに別の選択肢として、積行列450d,Cにおける1つの行の要素たとえば1行目の要素を、評価することもできる。最大値を有する要素500dは、その列番号を介して、有効なパフォーマンスレベルをじかに表す。この例ではデグラデーションは発生しなかったので、パフォーマンスレベル9が生じており、このレベルは、デグラデーション行列Xの1行目にも、ないしは依存関係行列Aの1列目にも、割り当てられている。
行列全体にわたり乗算されると、積行列450dもしくはCの値が相応に高まり、その場合、最大値は、アプリケーション(i)におけるユニットの個数と一致し、たとえば4である。たとえば図4を参照。この最大数に合わせて、あとで図14を参照しながら説明するファンクションも、以降の計算のために整合される。式(8)も参照。
図13には、デグラデーション行列Xのセクション350eと、依存関係行列Aのセクション190dとの行列乗算に関する第2の例が示されている。この場合、以下で説明する相違点を除き、図12について説明したことがそのまま相応に当てはまる。
デグラデーション行列Xのセクション350eは、やはり列360の一部に該当し、図10参照、つまり車輪アクチュエータHLもしくは22に関する3つの列402e、404e、406eと、車輪アクチュエータHRもしくは20に関する3つの列408e、410e、412eに該当する。したがって列356もしくは358は、見やすくするためにここでは省かれているが、計算には同様に関与させることができる。同様のことは、プログラム「ドライビング」もしくはAPFの目下の値に関する列362についても当てはまる。
セクション350eのこれら6つの列402e〜412eについて、以下のことが当てはまる。すなわち、
・列402eにおいて、すべての要素は値"0"を有する。
・列404eにおいて、すべての要素は値"0"を有する。
・列406eにおいて、すべての要素は値"1"を有し、すなわち車輪アクチュエータ22,HLに対しデグラデーションレベルDegNが生じている。
・列408dにおいて、すべての要素は値"1"を有しており、すなわち車輪アクチュエータ20,HRに対しデグラデーションレベルDeg0が生じている。
・列410dにおいて、すべての要素は値"0"を有する。
・列412dにおいて、すべての要素は値"0"を有する。
セクション190dは、列と行の入れ替えを除いて、セクション190と一致している。図6を参照。図13には、列160cおよび162cに対応する転置された行160dおよび162dが示されているが、見やすくするため、これらの行はセクション190dに制限されている。
積行列450e,Cの9つの列452e〜468eに対し、上述の行列乗算に従い以下のことが成り立つ。すなわち、
・1列目452eにおいて、すべての要素は値"1"を有する。たとえば積行列450e,Cの主対角線における最初の要素500eを参照。
・2列目454dにおいて、すべての要素は値"1"を有する。たとえば最初の要素502eと、積行列450e,Cの主対角線における2番目の要素504eを参照。
・3列目において、すべての要素は値"0"を有する。
・4列目において、すべての要素は値"0"を有する。
・5列目において、すべての要素は値"0"を有する。
・6列目において、すべての要素は値"0"を有する。
・7列目において、すべての要素は値"0"を有する。
・8列目において、すべての要素は値"2"を有する。たとえば最初の要素506eと、主対角線上の最後から2番目の要素508eを参照。
・9列目468dにおいて、すべての要素は値"1"を有する。たとえば主対角線上の最後の要素510eを参照。
したがってこの場合もたとえば主対角線の要素を、あとで図14を参照しながら説明するファンクションによって評価することができる。別の選択肢として、主対角線要素のクエリが行われて、最大値が求められ、これは図13の実施例では、セクション450e,Cの最後から2列目もしくは8列目における要素508eである。この要素の値はやはり"2"であり、これはセクション350eで考慮されたユニットの個数と一致する。さらに別の選択肢として、積行列450e,Cにおける1つの行の要素たとえば1行目の要素を、評価することもできる。両方のケースにおいて、最大値を有する要素はその列番号を介して、有効なパフォーマンスレベルをじかに表す。図13の例では、車輪アクチュエータHRにおいてデグラデーションDegNが発生しているので、パフォーマンスレベル5となっており、このレベルは、デグラデーション行列Xのセクション350eの最後から2行目にも、ないしは依存関係行列のセクション190dの最後から2列目もしくは8列目にも、割り当てられている。
行列XおよびA全体にわたって(転置されて)乗算されると、積行列450eもしくはCの値が相応に高まり、その場合、最大値は、アプリケーション(i)におけるユニットの個数と一致し、たとえば4である。たとえば図4を参照。この最大数に合わせて、あとで図14を参照しながら説明するファンクションも、以降の計算のために整合される。式(8)も参照。
図14には、4つのユニットが考慮されるケースについて、積行列Cの要素を単純化するためのファンクションが示されている。デカルト座標系550には、x軸552およびこの軸と直交するy軸554が含まれている。ファンクション556は以下のシーケンスを有する。すなわち、
・4よりも小さいすべてのx値に対しファンクション値0、
・x値4およびそれよりも大きいx値に対しファンクション値1、ただし4よりも大きいファンクション値は、計算において場合によっては現れない。
択一的なファンクション558の場合には、以下が適用される。すなわち、
・4よりも小さいすべてのx値に対しファンクション値0、
・x値4に対しファンクション値1。
たとえば2つのユニットだけしか考慮されないのであれば、図12および図13を参照、それに応じてファンクションは以下のように変更される。すなわち、
・2よりも小さいすべてのx値に対してファンクション値0、
・x値2もしくは2よりも大きいx値に対してファンクション値1。
ファンクション558は式(8)と一致している。たとえば整数のx値のみを用いることができる。
図15には、複数のアプリケーションから成るクラスタのパフォーマンスレベルを求める原理を表すテーブル560が示されている。
たとえば、複数のアプリケーションから成る特定のクラスタのパフォーマンスレベルに関して、導入部で挙げたテーブル8の規定が適用される。
テーブル560によって、この規定がいっそう明確になる。テーブル560には、以下の内容を有する列562〜570が含まれている。すなわち、
・列562は、10から始まって値0に至るまで、クラスタパフォーマンスレベルの10進数値を降順に示す。
・列564は、GREEN(緑色)から始まりYELLOW1〜YELLOW9を経てREDに至るまで、個々の行580〜600におけるパフォーマンスレベルに関する言葉による説明を示す。
・列566は、クラスタにおいて最も重要な1つもしくは複数のアプリケーション(i)のパフォーマンスレベルPLに該当し、ただしiは自然数である。
・列568は、クラスタにおいて2番目に重要な1つもしくは複数のアプリケーション(i)のパフォーマンスレベルPLに該当する。
・列570は、クラスタにおいて重要度の低い1つもしくは複数のアプリケーション(i)のパフォーマンスレベルPLに該当する。
テーブル560には、以下の内容を有する行580〜600が含まれている。すなわち、
・行580は、値10すなわちGREENのクラスタパフォーマンスレベルに該当する。この場合、列566,568,570には、内容"GREEN","GREEN","GREEN"が割り当てられており、つまり最も重要な1つ(または複数)のアプリケーションと、2番目に重要な1つ(または複数の)アプリケーションと、重要度の低いアプリケーションとは、それぞれパフォーマンスレベル"GREEN"を有していなければならない。
・行582は、値9すなわちYELLOW1のクラスタパフォーマンスレベルに該当する。この場合、列570のみが内容"YELLOW3,4"を有しており、つまり重要度の低いアプリケーションがパフォーマンスレベルYELLOW3またはYELLOW4を有している。
・行584〜596については、図15に示したテキストを参照されたい。
・行598は、値1すなわちYELLOW9のクラスタパフォーマンスレベルに該当する。この場合、列566は内容"YELLOW9"を有し、列568は内容"RED"を有し、つまり最も重要な1つ(または複数)のアプリケーションは、パフォーマンスレベルYELLOW9を有し、あるいは2番目に重要な1つ(または複数)のアプリケーションは、パフォーマンスレベル"RED"を有する。
・行600は、値0すなわちREDのクラスタパフォーマンスレベルに該当する。この場合、列566のみが内容"RED"を有しており、つまり最も重要な1つ(または複数)のアプリケーションがパフォーマンスレベルREDを有している。
矢印602,604が表しているのは、テーブル560のベースとなるシステマティックである。これによれば、ある特定の個別パフォーマンスレベルを有するアプリケーションの重要度が上がるにつれて、クラスタのパフォーマンスレベルが下がっていく。たとえば、個別パフォーマンスレベルYELLOW6に関して、行588、590、592にわたり延びている矢印602、および個別パフォーマンスレベルREDに関して、行596,598,600にわたり延びている矢印604を参照。
テーブル8もしくは図15による方法によって、クラスタパフォーマンス値について種々のパフォーマンスレベルを計算することができるようになる。そして最も小さいものすなわち最も悪いもの(WORSTファンクション)を、選択する必要がある。
別の実施例として、クラスタパフォーマンスレベルに対し、これとは異なる規定を用いることができる。つまりたとえば、最も重要な1つ(または複数)のアプリケーションと、2番目に重要な1つ(または複数)のアプリケーションだけを関与させてもよいし、および/または、これよりも大きいまたは小さいもしくは異なるクラスタパフォーマンスレベルを用いてもよく、および/または、これよりも大きいまたは小さいもしくは異なる個別パフォーマンスレベルを用いてもよい。テーブル8もしくはテーブル560に従ったクエリを、一般的なプログラムによって、または別の態様で、実行することができる。
図16には、ファンクションクラスタのパフォーマンスを求める方法を実施する際のステップ700〜712が示されている。この方法は処理ステップ700から始まる。これらの処理ステップのことを、以下では短くステップと称する。
ステップ700の次にステップ702が続き、このステップにおいて、複数のユニット/ネットワークノードから成る1つのアプリケーション(i)に対し、図1〜図14を参照しながらすでに説明したように、個別パフォーマンスレベルa,y1,y2が求められる。その際に、式(1)〜(9)を用いることができる。
ステップ702の次に続くステップ704において、個別パフォーマンスレベルを計算すべきさらに別のアプリケーションがあるかについて、チェックされる。このことが当てはまるならば、ステップ704のすぐ次にステップ702が続き、その際、iが値1だけ高められる。
これに対し、個別パフォーマンスレベルがすべてのアプリケーション(i)について計算されていたならば、ステップ704の次にステップ706が続く。ステップ706において、たとえばテーブル8および図15を参照しながら説明したように、複数のアプリケーションから成る1つのクラスタに対し、パフォーマンスレベルz1a,z1bが求められ、さらに場合によってはz2a,z2b等も求められる。ただし別の実施例として、クラスタリングなしで作業してもよい。そのようなケースでは、マスタ/スレーブの選択のために、総パフォーマンス値y1,y2等がそのまま用いられる。
ステップ706の次に続くステップ708において、クラスタパフォーマンスレベルを計算すべきさらに別のクラスタがあるか、についてチェックされる。このことが当てはまるならば、ステップ708のすぐ次にステップ706が続き、その際、クラスタを表す計数値が値1だけ高められる。
これに対し、クラスタパフォーマンスレベルがすべてのクラスタについて計算されていたならば、ステップ708の次にステップ710が続く。ステップ710において、互いに冗長構成を成す少なくとも2つのクラスタに対するクラスタパフォーマンスレベルが、制御装置へ転送され、この制御装置はたとえば、どのクラスタを現時点でマスタクラスタとすべきか、すなわち輸送手段の動作のために重要なクラスタとすべきか、を決定する。この場合、それぞれ互いに冗長構成を成す複数のクラスタから成る複数のペアまたは複数のグループを設けてもよい。クラスタリングを行う場合であっても、クラスタリングを行わない場合であっても、制御装置をたとえば各チャネル18,18bに実装することができる。なお、クラスタリングを実施しない場合には、たとえばステップ708および706が省略される。
その後、この方法を、ステップ712において終了させることができる。1つの実施例によれば、この方法は周期的に繰り返され、つまりステップ710の後、再びステップ702が続けられる。矢印714を参照。周期時間は、たとえば50msよりも短い。
これらの実施例は縮尺どおりに描かれているわけではなく、また、これらの実施例に限定されるものでもない。当業者であれば変更を行うことができる。有利な実施例に基づき図面に示しながら本発明について詳しく説明してきたが、本発明はここで開示した実施例に限定されるものではなく、当業者であれば本発明の権利範囲を逸脱することなく、さらに別の実施形態を導き出すことができる。導入部で挙げた発展形態および実施形態を、互いに組み合わせることができる。図面の説明において挙げた実施例も、互いに組み合わせることができる。さらに、導入部で挙げた発展形態および実施形態を、図面の説明で挙げた実施例と組み合わせることができる。

Claims (15)

  1. 両(10)または船舶または航空機において、多重にインプリメントされたファンクションを提供するために、複数のプログラムファンクション(APFa,APFb)のいずれかを選択する方法において、
    第1のプログラムファンクション(APFa)の実行時に用いられるファンクションユニット(16,20,22,M,APF)に対する、ファンクション特有でないデグラデーションレベルを表す個別パフォーマンス値(Deg0, Deg1)と、多重にインプリメントされた複数のファンクション全体のデグラデーションレベルを表す総パフォーマンス値(p)との間の、第1の依存関係(A)を記録するステップと、
    第2のプログラムファンクション(APFb)の実行時に用いられるファンクションユニット(16,20,22,M,APF)に対するデグラデーションレベルを表す個別パフォーマンス値(Deg0, Deg1)と、前記総パフォーマンス値(p)との間の、第2の依存関係(A)を記録するステップと、
    前記第1のプログラムファンクション(APFa)複数のファンクションユニット(16,20,22,M,APF)の現時点の第1の個別パフォーマンス値(X)求めるステップと、
    前記第2のプログラムファンクション(APFb)複数のファンクションユニット(16,20,22,M,APF)の現時点の第2の個別パフォーマンス値(X)を求めるステップと、
    求められた前記第1の個別パフォーマンス値(X)と、記録された前記第1の依存関係(A)とから、第1の総パフォーマンス値(y1)を求めるステップと
    求められた前記第2の個別パフォーマンス値(X)と、記録された前記第2の依存関係(A)とから、第2の総パフォーマンス値(y2)を求めるステップと
    前記第1の総パフォーマンス値(y1)と、前記第2の総パフォーマンス値(y2)とから、クラスタパフォーマンス値(z1a,z1b)を求めるステップであって、クラスタは複数のファンクションから構成されており、前記クラスタパフォーマンス値(z1a,z1b)は、当該クラスタのデグラデーションレベルを表す、ステップと、
    前記クラスタパフォーマンス値(z1a,z1b)、または、該クラスタパフォーマンス値(z1a,z1b)から求められたまたは計算された少なくとも1つの値に基づいて、多重にインプリメントされた前記ファンクションを提供するため、前記第1または第2のプログラムファンクション(APFa,APFb)または他のプログラムファンクションを選択するステップと
    を含む、方法。
  2. 両(10)または船舶または航空機において、多重にインプリメントされたファンクション(54,56)を提供するために、1つのプログラムファンクション(APFa,APFb)を選択する方法において、
    前記プログラムファンクション(APFa,APFb)の実行時に用いられるファンクションユニット(16,20,22,M,APF)に対する、ファンクション特有でないデグラデーションレベルを表す個別パフォーマンス値(Deg0, Deg1)と、多重にインプリメントされた1つのファンクション(54,56)全体のデグラデーションレベルを表す総パフォーマンス値(p)との間の依存関係(A)を記録するステップと、
    前記プログラムファンクション(APFa,APFb)の前記ファンクションユニット(16,20,22,M,APF)の現時点の個別パフォーマンス値(X)求めるステップと、
    求められた前記個別パフォーマンス値(X)と、記録された前記依存関係(A)とから、前記ファンクションユニット(16,20,22,M,APF)に対する総パフォーマンス値(y)を求めるステップと、
    前記総パフォーマンス値(y)、または、該総パフォーマンス値(y)から求められたまたは計算された少なくとも1つの値に基づいて、多重にインプリメントされたファンクション(54,56)を提供するため、第1のプログラムファンクション(APFa)または第2のプログラムファンクション(APFb)を選択するステップと
    を含む、方法。
  3. 前記依存関係が行列(A)に記録され、
    記行列(A)の行(170a〜186a)が、前記総パフォーマンス値(p)に割り当てられており、前記行列(A)の列(156a〜166a)が、前記個別パフォーマンス値(Deg0, Deg1)に割り当てられており、
    または、前記行列(A)の列が前記総パフォーマンス値(p)に割り当てられており、前記行列(A)の行が前記個別パフォーマンス値(Deg0, Deg1)に割り当てられており、
    前記行列(A)は、互いに異なる2つの値だけを含み
    R結合を成すようにするために、および/または、該当する総パフォーマンス値を決定づける複数のファンクションユニット(16,20,22,M,APF)の状態を考慮するために、少なくとも1つの総パフォーマンス値に対し、前記行列(A)の少なくとも2つの行(172b1,172b2)または前記行列(A)の少なくとも2つの列が設けられている、
    請求項1または2に記載の方法。
  4. 前記ファンクションユニット(16,20,22,M,APF)の複数のクラス(ID)が規定され、前記ファンクションユニット(16,20,22,M,APF)の個別パフォーマンス値(Deg0, Deg1)は、クラス固有の重み付けがなされており、
    記ファンクション(54,56)の少なくとも2つのファンクションユニット(16,20,22,M,APF)は、同じクラス(ID)に属しており、
    および/または、前記ファンクション(54,56)の少なくとも2つのファンクションユニット(16,20,22,M,APF)は、互いに異なるクラス(ID)に属しており、
    前記クラス(ID)は、以下の冗長性フィーチャのうち少なくとも1つの、または少なくとも2つの、またはすべての冗長性フィーチャに基づき、規定され、前記冗長性フィーチャとは、
    ・ファンクションユニット(16,20,22,M,APF)の冗長性なし、または多重に設けられた複数のファンクションユニット(16,20,22,M,APF)による冗長性あり、
    ・1つのファンクションユニット(16,20,22,M,APF)に関する値冗長性なし、または値冗長性あり、ここで、値冗長性とは、値を複数回求め、かつ、複数回伝達すること、または、冗長な複数のセンサを使用することを意味している、
    ・通信リンク冗長性なし、または多重の通信リンク冗長性あり、
    である、
    請求項1から3までのいずれか1項に記載の方法。
  5. 前記総パフォーマンス値(p)は、前記複数のファンクションユニット(16,20,22,M,APF)に対して、エラーによるネガティブな影響に基づいて判断されており、
    前記エラーによるネガティブな影響は、少なくとも、乗員および/または貨物の損傷、
    ンテナンスタスクまたはメンテナンスインターバルの不足、または、
    ライビングまたはドライビングタスクまたはフライトの中断
    に関連している、
    請求項1から4までのいずれか1項に記載の方法。
  6. 前記現時点の個別パフォーマンス値(Deg0, Deg1)が行列(X)またはベクトルに記録され、
    記行列(X)または前記ベクトルは、互いに異なる2つの値だけを含む、
    請求項1から5までのいずれか1項に記載の方法。
  7. 前記総パフォーマンス値(y)は、前記両方の行列(A,X)の乗算により、または前記行列(A)と前記ベクトルとの乗算により、求められる、
    請求項3または6に記載の方法。
  8. 前記総パフォーマンス値(y)は、計算ファンクション(556,558)を用いて求められ、
    該計算ファンクション(556,558)は、前記複数のファンクションユニット(16,20,22,M,APF)の個数とは異なる値に対しては、第1の値となるよう定義されており、前記個数と等しい値に対しては前記第1の値とは異なる第2の値となるよう定義されている、
    請求項7に記載の方法。
  9. 前記総パフォーマンス値(y)を求めるために、ベクトル(p)が用いられ、該ベクトル(p)において前記総パフォーマンス値が、記録された前記依存関係(A)に従って記録されており、
    記ベクトル(p)と、前記計算ファンクション(556,558)を用いて求められたベクトルまたは行列とが乗算され、
    および/または、当該方法は周期的に実施される、
    請求項8に記載の方法。
  10. 少なくとも1つのファンクションユニット(16,20,22,M,APF)はネットワークノードであり、
    および/または、少なくとも1つのファンクションユニットは、プログラムファンクション(APF)自体であり
    ライビングのためのファンクション(54)が設けられており
    ドライビングのためのファンクション(54)は、以下のファンクションユニットのうちの少なくとも1つを含み、すなわち、
    ・アクセルペダル(16)に関するファンクション、
    ・少なくとも1つまたは少なくとも2つまたは少なくとも4つの、車輪(HR,HL)に関するファンクション(20,22)、該ファンクションは、駆動原動機に関するファンクションをそれぞれ含む、
    ・前記ドライビング(APF)に関するプログラム、
    のうちの少なくとも1つを含み、
    レーキングのためのファンクションが設けられており、
    ブレーキングのためのファンクションは、以下のファンクションユニットのうちの少なくとも1つを含み、すなわち、
    ・ブレーキペダルにおける運転者のブレーキング要求を読み取るユニット、
    ・ブレーキハイドロリクスを制御するユニット、
    ・少なくとも2つのユニットであって、ブレーキングにも使用可能である電気的に駆動される車輪、
    ・運転者が要求するブレーキング命令を、車輪と、ハイドロリックブレーキを制御するネットワークノードのために、目標ブレーキング設定に変換するタスクを有するプログラムファンクション、
    のうちの少なくとも1つを含み、
    テアリングのためのファンクションが設けられており、
    ステアリングのためのファンクションは、以下のファンクションユニットのうちの少なくとも1つを含み、すなわち、
    ・ステアリングコントローラの制御および実際ステアリングポジションの出力、
    ・ステアリングホイールにおける目標ステアリング角の評価、
    ・プログラムファンクションであるコントローラ設定=f(実際ステアリング角、目標ステアリング角)、
    のうちの少なくとも1つを含み、
    BS、ESPまたはフルオートマチックドライビングのためのファンクションが設けられている、
    請求項1から9までのいずれか1項に記載の方法。
  11. 複数のファンクションに対し、またはすべてのファンクションに対し、クラスタパフォーマンス値(564)は、エラーのネガティブな影響に基づいて判断されており、前記エラーのネガティブな影響は、
    員および/または貨物の損傷、
    ンテナンスタスクまたはメンテナンスインターバルの不足、または、
    ライビングまたはドライビングタスクまたはフライトの中断、
    に関連するものであり、
    下のクラスすなわち、
    ・最も重要な1つのファンクション(54,56)または最も重要な複数のファンクション、
    ・2番目に重要な1つのファンクションまたは2番目に重要な複数のファンクション、
    ・重要度が低い1つのファンクションまたは重要度が低い複数のファンクション、
    のうち少なくとも1つまたは少なくとも2つまたはすべてが考慮される、
    請求項1から10までのいずれか1項に記載の方法。
  12. 1つのクラスタの複数のファンクションのためにクラスタパフォーマンス値(564)がIF THENクエリまたはCASEクエリを介して、求められる、
    請求項11に記載の方法。
  13. 求項1から12までのいずれか1項に記載の方法を実施するための装置であって、
    ・記憶ユニット(M1)が設けられており、該記憶ユニット(M1)には、第1のプログラムファンクション(APFa)の実行時に用いられる複数のファンクションユニット(16,20,22,M,APF)に対する、ファンクション特有でないデグラデーションレベルを表す個別パフォーマンス値(Deg0, Deg1)と、多重にインプリメントされた複数のファンクション全体のデグラデーションレベルを表す総パフォーマンス値(p)との間の、第1の依存関係(A)が記録され、または記録されており、さらに該記憶ユニット(M1)には、第2のプログラムファンクション(APFb)の実行時に用いられる複数のファンクションユニット(16,20,22,M,APF)に対する、ファンクション特有でないデグラデーションレベルを表す個別パフォーマンス値(Deg0, Deg1)と、前記総パフォーマンス値(p)との間の、第2の依存関係(A)が記録され、または記録されており、
    ・算出ユニット(P)が設けられており、該算出ユニット(P)は、前記第1のプログラムファンクション(APFa)複数のファンクションユニット(16,20,22,M,APF)の現時点の第1の個別パフォーマンス値(X)を求め、さらに該算出ユニット(P)は、前記第2のプログラムファンクション(APFb)複数のファンクションユニット(16,20,22,M,APF)の現時点の第2の個別パフォーマンス値(X)を求め、
    ・第2の算出ユニット(P)が設けられており、該第2の算出ユニット(P)は、求められた前記第1の個別パフォーマンス値(X)と、記録された前記第1の依存関係(A)とから、第1の総パフォーマンス値(y1)を求め(702)、さらに該第2の算出ユニット(P)は、求められた前記第2の個別パフォーマンス値(X)と、記録された前記第2の依存関係(A)とから、第2の総パフォーマンス値(y2)を求め(702)、
    ・第3の算出ユニット(P)が設けられており、該第3の算出ユニット(P)は、前記第1の総パフォーマンス値(y1)と、前記第2の総パフォーマンス値(y2)とから、クラスタパフォーマンス値(z1a,z1b)を求め(706)、ここでクラスタは、複数のファンクションから構成されており、前記クラスタパフォーマンス値(z1a,z1b)は、当該クラスタのデグラデーションレベルを表す、
    ・選択ユニット(P)が設けられており、該選択ユニット(P)は、前記クラスタパフォーマンス値(z1a,z1b)を、または、該クラスタパフォーマンス値(z1a,z1b)から求められたまたは計算された少なくとも1つの値を、多重にインプリメントされたファンクションを提供するため、前記第1のプログラムファンクション(APFa)および前記第2のプログラムファンクション(APFb)または他のプログラムファンクションを選択するために用いる、
    装置。
  14. 求項1から12までのいずれか1項に記載の方法を実施するための装置であって、
    ・記憶ユニット(M1)が設けられており、該記憶ユニット(M1)には、1つのプログラムファンクション(APFa)の実行時に用いられるファンクションユニット(16,20,22,M,APF)に対する、ファンクション特有でないデグラデーションレベルを表す個別パフォーマンス値(Deg0, Deg1)と、多重にインプリメントされた1つのファンクション(54,56)全体のデグラデーションレベルを表す総パフォーマンス値(p)との間の依存関係(A)が記録され、または記録されており、
    ・算出ユニット(P)が設けられており、該算出ユニット(P)は、前記ファンクションユニット(16,20,22,M,APF)の現時点の個別パフォーマンス値(X)を求め、
    ・別の算出ユニット(P)または計算ユニットが設けられており、該ユニットは、求められた個別パフォーマンス値(X)と、記録された依存関係(A)とを、総パフォーマンス値(y)を求めるまたは計算するために用い(702)、
    ・選択ユニット(P)が設けられており、該選択ユニット(P)は、現時点の総パフォーマンス値(y)を、または、該総パフォーマンス値(y)から求められたまたは計算された少なくとも1つの値を、多重にインプリメントされた前記ファンクション(54,56)を提供するため、前記第1のプログラムファンクション(APFa)または第2のプログラムファンクション(APFb)を選択するために用いる、
    装置。
  15. 請求項13または14に記載の装置を備えた車両(10)、船舶、または航空機。
JP2016553340A 2014-02-21 2014-12-16 複数のプログラムファンクションを選択する方法、1つのプログラムファンクションを選択する方法、対応する装置および対応する車両、船舶または航空機 Active JP6377168B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
DE102014203162 2014-02-21
DE102014203162.1 2014-02-21
PCT/EP2014/078018 WO2015124234A1 (de) 2014-02-21 2014-12-16 Verfahren zum auswählen mehrerer programmfunktionen, verfahren zum auswählen einer programmfunktion, zugehörige vorrichtungen und zugehöriges fahrzeug, schiff oder flugzeug

Publications (2)

Publication Number Publication Date
JP2017516695A JP2017516695A (ja) 2017-06-22
JP6377168B2 true JP6377168B2 (ja) 2018-08-22

Family

ID=52146470

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016553340A Active JP6377168B2 (ja) 2014-02-21 2014-12-16 複数のプログラムファンクションを選択する方法、1つのプログラムファンクションを選択する方法、対応する装置および対応する車両、船舶または航空機

Country Status (5)

Country Link
US (1) US9956967B2 (ja)
EP (1) EP3087440B1 (ja)
JP (1) JP6377168B2 (ja)
CN (1) CN106030425B (ja)
WO (1) WO2015124234A1 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3087440B1 (de) 2014-02-21 2019-09-04 Siemens Aktiengesellschaft Verfahren zum auswählen mehrerer programmfunktionen, verfahren zum auswählen einer programmfunktion, zugehörige vorrichtungen und zugehöriges fahrzeug, schiff oder flugzeug
DE102015211587A1 (de) * 2015-06-23 2016-12-29 Siemens Aktiengesellschaft Steueranordnung für ein Fahrzeug
MX2018001805A (es) 2015-08-14 2018-05-16 Crown Equip Corp Diagnosticos basados en modelos de acuerdo con el modelo de direccion.
CA2995373C (en) 2015-08-14 2023-09-26 Crown Equipment Corporation Model based diagnostics based on traction model
AU2017393175B2 (en) 2017-01-13 2023-08-31 Crown Equipment Corporation Traction speed recovery based on steer wheel dynamic
CA3041343A1 (en) 2017-01-13 2018-07-19 Crown Equipment Corporation High speed straight ahead tiller desensitization
CN108762229B (zh) * 2018-05-28 2020-10-30 湖南汽车工程职业学院 一种自动驾驶汽车油门控制系统的检测调试方法
CN111127301B (zh) * 2018-10-30 2023-12-15 百度在线网络技术(北京)有限公司 坐标转换方法和装置
DE102022106664A1 (de) * 2022-03-22 2023-09-28 HELLA GmbH & Co. KGaA Verfahren zum Betätigen eines Sensorsystems, Sensorsystem, Fahrzeug, Computerprogrammprodukt und Speichermedium

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4006573B2 (ja) * 2001-12-17 2007-11-14 トヨタ自動車株式会社 車輌制御装置
US7099755B2 (en) 2003-05-30 2006-08-29 Siemens Aktiengesellschaft Automation and platform management system for naval vessels
DE602005019499D1 (de) * 2004-07-15 2010-04-08 Hitachi Ltd Fahrzeugsteuerungsystem
CN100545771C (zh) * 2004-07-15 2009-09-30 株式会社日立制作所 车辆控制装置
US20060101402A1 (en) * 2004-10-15 2006-05-11 Miller William L Method and systems for anomaly detection
JP2007219928A (ja) * 2006-02-17 2007-08-30 Nippon Telegr & Teleph Corp <Ntt> クラスタリング方法および装置
CN101641652B (zh) * 2007-03-21 2012-10-10 Gm全球科技运作股份有限公司 联合控制多个设备的方法和装置
FR2928219B1 (fr) * 2008-02-29 2010-05-28 Renault Sas Procede et dispositif de diagnostic d'un systeme de commande utilisant un modele dynamique
US9002480B2 (en) 2011-10-13 2015-04-07 Siemens Aktiengesellschaft Method for operation of a control network, and a control network
EP3087440B1 (de) 2014-02-21 2019-09-04 Siemens Aktiengesellschaft Verfahren zum auswählen mehrerer programmfunktionen, verfahren zum auswählen einer programmfunktion, zugehörige vorrichtungen und zugehöriges fahrzeug, schiff oder flugzeug

Also Published As

Publication number Publication date
EP3087440A1 (de) 2016-11-02
US9956967B2 (en) 2018-05-01
CN106030425A (zh) 2016-10-12
EP3087440B1 (de) 2019-09-04
JP2017516695A (ja) 2017-06-22
WO2015124234A1 (de) 2015-08-27
CN106030425B (zh) 2019-03-29
US20170015330A1 (en) 2017-01-19

Similar Documents

Publication Publication Date Title
JP6377168B2 (ja) 複数のプログラムファンクションを選択する方法、1つのプログラムファンクションを選択する方法、対応する装置および対応する車両、船舶または航空機
US6909950B2 (en) Controller for electric automobile
JP5995905B2 (ja) 車両制御装置
EP2177413B1 (en) Vehicle control system
JP4478037B2 (ja) 車両制御装置
US7920945B2 (en) Method and apparatus for communication within control systems
Heidrich et al. Hardware-in-the-loop test rig for integrated vehicle control systems
JP2015510468A (ja) 殊に車両内の、高い可用性を有する、少なくとも2つのデータ処理ユニットの作動方法および機械の作動装置
US20180367436A1 (en) Operation method of communication node for diagnosing vehicle network
CN113212430B (zh) 控制装置、管理器、方法、非暂时性存储介质、车辆、车辆控制装置以及车辆控制方法
CN113765778B (zh) 带有用于分布式存储系统的高速缓存缓冲器的运输工具的网关
Maier et al. Handling System Complexity in Zonal E/E Architectures
CN115697796A (zh) 用于车辆的传感器组件和多回路的制动系统
US11091147B2 (en) Motor system and control method for motor system
CN114930300A (zh) 在故障情况中重新配置自动行驶的交通工具的方法和装置
CN107783414A (zh) 具有动态容错要求的系统的协调多模式分配和运行时切换
US20230347916A1 (en) Method for synchronizing a clock-free computational node in a vehicle, method for performing an action at a pre-defined time, first computational node, second computational node and computational system for a vehicle
US11843478B2 (en) Communication system for a vehicle and operating method therefor
WO2022259655A1 (ja) 車両制御装置および車両制御システム
US20230286451A1 (en) Vehicle interface system and/or method
CN114228496A (zh) 驱动控制方法、装置、车辆底盘和电动车辆
Brinkschulte et al. Improving the fail‐operational behavior of automotive applications by artificial DNA
Vogt et al. Unified modelling and real-time simulation of an electric vehicle
CN116215468A (zh) 确定制动踏板机构状态的方法、装置、车辆及存储介质
Isermann Automotive Control

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170904

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20171204

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180202

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180724

R150 Certificate of patent or registration of utility model

Ref document number: 6377168

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250