IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ウーブン・プラネット・ホールディングス株式会社の特許一覧

特開2024-146724知的試験環境割り当てのためのシステム及び方法
<>
  • 特開-知的試験環境割り当てのためのシステム及び方法 図1
  • 特開-知的試験環境割り当てのためのシステム及び方法 図2
  • 特開-知的試験環境割り当てのためのシステム及び方法 図3A
  • 特開-知的試験環境割り当てのためのシステム及び方法 図3B
  • 特開-知的試験環境割り当てのためのシステム及び方法 図4A
  • 特開-知的試験環境割り当てのためのシステム及び方法 図4B
  • 特開-知的試験環境割り当てのためのシステム及び方法 図5
  • 特開-知的試験環境割り当てのためのシステム及び方法 図6
  • 特開-知的試験環境割り当てのためのシステム及び方法 図7A
  • 特開-知的試験環境割り当てのためのシステム及び方法 図7B
  • 特開-知的試験環境割り当てのためのシステム及び方法 図8A
  • 特開-知的試験環境割り当てのためのシステム及び方法 図8B
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024146724
(43)【公開日】2024-10-15
(54)【発明の名称】知的試験環境割り当てのためのシステム及び方法
(51)【国際特許分類】
   G06F 11/36 20060101AFI20241004BHJP
   G06F 11/34 20060101ALI20241004BHJP
