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

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

▶ アキリ インタラクティブ ラボ,インコーポレイテッドの特許一覧

特表2023-520791ソフトウェア設計管理および品質保証のためのシステムおよび方法
<>
  • 特表-ソフトウェア設計管理および品質保証のためのシステムおよび方法 図1
  • 特表-ソフトウェア設計管理および品質保証のためのシステムおよび方法 図2
  • 特表-ソフトウェア設計管理および品質保証のためのシステムおよび方法 図3
  • 特表-ソフトウェア設計管理および品質保証のためのシステムおよび方法 図4
  • 特表-ソフトウェア設計管理および品質保証のためのシステムおよび方法 図5
  • 特表-ソフトウェア設計管理および品質保証のためのシステムおよび方法 図6
  • 特表-ソフトウェア設計管理および品質保証のためのシステムおよび方法 図7
  • 特表-ソフトウェア設計管理および品質保証のためのシステムおよび方法 図8
  • 特表-ソフトウェア設計管理および品質保証のためのシステムおよび方法 図9
  • 特表-ソフトウェア設計管理および品質保証のためのシステムおよび方法 図10
  • 特表-ソフトウェア設計管理および品質保証のためのシステムおよび方法 図11
  • 特表-ソフトウェア設計管理および品質保証のためのシステムおよび方法 図12
  • 特表-ソフトウェア設計管理および品質保証のためのシステムおよび方法 図13
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-05-19
(54)【発明の名称】ソフトウェア設計管理および品質保証のためのシステムおよび方法
(51)【国際特許分類】
   G06F 11/36 20060101AFI20230512BHJP
