(57)【要約】      （修正有）【課題】コンピュータシステムの信頼性を向上させるための方法を提供する。【解決手段】コンピュータシステム１００は、認証可能なソフトウェアアプリケーションと適格性評価可能なソフトウェアアプリケーションとを実行する。認証可能なソフトウェアアプリケーションは、コンピュータシステムが入力データを処理して出力を生成するためにシーケンシャルに実行される静的なプログラム命令からなる。適格性評価可能なソフトウェアアプリケーションは、入力データを処理して対応する出力を生成するために機械学習アルゴリズムを使用し、反復してビルドされたモデルを使用する。対応する出力は比較によって出力をクロスチェックされ、出力が対応する出力から「閾値を超えて」異なっていることが示された場合には、「出力が検証されていない」という警告を生成する。【選択図】なし【特許請求の範囲】
【請求項１】
コンピュータ可読プログラムコード（４０６）を記憶するように構成されたメモリ（４０４）、並びに、
前記メモリにアクセスし、且つ前記コンピュータ可読プログラムコードを実行するように構成された処理回路（４０２）とを備えるコンピュータシステム（４００）であって、
前記処理回路が前記コンピュータ可読プログラムコードを実行することによって、前記コンピュータシステムに少なくとも、
入力データを処理して、出力であって、前記コンピュータシステムが前記出力に基づいて動作するように構成された出力を生成するために、シーケンシャルに実行される静的なプログラム命令からなる、認証可能なソフトウェアアプリケーションを実行すること（３０２）であって、前記認証可能なソフトウェアアプリケーションが、ある認証基準に従った前記コンピュータシステムに対して認証可能である、認証可能なソフトウェアアプリケーションを実行すること（３０２）と、
前記認証可能なソフトウェアアプリケーションの実行中に、適格性評価可能なソフトウェアアプリケーションを実行すること（３０４）であって、前記適格性評価可能なソフトウェアアプリケーションが、入力データを処理して対応する出力を生成するために、機械学習アルゴリズムを用いて反復してビルドされたモデルを用い、前記適格性評価可能なソフトウェアアプリケーションが、前記認証基準に従った前記コンピュータシステムに対して認証不可能である、適格性評価可能なソフトウェアアプリケーションを実行すること（３０４）と、
前記認証可能なソフトウェアアプリケーションからの前記出力を検証するために、前記適格性評価可能なソフトウェアアプリケーションからの対応する出力と比較することによって、前記認証可能なソフトウェアアプリケーションからの前記出力をクロスチェック（３０６）し、それによって前記コンピュータシステムの信頼性を向上することと、
前記比較によって、前記出力が、前記対応する出力から「ある閾値を超えて」異なっていることが示された場合には、「前記認証可能なソフトウェアアプリケーションからの前記出力が検証されていない」という警告を生成すること（３０８）と、
を行わせる、コンピュータシステム（４００）。
【請求項２】
前記認証可能なソフトウェアアプリケーションからの前記出力が、比較によって、前記出力が、前記適格性評価可能なソフトウェアアプリケーションからの前記対応する出力から「前記閾値を超えない範囲内で」異なっていることが示された場合に、検証され、前記メモリ（４０４）が、前記処理回路（４０２）が実行することによって、前記コンピュータシステムにさらに少なくとも、
前記出力であって、前記コンピュータシステムが前記出力に基づいて動作するように構成された前記出力に基づいて、且つ前記適格性評価可能なソフトウェアアプリケーションからの前記対応する出力は除いて、動作（３１０）させるように構成されたさらなるコンピュータ可読プログラムコード（４０６）を記憶している、請求項１に記載のコンピュータシステム（４００）。
【請求項３】
前記認証可能なソフトウェアアプリケーションからの前記出力が、比較によって、前記出力が、前記適格性評価可能なソフトウェアアプリケーションからの前記対応する出力から「閾値を超えない範囲内で」異なっていることが示された場合に、検証され、前記メモリ（４０４）が、前記処理回路（４０２）が実行することによって、前記コンピュータシステムにさらに少なくとも、
前記出力と前記対応する出力とから結合出力を生成することと、
前記結合出力に基づいて動作することと、
を行わせるように構成されたさらなるコンピュータ可読プログラムコード（４０６）を記憶している、請求項１または２に記載のコンピュータシステム（４００）。
【請求項４】
前記コンピュータシステムが、前記認証可能なソフトウェアアプリケーションを実行し（３０２）、且つ前記適格性評価可能なソフトウェアアプリケーションを実行する（３０４）ようにさせられていることが、前記コンピュータシステムが、前記出力と前記対応する出力に関するそれぞれの性能指数を生成するようにさせられていることをさらに含み、
前記コンピュータシステムが前記結合出力を生成するようにされられていることが、前記それぞれの性能指数によって重みづけされた前記出力及び前記対応する出力をカルマンフィルタ処理するようにさせられていることを含む、請求項３に記載のコンピュータシステム（４００）。
【請求項５】
前記メモリ（４０４）が、さらなるコンピュータ可読プログラムコード（４０６）を記憶しており、前記処理回路（４０２）が前記コンピュータ可読プログラムコードを実行することによって、前記コンピュータシステム（４００）にさらに少なくとも、
前記認証可能なソフトウェアアプリケーション及び前記適格性評価可能なソフトウェアアプリケーションが実行される際に、第３のソフトウェアアプリケーションを実行することであって、前記第３のソフトウェアアプリケーションが、第２の認証可能なまたは適格性評価可能なソフトウェアアプリケーションであり、前記第３のソフトウェアアプリケーションが、前記入力データを処理して第２の対応する出力を生成するために実行される、第３のソフトウェアアプリケーションを実行することを行わせ、
前記コンピュータシステムが、前記出力をクロスチェックする（３０６）ようにさせられていることが、前記対応する出力及び前記第２の対応する出力との比較によって、前記認証可能なソフトウェアからの前記出力をクロスチェックするようにさせられていることを含み、
前記コンピュータシステムが、警告を生成する（３０８）ようにさせられていることが、前記比較によって、前記出力が、前記対応する出力及び前記第２の対応する出力の両方から「前記閾値を超えて」異なっていることが示された場合には、「前記認証可能なソフトウェアからの前記出力が検証されていない」という警告を生成するようにさせられていることを含む、
請求項１から４のいずれか一項に記載のコンピュータシステム（４００）。
【請求項６】
前記コンピュータシステムが、航空機であって、前記航空機の標的を規定するハブに向かって移動中である航空機の、航空電子工学システムであり、前記認証可能なソフトウェアアプリケーションが、認証可能な物体検出アプリケーションであり、前記適格性評価可能なソフトウェアアプリケーションが、適格性評価可能な物体検出アプリケーションであり、
前記コンピュータシステムが、前記認証可能なソフトウェアアプリケーションを実行する（３０２）ようにさせられていることが、前記認証可能な物体検出アプリケーションを実行して、前記ハブの画像を処理し、前記画像中に前記標的が検出されている出力を生成するようにさせられていることを含み、
前記コンピュータシステムが、前記適格性評価可能なソフトウェアアプリケーションを実行する（３０４）ようにさせられていることが、前記適格性評価可能な物体検出アプリケーションを実行して、前記ハブの前記画像を処理し、前記画像中に標的が検出されている対応する出力を生成するようにさせられていることを含み、
前記コンピュータシステムが、前記出力をクロスチェックする（３０６）ようにさせられていることが、前記認証可能な物体検出アプリケーションからの前記出力を検証するために、前記対応する出力と比較することによって、前記出力をクロスチェックするようにさせられていることを含む、
請求項１から５のいずれか一項に記載のコンピュータシステム（４００）。
【請求項７】
前記認証可能な物体検出アプリケーションからの前記出力が、前記比較によって、前記出力が、前記対応する出力から、「前記航空機と前記ハブとの間の距離と共に減少する前記閾値を超えない範囲で」異なっていることが示された場合には、検証される、請求項６に記載のコンピュータシステム（４００）。  
【請求項８】
コンピュータシステム（４００）の信頼性を向上するための方法（３００）であって、前記コンピュータシステムが、
入力データを処理して、出力であって、前記コンピュータシステムが前記出力に基づいて動作するように構成された出力を生成するために、シーケンシャルに実行される静的なプログラム命令からなる、認証可能なソフトウェアアプリケーションを実行すること（３０２）であって、前記認証可能なソフトウェアアプリケーションが、ある認証基準に従った前記コンピュータシステムに対して認証可能である、認証可能なソフトウェアアプリケーションを実行すること（３０２）と、
前記認証可能なソフトウェアアプリケーションの実行中に、適格性評価可能なソフトウェアアプリケーションを実行すること（３０４）であって、前記適格性評価可能なソフトウェアアプリケーションが、入力データを処理して対応する出力を生成するために、機械学習アルゴリズムを用いて反復してビルドされたモデルを用い、前記適格性評価可能なソフトウェアアプリケーションが、前記認証基準に従った前記コンピュータシステムに対して認証不可能である、適格性評価可能なソフトウェアアプリケーションを実行すること（３０４）と、
前記認証可能なソフトウェアアプリケーションからの前記出力を検証するために、前記適格性評価可能なソフトウェアアプリケーションからの前記対応する出力と比較することによって、前記認証可能なソフトウェアアプリケーションからの前記出力をクロスチェック（３０６）し、それによって前記コンピュータシステムの信頼性を向上することと、
前記比較によって、前記出力が、前記対応する出力から「ある閾値を超えて」異なっていることが示された場合には、「前記認証可能なソフトウェアアプリケーションからの前記出力が検証されていない」という警告を生成すること（３０８）と、
を行うことを含む、コンピュータシステム（４００）の信頼性を向上するための方法（３００）。
【請求項９】
方法（３００）であって、前記認証可能なソフトウェアアプリケーションからの前記出力が、前記比較によって、前記出力が、前記適格性評価可能なソフトウェアアプリケーションからの前記対応する出力から「ある閾値を超えない範囲内で」異なっていることが示された場合に、検証され、前記方法が、前記コンピュータシステムが、
前記出力であって、前記コンピュータシステムが前記出力に基づいて動作するように構成された前記出力に基づいて、且つ前記適格性評価可能なソフトウェアアプリケーションからの前記対応する出力は除いて、動作すること（３１０）
をさらに含む、請求項８に記載の方法（３００）。
【請求項１０】
方法（３００）であって、前記認証可能なソフトウェアアプリケーションからの前記出力が、前記比較によって、前記出力が、前記適格性評価可能なソフトウェアアプリケーションからの前記対応する出力から「前記閾値を超えない範囲で」異なっていることが示された場合に、検証され、前記方法が、前記コンピュータシステムが、
前記出力と前記対応する出力とから、結合出力を生成することと、
前記結合出力に基づいて動作することと
をさらに含む、請求項８または９に記載の方法（３００）。
【請求項１１】
前記認証可能なソフトウェアアプリケーションを実行すること（３０２）と、前記適格性評価可能なソフトウェアアプリケーションを実行すること（３０４）とが、前記出力及び前記対応する出力に関するそれぞれの性能指数を生成することをさらに含み、
前記結合出力を生成することが、前記それぞれの性能指数によって重みづけされた前記出力と前記対応する出力とに対して、カルマンフィルタ処理を行うことを含む、請求項１０に記載の方法（３００）。
【請求項１２】
前記認証可能なソフトウェアアプリケーション及び前記適格性評価可能なソフトウェアアプリケーションが実行される際に、第３のソフトウェアアプリケーションを実行することであって、前記第３のソフトウェアアプリケーションが、第２の認証可能なまたは適格性評価可能なソフトウェアアプリケーションであり、前記第３のソフトウェアアプリケーションが、前記入力データを処理して第２の対応する出力を生成するために実行される、第３のソフトウェアアプリケーションを実行することをさらに含む方法（３００）であって、
前記出力をクロスチェックすること（３０６）が、前記対応する出力及び前記第２の対応する出力との比較によって、前記認証可能なソフトウェアからの前記出力をクロスチェックすることを含み、
前記警告を生成すること（３０８）が、前記比較によって、前記出力が、前記対応する出力及び前記第２の対応する出力の両方から「ある閾値を超えて」異なっていることが示された場合には、「前記認証可能なソフトウェアからの前記出力が検証されていない」という警告を生成することを含む、
請求項８から１１のいずれか一項に記載の方法（３００）。
【請求項１３】
前記コンピュータシステムが、航空機であって、前記航空機の標的を規定するハブに向かって移動中である航空機の、航空電子工学システムであり、前記認証可能なソフトウェアアプリケーションが、認証可能な物体検出アプリケーションであり、前記適格性評価可能なソフトウェアアプリケーションが、適格性評価可能な物体検出アプリケーションであり、
前記認証可能なソフトウェアアプリケーションを実行すること（３０２）が、前記認証可能な物体検出アプリケーションを実行して、前記ハブの画像を処理し、前記画像中に前記標的が検出されている出力を生成することを含み、
前記適格性評価可能なソフトウェアアプリケーションを実行すること（３０４）が、前記適格性評価可能な物体検出アプリケーションを実行して、前記ハブの画像を処理し、前記画像中に前記標的が検出されている対応する出力を生成することを含み、
前記出力をクロスチェックすること（３０６）が、前記認証可能な物体検出アプリケーションからの前記出力を検証するために、前記対応する出力と比較することによって、前記出力をクロスチェックすることを含む、
請求項８から１２のいずれか一項に記載の方法（３００）。
【請求項１４】
前記認証可能な物体検出アプリケーションからの前記出力が、前記比較によって、前記出力が、前記対応する出力から「前記航空機と前記ハブとの間の距離と共に減少する前記閾値を超えない範囲で」異なっていることが示された場合に、検証される、請求項１３に記載の方法（３００）。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、概して、コンピュータシステムに関する。具体的には、コンピュータシステムの信頼性（ｉｎｔｅｇｒｉｔｙ）を向上させるための、認証可能な（ｃｅｒｔｉｆｉａｂｌｅ）ソフトウェアと適格性評価可能な（ｑｕａｌｉｆｉａｂｌｅ）ソフトウェアとの組み合わせに関する。
【背景技術】
【０００２】
航空宇宙産業といった多くの産業において、高信頼性は必須である。これらの産業の多くにとって、ソフトウェアが満たさなければならない様々な認証基準や保証水準が存在する。航空宇宙産業においては、航空無線技術委員会（ＲＴＣＡ）によって公表されている要件ＤＯ−１７８が、ソフトウェア／ハードウェアシステム用の、数々の異なる、航空機関連の認証水準を提供している。認証は、ソフトウェアが、正確に且つ設計どおりにのみ動作するのを、確実にすることを意図している。このことは、しばしば、認証可能なオペレーティングシステム（ＯＳ）と、高レベルのコードを機械語へと正確に変換することを確実にするコンパイラとから始まることを意味する。次にアプリケーションコードが、行単位でテストされ、検査される。しかし、これさえも、結果が意図どおりになることは意味していない。
【０００３】
この問題の好例の１つは、画像処理である。多くの高信頼性システムが、良好に特性評価され得る１つまたは２つの時変信号によって動作するが、映像システムは、本質的にもっと複雑なものである。入力イメージ（映像）は、何百万というピクセルを含む。その結果の１つとして、あらゆる可能な入力を完全に特性評価することは、極端に困難である。あらゆる画像処理または映像処理のアルゴリズムが全ての条件下において「適切な」結果を返すのを確実にすることも同様に困難であり、このソフトウェアが別様に認証可能である場合でさえ、そうである。この不確実性をしばしば軽減する１つの方法は、訓練された（適格性評価された）作業人員が監視を行うことである。
【０００４】
（飛行制御システムといった）特定の高信頼性のコンテクストでは、同じ入力に基づいて同じソフトウェアを実行する、並列で且つ独立した、しかし同一である、複数の（しばしば３つの）コンピュータを設けることによって、さらなる信頼性を得ることができる。このケースでは、各出力は正確に一致することが予期されており、各出力に対する比較操作は、全てのコンピュータが同一の結果を生成するのを確実にするために使用される。
【０００５】
機械学習ベースの人工知能（ＡＩ／ＭＬ）は、根本的に異なるアプローチを採る。ある実施例では、ＡＩ／ＭＬソフトウェアは、ラベル付けされたデータセット例で訓練された、マルチレイヤー・マルチノードの「ニューラルネット」を実装する。学習システムは、正しい結果を提供するトポロジーを「学習」するために、ノード間の接続を調整する。これらのシステムは、その挙動が固定されて進化していかないように、「凍結」することができる。しかし、認証可能なシステムに関して行われているように線形的な実行スレッドを辿ることは、なお実現不可能である。その結果、これらの強力なシステムは、現状では認証不可能である。「高信頼性の用途においてどのようにこれらのシステムを利用するか」を含む現在の議論は、人間が様々なシナリオにおける訓練及び試験／評価を通じて「適格性評価される」のと同様に、システムを「適格性評価する」という考え方を伴う。しかし、高信頼性が要求されるシステムにおいては、この手法はまだ容認可能でない。
【０００６】
したがって、上記の問題の少なくとも一部と共に、起こり得るその他の問題も考慮に入れた、システム及び方法を得ることが望ましい。
【発明の概要】
【０００７】
本開示の例示的な実施形態は、コンピュータシステムの信頼性向上のための、認証可能なソフトウェアと適格性評価可能なソフトウェアとの組み合わせを対象にしている。具体的には、ある例示的な実施形態は、認証可能なソフトウェアをクロスチェックするために認証不可能な機械学習ソフトウェアを利用し、それによってコンピュータシステムの信頼性を向上させる。ある実施例では、認証可能なソフトウェアの出力は、単に、適格性評価可能なソフトウェアの対応する出力によってクロスチェックされてよい。
【０００８】
ある実施例では、出力とこれに対応する出力とが結合されて、結合出力が生成されてよく、それによって、コンピュータシステムの信頼性が向上するばかりでなく、頑健性もまた向上する。この点に関し、異なるソフトウェアは、それぞれの性能指数を有する、同様ではあるがわずかに異なる出力を提供し得る。複数の出力が十分な程度まで一致する場合、これらの出力は、（性能指数によって）重みづけされ、（例えばカルマンフィルタにおいて）結合されて、性能の向上を提供し得る。
【０００９】
ゆえに本開示は、下記の例示的な実施形態を含むが、それらに限定されるわけではない。
【００１０】
ある例示的な実施形態は、コンピュータシステムを提供する。方法は、コンピュータシステムが、入力データを処理して、出力であって、このコンピュータシステムがこの出力に基づいて動作するように構成された出力を生成するために、シーケンシャルに実行される静的なプログラム命令からなる、認証可能なソフトウェアアプリケーションを実行することであって、認証可能なソフトウェアアプリケーションが、ある認証基準に従ったコンピュータシステムに対して認証可能である、認証可能なソフトウェアアプリケーションを実行することと、認証可能なソフトウェアアプリケーションの実行中に、適格性評価可能なソフトウェアアプリケーションを実行することであって、適格性評価可能なソフトウェアアプリケーションが、入力データを処理して対応する出力を生成するために、機械学習アルゴリズムを用いて反復してビルドされたモデルを用い、適格性評価可能なソフトウェアアプリケーションが、上記認証基準に従ったコンピュータシステムに対して認証不可能である、適格性評価可能なソフトウェアアプリケーションを実行することと、認証可能なソフトウェアアプリケーションからの出力を検証するために、適格性評価可能なソフトウェアアプリケーションからの対応する出力と比較することによって、認証可能なソフトウェアアプリケーションからの出力をクロスチェックし、それによってコンピュータシステムの信頼性を向上することと、上記比較によって、認証可能なソフトウェアアプリケーションからの出力が、対応する出力から「ある閾値を超えて」異なっていることが示された場合には、「認証可能なソフトウェアアプリケーションからの出力が検証されていない」という警告を生成することと、を含む。
【００１１】
上記の例示的な実施形態のうちのいずれかの方法による例示的な実施形態、または上記のいずれかの例示的な実施形態のいずれかの組み合わせにおいては、認証可能なソフトウェアアプリケーションからの出力は、上記比較によって、この出力が、適格性評価可能なアプリケーションからの対応する出力から「ある閾値を超えない範囲内で」異なっていることが示された場合に、検証され、方法は、コンピュータシステムが、出力であって、このコンピュータシステムが、この出力に基づいて動作するように構成された出力に基づいて、且つ適格性評価可能なソフトウェアアプリケーションからの対応する出力は除いて、動作することをさらに含む。
【００１２】
上記の例示的な実施形態のうちのいずれかの方法による例示的な実施形態、または上記のいずれかの例示的な実施形態のいずれかの組み合わせにおいては、認証可能なソフトウェアアプリケーションからの出力は、上記比較によって、この出力が、適格性評価可能なソフトウェアアプリケーションからの対応する出力から「ある閾値を超えない範囲で」異なっていることが示された場合に、検証され、方法は、コンピュータシステムが、出力と対応する出力とから結合出力を生成することと、この結合出力に基づいて動作することとをさらに含む。
【００１３】
上記の例示的な実施形態のうちのいずれかの方法による例示的な実施形態、または上記のいずれかの例示的な実施形態のいずれかの組み合わせにおいては、認証可能なソフトウェアアプリケーションを実行することと、適格性評価可能なソフトウェアアプリケーションを実行することとは、出力及び対応する出力に関するそれぞれの性能指数を生成することをさらに含み、結合出力を生成することは、それぞれの性能指数によって重みづけされた出力と対応する出力とに対して、カルマンフィルタ処理を行うことを含む。
【００１４】
上記の例示的な実施形態のうちのいずれかの方法による例示的な実施形態、または上記のいずれかの例示的な実施形態のいずれかの組み合わせにおいては、認証可能なソフトウェアアプリケーション及び適格性評価可能なソフトウェアアプリケーションが実行される際に、第３のソフトウェアアプリケーションが実行され、第３のソフトウェアアプリケーションは、第２の認証可能なまたは適格性評価可能なソフトウェアアプリケーションであり、第３のソフトウェアアプリケーションは、入力データを処理して第２の対応する出力を生成するために実行され、出力をクロスチェックすることは、対応する出力及び第２の対応する出力との比較によって、認証可能なソフトウェアからの出力をクロスチェックすることを含み、警告を生成することは、上記比較によって、認証可能なソフトウェアからの出力が、対応する出力及び第２の対応する出力の両方から「ある閾値を超えて」異なっていることが示された場合には、「認証可能なソフトウェアからの出力が検証されていない」という警告を生成することを含む。
【００１５】
上記の例示的な実施形態のうちのいずれかの方法による例示的な実施形態、または上記のいずれかの例示的な実施形態のいずれかの組み合わせにおいては、コンピュータシステムは、航空機であって、この航空機の標的を規定するハブに向かって移動中である航空機の、航空電子工学システムであり、認証可能なソフトウェアアプリケーションは、認証可能な物体検出アプリケーションであり、適格性評価可能なソフトウェアアプリケーションは、適格性評価可能な物体検出アプリケーションである。認証可能なソフトウェアアプリケーションを実行することは、認証可能な物体検出アプリケーションを実行して、ハブの画像を処理し、画像中に標的が検出されている出力を生成することを含み、適格性評価可能なソフトウェアアプリケーションを実行することは、適格性評価可能な物体検出アプリケーションを実行して、ハブの画像を処理し、画像中に標的が検出されている対応する出力を生成することを含み、出力をクロスチェックすることは、認証可能な物体検出アプリケーションからの出力を検証するために、対応する出力と比較することによって、出力をクロスチェックすることを含む。
【００１６】
上記の例示的な実施形態のうちのいずれかの方法による例示的な実施形態、または上記のいずれかの例示的な実施形態のいずれかの組み合わせにおいては、認証可能な物体検出アプリケーションからの出力は、上記比較によって、この出力が、適格性評価可能なソフトウェアアプリケーションからの対応する出力から「航空機とハブとの間の距離と共に減少する閾値を超えない範囲で」異なっていることが示された場合に、検証される。
【００１７】
ある例示的な実施形態は、コンピュータシステムであって、コンピュータ可読プログラムコードを保存するように構成されたメモリと、このメモリにアクセスし、且つコンピュータ可読プログラムコードを実行するように構成された処理回路とを備え、処理回路がコンピュータ可読プログラムコードを実行することによって、このコンピュータシステムに、少なくとも上記のいずれかの例示的な実施形態、または上記のいずれかの例示的な実施形態のいずれかの組み合わせの方法を実施させる、コンピュータシステムを提供する。
【００１８】
ある例示的な実施形態は、コンピュータ可読記憶媒体であって、非一過性であり、且つ、内部に記憶されたコンピュータ可読プログラムコードであって、処理回路による実行に応答して、コンピュータシステムに、少なくとも上記のいずれかの例示的な実施形態、または上記のいずれかの例示的な実施形態の組み合わせの方法を実施させる、コンピュータ可読プログラムコードを有する、コンピュータ可読記憶媒体を提供する。
【００１９】
本開示の上記の及びその他の特徴、態様、及び利点は、以下で簡潔に説明する添付の図面と共に、下記の詳細な説明を参照することによって明らかになろう。本明細書に記載の具体的な例示の実施形態において、本開示に明記されている２つ、３つ、４つ、またはそれを超える数の特徴または要素が、明示的に組み合わされているかまたは別様に列挙されているにかかわらず、本開示には、こうした特徴または要素の、あらゆる組み合わせが含まれる。本開示は総合的に読み取られることを意図しており、本開示のいかなる分離可能な特徴または要素も、本開示の文脈に別様に明記されていない限りは、そのあらゆる態様及び例示の実行形態において、組み合わせることが可能だと見なすべきである。
【００２０】
したがって、この「発明の概要」が提供されている目的が、いくつかの例示的な実施形態を要約して、本開示のいくつかの態様の基本的な理解を提供するためだけに過ぎないということは、理解されるであろう。したがって、上記の例示的な実施形態は単なる例に過ぎず、いかなる意味においても、本開示の範囲または本質を狭めるものと解釈すべきではないことは、理解されるであろう。その他の例示的な実施形態、態様、及び利点は、添付図面と併せて下記の詳細な説明を参照することで明らかになろう。添付図面は、例として、記載されているいくつかの例示的な実施形態の原理を示すものである。
【００２１】
上記のように、本開示の実施例の実施形態を概括的に説明したが、ここで添付図面を参照する。これらの図面は必ずしも正確な縮尺で描かれているわけではない。
【図面の簡単な説明】
【００２２】
【図１】本開示の例示的な実施形態による、信頼性が向上された、コンピュータシステムの機能ブロック図である。
【図２】様々の例示的な実施形態による、自動式空中給油を示す。
【図３】様々の例示的な実施形態による、コンピュータシステムの信頼性を向上するための方法中の様々なステップを示すフロー図である。
【図４】ある例示的な実施形態による、コンピュータシステムを示す。
【発明を実施するための形態】
【００２３】
添付図面を参照して、本開示のいくつかの実施形態について、以下でより詳しく説明する。添付図面には本開示の実施形態の一部が示されているが、全部が示されているわけではない。実際のところ、本開示の様々な実施形態は、多くの異なる形態で具現化されてよく、本明細書に明記されている実施形態に限定されると解釈すべきではない。むしろ、これらの例示的な実施形態が提供されているのは、本開示が包括的かつ完全なものになるように、かつ、当業者に本開示の範囲が十分に伝わるようにするためである。例えば、別様に明記されていない限り、何かが「第１の」、「第２の」などのものであるという表現は、特定の順番を示すと解釈すべきではない。また、（別様に明記されていない限り）何か別のものの上にあると説明され得るものは、その代わりに下にあってもよく、逆もまた然りである。同様に、何か別のものの左にあると説明されている物は、その代わりに右にあってもよく、逆もまた然りである。全体を通じて、類似の参照番号は類似の要素を表わしている。
【００２４】
本開示の例示的な実施形態は、概して、コンピュータシステムを対象とする。具体的には、コンピュータシステムの信頼性を向上させるための、認証可能なソフトウェアと適格性評価可能なソフトウェアとの組み合わせを対象とする。コンピュータシステムは、ソフトウェアがある認証基準に従って認証可能である、数々の異なるコンピュータシステムのうちの、任意のものであってよい。具体的には、コンピュータシステムは、有人または無人の航空機、人工衛星、宇宙船などに搭載された、航空電子工学システムであってよい。適切な航空電子工学システムの例は、飛行制御システム用、空中位置調整システム用、自動離陸もしくは着陸システム用、ランデブー及びドッキングシステム用、または任意の他のセーフティクリティカルで高信頼性のシステム用の、航空電子工学システムを含む。他の実施例では、コンピュータシステムは、航空以外で使用されるコンピュータであり得る。実施例は、自動外科手術、コンピュータ制御医療機器、自律式の陸用または海用のビークル及び機能を含む。さらなる他の実施例は、ロボットシステムまたはコンピュータ制御システムが人間と相互作用するか、人間の近傍で相互作用する、工場の自動化、または検査修理サービスを含む。
【００２５】
認証可能なソフトウェアは、概して、入力データを処理して、出力であって、コンピュータシステムがこの出力に基づいて動作するように構成された出力を生成するためにシーケンシャルに実行される静的なプログラム命令からなる、ソフトウェアアプリケーション（認証可能なソフトウェアアプリケーション）である。典型的な例は、操縦とスロットルのコマンドを航空機の翼面の動作に変換する、ビークル管理システムまたは飛行制御コンピュータである。他の例は、より一般的には、飛行エンベロープを保護するか、またはセーフティクリティカルな情報を人間に提供するあらゆるシステムであって、誤った情報の提示によって、作業人員が安全でない方の選択肢を選択する結果となり得る、あらゆるシステムを含む。
【００２６】
認証可能なソフトウェアアプリケーションは、ある認証基準に従ったコンピュータシステムに対して認証可能であり、認証された場合には、認証可能なソフトウェアアプリケーションは、認証済みソフトウェアアプリケーションと呼ばれ得る。適切な認証可能なソフトウェアの例は、航空電子工学システムの組み込みソフトウェアであって、そのうちの少なくともいくつかが、ＤＯ−１７８に従って認証可能である、組み込みソフトウェアを含む。これは、具体的には、一般的には航空電子工学で使用され、安全と信頼性が法的に課された組み込みソフトウェアである、航空電子工学のソフトウェアを含む。適切な認証可能なソフトウェアの他の例は、安全性と信頼性が法的には課されていない、有人または無人の航空機、人工衛星、宇宙船などで使用されるソフトウェアを含む。
【００２７】
適格性評価可能なソフトウェアは、一般的には、既存の認証基準に従ったコンピュータシステムに対して認証不可能である、ソフトウェアアプリケーション（適格性評価可能なソフトウェアアプリケーション）である。本明細書で主に記載しているとおり、適格性評価可能なソフトウェアは、認証可能なソフトウェアアプリケーションの出力に対応する出力を生成するために、機械学習を用いる。具体的には、適格性評価可能なソフトウェアアプリケーションは、入力データを処理して対応する出力を生成するために、機械学習アルゴリズムを使用して反復してビルドされたモデルを使用する。適切な機械学習アルゴリズムの一例は、人工ニューラルネットワーク（ＡＮＮ）である。他の例は、回帰アルゴリズム、ディシジョンツリー、サポートベクターマシン、ベイジアンネットワークなどを含む。認証可能なソフトウェアアプリケーションと比べると、適格性評価可能なソフトウェアアプリケーションは、認証基準に従ったコンピュータシステムに対して、認証不可能である。適格性評価可能なソフトウェアアプリケーションは、人間が様々なシナリオにおける訓練及び試験／評価を通じて「適格性評価される」のと同様に、コンピュータシステムに対して適格性評価可能である。適格性評価可能なソフトウェアアプリケーションは、適格性評価されると、適格性評価済みソフトウェアアプリケーションと呼ばれ得る。
【００２８】
図１は、本開示の例示的な実施形態による、コンピュータシステム１００の機能ブロック図である。コンピュータシステムは、１つ以上の機能または動作を実施するための数々の異なる機能ブロックのうちの、いずれかを含んでいてよい。示されるとおり、ある実施例では、コンピュータシステムは、認証可能な実行ブロック１０２、適格性評価可能な実行ブロック１０４、クロスチェックブロック１０６、警告ブロック１０８、及び動作ブロック１１０を含む。認証可能な実行ブロック、適格性評価可能な実行ブロック、クロスチェックブロック、警告ブロック、及び動作ブロックを含む機能ブロックは、同一位置に配置されていてよいか、もしくは互いに直接連結されていてよいか、またはある実施例では、機能ブロックのうちの様々なものが、１つ以上のコンピュータネットワークを渡って互いに通信してよい。さらに、上記のうちのいずれの１つ以上のものも、コンピュータシステムの一部として示されてはいるが、他の機能ブロックのいずれとも関わることなく、コンピュータシステムの外部にあってもよい。コンピュータシステムが、図１に示すもの以外に、１つ以上のさらなるまたは代わりの機能ブロックを含んでいてよいこともまた、理解すべきである。
【００２９】
ある例示的な実施形態では、認証可能な実行ブロック１０２は、認証可能なソフトウェアアプリケーション１１２を実行するように構成されている。上記のとおり、認証可能なソフトウェアアプリケーションは、センサデータといった入力データ１１４を処理して、出力１１６であって、コンピュータシステム１００がこの出力に基づいて動作するように構成された出力１１６を生成するためにシーケンシャルに実行される、静的なプログラム命令からなっている。認証可能なソフトウェアアプリケーションは、認証基準に従ったコンピュータシステムに対して認証可能である。
【００３０】
適格性評価可能な実行ブロック１０４は、認証可能なソフトウェアアプリケーション１１２の実行中に、適格性評価可能なソフトウェアアプリケーション１１８を実行するように構成されている。適格性評価可能なソフトウェアアプリケーションは、入力データ１１４を処理して対応する出力１２０を生成するために、機械学習アルゴリズムを使用して反復してビルドされたモデルを使用する。適格性評価可能なソフトウェアアプリケーションは、認証基準に従ったコンピュータシステムに対して認証不可能である。
【００３１】
クロスチェックブロック１０６は、認証可能なソフトウェアアプリケーションからの出力を検証するために、適格性評価可能なソフトウェアアプリケーション１１８からの対応する出力１２０と比較することによって、認証可能なソフトウェアアプリケーション１１２からの出力１１６をクロスチェックし、それによってコンピュータシステム１００の信頼性を向上するように構成されている。警告ブロック１０８は、比較によって、認証可能なソフトウェアアプリケーションからの出力が、対応する出力から「ある閾値を超えて」異なっていることが示された場合には、「認証可能なソフトウェアアプリケーションからの出力が検証されていない」という警告１２２を生成するように構成されている。この閾値は、コンピュータシステムのタイプ、及び／または認証可能なソフトウェアアプリケーションのタイプに依存していてよく、この閾値によって、認証可能なアプリケーションからの出力における、許容可能な変動または許容誤差が規定されてよい。
【００３２】
認証可能なソフトウェアアプリケーション１１２からの出力１１６は、比較によって、この出力が、適格性評価可能なソフトウェアアプリケーション１１８からの対応する出力１２０から「閾値を超えない範囲内で」異なっていることが示された場合に、検証される。これらの例では、コンピュータシステム１００は、出力に基づいて動作し得る（コンピュータシステムは、出力に基づいて動作するように構成されている）。これに関して、コンピュータシステムは、出力に基づいて動作するように構成された動作ブロック１１０をさらに含む。この動作は、しばしば、本開示の例示の実施形態を実装する航空電子工学システムのタイプといった、コンピュータシステムのタイプに依存する。実施例は、入力センサデータに基づいて軌道を生成することを含み、こうした軌道は次に、ビークル管理システムへと伝達される。
【００３３】
ある実施例では、適格性評価可能なソフトウェアアプリケーション１１８は、認証可能なソフトウェアアプリケーション１１２を検証するためだけに使用される。これらの実施例では、動作ブロック１１０は、適格性評価可能なソフトウェアアプリケーションからの対応する出力１２０を除いて、出力１１６に基づいて、動作するように構成されている。別の実施例では、適格性評価可能なソフトウェアアプリケーションは、さらに、認証可能なソフトウェアアプリケーションの正確性を向上させるために使用され得る。この場合、コンピュータシステム１００は、出力と対応する出力とから結合出力を生成するように構成された、結合ブロック１２４をさらに含む。動作ブロックは、次に、結合出力に基づいて動作するように構成されている。
【００３４】
いくつかのさらなる実施例では、認証可能な実行ブロック１０２と適格性評価可能な実行ブロック１０４は、出力１１６及び対応する出力１２０に関する、それぞれの性能指数を生成するように、さらに構成されている。これらの実施例のうちのいくつかでは、結合ブロック１２４は、それぞれの性能指数によって重みづけされた出力と対応する出力とをカルマンフィルタ処理して、結合出力を生成するように構成されている。
【００３５】
コンピュータシステム１００は、認証可能なソフトウェアアプリケーション１１２、及び適格性評価可能なソフトウェアアプリケーション１１８を含んでいるとして記載されているが、コンピュータシステム１００が、本開示の例示の実施形態における使用に際して、これら２つよりも多くのソフトウェアアプリケーションを実行するように構成されていてよいことは、理解すべきである。即ち、コンピュータシステムは、３つ以上のソフトウェアアプリケーションを利用し得る。具体的には、ある実施形態では、コンピュータシステム１００は、認証可能なソフトウェアアプリケーション１１２と適格性評価可能なソフトウェアアプリケーション１１８とが実行される際に第３のソフトウェアアプリケーション１２８を実行するように構成された、第３の実行ブロック１２６をさらに含む。
【００３６】
第３のソフトウェアアプリケーション１２８（またはそれよりも多く）を含む実施例においては、第３のソフトウェアアプリケーションは、第２の認証可能なもしくは適格性評価可能なソフトウェアアプリケーションであるか、または何らかの他のソフトウェアアプリケーションである。第３のソフトウェアアプリケーションは、入力データ１１４を処理して第２の対応する出力１３０を生成するために、実行される。次に、クロスチェックブロック１０６は、対応する出力１２０及び第２の対応する出力１３０との比較によって、認証可能なソフトウェアアプリケーション１１２からの出力１１６をクロスチェックするように構成されている。警告ブロック１０８は、比較によって、認証可能なソフトウェアアプリケーションからの出力が、対応する出力と第２の対応する出力との両方から「閾値を超えて」異なっていることが示された場合には、「認証可能なソフトウェアアプリケーションからの出力が検証されていない」という警告１２２を生成するように構成されている。
【００３７】
上記のとおり、コンピュータシステム１００は、数々の異なるコンピュータシステムのうちの任意のものであってよい。ある実施例では、コンピュータシステムは、有人または無人の航空機、人工衛星、宇宙船などに搭載された航空電子工学システムである。これに関連して、自動空中給油（Ａ３Ｒ）と、同様に自動式の宇宙船のランデブー及びドッキングは、接続操作を完遂するのに十分な高度の正確さで、２つの航空宇宙ビークルを接合させることを伴う。この接続のためには、一般的に、自律式のシステムによって正しい標的を特定することが重要である。例を示すと、Ａ３Ｒを実施しようと試みる自動式の被給油機は、自らのプローブを空中給油機のドローグに挿入することによって、特定された円形の特徴部が実際にドローグであり、エンジンの排気孔ではないことを確認しなければならない。同様に、自動式空中給油機のブームは、自らが挿入されようとしているのが燃料口であって、コクピットウィンドウではないことを、確認しなければならない。
【００３８】
多くの高信頼性のコンテクストでは、信頼性は、多様なデータソースを（例えば、種々の視点配置を提供する複数のセンサ、またはパッシブ撮像及び三次元ＬＩＤＡＲといった種々の感知技術さえも）使用することと、各データソースに対して多様なアルゴリズムを使用することとによって、実現され得る。Ａ３Ｒの場合、２つのパッシブ撮像カメラであって、それぞれが同一の領域を撮像するが、別々の位置に搭載されていて、多様なソースデータを提供する（１つのカメラが何かによって遮られた場合でも、他方のカメラによってこの領域はなお視覚可能である）、２つのパッシブ撮像カメラが使用されてよい。各カメラについて、認証可能なソフトウェアアプリケーションと適格性評価可能なソフトウェアアプリケーションとの両方が入力画像データに対して実行されてよく、それぞれの出力が比較されてよい。
【００３９】
ある実施例では、２つの航空機間の距離と共に、許容差（閾値）が減少するが、両ソフトウェアアプリケーションが許容差の範囲内で一致する限り、この操作は継続されてよい。要件次第では、適格性評価可能なソフトウェアアプリケーションは、認証可能なソフトウェアアプリケーションのクロスチェックの役割のみを果たしてもよい。これらの実施例では、２つのソフトウェアアプリケーションが一致する限り、認証可能なソフトウェアアプリケーションからの出力が使用される。これらが一致しない場合は、コンピュータシステムはエラーを宣告し、警告を生成し、動作は終了する。２つのソフトウェアアプリケーションが一致するいくつかの実施例では、これらそれぞれの出力は、全体的な正確性を向上するためにカルマンフィルタ内に入力されてよい。
【００４０】
図２は、ある実施例による、自動式空中給油２００を示す。これらの実施例では、コンピュータシステム１００は、航空機２０４であって、航空機２０４の標的２０８を規定するハブ２０６に向かって移動する航空機２０４の、航空電子工学システム２０２である。示されるとおり、ハブは、給油機または空中給油機（または単に「タンカー」）であって、航空機にとっての標的は、細長いホースから空中給油機の後方に伸びる、ドローグである。この航空機は、給油用プローブ２１０を搭載していて、給油用プローブをドローグに係合させ、その後この航空機に空中給油を行おうとして、後方且つ下方からといったように、ハブに接近する。この場合、認証可能なソフトウェアアプリケーション１１２と適格性評価可能なソフトウェアアプリケーション１１８は、それぞれ、認証可能な物体検出アプリケーションと適格性評価可能な物体検出アプリケーションであってよい。
【００４１】
認証可能な実行ブロック１０２は、ハブ２０６の画像を処理して、この画像内に標的２０８が検出される出力を生成するため、認証可能な物体検出アプリケーションを実行するように構成されていてよい。同様に、適格性評価可能な実行ブロック１０４は、ハブの画像を処理して、この画像内に標的が検出される対応する出力を生成するため、適格性評価可能な物体検出アプリケーションを実行するように構成されていてよい。クロスチェックブロック１０６は、認証可能な物体検出アプリケーションからの出力を検証するため、対応する出力との比較によって、この出力をクロスチェックするように構成されていてよい。ある実施例では、出力は、比較によって、この出力が、対応する出力から「航空機とハブとの間の距離と共に減少する閾値を超えない範囲内で」異なっていることが示された場合に、検証される。本開示の例示の実施形態から恩恵を受け得る自動式空中給油用システムに関するさらなる情報は、米国特許第９，９３３，５２１号「空中位置付けシステム及び方法」で提供されている。同特許は、その全体が参照によって本願に援用される。
【００４２】
図３は、本開示の例示的な実施形態による、コンピュータシステムの信頼性を向上させるための方法３００中の様々なステップを示すフロー図である。ステップ３０２に示すとおり、方法は、入力データを処理して、出力であって、コンピュータシステムがこの出力に基づいて動作するように構成された出力を生成するために、シーケンシャルに実行される静的なプログラム命令からなる、認証可能なソフトウェアアプリケーションを実行することを含む。この点について、認証可能なソフトウェアアプリケーションは、認証基準に従ったコンピュータシステムに対して認証可能である。
【００４３】
方法３００は、ステップ３０４に示すとおり、認証可能なソフトウェアアプリケーションの実行中に、適格性評価可能なソフトウェアアプリケーションを実行することを含む。適格性評価可能なソフトウェアアプリケーションは、入力データを処理して対応する出力を生成するために、機械学習アルゴリズムを使用して反復してビルドされたモデルを使用する。適格性評価可能なソフトウェアアプリケーションは、認証基準に従ったコンピュータシステムに対して、認証不可能である。
【００４４】
方法３００は、ステップ３０６に示すとおり、認証可能なソフトウェアアプリケーションからの出力を検証するために、適格性評価可能なソフトウェアアプリケーションからの対応する出力と比較することによって、認証可能なソフトウェアアプリケーションからの出力をクロスチェックし、それによってコンピュータシステム３０６の信頼性を向上することを含む。方法は、ステップ３０８に示すとおり、比較によって、認証可能なソフトウェアアプリケーションからの出力が、対応する出力から「閾値を超えて」異なっていることが示された場合には、「認証可能なソフトウェアアプリケーションからの出力が検証されていない」という警告を生成することを含む。認証可能なソフトウェアアプリケーションからの出力は、比較によって、この出力が、適格性評価可能なソフトウェアアプリケーションからの対応する出力から「閾値を超えない範囲内で」異なっていることが示された場合に、検証される。ある実施例では、方法は次に、ステップ３１０で示すとおり、出力または結合出力に基づいて動作することをさらに含む。
【００４５】
本開示の例示の実施形態によると、コンピュータシステム１００、並びに認証可能な実行ブロック１０２、適格性評価可能な実行ブロック１０４、クロスチェックブロック１０６、警告ブロック１０８、動作ブロック１１０、結合ブロック１２４、及び第３の実行ブロック１２６を含むコンピュータシステム１００の機能ブロックは、様々な手段によって実装され得る。コンピュータシステム及びその機能ブロックを実装するための手段は、単独の、または、コンピュータ可読記憶媒体からの１つ以上のコンピュータプログラムの命令に従う、ハードウェアを含んでいてよい。ある実施例では、コンピュータシステムは、本明細書で示され説明されている機能ブロックの役割を果たすか、またはこれらの機能ブロックを別様に実装するように構成された、１つ以上の機器によって具現化され得る。２つ以上の機器を伴う実施例では、それぞれの機器は、例えば直接的に、または、有線もしくは無線のネットワークを介して間接的になど、数々の異なる態様で、互いに接続されていてよいか、または別様に通信可能であってよい。
【００４６】
図４に、本開示のいくつかの例示的な実施形態による機器４００を示す。本開示の例示的な実施形態の機器は、概して、１つ以上の固定式もしくは携帯式の電子装置を備えているか、こうした電子装置を含んでいるか、または、こうした電子装置において具現化されていてよい。適切な電子装置の例は、スマートフォン、タブレットコンピュータ、ラップトップコンピュータ、デスクトップコンピュータ、ワークステーションコンピュータ、サーバコンピュータなどを含む。認証可能な航空電子工学システムに関しては、適切な電子装置は、通常、バックプレーンと１つ以上の認証可能なプロセッサカードとを有する、認証可能な電子機器筐体からなる。機器は、例えば、メモリ４０４（例えば記憶装置）に接続され処理回路４０２（例えばプロセッサユニット）といった、いくつかの構成要素の各々のうちの１つ以上を含み得る。
【００４７】
処理回路４０２は、単体であるか、または１つ以上のメモリと組み合わされた、１つ以上のプロセッサから構成されていてよい。処理回路は、概して、例えば、データ、コンピュータプログラム、及び／または他の適切な電子情報などといった情報を処理することが可能な、コンピュータハードウェアの任意のものである。処理回路は、電子回路の集合体で構成されており、こうした電子回路の一部は、１つの集積回路または複数の相互接続集積回路として、パッケージ化されていてよい（集積回路は時としてより一般的に「チップ」と称される）。処理回路は、コンピュータプログラムを実行するように構成されてよく、コンピュータプログラムは、処理回路に搭載された状態で保存され得るか、または別様に、（同一もしくは別の機器の）メモリ４０４に保存され得る。
【００４８】
処理回路４０２は、特定の実施形態に応じて、いくつかのプロセッサ、１つのマルチコアプロセッサ、または他の何らかのタイプのプロセッサであってよい。処理回路は、画像処理装置（ＧＰＵ）、中央処理装置（ＣＰＵ）、またはＧＰＵとＣＰＵの組み合わせを含み得る。さらに、処理回路は、単一のチップ上に主要プロセッサと共に１つ以上の二次プロセッサが存在する、いくつかの異種計算機システムを使用して、実装され得る。別の例示的な実施例としては、処理回路は、同じタイプのマルチプロセッサを包含する対称型マルチプロセッサシステムであり得る。さらに別の実施例では、処理回路は、１つ以上のＡＳＩＣやＦＰＧＡなどとして具現化されていてよいか、またはそれらを別様に含んでいてよい。したがって、処理回路は１つ以上の機能を実施するためのコンピュータプログラムを実行することが可能であり得るが、様々な実施例の処理回路は、コンピュータプログラムの支援がなくとも、１つ以上の機能を実施することが可能であり得る。どちらの例においても、処理回路は、本開示の例示的な実施形態による機能または動作を実施するように、適切にプログラムされていてよい。
【００４９】
メモリ４０４は概して、例えばデータ、コンピュータプログラム（例えばコンピュータ可読プログラムコード４０６）、及び／または、他の適切な情報といった情報を、一時的及び／または恒久的に記憶することが可能なコンピュータハードウェアのうちの任意のものである。メモリは、揮発性及び／または不揮発性のメモリを含んでいてよく、且つ固定式または着脱式であってよい。適切なメモリの例は、ランダムアクセスメモリ（ＲＡＭ）、読み出し専用メモリ（ＲＯＭ）、ハードドライブ、フラッシュメモリ、サムドライブ、着脱式コンピュータディスケット、光ディスク、磁気テープ、またはこれらの何らかの組み合わせを含む。光ディスクは、読み出し専用コンパクトディスク（ＣＤ−ＲＯＭ）、読み出し／書き込み用コンパクトディスク（ＣＤ−Ｒ／Ｗ）、ＤＶＤなどを含み得る。様々な事例において、メモリはコンピュータ可読記憶媒体と称され得る。コンピュータ可読記憶媒体は、情報を記憶することが可能な非一過性デバイスであり、ある場所から別の場所へと情報を運ぶことが可能な一過性の電子信号といった、コンピュータ可読伝送媒体とは区別され得る。本書に記載のコンピュータ可読媒体は、概して、コンピュータ可読記憶媒体またはコンピュータ可読伝送媒体を指していてよい。
【００５０】
処理回路４０２は、情報を表示、送信、及び／または受信するため、メモリ４０４に加えて、１つ以上のインターフェースにも接続され得る。インターフェースは、通信インターフェース４０８（例えば通信ユニット）を含み得る。通信インターフェースは、他の機器やネットワークなどへ、及び／またはそれらからなどといったように、情報を送信及び／または受信するように構成されていてよい。通信インターフェースは、物理的な（有線の）及び／または無線の通信リンクによって、情報を送信及び／または受信するように構成されていてよい。適切な通信インターフェースの例は、ネットワークインターフェースコントローラ（ＮＩＣ）、無線ＮＩＣ（ＷＮＩＣ）などを含む。
【００５１】
いくつかの例では、インターフェースは、ディスプレイ４１０及び／または１つ以上のユーザ入力インターフェース４１２（例えば、入出力ユニット）といった、１つ以上のユーザインターフェースを含んでいてよい。ディスプレイは、ユーザに情報を提示するか、または別様にユーザに情報を表示するよう構成されていてよく、その適切な例は、液晶ディスプレイ（ＬＣＤ）、発光ダイオードディスプレイ（ＬＥＤ）、プラズマディスプレイパネル（ＰＤＰ）などを含む。ユーザ入力インターフェースは、有線または無線であってよく、処理用、記憶用、及び／または表示用といった機器内に、ユーザからの情報を受信するよう構成されていてよい。ユーザ入力インターフェースの適切な例は、マイクロフォン、画像またはビデオのキャプチャ装置、キーボードまたはキーパッド、ジョイスティック、（タッチスクリーンとは別個の、またはタッチスクリーンに統合された）タッチ感応画面、生体認証センサなどを含む。ユーザインターフェースは、プリンタやスキャナなどといった周辺機器と通信するための、１つ以上のインターフェースをさらに含み得る。
【００５２】
上記のように、プログラムコード命令は、メモリに記憶されていてよく、本明細書で説明されているシステム、サブシステム、ツール、及びそれらの各要素の機能を実装するようにプログラムコード命令によってプログラムされている、処理回路によって実行されてよい。理解されるとおり、特定のマシンが本明細書で特定されている機能を実装する手段となるようにして特定のマシンを製造するため、あらゆる適切なプログラムコード命令が、コンピュータ可読記憶媒体から、コンピュータまたは他のプログラム可能機器に読み込まれてよい。これらのプログラムコード命令は、コンピュータ可読記憶媒体であって、コンピュータ、処理回路、またはその他のプログラマブル機器に指示を出して特定の方法で機能させることにより、特定のマシンまたは特定の製品を生成することができる、コンピュータ可読記憶媒体に記憶されていてもよい。コンピュータ可読記憶媒体に記憶された命令は、製品であって、本明細書に記載の機能を実装するための手段となる製品を生産することができる。プログラムコード命令は、コンピュータ可読記憶媒体から読み出され、コンピュータ、処理回路または他のプログラマブル機器に読み込まれてよい。それによって、コンピュータ、処理回路または他のプログラマブル機器が設定され、コンピュータ、処理回路または他のプログラマブル機器上で実行されるべき、またはそれらによって実施されるべき、工程が実行される。
【００５３】
一度に１つの命令が読み出され、読み込まれ、実行されるように、プログラムコード命令の読み出し、読み込み及び実行は、逐次的に実施されてよい。いくつかの例示的な実施形態では、複数の命令がまとめて読み出され、読み込まれ、且つ／または実行されるように、読み出し、読み込み、及び／または実行は、並行して実施されてよい。プログラムコード命令の実行によってコンピュータ実装処理が生成されてよく、それによって、コンピュータ、処理回路、または他のプログラマブル機器が命令を実行することで、本明細書に記載の機能を実行するための工程がもたらされる。
【００５４】
処理回路による命令の実行、または、コンピュータ可読記憶媒体における命令の保存は、特定の機能を実施するための工程の組み合わせをサポートする。このように、装置４００は、メモリに保存されたコンピュータ可読プログラムコード４０６を実行するよう構成された処理回路４０２と、処理回路に連結されたコンピュータ可読記憶媒体またはメモリ４０４とを含んでいてよい。１つ以上の機能及び機能の組み合わせが、専用ハードウェアベースの機器、及び／または、特定の機能を実行する処理回路、または、専用ハードウェアとプログラムコード命令との組み合わせによって実行され得ることも、また理解されよう。
【００５５】
さらに、本開示は、下記の条項による実施形態を含む。
【００５６】
条項１．コンピュータ可読プログラムコード（４０６）を記憶するように構成されたメモリ（４０４）、並びに、
このメモリにアクセスし、且つコンピュータ可読プログラムコードを実行するように構成された処理回路（４０２）を備えるコンピュータシステム（４００）であって、
処理回路がコンピュータ可読プログラムコードを実行することによって、コンピュータシステムに少なくとも、
入力データを処理して、出力であって、このコンピュータシステムがこの出力に基づいて動作するように構成された出力を生成するために、シーケンシャルに実行される静的なプログラム命令からなる、認証可能なソフトウェアアプリケーションを実行すること（３０２）であって、認証可能なソフトウェアアプリケーションが、ある認証基準に従ったコンピュータシステムに対して認証可能である、認証可能なソフトウェアアプリケーションを実行すること（３０２）と、
認証可能なソフトウェアアプリケーションの実行中に、適格性評価可能なソフトウェアアプリケーションを実行すること（３０４）であって、適格性評価可能なソフトウェアアプリケーションが、入力データを処理して対応する出力を生成するために、機械学習アルゴリズムを用いて反復してビルドされたモデルを用い、適格性評価可能なソフトウェアアプリケーションが、上記認証基準に従ったコンピュータシステムに対して認証不可能である、適格性評価可能なソフトウェアアプリケーションを実行すること（３０４）と、
認証可能なソフトウェアアプリケーションからの出力を検証するために、適格性評価可能なソフトウェアアプリケーションからの対応する出力と比較することによって、認証可能なソフトウェアアプリケーションからの出力をクロスチェック（３０６）し、それによってコンピュータシステムの信頼性を向上することと、
上記比較によって、認証可能なソフトウェアアプリケーションからの出力が、対応する出力から「ある閾値を超えて」異なっていることが示された場合には、「認証可能なソフトウェアアプリケーションからの出力が検証されていない」という警告を生成すること（３０８）と、
を行わせる、コンピュータシステム（４００）。
【００５７】
条項２．認証可能なソフトウェアアプリケーションからの出力が、比較によって、この出力が、適格性評価可能なソフトウェアアプリケーションからの出力から「閾値を超えない範囲内で」異なっていることが示された場合に、検証され、メモリ（４０４）が、処理回路（４０２）が実行することによって、コンピュータシステムにさらに少なくとも、
出力であって、このコンピュータシステムがこの出力に基づいて動作するように構成された出力に基づいて、且つ適格性評価可能なソフトウェアアプリケーションからの対応する出力は除いて、動作させるように構成された、コンピュータ可読プログラムコード（４０６）を記憶している、条項１に記載のコンピュータシステム（４００）。
【００５８】
条項３．認証可能なソフトウェアアプリケーションからの出力が、比較によって、この出力が、適格性評価可能なソフトウェアアプリケーションからの対応する出力から「閾値を超えない範囲内で」異なっていることが示された場合に、検証され、メモリ（４０４）が、処理回路（４０２）が実行することによって、コンピュータシステムにさらに少なくとも、
出力と対応する出力とから結合出力を生成することと、
この結合出力に基づいて動作することと、
を行わせるように構成された、さらなるコンピュータ可読プログラムコード（４０６）を記憶している、条項１または２に記載のコンピュータシステム（４００）。
【００５９】
条項４．コンピュータシステムが、認証可能なソフトウェアアプリケーションを実行する（３０２）ようにさせられており、且つ適格性評価可能なソフトウェアアプリケーションを実行する（３０４）ようにさせられており、コンピュータシステムが、出力と対応する出力に関するそれぞれの性能指数を生成するようにさせられていることをさらに含み、コンピュータシステムが結合出力を生成するようにされられていることが、それぞれの性能指数によって重みづけされた出力及び対応する出力をカルマンフィルタ処理するようにさせられていることを含む、条項３に記載のコンピュータシステム（４００）。
【００６０】
条項５．メモリ（４０４）が、処理回路（４０２）によって実行されるように構成されたさらなるコンピュータ可読プログラムコード（４０６）を記憶しており、
処理回路（４０２）がコンピュータ可読プログラムコード（４０６）を実行することによって、コンピュータシステムにさらに少なくとも、
認証可能なソフトウェアアプリケーション及び適格性評価可能なソフトウェアアプリケーションが実行される際に、第３のソフトウェアアプリケーションを実行することであって、第３のソフトウェアアプリケーションが、第２の認証可能なまたは適格性評価可能なソフトウェアアプリケーションであり、第３のソフトウェアアプリケーションが、入力データを処理して第２の対応する出力を生成するために実行される、第３のソフトウェアアプリケーションを実行することを行わせ、
コンピュータシステムが、出力をクロスチェック（３０６）するようにさせられていることが、対応する出力及び第２の対応する出力との比較によって、認証可能なソフトウェアからの出力をクロスチェックするようにさせられていることを含み、
コンピュータシステムが、警告を生成する（３０８）ようにさせられていることは、上記比較によって、認証可能なソフトウェアからの出力が、対応する出力及び第２の対応する出力の両方から「ある閾値を超えて」異なっていることが示された場合には、「認証可能なソフトウェアからの出力が検証されていない」という警告を生成するようにさせられていることを含む、
条項１から４のいずれか一項に記載のコンピュータシステム（４００）。
【００６１】
条項６．コンピュータシステムが、航空機であって、この航空機の標的を規定するハブに向かって移動中である航空機の、航空電子工学システムであり、認証可能なソフトウェアアプリケーションが、認証可能な物体検出アプリケーションであり、適格性評価可能なソフトウェアアプリケーションが、適格性評価可能な物体検出アプリケーションであり、
コンピュータシステムが、認証可能なソフトウェアアプリケーションを実行する（３０２）ようにさせられていることが、認証可能な物体検出アプリケーションを実行して、ハブの画像を処理し、画像中に標的が検出されている出力を生成するようにさせられていることを含み、
コンピュータシステムが、適格性評価可能なソフトウェアアプリケーションを実行する（３０４）ようにさせられていることが、適格性評価可能な物体検出アプリケーションを実行して、ハブの画像を処理し、画像中に標的が検出されている対応する出力を生成するようにさせられていることを含み、
コンピュータシステムが、出力をクロスチェックする（３０６）ようにさせられていることが、認証可能な物体検出アプリケーションからの出力を検証するために、対応する出力と比較することによって、この出力をクロスチェックするようにさせられていることを含む、
条項１から５のいずれか一項に記載のコンピュータシステム（４００）。
【００６２】
条項７．認証可能な物体検出アプリケーションからの出力が、上記比較によって、この出力が、対応する出力から「航空機とハブとの間の距離と共に減少する閾値を超えない範囲で」異なっていることが示された場合に、検証される、条項６に記載のコンピュータシステム（４００）。  
【００６３】
条項８．コンピュータシステム（４００）の信頼性を向上するための方法（３００）であって、コンピュータシステムが、
入力データを処理して、出力であって、このコンピュータシステムがこの出力に基づいて動作するように構成された出力を生成するために、シーケンシャルに実行される静的なプログラム命令からなる、認証可能なソフトウェアアプリケーションを実行すること（３０２）であって、認証可能なソフトウェアアプリケーションが、ある認証基準に従ったコンピュータシステムに対して認証可能である、認証可能なソフトウェアアプリケーションを実行すること（３０２）と、
認証可能なソフトウェアアプリケーションの実行中に、適格性評価可能なソフトウェアアプリケーションを実行すること（３０４）であって、適格性評価可能なソフトウェアアプリケーションが、入力データを処理して対応する出力を生成するために、機械学習アルゴリズムを用いて反復してビルドされたモデルを用い、適格性評価可能なソフトウェアアプリケーションが、上記認証基準に従ったコンピュータシステムに対して認証不可能である、適格性評価可能なソフトウェアアプリケーションを実行すること（３０４）と、
認証可能なソフトウェアアプリケーションからの出力を検証するために、適格性評価可能なソフトウェアアプリケーションからの対応する出力と比較することによって、認証可能なソフトウェアアプリケーションからの出力をクロスチェック（３０６）し、それによってコンピュータシステムの信頼性を向上することと、
上記比較によって、認証可能なソフトウェアアプリケーションからの出力が、対応する出力から「ある閾値を超えて」異なっていることが示された場合には、「認証可能なソフトウェアアプリケーションからの出力が検証されていない」という警告を生成すること（３０８）と、
を行うことを含む、コンピュータシステム（４００）の信頼性を向上するための方法（３００）。
【００６４】
条項９．方法であって、認証可能なソフトウェアアプリケーションからの出力が、上記比較によって、この出力が、適格性評価可能なアプリケーションからの対応する出力から「ある閾値を超えない範囲内で」異なっていることが示された場合には、検証され、この方法が、コンピュータシステムが、
出力であって、このコンピュータシステムがこの出力に基づいて動作するように構成された出力に基づいて、且つ適格性評価可能なソフトウェアアプリケーションからの対応する出力は除いて、動作する（３１０）こと
をさらに含む、条項８に記載の方法（３００）。
【００６５】
条項１０．方法であって、認証可能なソフトウェアアプリケーションからの出力が、上記比較によって、この出力が、適格性評価可能なソフトウェアアプリケーションからの対応する出力から「ある閾値を超えない範囲で」異なっていることが示された場合に、検証され、この方法が、コンピュータシステムが、
出力と対応する出力とから、結合出力を生成することと、
この結合出力に基づいて動作することと
をさらに含む、条項８または９に記載の方法（３００）。
【００６６】
条項１１．認証可能なソフトウェアアプリケーションを実行すること（３０２）と、適格性評価可能なソフトウェアアプリケーションを実行すること（３０４）とが、出力及び対応する出力に関するそれぞれの性能指数を生成することをさらに含み、
結合出力を生成することが、それぞれの性能指数によって重みづけされた出力と対応する出力とに対して、カルマンフィルタ処理を行うことを含む、条項１０に記載の方法（３００）。
【００６７】
条項１２．認証可能なソフトウェアアプリケーション及び適格性評価可能なソフトウェアアプリケーションが実行される際に、第３のソフトウェアアプリケーションを実行することであって、第３のソフトウェアアプリケーションが、第２の認証可能なまたは適格性評価可能なソフトウェアアプリケーションであり、第３のソフトウェアアプリケーションが、入力データを処理して第２の対応する出力を生成するために実行される、第３のソフトウェアアプリケーションを実行することをさらに含み、
出力をクロスチェックすること（３０６）が、対応する出力及び第２の対応する出力との比較によって、認証可能なソフトウェアからの出力をクロスチェックすることを含み、
警告を生成すること（３０８）が、上記比較によって、認証可能なソフトウェアからの出力が、対応する出力及び第２の対応する出力の両方から「ある閾値を超えて」異なっていることが示された場合には、「認証可能なソフトウェアからの出力が検証されていない」という警告を生成することを含む、
条項８から１１のいずれか一項に記載の方法（３００）。
【００６８】
条項１３．コンピュータシステムが、航空機であって、この航空機の標的を規定するハブに向かって移動中である航空機の、航空電子工学システムであり、認証可能なソフトウェアアプリケーションが、認証可能な物体検出アプリケーションであり、適格性評価可能なソフトウェアアプリケーションが、適格性評価可能な物体検出アプリケーションであり、
認証可能なソフトウェアアプリケーションを実行すること（３０２）が、認証可能な物体検出アプリケーションを実行して、ハブの画像を処理し、画像中に標的が検出されている出力を生成することを含み、
適格性評価可能なソフトウェアアプリケーションを実行すること（３０４）が、適格性評価可能な物体検出アプリケーションを実行して、ハブの画像を処理し、画像中に標的が検出されている対応する出力を生成することを含み、
出力をクロスチェックすること（３０６）が、認証可能な物体検出アプリケーションからの出力を検証するために、対応する出力と比較することによって、出力をクロスチェックすることを含む、
条項８から１２のいずれか一項に記載の方法（３００）。
【００６９】
条項１４．認証可能な物体検出アプリケーションからの出力が、上記比較によって、この出力が、対応する出力から「航空機とハブとの間の距離と共に減少する閾値を超えない範囲で」異なっていることが示された場合に、検証される、条項１３に記載の方法（３００）。  
【００７０】
条項１５．コンピュータ可読記憶媒体（４０４）であって、非一過性であり、且つ中にコンピュータ可読プログラムコード（４０６）であって、処理回路（４０２）による実行に応答して、コンピュータシステム（４００）に、少なくとも、
コンピュータシステムが、入力データを処理して、出力であって、このコンピュータシステムがこの出力に基づいて動作するように構成された出力を生成するために、シーケンシャルに実行される静的なプログラム命令からなる、認証可能なソフトウェアアプリケーションを実行すること（３０２）であって、認証可能なソフトウェアアプリケーションが、ある認証基準に従ったコンピュータシステムに対して認証可能である、認証可能なソフトウェアアプリケーションを実行すること（３０２）と、
認証可能なソフトウェアアプリケーションの実行中に、適格性評価可能なソフトウェアアプリケーションを実行すること（３０４）であって、適格性評価可能なソフトウェアアプリケーションが、入力データを処理して対応する出力を生成するために、機械学習アルゴリズムを用いて反復してビルドされたモデルを用い、適格性評価可能なソフトウェアアプリケーションが、上記認証基準に従ったコンピュータシステムに対して認証不可能である、適格性評価可能なソフトウェアアプリケーションを実行すること（３０４）と、
認証可能なソフトウェアアプリケーションからの出力を検証するために、適格性評価可能なソフトウェアアプリケーションからの対応する出力と比較することによって、認証可能なソフトウェアアプリケーションからの出力をクロスチェック（３０６）し、それによってコンピュータシステムの信頼性を向上することと、
上記比較によって、認証可能なソフトウェアアプリケーションからの出力が、対応する出力から「ある閾値を超えて」異なっていることが示された場合には、「認証可能なソフトウェアアプリケーションからの出力が検証されていない」という警告を生成すること（３０８）と、
を行わせる、コンピュータ可読プログラムコード（４０６）を有する、コンピュータ可読記憶媒体（４０４）。
【００７１】
条項１６．認証可能なソフトウェアアプリケーションからの出力が、比較によって、この出力が、適格性評価可能なソフトウェアアプリケーションからの対応する出力から「閾値を超えない範囲内で」異なっていることが示された場合に、検証され、コンピュータ可読記憶媒体が、処理回路（４０２）による実行に応答して、コンピュータシステム（４００）にさらに少なくとも、
出力であって、このコンピュータシステムがこの出力に基づいて動作するように構成された出力に基づいて、且つ適格性評価可能なソフトウェアアプリケーションからの対応する出力は除いて、動作（３１０）させる、内部に記録されたさらなるコンピュータ可読プログラムコード（４０６）を有する、条項１５に記載のコンピュータ可読記憶媒体（４０４）。
【００７２】
条項１７．認証可能なソフトウェアアプリケーションからの出力が、比較によって、この出力が、適格性評価可能なソフトウェアアプリケーションからの対応する出力から「閾値を超えない範囲内で」異なっていることが示された場合に、検証され、コンピュータ可読記憶媒体が、処理回路（４０２）による実行に応答して、コンピュータシステム（４００）にさらに少なくとも、
出力と対応する出力とから結合出力を生成することと、
この結合出力に基づいて動作することと、
を行わせる、内部に記録されたさらなるコンピュータ可読プログラムコード（４０６）を有する、条項１５または１６に記載のコンピュータ可読記憶媒体（４０４）。
【００７３】
条項１８．コンピュータシステム（４００）が、認証可能なソフトウェアアプリケーションを実行し（３０２）、且つ適格性評価可能なソフトウェアアプリケーションを実行する（３０４）ようにさせられていることが、コンピュータシステムが、出力と対応する出力に関するそれぞれの性能指数を生成するようにさせられていることをさらに含み、
コンピュータシステムが結合出力を生成するようにされられていることが、それぞれの性能指数によって重みづけされた出力及び対応する出力をカルマンフィルタ処理するようにさせられていることを含む、条項１７に記載のコンピュータ可読記憶媒体（４０４）。
【００７４】
条項１９．コンピュータ可読記憶媒体（４０４）であって、内部に記憶されたさらなるコンピュータ可読プログラムコード（４０６）をさらに有し、このコンピュータ可読プログラムコード（４０６）が、処理回路（４０２）による実行に応答して、コンピュータシステム（４００）にさらに少なくとも、
認証可能なソフトウェアアプリケーション及び適格性評価可能なソフトウェアアプリケーションが実行される際に、第３のソフトウェアアプリケーションを実行することであって、第３のソフトウェアアプリケーションが、第２の認証可能なまたは適格性評価可能なソフトウェアアプリケーションであり、第３のソフトウェアアプリケーションが、入力データを処理して第２の対応する出力を生成するために実行される、第３のソフトウェアアプリケーションを実行することを行わせ、
コンピュータシステムが、出力をクロスチェックする（３０６）ようにさせられていることが、対応する出力及び第２の対応する出力との比較によって、認証可能なソフトウェアからの出力をクロスチェックするようにさせられていることを含み、
コンピュータシステムが、警告を生成する（３０８）ようにさせられていることが、上記比較によって、認証可能なソフトウェアからの出力が、対応する出力及び第２の対応する出力の両方から「ある閾値を超えて」異なっていることが示された場合には、「認証可能なソフトウェアからの出力が検証されていない」という警告を生成するようにさせられていることを含む、
条項１５から１８のいずれか一項に記載のコンピュータ可読記憶媒体（４０４）。
【００７５】
条項２０．コンピュータシステム（４００）が、航空機であって、この航空機の標的を規定するハブに向かって移動中である航空機の、航空電子工学システムであり、認証可能なソフトウェアアプリケーションが、認証可能な物体検出アプリケーションであり、適格性評価可能なソフトウェアアプリケーションが、適格性評価可能な物体検出アプリケーションであり、
コンピュータシステムが、認証可能なソフトウェアアプリケーションを実行する（３０２）ようにさせられていることが、認証可能な物体検出アプリケーションを実行して、ハブの画像を処理し、画像中に標的が検出されている出力を生成するようにさせられていることを含み、
コンピュータシステムが、適格性評価可能なソフトウェアアプリケーションを実行する（３０４）ようにさせられていることが、適格性評価可能な物体検出アプリケーションを実行して、ハブの画像を処理し、画像中に標的が検出されている対応する出力を生成するようにさせられていることを含み、
コンピュータシステムが、出力をクロスチェックする（３０６）ようにさせられていることが、認証可能な物体検出アプリケーションからの出力を検証するために、対応する出力と比較することによって、出力をクロスチェックするようにさせられていることを含む、
条項１５から１９のいずれか一項に記載のコンピュータ可読記憶媒体（４０４）。
【００７６】
条項２１．認証可能な物体検出アプリケーションからの出力が、上記比較によって、この出力が、対応する出力から「航空機とハブとの間の距離と共に減少する閾値を超えない範囲で」異なっていることが示された場合に、検証される、条項２０に記載のコンピュータ可読記憶媒体（４０４）。
【００７７】
上記の説明及び添付図面に提示されている教示の恩恵を受ける、本開示に関連する当業者には、本明細書に明記された本開示の多数の修正例及びその他の実施形態が想起されよう。したがって、本開示が開示されている特定の実施形態に限定されるものではないこと、及び、添付の特許請求の範囲には、変形例及びその他の実施形態も含まれるよう意図されていることは、理解されたい。さらに、上記の説明及び添付図面は、要素及び／または機能の特定の実施例の組み合わせに照らして例示の実施形態を説明しているが、添付の特許請求の範囲から逸脱することなく、要素及び／または機能の異なる組み合わせが、代替的な実施形態によって提供されてもよいことは、理解されたい。つまり、添付の特許請求の範囲の一部に明記され得るように、例えば、明示的に上記されているものとは異なる、要素及び／または機能の組み合わせも、また想定される。本書では特定の用語が用いられているが、それらは、一般的かつ解説的な意味でのみ使用されており、限定を目的とするものではない。
【図１】
2020126592.tif 000002
【図２】
2020126592.tif 000003
【図３】
2020126592.tif 000004
【図４】
2020126592.tif 000005
【外国語明細書】
2020126592000001.pdf
2020126592000002.pdf
2020126592000003.pdf
2020126592000004.pdf