【FI】
G06F11/36 172
G06F11/36 196
G06F11/34 176
【審査請求】有
【請求項の数】20
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2023189595
(22)【出願日】2023-11-06
(31)【優先権主張番号】18/193,755
(32)【優先日】2023-03-31
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】521042770
【氏名又は名称】ウーブン・バイ・トヨタ株式会社
(74)【代理人】
【識別番号】100099759
【弁理士】
【氏名又は名称】青木 篤
(74)【代理人】
【識別番号】100123582
【弁理士】
【氏名又は名称】三橋 真二
(74)【代理人】
【識別番号】100092624
【弁理士】
【氏名又は名称】鶴田 準一
(74)【代理人】
【識別番号】100147555
【弁理士】
【氏名又は名称】伊藤 公一
(74)【代理人】
【識別番号】100123593
【弁理士】
【氏名又は名称】関根 宣夫
(74)【代理人】
【識別番号】100133835
【弁理士】
【氏名又は名称】河野 努
(72)【発明者】
【氏名】薄井 弘之
(72)【発明者】
【氏名】松川 豪
(72)【発明者】
【氏名】柏谷 元史
(72)【発明者】
【氏名】橋口 賀保
【テーマコード(参考)】
5B042
【Fターム(参考)】
5B042GB08
5B042HH07
5B042HH17
5B042HH20
5B042HH49
5B042MA05
5B042MA08
5B042MA14
5B042MC38
(57)【要約】
【課題】試験環境にタスクを適切に割り当てる。
【解決手段】知的な試験環境割り当てのためのシステム、方法及び装置が提供される。実施形態によれば、組み込みシステムのソフトウェアを試験するための一つ以上の試験環境を知的に決定する方法は、タスク割り当て器によって複数の試験環境の性能情報を取得することと、タスク割り当て器によって、組み込みシステムのソフトウェアを試験するために実行されるタスクの方針情報を取得することと、タスク割り当て器によって、複数の試験環境の中から、方針情報を満たす試験環境を決定することと、タスク割り当て器によって、決定された試験環境にタスクを割り当てることとを含み、組み込みシステムは車載電子制御ユニット(ECU)であり、複数の試験環境は、少なくとも一つのソフトウェアインザループ(SIL)試験環境、少なくとも一つのハードウェアインザループ(HIL)試験環境、及び少なくとも一つの仮想ECU(V-ECU)試験環境を含む。
【選択図】図7A
【特許請求の範囲】
【請求項1】
組み込みシステムのソフトウェアを試験するための一つ以上の試験環境を知的に決定する方法であって、
タスク割り当て器によって複数の試験環境の性能情報を取得することと、
前記タスク割り当て器によって、前記組み込みシステムのソフトウェアを試験するために実行されるタスクの方針情報を取得することと、
前記タスク割り当て器によって、前記複数の試験環境の中から、前記方針情報を満たす試験環境を決定することと、
前記タスク割り当て器によって、前記決定された試験環境に前記タスクを割り当てることと
を含み、
前記組み込みシステムは車載電子制御ユニット(ECU)であり、
前記複数の試験環境は、少なくとも一つのソフトウェアインザループ(SIL)試験環境、少なくとも一つのハードウェアインザループ(HIL)試験環境、及び少なくとも一つの仮想ECU(V-ECU)試験環境を含む、方法。
【請求項2】
前記タスク割り当て器によって、前記割り当てられたタスクの試験結果を前記決定された試験環境から受信することと、
前記タスク割り当て器によって、前記決定された試験環境の性能情報を、前記受信された試験結果に基づいて更新することと
をさらに含む、請求項1に記載の方法。
【請求項3】
前記タスク割り当て器によって、前記受信された試験結果に基づいて、前記複数の試験環境の中から別の試験環境を決定することと、
前記タスク割り当て器によって、前記決定された別の試験環境に前記タスクを割り当てることと
をさらに含む、請求項2に記載の方法。
【請求項4】
前記性能情報は、プロセッサ速度、サポートされるECU機能、サポートされる命令セット、及び使用コストの少なくとも一つを含む、請求項1又は2に記載の方法。
【請求項5】
前記方針情報を取得することは、複数のタスクの前記方針情報を取得することを含み、
前記試験環境を決定することは、前記方針情報に基づいて前記複数のタスクをそれぞれ割り当てるために、前記複数の試験環境の中から複数の試験環境を決定することを含み、
前記タスクを割り当てることは、前記複数の試験環境での同時実行のために前記複数のタスクを割り当てることを含む、請求項1又は2に記載の方法。
【請求項6】
前記タスク割り当て器によって前記性能情報を記録に記憶することをさらに含み、前記記録は表を含む、請求項1又は2に記載の方法。
【請求項7】
前記タスク割り当て器によって、前記割り当てられたタスクの試験結果を前記決定された試験環境から受信することと、
前記タスク割り当て器によって、前記受信された試験結果に基づいて前記記録の表を更新することと
をさらに含む、請求項6に記載の方法。
【請求項8】
組み込みシステムのソフトウェアを試験するための一つ以上の試験環境を知的に決定するシステムであって、
命令を記憶するメモリと、
タスク割り当て器と
を備え、
前記タスク割り当て器は、前記命令を実行して、
複数の試験環境の性能情報を取得し、
前記組み込みシステムのソフトウェアを試験するために実行されるタスクの方針情報を取得し、
前記複数の試験環境の中から、前記方針情報を満たす試験環境を決定し、
前記決定された試験環境に前記タスクを割り当てるように構成され、
前記組み込みシステムは車載電子制御ユニット(ECU)であり、
前記複数の試験環境は、少なくとも一つのソフトウェアインザループ(SIL)試験環境、少なくとも一つのハードウェアインザループ(HIL)試験環境、及び少なくとも一つの仮想ECU(V-ECU)試験環境を含む、システム。
【請求項9】
前記タスク割り当て器は、前記命令を実行して
前記割り当てられたタスクの試験結果を前記決定された試験環境から受信し、
前記決定された試験環境の前記性能情報を、前記受信された試験結果に基づいて更新するようにさらに構成される、請求項8に記載のシステム。
【請求項10】
前記タスク割り当て器は、
前記受信された試験結果に基づいて、前記複数の試験環境の中から別の試験環境を決定し、
前記決定された別の試験環境に前記タスクを割り当てるようにさらに構成される、請求項9に記載のシステム。
【請求項11】
前記性能情報は、プロセッサ速度、サポートされるECU機能、サポートされる命令セット、及び使用コストの少なくとも一つを含む、請求項8又は9に記載のシステム。
【請求項12】
前記タスク割り当て器は、前記命令を実行して、複数のタスクの前記方針情報を取得することによって前記方針情報を取得するように構成され、
前記タスク割り当て器は、前記命令を実行して、前記方針情報に基づいて前記複数のタスクをそれぞれ割り当てるために、前記複数の試験環境の中から複数の試験環境を決定することによって前記試験環境を決定するように構成され、
前記タスク割り当て器は、前記命令を実行して、前記複数の試験環境での同時実行のために前記複数のタスクを割り当てることによって前記タスクを割り当てるように構成される、請求項8又は9に記載のシステム。
【請求項13】
前記タスク割り当て器は、前記命令を実行して、前記性能情報を記録に記憶するようにさらに構成され、前記記録は表を含む、請求項8又は9に記載のシステム。
【請求項14】
前記タスク割り当て器は、前記命令を実行して、
前記割り当てられたタスクの試験結果を前記決定された試験環境から受信し、
前記受信された試験結果に基づいて前記記録の表を更新するようにさらに構成される、請求項13に記載のシステム。
【請求項15】
タスク割り当て器によって実行可能な命令が記録された非一時的なコンピュータ可読記録媒体であって、
前記命令は、組み込みシステムのソフトウェアを試験するための一つ以上の試験環境を知的に決定する方法を前記タスク割り当て器に実行させ、
前記方法は、
前記タスク割り当て器によって複数の試験環境の性能情報を取得することと、
前記タスク割り当て器によって、前記組み込みシステムのソフトウェアを試験するために実行されるタスクの方針情報を取得することと、
前記タスク割り当て器によって、前記複数の試験環境の中から、前記方針情報を満たす試験環境を決定することと、
前記タスク割り当て器によって、前記決定された試験環境に前記タスクを割り当てることと
を含み、
前記組み込みシステムは車載電子制御ユニット(ECU)であり、
前記複数の試験環境は、少なくとも一つのソフトウェアインザループ(SIL)試験環境、少なくとも一つのハードウェアインザループ(HIL)試験環境、及び少なくとも一つの仮想ECU(V-ECU)試験環境を含む、非一時的なコンピュータ可読記録媒体。
【請求項16】
前記方法は、
前記タスク割り当て器によって、前記割り当てられたタスクの試験結果を前記決定された試験環境から受信することと、
前記タスク割り当て器によって、前記決定された試験環境の性能情報を、前記受信された試験結果に基づいて更新することと
をさらに含む、請求項15に記載の非一時的なコンピュータ可読記録媒体。
【請求項17】
前記方法は、
前記タスク割り当て器によって、前記受信された試験結果に基づいて、前記複数の試験環境の中から別の試験環境を決定することと、
前記タスク割り当て器によって、前記決定された別の試験環境に前記タスクを割り当てることと
をさらに含む、請求項16に記載の非一時的なコンピュータ可読記録媒体。
【請求項18】
前記性能情報は、プロセッサ速度、サポートされるECU機能、サポートされる命令セット、及び使用コストの少なくとも一つを含む、請求項15又は16に記載の非一時的なコンピュータ可読記録媒体。
【請求項19】
前記方針情報を取得することは、複数のタスクの前記方針情報を取得することを含み、
前記試験環境を決定することは、前記方針情報に基づいて前記複数のタスクをそれぞれ割り当てるために、前記複数の試験環境の中から複数の試験環境を決定することを含み、
前記タスクを割り当てることは、前記複数の試験環境での同時実行のために前記複数のタスクを割り当てることを含む、請求項15又は16に記載の非一時的なコンピュータ可読記録媒体。
【請求項20】
前記方法は、
前記タスク割り当て器によって、前記性能情報を記録に記憶することをさらに含み、前記記録は表を備える、請求項15又は16に記載の非一時的なコンピュータ可読記録媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示の実施形態と整合したシステム及び方法は試験環境に関し、特に、システムを試験する試験環境を知的に割り当てる又は決定するためのシステム及び方法に関する。
【背景技術】
【0002】
従来技術において、システムの機能及びソフトウェア性能を試験するための種々の試験環境が導入されてきている。例えば、電子制御ユニット(ECU)のような車両組み込みシステムは、特に、少なくとも一つのソフトウェアインザループ(SIL)試験環境、少なくとも一つのハードウェアインザループ(HIL)試験環境、及び少なくとも一つの仮想ECU(V-ECU)試験環境を利用することによって試験されうる。
【0003】
例えば、SIL試験環境は、システムが動作することが意図される実際のECUの代わりに、一般的な又は汎用のハードウェアへのシステムの実装を評価するか又はシミュレーションするために、SILシミュレータ(SiLS)を利用しうる。SIL試験環境は、複数の試験が並行して実行されることを可能にし、製品が完全に開発される前に部分的に開発された製品(例えば、部分的に仮想化されたハードウェアなど)の試験を可能にする。その結果、SIL試験環境は、高いスケーラビリティ及び低いコストを有するより速い試験シミュレーションを概して提供する。それにもかかわらず、基礎をなすハードウェアが一般的なものであるため、及び/又は実際の試験されるシステムとは異なりうるために、SIL試験環境の信頼性と精度はより低い。
【0004】
他方で、HIL試験環境は、システムが動作することを意図する実際のシステム(例えば、物理的ECU)をそれにより評価するか又は試験するために、実際の要素(例えば、物理的ECU)に通信可能に接続されたHILシミュレータ(HiLS)を利用し、真の動作環境が忠実に再現されるので、それにより非常に信頼できる試験結果を提供しうる。それにもかかわらず、HIL試験環境を用いた試験を実行することは、(例えば低い拡張可能性のため)高価で、時間がかかることがあり、利用可能なハードウェアの数的な制限を考えると多数の並行試験/シミュレーションを提供することができない。
【0005】
それらの中間で、V-ECU試験環境は、その試験結果がSIL試験環境よりも信頼できより正確となるように、ソフトウェアで特定のECU環境及び機能を再現又はエミュレートしうる。さらに、V-ECU試験環境は、HIL試験環境よりも低コスト(例えば、より安価、等)であり、したがって、多数の同時試験シナリオに対してより拡張可能であり、それをより受け入れることができる。さらに、V-ECU試験環境は、並行試験をも可能にする。しかしながら、V-ECU試験環境は、試験されるECUを完全にはエミュレートできないことがあり(例えば、システムオンチップ(SoC)をエミュレートできないことがある、など)、再現することができる実際のハードウェア/製品機能に関して制限される。さらに、関連する情報が完全には分かっていないときには(例えば、ハードウェアモデルがそのベンダーによって秘密に保持されるケースなどにおいて)ECUを正確に再現することが困難になることがある。加えて、V-ECU試験環境では、試験対象(すなわち、一つ以上のECU)のソフトウェア形態(例えば、仮想ECUなど)への変換が必要であり、したがって即時の試験又はシミュレーションを提供するのに適さないことがある。
【0006】
上記を考えると、各試験環境(例えば、SIL、HIL、V-ECUなど)又は方法論は、経費及び利点の様々なトレードオフを提供する。したがって、適切な試験環境の選択及び割り当ては、試験を最適化するために、そして多様な試験要件を満たすために重要である。それにもかかわらず、従来技術における試験環境選択及び試験環境に対するタスク(例えば、実行される試験など)の割り当ては最適でなく、以下の通りいくつかの限界及び欠陥を有する。
【0007】
まず第1に、従来技術のシステム及び方法は、同じ種類の複数の試験環境、又は、HIL又はSIL試験環境などの一般的な試験環境間での試験環境の決定を含むだけであり、(V-ECU試験環境を含む)利用可能な試験環境と方法論すべてを活用するための機能やアルゴリズムを持たない。すなわち、従来技術のシステム及び方法は、特定のユーザのニーズ及び/又は試験要件に最も適合する特定の試験環境を知的に決定する又は割り当てることができない。
【0008】
さらに、組み込みシステム(例えば、車両のためのソフトウェアなど)の開発においては、開発の種々のステージでソフトウェアを試験することが要求される。ただ一つのタイプの試験環境に限定されることは、開発サイクルにおいて最適でないことがある。例えば、HIL試験の実行が最も正確である一方で、ソフトウェア開発の初期の段階、特に関連するハードウェア(例えば、ECU、SoCなど)の開発がまだ完了していない段階では、それらは適切ではないことがある。また、HIL試験環境を用いるときに、試験のために利用可能なハードウェア環境が少数であるため多数のシナリオを実行するには長い時間がかかるので、ソフトウェア開発が遅れることがある。
【発明の概要】
【0009】
実施形態によれば、組み込みシステムのソフトウェアを試験するための一つ以上の試験環境を知的に決定するための方法、システム及び装置が提供される。具体的には、本開示の実施形態は一つ以上のタスク(例えば、試験実行など)が知的に割り当てられる複数の試験環境を利用することができ、それにより、種々の試験要件又は条件下で複数のタスクが複数の試験環境において同時に行われる又は実行されることを可能にする。さらに、試験環境の性能情報を利用することによって、一つ以上のタスクの多様な要件(速度、コストなど)を満たしつつ、一つ以上のタスクが試験又はシミュレーションを最適化するように知的に割り当てられることができる。
【0010】
実施形態によれば、組み込みシステムのソフトウェアを試験するための一つ以上の試験環境を知的に決定する方法が提供され、本方法は、タスク割り当て器によって、複数の試験環境の性能情報を取得することと、タスク割り当て器によって、組み込みシステムのソフトウェアを試験するために実行されるタスクの方針情報を取得することと、タスク割り当て器によって、複数の試験環境の中から、方針情報を満たす試験環境を決定することと、タスク割り当て器によって、決定された試験環境にタスクを割り当てることとを含み、組み込みシステムは、車載電子制御ユニット(ECU)であり、複数の試験環境は、少なくとも一つのソフトウェアインザループ(SIL)試験環境、少なくとも一つのハードウェアインザループ(HIL)試験環境、及び少なくとも一つの仮想ECU(V-ECU)試験環境を含む。
【0011】
実施形態によれば、性能情報はが、プロセッサ速度、サポートされるECU機能、サポートされる命令セット、及び使用コストの少なくとも一つを含む。
【0012】
実施形態によれば、本方法は、タスク割り当て器によって、割り当てられたタスクの試験結果を決定された試験環境から受信することと、タスク割り当て器によって、決定された試験環境の性能情報を、受信された試験結果に基づいて更新することとをさらに含む。
【0013】
実施形態によれば、本方法は、タスク割り当て器によって、受信された試験結果に基づいて、複数の試験環境の中から別の試験環境を決定することと、タスク割り当て器によって、決定された別の試験環境にタスクを割り当てることとをさらに含む。
【0014】
実施形態によれば、方針情報を取得することは、複数のタスクの方針情報を取得することを含み、試験環境を決定することは、方針情報に基づいて複数のタスクをそれぞれ割り当てるために、複数の試験環境の中から複数の試験環境を決定することを含み、タスクを割り当てることは、複数の試験環境での同時実行のために複数のタスクを割り当てることを含む。
【0015】
実施形態によれば、本方法は、タスク割り当て器によって、性能情報を記録に記憶することをさらに含み、記録は表を含む。
【0016】
実施形態によれば、本方法は、タスク割り当て器によって、割り当てられたタスクの試験結果を決定された試験環境から受信することと、タスク割り当て器によって、受信された試験結果に基づいて記録の表を更新することとをさらに含む。
【0017】
実施形態によれば、組み込みシステムのソフトウェアを試験する一つ以上の試験環境を知的に決定するシステムが提供され、システムは、命令を記憶するメモリと、タスク割り当て器とを含み、タスク割り当て器は、命令を実行して、複数の試験環境の性能情報を取得し、組み込みシステムのソフトウェアを試験するために実行されるタスクの方針情報を取得し、複数の試験環境の中から、方針情報を満たす試験環境を決定し、決定された試験環境にタスクを割り当てるように構成され、組み込みシステムは、車載電子制御ユニット(ECU)であり、複数の試験環境は、少なくとも一つのソフトウェアインザループ(SIL)試験環境、少なくとも一つのハードウェアインザループ(HIL)試験環境、及び少なくとも一つの仮想ECU(V-ECU)試験環境を含む。
【0018】
実施形態によれば、性能情報は、プロセッサ速度、サポートされるECU機能、サポートされる命令セット、及び使用コストの少なくとも一つを含む。
【0019】
実施形態によれば、タスク割り当て器は、命令を実行して、割り当てられたタスクの試験結果を決定された試験環境から受信し、決定された試験環境の性能情報を、受信された試験結果に基づいて更新するようにさらに構成される。
【0020】
実施形態によれば、タスク割り当て器は、命令を実行して、受信された試験結果に基づいて複数の試験環境の中から別の試験環境を決定し、決定された別の試験環境にタスクを割り当てるようにさらに構成される。
【0021】
実施形態によれば、タスク割り当て器は、命令を実行して、複数のタスクの方針情報を取得することによって方針情報を取得するように構成される。さらに、タスク割り当て器は、命令を実行して、方針情報に基づいて複数のタスクをそれぞれ割り当てるために、複数の試験環境の中から複数の試験環境を決定することによって試験環境を決定するように構成される。さらに、タスク割り当て器は、命令を実行して、複数の試験環境での同時実行のために複数のタスクを割り当てることによってタスクを割り当てるように構成される。
【0022】
実施形態によれば、タスク割り当て器は、命令を実行して、性能情報を記録に記憶するようにさらに構成され、記録は表を含む。
【0023】
実施形態によれば、タスク割り当て器は、命令を実行して、割り当てられたタスクの試験結果を決定された試験環境から受信し、受信された試験結果に基づいて記録の表を更新するようにさらに構成される。
【0024】
実施形態によれば、非一時的なコンピュータ可読記録媒体が提供される。非一時的なコンピュータ可読記録媒体には、タスク割り当て器によって実行可能な命令が記録され、命令は、組み込みシステムのソフトウェアを試験するための一つ以上の試験環境を知的に決定する方法をタスク割り当て器に実行させ、この方法は、タスク割り当て器によって複数の試験環境の性能情報を取得することと、タスク割り当て器によって、組み込みシステムのソフトウェアを試験するために実行されるタスクの方針情報を取得することと、タスク割り当て器によって、複数の試験環境の中から、方針情報を満たす試験環境を決定することと、タスク割り当て器によって、決定された試験環境にタスクを割り当てることとを含み、組み込みシステムは車載電子制御ユニット(ECU)であり、複数の試験環境は、少なくとも一つのソフトウェアインザループ(SIL)試験環境、少なくとも一つのハードウェアインザループ(HIL)試験環境、及び少なくとも一つの仮想ECU(V-ECU)試験環境を含む。
【0025】
実施形態によれば、性能情報は、プロセッサ速度、サポートされるECU機能、サポートされる命令セット、及び使用コストの少なくとも一つを含む。
【0026】
実施形態によれば、非一時的なコンピュータ可読記録媒体には、本方法をタスク割り当て器に実行させる、タスク割り当て器によって実行可能な命令をその上に記録してあってもよく、本方法が、タスク割り当て器によって、割り当てられたタスクの試験結果を決定された試験環境から受信することと、タスク割り当て器によって、決定された試験環境の性能情報を、受信した試験結果に基づいて更新することと、をさらに含んでもよい。
【0027】
実施形態によれば、非一時的なコンピュータ可読記録媒体には、タスク割り当て器によって実行可能な命令が記録され、命令は、タスク割り当て器によって、受信した試験結果に基づいて、複数の試験環境の中から別の試験環境を決定することと、タスク割り当て器によって、決定された別の試験環境にタスクを割り当てることとをさらに含む方法をタスク割り当て器に実行させる。
【0028】
実施形態によれば、非一時的なコンピュータ可読記録媒体には、タスク割り当て器によって実行可能な命令が記録され、命令はタスク割り当て器に方法を実行させ、方針情報を取得することは、複数のタスクの方針情報を取得することを含み、試験環境を決定することは、方針情報に基づいて複数のタスクをそれぞれ割り当てるために、複数の試験環境の中から複数の試験環境を決定することを含み、タスクを割り当てることは、複数の試験環境での同時実行のために複数のタスクを割り当てることを含む。
【0029】
実施形態によれば、非一時的なコンピュータ可読記録媒体には、タスク割り当て器によって実行可能な命令が記録され、命令は、タスク割り当て器によって、性能情報を記録に記憶することをさらに含む方法をタスク割り当て器に実行させ、記録は表を含む。
【0030】
追加の態様は、一部は以下の説明に記載され、一部は説明から明らかになるか、又は本開示の提示された実施形態の実践によって実現されうる。
【図面の簡単な説明】
【0031】
図1図1は、一つ以上の実施形態に係る、一つ以上のタスクを一つ以上の試験環境に知的に割り当てるシステムアーキテクチャのブロック図を示す。
図2図2は、一つ以上の実施形態に係る、ハードウェアインザループ(HIL)試験環境の構成例のブロック図を示す。
図3A図3Aは、一つ以上の実施形態に係る、ソフトウェアインザループ(SIL)試験環境の構成例のブロック図を示す。
図3B図3Bは、一つ以上の実施形態に係る、複数のアプリケーションソフトウェアの構成のブロック図を示す。
図4A図4Aは、一つ以上の実施形態に係る、仮想ECU(V-ECU)試験環境の構成例のブロック図を示す。
図4B図4Bは、一つ以上の実施形態に係る、V-ECU及び複数のアプリケーションソフトウェアの構成のブロック図を示す。
図5図5は、一つ以上の実施形態に係る、タスク割り当てシステムの例示的な構成要素のブロック図を示す。
図6図6は、一つ以上の実施形態に係る、タスク割り当てシステムと複数のサーバとの間の例示的な通信のブロック図を示す。
図7A図7Aは、一つ以上の実施形態に係る、システムのソフトウェアを試験するための試験環境を知的に決定する例示的な方法のブロック図を示す。
図7B図7Bは、一つ以上の実施形態に係る、図7Aの例示的な方法が実施される非網羅的なユースケース例のコールフローを示す。
図8A図8Aは、一つ以上の実施形態に係る、情報を管理する例示的な方法のブロック図を示す。
図8B図8Bは、一つ以上の実施形態に係る、図8Aの例示的な方法が実施される非網羅的なユースケース例のコールフローを示す。
【発明を実施するための形態】
【0032】
本開示の好ましい実施形態の特徴、利点、及び重要性は、添付の図面を参照して以下に説明され、図面において、同様の参照番号は同様の要素を示す。
【0033】
以下の好ましい実施形態の詳細な説明は、添付の図面を参照する。前述の開示は、例示及び説明を提供するが、網羅的であることも、開示された正確な形式に実施を限定することも意図しない。修正及び変更は、上記の開示を考慮して可能であるか、又は実装の実行から得ることができる。さらに、一実施形態の一つ以上の特徴又は構成要素が、別の実施形態(又は別の実施形態の一つ以上の特徴)に組み込むか又は組み合わされてもよい。さらに、以下に提供される動作のフローチャート及び説明において、一つ以上の動作が省略されうること、一つ以上の動作が追加されうること、一つ以上の動作が(少なくとも部分的に)同時に実行されうること、及び一つ以上の動作の順序を入れ替えることができること、が理解される。
【0034】
特徴の特定の組み合わせが特許請求の範囲に記載され、及び/又は明細書に開示されているとしても、これらの組合せは可能な実施の開示を限定することを意図しない。実際、これらの特徴の多くは、特許請求の範囲に特に記載されていない方法及び/又は明細書に開示されていない方法で組み合わされてもよい。以下に列挙する各従属請求項は 一つの請求項のみに直接従属することがあるが、可能な実施態様の開示は、請求項セット内の他のすべての請求項と組み合わせた各従属請求項を含む。
【0035】
本明細書において用いられる何れの要素、行為、指示も、明確にそのように記載されない限り、決定的であるとも必須であるとも解釈されるべきではない。また、本明細書で使用される冠詞「a」及び「an」は、一つ以上の項目を含むことを意図しており、「一つ以上の」と交換可能に使用されうる。一つの項目のみを意図している場合は、「一つの(one)」という用語又は同様の用語が用いられる。また、本明細書で使用される場合、「有する」、「有している」、「含む」、「含んでいる」、又は同種のものは、オープンエンドの用語であることを意図する。さらに、「に基づいて」という語句は、別の明確な記載がない限り、「少なくとも部分的に基づいて」を意味することを意図する。さらに、「「A」及び「B」の少なくとも一つ」、又は「「A」又は「B」の少なくとも一つ」などの表現は、Aのみ、Bのみ、又はAとBの両方を含むものとして理解されるべきである。
【0036】
本明細書全体を通じて、「一実施形態」、「実施形態」、「非限定的な好ましい実施形態」、又は同様の用語への言及は、示された実施形態に関連して説明される特定の特徴、構造、又は特性が少なくとも現在の解決策の一つの実施形態に含まれることを意味する。したがって、本明細書全体を通じて「一実施形態において」、「実施形態において」、「非限定的な好ましい一実施形態において」という語句、及び同様の表現は、必ずではないが、すべて同じ実施形態を指すことがある。
【0037】
さらに、本開示の記載された特徴、利点、及び特質は、一つ以上の実施形態において任意の適切な方法で組み合わされてもよい。当業者であれば、本明細書の説明を考慮すれば、特定の実施形態の一つ以上の特定の特徴又は利点がなくても本開示を実施できることが理解されよう。他の例では、本開示のすべての実施形態には存在しないことがある付加的な特徴及び利点が、特定の実施形態で認められることがある。
【0038】
本明細書に記載される開示の一実施態様では、表示ページは、コンピュータ装置のメモリ内に存在する情報を含んでもよく、この情報は、ネットワークを介してコンピュータ装置からデータベースセンターに、及びその逆に送信されうる。情報は、各コンピュータ装置のメモリ、ネットワークの端にあるデータ記憶装置、又はデータベースセンターのサーバに保存されてもよい。コンピュータ装置又はモバイル機器は、モバイル機器の永続メモリ又は一時メモリに格納することができる、又は何らかの形でモバイル機器による動作に影響を与えたり動作を開始したりすることができる、命令、ロジック、データ、又はコードを含むことができる、非一時的なコンピュータ可読メディアを受け入れることができる。同様に、一つ以上のサーバは、ネットワークを介して一つ以上のモバイル機器と通信して、メモリ内に存在するコンピュータファイルを送信することができる。ネットワークは、例えば、インターネット、無線通信ネットワーク、又は一つ以上のモバイル機器を一つ以上のサーバに接続するための任意の他のネットワークを含むことができる。
【0039】
さらに、本開示は、車両の組み込みシステム(例えば、電子制御ユニット(ECU)など)に関して記載されるが、本明細書で記載される本開示の実施形態は、本開示の範囲から逸脱することなく、レーダーシステム、ロボットシステム、電力システム、及び同種のものなどの他の適切なタイプの任意のシステムにも適用可能であることが理解されよう。
【0040】
本開示の実施形態は、システムのソフトウェアを試験するための一つ以上の試験環境を知的に決定する方法、システム及び装置を提供する。具体的には、本開示の実施形態と整合した方法、システム及び装置は、タスクの要件及び利用可能な試験環境の性能に基づいて一つ以上のタスク(例えば、試験実行など)を割り当てるための最適試験環境の知的決定を提供する。
【0041】
結局、本開示の実施形態は、複数の異なるタイプの試験環境を利用することができ、それにより、種々の試験要件又は条件下で複数の試験環境の中で複数の試験が同時に行われる又は実行されることを可能にすることができる。さらに、試験環境の性能情報を利用することによって、一つ以上のタスクが、試験を最適化するように、そして一つ以上のタスクの多様な要件(速度、コストなど)を満たすように知的に割り当てられることができる。
【0042】
図1は、一つ以上の実施形態に係る、一つ以上のタスクを一つ以上の試験環境に知的に割り当てるシステムアーキテクチャ100のブロック図を示す。
【0043】
図1を参照すると、システムアーキテクチャ100は、タスク割り当てシステム110及び複数の試験環境120を含んでもよい。タスク割り当てシステム110は、複数の試験環境120のそれぞれに通信可能に接続されてもよく、複数の試験環境120の中から一つ以上の試験環境を知的に決定するための、そして、一つ以上のタスク(例えば、試験を実行する/シミュレーションする、性能チェックを実行する、試験実行の予定を設定する、など)を決定された試験環境に割り当てるための動作を実行するように構成されてもよい。タスク割り当てシステム110に含まれる構成要素に関するさらなる説明は、図5を参照して以下に提供され、タスク割り当てシステム110によって実行されうる動作例のさらなる説明は、図6から図8Bを参照して以下に提供される。
【0044】
加えて、図1にて示したように、複数の試験環境は、少なくとも一つのハードウェアインザループ(HIL)試験環境120-1、少なくとも一つのソフトウェアインザループ(SIL)試験環境120-2及び少なくとも一つの仮想電子制御ユニット(V-ECU)試験環境120-3を含んでもよい。試験環境120-1から120-3のそれぞれは、タスク割り当てシステム110に通信可能に接続されてもよく、一つ以上のタスクに関連する一つ以上の信号、情報、データ又は同種のものをタスク割り当てシステム110に提供しタスク割り当てシステム110から受信してもよい。HIL試験環境120-1及びそれに含まれる構成要素の動作に関するさらなる説明は、図2を参照して以下に提供され、SIL試験環境120-2及びそれに含まれる構成要素の動作に関するさらなる説明は、図3A及び図3Bを参照して以下に提供され、そして、V-ECU試験環境120-3及びそれに含まれる構成要素の動作に関するさらなる説明は、図4A及び図4Bを参照して以下に提供される。
【0045】
上記の試験環境120-1から120-3は単に可能な試験環境の例であり、本開示の範囲はそこに限定されるべきでないと理解されよう。具体的には、より多くの又はより少ない試験環境が試験環境120に含まれてもよく、及び/又は、任意の他の適切なタイプの試験環境(例えば、モデルインザループ(MIL)試験環境、プロセッサインザループ(PIL)試験環境など)も、本開示の範囲から逸脱することなく、試験環境120に含まれてもよい。
【0046】
次に図2を参照すると、図2は、一つ以上の実施形態に係る、ハードウェアインザループ(HIL)試験環境200の構成例のブロック図を示す。HIL試験環境200は、図1のHIL試験環境120-1に対応しうるもので、したがって、HIL試験環境120-1及び200を参照して本明細書で説明される特徴は、別の明確な記載がない限り、相互に適用可能であることが理解されよう。
【0047】
概して、HIL試験環境200は、(これらに限定されないが)試験の実行又はシミュレーション、試験実行の予定の設定又は同種のものなどの、一つ以上の試験対象の試験に関連する一つ以上のタスクを管理するように構成されうる。具体的には、HIL試験環境200は、一つ以上の開発された(又は部分的に開発された)ハードウェア/物理的構成要素に通信可能に接続することができ、それとともに一つ以上のハードウェア/物理的構成要素を試験又は評価するために、現実環境又は実際のユースケースをシミュレーションすることができる。例えば、エンジンECUは、車両に組み込まれる前に開発され試験されてもよい。そのような例において、実際のエンジンによってエンジンECUを試験する代わりに、HIL試験環境200が、エンジンECUと相互作用するエンジンのハードウェア及びソフトウェアを含むシミュレーションを実行してもよい。
【0048】
さらに図2に示すように、HIL試験環境200は、少なくとも一つの通信インタフェース210、少なくとも一つのプロセッサ220、少なくとも一つの記憶装置230及び少なくとも一つのHILシミュレータ(HiLS)240を含んでもよい。少なくとも一つのHiLS240は、少なくとも一つの電子制御ユニット(ECU)250に通信可能に接続されてもよい。
【0049】
通信インタフェース210は、有線接続、無線接続、又は有線接続と無線接続の組み合わせなどを介して、HIL試験環境200の構成要素が相互に通信したり、HIL試験環境200の外部の一つ以上の構成要素と通信したりできるようにするトランシーバ状の構成要素(例えば、トランシーバ、別々の受信機及び送信機など)を含んでもよい。 例えば、通信インタフェース210は、プロセッサ220をHiLS240に接続することにより、一つ以上の試験/シミュレーションを実行する際に、それらが互いに通信し相互運用することを可能にしてもよい。別の例として、通信インタフェース210はHIL試験環境200(又はその中に含まれる一つ以上の構成要素)をタスク割り当てシステム(例えば、図1のタスク割り当てシステム110など)に連結することにより、それらが互いに通信し相互運用することを可能にしてもよい。
【0050】
実施形態によれば、通信インタフェース210は、バス、イーサネットインタフェース、光インタフェース、同軸インタフェース、赤外線インタフェース、無線周波数(RF)インタフェース、ユニバーサルシリアルバス(USB)インタフェース、WiFiインタフェース、携帯電話ネットワークインタフェース、ソフトウェアインタフェース、又は同種のものを含んでもよい。実施形態によれば、通信インタフェース210は、HIL試験環境200(又はその中に含まれる一つ以上の構成要素)を複数のECUに通信可能に接続するように構成可能な少なくとも一つのコントローラエリアネットワーク(CAN)バスを含んでもよい。一部の実施態様では、CANバス(又は一つの以上の関連する機能)は、例えば、仮想化(例えば、仮想化ネットワーク機能など)を介して、ソフトウェア形式で定義されてもよい。
【0051】
少なくとも一つのプロセッサ220は、本明細書において記載されている機能又は動作を実行するようにプログラムされることができる一つ以上のプロセッサを含んでもよい。例えば、プロセッサ220は、記憶媒体(例えば、記憶装置230など)に記憶されたコンピュータ可読命令を実行し、それにより、本明細書に記載される一つ以上の行為又は一つ以上の動作を実行するように構成されてもよい。実施形態によれば、プロセッサ220は、一つ以上の動作を実行するための一つ以上の命令を定義している一つ以上の信号を受信する(例えば、通信インタフェース210などを介して)ように構成されてもよい。さらに、プロセッサ220は、ハードウェア、ファームウェア、又はハードウェアとソフトウェアの組合せで実装されてもよい。プロセッサ220は、中央演算処理装置(CPU)、グラフィックスプロセシングユニット(GPU)、アクセラレーテッドプロセッシングユニット(APU)、マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)及び/又は別のタイプの処理又は計算素子でもよい。
【0052】
実施形態によれば、プロセッサ220は、タスク割り当てシステム(例えば、図1のタスク割り当てシステム110)から一つ以上の情報/信号を受信し、受信した情報/信号を処理するか又は分析して、処理又は分析に基づいて一つ以上の動作を実行するように構成されてもよい。実施形態によれば、プロセッサ220は、処理又は分析に基づいて、少なくとも一つの記憶装置230で記憶される一つ以上の情報又はデータを取り出し、タスク割り当てシステムにそれを提供してもよい。さらに、プロセッサ220は、処理又は分析に基づいて、試験を実行するスケジュールを生成し、スケジュールを記憶装置230に記憶してもよい。さらに、プロセッサ220は、処理又は分析に基づいて、一つ以上の試験/シミュレーションを実行するようにHiLS240を起動し、指示し、及び/又は、構成してもよい。
【0053】
少なくとも一つの記憶装置230は、データ、情報及び/又はコンピュータ可読命令をその中に記憶するのに適している一つ以上の記憶媒体を含んでもよい。実施形態によれば、記憶装置230は、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、及び/又は、プロセッサ220の使用のために情報及び/又は命令を保存する別のタイプの動的又は静的記憶装置(例えば、フラッシュメモリ、磁気メモリ及び/又は光メモリ)を含んでもよい。加えて、又は代わりに、記憶装置230は、ハードディスク(例えば、磁気ディスク、光ディスク、光磁気ディスク及び/又は半導体ディスク)、コンパクトディスク(CD)、デジタル多用途ディスク(DVD)、フロッピーディスク、カートリッジ、磁気テープ及び/又は別のタイプの非一時的なコンピュータ可読媒体を、対応するドライブと共に含んでもよい。
【0054】
実施形態によれば、記憶装置230は、HIL試験環境200が配置/提供された試験サーバの容量情報、HiLS240の処理性能、過去の試験結果、使用コスト、又は同種のものなど(ただし、これに限定されない)、HIL試験環境200の能力に関連する情報を記憶するように構成されてもよい。実施形態によれば、性能情報は、処理速度/試験速度(又は処理速度/試験速度を決定できるパラメータ)を含んでもよい。さらに、記憶装置230は、一つ以上のプロセッサ(例えば、プロセッサ220)によって実行されるときに、一つ以上のプロセッサに本明細書に記載される一つ以上の動作を実行させるコンピュータ可読命令を記憶してもよい。
【0055】
少なくとも一つのHiLS240は、少なくとも一つのシステムに通信可能に接続され、少なくとも一つのシステムに対する一つ以上のリアルタイム環境シミュレーション又は試験を実行するように構成されてもよい。実施形態によれば、HiLS240は、通信インタフェース210を介して少なくとも一つのシステムに通信可能に接続されてもよい。
【0056】
図2に示される実施形態において、HiLS240は、車両の組み込みシステムであってもよいECU(すなわち、ECU250)に通信可能に接続されるが、本開示の範囲から逸脱することなく、任意の他の適切な物理的構成要素又はシステム(例えば、開発されたハードウェアなど)も適用できると理解されよう。HiLS240は、ハードウェア、ソフトウェア又はそれらの組み合わせの形で配置されてもよい。この点に関して、HiLS240と関連するソフトウェア構成要素(例えば、ソフトウェアプログラミング、機能的なアルゴリズムなど)は、通信可能にHiLS240に接続された一つ以上の記憶媒体(例えば、少なくとも一つの記憶装置230など)に提供され又は記憶されてもよい。
【0057】
HiLS240は、一つ以上のシミュレーション又は試験を実行するように構成されてもよい。実施形態によれば、HiLSは少なくとも1台のセンサ及び少なくとも1台のアクチュエータの電気的エミュレーションを実行してもよく、それがシミュレーションと試験されるシステム/ハードウェア要素の間のインタフェースとして作用する。電気的にエミュレートされた各センサ及びアクチュエータのパラメータは、HiLS240によってECU250に提供され、ECU250の応答及び/又は性能はHiLS240によって監視される。実施形態によれば、HiLS240は、一つ以上の記憶媒体(例えば、記憶装置230など)から一つ以上の予め定められた構成又は条件を取得して、予め定められた構成又は条件に基づいてシミュレーション又はエミュレーションを実行してもよい。HiLS240は、本開示の範囲から逸脱することなく、ECU250を試験するための実際の環境又はユースケースをシミュレート又はエミュレートするために、任意の他の適切な動作を実行するように構成されてもよいと理解されよう。
【0058】
ECU250は、何れの適切なタイプの組み込みシステム又は電子制御ユニットを含んでもよい。実施形態によれば、ECU250は、車両の一つ以上の動作を実行するために利用される一つ以上の電子制御ユニット、例えば、これらに限定されないが、エンジンECU、ステアリングECU、インフォテインメントECU、受動安全システム(例えば、エアバッグ、シートベルトなど)用のECU、又は同種のものを含んでもよい。この点に関して、本開示の範囲から逸脱することなく、試験される任意の他の適切なシステム、要素又は製品(例えば、開発されたハードウェアなど)がECU250と交換可能でありうると理解されよう。
【0059】
さらに、上記のHIL試験環境200はHIL試験環境の単なる例であり、本開示の範囲はそれに限定されるべきでないと考えられる。例えば、HIL試験環境は、本開示の範囲から逸脱することなく、本明細書において記載されているより多くの又はより少ない構成要素を含んでもよく、そして/又は、本明細書において記載されているのと異なる方法で構成されてもよい。
【0060】
次に図3Aを参照すると、図3Aは、一つ以上の実施形態に係る、ソフトウェアインザループ(SIL)試験環境300の構成例のブロック図を示す。SIL試験環境300は、図1のSIL試験環境120-2に対応しうるもので、したがって、SIL試験環境120-2及び300を参照して本明細書で説明される特徴は、別の明確な記載がない限り、相互に適用可能であることが理解されよう。
【0061】
上記のHIL試験環境200と同様に、SIL試験環境300は、(これらに限定されないが)試験の実行又はシミュレーション、試験実行の予定の設定又は同種のものなどの、一つ以上の試験対象の試験と関連する一つ以上のタスクを管理するように構成されうる。それにもかかわらず、一つ以上の物理的/ハードウェア構成要素に通信可能に接続され、そこで試験/シミュレーションを実行するHIL試験環境200とは異なり、SIL試験環境300は、一つ以上のソフトウェア構成要素(例えば、アプリケーションソフトウェア、仮想機能、プログラミングコード、機能的アルゴリズムなど)を単に取得又は受信し、それに対してソフトウェアベースの試験/シミュレーションを実行してもよい。簡単に言えば、SIL試験環境300は、HIL試験環境200のように試験される物理的/ハードウェア構成要素への接続を必要とせずに、任意の適切な計算装置又は環境内で生成、配置、及び実行することができる。
【0062】
図3Aを参照すると、SIL試験環境300は、少なくとも一つの通信インタフェース310、少なくとも一つのプロセッサ320、及び少なくとも一つの記憶装置330を含むことができ、それぞれは、図2のHIL試験環境200の通信インタフェース210、プロセッサ220、及び記憶装置230と同様の役割及び機能を有しうるため、以下ではその重複する説明を簡潔のために省略することがある。
【0063】
この点に関して、通信可能に物理的/ハードウェア構成要素に接続されたシミュレータ(例えば、HiLS240)を含むHIL試験環境200とは異なり、SIL試験環境300は、一つ以上の試験対象に対する一つ以上の試験/シミュレーションを実行するために、少なくとも一つのソフトウェアベースのSILシミュレータ(SiLS)を利用してもよい。すなわち、SiLSは、プロセッサ320によって実行可能なソフトウェアアプリケーション又はコンピュータプログラムの形で配置され、記憶装置330で記憶され又は提供されてもよい。
【0064】
さらに、図3Aに示したように、少なくとも一つのアプリケーションソフトウェア340は、試験のために(通信インタフェース310を介して)SIL試験環境300に提供される。少なくとも一つのアプリケーションソフトウェア340は、記憶装置330に記憶され、必要なときに試験のためにそこから取り出されてもよい。実施形態によれば、少なくとも一つのアプリケーションソフトウェア340は、SIL試験環境300の外部の一つ以上の記憶媒体(例えば、外部サーバなど)に提供されるか又は記憶され、試験/シミュレーションが実行されるときに急いでSIL試験環境300に与えられるか又は提供されてもよい。例えば、試験/シミュレーションの実行に応じて、プロセッサ320によって実行される少なくとも一つのSiLS(又はSIL試験環境300の任意の他の適切な構成要素)は、リアルタイムに又はリアルタイムに近く一つ以上の外部記憶媒体からアプリケーションソフトウェア340(例えば、プログラミングコード、アルゴリズムなど)を(通信インタフェース310を介して)取り出し又は受信し、それに対する試験/シミュレーションを実行してもよい。
【0065】
この目的で、SiLS及び少なくとも一つのアプリケーションソフトウェアが、これらに限定されないが例えばJava(登録商標)、C++、又は同種のものなどの、任意の適切なプログラミング言語又はコンピューティング技術で生成又は配置されてもよい。
【0066】
実施形態によれば、SIL試験環境300は、同時に複数の試験/シミュレーションを実行してもよい。例えば、SIL試験環境300は、並行して一つのアプリケーションソフトウェアの複数の試験/シミュレーションを実行し、並行して複数のアプリケーションソフトウェアの一つの試験/シミュレーションを実行し、又は、並行して複数のアプリケーションソフトウェアの複数の試験/シミュレーションを実行してもよい。
【0067】
図3Bは、一つ以上の実施形態に係る、複数のアプリケーションソフトウェアの構成のブロック図を示す。具体的には、図3Bは、先進運転支援システム(ADAS)に関連するアプリケーションソフトウェア340-1、車載インフォテインメント(IVI)システムと関連するアプリケーションソフトウェア340-2、及びシミュレートされたECU340-3などの、複数のアプリケーションソフトウェアの通信の例を示す。
【0068】
複数のアプリケーションソフトウェアが、仮想化ネットワーク310-1を介して、互いに及びSIL試験環境300に通信可能に接続されてもよい。この点に関し、本明細書に記載される仮想化ネットワーク310-1は、一つ以上の仮想化ネットワーク機能(例えば、CANバスなど)がその中に実装された任意の適切な物理的ネットワーク(例えば、イーサネット、WiFiなど)を指しうると考えられ、複数のアプリケーションソフトウェアをSIL試験環境300に接続するように構成されうる。仮想化ネットワーク310-1は単に通信チャネルの例であり、複数のアプリケーションソフトウェアをSIL試験環境300に接続するために、任意の適切な構成要素(例えば、ソフトウェアインタフェースなど)が、代わりに又は加えて利用されてもよいことが理解されよう。このように、SIL試験環境300は、複数のアプリケーションソフトウェアを並行して受信し又は利用することにより、その複数の試験/シミュレーションを並行して実行してもよい。
【0069】
図3Bに示されるアプリケーションソフトウェア340-1、アプリケーションソフトウェア340-2及びシミュレートされたECU340-3は、単にアプリケーションソフトウェアの例であり、任意の他の適切なアプリケーションソフトウェア(例えば、集積回路(IC)と関連するアプリケーションソフトウェア、中心アプリケーションソフトウェアなど)が同様の方法で適用されてもよいことが理解されよう。さらに、図3Bの構成が複数のプログラミングコード又は機能的なアルゴリズムに適用できうると理解されよう。例えば、ADASの第1のアルゴリズム及びADASの第2のアルゴリズムは、本明細書に記載されるのと同様の方法で、SIL試験環境に提供され、SIL試験環境によってシミュレーション/試験されてもよい。
【0070】
次に図4Aを参照すると、図4Aは、一つ以上の実施形態に係る、仮想ECU(V-ECU)試験環境400の構成例のブロック図を示す。V-ECU試験環境400は、図1のV-ECU試験環境120-3に対応したもので、したがって、V-ECU試験環境120-3及び400を参照して本明細書で説明される特徴は、別の明確な記載がない限り、相互に適用可能であることが理解されよう。
【0071】
V-ECU試験環境400によって実行される試験/シミュレーションもソフトウェアベースであるという点で、V-ECU試験環境400は、図3A及び図3Bを参照して上述したSIL試験環境300と類似であってもよい。図4Aを参照すると、SIL試験環境400は、少なくとも一つの通信インタフェース410、少なくとも一つのプロセッサ420、及び少なくとも一つの記憶装置430を含むことができ、それぞれは、図3AのSIL試験環境300の通信インタフェース310、プロセッサ320、及び記憶装置330と同様の役割及び機能を有しうるため、以下ではその重複する説明を簡潔のために省略することがある。
【0072】
図4Aに示したように、少なくとも一つのアプリケーションソフトウェア440が、試験/シミュレーションのためにV-ECU試験環境400に提供されてもよい。アプリケーションソフトウェア440は、図3A及び図3Bを参照して上述したアプリケーションソフトウェア340と類似であってもよく、したがって、以下ではその重複する説明を簡潔のために省略することがある。さらに、アプリケーションソフトウェア(例えば、アプリケーションソフトウェア340/440)に加えて、少なくとも一つのV-ECUが、試験のためにV-ECU試験環境400に提供されてもよい。
【0073】
実施形態によれば、V-ECU450が、(例えば、設計、開発、製造などの点から)最終的なECUを定義するアプリケーションソフトウェア、プログラミングコード、機能的なアルゴリズム、又は同種のものを含んでもよく、一方、シミュレートされたECUは、一般的な又は非最終的なECUを定義するアプリケーションソフトウェア、プログラミングコード、機能的なアルゴリズム、又は同種のものを含んでもよいという点で、V-ECU450はシミュレートされたECU(例えば、アプリケーションソフトウェア340/440の例)とは異なってもよい。
【0074】
別の実施形態によれば、V-ECU450は、ECU(例えば、中央ECUなど)の一つ以上の必須の動作又は機能を定義するアプリケーションソフトウェア、プログラミングコード、機能的なアルゴリズム、又は同種のものを含んでもよく、V-ECU450とともに試験/シミュレーションされるアプリケーションソフトウェアは、ECUの一般的又は非必須の動作又は機能を定義するアプリケーションソフトウェア、プログラミングコード、機能的なアルゴリズム、又は同種のものを含んでもよい。
【0075】
実施形態によれば、V-ECU試験環境400は、同時に複数の試験/シミュレーションを実行してもよい。例えば、V-ECU試験環境400は、並行して一つのV-ECUの複数の試験/シミュレーションを実行し、並行して複数のV-ECUの一つの試験/シミュレーションを実行し、及び/又は、並行して少なくとも一つのV-ECU及び少なくとも一つのアプリケーションソフトウェアの複数の試験/シミュレーションを実行してもよい。
【0076】
図4Bは、一つ以上の実施形態に係る、V-ECU及び複数のアプリケーションソフトウェアの構成のブロック図を示す。具体的には、図4Bは、複数のシミュレートされたECU440-1及び440-2及びV-ECU450-1の間の通信の例を示す。実施形態によれば、V-ECU450-1は、仮想中心ECUを含んでもよい。さらに、図4Bと関連する一つ以上の構成又は動作が、図3Bを参照して上述した構成又は動作と類似であってもよいと理解され、したがって、以下ではその重複する説明を簡潔のために省略することがある。
【0077】
図4Bを参照すると、複数のシミュレートされたECU440-1及び440-2及びV-ECU450-1は、仮想化ネットワーク410-1を介して、互いに及びV-ECU試験環境400に、通信可能に接続されてもよい。仮想化ネットワーク410-1は単に通信チャネルの例であり、複数のシミュレートされたECU440-1及び440-2、及びV-ECU450-1をV-ECU試験環境400に接続するために、任意の適切な構成要素(例えば、ソフトウェアインタフェースなど)が、代わりに又は加えて利用されてもよいことが理解されよう。このように、V-ECU試験環境は、V-ECUとともに一つ以上のアプリケーションソフトウェアを並行して利用して、その複数の試験/シミュレーションを並行して実行してもよい。
【0078】
次に図5を参照すると、図5は、一つ以上の実施形態に係る、タスク割り当てシステム500の例示的な構成要素のブロック図を示す。タスク割り当てシステム500は、図1のタスク割り当てシステム110に対応しうるもので、したがって、タスク割り当てシステム110及び500を参照して本明細書で説明される特徴は、別の明確な記載がない限り、相互に適用可能であることが理解されよう。
【0079】
図5を参照すると、タスク割り当てシステム500は、少なくとも一つの通信インタフェース510、少なくとも一つのプロセッサ520、及び少なくとも一つの記憶装置530を含むことができ、それぞれが、上述した通信インタフェース210/310/410、プロセッサ220/320/420、及び記憶装置230/330/430と同様の機能、役割、及び/又は例の少なくとも一部を有しうるため、以下ではこれに関連する重複説明を簡潔のために省略することがある。
【0080】
加えて、タスク割り当てシステム500は、少なくとも一つの入力コンポーネント540及び少なくとも一つの出力コンポーネント550を含んでもよい。少なくとも一つの入力コンポーネント540は、タスク割り当てシステム500が情報を受信することを可能にする一つ以上の構成要素(例えば、タッチスクリーンディスプレイ、ボタン、スイッチ、マイクロホン、センサなど)を含んでもよい。少なくとも一つの出力コンポーネント550は、タスク割り当てシステム500からの出力情報を提供する一つ以上の構成要素(例えば、ディスプレイ、スピーカ、一つ以上の発光ダイオード(LED)など)を含んでもよい。
【0081】
この目的で、タスク割り当てシステム500の構成要素は、互いに、及び/又はタスク割り当てシステム500の外部の一つ以上の構成要素と相互運用してもよく、それにより一つ以上のタスクと関連する一つ以上の動作を実行する。
【0082】
具体的には、通信インタフェース510は、タスク割り当てシステム500(又はその中の一つ以上の構成要素)を一つ以上の試験環境(又は、試験サーバなどの、試験環境を提供する又は配置する構成要素)に通信可能に接続することができ、それにより、タスク割り当てシステム500は、一つ以上のタスクを管理するために一つ以上の試験環境と相互運用することができる。
【0083】
さらに、通信インタフェース510は、無線ネットワーク接続を介して及び/又は有線接続を介して、タスク割り当てシステム500(又はその中の一つ以上の構成要素)をユーザ(例えば、方針又は試験パラメータを指定することを望むユーザなど)の一つ以上の端末/装置に通信可能に接続してもよく、一つ以上の端末/装置から一つ以上のユーザ入力を受信してもよい。実施形態によれば、一つ以上のユーザ入力は、試験方針、試験要件、試験パラメータ、試験条件、又は同種のものを定義する情報を含んでもよい。この点に関して、通信インタフェース510は、記憶装置530に通信可能に接続され、受信した一つ以上のユーザ入力を記憶装置530に提供して、受信した一つ以上のユーザ入力をその中に記憶してもよく、プロセッサ520に通信可能に接続され、受信した一つ以上のユーザ入力を処理のためにリアルタイム又はほぼリアルタイムでプロセッサ520に提供してもよく、出力コンポーネント550に通信可能に接続され、一つ以上のユーザ入力が、出力コンポーネント550を介して出力される(例えば、表現される、表示されるなど)ことができるように、受信した一つ以上のユーザ入力を出力コンポーネント550に提供してもよく、又は同種の動作を行ってもよい。
【0084】
端末/装置を介して一つ以上のユーザ入力を提供することに加えて、ユーザは、タスク割り当てシステム500に一つ以上のユーザ入力を、例えば入力コンポーネント540を介して直接提供してもよい。この点に関して、入力コンポーネント540は、記憶装置530に通信可能に接続され、受信した一つ以上のユーザ入力を記憶装置530に記憶してもよく、プロセッサ520に通信可能に接続され、受信した一つ以上のユーザ入力を処理のためにリアルタイム又はほぼリアルタイムでプロセッサ520に提供してもよく、出力コンポーネント550に通信可能に接続され、一つ以上のユーザ入力が出力コンポーネント550を介して出力される(例えば、表現される、表示されるなど)ことができるように、受信した一つ以上のユーザ入力を出力コンポーネント550に提供してもよく、通信インタフェース510に通信可能に接続され、タスク割り当てシステム500の外部の一つ以上の構成要素に受信した一つ以上のユーザ入力を(例えば、保存するために、更なる処理のために、等)提供してもよく、又は同種の動作を行ってもよい。
【0085】
記憶装置530は、(通信インタフェース510を介して)外部構成要素から、入力コンポーネント540から、プロセッサ520から、又は同種のものから、情報又はデータを受信するように構成されてもよくて、情報又はデータをその中に記憶するように構成されてもよい。例えば、記憶装置530は、試験/シミュレーションの方針と関連する情報又はデータを保存し、タスク割り当てシステムに通信可能に接続された一つ以上の試験環境の過去の試験/シミュレーション結果と関連した情報又はデータを保存し、一つ以上の試験環境の性能と関連した情報又はデータ、又は同種のものを保存してもよい。実施形態によれば、記憶装置530は、一つ以上の試験環境の性能と関連する情報又はデータをテーブル(又は任意の他の適切な記録形式)で記憶するように構成されてもよい。
【0086】
さらに、記憶装置530は、少なくとも1台のプロセッサ520に、一つ以上の保存されたデータ又は情報を(例えば、連続的に、周期的に、要求又はイベント等に応答して)提供してもよい。さらに、記憶装置530は、少なくとも1台のプロセッサ520によって実行されるときに、少なくとも1台のプロセッサ520に本明細書において論じられる動作の一つ以上を実行させるコンピュータ可読命令を記憶してもよい。
【0087】
少なくとも一つのプロセッサ520は、システムの一つ以上のソフトウェアに対して一つ以上の試験/シミュレーションを実行するための一つ以上の試験環境を知的に決定するように構成されてもよい。具体的には、プロセッサ520は、通信可能にタスク割り当てシステム500に接続された複数の試験環境の中から、タスクの一つ以上の要件を満たす少なくとも一つの試験環境を決定し、決定された試験環境にタスクを割り当ててもよい。したがって、プロセッサ520は、本明細書において「タスク割り当て器」と呼ばれてもよい。
【0088】
実施形態によれば、プロセッサ520は、一つ以上の試験環境の性能と関連した一つ以上の情報又はデータ(本明細書において「性能情報」と呼ばれることがある)を取得するように構成されてもよい。例えば、プロセッサ520は、複数の試験環境(又は複数の試験環境を提供する又は配置する構成要素)から、リアルタイムに、リアルタイムに近く、又は同種のタイミングで、通信インタフェース510を介して一つ以上の性能情報を要求し、取り出し、又は受信してもよい。代わりに、又は加えて、プロセッサ520は、一つ以上の記憶媒体(例えば、記憶装置530など)から一つ以上の記憶された性能情報を要求し、取り出し、又は受信してもよい。
【0089】
上述のように、性能情報には、容量情報、プロセッサ/試験速度(又はプロセッサが試験を実行できる速度を決定できるパラメータ)、エミュレート又はサポートされる機能/アルゴリズム、サポートされる命令セット、リース料、使用コスト、又は同種のものが含まれてもよい(がこれらに限定されない)。例えば、容量情報の少なくとも一部は、一つ以上のソフトウェアが関連する構成要素(例えば、プロセッサなど)の詳細(例えば、容量、処理能力、負荷など)を知ることができるCPUID命令を介して(試験環境又はそれに関連する構成要素によって)取得されてもよい。
【0090】
さらに、プロセッサ520は、タスクと関連する方針の一つ以上の情報又はデータ(本明細書において「方針情報」と呼ばれることがある)を取得するように構成されてもよい。例えば、プロセッサ520は、ユーザから(例えば、入力コンポーネント540、通信可能に通信インタフェース510に接続された端末/装置などを介して)リアルタイムに、リアルタイムに近く、又は同種のタイミングで、一つ以上の方針情報を要請し、取り出し、又は受領してもよい。代わりに、又は加えて、プロセッサ520は、記憶装置530から一つ以上の記憶された方針情報を要請し、取り出し、又は受領してもよい。さらに、プロセッサ520は、複数のタスク(例えば、実行される試験、予定されている試験など)の方針情報を取得してもよい。
【0091】
方針情報は、これらに限定されないが例えば、目標試験期間、目標コスト、試験機能、及び試験の任意のその他の適切なパラメータ、制約、又は要件など、タスクを配置するための一つ以上の要件/条件を定義する一つ以上の情報又はパラメータを含んでもよい。例えば、方針情報は、タスク(例えば、実行される試験)が短い/長い試験時間を必要とすること、コストが予算内であることを必要とすること、特定の機能/アルゴリズムでの試験を必要とすること、及び/又は同種のものを定義する情報を含んでもよい。
【0092】
実施形態によれば、プロセッサ520は、タスクの方針情報を満たす試験環境を(複数の試験環境の中から)決定するように構成され、その後で、タスクを決定された試験環境に割り当ててもよい。例えば、プロセッサ520は、複数の試験環境それぞれの性能情報に基づいて、複数の試験環境のうちどちらが方針情報で定義される要件/条件に従う試験/シミュレーションを実行することができるかを決定し、それに基づいてタスクを割り当て又は配置してもよい。
【0093】
実施形態によれば、複数の試験環境が方針情報で定義される要件/条件を満たすという判定に基づいて、プロセッサ520は、最も多くの要件/条件を満たすことができる試験環境(例えば、3つの要件/条件を満たす試験環境1が、2つの要件/条件を果たす試験環境2よりも選択されてよい、など)に、及び/又は、最適な性能/結果(例えば、最も短い期間で試験/シミュレーションを完了することができる試験環境、最もコストが少ない試験環境、など)を提供することができる試験環境にタスクを割り当て又は配置してもよい。
【0094】
実施形態によれば、複数の試験環境のいずれも方針情報で定義される要件/条件を満たさないという判定に基づいて、プロセッサ520は、その判定に関してユーザ(例えば、試験/シミュレーションを要請したユーザ、方針情報を定義したユーザなど)に通知する通知メッセージを生成してもよい。
【0095】
あるいは、ユーザへの通知メッセージを生成又は提供する前に、プロセッサ520は、要件/条件を満たすかもしれない複数の試験環境の一部の一つ以上の組合せを決定し、それに基づいてタスクを試験環境の組合せに割り当て/配置してもよい。例えば、複数の試験環境が試験環境1及び試験環境2を含むと仮定し、試験環境1及び試験環境2のいずれもが方針情報で定義される要件/条件を満たす能力を有しないという判定に基づいて、プロセッサ520は、試験環境1及び試験環境2が組み合わせとして要件/条件を満たすかどうかを(試験環境1及び試験環境2の性能情報に基づいて)決定してもよい。試験環境1及び試験環境2が組み合わせとして要件/条件を満たすかもしれないという判定に基づいて、プロセッサ520は、それぞれの利用可能な能力に従って、試験環境1及び試験環境2にタスクを適切に配置し/割り当ててもよい(例えば、タスクの一部を試験環境1に、そしてタスクの残りの部分を試験環境2に割り当てる、など)。そうでなければ、プロセッサ520は、方針情報に従う試験/シミュレーションを実行することができる利用可能な試験環境がないとユーザに通知する通知メッセージを生成し提供してもよい。
【0096】
上記説明を考えると、プロセッサ520が同様の方法で複数のタスクを割り当て又は配置するように構成されてもよいと理解されよう。例えば、プロセッサ520は、前述と同様の方法で、複数のタスクの方針情報を取得して、方針情報に基づいて複数のタスクをそれぞれ割り当てるための一つ以上の試験環境を(複数の試験環境の中から)決定し、複数のタスクを決定された一つ以上の試験環境において試験/シミュレーションするように割り当ててもよい。
【0097】
さらに、実施形態によれば、プロセッサ520は、受信された又は記憶された性能情報(例えば、記憶装置530に記憶される、など)の記録を生成するように構成されてもよい。例えば、新しい性能情報を取得するか又は受信すると、プロセッサ520は、性能情報の記録を生成し、記録を記憶してもよい(例えば、記憶装置530に記録を記憶する、通信インタフェース510を介してタスク割り当てシステム500に通信可能に接続された外部記憶媒体に記録を記憶する、など)。実施形態によれば、プロセッサ520は複数の試験環境の性能情報に基づいて記録を生成してもよく、記録は複数の試験環境それぞれの性能情報を含んでいるテーブルを含んでもよい。
【0098】
さらに、プロセッサ520は、性能情報の記録を更新するように構成されてもよい。例えば、試験環境に一つ以上のタスクを割り当て又は配置すると、プロセッサ520は、試験環境の性能を監視し、割り当てられたタスクの一つ以上の試験結果、又は同種のものを試験環境から受信し、それに基づいて記録中の関連する情報を更新してもよい。例えば、一つ以上の試験結果が試験実行の失敗(例外又は指定された期間内にタスクを完了しないタイムアウトなどによる)を示す場合はいつも、プロセッサ520は、その同じタスクを同じ環境に再割り当てしないようにするために記録(又はそれに含まれるテーブル)を更新してもよい。同様に、一つ以上の試験結果が、記録から予想されるか又は記録に反映されるものと異なる特定のパラメータ(例えば、時間又は速度)を示すたびに、プロセッサ520は、対応する試験環境の最新の能力をより正確に反映するように、それに基づいて記録を更新してもよい。
【0099】
加えて、タスク失敗報告を受信するか又はタスク失敗を判定すると、プロセッサ520は、失敗したタスクを別の試験環境に再配置するように構成されてもよい。例えば、タスク失敗がタイムアウトに起因して報告される場合はいつも、プロセッサ520は、タスクが割り当てられた前の試験環境よりも、関連する性能情報が高い試験速度を示す別の試験環境にタスクを再配置してもよい。
【0100】
さらに、プロセッサ520は、以前の試験計画の試験結果に基づいて、一つ以上のタスクを配置するように構成されてもよい。例えば、第1の系列の試験又はシミュレーションがソフトウェアを試験するために実行され、ソフトウェアのソースコードはその後に更新される。この点に関して、プロセッサ520は、第1の系列の試験又はシミュレーションの結果に基づいて、第2の系列の試験又はシミュレーションにおいて更新されたソースコードを有するソフトウェアを試験する場合はいつも、試験のためのタスク割り当てを最適化(例えば、試験実行時間の短縮、など)することができる。
【0101】
上述のようなタスク割り当てシステム500の構成要素の動作及び機能が、可能な実施形態の単なる例であり、本開示の範囲はそれに限定されるべきでないということが理解されよう。例えば、タスク割り当てシステム500は、記載されたよりもより多くの又はより少ない構成要素を含んでもよく、タスク割り当てシステム500の一つ以上の構成要素は異なる構成で配置されてもよく、タスク割り当てシステム500の一つ以上の構成要素はより多くの又はより少ない機能を含んでもよく、又は同種の構成でもよい。
【0102】
上記を考えると、本開示の実施形態は複数の試験環境に通信可能に接続されたタスク割り当てシステムを提供し、タスク割り当てシステムは一つ以上のタスクを知的に管理してもよい。例えば、タスク割り当てシステムは、一つ以上の試験/シミュレーションを実行するための最適な試験環境を決定し、複数の試験環境の性能情報を追跡及び更新し、更新された性能情報に基づいて一つ以上のタスクを知的に配置/再配置してもよく、又は同種の管理を行ってもよい。この点に関して、複数の試験環境は、一つ以上のHIL試験環境、一つ以上のSIL試験環境、及び/又は一つ以上のV-ECU試験環境を含んでもよいが、他の実施形態がそれに限定されないことが理解されよう。例えば、他の実施形態では、他の試験環境、例えば一つ以上のMIL試験環境、一つ以上のPIL試験環境、又は同種のものが、加えて(又は代わりに)適用されてもよい。
【0103】
さらに、図1から図5を参照して上述した一つ以上の構成要素、構成、動作、又は同種のものが一つ以上のサーバ、例えばクラウドサーバ、サーバークラスタ、及び同種のもの、に配置され又は実装されてもよいと考えられる。したがって、実施形態によれば、タスク割り当てシステムと複数の試験環境の間の通信及びその中に含まれる動作は、サーバの間の通信の形で提示されてもよい。
【0104】
図6を参照すると、図6は、一つ以上の実施形態に係る、タスク割り当てシステムと複数のサーバとの間の例示的な通信のブロック図を示す。タスク割り当てシステム610は、図1及び図5を参照して上述したタスク割り当てシステムに対応してもよく、第1の試験サーバ620-1及び第2の試験サーバ620-2のそれぞれは、一つ以上の試験環境、例えば(それらに限定はされないが)、図1から図4Bを参照して上述した一つ以上のHIL試験環境、一つ以上のSIL試験環境、及び/又は一つ以上のV-ECU環境などを提供し又は配置してもよい。したがって、第1の試験サーバ620-1及び/又は第2の試験サーバ620-2が、図2から図4Bを参照して上述した一つ以上の構成要素及び一つ以上の構成を含んでもよいと理解されよう。
【0105】
この目的で、タスク割り当てシステム610は、第1の試験サーバ620-1及び第2の試験サーバ602-2それぞれに通信可能に接続されてもよい。例えば、タスク割り当てシステム610の通信インタフェースは、無線ネットワーク接続及び/又は有線ネットワーク接続を介して、第1の試験サーバ620-1の通信インタフェース及び第2の試験サーバ620-2の通信インタフェースに通信可能に接続されてもよい。本開示の範囲から逸脱することなく、本明細書において記載されているのと同様の方法で、タスク割り当てシステム610が2台未満の試験サーバ、2台を超える試験サーバ、又は同種のものに通信可能に接続されてもよいと理解されよう。
【0106】
次に、タスク割り当てシステム610及び試験サーバ(すなわち、第1の試験サーバ620-1及び第2の試験サーバ620-2)の間の動作の実施形態が、図7Aから図8Bを参照して以下に説明される。
【0107】
まず図7Aを参照すると、図7Aは、一つ以上の実施形態に係る、システムのソフトウェアを試験するための一つ以上の試験環境を知的に決定する例示的な方法700のブロック図を示す。方法700の一つ以上の動作は、図6のタスク割り当てシステム610の少なくとも一つのタスク割り当て器(例えば、少なくとも一つのプロセッサなど)によって実行されてもよい。さらに、実施形態によれば、システムは、組み込みシステム、例えば(以下に限定されないが)車内ECUである。さらに、方法700の一つ以上の動作と関連する試験環境は、図6の第1の試験サーバ620-1及び第2の試験サーバ620-2に配置され又は提供されてもよい。
【0108】
さらに、図7Bは、一つ以上の実施形態に係る、方法700が実施される非網羅的なユースケース例のコールフローを示す。したがって、以下で、図7Aの方法700の一つ以上の動作が、図7Bを参照して説明されてもよい。
【0109】
図7Aに示したように、動作S710で、タスク割り当てシステムは一つ以上の性能情報を取得するように構成されてもよい。例えば、タスク割り当てシステムのタスク割り当て器は、利用可能な試験環境(例えば、タスク割り当てシステムと関係がある試験環境など)の性能情報を要求する要求信号又はクエリーメッセージを生成し、続いて、通信可能にタスク割り当てシステムに接続された一つ以上の試験サーバに、要求信号又はクエリーメッセージを送信してもよい。それに応じて、一つ以上の試験サーバは、最新の又は最も更新された性能情報をタスク割り当てシステムに提供してもよい。
【0110】
図7Bのユースケース例を参照すると、タスク割り当てシステム610のタスク割り当て器は、(動作S710-1で)第1の試験サーバ620-1から、第1の試験サーバ620-1に提供されるか又は配置される一つ以上の試験環境の性能情報を最初に取得し、そして次に、(動作S710-2で)第2の試験サーバ620-2から、第2の試験サーバ620-2に提供されるか又は配置される一つ以上の試験環境の性能情報を取得してもよい。
【0111】
タスク割り当て器は、任意の適切な逐次的な方法で複数の試験サーバから性能情報を取得してもよいと理解されよう。例えば、タスク割り当て器は、動作S710-1と動作S710-2を同時に実行して複数の試験環境の性能情報を並行して取得してもよく、動作S710-1の前に動作S710-2を実行して、最初に第2の試験サーバ620-2から性能情報を取得してもよく、又は同種の方法でもよい。
【0112】
図7Aに戻って参照すると、動作S720で、タスク割り当てシステムは、一つ以上の方針情報を取得するように構成されてもよい。例えば、タスク割り当て器は、システムのソフトウェアを試験するために、実行されるタスク(例えば、試験の実行、試験の予定の設定、など)の方針情報を(例えば、一つ以上の記憶媒体から、通信可能にタスク割り当てシステムに接続されたユーザ端末/装置から、入力コンポーネントから、など)取得してもよい。
【0113】
さらに、動作S730で、タスク割り当てシステムは、少なくとも一つの試験環境を決定するように構成されてもよい。例えば、タスク割り当て器は、複数の試験環境の中から、方針情報を満たす試験環境を決定してもよい。
【0114】
図7Bのユースケース例を参照すると、第1の試験サーバ620-1及び第2の試験サーバ620-2に提供される又は配置される複数の試験環境の性能情報を取得すると、タスク割り当てシステム610のタスク割り当て器は、試験環境全体にわたって一つ以上の試験/シミュレーションを(例えば、並行して、同時に、など)実行するか又は行う試験計画を生成するように、(動作S720及びS730を含む)タスク計画過程を実行してもよい。
【0115】
この点に関して、タスク割り当て器は、性能情報及び方針情報に基づいて試験計画を生成してもよい。例えば、タスク割り当て器は、各試験環境の性能情報及びタスクの配置方針に従ってタスクを配置してもよい。したがって、タスク割り当て器は、各タスクの(方針情報に定義された)要件を満たす最適な試験環境を決定することができる。例えば、前述のように、試験のための方針情報が、試験が特定の時間の範囲内で完了されなければならないと定義する場合、各試験環境の性能情報に基づいて、どの試験環境が時間制約を満たすことができるかを決定し、それに基づいてタスクを試験環境に配置してもよい。
【0116】
この目的で、図5を参照して上述した一つ以上の動作が、試験計画を生成する際にタスク割り当て器によって適用可能か又は実行されうると理解されよう。例えば、試験計画を生成する際にタスク割り当て器によって利用される性能情報は、関連する試験サーバから直接に取得される性能情報を含んでもよく、そして/又は、図5を参照して上述した記録に記憶される性能情報を含んでもよく、タスク割り当て器は、図5にプロセッサ520の動作に関して記載されたのと同様の方法で一つ以上の最適試験環境を決定してもよく、又は同種の動作を行ってもよい。
【0117】
図7Aに戻って参照すると、動作S740で、タスク割り当てシステムは、タスクを割り当てるように構成されてもよい。例えば、タスク割り当てシステムのタスク割り当て器は、タスクの方針情報に基づいて、タスクの情報(例えば、試験を実行するスケジュール、試験完了の目標期間など)を含む、信号、メッセージ、命令、又は同種のものを生成してもよい。その後、タスク割り当て器は、決定された試験環境を提供する又は配置する試験サーバに、生成された信号/メッセージ/命令を提供してもよい。
【0118】
図7Bのユースケース例を参照すると、タスク割り当てシステム610のタスク割り当て器は、タスク計画を完成すると、まず、(動作S740-1で)第1の試験サーバ620-1に提供される又は配置される試験環境にタスクを割り当て又は配置し、続いて、(動作S740-2で)第2の試験サーバ620-2に提供される又は配置される試験環境にタスクを割り当て又は配置してもよい。
【0119】
動作S740-1及びS740-2で割り当てられる又は配置されるタスクは同一でもよく、異なってもよく、又は一部一致してもよいことが理解されよう。例えば、動作S740-2で割り当てられる又は配置されるタスクは、動作S740-1で割り当てられる又は配置されるタスクと同じ系列のタスクであってもよい。
【0120】
別の例として、タスクは複数のタスクを含んでもよく、タスク割り当て器によって取得される方針情報は複数のタスクの方針情報を含んでもよい。この点に関して、タスク割り当て器は、関連する方針情報に基づいてそれぞれ複数のタスクを割り当て又は配置するために、複数の試験環境の中から、複数の試験環境を決定してもよい。したがって、タスク割り当て器は、複数の試験環境中の同時実行の為に複数のタスクを割り当ててもよい。
【0121】
さらに、タスク割り当て器が任意の適切な順序でタスクを割り当て又は配置してもよいことが理解されよう。例えば、タスク割り当て器は、複数の試験環境にタスクを並行して割り当て又は配置するために、動作S740-1及びS740-2を同時に実行してもよく、タスクを第2の試験サーバ620-2の試験環境に最初に割り当て又は配置するために、動作S740-1の前に動作S740-2を実行してもよく、又は同種の順序でもよい。
【0122】
次に図8Aを参照すると、図8Aは、一つ以上の実施形態に係る、情報を管理する例示的な方法800のブロック図を示す。図7Aの方法700と同様に、方法800の一つ以上の動作は、図6のタスク割り当てシステム610の少なくとも一つのタスク割り当て器によって実行されてもよい。さらに、方法800の一つ以上の動作と関連した試験環境は、図6の第1の試験サーバ620-1及び第2の試験サーバ620-2に配置され又は提供されてもよい。加えて、方法800の一つ以上の動作が、図7Aの方法700の一つ以上の動作と組み合わせて実行されてもよいことが理解されよう。
【0123】
さらに、図8Bは、一つ以上の実施形態に係る、方法800が実施される非網羅的なユースケース例のコールフローを示す。したがって、以下で、図8Aの方法800の一つ以上の動作が、図8Bを参照して説明されてもよい。
【0124】
図8Aに示したように、動作S810で、タスク割り当てシステムは、情報を受信してもよい。例えば、タスク割り当てシステムのタスク割り当て器は、一つ以上の試験サーバから、一つ以上の試験サーバに提供され又は配置される試験環境の性能情報を受信してもよい。この点に関して、動作S810は、図7Aの動作S710の一部であってもよい。代わりに、又は加えて、タスク割り当て器は、一つ以上の試験サーバ(又はその中に配置され又は提供される試験環境)から、割り当てられたタスクの一つ以上の試験結果を受信してもよい。
【0125】
図8Bのユースケース例を参照すると、動作S810-1及びS810-2で、タスク割り当てシステム610のタスク割り当て器は、第1の試験サーバ620-1から、及び第2の試験サーバ620-2から、それぞれ、一つ以上の試験環境の性能情報を受信してもよい。さらに、動作S810-3及びS810-4で、タスク割り当て器は、第1の試験サーバ620-1から、及び第2の試験サーバ620-2から、それぞれ、一つ以上の割り当てられたタスクの一つ以上の試験結果を受信してもよい。
【0126】
タスク割り当て器が、任意の適切な順序で情報を受信してよいことも理解されよう。例えば、タスク割り当て器は、第1の試験サーバ620-1及び第2の試験サーバ620-2の両方から同時に性能情報を受信してもよく、他の情報等を受信する前に最初に第2の試験サーバ620-2から試験結果を受信してもよく、又は同種の順序でもよい。
【0127】
図8Aに戻って参照すると、動作S820で、タスク割り当てシステムは、受信した情報を管理するように構成されてもよい。例えば、タスク割り当てシステムのタスク割り当て器は、記録を生成して、受信した情報を記録に記憶してもよい。記録が作成された実施形態によれば、タスク割り当て器は、受信した情報に基づいて記録の情報を更新してもよい。
【0128】
実施形態によれば、記録は表を含んでもよく、タスク割り当て器は各試験環境の性能情報を記録の表に記憶してもよい。この点に関して、試験サーバから性能情報を受信すると、タスク割り当て器は、表の性能情報を単に新しく受信した性能情報に置き換えてもよく、又は、表の性能情報と新しく受信した性能情報の差を判定し、新しく受信した性能情報と異なる表の性能情報をそれに基づいて更新してもよい。タスク割り当て器は、前述と同様の方法で、受信した一つ以上試験結果に基づいて、表の性能情報を更新してもよい。
【0129】
図8Bのユースケース例を参照すると、動作S820-1及びS820-2で、タスク割り当てシステム610のタスク割り当て器は、第1の試験サーバ620-1から、及び第2の試験サーバ620-2からそれぞれ受信した一つ以上の試験環境の性能情報に基づいて、記録を更新してもよい(例えば、記録の表に記憶される性能情報を更新する)。さらに、動作S820-3及びS820-4で、タスク割り当てシステム610のタスク割り当て器は、第1の試験サーバ620-1から、及び第2の試験サーバ620-2からそれぞれ受信した一つ以上の割り当てられたタスクの一つ以上の試験結果に基づいて、記録を更新してもよい。タスク割り当て器が任意の適切な順序で記録を更新してよいことも理解されよう。
【0130】
さらに、上記の通り、図7Aから図8Bを参照して上述した動作は、タスク割り当てシステム610及び試験サーバ(すなわち、第1の試験サーバ620-1及び第2の試験サーバ620-2)の間の動作の単なる実施形態である。本開示の範囲から逸脱することなく、任意の他の適切な動作が実行されてもよいことが理解されよう。例えば、図5を参照して上述したように、タスク割り当てシステムのタスク割り当て器(すなわち、プロセッサ520)は、試験結果に基づいて一つ以上のタスクを割り当て又は配置してもよく、試験結果に基づいて一つ以上のタスクの割り当て又は配置を最適化してもよく、又は同種の動作を行ってもよい。
【0131】
本明細書において開示される過程/フローチャートのブロックの特定の順序又は階層は、例示的な取り組みの解説であると理解される。デザイン嗜好に基づいて、過程/フローチャートのブロックの特定の順序又は階層は、再編成されてもよいものであると理解される。さらに、一部のブロックは、結合され又は省略されてもよい。付随的な方法の請求項は、種々のブロックの要素を見本順序で提示しており、提示される特定の順序又は階層に限定されることを意図するものではない。
【0132】
一部の実施形態は、統合の任意の可能な技術的詳細レベルで、システム、方法及び/又はコンピュータ可読媒体に関連してもよい。さらに、上述のように、上述された上述の構成要素の一つ以上は、コンピュータ可読媒体に保存され、少なくとも一つのプロセッサによって実行可能な命令として実装されてもよい(及び/又は、少なくとも一つのプロセッサを含んでもよい)。コンピュータ可読媒体は、プロセッサに動作を行わせるためのコンピュータ可読のプログラム命令を有するコンピュータ可読の非一時的記憶媒体(又は媒体)を含んでもよい。
【0133】
コンピュータ可読記憶媒体は、命令実行装置の使用のために命令を保持し記憶することができる、有形デバイスとすることができる。コンピュータ可読記憶媒体は、以下に限定されないが例えば、電子記憶装置、磁気記憶装置、光記憶装置、電磁気記憶装置、半導体記憶装置、又はこれらの任意の好適な組み合わせであってもよい。コンピュータ読み出し可能記憶媒体のより具体例な事例の非網羅的なリストは、以下を含む。ポータブルコンピュータディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、消去可能なプログラマブルリードオンリメモリ(EPROM又はフラッシュメモリ)、スタティックランダムアクセスメモリ(SRAM)、携帯用コンパクトディスク-リードオンリメモリ(CD-ROM)、デジタル多用途ディスク(DVD)、メモリースティック、フロッピーディスク、機械的にコード化された装置、例えばパンチカード又は記録された命令をその上に有する溝の隆起構造、及びこれらの任意の好適な組み合わせ。本明細書で使用されるコンピュータ読み取り可能な記憶媒体は、電波又は他の自由に伝播する電磁波、導波路又は他の伝送媒体を伝播する電磁波(例えば、光ファイバーケーブルを通過する光パルス)、又は電線を介して送信される電気信号などの、本質的に一時的な信号であると解釈されるべきではない。
【0134】
本明細書に記載されるコンピュータ可読のプログラム命令は、コンピュータ読み出し可能記憶媒体からそれぞれの計算/処理装置に、又は、ネットワーク、例えば、インターネット、ローカルエリアネットワーク、ワイドエリアネットワーク及び/又は無線ネットワークを介して、外部コンピュータ又は外部記憶装置にダウンロードされることができる。ネットワークは、銅の伝送ケーブル、光伝送ファイバ、無線通信、ルータ、ファイアウォール、スイッチ、ゲートウェイコンピュータ及び/又はエッジサーバを含んでもよい。各計算/処理装置のネットワークアダプタカード又はネットワークインタフェースは、コンピュータ可読のプログラム命令をネットワークから受信して、それぞれの計算/処理装置の中のコンピュータ可読記憶媒体への記憶のために、コンピュータ可読のプログラム命令を転送する。
【0135】
動作を行うためのコンピュータ可読のプログラムコード/命令は、アセンブラ命令、命令セットアーキテクチャー(ISA)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路の構成データであってもよく、又は、Smalltalk、C++又は同種のものなどのオブジェクト指向プログラミング言語、及び「C」プログラミング言語又は類似のプログラミング言語などの手続き型プログラミング言語、を含む一つ以上のプログラミング言語の任意の組合せで書かれるソースコード又はオブジェクトコードであってもよい。コンピュータ可読のプログラム命令は、スタンドアロンソフトウェアパッケージとして、全体がユーザのコンピュータ上で動作してもよく、一部がユーザのコンピュータ上で実行されてもよく、一部がユーザのコンピュータ上で一部がリモートコンピュータ上で実行されてもよく、あるいは全体がリモートコンピュータ又はサーバ上で実行されてもよい。後者のシナリオでは、リモートコンピュータは、ローカルエリアネットワーク(LAN)やワイドエリアネットワーク(WAN)などの任意の種類のネットワークを介してユーザのコンピュータに接続されてもよく、あるいは、外部コンピュータに接続されてもよい(たとえば、インターネットサービスプロバイダーを使用したインターネット経由で)。一部の実施形態では、例えば、プログラマブル論理回路、フィールドプログラマブルゲートアレイ(FPGA)又はプログラマブルロジックアレイ(PLA)を含む電子回路が、電子回路を個人化するコンピュータ可読のプログラム命令の状態情報を利用して、態様又は動作を実行するために、コンピュータ可読のプログラム命令を実行してもよい。
【0136】
コンピュータ又は他のプログラム可能なデータ処理装置のプロセッサを介して動作する命令が、フローチャート及び/又はブロック図のブロック又はブロックで規定された機能/動作を実施するための手段を生成するように、これらのコンピュータ可読のプログラム命令は、汎用コンピュータ、専用コンピュータ、又は他のプログラム可能なデータ処理装置のプロセッサに提供されて機械を生成する。中に命令を記憶するコンピュータ可読の記憶媒体は、フローチャート及び/又はブロック図のブロック又はブロックで規定された機能/動作の態様を実施する命令を含む製品を含むように、これらのコンピュータ可読のプログラム命令は、コンピュータ、プログラム可能なデータ処理装置、及び/又は他の装置が特定の方法で機能するように指示することができるコンピュータ可読の記憶媒体に記憶されてもよい。
【0137】
コンピュータ、他のプログラム可能な装置又は別の装置で動作する命令が、フローチャート及び/又はブロック図のブロック又はブロックで規定される機能/動作を実施するように、コンピュータ可読のプログラム命令は、コンピュータ、他のプログラム可能なデータ処理装置又は別の装置に読み込まれ、コンピュータ実施過程を生じさせるように、一連の動作ステップをコンピュータ、他のプログラム可能な装置又は他の装置に実行させてもよい。
【0138】
図のフローチャート及びブロック図は、種々の実施形態に係るシステム、方法及びコンピュータ可読の媒体の可能な実施の構成、機能及び動作を示す。この点に関して、フローチャート又はブロック図の各ブロックは、指定された論理的機能を実装するための一つ以上の実行可能命令を含む、モジュール、セグメント又は命令の一部を表してもよい。本方法、コンピュータシステム及びコンピュータ可読の媒体は、図に記載されるものよりも追加されたブロック、より少ないブロック、異なるブロック又は異なるように配置されたブロックを含んでもよい。一部の代替実施態様では、ブロックに示される機能は、図に示される順序から外れた順序で生じることがある。例えば、連続して示される2つのブロックは、実際には、並行して又は実質的に並行して実行されることもあり、あるいは、関係する機能によって、ブロックが時々逆順で実行されることもある。ブロック図及び/又はフローチャート図の各ブロック、及びブロック図及び/又はフローチャート図のブロックの組み合わせは、指定された機能又は動作を実行する又は特殊目的のハードウェアとコンピュータ命令の組み合わせを実行する、特殊目的のハードウェアベースシステムによって実装できることにも留意されたい。
【0139】
本明細書で説明されるシステム及び/又は方法が、異なる形態のハードウェア、ファームウェア、又はハードウェアとソフトウェアの組み合わせで実装できることは明らかであろう。これらのシステム及び/又は方法を実施するために使用される実際の特殊な制御ハードウェア又はソフトウェアコードは、実施を制限するものではない。したがって、システム及び/又は方法の動作及び挙動は、特定のソフトウェアコードを参照することなく本明細書で説明されたが、ソフトウェア及びハードウェアは、本明細書の説明に基づいてシステム及び/又は方法を実施するように設計されてもよいことが理解される。
図1
図2
図3A
図3B
図4A
図4B
図5
図6
図7A
図7B
図8A
図8B
【外国語明細書】