【FI】
G06F11/36 192
G06F11/36 164
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2022559972
(86)(22)【出願日】2021-04-01
(85)【翻訳文提出日】2022-11-28
(86)【国際出願番号】 US2021025377
(87)【国際公開番号】W WO2021202870
(87)【国際公開日】2021-10-07
(31)【優先権主張番号】17/117,050
(32)【優先日】2020-12-09
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】63/003,673
(32)【優先日】2020-04-01
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.JAVA
2.SMALLTALK
(71)【出願人】
【識別番号】522287857
【氏名又は名称】アキリ インタラクティブ ラボ,インコーポレイテッド
(74)【代理人】
【識別番号】100114775
【弁理士】
【氏名又は名称】高岡 亮一
(74)【代理人】
【識別番号】100121511
【弁理士】
【氏名又は名称】小田 直
(74)【代理人】
【識別番号】100202751
【弁理士】
【氏名又は名称】岩堀 明代
(74)【代理人】
【識別番号】100208580
【弁理士】
【氏名又は名称】三好 玲奈
(74)【代理人】
【識別番号】100191086
【弁理士】
【氏名又は名称】高橋 香元
(72)【発明者】
【氏名】ゴットリーブ,カール
(72)【発明者】
【氏名】ツリーズ,ジェイソン
【テーマコード(参考)】
5B042
【Fターム(参考)】
5B042HH04
5B042MA08
5B042MA14
5B042MC37
(57)【要約】
ユーザー活動データ内の刺激反応パターンを分析するための設計管理アーキテクチャおよびソフトウェア品質保証システム。設計管理アーキテクチャおよびソフトウェア品質保証システムは、ユーザー活動データを分類器モデルに従って処理して、ソフトウェア製品の1つ以上の品質尺度に対する漸進的設計変更の影響を評価し得る。ある実施形態によれば、1つ以上の品質尺度は、ソフトウェア製品の1つ以上の特徴と関連付けられた1つ以上の有効性、安全性、および/または性能測定基準を含み得る。ある実施形態では、ソフトウェア製品は、デジタルヘルス介入または医療機器製品としてのソフトウェアを含み得る。
【選択図】図1
【特許請求の範囲】
【請求項1】
ユーザーコンピューティング装置を用いてグラフィカルユーザーインタフェースを介して、ソフトウェアビルドのインスタンスをユーザーに提示することであって、前記ソフトウェアビルドは、1つ以上のコンピュータ制御刺激または相互作用に応答して予期された刺激入力パターンを前記ユーザーから引き出すように構成された前記1つ以上のコンピュータ制御刺激または相互作用を含む少なくとも1つの特徴を含むことと、
前記ユーザーコンピューティング装置と通信可能に係合された少なくとも1つのセンサーを用いて、前記ソフトウェアビルドの前記インスタンス内で前記1つ以上のコンピュータ制御刺激または相互作用の提示に応答して複数のユーザー入力を受信することであって、前記複数のユーザー入力は、前記ソフトウェアビルドのセッションに対するユーザー活動データを含むことと、
前記ユーザーコンピューティング装置と通信可能に係合されたプロセッサを用いて、前記ユーザー活動データを受信することと、
前記プロセッサを用いて、前記ユーザー活動データを少なくとも1つのデータモデルに従って処理して、前記複数のユーザー入力内の各ユーザー入力に対する1つ以上の実際の刺激入力パターンを判断することと、
前記複数のユーザー入力内の各ユーザー入力に対する前記1つ以上の実際の刺激入力パターンを、前記少なくとも1つの特徴に対する前記予期された刺激入力パターンと比較して、前記1つ以上の実際の刺激入力パターンが、前記ソフトウェアビルドの前記セッション内の前記予期された刺激入力パターンを反映していたインスタンスの総数を決定することと、
前記プロセッサを用いて、前記ユーザー活動データに対する少なくとも1つの出力値を前記少なくとも1つのデータモデルに従って計算することであって、前記少なくとも1つの出力値は、前記少なくとも1つの特徴に適したモデルの定性的または定量的程度を含むことと、
前記ソフトウェアビルドに対する合格/不合格状態を前記少なくとも1つの出力値に従って判断することと
を含む、ソフトウェア品質保証のための方法。
【請求項2】
前記プロセッサを用いて、前記ソフトウェアビルドの前記セッション内の正味治療活動の量を、前記1つ以上の実際の刺激入力パターンが前記予期された刺激入力パターンを反映していたインスタンスの前記総数に従って計算することを更に含む、請求項1に記載の方法。
【請求項3】
前記プロセッサを用いて、前記ソフトウェアビルドの前記セッション内の前記少なくとも1つ特徴に対する有効な治療送達の量を、前記1つ以上の実際の刺激入力パターンが前記予期された刺激入力パターンを反映していたインスタンスの前記総数に従って計算することを更に含む、請求項2に記載の方法。
【請求項4】
前記少なくとも1つのデータモデルは、1つ以上の性能、安全性または有効性パラメータと関連付けられた1つ以上の変数を分類するように構成された分類モデルを含む、請求項1に記載の方法。
【請求項5】
前記プロセッサを用いて、前記少なくとも1つの特徴に対する合格/不合格状態を前記少なくとも1つの出力値に従って判断することを更に含む、請求項1に記載の方法。
【請求項6】
前記プロセッサを用いて、前記少なくとも1つの出力値を、前記ソフトウェアビルドの少なくとも1つの以前のバージョンと関連付けられた少なくとも1つの以前の出力値と比較して、前記少なくとも1つの特徴に起因する変化の量を判断することを更に含む、請求項1に記載の方法。
【請求項7】
前記プロセッサを用いて、前記ソフトウェアビルドの前記セッション内の正味治療活動の前記量を、前記ソフトウェアビルドの少なくとも1つの以前のバージョンと関連付けられた正味治療活動の少なくとも1つの以前の量と比較して、前記少なくとも1つの特徴に起因する変化の量を判断することを更に含む、請求項3に記載の方法。
【請求項8】
前記プロセッサを用いて、前記ソフトウェアビルドに対する前記合格/不合格状態を前記ソフトウェアビルドの前記セッション内の正味治療活動の前記量に従って判断することを更に含む、請求項2に記載の方法。
【請求項9】
前記プロセッサを用いて、前記ソフトウェアビルドに対する前記合格/不合格状態を前記ソフトウェアビルドの前記セッション内の前記少なくとも1つの特徴に対する有効な治療送達の前記量に従って判断することを更に含む、請求項3に記載の方法。
【請求項10】
プロセッサと、
前記プロセッサと通信可能に係合されて、プロセッサ実行可能命令で符号化された持続性コンピュータ可読記憶媒体であって、前記プロセッサ実行可能命令は、実行される場合に、前記プロセッサに:
ソフトウェアビルドのインスタンスを含むグラフィカルユーザーインタフェースを提示することであって、前記ソフトウェアビルドは、1つ以上のコンピュータ制御刺激または相互作用に応答して予期された刺激入力パターンをユーザーから引き出すように構成された前記1つ以上のコンピュータ制御刺激または相互作用を含む少なくとも1つの特徴を含むことと、
前記ソフトウェアビルドのセッションに対する複数のユーザー活動データを受信することであって、前記複数のユーザー活動データは、前記1つ以上のコンピュータ制御刺激または相互作用に応答して複数のユーザー入力を含むことと、
前記複数のユーザー活動データを少なくとも1つのデータモデルに従って処理して、前記複数のユーザー入力内の各ユーザー入力に対して1つ以上の実際の刺激入力パターンを判断することと、
前記複数のユーザー入力内の各ユーザー入力に対する前記1つ以上の実際の刺激入力パターンを、前記少なくとも1つの特徴に対する前記予期された刺激入力パターンと比較して、前記1つ以上の実際の刺激入力パターンが、前記ソフトウェアビルドの前記セッション内の前記予期された刺激入力パターンを反映していたインスタンスの総数を決定することと、
前記複数のユーザー活動データに対する少なくとも1つの出力値を前記少なくとも1つのデータモデルに従って計算することであって、前記少なくとも1つの出力値は、前記少なくとも1つの特徴に適したモデルの定性的または定量的程度を含むことと、
前記ソフトウェアビルドに対する合格/不合格状態を前記少なくとも1つの出力値に従って判断することと
を含む1つ以上の動作を実行させる、持続性コンピュータ可読記憶媒体と
を備える、ソフトウェア品質保証のためのシステム。
【請求項11】
前記1つ以上の動作は、前記ソフトウェアビルドの前記セッション内の正味治療活動の量を、前記1つ以上の実際の刺激入力パターンが前記予期された刺激入力パターンを反映していたインスタンスの前記総数に従って計算することを更に含む、請求項10に記載のシステム。
【請求項12】
前記1つ以上の動作は、前記ソフトウェアビルドの前記セッション内の前記少なくとも1つ特徴に対する有効な治療送達の量を、前記1つ以上の実際の刺激入力パターンが前記予期された刺激入力パターンを反映していたインスタンスの前記総数に従って計算することを更に含む、請求項11に記載のシステム。
【請求項13】
前記少なくとも1つのデータモデルは、1つ以上の性能、安全性または有効性パラメータと関連付けられた1つ以上の変数を分類するように構成された分類モデルを含む、請求項10に記載のシステム。
【請求項14】
前記1つ以上の動作は、前記少なくとも1つ特徴に対する合格/不合格状態を前記少なくとも1つの出力値に従って判断することを更に含む、請求項10に記載のシステム。
【請求項15】
前記1つ以上の動作は、前記少なくとも1つの出力値を、前記ソフトウェアビルドの少なくとも1つの以前のバージョンと関連付けられた少なくとも1つの以前の出力値と比較して、前記少なくとも1つの特徴に起因する変化の量を判断することを更に含む、請求項10に記載のシステム。
【請求項16】
前記1つ以上の動作は、前記ソフトウェアビルドの前記セッション内の正味治療活動の前記量を、前記ソフトウェアビルドの少なくとも1つの以前のバージョンと関連付けられた正味治療活動の少なくとも1つの以前の量と比較して、前記少なくとも1つの特徴に起因する変化の量を判断することを更に含む、請求項12に記載のシステム。
【請求項17】
前記1つ以上の動作は、前記ソフトウェアビルドに対する前記合格/不合格状態を前記ソフトウェアビルドの前記セッション内の正味治療活動の前記量に従って判断することを更に含む、請求項11に記載のシステム。
【請求項18】
前記1つ以上の動作は、前記ソフトウェアビルドに対する前記合格/不合格状態を前記ソフトウェアビルドの前記セッション内の前記少なくとも1つの特徴に対する有効な治療送達の前記量に従って判断することを更に含む、請求項12に記載のシステム。
【請求項19】
前記1つ以上の動作は、前記ソフトウェアビルドに対する前記合格/不合格状態を前記1つ以上のコンピュータ制御刺激または相互作用と関連付けられた少なくとも1つの安全性パラメータに従って判断することを更に含む、請求項10に記載のシステム。
【請求項20】
1つ以上のプロセッサにソフトウェア品質保証のための動作を実行することを指示するための命令で符号化された持続性コンピュータ可読記憶媒体であって、前記動作は、
ソフトウェアビルドのインスタンスを含むグラフィカルユーザーインタフェースを提示することであって、前記ソフトウェアビルドは、1つ以上のコンピュータ制御刺激または相互作用に応答して予期された刺激入力パターンをユーザーから引き出すように構成された前記1つ以上のコンピュータ制御刺激または相互作用を含む少なくとも1つの特徴を含むことと、
前記ソフトウェアビルドのセッションに対する複数のユーザー活動データを受信することであって、前記複数のユーザー活動データは、前記1つ以上のコンピュータ制御刺激または相互作用に応答して複数のユーザー入力を含むことと、
前記複数のユーザー活動データを少なくとも1つのデータモデルに従って処理して、前記複数のユーザー入力内の各ユーザー入力に対して1つ以上の実際の刺激入力パターンを判断することと、
前記複数のユーザー入力内の各ユーザー入力に対する前記1つ以上の実際の刺激入力パターンを、前記少なくとも1つの特徴に対する前記予期された刺激入力パターンと比較して、前記1つ以上の実際の刺激入力パターンが、前記ソフトウェアビルドの前記セッション内の前記予期された刺激入力パターンを反映していたインスタンスの総数を決定することと、
前記複数のユーザー活動データに対する少なくとも1つの出力値を前記少なくとも1つのデータモデルに従って計算することであって、前記少なくとも1つの出力値は、前記少なくとも1つの特徴に適したモデルの定性的または定量的程度を含むことと、
前記ソフトウェアビルドに対する合格/不合格状態を前記少なくとも1つの出力値に従って判断することと
を含む、
持続性コンピュータ可読記憶媒体。
【請求項21】
前記動作は、前記ソフトウェアビルドの前記セッション内の正味治療活動の量を、前記1つ以上の実際の刺激入力パターンが前記予期された刺激入力パターンを反映していたインスタンスの前記総数に従って計算することを更に含む、請求項20に記載の持続性コンピュータ可読記憶媒体。
【請求項22】
前記動作は、前記ソフトウェアビルドの前記セッション内の前記少なくとも1つ特徴に対する有効な治療送達の量を、前記1つ以上の実際の刺激入力パターンが前記予期された刺激入力パターンを反映していたインスタンスの前記総数に従って計算することを更に含む、請求項21に記載の持続性コンピュータ可読記憶媒体。
【請求項23】
前記少なくとも1つのデータモデルは、1つ以上の性能、安全性または有効性パラメータと関連付けられた1つ以上の変数を分類するように構成された分類モデルを含む、請求項20に記載の持続性コンピュータ可読記憶媒体。
【請求項24】
前記動作は、前記少なくとも1つの特徴に対する合格/不合格状態を前記少なくとも1つの出力値に従って判断することを更に含む、請求項20に記載の持続性コンピュータ可読記憶媒体。
【請求項25】
前記動作は、前記少なくとも1つの出力値を、前記ソフトウェアビルドの少なくとも1つの以前のバージョンと関連付けられた少なくとも1つの以前の出力値と比較して、前記少なくとも1つの特徴に起因する変化の量を判断することを更に含む、請求項20に記載の持続性コンピュータ可読記憶媒体。
【請求項26】
前記動作は、前記ソフトウェアビルドの前記セッション内の正味治療活動の前記量を、前記ソフトウェアビルドの少なくとも1つの以前のバージョンと関連付けられた正味治療活動の少なくとも1つの以前の量と比較して、前記少なくとも1つの特徴に起因する変化の量を判断することを更に含む、請求項22に記載の持続性コンピュータ可読記憶媒体。
【請求項27】
前記動作は、前記ソフトウェアビルドに対する前記合格/不合格状態を前記ソフトウェアビルドの前記セッション内の正味治療活動の前記量に従って判断することを更に含む、請求項21に記載の持続性コンピュータ可読記憶媒体。
【請求項28】
前記動作は、前記ソフトウェアビルドに対する前記合格/不合格状態を前記ソフトウェアビルドの前記セッション内の前記少なくとも1つの特徴に対する有効な治療送達の前記量に従って判断することを更に含む、請求項22に記載の持続性コンピュータ可読記憶媒体。
【請求項29】
前記1つ以上の動作は、前記ソフトウェアビルドに対する前記合格/不合格状態を前記1つ以上のコンピュータ制御刺激または相互作用と関連付けられた少なくとも1つの安全性パラメータに従って判断することを更に含む、請求項20に記載の持続性コンピュータ可読記憶媒体。
【請求項30】
1つ以上のプロセッサに、請求項1~請求項9のいずれか1項に記載の方法を実行するための動作を実行するように指示するための命令で符号化された持続性コンピュータ可読記憶媒体。
【請求項31】
ソフトウェア品質保証を実行するためのシステムであって、
プロセッサと、
前記プロセッサと通信可能に係合されて、プロセッサ実行可能命令で符号化された、持続性コンピュータ可読記憶媒体であって、前記プロセッサ実行可能命令は、実行される場合に、前記プロセッサに、請求項1~請求項9のいずれか1項に記載の方法を実行するための1つ以上の動作を実行させる、持続性コンピュータ可読記憶媒体と
を備える、システム。
【請求項32】
ソフトウェア品質保証を実行するための装置であって、
プロセッサと、
前記プロセッサと通信可能に係合されて、プロセッサ実行可能命令で符号化された、持続性コンピュータ可読記憶媒体であって、前記プロセッサ実行可能命令は、実行される場合に、前記プロセッサに、請求項1~請求項9のいずれか1項に記載の方法を実行するための1つ以上の動作を実行させる、持続性コンピュータ可読記憶媒体と
を備える、装置。
【請求項33】
前記ソフトウェアビルドに対する前記合格/不合格状態を前記1つ以上のコンピュータ制御刺激または相互作用と関連付けられた少なくとも1つの安全性パラメータに従って判断することを更に含む、請求項1~請求項9のいずれか1項に記載の方法。
【請求項34】
前記少なくとも1つのデータモデルは、1つ以上の性能、安全性または有効性パラメータと関連付けられた1つ以上の変数を分類するように構成された分類モデルを含む、請求項1~請求項3のいずれか1項に記載の方法。
【請求項35】
前記プロセッサを用いて、前記少なくとも1つ特徴に対する合格/不合格状態を前記少なくとも1つの出力値に従って判断することを更に含む、請求項1~請求項4のいずれか1項に記載の方法。
【請求項36】
前記プロセッサを用いて、前記少なくとも1つの出力値を、前記ソフトウェアビルドの少なくとも1つの以前のバージョンと関連付けられた少なくとも1つの以前の出力値と比較して、前記少なくとも1つの特徴に起因する変化の量を判断することを更に含む、請求項1~請求項5のいずれか1項に記載の方法。
【請求項37】
前記プロセッサを用いて、前記ソフトウェアビルドの前記セッション内の正味治療活動の前記量を、前記ソフトウェアビルドの少なくとも1つの以前のバージョンと関連付けられた正味治療活動の少なくとも1つの以前の量と比較して、前記少なくとも1つの特徴に起因する変化の量を判断することを更に含む、請求項1~請求項6のいずれか1項に記載の方法。
【請求項38】
前記プロセッサを用いて、前記ソフトウェアビルドに対する前記合格/不合格状態を前記ソフトウェアビルドの前記セッション内の正味治療活動の前記量に従って判断することを更に含む、請求項1~請求項7のいずれか1項に記載の方法。
【請求項39】
前記プロセッサを用いて、前記ソフトウェアビルドに対する前記合格/不合格状態を前記ソフトウェアビルドの前記セッション内の前記少なくとも1つの特徴に対する有効な治療送達の前記量に従って判断することを更に含む、請求項1~請求項8のいずれか1項に記載の方法。
【請求項40】
1つ以上のプロセッサに、請求項32~請求項39のいずれか1項に記載の方法を実行するための動作を実行するように指示するための命令で符号化された持続性コンピュータ可読記憶媒体。
【請求項41】
ソフトウェア品質保証を実行するためのシステムであって、
プロセッサと、
前記プロセッサと通信可能に係合されて、プロセッサ実行可能命令で符号化された、持続性コンピュータ可読記憶媒体であって、前記プロセッサ実行可能命令は、実行される場合に、前記プロセッサに、請求項32~請求項39のいずれか1項に記載の方法を実行するための1つ以上の動作を実行させる、持続性コンピュータ可読記憶媒体と
を備える、システム。
【請求項42】
ソフトウェア品質保証を実行するための装置であって、
プロセッサと、
前記プロセッサと通信可能に係合されて、プロセッサ実行可能命令で符号化された、持続性コンピュータ可読記憶媒体であって、前記プロセッサ実行可能命令は、実行される場合に、前記プロセッサに、請求項32~請求項39のいずれか1項に記載の方法を実行するための1つ以上の動作を実行させる、持続性コンピュータ可読記憶媒体と
を備える、装置。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2020年12月9日に出願された米国出願第17/117,050号および2020年4月1日に出願された米国仮出願第63/003,673号の優先権利益を主張し、それら各々の全体は少なくとも参照により本明細書に組み込まれる。
【0002】
本開示は、ソフトウェア品質保証システムの分野、具体的には、プログラムコードビルドと関連付けられた1つ以上の性能測定基準を評価、測定および/または検証するためにユーザー検査データにおける刺激入力パターンの手続き的分析のためのシステムおよび方法に関する。
【背景技術】
【0003】
品質保証は多くの場合、ソフトウェアの開発で不可欠な部分である。例えば、品質保証要員は、新しく開発されたソフトウェアを検査し、ソフトウェア内に含まれている欠陥を識別して、そのソフトウェアがエンドユーザーにリリースされるために十分に高い品質であるかどうかを判断し得る。ソフトウェア品質保証は、要件定義、ソフトウェア設計、コーディング、コードレビュー、ソースコード管理、ソフトウェア構成管理、検査、リリース管理および製品統合を含む、ソフトウェア開発プロセス全体を包含し得る。ソフトウェア品質保証プロセスは、目標、コミットメント、能力、活動、測定および検証にまとめられ得る。
【0004】
ソフトウェアはヘルスケア製品開発のますます重要な領域である。ヘルスケア製品開発の拡大している領域は、デジタルヘルス介入(すなわち、スマートフォン、モバイルコンピューティング装置、ウェアラブル電子機器、および同様のものなどのデジタル技術を介して提供される介入)の領域であり、健康およびヘルスケアを改善するために効果的で、費用効率が高く、安全で拡張性のある介入を提供する。デジタルヘルス介入(DHI)および医療機器としてのソフトウェア(SaMD)は、循環器疾患、糖尿病およびメンタルヘルス状態などの長期にわたる状態をもつ人々において、健康的な挙動を促進し、結果を改善して、効果的な治療法、例えば、メンタルヘルスおよび身体的問題に対するコンピュータ制御された認知行動療法、へのリモートアクセスを提供するために使用できる。医療機器としてのソフトウェア(SaMD)は、国際医療機器規制当局フォーラム(IMDRF)により「1つ以上の医療目的のために使用されることを意図し、ハードウェア医療機器の一部であることなくこれらの目的を実行するソフトウェア」として定義される。DHIは多くの場合、複数の構成要素を備えた複雑な介入であり、多くは、ユーザーが、自分の健康についてより良く情報が与えられて、似通った立場にある他者と経験を共有し、健康に関する認識および認知を変え、指定された健康状態または健康挙動を評価および監視して、薬物を滴定し、健康の優先事項を明確にして、これらと合致する治療法の決定に至り、患者と医療専門家(HCP)との間のコミュニケーションを改善するのを可能にすることを含む、複数の目的を有する。有効な構成要素は、情報、心理教育、個人的な話、正式決定支援、挙動変化サポート、HCPおよび他の患者とのやり取り、自己評価または監視ツール(認知行動療法またはマインドフルネス訓練などの対面送達のために開発されたアンケート、ウェアラブル、モニター、および有効な理論に基づいた心理学的介入)を含み得る。あるDHIおよびSaMD製品は、単に治療全体の一構成要素ではなく、1つ以上の神経学的、心理学的および/もしくは身体的状態、疾病、ならびに/または障害に関連した1つ以上の神経回路の治療および/または標的化においてそれ自体直接的に治療効果のあるソフトウェアを含み得る。
【0005】
SaMDおよびDHIソフトウェア製品の特有の性質は、ビジネスまたは消費者向けソフトウェア製品と比較して、ソフトウェア開発およびソフトウェア品質保証ポリシー、プロセスならびに標準に関して特定の難題をもたらす。払われた努力、工夫、および革新を通して、出願人は従来技術のソリューションの欠陥を識別し、以下で詳細に説明される、本開示によって具現化されるソリューションを開発した。
【発明の概要】
【発明が解決しようとする課題】
【0006】
本発明の基本的な理解を提供するために、以下は、本発明のある実施形態の簡略化された概要である。本概要は、広範ではなく、本発明の鍵となる/重要な要素を識別することも、本発明の範囲を線引きすることも意図していない。その唯一の目的は、本発明の実施形態を、更に以下のより詳細な記述への序曲として簡略化された形式で提示することである。
【0007】
本開示の目的は、ソフトウェア製品の1つ以上の特徴の有効性、安全性、および/または性能を評価するためにユーザー活動データにおける刺激反応パターンを分析するための設計管理アーキテクチャおよび品質保証システムを含む。更なる目的は、ソフトウェア製品の有効性、安全性、および/または性能への漸進的設計変更の影響を評価するための設計管理アーキテクチャおよび品質保証システムを含む。本開示のある態様は、ソフトウェア設計、コーディング、コードレビュー、ソースコード管理、ソフトウェア構成管理、検査、リリース管理および製品統合を含む、DHIまたはSaMDのための1つ以上のソフトウェア開発プロセスを監視および構成するための設計管理アーキテクチャおよび品質保証システム/方法を提供する。
【0008】
本開示の目的は、DHIまたはSaMDの性能を測定するためのシステムおよび方法を含む。更なる目的は、DHIまたはSaMDの治療活動および/もしくは有効性の量を測定ならびに/または定量化するためのシステムおよび方法を含む。本開示のある態様は、ユーザーの1つ以上の神経学的、心理学的および/もしくは身体的状態、疾病、ならびに/または障害に関連した1つ以上の神経回路を治療および/または標的にするためにDHIまたはSaMDの有効性を測定および/または検証するためのシステムおよび方法を含み得る。更なる目的は、DHIまたはSaMDの1つ以上の個々の特徴または態様の治療活動および/もしくは有効性の量を測定ならびに/または定量化するためのシステムおよび方法を含む。更なる目的は、ユーザーの1つ以上の神経学的、心理学的および/もしくは身体的状態、疾病、ならびに/または障害に関連した1つ以上の神経回路を治療および/または標的にするためのDHIまたはSaMDの有効性への漸進的設計変更の影響を評価するためのシステムおよび方法を含む。
【0009】
本開示の目的は、DHIまたはSaMD製品の1つ以上のインスタンスもしくはセッションから生じたユーザー活動データにおける1つ以上のパターンを分析するためのシステムおよび方法を含む。ある実施形態によれば、1つ以上のパターンは、1つ以上の臨床的に検証された刺激反応パターンを含み得る。本開示のある実施形態は、ユーザー入力を1つ以上のカテゴリに分類および/またはマッピングするための機械学習フレームワーク、分類器モデル、および/または分類アルゴリズムを含み得る。ある実施形態では、1つ以上のカテゴリは、DHIまたはSaMD製品の1つ以上の安全性、有効性、または性能態様に対応し得る。
【課題を解決するための手段】
【0010】
本開示のある態様は、ソフトウェア品質保証のためのプロセッサ実装方法を提供し、コンピューティング装置を用いて、ソフトウェアビルドの検査インスタンスをユーザーに提示することであって、ソフトウェアビルドは、1つ以上のコンピュータ制御刺激または相互作用をグラフィカルユーザーインタフェースを介してユーザーに提示するように構成された少なくとも1つのテスト特徴を含むこと;コンピューティング装置を用いて、1つ以上のコンピュータ制御刺激または相互作用に応答して1つ以上のユーザー入力を受信することであって、1つ以上のユーザー入力はユーザー活動データを含むこと;コンピューティング装置と通信可能に係合されたプロセッサを用いて、ユーザー活動データを受信すること;プロセッサを用いて、活動データを分類するための少なくとも1つの分類モデルに従ってユーザー活動データを処理することであって、少なくとも1つの分類モデルは、標的とされた刺激反応パターンと関連付けられた1つ以上の変数を分類するように構成されていること;ユーザー活動データと1つ以上のコンピュータ制御刺激または相互作用との間で刺激入力パターンを分析してソフトウェアビルドに対する1つ以上の性能測定基準を決定することであって、1つ以上の性能測定基準は、少なくとも1つのテスト特徴の有効性の尺度を含むこと;ならびに、1つ以上の性能測定基準に従ってソフトウェアビルドを評価してソフトウェアビルドの合格/不合格状態を最小性能閾値に従って判断すること、を含む。
【0011】
本開示の前記態様によれば、ソフトウェア品質保証のための前記方法は、1つ以上の性能測定基準に従ってソフトウェアビルドを評価して、少なくとも1つのテスト特徴の合格/不合格状態を最小性能閾値に従って判断することを更に含み得る。本方法は、ソフトウェアビルドに対する1つ以上の性能測定基準を以前の、または後続のソフトウェアビルドからの1つ以上の性能測定基準と比較して、1つ以上の性能測定基準における変化の量を判断することを更に含み得る。ある実施形態では、1つ以上の性能測定基準は、ソフトウェアビルドの検査インスタンスに応答してユーザーによって受け取られる有効な治療送達の量を含む。
【0012】
本開示の前記態様によれば、ソフトウェア品質保証のための方法は、ユーザー活動データおよび1つ以上の性能測定基準をグラフィカルユーザーインタフェースを介して管理者ユーザーに提示することを更に含み得、グラフィカルユーザーインタフェースは、少なくとも1つのテスト特徴の評価のために1つ以上のユーザークエリーを受信するように構成される。ある実施形態では、1つ以上の性能測定基準は、少なくとも1つのテスト特徴および/またはソフトウェアビルドの安全性の尺度を含む。ある実施形態では、1つ以上のコンピュータ制御刺激または相互作用は、ユーザーの1つ以上の神経学的、心理学的または身体的状態を有効に治療または標的にするように構成され得る。前記実施形態によれば、有効性の尺度は、ユーザーの1つ以上の神経学的、心理学的または身体的状態に対する治療処置の程度に対応し得る。前記実施形態に更によれば、少なくとも1つの分類モデルは、ユーザーの1つ以上の神経学的、心理学的および/もしくは身体的状態の治療または標的設定と関連付けられた1つ以上の変数を分類するように構成され得る。
【0013】
本開示の更なる態様は、ソフトウェア品質保証のためのプロセッサ実装システムを提供し、少なくとも1つのプロセッサを含む少なくとも1つのサーバーであって、少なくとも1つのサーバーは、ソフトウェアビルドの検査インスタンス内で提示されている1つ以上のコンピュータ制御刺激または相互作用に応答して複数のユーザー生成入力を受信するために1つ以上のコンピューティング装置と通信可能に係合されており、複数のユーザー生成入力は、ユーザー活動データを含むこと、ならびに少なくとも1つのプロセッサと作動可能に係合されて、コンピュータ実行可能命令で符号化された持続性コンピュータ可読記憶媒体であって、コンピュータ実行可能命令は、少なくとも1つのプロセッサによって実行される場合に:ユーザー活動データを受信すること;ユーザー活動データを分類するための少なくとも1つの分類モデルに従ってユーザー活動データを処理することであって、少なくとも1つの分類モデルは、標的とされた刺激反応パターンと関連付けられた1つ以上の変数を分類するように構成されていること;ユーザー活動データと1つ以上のコンピュータ制御刺激または相互作用との間で少なくとも1つの刺激入力パターンを分析してソフトウェアビルドに対する1つ以上の性能測定基準を決定することであって、1つ以上の性能測定基準は、少なくとも1つのテスト特徴の安全性、性能または有効性の尺度を含むこと;および、1つ以上の性能測定基準に従ってソフトウェアビルドを評価してソフトウェアビルドの合格/不合格状態を最小性能閾値に従って判断すること、のために1つ以上の動作を実行すること、を含む。
【0014】
本開示の前記態様によれば、ソフトウェア品質保証のためのシステムは、分類モデルが、アンサンブル学習モデルおよび/または教師あり学習モデルを含む少なくとも1つの機械学習フレームワークを含むように更に構成され得る。ある実施形態によれば、本システムは、分類モデルがランダムフォレストアルゴリズムまたはランダム決定フォレストアルゴリズムを含むように更に構成され得る。本システムは、少なくとも1つのサーバーが、複数のユーザー生成入力を受信するためにアプリケーションプログラムインタフェースを介して少なくとも1つの外部サーバーと通信可能に係合されるように更に構成され得る。
【0015】
ある実施形態によれば、ソフトウェア品質保証のためのシステムは、コンピュータ実行可能命令が、ユーザー活動データおよび1つ以上の性能測定基準をグラフィカルユーザーインタフェースを介して管理者ユーザーに提示するための動作を更に含むように更に構成され得る。本システムは、コンピュータ実行可能命令が、ソフトウェアビルドに対する1つ以上の性能測定基準を、以前の、または後続のソフトウェアビルドと比較して、1つ以上の性能測定基準における変化の量を判断するための動作を更に含むように更に構成され得る。本システムは、コンピュータ実行可能命令が、1つ以上のコンピュータ制御刺激または相互作用に応答してユーザーによって受け取られる有効な治療送達の量を決定するための動作を更に含むように更に構成され得る。
【0016】
ある実施形態によれば、ソフトウェア品質保証のためのシステムは、コンピュータ実行可能命令が、ソフトウェアビルドに対する1つ以上の性能測定基準を、以前の、または後続のソフトウェアビルドからの1つ以上の性能測定基準と比較して、少なくとも1つのテスト特徴と1つ以上の性能測定基準との間の因果関係を分析するための動作を更に含むように更に構成され得る。本システムは、少なくとも1つのテスト特徴が、少なくとも1つのテスト特徴の以前のバージョンからの設計変更または変動を更に含むように更に構成され得る。ある実施形態によれば、コンピュータ実行可能命令は、設計変更または変動と1つ以上の性能測定基準との間の因果関係を分析するための動作を更に含み得る。
【0017】
本開示のなお更なる態様は、1つ以上のプロセッサにソフトウェア品質保証のための動作を実行するように指示するための命令で符号化された持続性コンピュータ可読記憶媒体を提供し、動作は、ソフトウェアビルドの検査インスタンス内で提示されている1つ以上のコンピュータ制御刺激または相互作用に応答して複数のユーザー生成入力を受信することであって、複数のユーザー生成入力はユーザー活動データを含むこと;ユーザー活動データを分類するための少なくとも1つの分類モデルに従ってユーザー活動データを処理することであって、少なくとも1つの分類モデルは標的とされた刺激反応パターンと関連付けられた1つ以上の変数を分類するように構成されていること;ユーザー活動データと1つ以上のコンピュータ制御刺激または相互作用との間で少なくとも1つの刺激反応パターンを分析してソフトウェアビルドに対する1つ以上の性能測定基準を決定することであって、1つ以上の性能測定基準は、少なくとも1つのテスト特徴の安全性、性能または有効性の尺度を含むこと;および、1つ以上の性能測定基準に従ってソフトウェアビルドを評価してソフトウェアビルドの合格/不合格状態を最小性能閾値に従って判断すること、を含む。
【0018】
本開示のなお更なる態様は、ソフトウェア品質保証のための方法を提供し、ユーザーコンピューティング装置を用いてグラフィカルユーザーインタフェースを介して、ソフトウェアビルドのインスタンスをユーザーに提示することであって、ソフトウェアビルドは、1つ以上のコンピュータ制御刺激または相互作用に応答して予期された刺激入力パターンをユーザーから引き出すように構成された1つ以上のコンピュータ制御刺激または相互作用を含む少なくとも1つの特徴を含むこと;ユーザーコンピューティング装置と通信可能に係合された少なくとも1つのセンサーを用いて、ソフトウェアビルドのインスタンス内での1つ以上のコンピュータ制御刺激または相互作用の提示に応答して複数のユーザー入力を受信することであって、複数のユーザー入力は、ソフトウェアビルドのセッションに対するユーザー活動データを含むこと;コンピューティング装置と通信可能に係合されたプロセッサを用いて、ユーザー活動データを受信すること;プロセッサを用いて、ユーザー活動データを少なくとも1つのデータモデルに従って処理して、複数のユーザー入力内の各ユーザー入力に対する1つ以上の実際の刺激入力パターンを判断すること;複数のユーザー入力内の各ユーザー入力に対する1つ以上の実際の刺激入力パターンを少なくとも1つの特徴に対する予期された刺激入力パターンと比較して、1つ以上の実際の刺激入力パターンが、ソフトウェアビルドのセッション内の予期された刺激入力パターンを反映していたインスタンスの総数を決定すること;プロセッサを用いて、ユーザー活動データに対する少なくとも1つの出力値を少なくとも1つのデータモデルに従って計算することであって、少なくとも1つの出力値は、少なくとも1つの特徴に適したモデルの定性的または定量的程度を含むこと;およびソフトウェアビルドに対する合格/不合格状態を少なくとも1つの出力値に従って判断すること、を含む。
【0019】
本開示の前記態様によれば、ソフトウェア品質保証のための前記方法は、ソフトウェアビルドのセッション内の正味治療活動の量を、1つ以上の実際の刺激入力パターンが予期された刺激入力パターンを反映していたインスタンスの総数に従って計算することを更に含み得る。本方法は、ソフトウェアビルドのセッション内の少なくとも1つの特徴に対する有効な治療送達の量を、1つ以上の実際の刺激入力パターンが予期された刺激入力パターンを反映していたインスタンスの総数に従って計算することを更に含み得る。ある実施形態によれば、少なくとも1つのデータモデルは、1つ以上の性能、安全性または有効性パラメータと関連付けられた1つ以上の変数を分類するように構成された分類モデルを含み得る。ある実施形態によれば、本方法は、少なくとも1つの特徴に対する合格/不合格状態を少なくとも1つの出力値に従って判断することをさらに含み得る。本方法は、少なくとも1つの出力値を、ソフトウェアビルドの少なくとも1つの以前のバージョンと関連付けられた少なくとも1つの以前の出力値と比較して、少なくとも1つの特徴に起因する変化の量を判断することを更に含み得る。本方法は、ソフトウェアビルドのセッション内の正味治療活動の量を、ソフトウェアビルドの少なくとも1つの以前のバージョンと関連付けられた正味治療活動の少なくとも1つの以前の量と比較して、少なくとも1つの特徴に起因する変化の量を判断することを更に含み得る。本方法は、ソフトウェアビルドに対する合格/不合格状態をソフトウェアビルドのセッション内の正味治療活動の量に従って判断することを更に含み得る。本方法は、ソフトウェアビルドに対する合格/不合格状態をソフトウェアビルドのセッション内の少なくとも1つの特徴に対する有効な治療送達の量に従って判断することを更に含み得る。
【0020】
本開示のなお更なる態様は、ソフトウェア品質保証のためのシステムを提供し、プロセッサ;ならびにプロセッサと通信可能に係合されて、プロセッサ実行可能命令で符号化された、持続性コンピュータ可読記憶媒体であって、プロセッサ実行可能命令は、実行される場合に、プロセッサに、ソフトウェアビルドのインスタンスを含むグラフィカルユーザーインタフェースを提示することであって、ソフトウェアビルドは、1つ以上のコンピュータ制御刺激または相互作用に応答して予期された刺激入力パターンをユーザーからから引き出すように構成された1つ以上のコンピュータ制御刺激または相互作用を含む少なくとも1つの特徴を含むこと;ソフトウェアビルドのセッションに対する複数のユーザー活動データを受信することであって、複数のユーザー活動データは、1つ以上のコンピュータ制御刺激または相互作用に応答して複数のユーザー入力を含むこと;複数のユーザー活動データを少なくとも1つデータモデルに従って処理して、複数のユーザー入力内の各ユーザー入力に対して1つ以上の実際の刺激入力パターンを判断すること;複数のユーザー入力内の各ユーザー入力に対する1つ以上の実際の刺激入力パターンを少なくとも1つの特徴に対する予期された刺激入力パターンと比較して、1つ以上の実際の刺激入力パターンが、ソフトウェアビルドのセッション内の予期された刺激入力パターンを反映していたインスタンスの総数を決定すること;複数のユーザー活動データに対する少なくとも1つの出力値を少なくとも1つのデータモデルに従って計算することであって、少なくとも1つの出力値は、少なくとも1つの特徴に適したモデルの定性的または定量的程度を含むこと;およびソフトウェアビルドに対する合格/不合格状態を少なくとも1つの出力値に従って判断すること、を含む1つ以上の動作を実行させること、を含む。
【0021】
本開示の前記態様によれば、ソフトウェア品質保証のためのシステムは、1つ以上の動作が、ソフトウェアビルドのセッション内の正味治療活動の量を、1つ以上の実際の刺激入力パターンが予期された刺激入力パターンを反映していたインスタンスの総数に従って計算することを更に含むように更に構成され得る。ある実施形態では、1つ以上の動作は、ソフトウェアビルドのセッション内の少なくとも1つ特徴に対する有効な治療送達の量を、1つ以上の実際の刺激入力パターンが予期された刺激入力パターンを反映していたインスタンスの総数に従って計算することを更に含み得る。ある実施形態では、少なくとも1つデータモデルは、1つ以上の性能、安全性または有効性パラメータと関連付けられた1つ以上の変数を分類するように構成された分類モデルを含み得る。ある実施形態では、1つ以上の動作は、少なくとも1つ特徴に対する合格/不合格状態を少なくとも1つの出力値に従って判断することを更に含み得る。ある実施形態では、1つ以上の動作は、少なくとも1つの出力値を、ソフトウェアビルドの少なくとも1つの以前のバージョンと関連付けられた少なくとも1つの以前の出力値と比較して、少なくとも1つの特徴に起因する変化の量を判断することを更に含み得る。
【0022】
ある実施形態では、1つ以上の動作は、ソフトウェアビルドのセッション内の正味治療活動の量を、ソフトウェアビルドの少なくとも1つの以前のバージョンと関連付けられた正味治療活動の少なくとも1つの以前の量と比較して、少なくとも1つの特徴に起因する変化の量を判断することを更に含み得る。ある実施形態では、1つ以上の動作は、ソフトウェアビルドに対する合格/不合格状態をソフトウェアビルドのセッション内の正味治療活動の量に従って判断することを更に含み得る。ある実施形態では、1つ以上の動作は、ソフトウェアビルドに対する合格/不合格状態をソフトウェアビルドのセッション内の少なくとも1つの特徴に対する有効な治療送達の量に従って判断することを更に含み得る。ある実施形態では、1つ以上の動作は、ソフトウェアビルドに対する合格/不合格状態を1つ以上のコンピュータ制御刺激または相互作用と関連付けられた少なくとも1つの安全性パラメータに従って判断することを更に含み得る。
【0023】
本開示のなお更なる態様は、1つ以上のプロセッサにソフトウェア品質保証のための動作を実行するように指示するための命令で符号化された持続性コンピュータ可読記憶媒体を提供し、動作は、ソフトウェアビルドのインスタンスを含むグラフィカルユーザーインタフェースを提示することであって、ソフトウェアビルドは、1つ以上のコンピュータ制御刺激または相互作用に応答して予期された刺激入力パターンをユーザーからから引き出すように構成された1つ以上のコンピュータ制御刺激または相互作用を含む少なくとも1つの特徴を含むこと;ソフトウェアビルドのセッションに対する複数のユーザー活動データを受信することであって、複数のユーザー活動データは、1つ以上のコンピュータ制御刺激または相互作用に応答して複数のユーザー入力を含むこと;複数のユーザー活動データを少なくとも1つのデータモデルに従って処理して、複数のユーザー入力内の各ユーザー入力に対して1つ以上の実際の刺激入力パターンを判断すること;複数のユーザー入力内の各ユーザー入力に対する1つ以上の実際の刺激入力パターンを少なくとも1つの特徴に対する予期された刺激入力パターンと比較して、1つ以上の実際の刺激入力パターンが、ソフトウェアビルドのセッション内の予期された刺激入力パターンを反映していたインスタンスの総数を決定すること;複数のユーザー活動データに対する少なくとも1つの出力値を少なくとも1つのデータモデルに従って計算することであって、少なくとも1つの出力値は、少なくとも1つの特徴に適したモデルの定性的または定量的程度を含むこと;およびソフトウェアビルドに対する合格/不合格状態を少なくとも1つの出力値に従って判断すること、を含む。
【0024】
前述は、以下に続く本発明の詳細な説明がより良く理解され得るように本発明のより関連があって重要な特徴をかなり広範に概説しており、そのため、当技術分野に対する本寄与がより完全に理解できる。本発明の追加の特徴は以下で説明されて、本発明のクレームの主題を形成する。概念ならびに開示される特定の方法および構造は、本発明の同じ目的を実行するための他の構造を変更または設計するための基礎として容易に利用され得ることが当業者によって理解されよう。かかる等価構成は本発明の精神および範囲から逸脱しないことが当業者によって認識されよう。
【0025】
当業者は、本明細書で説明される図は、説明のためだけであることを理解するであろう。いくつかの場合、説明される実施態様の様々な態様は、説明される実施態様の理解を促進するために誇張して、または拡大して示され得ることが理解されるはずである。図面では、同様の参照文字は一般に、様々な図面を通して、同様の特徴、機能的に類似した、および/または構造的に類似した要素を指す。図面は必ずしも原寸に比例しておらず、代わりに、教示の原理の説明に重点が置かれている。図面は、本教示の範囲をいかなる方法によっても制限することを意図していない。本システムおよび方法は、以下の図面を参照して、以下の典型的な説明からより良く理解され得る。
【図面の簡単な説明】
【0026】
図1】本開示のある態様が実装され得る典型的なコンピューティングシステムの機能ブロック図である。
図2】本開示のある態様に従った、ソフトウェア設計管理システムのアーキテクチャ図である。
図3】本開示のある態様に従った、ソフトウェア設計管理システムの機能ブロック図である。
図4】本開示のある態様に従った、ソフトウェア設計管理システムの機能ブロック図である。
図5】本開示のある態様に従った、ソフトウェア設計管理システムの機能ブロック図である。
図6】本開示のある態様に従った、ソフトウェア設計管理および品質保証のためのシステムおよび方法のプロセスフロー図である。
図7】本開示のある態様に従った、ソフトウェア設計管理システムの機能ブロック図である。
図8】本開示のある態様に従った、ソフトウェア設計管理システム内のユーザー活動データを分類するためのルーチンの機能ブロック図である。
図9】本開示のある態様に従った、ソフトウェア設計管理システム内のソフトウェアビルドの合格/不合格状態を判断するためのルーチンの機能ブロック図である。
図10】本開示のある態様に従った、ソフトウェア設計管理システム内の設計変更の影響を判断するためのルーチンの機能ブロック図である。
図11】本開示のある態様に従った、ソフトウェア設計管理および品質保証のための方法のプロセスフロー図である。
図12】本開示のある態様に従った、ソフトウェア設計管理および品質保証のための方法のプロセスフロー図である。
図13】本開示のある態様に従った、ソフトウェア設計管理および品質保証のための方法のプロセスフロー図である。
【発明を実施するための形態】
【0027】
以下で更に詳細に説明される概念の全ての組合せは(かかる概念が矛盾しないという条件で)、本明細書で開示される発明の主題の部分として企図されることが理解されよう。
参照により組み込まれる任意の開示にも出現し得る本明細書で明示的に採用された用語は、本明細書で開示される特定の概念と最も一致する意味を与えられるべきであることも理解されよう。
【0028】
以下は、発明の方法、装置、システムおよびその上に格納された命令を有する持続性コンピュータ可読記憶媒体に関連する様々な概念、およびそれらの実施形態のより詳細な記述であり、持続性コンピュータ可読記憶媒体上に格納された命令は、1つ以上の前記方法、装置、ならびにシステムが、コンピューティング装置を用いて、ソフトウェアビルドの検査インスタンスをユーザーに提示することであって、ソフトウェアビルドは、1つ以上のコンピュータ制御刺激または相互作用をグラフィカルユーザーインタフェースを介してユーザーに提示するように構成された少なくとも1つのテスト特徴を含むこと;コンピューティング装置を用いて、1つ以上のコンピュータ制御刺激または相互作用に応答して1つ以上のユーザー入力を受信することであって、1つ以上のユーザー入力はユーザー活動データを含むこと;コンピューティング装置と通信可能に係合されたプロセッサを用いて、ユーザー活動データを受信すること;プロセッサを用いて、活動データを分類するための少なくとも1つの分類モデルに従ってユーザー活動データを処理することであって、少なくとも1つの分類モデルは、標的とされた刺激反応パターンと関連付けられた1つ以上の変数を分類するように構成されていること;ユーザー活動データと1つ以上のコンピュータ制御刺激または相互作用との間で刺激入力パターンを分析してソフトウェアビルドに対する1つ以上の性能測定基準を決定することであって、1つ以上の性能測定基準は、少なくとも1つのテスト特徴の有効性の尺度を含むこと;および、1つ以上の性能測定基準に従ってソフトウェアビルドを評価してソフトウェアビルドの合格/不合格状態を最小性能閾値に従って判断すること、を行うのを可能にする。
【0029】
開示される概念は実施態様の任意の特定の方法に制限されないので、上で紹介されて、以下で更に詳細に説明される様々な概念は、多数の方法のいずれでも実装され得ることが理解されよう。特定の実施態様および用途の例は主に例示目的のために提供される。本開示は、図面で図解されて以下で説明される典型的な実施態様および技術に決して制限されるべきでない。
【0030】
値の範囲が提供される場合、その内容について別段の明確な指示がない限り、その範囲の上限と下限との間の、下限の単位の10分の1までの、各中間値および言及された範囲内の任意の他の明記される値または中間値が、本発明によって包含されることが理解される。これらのより小さい範囲の上限および下限は、より小さい範囲内に無関係に含まれ得、明記された範囲内の任意の明確に除外される制限を条件として、本発明によっても包含される。明記される範囲が端点境界の一方または両方を含む場合、これらの含まれる端点の一方または両方を除く範囲も本発明の範囲に含まれる。
【0031】
本明細書では、「典型的な(exemplary)」は例または例示としての役割を果たすことを意味し、必ずしも理想的または最善を示さない。
【0032】
本明細書では、用語「含む(include)」は、含むがこれに限定されるものではないことを意味し、用語「含む(including)」は、含むがこれに限定されるものではないことを意味する。用語「~に基づく(based on)」は、少なくとも部分的に基づくことを意味する。
【0033】
本明細書では、用語「ソフトウェアビルド(software build)」はソフトウェアプログラムもしくは製品および/またはソフトウェアプログラムもしくは製品の1つ以上の構成要素(複数可)もしくは下位構成要素(複数可)を含むプログラムコードのバージョン、中間生成物および/またはコンパイルを指す。ある実施形態では、「ソフトウェアビルド」は、ソフトウェアプログラムと関連して1つ以上のソフトウェア品質保証プロセスの主題であるプログラムコードのバージョン、中間生成物および/またはコンパイルを指す。ある実施形態では、「ソフトウェアビルド」は、ソフトウェア製品と関連して保留中のリリースまたは公開であるプログラムコードのバージョン、中間生成物および/またはコンパイルを指す。
【0034】
本明細書では、用語「ツールチェーン(toolchain)」は、1つ以上のソフトウェア開発タスク(複数可)を実行するため、ならびに/または、別のコンピュータプログラムおよび/もしくは関連プログラムのセットを含み得る、ソフトウェア製品を作成するために使用されるプログラミングツールの任意のセットを指す。ある実施形態では、ツールチェーンを含むプログラミングツールは、各ツールの出力または結果として生じる環境状態が次のツールの入力または開始環境状態となるように、連続して実行され得る。ある実施形態では、ツールチェーンを含むプログラミングツールは、連続して実行されることもあれば、実行されないこともある関連プログラミングツールのセットを含み得る。
【0035】
本明細書では、用語「刺激(stimulus)」は、指定された機能的反応を個人から誘発するように構成された感覚事象を指す。反応の程度およびタイプは、測定構成要素との個人のやり取り(センサー装置または他の測定構成要素の使用を含む)に基づいて定量化できる。
【0036】
本明細書では、用語「ユーザー活動データ(user activity data)」は、ソフトウェアプログラム、製品および/またはプラットフォームとのユーザーのやり取りの測定から収集されたデータを指す。
【0037】
本明細書では、用語「コンピュータ制御刺激または相互作用(computerized stimuli or interaction)」または「CSI」は、ユーザーの刺激との相互作用または他の相互作用を促進するためにユーザーに提示されるコンピュータ化要素を指す。非限定的例として、コンピューティング装置は、聴覚刺激を提示する(例えば、聴覚性コンピュータ化調整可能要素またはコンピュータ化聴覚タスクの要素として提示される)か、もしくはユーザーとの他の聴覚ベースのやり取りを開始し、かつ/または振動刺激を提示する(例えば、振動性コンピュータ化調整可能要素またはコンピュータ化振動タスクの要素として提示される)か、もしくはユーザーとの他の刺激ベースのやり取りを開始し、かつ/または触覚刺激を提示する(例えば、触覚性コンピュータ化調整可能要素またはコンピュータ化触覚タスクの要素として提示される)か、もしくはユーザーとの他の触覚ベースのやり取りを開始し、かつ/または視覚刺激を提示するか、もしくはユーザーとの他の視覚ベースのやり取りを開始するように構成できる。
【0038】
コンピューティング装置が視覚CSIを提示するように構成される例では、CSIは、ユーザーに提示される少なくとも1つのユーザーインタフェースとして提供される。いくつかの例では、少なくとも1つのユーザーインタフェースは、少なくとも1つのユーザーインタフェースで提供されたCSIコンピュータ化要素とのユーザーやり取りとして応答を測定するために構成される。非限定的例では、ユーザーインタフェースは、CSIコンピュータ化要素(複数可)が能動的であるように構成でき、ユーザーからの少なくとも1つの応答を要求し得、そのためユーザーインタフェースは、プラットフォーム製品とのユーザーのやり取りのタイプまたは程度を示すデータを測定するように構成される。別の例では、ユーザーインタフェースは、CSIコンピュータ化要素(複数可)が受動的であって、少なくとも1つのユーザーインタフェースを使用してユーザーに提示されるように構成できるが、ユーザーからの応答は要求しない可能性がある。この例では、少なくとも1つのユーザーインタフェースは、ユーザーのやり取りの記録された応答を除外して、応答を示すデータに重み付け係数を適用する(例えば、より低い値または高い値に対する応答に重みをつける)か、またはユーザーのプラットフォーム製品との応答を示すデータを、ユーザーの誤った応答(例えば、誤った応答のユーザーに対して通知または他のフィードバックを発行するため)の尺度として測定するように構成できる。
【0039】
本明細書のある例で使用されるように、用語「ユーザー」は、ソフトウェアプログラム、製品ならびに/またはプラットフォームのエンドユーザーおよび/もしくはテストユーザーの1人以上を包含し、更に、標的とされる医療もしくは個人のウェルネスの目的のためにソフトウェアプログラム、製品またはプラットフォームと係合されている患者;ソフトウェアプログラム、製品またはプラットフォームの臨床試験、調査もしくは評価への参加者;デジタルヘルス介入および/または医療機器プログラム、製品もしくはプラットフォームとしてのソフトウェアの1つ以上の技術的、臨床的、および/もしくは機能的態様を評価または開発する目的で、ソフトウェアプログラム、製品もしくはプラットフォームと係合されているユーザーを含み得る。
【0040】
本明細書では、用語「デジタルヘルス介入(digital health intervention)(DHI)」および「医療機器としてのソフトウェア(SaMD)」は、区別しないで使用されて、1つ以上の医療、健康または個人のウェルネス目的のための1人以上のユーザーに対する処置、診断、管理、予防、治療、または臨床/健康/ウェルネス洞察もしくは推奨の生成/提供を含むがそれらに制限されない、任意の汎用または標的とされる医療もしくは個人のウェルネス目的のために設計および/または利用されている、任意のソフトウェア/ハードウェアの組合せを含む、任意のソフトウェアプログラム、製品、またはプラットフォームを包含し得;循環器疾患、糖尿病およびメンタルヘルス状態などの長期にわたる状態をもつ人々において健康な挙動を促進し、成果を改善して、効果的な処置;例えば、メンタルヘルスおよび身体的問題のためのコンピュータ制御された認知行動療法、へのリモートアクセスを提供するために設計および/または利用されている、任意のソフトウェア/ハードウェアの組合せを含む、任意のソフトウェアプログラム、製品、またはプラットフォームを含み; 単に治療全体の一構成要素ではなく、1つ以上の神経学的、心理学的および/もしくは身体的状態、疾病、ならびに/または障害に関連した1つ以上の神経回路の治療および/または標的化において直接的に治療効果のあるハードウェアおよびソフトウェアの任意の組合せを統合する任意の製品(複数可)、プログラム(複数可)および/またはプラットフォーム(複数可)を含む、1つ以上のソフトウェアプログラム、製品またはプラットフォームを更に包含し得る。
【0041】
全ての定義は、本明細書で定義されて使用されるように、辞書的定義、参照によって組み込まれる文書における定義、および/または定義される用語の通常の意味にわたって制御すると理解されるべきである。別に定義されていない限り、本明細書で使用される全ての専門用語および科学用語は、本発明が属する技術分野における当業者によって一般に理解されるのと同じ意味を有する。本明細書で説明されるものと類似または同等な任意の方法および材料も本発明の実施またはテストにおいて使用できるが、典型的な方法および材料がここで説明される。本明細書で言及される全ての公表文献は、方法および/または材料をその公表文献が引用されるものと関連して開示および説明するために参照により本明細書に組み込まれる。
【0042】
本明細書の原理に従った典型的なシステム、方法、および持続性コンピュータ可読記憶媒体は、ユーザー活動データ内の刺激反応パターンを分析してソフトウェア製品の1つ以上の特徴の有効性、安全性、および/または性能を評価するための設計管理アーキテクチャおよび品質保証システムを提供する。ある実施形態では、ソフトウェア製品はDHIまたはSaMDとして構成される。ある実施形態によれば、設計管理アーキテクチャおよび品質保証システムは、漸進的設計変更の、ソフトウェア製品の有効性、安全性、および/または性能に対する影響を評価するために、ユーザー活動データを分類器モデルに従って処理するように構成される。典型的なシステムおよび方法は、ソフトウェアプログラム、プラットフォームおよび/または製品と関連付けられた1つ以上のソフトウェア開発プロセスを制御または通知するように構成され得る。1つ以上のソフトウェア開発プロセスは、ソフトウェア設計、要件分析、特徴検査、ビルド検査、コードレビュー、ソースコード管理、品質管理/保証、ソフトウェア構成管理、検査、リリース管理および/または製品統合の1つ以上を含み得る。
【0043】
本明細書の原理に従った典型的なシステム、方法、および持続性コンピュータ可読記憶媒体は、DHIまたはSaMDの1つ以上のインスタンスもしくはセッションからのユーザー活動データにおける1つ以上のパターンを分析することを提供する。ある実施形態によれば、1つ以上のパターンは、1つ以上の臨床的に検証された刺激反応パターンとの一致の程度を判断するための手続き的分析を含み得る。本開示のある実施形態は、ユーザー入力を1つ以上のカテゴリに分類および/またはマッピングするための機械学習フレームワーク、分類器モデル、および/または分類アルゴリズムを含み得る。ある実施形態では、1つ以上のカテゴリは、DHIまたはSaMD製品の1つ以上の安全性、有効性、および/または性能態様に対応し得る。
【0044】
本明細書の原理に従った典型的なシステム、方法、および持続性コンピュータ可読記憶媒体は、DHIまたはSaMDの性能を測定するためのシステムおよび方法を含む。ある実施形態によれば、本開示のシステムおよび方法は、ユーザー活動データを分類器モデルに従って処理して、DHIまたはSaMDの治療活動および/もしくは有効性の量を測定ならびに/または定量化するように構成される。本明細書の例では、システム、方法、および持続性コンピュータ可読記憶媒体は、ユーザーの1つ以上の神経学的、心理学的および/もしくは身体的状態、疾病、ならびに/または障害に関連した1つ以上の神経回路を治療および/または標的にするためにDHIまたはSaMDの有効性を測定および/または検証することを提供する。かかる例(複数可)によれば、DHIまたはSaMDの有効性を測定および/または検証することは、DHIまたはSaMDの1つ以上の個々の特徴もしくは態様の治療活動および/もしくは有効性の量を測定ならびに/または定量化することを更に含み得る。本明細書の例では、システム、方法、および持続性コンピュータ可読記憶媒体は、ユーザーの1つ以上の神経学的、心理学的および/もしくは身体的状態、疾病、ならびに/または障害に関連した1つ以上の神経回路を治療および/または標的にするためにDHIもしくはSaMDの有効性に対する漸進的設計変更の影響を評価することを提供する。
【0045】
本明細書の原理に従ったシステム、方法、およびコンピュータプラットフォーム製品は、ソフトウェア製品の製造業者がソフトウェア製品の1つ以上のインスタンスまたはセッションからのユーザー活動データを、ユーザー活動データ内の1つ以上のパターンを分析するように構成されたクラウドサーバーに提供するのを可能にする。本システムは、ユーザー活動データを処理して1つ以上の臨床的に検証された刺激反応パターンとの一致の程度を判断して、ソフトウェア製品の1つ以上の安全性、有効性、または性能態様の定量分析を提供するように構成される。ある実施形態によれば、ソフトウェア製品の製造業者は結果として生じる分析を利用して、ソフトウェア設計、要件分析、特徴検査、ビルド検査、コードレビュー、ソースコード管理、品質管理/保証、ソフトウェア構成管理、検査、リリース管理および/または製品統合を含むが、それらに制限されない、ソフトウェア製品に対する1つ以上のソフトウェア開発プロセスを通知または制御し得る。
【0046】
本開示の態様は、ユーザー活動データ内の刺激反応パターンを分析するための設計管理アーキテクチャおよびソフトウェア品質保証システムを提供する。本開示の典型的な実施形態は、ソフトウェアビルドのインスタンスを実行するユーザー装置から受信したユーザー活動データを処理し、分類器モデルに従ってユーザー活動データを処理して、開発者ユーザーがソフトウェア製品の1つ以上の品質尺度に対する漸進的設計変更の影響を評価するのを可能にするためにフレームワークを処理するように構成された設計管理アーキテクチャおよびソフトウェア品質保証システムを提供する。ある実施形態によれば、1つ以上の品質尺度は、ソフトウェア製品の1つ以上の特長と関連付けられた1つ以上の有効性、安全性、および/または性能測定基準を含み得る。様々な実施形態によれば、設計管理アーキテクチャおよびソフトウェア品質保証システムは、デジタルヘルス介入または医療機器製品としてのソフトウェアを含むソフトウェア製品の開発者が、ソフトウェア製品およびその特定の特徴の1つ以上の安全性、有効性および/または性能測定基準の定性および/または定量分析を実行するのを可能にする。
【0047】
ここで、同様の参照文字がいくつかの図を通して同様の要素を示す、図面を記述的に参照すると、図1は、本開示のある例示的な実施形態が実装され得るコンピューティングシステムを示す。
【0048】
ここで図1を参照すると、本開示の1つ以上の態様が実装され得るプロセッサ実装コンピューティング装置が示されている。一実施形態によれば、処理システム100は一般に、少なくとも1つプロセッサ102、メモリ104、入力データ118を受信するための入力装置106および出力データ120を生成する出力装置108を、少なくとも1つのバス110に一緒に結合されて含む。ある実施形態では、入力装置106および出力装置108は同じ装置であり得る。インタフェース112が、処理システム100を1つ以上の周辺機器に結合するためにも提供でき、例えば、インタフェース112は、PCIカードまたはPCカードであり得る。少なくとも1つのデータベース116を収容する少なくとも1つのデータベース記憶装置114も提供できる。メモリ104は、任意の形式のメモリ装置、例えば、揮発性または不揮発性メモリ、固体記憶装置、磁気装置など、であり得る。プロセッサ102は、例えば、処理システム100内の異なる機能を処理するために、2つ以上の別個の処理装置を含み得る。入力装置106は、入力データ118を受信し、例えば、キーボード、ペン状デバイスまたはマウスなどのポインタデバイス、マイクロホンなどの音声制御有効化のための音声受信装置、モデムまたは無線データアダプタ、データ取得カードなどのデータ受信装置またはアンテナなど、を含み得る。入力データ118は、異なるソース、例えば、ネットワークを経由して受信されたデータと共にキーボード命令、から来得る。出力装置108は、出力データ120を作成または生成し、例えば、出力データ120が可視である場合にはディスプレイ装置またはモニター、出力データ120が印刷される場合にはプリンタ、ポート、例えばUSBポート、周辺構成要素アダプタ、モデムまたは無線ネットワークアダプタなどのデータ送信機またはアンテナなどを含むことができる。出力データ120は別個であり、異なる出力装置、例えば、ネットワークに送信されたデータと共にモニター上のビジュアル表示、に由来し得る。ユーザーはデータ出力、もしくはデータ出力の解釈を、例えば、モニター上に、またはプリンタを使用して表示し得る。記憶装置114は、任意の形のデータまたは情報記憶手段、例えば、揮発性もしくは不揮発性メモリ、固体記憶装置、磁気装置、および同様のものであり得る。
【0049】
使用中、処理システム100は、データまたは情報が、有線もしくは無線通信手段を介して、少なくとも1つのデータベース116内に格納され、かつ/または少なくとも1つのデータベース116から取得されるのを可能にするように適合される。インタフェース112は、処理ユニット102と、特殊な目的を果たし得る周辺構成要素との間の有線および/または無線通信を可能にし得る。一般に、プロセッサ102は、命令を入力データ118として入力装置106を介して受信でき、処理結果または他の出力を出力装置108を利用することによってユーザーに表示できる。2つ以上の入力装置106および/または出力装置108が提供できる。処理システム100は任意の形の端末、サーバー、専用ハードウェア、または同様のものであり得ることが理解されよう。
【0050】
処理システム100は、ネットワーク化通信システムの一部であり得ることが理解されよう。処理システム100は、ネットワーク、例えば、インターネットまたはWANに接続し得る。入力データ118および出力データ120は、ネットワークを経由して他の装置に伝達され得る。ネットワークを経由した情報および/またはデータの転送は、有線通信手段または無線通信手段を使用して達成できる。サーバーは、ネットワークと1つ以上のデータベースとの間でのデータの転送を容易にできる。サーバーおよび1つ以上のデータベースは情報源の例を提供する。
【0051】
従って、図1に例示される処理コンピューティングシステム環境100は、1つ以上のリモートコンピュータへの論理接続を使用してネットワーク化環境内で動作し得る。リモートコンピュータは、パーソナルコンピュータ、サーバー、ルーター、ネットワークPC、ピア装置、または他の一般的なネットワークノードであり得、典型的には前述の要素の多数または全部を含む。
【0052】
図1に示される論理接続はローカルエリアネットワーク(LAN)およびワイドエリアネットワーク(WAN)を含むが、パーソナルエリアネットワーク(PAN)などの他のネットワークも含み得ることが更に理解されよう。かかるネットワーク環境は、オフィス内で一般的で、企業規模のコンピュータネットワーク、イントラネット、およびインターネットである。例えば、LANネットワーク環境内で使用される場合、コンピューティングシステム環境100は、ネットワークインタフェースまたはアダプタを通してLANに接続される。WANネットワーク環境内で使用される場合、コンピューティングシステム環境は典型的には、インターネットなどの、WANを通した通信を確立するために、モデムまたは他の手段を含む。内部または外部であり得る、モデムは、ユーザー入力インタフェースを介して、または別の適切な機構を介して、システムバスに接続され得る。ネットワーク化環境では、コンピューティングシステム環境100、またはその部分に関連して示されているプログラムモジュールは、リモートメモリ記憶装置内に格納され得る。図1の例示されたネットワーク接続は典型であり、複数のコンピュータ間で通信リンクを確立する他の手段が使用され得ることが理解されよう。
【0053】
図1は、本発明の様々な実施形態が実装され得る例示的および/または適切な典型的環境の簡潔な概要を提供することを意図する。図1は、適切な環境の一例であり、本発明の一実施形態の構造、使用の範囲、または機能に関して、いかなる制限も提案することは意図していない。特定の環境は、典型的な動作環境内に例示される任意の1つの構成要素または構成要素の組合せに関していかなる依存または要件も有すると解釈されるべきではない。例えば、ある事例では、環境の1つ以上の要素は、必要とみなされず、省略され得る。他の事例では、1つ以上の他の要素が必要とみなされて、追加され得る。
【0054】
以下の説明では、ある実施形態は、図1のコンピューティングシステム100などの、1つ以上のコンピューティング装置によって実行される動作および操作のシンボル表現を参照して説明され得る。そのため、時々、コンピュータ実行されると呼ばれる、かかる動作および操作は、データを構造化形式で表す電気信号のコンピュータのプロセッサによる操作を含むことが理解されるであろう。この操作は、データを変換するか、またはそれらをコンピュータのメモリシステム内の記憶位置に維持し、それは、当業者によって理解される方法でコンピュータの操作を再構成するか、またはそうでなければ変更する。データが維持されるデータ構造は、データのフォーマットによって定義された特定の特性を有するメモリの物理的位置である。しかし、一実施形態が前述の文脈で説明されているが、当業者は以下で説明される動作および操作がハードウェアでも実装され得ることを理解しているので、制限することを意図していない。
【0055】
本発明の実施形態は、多数の他の汎用または専用コンピューティング装置、システムもしくは構成で実装できる。本発明の実施形態での使用に適した周知のコンピューティングシステム、環境、および構成の例は、パーソナルコンピュータ、ハンドヘルドまたはラップトップ装置、携帯情報端末、マルチプロセッサシステム、マイクロプロセッサベースシステム、セットトップボックス、プログラム可能な家庭用電化製品、ネットワーク、ミニコンピュータ、サーバーコンピュータ、ゲームサーバーコンピュータ、ウェブサーバーコンピュータ、メインフレームコンピュータ、および前述のシステムまたは装置のいずれかを含む分散コンピューティング環境を含む。
【0056】
本発明の様々な実施形態は本明細書では、コンピュータによって実行される、プログラムモジュールなどの、コンピュータ実行可能命令の一般的な文脈で説明される。一般に、プログラムモジュールは、特定のタスクを実行するか、または特定の抽象データ型を実装する、ルーチン、プログラム、オブジェクト、構成要素、データ構造などを含む。ある実施形態では、通信ネットワークを通してリンクされているリモート処理装置によってタスクが実行される分散コンピューティング環境も採用され得る。分散コンピューティング環境では、プログラムモジュールは、メモリ記憶装置を含む、ローカルおよびリモートの両方のコンピュータ記憶媒体内に配置され得る。
【0057】
上で示されて説明される図1の汎用コンピューティングシステム環境100と共に、以下の説明および残りの図は、プログラムコードビルドと関連付けられた1つ以上の性能測定基準を評価して検証するためにユーザー検査データ内の刺激入力パターンの手続き的分析のためのシステムおよび方法のための方法に概ね関する本発明の様々な典型的な実施形態に関する。一般に、本明細書で説明される方法は、コンピューティング装置を用いて、ソフトウェアビルドの検査インスタンスをユーザーに提示することであって、ソフトウェアビルドは、1つ以上のコンピュータ制御刺激または相互作用をグラフィカルユーザーインタフェースを介してユーザーに提示するように構成された少なくとも1つのテスト特徴を含むこと;コンピューティング装置を用いて、1つ以上のコンピュータ制御刺激または相互作用に応答して1つ以上のユーザー入力を受信することであって、1つ以上のユーザー入力はユーザー活動データを含むこと;コンピューティング装置と通信可能に係合されたプロセッサを用いて、ユーザー活動データを受信すること;プロセッサを用いて、活動データを分類するための少なくとも1つの分類モデルに従ってユーザー活動データを処理することであって、少なくとも1つの分類モデルは、標的とされた刺激反応パターンと関連付けられた1つ以上の変数を分類するように構成されていること;ユーザー活動データと1つ以上のコンピュータ制御刺激または相互作用との間で刺激入力パターンを分析してソフトウェアビルドに対する1つ以上の性能測定基準を決定することであって、1つ以上の性能測定基準は、少なくとも1つのテスト特徴の有効性の尺度を含むこと;および、1つ以上の性能測定基準に従ってソフトウェアビルドを評価してソフトウェアビルドの合格/不合格状態を最小性能閾値に従って判断すること、を伴う。
【0058】
ここで図2を参照すると、ソフトウェア設計管理システム200のアーキテクチャ図が示されている。本開示のある態様によれば、システム200は、ソフトウェア開発サブシステム202および設計管理サブシステム204を含む。ソフトウェア開発サブシステム202および設計管理サブシステム204は、通信ネットワーク216(例えば、インターネット)を通して通信可能に係合され得る。ある実施形態では、ソフトウェア開発サブシステム202および設計管理サブシステム204は、アプリケーションプログラミングインタフェースまたは他のデータ転送プロトコルを通して通信可能に係合されている独立したシステムとして構成され得る。他の実施形態では、ソフトウェア開発サブシステム202および設計管理サブシステム204は、より大きな統合システム内の関連サブシステムであり得る。例えば、ソフトウェア開発サブシステム202および設計管理サブシステム204は、開発操作(DevOps)ツールチェーンの(連続または非連続の)関連構成要素であり得る。本開示の様々な態様によれば、ソフトウェア開発サブシステム202および設計管理サブシステム204は、同じサーバー上で実行する別個のソフトウェアモジュールとして構成され得るか;またはソフトウェア開発サブシステム202および設計管理サブシステム204は、ローカルコンピューティング環境(すなわち、LAN)内の異なるサーバー上で実行する別個のソフトウェアモジュールとして構成され得るか;またはソフトウェア開発サブシステム202および設計管理サブシステム204は、分散コンピューティング環境(すなわち、WAN)にわたる異なるサーバー上で実行する別個のソフトウェアモジュールとして構成され得る。ある実施形態では、ソフトウェア開発サブシステム202および設計管理サブシステム204は、1つ以上の第三者サーバー218を介して動作可能に係合され得る。例えば、第三者サーバー218は、ソフトウェアプログラムと関連付けられたプログラムコードがソフトウェア開発環境内にリモートに格納され得るクラウドリポジトリを含み得る。クラウドリポジトリは、GITHUB(登録商標)またはBITBUCKET(登録商標)などの、バージョニングプラットフォームを含み得;AMAZON WEB SERVICES(登録商標)から入手可能なものなど、クラウドストレージおよび/またはコンピューティング環境を更に含み得る。ある実施形態では、第三者サーバー218は、1つ以上のサービス、データ、および/または処理機能をソフトウェア開発サブシステム202および/または設計管理サブシステム204に提供し得る(例えば、設計管理モジュール208および/またはソフトウェア開発モジュール222は、全体または一部において、第三者サーバー218上で実行され得る)。
【0059】
ある実施形態によれば、ソフトウェア開発サブシステム202は、少なくとも1つのソフトウェアプログラム228を開発するためのソフトウェア開発環境として定義され得る。ある実施形態では、ソフトウェアプログラム228は、DHIまたはSaMD製品として構成される。ソフトウェア開発サブシステム202は、1つ以上のワークステーションアプリケーション228を実行するように構成された少なくとも1つの開発者ワークステーション224、1つ以上のソフトウェア開発モジュール222を含む少なくとも1つのローカルおよび/またはリモートサーバー220、ならびにサーバー220および1つ以上のソフトウェア開発モジュール222と通信可能に係合された少なくとも1つのデータベース226を含み得る。設計管理サブシステム204は、設計管理サーバー206、設計管理サーバー206上で実行する設計管理モジュール208、設計管理サーバー206および設計管理モジュール208と通信可能に係合された設計管理データベース210、ならびに設計管理ワークステーション214から構成され得る。ある実施形態では、設計管理ワークステーション214は、設計管理アプリケーション214のインスタンスを実行するように構成され得;開発者ワークステーション224は設計管理アプリケーション214´のインスタンスを実行するように構成され得る。
【0060】
ある実施形態によれば、ソフトウェア開発サブシステム202および設計管理サブシステム204は、ソフトウェアプログラム228と関連付けられた1つ以上の配備環境または層を定義するために動作可能に係合され得る。ソフトウェア開発サブシステム202および設計管理サブシステム204がソフトウェアプログラム228の1つ以上の態様を開発、配備、および/または実行するために動作可能に係合され得る、ある典型的な配備環境または層は、表1に示されて説明される環境または層の任意の組合せを含み得る。
【表1】
【0061】
ある実施形態によれば、システム200は、ソフトウェアプログラム228のインスタンス228´を実行するためにサーバー220と通信可能に係合されているユーザー装置218を更に含み得る。インスタンス228´は、表1に示されて説明されているように、1つ以上の開発層と関連付けられているソフトウェアプログラム228のインスタンスを含み得る。例えば、インスタンス228´は、ソフトウェアプログラム228の検査インスタンスとして構成され得る。ある実施形態では、ユーザー装置218はエンドユーザー装置(すなわち、外部ユーザー)として構成され得、他の実施形態では、ユーザー装置218は開発者ユーザー装置(すなわち、内部ユーザー)として構成され得る。ユーザー装置218は、スマートフォン、タブレットコンピュータ、ウェアラブル電子装置(例えば、スマートウォッチ)、ラップトップコンピュータ、および同様のものを含むが、それらに制限されない、ソフトウェアプログラムを実行するために動作可能である1つ以上のコンピューティング装置を含み得る。ユーザー装置218は、サーバー220、第三者サーバー218および/または設計管理サーバー206の1つ以上と通信ネットワーク216を介して通信可能に係合され得る。
【0062】
ここで図3を参照すると、ソフトウェア設計管理システム300の機能ブロック図が示されている。本開示のある態様によれば、システム300は、開発サブシステム302および設計管理サブシステム304を含み得る。ある実施形態では、開発サブシステム302および設計管理サブシステム304は、図2に示されて説明されているように、ソフトウェア開発サブシステム202および設計管理サブシステム204として構成され得る。ある実施形態によれば、システム300は、ユーザー活動データ内の刺激反応パターンを受信、処理および分析して、ソフトウェア製品の1つ以上の特徴の有効性、安全性、および/または性能を評価するように動作可能に構成される。ある実施形態では、ソフトウェア製品はDHIまたはSaMDとして構成される。
【0063】
ある実施形態によれば、開発サブシステム302は、1つ以上の開発層内でソフトウェアプログラム306のインスタンス308を実行するように構成され得る。ある実施形態では、開発層は、検査層または生産前層である。他の実施形態では、開発層は生産層またはライブ層(live tier)である。開発層が検査層または生産前層である実施形態では、ソフトウェアプログラム306は、生産層またはライブ層にまだ配備されていないソフトウェア製品のバージョンまたはサブバージョンのビルドを含み得る。開発サブシステム302は、ソフトウェアプログラム306の1つ以上のインスタンス308と関連付けられたユーザー活動データを受信するように構成され得る。ある実施形態では、ソフトウェアプログラム306は、少なくとも1つの臨床的に検証された刺激反応パターンに従って構成されている少なくとも1つのエンジン/アルゴリズムを含む。ある実施形態では、少なくとも1つの臨床的に検証された刺激反応パターンは、1つ以上の神経学的、心理学的および/もしくは身体的状態を治療または標的にするための動作の治療機構を含み得る。ソフトウェアプログラム306は、ユーザー装置上で実行するソフトウェアプログラム306のインスタンス308内に1つ以上のCSIを含む刺激316を提供するように構成され得る。ある実施形態によれば、刺激316は、1つ以上のCSIおよび/またはインスタンス308の1つ以上のグラフィカルユーザーインタフェース要素内に具現化されている1つ以上のテスト特徴(複数可)または漸進的設計変更(複数可)を含み得る。インスタンス308は、刺激316に応答して1つ以上のユーザー入力318を受信し、入力をソフトウェアプログラム306に提供するように構成され得る。ソフトウェアプログラム306は、1つ以上の開発層内にソフトウェアプログラム306の少なくとも1つのセッションを含むためにインスタンス308を介して、1つ以上の刺激316を提供して、1つ以上の入力318を受信し得る。一実施形態では、少なくとも1つのセッションは、検査セッションを含み得る。ソフトウェアプログラム306の少なくとも1つのセッション内で提示および受信された1つ以上の刺激316および入力318は、複数のユーザー活動データを含み得る。
【0064】
引き続き図3を参照すると、設計管理サブシステム304からのユーザー活動データは、リアルタイムで、またはバッチ処理プロトコルにより、データ転送インタフェース320を介して設計管理サブシステム304に伝達され得る。データ転送インタフェース320は、アプリケーションプログラミングインタフェース(API)310に対するネットワーク通信プロトコルを含み得る。ある実施形態では、データ転送インタフェース320は、1つ以上のデータベース(例えば、図2に示されているような設計管理データベース210)内のユーザー活動データのクラウド保存310のためのサーバープッシュも含み得る。設計管理サブシステム304は、ユーザー活動データを処理のために分類モジュール312に伝達するように構成され得る。ある実施形態では、分類モジュール312は、任意選択で、簡易通知サービス/簡易キュー登録サービス324を通したクラウド保存310によってユーザー活動データを保存するように構成されている1つ以上のデータベースと通信可能に係合され得る。簡易通知サービス/簡易キュー登録サービス324は、分類モジュール312と、クラウド保存310によってユーザー活動データを格納するように構成されている1つ以上のデータベースとの間で出版/購読型モデル(publish/subscribe model)として構成され得る。分類モジュール312は、少なくとも1つの分類器モデルに従ってユーザー活動データを処理および分類するように構成された1つ以上の分類アルゴリズムを実行するように構成され得る。ある実施形態では、分類モジュール312は、ソフトウェアプログラム306の少なくとも1つのエンジン/アルゴリズムの手続き的リフレクションとして構成され得る。分類モジュール312の少なくとも1つの分類器モデルは、少なくとも1つの臨床的に検証された刺激反応パターンと関連付けられた1つ以上の変数を分類するように構成され得る。ある実施形態では、分類モジュール312の少なくとも1つの分類器モデルは、1つ以上の神経学的、心理学的および/もしくは身体的状態を治療または標的にするために、臨床的に検証された刺激反応パターンと関連付けられた1つ以上の変数を分類するように構成され得る。分類モデルは、アンサンブル学習モデルおよび/または教師あり学習モデルを含む機械学習フレームワークとして構成され得る。アンサンブル学習モデルは、インスタンス308内で、2つ以上のそれぞれの変数、または測定基準を分析するように構成された2つ以上のアルゴリズムを含み得る。例えば、アンサンブル学習フレームワークは、ユーザーデータ内で安全性測定基準を分析する(例えば、ユーザーが移動している車中にいるかどうか)手続き的アルゴリズム、および有効性測定基準を分析する(例えば、1つ以上の刺激入力パターンが予期された結果を反映しているかどうか)分類器アルゴリズムを含み得る。ある実施形態では、分類モデルは、ランダムフォレストアルゴリズムおよび/またはランダム決定フォレストアルゴリズムを含み得る。前記実施形態では、ソフトウェアプログラム306の1つ以上の特徴は、ランダムフォレストアルゴリズムまたはランダム決定フォレストアルゴリズムにおいてノード(複数可)として表され得る。分類モジュール312は、ユーザー活動データを分類モデルに従って処理して、ユーザー活動データ内の1つ以上の変数を分類する(322)ように構成され得る。ある実施形態によれば、1つ以上の変数は、ユーザー活動データと、1つ以上のコンピュータ制御刺激または相互作用との間に1つ以上の刺激入力パターンを含み得る。例えば、ソフトウェアプログラム306の特徴は、標的識別刺激または視覚運動追跡タスクなどの、CSIのあるタイプまたはカテゴリを含み得る。かかる実施形態によれば、インスタンス308内で、標的識別刺激(すなわち、特徴A)は、ユーザー応答の第1のタイプ(すなわち、入力タイプA)を引き起こすように構成され得、視覚運動追跡タスク(すなわち、特徴B)は、ユーザー応答の第2のタイプ(すなわち、入力タイプB)を引き起こすように構成され得る。分類モジュール312は、開発者ユーザーが、特徴Aおよび特徴Bを分類モデル内のノードとして、かつ入力タイプAおよび入力タイプBを標的とされた(すなわち、予期された)刺激反応パターンと関連付けられた変数として構成するのを可能にするように構成され得る。分類モジュール312は、ソフトウェアプログラム306の1つ以上の以前のインスタンスからユーザー活動データを受信し、そのデータを処理して分類モデルに対する1つの訓練データセットを生成するように更に構成され得る。
【0065】
ある実施形態によれば、設計管理サブシステム304は、分類モジュール312の出力を報告モジュール314に提供し得る。報告/レビューモジュール314は、分類モジュール312の出力を処理して、ソフトウェアプログラム306に対する1つ以上の性能測定基準を生成するように構成され得る。ある実施形態では、報告/レビューモジュール314は、ユーザー活動データと、1つ以上のコンピュータ制御刺激または相互作用との間で刺激入力パターンを分析して、ソフトウェアプログラム306に対する1つ以上の性能測定基準を決定するように構成され得る。1つ以上の性能測定基準は、ユーザーにおける1つ以上の神経学的、心理学的および/もしくは身体的状態を治療または標的にするために、臨床的に検証された刺激反応パターンと関連付けられた1つ以上の変数の定量化尺度を含み得る。ある実施形態では、1つ以上の性能測定基準は、ソフトウェアプログラム306に対する少なくとも1つのテスト特徴または漸進的設計変更の安全性、有効性、および/または性能の定性的または定量的尺度を含み得る。報告モジュール314は、分類モジュール312の出力を処理して、ソフトウェアプログラム306の性能測定基準を分析し、かつ/または合格/不合格状態を最小性能閾値に従って判断するように更に構成され得る。ある実施形態では、最小性能閾値は、1つ以上の神経学的、心理学的および/もしくは身体的状態を治療または標的にするための、ユーザー活動データ内に表された実際の刺激反応パターン(複数可)と予期された(例えば、臨床的に検証された)刺激反応パターン(複数可)との間で一致するモデルの最小限度である。最小性能閾値は、ソフトウェアプログラム306のインスタンス308に応答してユーザーに送達される治療活動の最小量および/または特徴当たり(例えば、CSI当たり)ベースでユーザーに送達される治療活動の最小量を更に含み得る。報告モジュール314は、開発者ユーザーが、ソフトウェアプログラム306に対してレビュー324を実行するのを可能にするように構成された1つ以上のデータ可視化および/またはデータ照会機能を含むグラフィカルユーザーインタフェースを提供するように更に構成され得る。レビュー324は、ソフトウェア/特徴設計、要件分析、特徴検査、ビルド検査、コードレビュー(複数可)、ソースコード管理、品質管理/保証、ソフトウェア構成管理、検査、リリース管理、製品統合、および同様のものを含むが、それらに制限されない、1つ以上のソフトウェア開発プロセスと関連付けられ得る。ある実施形態によれば、開発者ユーザーは、インスタンス308に対する1つ以上のテスト特徴(複数可)または漸進的設計変更(複数可)に対して合格/不合格状態を評価するためにソフトウェアプログラム306に対する1つ以上の安全性、有効性および/または性能測定基準を分析し得る。ある実施形態によれば、合格/不合格状態は、最小正味治療効果閾値を含み得る。最小正味治療効果閾値は、インスタンス308内でユーザーに送達される治療活動の最少量を定義し得る。報告/レビューモジュール314は、実際の刺激入力パターンが、CSI当たりベース、およびインスタンス308に対する総計で、予期された刺激入力パターンを反映していたユーザー活動データ内のインスタンスの総数に基づき、最小正味治療効果を計算するように構成され得る。
【0066】
ここで図4を参照すると、ソフトウェア設計管理システム400の機能ブロック図が示されている。本開示のある態様によれば、ソフトウェア設計管理モジュール402は、DevOpsツールチェーンの構成要素を含み得る。ソフトウェア設計管理システム400は、図2のシステム200および/または図3のシステム300の1つ以上の態様内に組み込まれ得る。システム400は、開発者ユーザー416が、ソフトウェアプログラム/製品404の1つ以上の設計変更および/またはテスト特徴に対する1つ以上の安全性、有効性、および性能態様を分析ならびに検証するのを可能にするように構成された設計管理モジュール402を含み得る。ある実施形態では、ソフトウェアプログラム/製品は、DHIまたはSaMD製品を含む。設計管理モジュール402は、分類エンジン406および/または分類エンジン406からの入力を含み得る。分類エンジン406は、少なくとも1つのアルゴリズム412の手続き的リフレクションを表す分類モデル408を含み得る。分類エンジン406は、アルゴリズム412に応答して分類モデル408を構成または選択し得る。アルゴリズム412は、少なくとも1つの臨床的に検証された刺激反応パターンに対応し得る。アルゴリズム412は、ソフトウェアプログラム404に対する少なくとも1つの処理エンジンの基礎を提供し得る。設計管理モジュール402は、1つ以上の設計変更またはテスト特徴を有するソフトウェアプログラム404のインスタンス414に応答してユーザー活動データ410を受信し得る。ある実施形態では、インスタンス414は、生産/ライブ層以外の開発層(例えば、検査層または生産前層)内で実行されているソフトウェアプログラム404のバージョンを含む。一実施形態によれば、設計管理モジュール402は、ユーザー活動データ410を受信して、それを分類エンジン406に提供する。分類エンジン406は、ユーザー活動データ410を処理して、アルゴリズム412の臨床的に検証された刺激反応パターンを反映している1つ以上の変数を判断および識別する。設計管理モジュール402は、分類エンジン406の出力を処理して、設計変更(複数可)および/またはテスト特徴(複数可)414に対して1つ以上の性能測定基準を決定する。設計管理モジュール402は、性能測定基準、ならびにユーザー活動データおよび/または分類モデルに対応する他のデータ可視化を、開発者ユーザー416に提供し得る。開発者ユーザー416は、性能測定基準をレビューして、設計変更(複数可)および/またはテスト特徴(複数可)414の、ソフトウェアプログラム404の1つ以上の安全性、有効性および/または性能態様への影響を判断し得る。
【0067】
ここで図5を参照すると、ソフトウェア設計管理プロセス500の機能ブロック図が示されている。本開示のある態様によれば、ソフトウェア設計管理プロセス500は、ソフトウェア設計管理システム、例えば、図2図4の任意の1つに示されて説明されているようなソフトウェア設計管理システム内に組み込まれ得る。設計管理プロセス500は、1つ以上の開発環境、例えば、検査環境および/または生産前環境内で、ソフトウェア製品のバージョン内の1つ以上の特徴および/または設計変更を評価ならびに検証するためのステップを含み得る。一実施形態によれば、設計管理プロセス500は、設計管理システム内でソフトウェアバージョンX502を提示することを含み得る。ソフトウェアバージョンX502は、評価ならびに検証されるべき1つ以上の特徴および/または設計変更、例えば、特徴A504、特徴B506、および特徴N508、を含み得る。ユーザー活動データ526は、特徴A504、特徴B506、および特徴N508の各々を、ソフトウェアバージョンX502のインスタンス(例えば、検査インスタンスまたは生産前インスタンス)を介してユーザーに提示することに応答して受信され得る。設計管理プロセス500は、特徴A504、特徴B506、および特徴N508の各々に対して分類モデルを実行して、分類514、分類516、および分類518を生成することを更に含み得る。一実施形態によれば、分類514は、ユーザー活動データ526の刺激入力パターンと特徴A504との間の手続き的リフレクションおよび臨床的に検証された刺激反応パターンを含み得る。同様に、分類516は、ユーザー活動データ526の刺激入力パターンと特徴B506との間の手続き的リフレクションおよび臨床的に検証された刺激反応パターンを含み得、分類518は、ユーザー活動データ526の刺激入力パターンと特徴N508との間の手続き的リフレクションおよび臨床的に検証された刺激反応パターンを含み得る。一実施形態によれば、設計管理プロセス500は、特徴の成功または失敗を判断して、ユーザー活動データの分類に基づき所望の刺激反応パターンをソフトウェアバージョンX502内に送達するように構成され得る。図示例では、分類518は、ユーザー活動データ526内の所望の刺激反応パターンを送達するための特徴N508の失敗を示す。一実施形態によれば、設計管理プロセス500は、所望の刺激反応パターンの送達において、ユーザー活動データの分類に基づき、総計で、ソフトウェアバージョンの成功または失敗を判断するように更に構成され得る。図示例では、分類518は、ユーザー活動データ526内の所望の刺激反応パターンの送達においてソフトウェアバージョンX502の成功を示す。設計管理プロセス500は、分類514、516、518、520の1つ以上を処理して1つ以上の設計管理524を実行するように更に構成され得る。一実施形態によれば、設計管理524は、1つ以上のソフトウェア品質保証プロセスを通して1つ以上の不適合な特徴および/または設計変更(例えば、特徴N508)を拒絶することを含み得る。ある実施形態によれば、設計管理524は、分類514、516、518、520の1つ以上に基づいてソフトウェアバージョンX502に対する1つ以上の性能測定基準を計算することを含み得る。設計管理524は、任意選択で、ソフトウェアバージョンX502と関連付けられた1つ以上の性能測定基準を、1つ以上の以前のバージョンと関連付けられた性能測定基準と比較するように更に構成され得る。設計管理プロセス500は、特徴A504、特徴B506、および/または特徴N508の1つ以上を受理または拒絶して、ソフトウェアバージョンX´510を定義するように更に構成され得る。
【0068】
ここで図6を参照すると、ソフトウェア検証プロセス600のプロセスフロー図が示されている。本開示のある態様によれば、ソフトウェア検証プロセス600は、ソフトウェア設計管理システム、例えば、図2図4の任意の1つに示されて説明されているようなソフトウェア設計管理システム内に組み込まれ得る。一実施形態によれば、ソフトウェア検証プロセス600は、開発環境606内に配備(610)されている少なくとも1つの新しい特徴または設計変更604を含むソフトウェアプログラム602を含む。1人以上のユーザー608は、少なくとも1つの新しい特徴または設計変更604を含むソフトウェアプログラム602のインスタンス612を実行し得る。ユーザー活動データ622は、分類モデル614に従って処理され得る。分類モデル614は、臨床的に検証された刺激反応パターンと関連付けられた1つ以上の変数を分類するように構成され得る。ソフトウェア検証プロセス600は、ユーザー活動データ622が所望の刺激反応パターンを反映する(618)か、または所望の刺激反応パターンを反映しない(620)かを評価する(616)ように更に構成され得る。ユーザー活動データ622が分類614に従って所望の刺激反応パターンを反映しない場合(620)、ソフトウェア検証プロセス600は、不合格(FAIL)状態を特徴または設計変更604に割り当てるように構成され得る。ユーザー活動データ622が分類614に従って所望の刺激反応パターンを反映する場合(618)、ソフトウェア検証プロセス600は、合格(PASS)状態を特徴または設計変更604に割り当てるように構成され得る。
【0069】
ここで図7を参照すると、ソフトウェア設計管理システム700の機能ブロック図が示されている。本開示のある態様によれば、開発プラットフォーム702は開発環境704および第三者環境706と1つ以上のAPIを介して通信可能に係合され得る。ある実施形態によれば、開発環境704は、アプリケーションA716およびアプリケーションB718に対するソースコードを含み得る。ある実施形態では、第三者環境706はアプリケーションC720に対するソースコードを含み得る。ある実施形態では、アプリケーションA716はエンジンA API708と通信可能に係合されてアプリケーションA716内の1つ以上のCSIを構成し得る。同様に、アプリケーションB718はエンジンB API710と通信可能に係合されてアプリケーションB718内の1つ以上のCSIを構成し得、アプリケーションC720はエンジンC API714と通信可能に係合されてアプリケーションC720内の1つ以上のCSIを構成し得る。アプリケーションA716、アプリケーションB718および/またはアプリケーションC720は、設計管理API712と通信可能に係合されてユーザー活動データおよびアプリケーションデータを設計管理サブシステム728に提供し得る。設計管理サブシステム728は、1つ以上の分類モデル(複数可)に従ってユーザー活動データおよびアプリケーションデータを処理するように構成され得る。図示例によれば、設計管理サブシステム728は、分類モデルA722を実行して、アプリケーションA716と関連付けられたユーザー活動データを分類し、分類モデルB724を実行して、アプリケーションB718と関連付けられたユーザー活動データを分類し、分類モデルC726を実行して、アプリケーションC720と関連付けられたユーザー活動データを分類するように構成される。ある実施形態によれば、設計管理サブシステム728は、開発環境704および/または第三者環境706内にDevOpsツールキット内のツールを含む。
【0070】
ここで図8を参照すると、ソフトウェア設計管理システム内のユーザー活動データを分類するためのルーチン800の機能ブロック図が示されている。本開示のある態様によれば、ルーチン800は、図2図4の任意の1つに示されて説明されているようなソフトウェア設計管理システム内に組み込まれ得る。ルーチン800は、開発サブシステムと設計管理サブシステム、例えば、開発サブシステム202および/または302と設計管理サブシステム204および/または304(それぞれ、図2図3に示されて説明されているような)との間で実行されている1つ以上のステップを含み得る。一実施形態によれば、ルーチン800は、開発サブシステムと設計管理サブシステムとの間に通信インタフェースを確立する(802)ことによって開始され得る。設計管理サブシステムは、開発サブシステムからの1つ以上のアプリケーションデータに応答して1つ以上の分類モデル(複数可)を構成する(804)ように構成され得る。1つ以上の分類モデル(複数可)804を構成することは、1つ以上の性能測定基準を含む1つ以上のモデル変数を決定する(824)ことを更に含み得る。ルーチン800は、1つ以上の新しい特徴および/または漸進的設計変更を含む更新されたプログラムコードをコンパイルする(806)ことによって継続し得る。ルーチン800は、更新されたプログラムコードの検査または生産前インスタンスを実行する(808)ことによって継続し得る。検査または生産前インスタンス808は、1つ以上の刺激812を1つ以上のユーザー装置810に提供すること、および1つ以上の刺激812に応答して1つ以上の入力814を受信することを含み得る。ある実施形態によれば、1つ以上の刺激は、1つ以上のCSIを含み得る。ルーチン800は、ユーザー活動データを処理し(816)、ユーザー活動データを設計管理サブシステムに伝達することによって継続し得る。ルーチン800は、ユーザー活動データを受信し、任意選択で格納する(818)ことにより、設計管理サブシステムで継続し得る。ルーチン800は、分類モデル(ステップ804で構成されたような)を実行(820)してユーザー活動データを分類する(822)ことによって継続し得る。ルーチン800は、分類されたユーザー活動データを処理し、更新されたプログラムコードと関連付けられた1つ以上の性能測定基準を計算する(824)ことによって終了し得る。ある実施形態によれば、1つ以上の性能測定基準は、更新されたプログラムコードと関連付けられた少なくとも1つの安全性、有効性、または性能変数の1つ以上の定量化尺度を含み得る。
【0071】
ここで図9を参照すると、ソフトウェア設計管理システム内のソフトウェアビルドの合格/不合格状態を判断するためのルーチン900の機能ブロック図が示されている。本開示のある態様によれば、ルーチン900は、図2図4の任意の1つに示されて説明されているようなソフトウェア設計管理システム内に組み込まれ得る。ルーチン900は、開発サブシステムと設計管理サブシステム、例えば、開発サブシステム202および/または302と設計管理サブシステム204および/または304(それぞれ、図2図3に示されて説明されているような)との間で実行される1つ以上のステップを含み得る。ある実施形態では、ルーチン900は、ルーチン800(図8に示されて説明されている)の1つ以上のステップの継続を含み得る。
【0072】
ルーチン900は、ソフトウェアプログラムのインスタンスと関連付けられたユーザー活動データに対する1つ以上のデータモデルの実行に対応するデータ分類(複数可)を分析する(902)ことを含み得る。ある実施形態によれば、ステップ902は、1つ以上のサブステップ904~910および/または912~918を含み得る。ある実施形態では、サブステップ904~910は、分類モデルに適合するモデルを評価する(特徴当たりベースで)こと(904);ソフトウェアプログラムのバージョンに対する1つ以上の性能測定基準を評価する(特徴当たりベースで)こと(906);ソフトウェアプログラムのバージョンに対する1つ以上の性能測定基準を定量化する(特徴当たりベースで)こと(908);およびソフトウェアプログラムのバージョンに対する少なくとも1つの合格/不合格状態を判断する(特徴当たりベースで)こと(910)のステップを含み得る。ある実施形態では、サブステップ912~918は、分類モデルに適合するモデルを評価する(現在のビルド/バージョンに対して)こと(912);ソフトウェアプログラムのバージョンに対する1つ以上の性能測定基準を評価する(現在のビルド/バージョンに対して)こと(914);ソフトウェアプログラムのバージョンに対する1つ以上の性能測定基準を定量化する(現在のビルド/バージョンに対して)こと(916);およびソフトウェアプログラムのバージョンに対する少なくとも1つの合格/不合格状態を判断する(現在のビルド/バージョンに対して)こと(918)のステップを含み得る。
【0073】
ここで図10を参照すると、ソフトウェア設計管理システム内の設計変更の影響を判断するためのルーチン1000の機能ブロック図が示されている。本開示のある態様によれば、ルーチン1000は、図2図4の任意の1つに示されて説明されているようなソフトウェア設計管理システム内に組み込まれ得る。ルーチン1000は、開発サブシステムと設計管理サブシステム、例えば、開発サブシステム202および/または302と設計管理サブシステム204および/または304(それぞれ、図2図3に示されて説明されている)との間で実行される1つ以上のステップを含み得る。ある実施形態では、ルーチン1000は、ルーチン800および/またはルーチン900(図8図9に示されて説明されている)の1つ以上のステップの継続を含み得る。
【0074】
ルーチン1000は、ソフトウェアプログラムの現在のバージョンと、ソフトウェアプログラムの少なくとも1つの以前のバージョンとの間で少なくとも1つの性能測定基準を比較する(1002)ことを含み得る。ある実施形態によれば、ステップ1002は、1つ以上のサブステップ1004~1008および/または1010~1014を含み得る。ある実施形態では、サブステップ1004~1008は、ソフトウェアプログラムの現在のバージョンと、ソフトウェアプログラムの少なくとも1つの以前のバージョンとの間で分類モデルに適合するモデルを比較する(特徴当たりベースで)こと(1004);ソフトウェアプログラムの現在のバージョンと、ソフトウェアプログラムの少なくとも1つの以前のバージョンとの間で1つ以上の性能測定基準を比較する(特徴当たりベースで)こと(1006);およびソフトウェアプログラムの現在のバージョンと、ソフトウェアプログラムの少なくとも1つの以前のバージョンとの間で性能における1つ以上の変化を判断する(特徴当たりベースで)こと(1008)のステップを含み得る。ある実施形態では、サブステップ1010~1014は、ソフトウェアプログラムの現在のバージョンと、ソフトウェアプログラムの少なくとも1つの以前のバージョンとの間で分類モデルに適合するモデルを比較する(現在のビルド/バージョンに対して)こと(1010);ソフトウェアプログラムの現在のバージョンと、ソフトウェアプログラムの少なくとも1つの以前のバージョンとの間で1つ以上の性能測定基準を比較する(現在のビルド/バージョンに対して)こと(1012);およびソフトウェアプログラムの現在のバージョンと、ソフトウェアプログラムの少なくとも1つの以前のバージョンとの間で性能における1つ以上の変化を判断する(現在のビルド/バージョンに対して)こと(1014)のステップを含み得る。ある実施形態によれば、ルーチン1000は、ソフトウェアプログラムの現在のバージョンと、ソフトウェアプログラムの1つ以上の以前のバージョンとの間で比較されて、新しい特徴および/または設計変更のソフトウェアプログラムへの影響の定性的および/または定量的尺度を判断すること(1016)によって終了し得る。
【0075】
ここで図11を参照すると、ソフトウェア設計管理および品質保証のための方法1100のプロセスフロー図が示されている。ある実施形態によれば、ソフトウェアプログラムはDHIまたはSaMD製品として構成される。本開示のある態様によれば、方法1100の1つ以上のステップは、図1図10に示されて説明されている、1つ以上のシステム、プロセスおよび/もしくはルーチン内に組み込まれ、かつ/またはそれらによって具現化され得る。方法1100は、開発サブシステムと設計管理サブシステム、例えば、開発サブシステム202および/または302と設計管理サブシステム204および/または304(それぞれ、図2図3に示されて説明されている)との間で実行される1つ以上のステップを含み得る。一実施形態によれば、方法1100は、少なくとも1つのテスト特徴または設計変更を含むソフトウェアビルドの検査インスタンスをグラフィカルユーザーインタフェースを介してユーザーに提示する(1102)ことを含み得る。方法1100は、検査インスタンスをグラフィカルユーザーインタフェースを介して提示することに応答してユーザー活動データを1人以上のユーザーから受信する(1104)ことを更に含み得る。方法1100は、ユーザー活動データを少なくとも1つの分類モデルに従って処理してユーザー活動データを分類する(1106)ことを更に含み得る。方法1100は、ユーザー活動データを分析してソフトウェアビルドに対する1つ以上の性能測定基準を決定する(1108)ことを更に含み得る。ある実施形態では、方法1100は、ユーザー活動データを分析して1つ以上の特徴(複数可)に対する性能測定基準を決定する(1112)ことを更に含み得る。方法1100は、性能測定基準を分析してソフトウェアビルドの合格/不合格状態を判断する(1110)ことを更に含み得る。ある実施形態では、方法1100は、性能測定基準を分析して1つ以上の特徴(複数可)の合格/不合格状態を判断する(1114)ことを更に含み得る。
【0076】
ここで図12を参照すると、ソフトウェアプログラムに対するソフトウェア設計管理および品質保証のための方法1200のプロセスフロー図が示されている。ある実施形態によれば、ソフトウェアプログラムはDHIまたはSaMD製品として構成される。本開示のある態様によれば、方法1200の1つ以上のステップは、図1図10に示されて説明されている、1つ以上のシステム、プロセスもしくはルーチン内に組み込まれ、かつ/またはそれらによって具現化され得る。方法1200は、開発サブシステムと設計管理サブシステム、例えば、開発サブシステム202および/または302と設計管理サブシステム204および/または304(それぞれ、図2図3に示されて説明されている)との間で実行される1つ以上のステップを含み得る。ある実施形態によれば、方法1200は、方法1100(図11に示されて説明されている)の、1つ以上のステップ、もしくはサブステップの継続を含み得るか、またはそうでなければ、それら内に組み込まれ得る。本開示のある態様によれば、方法1200は、DHIまたはSaMD製品に対する検査および/またはソフトウェア品質保証のための1つ以上のステップもしくは操作を含み得る。方法1200は、ユーザーコンピューティング装置を用いてグラフィカルユーザーインタフェースを介して、ソフトウェアビルドのインスタンスをユーザーに提示するための1つ以上のステップ(ステップ1202)を含み得る。ある実施形態では、ソフトウェアビルドは、1つ以上のコンピュータ制御刺激または相互作用をグラフィカルユーザーインタフェースにおいて提示することに応答して、予期された刺激入力パターンをユーザーから引き出すように構成された少なくとも1つの特徴を含むソフトウェア製品の検査または生産インスタンスを含み得る。方法1200は、ソフトウェアビルドのインスタンス内での1つ以上のコンピュータ制御刺激または相互作用の提示に応答して、ユーザーコンピューティング装置の入力センサーを介して、複数のユーザー入力を受信するための1つ以上のステップを実行または遂行することによって進み得る(ステップ1204)。ユーザー活動データは、ユーザーコンピューティング装置の入力センサーと通信可能に係合されたローカルまたはリモートプロセッサによって伝達および受信され得(ステップ1206)、ローカルまたはリモートプロセッサと通信可能に係合された少なくとも1つの持続性コンピュータ可読媒体内に格納され得る。方法1200は、ローカルまたはリモートプロセッサを用いて、ユーザー活動データを少なくとも1つのデータモデルに従って処理して、複数のユーザー入力内の各ユーザー入力に対する1つ以上の実際の刺激入力パターンを決定するための1つ以上のステップもしくはサブステップを実行または遂行することによって進み得る(ステップ1208)。ある実施形態によれば、少なくとも1つのデータモデルは、ソフトウェア製品(例えば、DHIまたはSaMD製品)に対する1つ以上の性能、安全性または有効性パラメータと関連付けられた1つ以上の変数を分類するように構成された分類モデルを含み得る。方法1200は、複数のユーザー入力内の各ユーザー入力に対する1つ以上の実際の刺激入力パターンを、少なくとも1つの特徴に対する予期された刺激入力パターンと比較して、1つ以上の実際の刺激入力パターンがソフトウェアビルドのセッション内の予期された刺激入力パターンを反映していたインスタンスの総数を決定するための1つ以上のステップもしくはサブステップを実行することによって進み得る(ステップ1210)。ある実施形態によれば、方法1200は、ソフトウェアビルドのセッション内の正味治療活動の量を、1つ以上の実際の刺激入力パターンが予期された刺激入力パターンを反映していたインスタンスの総数に従って計算するための1つ以上のステップを含み得る。1つ以上のステップは、ソフトウェアビルドのセッション内の少なくとも1つの特徴に対する有効な治療送達の量を、1つ以上の実際の刺激入力パターンが予期された刺激入力パターンを反映していたインスタンスの総数に従って計算するための1つ以上のサブステップを更に含み得る。方法1200は、ローカルまたはリモートプロセッサを用いて、ユーザー活動データに対する少なくとも1つの出力を少なくとも1つデータモデルに従って計算するための、ステップもしくはサブステップの1つ以上の処理を実行または遂行することによって進み得る(ステップ1212)。ある典型的な実施形態によれば、少なくとも1つの出力値は、少なくとも1つの特徴に適したモデルの定性的または定量的程度を提供するように構成される。方法1200は、ソフトウェアビルドに対する合格/不合格状態を少なくとも1つの出力値に従って判断し(ステップ1214)、かつ/または少なくとも1つの特徴に対する合格/不合格状態を少なくとも1つ出力値に従って判断する(ステップ1216)ための1つ以上のステップもしくはサブステップを実行または遂行することによって進み得る。ある実施形態では、方法1200は、少なくとも1つの出力値を、ソフトウェアビルドの少なくとも1つの以前のバージョンと関連付けられた少なくとも1つの以前の出力値と比較して、少なくとも1つの特徴に起因する変化の量を判断するための1つ以上のステップもしくはサブステップを含み得る。
【0077】
ソフトウェアビルドのセッション内で治療活動/送達の1つ以上の量が測定される、ある実施形態では、方法1200は、ソフトウェアビルドのセッション内での正味治療活動の量を、ソフトウェアビルドの少なくとも1つの以前のセッションと関連付けられた正味治療活動の少なくとも1つの以前の量と比較して、少なくとも1つの特徴に起因する変化の量を判断するための1つ以上のステップも含み得る。かかる実施形態では、ソフトウェアビルドに対する合格/不合格状態は、ソフトウェアビルドのセッション内での正味治療活動の量および/またはソフトウェアビルドのセッション内での少なくとも1つの特徴に対する有効な治療送達の量に従って判断され得る。
【0078】
ここで図13を参照すると、ソフトウェアプログラムに対するソフトウェア設計管理および品質保証のための方法1300のプロセスフロー図が示されている。ある実施形態によれば、ソフトウェアプログラムはDHIまたはSaMD製品として構成される。本開示のある態様によれば、方法1300は、図2図4の任意の1つに示されて説明されているようなソフトウェア設計管理システム内に組み込まれ得る。方法1300は、開発サブシステムと設計管理サブシステム、例えば、開発サブシステム202および/または302と設計管理サブシステム204および/または304(それぞれ、図2図3に示されて説明されている)との間で実行される1つ以上のステップを含み得る。ある実施形態では、方法1300は、方法1100(図11に示されて説明されている)および/または方法1200(図12に示されて説明されている)の、1つ以上のステップ、もしくはサブステップの継続を含み得るか、またはそうでなければ、それら内に組み込まれ得る。一実施形態によれば、方法1300は、ユーザーの神経学的、心理学的もしくは身体的状態を有効に治療または標的にするようにデジタル介入を構成する(1302)ことを含み得る。方法1300は、臨床的に検証された刺激反応パターンに従って分類モデルを構成する(1304)ことを更に含み得る。方法1300は、デジタル介入のインスタンスをユーザーに提示する(1306)ことを更に含み得る。方法1300は、デジタル介入のインスタンスに応答して刺激入力データを収集する(1308)ことを更に含み得る。方法1300は、分類モデルに従って刺激入力データを処理する(1310)ことを更に含み得る。方法1300は、分類モデルに従った刺激入力データの処理に応答して刺激入力データに適したモデルを決定して(1312)、1つ以上の性能測定基準を生成することを更に含み得る。ある実施形態によれば、1つ以上の性能測定基準は、デジタル介入に対する安全性、有効性、およびまたは性能の1つ以上の定量化尺度を含み得る。方法1300は、デジタル介入の1つ以上の特徴に対する性能測定基準を分析する(1314)ことを更に含み得る。方法1300は、デジタル介入の1つ以上の特徴の各々および/またはデジタル介入全体と関連付けられた神経学的、心理学的または身体的状態に対する治療処置の程度を判断および/または定量化する(1316)ことを更に含み得る。方法1300は、デジタル介入の1つ以上の特徴の各々および/またはデジタル介入全体に対する合格/不合格状態を判断する(1318)ことを更に含み得る。
【0079】
当業者によって理解されるとおり、本発明は、方法(例えば、コンピュータ実装プロセス、ビジネスプロセス、および/または任意の他のプロセスを含む)、装置(例えば、システム、機械、装置、コンピュータプログラム製品、および/または同様のものを含む)、または前述の組合せとして具現化され得る。それに応じて、本発明の実施形態は、完全にハードウェア実施形態、完全にソフトウェア実施形態(ファームウェア、常駐ソフトウェア、マイクロコードなどを含む)、または一般に本明細書で「システム」と呼ばれ得る、ソフトウェアとハードウェア態様を組み合わせた実施形態の形を取り得る。その上、本発明の実施形態は、媒体内に具現化されたコンピュータ実行可能プログラムコードを有するコンピュータ実行可能媒体上のコンピュータプログラム製品の形を取り得る。
【0080】
任意の適切な一時的または持続性コンピュータ可読媒体が利用され得る。コンピュータ可読媒体は、例えば、電子、磁気、光学、電磁、赤外線、または半導体システム、装置、もしくはデバイスであり得るが、それらに制限されない。コンピュータ可読媒体のもっと具体的な例は、次を含むが、それらに制限されない:1本以上のワイヤーを有する電気的接続、可搬式コンピュータディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、消去可能プログラマブル読取り専用メモリ(EPROMまたはフラッシュメモリ)、読み取り専用コンパクトディスク(CD-ROM)、または他の光学もしくは磁気記憶装置などの有形的記憶媒体。
【0081】
本ドキュメントの文脈では、コンピュータ可読媒体は、命令実行システム、装置、もしくはデバイスによって、またはそれと接続して、使用するためのプログラムを含むか、格納するか、伝達するか、または運搬できる任意の媒体であり得る。コンピュータ利用可能プログラムコードは、インターネット、有線、光ファイバーケーブル、無線周波数(RF)信号、または他の媒体を含むがそれらに制限されない、任意の適切な媒体を使用して送信され得る。
【0082】
本発明の実施形態の動作を実行するためのコンピュータ実行可能プログラムコードは、Java、Perl、Smalltalk、C++、または同様のものなどの、オブジェクト指向、スクリプトまたは非スクリプト型のプログラミング言語で書かれ得る。しかし、本発明の実施形態の動作を実行するためのコンピュータプログラムコードは、「C」プログラミング言語または類似のプログラミング言語などの、従来の手続き型プログラミング言語でも書かれ得る。
【0083】
本発明の実施形態は、方法、装置(システム)、ならびにコンピュータプログラム製品のフローチャート図および/またはブロック図を参照して上で説明される。フローチャート図および/もしくはブロック図の各ブロック、ならびに/またはフローチャート図および/もしくはブロック図内のブロックの組合せは、コンピュータ実行可能プログラムコード部分によって実装できることが理解されるであろう。これらのコンピュータ実行可能プログラムコード部分は、汎用コンピュータのプロセッサ、専用コンピュータ、または他のプログラム可能データ処理装置に提供されて特定の機械を作り出し、それによりコンピュータのプロセッサまたは他のプログラム可能データ処理装置を介して実行する、コード部分は、フローチャートおよび/またはブロック図ブロックもしくは複数のブロック内に指定された機能/動作を実装するための機構を作り出す。
【0084】
コンピュータまたは他のプログラム可能データ処理装置が特定の方法で機能するように指示できる、これらのコンピュータ実行可能プログラムコード部分(すなわち、コンピュータ実行可能命令)もコンピュータ可読メモリ内に格納され得、そのためコンピュータ可読メモリ内に格納されたコード部分は、フローチャートおよび/またはブロック図ブロック(複数可)内に指定された機能/動作を実装する命令機構を含む製品を作り出す。コンピュータ実行可能命令は、1つ以上のコンピュータまたは他の装置によって実行される、プログラムモジュールなどの、多くの形であり得る。一般に、プログラムモジュールは、特定のタスクを実行するか、または特定の抽象データ型を実装する、ルーチン、プログラム、オブジェクト、構成要素、データ構造などを含む。典型的には、プログラムモジュールの機能は、様々な実施形態における必要に応じて組み合わされるか、または分散され得る。
【0085】
コンピュータ実行可能プログラムコードは、コンピュータまたは他のプログラム可能データ処理装置上にもロードされて、一連の操作フェーズをコンピュータまたは他のプログラム可能装置上で実行させて、コンピュータまたは他のプログラム可能装置上で実行するコード部分が、フローチャートおよび/またはブロック図ブロック(複数可)内に指定された機能/動作を実装するためのフェーズを提供するように、コンピュータ実装プロセスを生成し得る。代替として、コンピュータプログラム実装フェーズまたは動作は、本発明の一実施形態を実行するために、オペレータまたは人間が実装したフェーズもしくは動作と組み合わされ得る。
【0086】
句が本明細書で使用されるとおり、プロセッサは、ある機能を様々な方法で実行するように「動作可能である」か、または「構成され」得、例えば、1つ以上の汎用回路に、コンピュータ可読媒体内に具現化された特定のコンピュータ実行可能プログラムコードを実行することによって機能を実行させることにより、および/または1つ以上の特定用途向け回路に機能を実行させることによることを含む。
【0087】
用語「プログラム」または「ソフトウェア」は、本明細書では一般的な意味で使用されて、コンピュータまたは他のプロセッサをプログラムして、本技術の様々な態様を前述のとおりに実装するために採用できる任意のタイプのコンピュータコードまたはコンピュータ実行可能命令のセットを指す。追加として、本実施形態の一態様によれば、実行される場合に、本技術の方法を実行する1つ以上のコンピュータプログラムは、単一のコンピュータまたはプロセッサ上に常駐している必要はなく、いくつかの異なるコンピュータまたはプロセッサ間にモジュール方式で分散されて本技術の様々な態様を実装し得ることが理解されよう。
【0088】
全ての定義は、本明細書で定義されて使用されるように、辞書定義、参照によって組み込まれる文書内の定義、および/または定義された用語の通常の意味によって管理することが理解されるべきであろう。
【0089】
不定冠詞「1つの(a)」および「1つの(an)」は、本明細書およびクレームで使用されるように、それとは反対の明確な指示がない限り、「少なくとも1つの」を意味すると理解されるべきである。本明細書では、用語「右」、「左」、「上」、「下」、「上方」、「下方」、「内側」および「外側」は、参照が行われる図面における方向を指定する。
【0090】
句「および/または(and/or)」は、本明細書およびクレームで使用されるように、そのように結合された要素、すなわち、いくつかの事例で結合して提示されて、他の事例では分離して提示される要素、の「どちらか、または両方」を意味すると理解されるべきである。「および/または」と共にリストされた複数の要素は、同じ方法で、すなわち、そのように結合された要素の「1つまたは複数」、と解釈されるべきである。他の要素は任意選択で、特別に識別されたそれらの要素に関連するか、無関係であるかに関わらず、「および/または」句によって特別に識別された要素以外を示し得る。従って、非限定的例として、「Aおよび/またはB」への言及は、「を含む」などの無制限言語と一緒に使用される場合、一実施形態では、Aだけ(任意選択で、B以外の要素を含む)を;別の実施形態では、Bだけ(任意選択で、A以外の要素を含む)を;更に別の実施形態では、AとBの両方(任意選択で、他の要素を含む)を指し得る。
【0091】
本明細書およびクレームで使用されるように、「または(or)」は、上で定義された「および/または」と同じ意味を有することが理解されるべきである。例えば、リスト中の項目を区切る場合、「または」または「および/または」は、包括的として解釈されるべき、すなわち、いくつかの要素または要素のリストのうちの、少なくとも1つを含むが、2つ以上、および任意選択で、追加のリストされていない項目も含む。それとは反対に明確に示された唯一の項目、例えば、「のうちの1つだけ」もしくは「のうちの正確に1つ」など、または、クレーム内で使用される場合、「から成る(consisting of)」は、いくつかの要素または要素のリストのうちの正確に1つの要素の包含を指す。一般に、本明細書で使用される用語「または」は、「いずれか」、「のうちの1つ」、「のうちの1つだけ」、または「のうちの正確に1つ」などの、排他性の用語が付く場合、排他的な代替(すなわち、「一方または他方、しかし両方ではない」)を示すとしてだけ解釈されるものとする。「本質的に~から成る」はクレーム内で使用される場合、特許法の分野で使用されるようなその通常の意味を有するものとする。
【0092】
明細書およびクレームで使用されるように、句「少なくとも1つ」は、1つ以上の要素のリストに関連して、要素のリスト中の要素の任意の1つ以上から選択された少なくとも1つの要素を意味すると理解されるべきであるが、要素のリスト内に具体的にリストされた各および全ての要素の少なくとも1つを必ずしも含まず、要素のリスト中の要素の任意の組合せを除外しない。この定義は、要素が任意選択で、句「少なくとも1つ」が指す要素のリスト内で具体的に識別された要素以外を、具体的に識別されたそれらの要素に関連しているか無関係であるかにかかわらず、存在し得ることも可能にする。従って、非限定的例として、「AおよびBの少なくとも1つ」(または、同等に、「AまたはBの少なくとも1つ」または、同等に、「Aおよび/またはBの少なくとも1つ」)は、一実施形態では、Bが存在せず(および任意選択でB以外の要素を含む)、少なくとも1つ、任意選択で2つ以上を含む、A;別の実施形態では、Aが存在せず(および任意選択でA以外の要素を含む)、少なくとも1つ、任意選択で2つ以上を含む、B;更に別の実施形態では、少なくとも1つ、任意選択で2つ以上を含む、A、および少なくとも1つ、任意選択で2つ以上を含む、B(および任意選択で他の要素を含む);などを指し得る。
【0093】
クレームで、および前述の明細書でも、「含む(comprising)」、「含む(including)」、「持つ(carrying)」、「有する(having)」、「包含する(containing)」、「伴う(involving)」、「保持する(holding)」、「で構成される(composed of)」、および同様のものなどの、全ての移行句は、無制限と理解されるべきである、すなわち、包含するがそれらに制限されないことを意味する。移行句「~から成る(consisting of)」および「本質的に~から成る(consisting essentially of)」だけは、米国特許局審査便覧、セクション2111.03に記載されているとおり、それぞれ、閉じた、または半分閉じた移行句であるとする。
【0094】
本開示は、前述の記述だけでなく、添付のクレームに含まれるものを含む。本発明は、ある程度の特定性と共に、その典型的な形で記述されているが、本開示はほんの一例としてのみ作成されており、構成の詳細ならびに部分の組合せおよび配置における多数の変更が、本発明の精神および範囲から逸脱することなく採用され得ることが理解される。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
【国際調査報告】