(57)【特許請求の範囲】
【請求項１】
システムアーキテクチャのロバスト性を定量化する方法であって、
システムアーキテクチャに関連する情報を有する１つ以上のソースデータベースから情報を抽出し、抽出される情報は、前記システムアーキテクチャの第１設計次元の複数の第１インスタンスと、前記システムアーキテクチャの第２設計次元の複数の第２インスタンスとに関連し、
重み付きプロパティグラフデータモデルを表す第１データ構造を生成し、該第１データ構造は、前記複数の第１インスタンスを表す複数の頂点と、前記複数の頂点のうちの異なる頂点対を接続し、前記複数の第１インスタンスの階層的な有向合成又は有向分解を表す複数の重み付き合成エッジと、前記複数の頂点のうちの異なる頂点対を接続し、前記複数の第２インスタンスのうちの１つ以上の第２インスタンスに従った、前記複数の第１インスタンス間の接続を表す複数の重み付きインタフェースエッジ、とを含み、
少なくとも１つの重み付きインタフェースエッジが除去されていることを除いて前記第１データ構造と等価な第２データ構造を生成し、
前記第１データ構造の第１エッジビットウィーンネス階層クラスタを生成し、
前記第２データ構造の第２エッジビットウィーンネス階層クラスタを生成し、
前記第１エッジビットウィーンネス階層クラスタと前記第２エッジビットウィーンネス階層クラスタとの間の相関を計算する、
ことを有する方法。
【請求項２】
前記１つ以上のソースデータベースは、複数の異なる頂点タイプの複数の頂点と、同じ頂点タイプの頂点を接続し、前記同じ頂点タイプ内での階層的な有向合成及び有向分解を表す複数の合成エッジと、異なる頂点タイプの頂点を接続する複数の接続エッジと、を有する第３データ構造のプロパティグラフデータモデルを含む、請求項１に記載の方法。
【請求項３】
前記第１設計次元は、前記システムアーキテクチャのパート階層であり、
前記複数の第１インスタンスは、前記システムアーキテクチャの複数のパートであり、
前記第２設計次元は、前記システムアーキテクチャの前記複数のパートの間のインタフェース階層であり、
前記複数の第２インスタンスは、前記システムアーキテクチャの前記複数のパートの間の複数のインタフェースである、
請求項１に記載の方法。
【請求項４】
前記複数の重み付き合成エッジは、前記システムアーキテクチャの前記パート階層のパートを物理的に統合したものを表し、前記複数の重み付きインタフェースエッジは、前記システムアーキテクチャの前記パート階層のパート対間の情報交換インタフェースを表す、請求項３に記載の方法。
【請求項５】
前記第１データ構造の前記第１エッジビットウィーンネス階層クラスタを生成することは、前記第１データ構造上でＮｅｗｍａｎ＆Ｇｉｒｖａｎ２００４計算を実行することを含み、
前記第２データ構造の前記第２エッジビットウィーンネス階層クラスタを生成することは、前記第２データ構造上でＮｅｗｍａｎ＆Ｇｉｒｖａｎ２００４計算を実行することを含む、
請求項１に記載の方法。
【請求項６】
前記第１エッジビットウィーンネス階層クラスタと前記第２エッジビットウィーンネス階層クラスタとの間の前記相関を計算することは、前記第１エッジビットウィーンネス階層クラスタ及び前記第２エッジビットウィーンネス階層クラスタ上で、Ｂａｋｅｒのガンマ相関計算を実行することを含む、請求項１に記載の方法。
【請求項７】
前記第２データ構造を生成することは、最大で前記複数の重み付きインタフェースエッジの数までの複数の第２データ構造を生成することを含み、該生成は、該複数の第２データ構造ごとに、エッジビットウィーンネスセントラリティの所与の変位値サンプルステップサイズに従って、変位値が減少していく順序で１つの重み付きインタフェースエッジを除去して、各変位値サンプルについて１つを含む、増加していく数の重み付きインタフェースエッジが除去された複数バージョンの第１データ構造を生じさせることにより、
前記第２データ構造の前記第２エッジビットウィーンネス階層クラスタを生成することは、複数の第２エッジビットウィーンネス階層クラスタを生成することを含み、該複数の第２エッジビットウィーンネス階層クラスタの各々が、前記複数の第２データ構造のうちの対応する１つのものであり、
前記第１エッジビットウィーンネス階層クラスタと前記第２エッジビットウィーンネス階層クラスタとの間の前記相関を計算することは、複数の相関を計算することを含み、該複数の相関の各々が、前記第１エッジビットウィーンネス階層クラスタと、前記複数の第２エッジビットウィーンネス階層クラスタのうちの対応する１つとの間のものであり、
当該方法は更に、
閾値よりも低いエッジビットウィーンネス変位値を有する複数の第２データ構造についての、前記第１エッジビットウィーンネス階層クラスタと前記第２エッジビットウィーンネス階層クラスタとの間の中央相関値によって、狭小攻撃に対するロバスト性を計算し、
各除去されたエッジが前記閾値以上のビットウィーンネスセントラリティ変位値を有する複数の第２データ構造についての、前記第１エッジビットウィーンネス階層クラスタと前記第２エッジビットウィーンネス階層クラスタとの間の中央相関値によって、広範攻撃に対するロバスト性を計算する、
ことを有する、
請求項１に記載の方法。
【請求項８】
除去された重み付きインタフェースエッジの数に従った前記複数の第２データ構造の各々に対応する前記複数の相関のプロットを出力する、ことを更に有する請求項７に記載の方法。
【請求項９】
前記ビットウィーンネスセントラリティの値は、前記第１データ構造及び前記複数の第２データ構造のうちの少なくとも１つ上でＮｅｗｍａｎ＆Ｇｉｒｖａｎ２００４計算を実行することによって計算される、請求項８に記載の方法。
【請求項１０】
システムアーキテクチャのロバスト性を定量化するシステムであって、
システムアーキテクチャに関連する情報を有する１つ以上のソースデータベースにアクセスするデータベース構文解析部と、
前記システムアーキテクチャの第１設計次元の複数の第１インスタンスに関連する情報を、前記１つ以上のソースデータベースから抽出する第１情報抽出部と、
前記システムアーキテクチャの第２設計次元の複数の第２インスタンスに関連する情報を、前記１つ以上のソースデータベースから抽出する第２情報抽出部と、
重み付きプロパティグラフデータモデルを表す第１データ構造を生成する第１データ構造生成部であり、前記第１データ構造は、前記複数の第１インスタンスを表す複数の頂点と、前記複数の頂点のうちの異なる頂点対を接続し、前記複数の第１インスタンスの階層的な有向合成又は有向分解を表す複数の重み付き合成エッジと、前記複数の頂点のうちの異なる頂点対を接続し、前記複数の第２インスタンスのうちの１つ以上の第２インスタンスに従った、前記複数の第１インスタンス間の接続を表す複数の重み付きインタフェースエッジ、とを含む、第１データ構造生成部と、
少なくとも１つの重み付きインタフェースエッジが除去されていることを除いて前記第１データ構造と等価な第２データ構造を生成する第２データ構造生成部と、
前記第１データ構造の第１エッジビットウィーンネス階層クラスタを生成する第１クラスタ生成部と、
前記第２データ構造の第２エッジビットウィーンネス階層クラスタを生成する第２クラスタ生成部、
前記第１エッジビットウィーンネス階層クラスタと前記第２エッジビットウィーンネス階層クラスタとの間の相関を計算する相関計算部と、
を有するシステム。
【請求項１１】
前記１つ以上のソースデータベースは、複数の異なる頂点タイプの複数の頂点と、同じ頂点タイプの頂点を接続し、前記同じ頂点タイプ内での階層的な有向合成及び有向分解を表す複数の合成エッジと、異なる頂点タイプの頂点を接続する複数の接続エッジと、を有する第３データ構造のプロパティグラフデータモデルを含む、請求項１０に記載のシステム。
【請求項１２】
前記第１設計次元は、前記システムアーキテクチャのパート階層であり、
前記複数の第１インスタンスは、前記システムアーキテクチャの複数のパートであり、
前記第２設計次元は、前記システムアーキテクチャの前記複数のパートの間のインタフェース階層であり、
前記複数の第２インスタンスは、前記システムアーキテクチャの前記複数のパートの間の複数のインタフェースである、
請求項１０に記載のシステム。
【請求項１３】
前記複数の重み付き合成エッジは、前記システムアーキテクチャの前記パート階層のパートを物理的に統合したものを表し、前記複数の重み付きインタフェースエッジは、前記システムアーキテクチャの前記パート階層のパート対間の情報交換インタフェースを表す、請求項１２に記載のシステム。
【請求項１４】
前記第１クラスタ生成部は、前記第１データ構造の前記第１エッジビットウィーンネス階層クラスタを、前記第１データ構造上でＮｅｗｍａｎ＆Ｇｉｒｖａｎ２００４計算を実行することによって生成し、
前記第２クラスタ生成部は、前記第２データ構造の前記第２エッジビットウィーンネス階層クラスタを、前記第２データ構造上でＮｅｗｍａｎ＆Ｇｉｒｖａｎ２００４計算を実行することによって生成する、
請求項１０に記載のシステム。
【請求項１５】
前記相関計算部は、前記第１エッジビットウィーンネス階層クラスタと前記第２エッジビットウィーンネス階層クラスタとの間の前記相関を、前記第１エッジビットウィーンネス階層クラスタ及び前記第２エッジビットウィーンネス階層クラスタ上で、Ｂａｋｅｒのガンマ相関計算を実行することによって計算する、請求項１０に記載のシステム。
【請求項１６】
前記第２データ構造生成部は、最大で前記複数の重み付きインタフェースエッジの数までの複数の第２データ構造を生成し、該生成は、該複数の第２データ構造ごとに、エッジビットウィーンネスセントラリティの所与の変位値サンプルステップサイズに従って、変位値が減少していく順序で１つの重み付きインタフェースエッジを除去して、各変位値サンプルについて１つを含む、増加していく数の重み付きインタフェースエッジが除去された複数バージョンの第１データ構造を生じさせることにより、
前記第２クラスタ生成部は、複数の第２エッジビットウィーンネス階層クラスタを生成し、該複数の第２エッジビットウィーンネス階層クラスタの各々が、前記複数の第２データ構造のうちの対応する１つのものであり、
前記相関計算部は、複数の相関を計算し、該複数の相関の各々が、前記第１エッジビットウィーンネス階層クラスタと、前記複数の第２エッジビットウィーンネス階層クラスタのうちの対応する１つとの間のものであり、
当該システムは更に、除去された重み付きインタフェースエッジの数に従った前記複数の第２データ構造の各々に対応する前記複数の相関のプロットを出力する相関プロット部を有し、
当該システムは更に、前記複数の第２データ構造の各々に関する前記複数の相関に従って、前記１つ以上のソースデータベースによって表される前記システムアーキテクチャの広範攻撃及び狭小攻撃に対するロバスト性を計算するロバスト性メトリック計算部を含む、
請求項１０に記載のシステム。
【請求項１７】
命令を含んだ少なくとも１つの非一時的機械読み取り可能媒体であって、前記命令は、機械によって実行されるときに、システムアーキテクチャのロバスト性を定量化するよう、前記機械に、
コンピューティングプロセッサにより、システムアーキテクチャに関連する情報を有する１つ以上のソースデータベースにアクセスし、
前記システムアーキテクチャの第１設計次元の複数の第１インスタンスに関連する情報を、前記１つ以上のソースデータベースから抽出し、
前記システムアーキテクチャの第２設計次元の複数の第２インスタンスに関連する情報を、前記１つ以上のソースデータベースから抽出し、
重み付きプロパティグラフデータモデルを表す第１データ構造を生成し、該第１データ構造は、前記複数の第１インスタンスを表す複数の頂点と、前記複数の頂点のうちの異なる頂点対を接続し、前記複数の第１インスタンスの階層的な有向合成又は有向分解を表す複数の重み付き合成エッジと、前記複数の頂点のうちの異なる頂点対を接続し、前記複数の第２インスタンスのうちの１つ以上の第２インスタンスに従った、前記複数の第１インスタンス間の接続を表す複数の重み付きインタフェースエッジ、とを含み、
少なくとも１つの重み付きインタフェースエッジが除去されていることを除いて前記第１データ構造と等価な第２データ構造を生成し、
前記第１データ構造の第１エッジビットウィーンネス階層クラスタを生成し、
前記第２データ構造の第２エッジビットウィーンネス階層クラスタを生成し、
前記第１エッジビットウィーンネス階層クラスタと前記第２エッジビットウィーンネス階層クラスタとの間の相関を計算する、
という処理を実行させる、非一時的機械読み取り可能媒体。
【請求項１８】
前記１つ以上のソースデータベースは、複数の異なる頂点タイプの複数の頂点と、同じ頂点タイプの頂点を接続し、前記同じ頂点タイプ内での階層的な有向合成及び有向分解を表す複数の合成エッジと、異なる頂点タイプの頂点を接続する複数の接続エッジと、を有する第３データ構造のプロパティグラフデータモデルを含む、請求項１７に記載の非一時的機械読み取り可能媒体。
【請求項１９】
前記第１設計次元は、前記システムアーキテクチャのパート階層であり、
前記複数の第１インスタンスは、前記システムアーキテクチャの複数のパートであり、
前記第２設計次元は、前記システムアーキテクチャの前記複数のパートの間のインタフェース階層であり、
前記複数の第２インスタンスは、前記システムアーキテクチャの前記複数のパートの間の複数のインタフェースである、
請求項１７に記載の非一時的機械読み取り可能媒体。
【請求項２０】
前記第１データ構造の前記第１エッジビットウィーンネス階層クラスタを生成することは、前記第１データ構造上でＮｅｗｍａｎ＆Ｇｉｒｖａｎ２００４計算を実行することを含み、
前記第２データ構造の前記第２エッジビットウィーンネス階層クラスタを生成することは、前記第２データ構造上でＮｅｗｍａｎ＆Ｇｉｒｖａｎ２００４計算を実行することを含み、
前記第１エッジビットウィーンネス階層クラスタと前記第２エッジビットウィーンネス階層クラスタとの間の前記相関を計算することは、前記第１エッジビットウィーンネス階層クラスタ及び前記第２エッジビットウィーンネス階層クラスタ上で、Ｂａｋｅｒのガンマ相関計算を実行することを含む、
請求項１７に記載の非一時的機械読み取り可能媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、２０１７年３月１６日に出願された米国特許出願第１５／４６０，４６２号に対する優先権の利益を主張するものであり、その全体をここに援用する。
【０００２】
実施形態は、概してシステムアーキテクチャモデルに関し、より具体的には、システムアーキテクチャを表す複数のプロパティグラフデータモデルを解析することによってシステムアーキテクチャのロバスト性を定量化することに関する。
【背景技術】
【０００３】
システムアーキテクチャを開発するとき、システムの物理階層及び情報交換インタフェースに関するデータが、システムアーキテクチャの理解を容易にする。システムアーキテクチャの様々な側面を設計及び開発するために使用される数多くの異なるツールが存在しており、故に、システムの物理階層及び情報交換インタフェースに関するデータは、典型的に、それら様々な異なるツール間で多様な異なる形態でばらまかれている。それらのツールは、アーキテクチャ開発に寄与する様々なドメインによって利用され得るが、それらが提供しようとしているドメインによる開発を可能にするために、なおも、それらのソフトウェアパッケージにおいて異なる言語及び標準を利用している。一部の例は、例えば、ＩＢＭ（登録商標）ＲＡＴＩＯＮＡＬ（登録商標）ＲＨＡＰＳＯＤＹ（登録商標）ＤＥＳＩＧＮＥＲ  ＦＯＲ  ＳＹＳＴＥＭＳ  ＥＮＧＩＮＥＲＳ、Ｎｏ  Ｍａｇｉｃ，  Ｉｎｃ．社のＭＡＧＩＣＤＲＡＷ、Ｖｉｔｅｃｈ  Ｃｏｒｐｏｒａｔｉｏｎ社のＣＯＲＥ（登録商標）といったシステムソフトウェアモデリングツール、又は、例えばＰＴＣ社のＣＲＥＯ（登録商標）、ＤＡＳＳＡＵＬＴ  ＳＹＳＴＥＭＥＳ社のＳＯＬＩＤＷＯＲＫＳ、ＰＴＣ社のＣＲＥＯ  ＳＣＨＥＭＡＴＩＣＴＭ（登録商標）、及びその他といった、機械的電気的設計ツールを含む。計算機解析は典型的にシステム設計の様々な側面で行われるが、システムアーキテクチャ全体では行われていない。システムアーキテクチャの全体的解析は、典型的に、専門家による手作業でのモデル化及び解析、報告書の作成、並びにピア要件レビュー及び設計レビューを必要とする。
【図面の簡単な説明】
【０００４】
【図１】一部の実施形態に従った、システムアーキテクチャを表すプロパティグラフデータモデルを生成するためのデータフローを示すブロック図である。
【図２】一部の実施形態に係るグラフスキーマを示すブロック図である。
【図３】一部の実施形態に従った、図２のグラフスキーマに従ったプロパティグラフを示すブロック図である。
【図４】一部の実施形態に従った、プロパティグラフを生成するシステムを示すブロック図である。
【図５】一部の実施態様に従った、プロパティグラフを生成する方法を示すブロック図である。
【図６Ａ】図６Ａ及び６Ｂは、一部の実施形態に従った、プロパティグラフに基づいて重み付きパート間結合グラフを生成することを示すブロック図である。
【図６Ｂ】図６Ａ及び６Ｂは、一部の実施形態に従った、プロパティグラフに基づいて重み付きパート間結合グラフを生成することを示すブロック図である。
【図７】一部の実施形態に従った、重み付きパート間結合グラフを生成するシステムを示すブロック図である。
【図８】一部の実施形態に従った、重み付きパート間結合グラフを生成する方法を示すブロック図である。
【図９】一部の実施形態に従った、システムアーキテクチャの一貫性を定量化することを示すブロック図である。
【図１０】一部の実施形態に従った、様々な例示的な計算機解析結果を示すグラフである。
【図１１】一部の実施形態に従った、システムアーキテクチャの一貫性を定量化するシステムを示すブロック図である。
【図１２】一部の実施形態に従った、システムアーキテクチャの一貫性を定量化する方法を示すブロック図である。
【図１３】一部の実施形態に従った、システムアーキテクチャのロバスト性を定量化することを示すブロック図である。
【図１４】一部の実施形態に従った、システムアーキテクチャのロバスト性を定量化するシステムを示すブロック図である。
【図１５】一部の実施形態に従った、システムアーキテクチャのロバスト性を定量化する方法を示すブロック図である。
【図１６】一部の実施形態に従った、システムアーキテクチャ設計の数個の異なる反復でのレジリエンスプロファイルを示すレジリエンスプロファイルグラフである。
【発明を実施するための形態】
【０００５】
以下の説明及び図面は、特定の実施形態を、当業者がそれらを実施することができるように十分に説明するものである。他の実施形態は、物理的な、機能的な、論理的な、電気的な、プロセス上の、コスト上の、及びその他の変更を組み込むことができる。一部の実施形態の部分及び機構が、他の実施形態のそれらに含まれたり、それらを代替したりすることができる。請求項に記載される実施形態は、それら請求項の利用可能な均等物の全てを包含する。
【０００６】
システムアーキテクチャを表すプロパティグラフデータモデル（property  graph  data  model）は、デジタルシステムモデル（ＤＳＭ）全体の解析を、それらの複雑さに関係なく支援し得る。プロパティグラフデータモデルは、システムアーキテクチャの異なる側面、特徴、及び設計次元を表す多様な異なるデータベース及びデータファイルに基づいて生成され得る。それら異なるデータベース及びデータファイルは、様々な異なるソフトウェアツールによって生成され得る。それら異なるデータベース内のシステムアーキテクチャに関連する大量のデータは、あまりにも膨大で、あまりにも詳細で、あまりにも切れぎれであるため、直接的には意味をなさないが、この大量のデータを一貫性のある統一された表現へとまとめ上げることによって生成されるプロパティグラフデータモデルは、接続されていないツールセット及びデータベースからはさもなければ知られ得ないシステムアーキテクチャに関する情報を収集するために、計算機解析されることができる。プロパティグラフデータモデルは、例えばセンサといった小さいシステムアーキテクチャから、大規模なコンピュータシステム、コンピュータ通信ネットワーク、航空宇宙システム、軍事防衛システムなどに至る様々なシステムアーキテクチャサイズ及び階層にわたる、計算機解析可能でスケーラブルな単一の階層的表現とし得る。
【０００７】
プロパティグラフデータモデルは、システムアーキテクチャ設計の数学的表現とみなし得る。プロパティグラフデータモデルに格納されたデータを用いて実行されるシステム解析は、リレーショナルデータベース管理システム（ＲＤＭＳ）に格納されたデータを用いる場合よりも遥かに高速に実行され得る。何故なら、プロパティグラフデータモデルは、複数の接続との入り組んだ複雑な関係を格納してそれにアクセスすることによって、遥かに効率的であるからである。プロパティグラフデータモデルはまた、システムアーキテクチャ設計の自己一貫性のある記述だけでなく、システムアーキテクチャの製造、試験、性能、信頼性、欠陥、故障、及びコスト、並びに他の特徴及び側面に関する情報も組み込むように拡張され得る。プロパティグラフデータモデルは、システムアーキテクチャの異なる側面、特徴、及び設計次元の間の関係を捕捉して規定し得る。そして、それらの関係を、様々な解析方法を用いて計算機解析することで、システムアーキテクチャの品質、モジュラリティ（modularity）、成熟度、ロバスト性、レジリエンス、信頼性、及び脆弱性についての情報、並びに、その物理的システムアーキテクチャが機能的システムアーキテクチャとどの程度うまく整合するかについての情報を取得し得る。
【０００８】
プロパティグラフデータモデルは、一般にプロパティグラフ解析のために適用可能なグラフアルゴリズムを使用する様々なタイプの解析を容易にするよう、重み付きパート間結合（weighted  part-to-part  coupling）グラフに変換され得る。重み付きパート間結合グラフデータモデルは、プロパティグラフデータモデルの一実施形態とし得る。重み付きパート間結合グラフにおいて、プロパティグラフデータモデル内で構築されるパートの階層が、インタフェース設計次元によって確立されるプロパティグラフデータモデル内のパート間の接続と、例えば、パート間の接続の数若しくは頻度、パート間のインタフェースの複雑さ、パート間のインタフェースに含まれる信号の数、及び、接続されるパートに関連するコスト若しくは欠陥といった様々な要因と、に従って異なるパートを接続する重み付きインタフェースエッジで補われ得る。重み係数は、目下の用途とパート間結合グラフを用いて実行される解析とに従って調節され得る。
【０００９】
パート間結合グラフを用いて、物理システムの階層的分解と機能アーキテクチャの一実施形態としてのシステムの情報交換インタフェースとの間の一貫性が、物理的分解接続及び情報交換接続に基づくパートのクラスタを計算的に作成し、それらを比較することによって解析され得る。これまで、典型的な解析手法は、主題専門家がシステム図及びシステムアーキテクチャ及び設計についての報告書をレビューすることと、熟練した実務家がデザインレビューすることとによる、大部分が手作業での試みであった。それら手作業での試みは主観的であり、従って一貫性と再現性も欠いたものであった。この手作業での試みはまた、システムの一貫性あるアーキテクチャ記述を達成するために、異なる視点及びツールセット間のギャップ又は不連続性を検出するロバスト性を欠いていた。例えば設計の個々のパートの設計及び性能といったシステム設計の様々な側面についての詳細設計レベルで、個々のソフトウェア設計、モデル化、及びシミュレーションツールを頼りにしていたが、そのようなソフトウェアツールは、パート間の情報交換インタフェースをシステムアーキテクチャ内のパートの物理的階層又は分解と比較することによってシステムアーキテクチャ設計の一貫性を定量化するという能力を含んでいなかった。
【００１０】
図１は、一部の実施形態に従った、システムアーキテクチャを表すプロパティグラフデータモデル１５０の生成のためのデータフローを示すブロック図である。システムアーキテクチャは、例えばシステムアーキテクチャの様々な側面の設計、モデル化及び／又はシミュレーションのためのソフトウェアアプリケーションといった、多様なツールを用いて設計され得る。従って、システムアーキテクチャの様々な部分が、異なる構造を持つ異なるデータベース内で表現され、異なるファイルフォーマットを持つ異なるデータファイルに格納され得る。これら様々な異なるデータベースをソースデータベース１１０として、そこから、システムレベルの解析、評価、及び設計の目的でシステムアーキテクチャ全体を表す単一の統合されたプロパティグラフデータモデル１５０を生成するために、システムアーキテクチャに関する関連特徴がアクセスされ得る。ソースデータベース１１０に含まれるシステムアーキテクチャに関する関連特徴は、システムアーキテクチャの設計、モデル化、シミュレーション、製造、動作、試験、性能、信頼性、欠陥、故障、コスト、及び評価に関連する情報を含み得る。
【００１１】
ソースデータベース１１０は、例えば、システムアーキテクチャに含まれる様々なパート、様々なパート間の情報交換インタフェース、これらのインタフェースを介してパート間で交換される情報アイテム、インタフェースを介してパート間で交換される情報アイテムを通信するために使用される信号、パートによって実行される機能、及び様々なパートに関する又は様々なパートによって実行される様々な機能に関するシステム要求又は機能要求といった、システムアーキテクチャの多数の次元に関連する情報を含み得る。ソースデータベース１１０は、例えば、集積回路、プリント回路基板、及びフィールドプログラマブルゲートアレイ（ＦＰＧＡ）に関するネットリストを記述するデータファイルや、システムアーキテクチャのハードウェア記述言語モデルなどを含み得る。
【００１２】
システムアーキテクチャの各次元はまた、階層の異なるレベルで表され得る。例えば、システムアーキテクチャのパートは、例えば計算ラックといったモジュールとして、階層の高レベルで表され得る。階層の次に低いレベルで、計算ラックは、その計算ラックにプラグインする複数のブレードに分解されることができ、それらブレードの各々が、計算プロセッサ、又は例えばネットワークルータ、ネットワークファイル記憶コントローラなどといった他の装置を含み得る。階層の次に低いレベルで、ブレードの各々が、そのブレードにプラグインする様々なカードに分解され得る。階層の次に低いレベルで、それら様々なカードが、例えばそのカード上にはんだ付けされるパッケージングされた半導体チップといった、そのカードに取り付けられる個々の電子部品に分解され得る。
【００１３】
フォーマット変換部１２０が、ソースデータベース１１０からデータを読み取り、システムアーキテクチャ解析に使用されてプロパティグラフデータモデル１５０に含められるべき適切なデータを選択し、そして、選択したデータを、中間フォーマット１３０に格納されるように出力し得る。フォーマット変換部１２０は、システムアーキテクチャの１つ以上の特定の側面を解析するのに適切なソースデータベース１１０からデータを選択してフォーマットを整え得る。中間フォーマット１３０は、メモリに記憶された内部データ構造、又は例えばハードディスクドライブ若しくはフラッシュドライブなどのストレージ装置に格納されたデータファイルを含み得る。中間フォーマット１３０は、システムアーキテクチャの特徴、システムアーキテクチャの様々な側面を表すために使用される様々なツール、及びソースデータベース１１０の様々なフォーマット及び特徴に関係なく、一貫性あるフォーマットを有し得る。中間フォーマット１３０は、システムアーキテクチャの高レベルとシステムアーキテクチャの詳細設計との間のギャップを橋渡しすることができる。中間フォーマット１３０は、１つ以上のファイルを含み得る。
【００１４】
グラフ構築部１４０が、中間フォーマット１３０に格納されたデータを読み取り、そして、ここのどこかで説明されるグラフスキーマに従ってシステムアーキテクチャを階層的に表すようにプロパティグラフ１５０を構築することによって、システムアーキテクチャをグラフにまとめ上げ得る。グラフ構築部１４０は、システムアーキテクチャの特徴、システムアーキテクチャの様々な側面を表すために使用される様々なツール、及びソースデータベース１１０の様々なフォーマット及び特徴に関係なく、全てのタイプのシステムアーキテクチャに使用される一貫性あるものとし得る。プロパティグラフデータモデル１５０は、システムアーキテクチャ設計の物理的及び機能的な図を提供し得る。プロパティグラフデータモデル１５０は、例えば、システムアーキテクチャの品質、システムアーキテクチャのモジュラリティ、システムアーキテクチャの成熟度、システムアーキテクチャのロバスト性、システムアーキテクチャの信頼性、システムアーキテクチャの脆弱性、及び異なるシステムアーキテクチャ間でのこれらの解析の比較といった、システムアーキテクチャの様々なタイプの解析を容易にし、これらの定量的解析に基づいて、異なる設計の相対的なランキングが理解され得る。
【００１５】
図２は、一部の実施形態に従った、グラフスキーマ２００を示すブロック図である。グラフスキーマ２００は、図１のソースデータベース１１０に関連して使用される全てのツールにわたって共通とすることができ、故に、ツール無依存と見なされ得る。グラフスキーマ２００は、様々な設計次元の異なる階層間及び階層の異なるレベルにおける様々な設計次元の異なる要素間の関係を表現する。
【００１６】
グラフスキーマ２００は、頂点（正方形、円、三角形、菱形、六角形、及び八角形を含む様々な形状として図示される）及びエッジ（実線及び破線として図示される）という２つの必須要素を含む。頂点は、例えばパート２１０、インタフェース２２０、情報アイテム２３０、信号２４０、機能２５０、及び要求２６０といった、設計次元のクラスを表し得る。特定の例示的な設計次元が図示の頂点によって表されているが、より多数又は少数の設計次元がグラフスキーマ２００の特定の実施形態において表され得るので、これは限定するものとして解釈されるべきでない。例えば、様々な実施形態において、グラフスキーマ２００は、パート２１０及びインタフェース２２０についての頂点によって表される設計次元のみを含んでもよい。様々な実施形態において、製造中にパート上で行われる処理についての設計次元もグラフスキーマ２００にて表され得る。様々な実施形態において、設計内のパートから構築されるシリアル番号についての設計次元もグラフスキーマ２００にて表され得る。様々な実施形態において、製造処理によってシリアル番号で発見される欠陥についての設計次元も、グラフスキーマ２００にて表され得る。
【００１７】
合成エッジ（破線として示される）は、階層のあるレベルから階層の別のレベルへの、ある頂点によって表される設計次元のクラスの有向分解（例えば、矢印の方向）又は方向合成（例えば、矢印の方向とは反対）を表し得る。ある頂点によって表される設計次元の有向分解は、より高い階層レベルにあるその頂点をより低い階層レベルにある複数の頂点へと分解することができ、その頂点によって表される設計次元の有向合成は、低い方の階層レベルにある複数の頂点から、高い方の階層レベルにある単一の頂点を合成することができる。
【００１８】
接続エッジ（実線として示される）は、システムアーキテクチャの異なる設計次元（頂点として示される）間の接続又は関係を表し得る。図２に示す接続エッジの矢印の方向は、グラフスキーマ２００についての定義の方向を表し、必ずしもグラフスキーマ２００によって表されるシステムアーキテクチャのデータフローの方向ではない。図示されるように、インタフェース２２０は、パート２１０に接続（コネクト・ツー）し得るとともに、パート２１０から接続（コネクト・フロム）し得る。これは、パート２１０同士が情報交換インタフェース２２０を介して互いに接続され得るという関係を表す。まとめると、コネクト・ツーとコネクト・フロムとの関係対（ペア）は、パートからパートへのデータフローの方向を具現化する。情報交換インタフェース上の両方のエンドポイントに向けられたコネクト・ツー及びコネクト・フロムの接続エッジによって、双方向インタフェースが表され得る。階層の様々なレベルにおいて、インタフェース２２０は、ワイヤハーネス、ワイヤハーネスの個々のワイヤ、及びワイヤハーネスの個々のワイヤを介して通信するのに使用される通信プロトコルを含み得る。例えば、高レベルインタフェースはワイヤハーネスとすることができ、低レベルインタフェースはイーサネット（登録商標）通信インタフェースとすることができる。他のインタフェース２２０の階層的統合であるインタフェース２２０は、インタフェース２２０がその合成階層のどこに位置するかに拘わらず、パート２１０に接続し得るとともに、パート２１０から接続し得る。しかしながら、グラフデータモデルの曖昧さを低減するために、グラフスキーマ２００に従ってプロパティグラフデータモデル１５０を構築するときに、コネクト・ツー及びコネクト・フロムの接続エッジをそれらそれぞれの合成／分解階層内のリーフノードであるインタフェース頂点のみに制限することによって、パートエンドポイントがインタフェース階層にわたって一貫することを確保するよう注意を払ってもよい。
【００１９】
図示されるように、インタフェース２２０は信号２４０を含む。これは、様々な信号２４０がインタフェース２２０を横切ってパート２１０間で通信され得るという関係を表す。階層の異なるレベルで表される信号２４０は、インタフェース２２０の異なる階層レベルに接続され得る。信号２４０の例は、電力電圧、電力接地、電気信号波形、光信号などを含む。これまた図示されるように、インタフェース２２０は情報アイテム２３０を転送することができ、情報アイテム２３０は信号２４０を含むことができる。これは、例えばデータといった情報アイテム２３０が、異なるパート２１０間でインタフェース２２０を横切って転送され得ることを表す。情報アイテム２３０はまた、異なる階層レベルで表されることができ、異なる階層レベルにある情報アイテム２３０は、異なる階層レベルにある信号２４０を含むことができる。高レベル情報アイテムの例は、通信プロトコルについてのパケット定義を含み、低レベル情報アイテムの例は、パケット内のビットフィールドを含み得る。情報アイテム２３０は、機能２５０から出力され（アウトプット・フロム）又は機能２５０に入力され（インプット・ツー）得る。機能２５０は、パート２１０によって実行され得る。機能２５０はまた、要求２６０に基づき得る。要求２６０は、非機能的要求に関して、システムアーキテクチャ内のパート２１０を規定し得る。一般に、１つの設計次元を表す頂点の階層レベルが、異なる設計次元を表す１つ以上の他の頂点の任意の階層レベルに、異なる設計次元間の関係を表す接続エッジによって接続し得る。
【００２０】
グラフスキーマ２００は、要求、機能、パート、インタフェース、アイテム、及び信号の頂点クラス、並びに合成エッジ及び接続エッジを具現化するものであるグラフスキーマ２００に適合するプロパティグラフ（例えば、図３のプロパティグラフ３００）を構築するために、グラフ構築部１４０（図４を参照）ロジック内で使用され得る。
【００２１】
グラフスキーマ２００はまた、図１の中間フォーマット１３０に含められる情報と、その中間フォーマット１３０がどのように構成されるかと、に関係し得る。例えば、プロダクト階層ファイルは、システムアーキテクチャ内の固有パート毎に１つの行と、パート名称のための列と、親階層及び子階層のパート名称毎に１つの列と含み得る。インタフェースファイルは、システムアーキテクチャ内の固有インタフェース毎に１つの行と、インタフェースの名称、インタフェースがそれに接続するパート名称、インタフェースがそれから接続するパート名称、インタフェース上での情報フローの方向毎の列と、それからインタフェースが分解される電気ハーネスについての列とを含み得る。信号ファイルは、システムアーキテクチャ内の固有信号（例えば、電気信号）毎に１つの行と、信号の名称、信号を含むインタフェース又は情報アイテムの名称、信号が関係する設計次元のクラス名称（例えば、インタフェース又は情報アイテム）毎の列と、親階層及び子階層の信号名称毎に１つの列とを含み得る。情報アイテムファイルは、システムアーキテクチャ内の固有情報アイテム毎に１つの行と、情報アイテムの名称、情報アイテムを転送するインタフェース名称若しくは情報アイテムを含む信号名称、情報アイテムが関係する設計次元のクラス名称（例えば、インタフェース又は信号）毎の列と、親階層及び子階層の情報アイテム名称毎に１つの列とを含み得る。中間フォーマット１３０は、ここで説明したものよりも多数又は少数のファイルを含んでいてもよく、設計次元の各クラスに関する情報は、同じデータファイル内に一緒に含められてもよいし、メモリに含められてもよい。
【００２２】
図３は、一部の実施形態に従った、図２のグラフスキーマ２００による例示的なプロパティグラフ３００を示すブロック図である。パートＡが、プロパティグラフ３００の最も高い階層レベルにあり、最も高い階層レベルより低い第２階層レベルにあるパートＡ．１、Ａ．２、及びＡ．３に分解する。パートＡ．１は第３階層にあるＡ．１．１及びＡ．１．２に分解し、パートＡ．２は第３階層にあるＡ．２．１及びＡ．２．２に分解し、そして、パートＡ．３は第３階層にあるＡ．３．１及びＡ．３．２に分解する。インタフェースＸが、第３階層レベルにあるパートＡ．３．１から接続するとともに、第２階層レベルにあるパートＡ．２に接続する。インタフェースＸは信号Ｕを含む。信号Ｕは、信号Ｓ及びＴと共に情報アイテムＪに含まれる。インタフェースＺが情報アイテムＩを転送し、インタフェースＺは、より低い階層レベルにあるインタフェースＺ．１及びＺ．２に分解する。インタフェースＺ．１は、パートＡ．３．２から接続するとともに、パートＡ．２．１に接続する。インタフェースＺ．２は、信号Ｓ、Ｔ、及びＵを含む情報アイテムＪを転送する。パートＡ．３は機能Ｆを実行する。機能Ｆは、機能Ｆ．１及びＦ．２に分解する。パートＡ．３．２が機能Ｆ．１を実行し、パートＡ．３．１が機能Ｆ．２を実行する。要求ＲがパートＡ．３を規定する。要求Ｒは、要求Ｒ．１及びＲ．２に分解する。機能Ｆ．２は、要求Ｒ．２に基づいて実行される。
【００２３】
システムアーキテクチャに関する様々なメトリック（指標）を決定するために、プロパティグラフデータモデル３００を用いて様々な計算機的ネットワーク解析が実行され得る。それら様々な解析方法は、システムアーキテクチャの品質、モジュラリティ、成熟度、ロバスト性、レジリエンス、信頼性、及び脆弱性、並びに物理システムアーキテクチャが機能システムアーキテクチャとどの程度うまく整合するか、についての情報を取得し得る。様々な他の結果及び情報を生み出す様々な他の可能性ある解析も、プロパティグラフデータモデル３００を用いて実行され得る。
【００２４】
図４は、一部の実施態様に従った、プロパティグラフを生成するシステム４００を示すブロック図である。システム４００によって生成され得るプロパティグラフ３００の一例が図３に示されている。システム４００は、計算プロセッサ４０２と、例えばプロパティグラフ３００を表すグラフスキーマ２００に基づくデータ構造といった、計算プロセッサ４０２によって処理されるデータ構造を記憶し得るメモリ回路４０４とを含み得る。メモリ回路４０４はまた、計算プロセッサ４０２によって実行されるときに図５の方法５００を実行するプログラムを格納し得る。システム４００の要素は、１つ以上の接続又はデータバス４５４を介して互いに通信し得る。
【００２５】
プロパティグラフは、データ構造内の複数の頂点、複数の合成エッジ、及び複数の接続エッジを含んだ、例えば図１のプロパティグラフデータモデル１５０といった、プロパティグラフデータモデルの一実施形態とし得る。複数の合成エッジが、ある頂点タイプ内での有向合成及び有向分解を表し得るとともに、複数の接続エッジが、１つの頂点タイプと別の１つの頂点タイプとの間の接続を表し得る。
【００２６】
データベース構文解析部（パーサ）４０６が、システムアーキテクチャに関する関連特徴を含んだ、例えば図１のソースデータベース１１０といった１つ以上のソースデータベースにアクセスし得る。システムアーキテクチャに関する関連特徴は、システムアーキテクチャの設計、モデル化、シミュレーション、製造、処理、試験、性能、信頼性、欠陥、故障、コスト、及び評価に関連する情報を含み得る。ソースデータベースは、システムアーキテクチャに含まれるデバイス、コンポーネント、サブシステム、及びシステムの設計、モデル化、及びシミュレーションのための様々なハードウェア及び／又はソフトウェアツールについてのデータファイルを含み得る。ソースデータベースは、メモリ回路４０４に格納されたデータ構造を含み得る。データベース構文解析部４０６は、例えばＦＰＧＡ若しくは特定用途向け集積回路（ＡＳＩＣ）などの特殊目的のプロセッサといった、恒久的に構成される専用の回路若しくはロジック、又は、例えばメモリ回路４０４に格納された命令に従って処理を実行する計算プロセッサ４０２といった、プログラム可能なロジック又は回路を含み得る。
【００２７】
第１情報抽出部４０８が、システムアーキテクチャの第１設計次元の複数の第１インスタンスに関連する情報を、１つ以上のソースデータベースから抽出し得る。第１情報抽出部４０８は、図１のフォーマット変換部１２０の実施形態に含まれ得る。第１設計次元は、システムアーキテクチャのパート階層とし得る。複数の第１インスタンスは、システムアーキテクチャの複数のパートとし得る。それらのパートの一部が、それらのパートのうちの他のものを統合したものであってもよく、故に、それらのパートのうちの他のものを統合したものであるパートは、それらのパートのうち上記他のものよりも、パートの階層の高いレベルにあり得る。パート階層の例は、グラフスキーマ２００のパート２１０、及び図３のパートＡ、Ａ．１、Ａ．２、Ａ．３、Ａ．１．１、Ａ．１．２、Ａ．２．１、Ａ．２．２、Ａ．３．１、及びＡ．３．２によって表され得る。例えば、回路カードパートは、複数の集積回路パートと、複数の集積回路パートが上に実装されるプリント回路基板とを統合したものとすることができ、故に、回路カードパートは、複数の集積回路パート、及び複数の集積回路パートが上に実装される回路基板パートよりも、パート階層の高いレベルにあるとし得る。第１情報抽出部４０８は、例えばＦＰＧＡ若しくはＡＳＩＣなどの特殊目的のプロセッサといった、恒久的に構成される専用の回路若しくはロジック、又は、例えばメモリ回路４０４に格納された命令に従って処理を実行する計算プロセッサ４０２といった、プログラム可能なロジック又は回路を含み得る。
【００２８】
第１頂点生成部４１０が、複数の第１インスタンスの各第１インスタンスについて、プロパティグラフデータモデルにおける第１頂点を生成し得る。第１頂点は第１インスタンスを表し得る。第１頂点生成部４１０は、図１のグラフ構築部１４０の実施形態に含まれ得る。第１頂点生成部４１０は、例えばＦＰＧＡ若しくはＡＳＩＣなどの特殊目的のプロセッサといった、恒久的に構成される専用の回路若しくはロジック、又は、例えばメモリ回路４０４に格納された命令に従って処理を実行する計算プロセッサ４０２といった、プログラム可能なロジック又は回路を含み得る。
【００２９】
第１合成エッジ生成部４１２が、複数の第１インスタンスのうちの１つ以上の第１インスタンスについて、プロパティグラフデータモデルにおける第１合成エッジを生成し得る。第１合成エッジは、２つの異なる第１頂点に接続され得る。第１合成エッジは、その第１インスタンスの、複数の第１インスタンスのうちの別の第１インスタンスに対する、階層的な有向合成又は有向分解を表し得る。第１合成エッジ生成部４１２は、図１のグラフ構築部１４０の実施形態に含まれ得る。第１合成エッジ生成部４１２は、例えばＦＰＧＡ若しくはＡＳＩＣなどの特殊目的のプロセッサといった、恒久的に構成される専用の回路若しくはロジック、又は、例えばメモリ回路４０４に格納された命令に従って処理を実行する計算プロセッサ４０２といった、プログラム可能なロジック又は回路を含み得る。
【００３０】
第２情報抽出部４１４が、システムアーキテクチャの第２設計次元の複数の第２インスタンスに関連する情報を、１つ以上のソースデータベースから抽出し得る。第２情報抽出部４１４は、図１のフォーマット変換部１２０の実施形態に含まれ得る。第２設計次元は、システムアーキテクチャの複数のパート間のインタフェース階層とし得る。複数の第２インスタンスは、システムアーキテクチャの複数のパート間の複数のインタフェースとし得る。それらのインタフェースの一部が、それらのインタフェースのうちの他のものを統合したものであってもよく、故に、それらのインタフェースのうちの他のものを統合したものであるインタフェースは、それらのインタフェースのうち上記他のものよりも、インタフェースの階層の高いレベルにあり得る。インタフェースの階層の例は、グラフスキーマ２００のインタフェース２２０、及び図３のインタフェースＺ、Ｚ．１、Ｚ．２、及びＸによって表され得る。例えば、ワイヤハーネスは、複数の個々のワイヤを統合したものとすることができ、各個々のワイヤは、例えばイーサネット（登録商標）接続といった複数の通信プロトコル接続を統合したものとすることができ、故に、ワイヤハーネスは、複数のワイヤよりもインタフェース階層の高いレベルにあり、各ワイヤは、例えばイーサネット（登録商標）接続といった複数の通信プロトコル接続よりもインタフェース階層の高いレベルにあるとし得る。第２情報抽出部４１４は、例えばＦＰＧＡ若しくはＡＳＩＣなどの特殊目的のプロセッサといった、恒久的に構成される専用の回路若しくはロジック、又は、例えばメモリ回路４０４に格納された命令に従って処理を実行する計算プロセッサ４０２といった、プログラム可能なロジック又は回路を含み得る。
【００３１】
第２頂点生成部４１６が、複数の第２インスタンスの各第２インスタンスについて、プロパティグラフデータモデルにおける第２頂点を生成し得る。第２頂点は第２インスタンスを表し得る。第２頂点生成部４１６は、図１のグラフ構築部１４０の実施形態に含まれ得る。第２頂点生成部４１６は、例えばＦＰＧＡ若しくはＡＳＩＣなどの特殊目的のプロセッサといった、恒久的に構成される専用の回路若しくはロジック、又は、例えばメモリ回路４０４に格納された命令に従って処理を実行する計算プロセッサ４０２といった、プログラム可能なロジック又は回路を含み得る。
【００３２】
第２合成エッジ生成部４１８が、複数の第２インスタンスのうちの１つ以上の第２インスタンスについて、プロパティグラフデータモデルにおける第２合成エッジを生成し得る。第２合成エッジは、２つの異なる第２頂点に接続され得る。第２合成エッジは、その第２インスタンスの、複数の第２インスタンスのうちの別の第２インスタンスに対する、階層的な有向合成又は有向分解を表し得る。第２合成エッジ生成部４１８は、図１のグラフ構築部１４０の実施形態に含まれ得る。第２合成エッジ生成部４１８は、例えばＦＰＧＡ若しくはＡＳＩＣなどの特殊目的のプロセッサといった、恒久的に構成される専用の回路若しくはロジック、又は、例えばメモリ回路４０４に格納された命令に従って処理を実行する計算プロセッサ４０２といった、プログラム可能なロジック又は回路を含み得る。
【００３３】
第２接続エッジ生成部４２０が、複数の第２インスタンスのうちの１つ以上の第２インスタンスについて、プロパティグラフデータモデルにおける第２接続エッジを生成し得る。第２接続エッジは、その第２インスタンスと複数の第１インスタンスの第１インスタンスとの間の接続を表し得る。第２接続エッジは、その第２接続エッジの一端に接続された第２インスタンスによって表されるインタフェースが、情報交換の目的で、その第２接続エッジの他端に接続された第１インスタンスによって表されるパートに接続されることを表し得る。第２接続エッジ生成部４２０は、図１のグラフ構築部１４０の実施形態に含まれ得る。第２接続エッジ生成部４２０は、例えばＦＰＧＡ若しくはＡＳＩＣなどの特殊目的のプロセッサといった、恒久的に構成される専用の回路若しくはロジック、又は、例えばメモリ回路４０４に格納された命令に従って処理を実行する計算プロセッサ４０２といった、プログラム可能なロジック又は回路を含み得る。
【００３４】
第３情報抽出部４２２が、システムアーキテクチャの第３設計次元の複数の第３インスタンスに関連する情報を、１つ以上のソースデータベースから抽出し得る。第３情報抽出部４２２は、図１のフォーマット変換部１２０の実施形態に含まれ得る。第３設計次元は情報アイテム階層とし得る。複数の第３インスタンスは、システムアーキテクチャの複数のインタフェースを介して転送される複数の情報アイテムとし得る。それらの情報アイテムの一部が、それらの情報アイテムのうちの他のものを統合したものであってもよく、故に、それらの情報アイテムのうちの他のものを統合したものである情報アイテムは、それらの情報アイテムのうち上記他のものよりも、情報アイテムの階層の高いレベルにあり得る。情報アイテムの階層の例は、グラフスキーマ２００の情報アイテム２３０、及び図３の情報アイテムＩ及びＪによって表され得る。第３情報抽出部４２２は、例えばＦＰＧＡ若しくはＡＳＩＣなどの特殊目的のプロセッサといった、恒久的に構成される専用の回路若しくはロジック、又は、例えばメモリ回路４０４に格納された命令に従って処理を実行する計算プロセッサ４０２といった、プログラム可能なロジック又は回路を含み得る。
【００３５】
第３頂点生成部４２４が、複数の第３インスタンスの各第３インスタンスについて、プロパティグラフデータモデルにおける第３頂点を生成し得る。第３頂点は第３インスタンスを表し得る。第３頂点生成部４２４は、図１のグラフ構築部１４０の実施形態に含まれ得る。第３頂点生成部４２４は、例えばＦＰＧＡ若しくはＡＳＩＣなどの特殊目的のプロセッサといった、恒久的に構成される専用の回路若しくはロジック、又は、例えばメモリ回路４０４に格納された命令に従って処理を実行する計算プロセッサ４０２といった、プログラム可能なロジック又は回路を含み得る。
【００３６】
第３合成エッジ生成部４２６が、複数の第３インスタンスのうちの１つ以上の第３インスタンスについて、プロパティグラフデータモデルにおける第３合成エッジを生成し得る。第３合成エッジは、２つの異なる第３頂点に接続され得る。第３合成エッジは、１つの第３インスタンスの、複数の第３インスタンスのうちの別の第３インスタンスに対する、階層的な有向合成又は有向分解を表し得る。第３合成エッジ生成部４２６は、図１のグラフ構築部１４０の実施形態に含まれ得る。第３合成エッジ生成部４２６は、例えばＦＰＧＡ若しくはＡＳＩＣなどの特殊目的のプロセッサといった、恒久的に構成される専用の回路若しくはロジック、又は、例えばメモリ回路４０４に格納された命令に従って処理を実行する計算プロセッサ４０２といった、プログラム可能なロジック又は回路を含み得る。
【００３７】
第３接続エッジ生成部４２８が、複数の第３インスタンスのうちの１つ以上の第３インスタンスについて、プロパティグラフデータモデルにおける第３接続エッジを生成し得る。第３接続エッジは、その第３インスタンスと、複数の第１インスタンスの第１インスタンス又は複数の第２インスタンスの第２インスタンスとの間の接続を表し得る。第３接続エッジは、その第３接続エッジの一端に接続された第３インスタンスによって表される情報アイテムが、その第３接続エッジの他端に接続された第２インスタンスによって表されるインタフェースに接続されることを表すことができ、その情報アイテムがそのインタフェースによって転送されることを指定し得る。第３接続エッジ生成部４２８は、図１のグラフ構築部１４０の実施形態に含まれ得る。第３接続エッジ生成部４２８は、例えばＦＰＧＡ若しくはＡＳＩＣなどの特殊目的のプロセッサといった、恒久的に構成される専用の回路若しくはロジック、又は、例えばメモリ回路４０４に格納された命令に従って処理を実行する計算プロセッサ４０２といった、プログラム可能なロジック又は回路を含み得る。
【００３８】
第４情報抽出部４３０が、システムアーキテクチャの第４設計次元の複数の第４インスタンスに関連する情報を、１つ以上のソースデータベースから抽出し得る。第４情報抽出部４３０は、図１のフォーマット変換部１２０の実施形態に含まれ得る。第４設計次元は機能階層とし得る。複数の第４インスタンスは、システムアーキテクチャの複数のパートによって実行される複数の機能とし得る。それらの機能の一部が、それらの機能のうちの他のものを統合したものであってもよく、故に、それらの機能のうちの他のものを統合したものである機能は、それらの機能のうち上記他のものよりも、機能の階層の高いレベルにあり得る。機能の階層の例は、グラフスキーマ２００の機能２５０、及び図３の機能Ｆ、Ｆ．１、及びＦ．２によって表され得る。第４情報抽出部４３０は、例えばＦＰＧＡ若しくはＡＳＩＣなどの特殊目的のプロセッサといった、恒久的に構成される専用の回路若しくはロジック、又は、例えばメモリ回路４０４に格納された命令に従って処理を実行する計算プロセッサ４０２といった、プログラム可能なロジック又は回路を含み得る。
【００３９】
第４頂点生成部４３２が、複数の第４インスタンスの各第４インスタンスについて、プロパティグラフデータモデルにおける第４頂点を生成し得る。第４頂点は第４インスタンスを表し得る。第４頂点生成部４３２は、図１のグラフ構築部１４０の実施形態に含まれ得る。第４頂点生成部４３２は、例えばＦＰＧＡ若しくはＡＳＩＣなどの特殊目的のプロセッサといった、恒久的に構成される専用の回路若しくはロジック、又は、例えばメモリ回路４０４に格納された命令に従って処理を実行する計算プロセッサ４０２といった、プログラム可能なロジック又は回路を含み得る。
【００４０】
第４合成エッジ生成部４３４が、複数の第４インスタンスのうちの１つ以上の第４インスタンスについて、プロパティグラフデータモデルにおける第４合成エッジを生成し得る。第４合成エッジは、２つの異なる第４頂点に接続され得る。第４合成エッジは、１つの第４インスタンスの、複数の第４インスタンスのうちの別の第４インスタンスに対する、階層的な有向合成又は有向分解を表し得る。第４合成エッジ生成部４３４は、図１のグラフ構築部１４０の実施形態に含まれ得る。第４合成エッジ生成部４３４は、例えばＦＰＧＡ若しくはＡＳＩＣなどの特殊目的のプロセッサといった、恒久的に構成される専用の回路若しくはロジック、又は、例えばメモリ回路４０４に格納された命令に従って処理を実行する計算プロセッサ４０２といった、プログラム可能なロジック又は回路を含み得る。
【００４１】
第４接続エッジ生成部４３６が、複数の第４インスタンスのうちの１つ以上の第４インスタンスについて、プロパティグラフデータモデルにおける第４接続エッジを生成し得る。第４接続エッジは、その第４インスタンスと、複数の第１インスタンスの第１インスタンス、複数の第２インスタンスの第２インスタンス、又は複数の第３インスタンスの第３インスタンスとの間の接続を表し得る。第４接続エッジは、その第４接続エッジの一端に接続された第４インスタンスによって表される機能が、その第４接続エッジの他端に接続された第１インスタンスによって表されるパートに接続されることを表すことができ、その機能がそのパートによって実行されることを指定し得る。第４接続エッジ生成部４３６は、図１のグラフ構築部１４０の実施形態に含まれ得る。第４接続エッジ生成部４３６は、例えばＦＰＧＡ若しくはＡＳＩＣなどの特殊目的のプロセッサといった、恒久的に構成される専用の回路若しくはロジック、又は、例えばメモリ回路４０４に格納された命令に従って処理を実行する計算プロセッサ４０２といった、プログラム可能なロジック又は回路を含み得る。
【００４２】
第５情報抽出部４３８が、システムアーキテクチャの第５設計次元の複数の第５インスタンスに関連する情報を、１つ以上のソースデータベースから抽出し得る。第５情報抽出部４３８は、図１のフォーマット変換部１２０の実施形態に含まれ得る。第５設計次元は要求階層とし得る。複数の第５インスタンスは、システムアーキテクチャの複数のパートによって実行される複数の機能に基づく複数の要求とし得る。それらの要求の一部が、それらの要求のうちの他のものを統合したものであってもよく、故に、それらの要求のうちの他のものを統合したものである要求は、それらの要求のうち上記他のものよりも、要求の階層の高いレベルにあり得る。要求の階層の例は、グラフスキーマ２００の要求２６０、及び図３の要求Ｒ、Ｒ．１、及びＲ．２によって表され得る。
【００４３】
第５頂点生成部４４０が、複数の第５インスタンスの各第５インスタンスについて、プロパティグラフデータモデルにおける第５頂点を生成し得る。第５頂点は第５インスタンスを表し得る。第５頂点生成部４４０は、図１のグラフ構築部１４０の実施形態に含まれ得る。第５頂点生成部４４０は、例えばＦＰＧＡ若しくはＡＳＩＣなどの特殊目的のプロセッサといった、恒久的に構成される専用の回路若しくはロジック、又は、例えばメモリ回路４０４に格納された命令に従って処理を実行する計算プロセッサ４０２といった、プログラム可能なロジック又は回路を含み得る。
【００４４】
第５合成エッジ生成部４４２が、複数の第５インスタンスのうちの１つ以上の第５インスタンスについて、プロパティグラフデータモデルにおける第５合成エッジを生成し得る。第５合成エッジは、２つの異なる第５頂点に接続され得る。第５合成エッジは、１つの第５インスタンスの、複数の第５インスタンスのうちの別の第５インスタンスに対する、階層的な有向合成又は有向分解を表し得る。第５合成エッジ生成部４４２は、図１のグラフ構築部１４０の実施形態に含まれ得る。第５合成エッジ生成部４４２は、例えばＦＰＧＡ若しくはＡＳＩＣなどの特殊目的のプロセッサといった、恒久的に構成される専用の回路若しくはロジック、又は、例えばメモリ回路４０４に格納された命令に従って処理を実行する計算プロセッサ４０２といった、プログラム可能なロジック又は回路を含み得る。
【００４５】
第５接続エッジ生成部４４４が、複数の第５インスタンスのうちの１つ以上の第５インスタンスについて、プロパティグラフデータモデルにおける第５接続エッジを生成し得る。第５接続エッジは、その第５インスタンスと、複数の第１インスタンスの第１インスタンス、複数の第２インスタンスの第２インスタンス、複数の第３インスタンスの第３インスタンス、又は複数の第４インスタンスの第４インスタンスとの間の接続を表し得る。第５接続エッジは、その第５接続エッジの一端に接続された第５インスタンスによって表される要求が、その第５接続エッジの他端に接続された第４インスタンスによって表される機能に接続されることを表すことができ、その機能がその要求に基づくことを指定し得る。第５接続エッジは、その第５接続エッジの一端に接続された第５インスタンスによって表される要求が、その第５接続エッジの他端に接続された第１インスタンスによって表されるパートに接続されることを表すこともあり、そのパートがその要求に基づくことを指定し得る。第５接続エッジ生成部４４４は、図１のグラフ構築部１４０の実施形態に含まれ得る。第５接続エッジ生成部４４４は、例えばＦＰＧＡ若しくはＡＳＩＣなどの特殊目的のプロセッサといった、恒久的に構成される専用の回路若しくはロジック、又は、例えばメモリ回路４０４に格納された命令に従って処理を実行する計算プロセッサ４０２といった、プログラム可能なロジック又は回路を含み得る。
【００４６】
第６情報抽出部４４６が、システムアーキテクチャの第６設計次元の複数の第６インスタンスに関連する情報を、１つ以上のソースデータベースから抽出し得る。第６情報抽出部４４６は、図１のフォーマット変換部１２０の実施形態に含まれ得る。第６設計次元は信号階層とし得る。複数の第６インスタンスは、システムアーキテクチャの複数のパート間で複数のインタフェースを介して通信される又はシステムアーキテクチャの複数の情報アイテムのうちの少なくとも１つの情報アイテムを通信する複数の信号とし得る。それらの信号の一部が、それらの信号のうちの他のものを統合したものであってもよく、故に、それらの信号のうちの他のものを統合したものである信号は、それらの信号のうち上記他のものよりも、信号の階層の高いレベルにあり得る。信号の階層の例は、グラフスキーマ２００の信号２４０、及び図３の信号Ｓ、Ｔ、及びＵによって表され得る。第５接続エッジ生成部４４４は、図１のグラフ構築部１４０の実施形態に含まれ得る。第６情報抽出部４４６は、例えばＦＰＧＡ若しくはＡＳＩＣなどの特殊目的のプロセッサといった、恒久的に構成される専用の回路若しくはロジック、又は、例えばメモリ回路４０４に格納された命令に従って処理を実行する計算プロセッサ４０２といった、プログラム可能なロジック又は回路を含み得る。
【００４７】
第６頂点生成部４４８が、複数の第６インスタンスの各第６インスタンスについて、プロパティグラフデータモデルにおける第６頂点を生成し得る。第６頂点は第６インスタンスを表し得る。第６頂点生成部４４８は、図１のグラフ構築部１４０の実施形態に含まれ得る。第６頂点生成部４４８は、例えばＦＰＧＡ若しくはＡＳＩＣなどの特殊目的のプロセッサといった、恒久的に構成される専用の回路若しくはロジック、又は、例えばメモリ回路４０４に格納された命令に従って処理を実行する計算プロセッサ４０２といった、プログラム可能なロジック又は回路を含み得る。
【００４８】
第６合成エッジ生成部４５０が、複数の第６インスタンスのうちの１つ以上の第６インスタンスについて、プロパティグラフデータモデルにおける第６合成エッジを生成し得る。第６合成エッジは、２つの異なる第６頂点に接続され得る。第６合成エッジは、１つの第６インスタンスの、複数の第６インスタンスのうちの別の第６インスタンスに対する、階層的な有向合成又は有向分解を表し得る。第６合成エッジ生成部４５０は、図１のグラフ構築部１４０の実施形態に含まれ得る。第６合成エッジ生成部４５０は、例えばＦＰＧＡ若しくはＡＳＩＣなどの特殊目的のプロセッサといった、恒久的に構成される専用の回路若しくはロジック、又は、例えばメモリ回路４０４に格納された命令に従って処理を実行する計算プロセッサ４０２といった、プログラム可能なロジック又は回路を含み得る。
【００４９】
第６接続エッジ生成部４５２が、複数の第６インスタンスのうちの１つ以上の第６インスタンスについて、プロパティグラフデータモデルにおける第６接続エッジを生成し得る。第６接続エッジは、その第６インスタンスと、複数の第１インスタンスの第１インスタンス、複数の第２インスタンスの第２インスタンス、複数の第３インスタンスの第３インスタンス、複数の第４インスタンスの第４インスタンス、又は複数の第５インスタンスの第５インスタンスとの間の接続を表し得る。第６接続エッジは、その第６接続エッジの一端に接続された第６インスタンスによって表される信号が、その第６接続エッジの他端に接続された第２インスタンスによって表されるインタフェースに接続されることを表すことができ、その信号がそのインタフェースに含まれることを指定し得る。第６接続エッジは、その第６接続エッジの一端に接続された第６インスタンスによって表される信号が、その第６接続エッジの他端に接続された第３インスタンスによって表される情報アイテムに接続されることを表すこともあり、その信号がその情報アイテムに含まれることを指定し得る。第６接続エッジ生成部４５２は、図１のグラフ構築部１４０の実施形態に含まれ得る。第６接続エッジ生成部４５２は、例えばＦＰＧＡ若しくはＡＳＩＣなどの特殊目的のプロセッサといった、恒久的に構成される専用の回路若しくはロジック、又は、例えばメモリ回路４０４に格納された命令に従って処理を実行する計算プロセッサ４０２といった、プログラム可能なロジック又は回路を含み得る。
【００５０】
図５は、一部の実施形態に従った、プロパティグラフを生成する方法５００を示すブロック図である。方法５００は、図４のシステム４００によって実行され得る。図３が、方法５００によって生成され得るプロパティグラフ３００の一例を示している。このプロパティグラフは、データ構造内の複数の頂点、複数の合成エッジ、及び複数の接続エッジを含んだ、例えば図１のプロパティグラフデータモデル１５０といった、プロパティグラフデータモデルの一実施形態とし得る。複数の合成エッジは、ある頂点タイプ内での有向合成及び有向分解を表すことができ、複数の接続エッジは、１つの頂点タイプと別の１つの頂点タイプとの間の接続を表すことができる。データ構造は、計算プロセッサ（例えば、計算プロセッサ４０２）を有するコンピュータシステムのメモリ回路（例えば、メモリ回路４０４）に格納され得る。
【００５１】
処理５０２にて、例えば図１のソースデータベース１１０などの１つ以上のソースデータベースが、計算プロセッサによってアクセスされ得る。処理５０２は、図４のデータベース構文解析部４０６によって実行され得る。ソースデータベースは、システムアーキテクチャに関する関連特徴を含み得る。システムアーキテクチャに関する関連特徴は、システムアーキテクチャの設計、モデル化、シミュレーション、製造、処理、試験、性能、信頼性、欠陥、故障、コスト、及び評価に関連する情報を含み得る。ソースデータベースは、システムアーキテクチャに含まれるデバイス、コンポーネント、サブシステム、及びシステムの設計、モデル化、及びシミュレーションのための様々なハードウェア及び／又はソフトウェアツールについてのデータファイルを含み得る。ソースデータベースは、例えばメモリ回路４０４といった、コンピュータシステムのメモリ回路に格納されたデータ構造を含み得る。
【００５２】
処理５０４にて、システムアーキテクチャの第１設計次元の複数の第１インスタンスに関連する情報が、１つ以上のソースデータベースから抽出され得る。処理５０４は、図４の第１情報抽出部４０８、又は図１のフォーマット変換部１２０の実施形態によって実行され得る。第１設計次元は、システムアーキテクチャのパート階層とし得る。複数の第１インスタンスは、システムアーキテクチャの複数のパートとし得る。それらのパートの一部が、それらのパートのうちの他のものを統合したものであってもよく、故に、それらのパートのうちの他のものを統合したものであるパートは、それらのパートのうち上記他のものよりも、パートの階層の高いレベルにあり得る。パート階層の例は、グラフスキーマ２００のパート２１０、及び図３のパートＡ、Ａ．１、Ａ．２、Ａ．３、Ａ．１．１、Ａ．１．２、Ａ．２．１、Ａ．２．２、Ａ．３．１、及びＡ．３．２によって表され得る。例えば、回路カードパートは、複数の集積回路パートと、複数の集積回路パートが上に実装されるプリント回路基板とを統合したものとすることができ、故に、回路カードパートは、複数の集積回路パート、及び複数の集積回路パートが上に実装される回路基板パートよりも、パート階層の高いレベルにあるとし得る。
【００５３】
処理５０６にて、複数の第１インスタンスの各第１インスタンスについて、第１頂点がプロパティグラフデータモデル内に生成され得る。処理５０６は、図４の第１頂点生成部４１０、又は図１のグラフ構築部１４０の実施形態によって実行され得る。
【００５４】
処理５０８にて、複数の第１インスタンスのうちの１つ以上の第１インスタンスについて、第１合成エッジがプロパティグラフデータモデル内に生成され得る。処理５０８は、図４の第１合成エッジ生成部４１２、又は図１のグラフ構築部１４０の実施形態によって実行され得る。第１合成エッジは、２つの異なる第１頂点に接続され得る。第１合成エッジは、１つの第１インスタンスの、複数の第１インスタンスのうちの別の第１インスタンスに対する、階層的な有向合成又は有向分解を表し得る。
【００５５】
処理５１０にて、システムアーキテクチャの第２設計次元の複数の第２インスタンスに関連する情報が、１つ以上のソースデータベースから抽出され得る。処理５１０は、図４の第２情報抽出部４１４、又は図１のフォーマット変換部１２０の実施形態によって実行され得る。第２設計次元は、システムアーキテクチャの複数のパート間のインタフェース階層とし得る。複数の第２インスタンスは、システムアーキテクチャの複数のパート間の複数のインタフェースとし得る。それらのインタフェースの一部が、それらのインタフェースのうちの他のものを統合したものであってもよく、故に、それらのインタフェースのうちの他のものを統合したものであるインタフェースは、それらのインタフェースのうち上記他のものよりも、インタフェースの階層の高いレベルにあり得る。インタフェースの階層の例は、グラフスキーマ２００のインタフェース２２０、及び図３のインタフェースＺ、Ｚ．１、Ｚ．２、及びＸによって表され得る。例えば、ワイヤハーネスは、複数の個々のワイヤを統合したものとすることができ、各個々のワイヤは、例えばイーサネット（登録商標）接続といった複数の通信プロトコル接続を統合したものとすることができ、故に、ワイヤハーネスは、複数のワイヤよりもインタフェース階層の高いレベルにあり、各ワイヤは、例えばイーサネット（登録商標）接続といった複数の通信プロトコル接続よりもインタフェース階層の高いレベルにあるとし得る。
【００５６】
処理５１２にて、複数の第２インスタンスの各第２インスタンスについて、第２頂点がプロパティグラフデータモデル内に生成され得る。処理５１２は、図４の第２頂点生成部４１６、又は図１のグラフ構築部１４０の実施形態によって実行され得る。第２頂点は第２インスタンスを表し得る。
【００５７】
処理５１４にて、複数の第２インスタンスのうちの１つ以上の第２インスタンスについて、第２合成エッジがプロパティグラフデータモデル内に生成され得る。処理５１４は、図４の第２合成エッジ生成部４１８、又は図１のグラフ構築部１４０の実施形態によって実行され得る。第２合成エッジは、２つの異なる第２頂点に接続され得る。第２合成エッジは、１つの第２インスタンスの、複数の第２インスタンスのうちの別の第２インスタンスに対する、階層的な有向合成又は有向分解を表し得る。
【００５８】
処理５１６にて、複数の第２インスタンスのうちの１つ以上の第２インスタンスについて、第２接続エッジがプロパティグラフデータモデル内に生成され得る。処理５１６は、図４の第２接続エッジ生成部４２０、又は図１のグラフ構築部１４０の実施形態によって実行され得る。第２接続エッジは、その第２インスタンスと複数の第１インスタンスの第１インスタンスとの間の接続を表し得る。第２接続エッジは、その第２接続エッジの一端に接続された第２インスタンスによって表されるインタフェースが、情報交換の目的で、その第２接続エッジの他端に接続された第１インスタンスによって表されるパートに接続されることを表し得る。
【００５９】
処理５１８にて、システムアーキテクチャの第３設計次元の複数の第３インスタンスに関連する情報が、１つ以上のソースデータベースから抽出され得る。処理５１８は、図４の第３情報抽出部４２２、又は図１のフォーマット変換部１２０の実施形態によって実行され得る。第３設計次元は情報アイテム階層とし得る。複数の第３インスタンスは、システムアーキテクチャの複数のインタフェースを介して転送される複数の情報アイテムとし得る。それらの情報アイテムの一部が、それらの情報アイテムのうちの他のものを統合したものであってもよく、故に、それらの情報アイテムのうちの他のものを統合したものである情報アイテムは、それらの情報アイテムのうち上記他のものよりも、情報アイテムの階層の高いレベルにあり得る。
【００６０】
処理５２０にて、複数の第３インスタンスの各第３インスタンスについて、第３頂点がプロパティグラフデータモデル内に生成され得る。処理５２０は、図４の第３頂点生成部４２４、又は図１のグラフ構築部１４０の実施形態によって実行され得る。第３頂点は第３インスタンスを表し得る。
【００６１】
処理５２２にて、複数の第３インスタンスのうちの１つ以上の第３インスタンスについて、第３合成エッジがプロパティグラフデータモデル内に生成され得る。処理５２２は、図４の第３合成エッジ生成部４２６、又は図１のグラフ構築部１４０の実施形態によって実行され得る。第３合成エッジは、２つの異なる第３頂点に接続され得る。第３合成エッジは、１つの第３インスタンスの、複数の第３インスタンスのうちの別の第３インスタンスに対する、階層的な有向合成又は有向分解を表し得る。第３合成エッジ生成部４２６は、図１のグラフ構築部１４０の実施形態に含まれ得る。
【００６２】
処理５２４にて、複数の第３インスタンスのうちの１つ以上の第３インスタンスについて、第３接続エッジがプロパティグラフデータモデル内に生成され得る。処理５２４は、図４の第３接続エッジ生成部４２８、又は図１のグラフ構築部１４０の実施形態によって実行され得る。第３接続エッジは、その第３インスタンスと、複数の第１インスタンスの第１インスタンス又は複数の第２インスタンスの第２インスタンスとの間の接続を表し得る。第３接続エッジは、その第３接続エッジの一端に接続された第３インスタンスによって表される情報アイテムが、その第３接続エッジの他端に接続された第２インスタンスによって表されるインタフェースに接続されることを表すことができ、その情報アイテムがそのインタフェースによって転送されることを指定し得る。
【００６３】
処理５２６にて、システムアーキテクチャの第４設計次元の複数の第４インスタンスに関連する情報が、１つ以上のソースデータベースから抽出され得る。処理５２６は、図４の第４情報抽出部４３０、又は図１のフォーマット変換部１２０の実施形態によって実行され得る。第４設計次元は機能階層とし得る。複数の第４インスタンスは、システムアーキテクチャの複数のパートによって実行される複数の機能とし得る。それらの機能の一部が、それらの機能のうちの他のものを統合したものであってもよく、故に、それらの機能のうちの他のものを統合したものである機能は、それらの機能のうち上記他のものよりも、機能の階層の高いレベルにあり得る。
【００６４】
処理５２８にて、複数の第４インスタンスの各第４インスタンスについて、第４頂点がプロパティグラフデータモデル内に生成され得る。処理５２８は、図４の第４頂点生成部４３２、又は図１のグラフ構築部１４０の実施形態によって実行され得る。第４頂点は第４インスタンスを表し得る。
【００６５】
処理５３０にて、複数の第４インスタンスのうちの１つ以上の第４インスタンスについて、第４合成エッジがプロパティグラフデータモデル内に生成され得る。処理５３０は、図４の第４合成エッジ生成部４３４、又は図１のグラフ構築部１４０の実施形態によって実行され得る。第４合成エッジは、２つの異なる第４頂点に接続され得る。第４合成エッジは、１つの第４インスタンスの、複数の第４インスタンスのうちの別の第４インスタンスに対する、階層的な有向合成又は有向分解を表し得る。
【００６６】
処理５３２にて、複数の第４インスタンスのうちの１つ以上の第４インスタンスについて、第４接続エッジがプロパティグラフデータモデル内に生成され得る。処理５３２は、図４の第４接続エッジ生成部４３６、又は図１のグラフ構築部１４０の実施形態によって実行され得る。第４接続エッジは、その第４インスタンスと、複数の第１インスタンスの第１インスタンス、複数の第２インスタンスの第２インスタンス、又は複数の第３インスタンスの第３インスタンスとの間の接続を表し得る。第４接続エッジは、その第４接続エッジの一端に接続された第４インスタンスによって表される機能が、その第４接続エッジの他端に接続された第１インスタンスによって表されるパートに接続されることを表すことができ、その機能がそのパートによって実行されることを指定し得る。
【００６７】
処理５３４にて、システムアーキテクチャの第５設計次元の複数の第５インスタンスに関連する情報が、１つ以上のソースデータベースから抽出され得る。処理５３４は、図４の第５情報抽出部４３８、又は図１のフォーマット変換部１２０の実施形態によって実行され得る。第５設計次元は要求階層とし得る。複数の第５インスタンスは、システムアーキテクチャの複数のパートによって実行される複数の機能に基づく複数の要求とし得る。それらの要求の一部が、それらの要求のうちの他のものを統合したものであってもよく、故に、それらの要求のうちの他のものを統合したものである要求は、それらの要求のうち上記他のものよりも、要求の階層の高いレベルにあり得る。
【００６８】
処理５３６にて、複数の第５インスタンスの各第５インスタンスについて、第５頂点がプロパティグラフデータモデル内に生成され得る。処理５３６は、図４の第５頂点生成部４４０、又は図１のグラフ構築部１４０の実施形態によって実行され得る。第５頂点は第５インスタンスを表し得る。
【００６９】
処理５３８にて、複数の第５インスタンスのうちの１つ以上の第５インスタンスについて、第５合成エッジがプロパティグラフデータモデル内に生成され得る。処理５３８は、図４の第５合成エッジ生成部４４２、又は図１のグラフ構築部１４０の実施形態によって実行され得る。第５合成エッジは、２つの異なる第５頂点に接続され得る。第５合成エッジは、１つの第５インスタンスの、複数の第５インスタンスのうちの別の第５インスタンスに対する、階層的な有向合成又は有向分解を表し得る。
【００７０】
処理５４０にて、複数の第５インスタンスのうちの１つ以上の第５インスタンスについて、第５接続エッジがプロパティグラフデータモデル内に生成され得る。処理５４０は、図４の第５接続エッジ生成部４４４、又は図１のグラフ構築部１４０の実施形態によって実行され得る。第５接続エッジは、その第５インスタンスと、複数の第１インスタンスの第１インスタンス、複数の第２インスタンスの第２インスタンス、複数の第３インスタンスの第３インスタンス、又は複数の第４インスタンスの第４インスタンスとの間の接続を表し得る。第５接続エッジは、その第５接続エッジの一端に接続された第５インスタンスによって表される要求が、その第５接続エッジの他端に接続された第４インスタンスによって表される機能に接続されることを表すことができ、その機能がその要求に基づくことを指定し得る。第５接続エッジは、その第５接続エッジの一端に接続された第５インスタンスによって表される要求が、その第５接続エッジの他端に接続された第１インスタンスによって表されるパートに接続されることを表すこともあり、そのパートがその要求に基づくことを指定し得る。
【００７１】
処理５４２にて、システムアーキテクチャの第６設計次元の複数の第６インスタンスに関連する情報が、１つ以上のソースデータベースから抽出され得る。処理５４２は、図４の第６情報抽出部４４６、又は図１のフォーマット変換部１２０の実施形態によって実行され得る。第６設計次元は信号階層とし得る。複数の第６インスタンスは、システムアーキテクチャの複数のパート間で複数のインタフェースを介して通信される又はシステムアーキテクチャの複数の情報アイテムのうちの少なくとも１つの情報アイテムを通信する複数の信号とし得る。それらの信号の一部が、それらの信号のうちの他のものを統合したものであってもよく、故に、それらの信号のうちの他のものを統合したものである信号は、それらの信号のうち上記他のものよりも、信号の階層の高いレベルにあり得る。
【００７２】
処理５４４にて、複数の第６インスタンスの各第６インスタンスについて、第６頂点がプロパティグラフデータモデル内に生成され得る。処理５４４は、図４の第６頂点生成部４４８、又は図１のグラフ構築部１４０の実施形態によって実行され得る。第６頂点は第６インスタンスを表し得る。
【００７３】
処理５４６にて、複数の第６インスタンスのうちの１つ以上の第６インスタンスについて、第６合成エッジがプロパティグラフデータモデル内に生成され得る。処理５４６は、図４の第６合成エッジ生成部４５０、又は図１のグラフ構築部１４０の実施形態によって実行され得る。第６合成エッジは、２つの異なる第６頂点に接続され得る。第６合成エッジは、１つの第６インスタンスの、複数の第６インスタンスのうちの別の第６インスタンスに対する、階層的な有向合成又は有向分解を表し得る。
【００７４】
処理５４８にて、複数の第６インスタンスのうちの１つ以上の第６インスタンスについて、第６接続エッジがプロパティグラフデータモデル内に生成され得る。処理５４８は、図４の第６接続エッジ生成部４５２、又は図１のグラフ構築部１４０の実施形態によって実行され得る。第６接続エッジは、その第６インスタンスと、複数の第１インスタンスの第１インスタンス、複数の第２インスタンスの第２インスタンス、複数の第３インスタンスの第３インスタンス、複数の第４インスタンスの第４インスタンス、又は複数の第５インスタンスの第５インスタンスとの間の接続を表し得る。第６接続エッジは、その第６接続エッジの一端に接続された第６インスタンスによって表される信号が、その第６接続エッジの他端に接続された第２インスタンスによって表されるインタフェースに接続されることを表すことができ、その信号がそのインタフェースに含まれることを指定し得る。第６接続エッジは、その第６接続エッジの一端に接続された第６インスタンスによって表される信号が、その第６接続エッジの他端に接続された第３インスタンスによって表される情報アイテムに接続されることを表すこともあり、その信号がその情報アイテムに含まれることを指定し得る。
【００７５】
様々な実施形態において、異なる設計次元を表す任意数の異なる頂点タイプが存在することができ、異なる頂点タイプのいずれも、他の異なる頂点タイプのいずれかへの接続エッジを有し得る。いずれの頂点も、それに接続される１つ以上の接続エッジを有しることができ、それら１つ以上の接続エッジの各々が、グラフスキーマ２００（図２を参照）の中で規定される接続ルール内で別の頂点タイプの他の頂点に接続されることができる。各接続エッジが、その接続エッジによって接続される異なる頂点間の関係を表す。一部の実施態様において、接続エッジは方向を持つ（有向である）。一部の実施態様では、接続エッジは方向を持たない。
【００７６】
図６Ａ及び６Ｂは、一部の実施形態に従った、プロパティグラフに基づいて重み付きパート間結合グラフを生成することを示すブロック図である。図６Ａは、階層プロパティグラフデータモデル６００が、機能Ｆ、Ｆ．１、Ｆ．２、要求Ｒ、Ｒ．１、Ｒ．２、並びにそれらに関連する合成エッジ及び接続エッジを含んでいないことを除いて、図３に示した例示的な階層プロパティグラフデータモデル３００と同様のシステムアーキテクチャの例示的な階層プロパティグラフデータモデル６００を示している。図６Ｂに示す新たな重み付きパート間結合グラフ６１０が、プロパティグラフデータモデル６００に基づいて、パート及びインタフェースを除いた設計次元を無視しながらプロパティグラフデータモデル６００のパート階層をコピーし、階層プロパティグラフデータモデル６００のインタフェースを重み付きパート間結合グラフ６１０内の関連パート間の重み付きインタフェースエッジへと変換することによって生成され得る。これは、インタフェース及びパートの頂点クラスとそれらそれぞれのインタフェースエッジとを含むプロパティグラフデータモデル６００の２モードバージョンの、重み付きパート間結合グラフ６１０への、１モード２部（bipartite）プロジェクションとして参照し得る。一部の実施形態において、重み付きパート間結合グラフ６１０は、プロパティグラフデータモデルを作成する中間ステップなしで、図１のソースデータベース１１０から直接的に生成され得る。例えば、図１のグラフ構築部１４０が直接的に、重み付きパート間結合グラフ６１０を生成し得る。
【００７７】
一実施形態において、重み付きパート間結合グラフ６１０の合成エッジの重み（WEIGHT）は１なる値に設定され、インタフェースエッジ６２０、６３０の重みは次式：重み＝（１＋α）×βに従って決定される。ここで、αは、最小複雑度の０．０から最大複雑度の１．０までの範囲をとる相対インタフェース複雑度係数であり、βは、ハードウェア／ソフトウェア結合アーキテクチャでの１．０からソフトウェアアーキテクチャでの＞１．０までの範囲をとるアーキテクチャ重要度係数である。アーキテクチャ重要度係数βは、クロスドメインスケーラビリティ（例えば、ソフトウェア対ハードウェア設計）を提供し得る。例えば、変数βは、物理的分解に対する情報交換インタフェースの重要性を表すことができ、相対複雑度係数αは、それぞれのインタフェースエッジによって表されるインタフェースを介してどれだけ多くの信号が転送されるかによって決定されることができる。図示されるように、インタフェースエッジ６２０の重みが１であるのは、パートＡ．２とＡ．３．１との間のインタフェースの相対複雑度係数αが０であり、且つこのハードウェア／ソフトウェアアーキテクチャに関するアーキテクチャ重要度係数βが１であるからである。インタフェースエッジ６３０の重みが２であるのは、パートＡ．２．１とＡ．３．２との間のインタフェースの相対複雑度係数αが１であり、且つこのハードウェア／ソフトウェアアーキテクチャに関するアーキテクチャ重要度係数βが１であるからである。
【００７８】
一実施形態において、重み付きパート間結合グラフにおいてパート間のインタフェースを表すインタフェースエッジに重みを割り当てるために、接続性の重み付け又はグラフ次数アプローチが使用され得る。各パートが、それが有する合成接続及びインタフェース接続の数で除算されるコストを持つことができ、その除算されたコストを用いて、付随するインタフェースエッジの重み付けを決定し得る。この実施形態において、インタフェースエッジ６２０、６３０の重みは、次式に従って決定され得る：インタフェースエッジ（例えば、インタフェースエッジ６２０又はインタフェースエッジ６３０の一方）が結合されるパート対（ペア）の第１のパートの統合及び試験コスト見積もりを、そのパート対の第１のパートに接続されるエッジ（合成エッジ及びインタフェースエッジを含め、全ての入来エッジ）の総数で除算したもの  ＋  インタフェースエッジ（例えば、インタフェースエッジ６２０又はインタフェースエッジ６３０の他方）が結合されるパート対（ペア）の第２のパートの統合及び試験コスト見積もりを、そのパート対の第１のパートに接続されるエッジの総数で除算したもの。重み付きパート間結合グラフ６１０内の各パートが、それに割り当てられたコストを持つことができ、該コストは、そのパートを統合及び試験するのに必要な時間、又はそのパートへと統合するより低い階層レベルのパートの数に基づくことができる。このメトリックにより、例えば、パートＡ．２はパートＡ．３．１よりも高いコストを持ち得る。パートＡ．２には、それに接続された合計３つの入来エッジ及びインタフェースエッジを持つのに対し、パートＡ．３．１は、それに接続された１つのインタフェースエッジを持つだけである。この実施形態において、パートＡ．２が３なるコストを割り当てられ、パートＡ．３．１が１なるコストを割り当てられたとすれば、インタフェースエッジ６２０の重みは、インタフェースを統合する平均コストを具現化するものである１となる。同様に、この実施形態において、パートＡ．２．１が１なるコストを割り当てられ、パートＡ．３．２が１なるコストを割り当てられたとすれば、インタフェースエッジ６３０の重みは１となる。
【００７９】
重み付きパート間結合グラフ６１０に基づいて、様々なタイプの計算機解析を実行することができる。それらは、モジュラリティ、システムアーキテクチャ内部一貫性、ロバスト性、及び脆弱性の評価を含み得る。例えば、プロパティグラフデータモデル６１０からインタフェースエッジを漸進的に除去することにより、システムアーキテクチャの脆弱性及びロバスト性を決定し得る。
【００８０】
図７は、一部の実施形態に従った、重み付きパート間結合グラフを生成するシステム７００を示すブロック図である。図６Ｂは、システム７００によって生成され得る例示的な重み付きパート間結合グラフ６１０を示している。システム７００は、計算プロセッサ７０２と、例えばプロパティグラフ３００を表すグラフスキーマ２００に基づくデータ構造といった、計算プロセッサ７０２によって処理されるデータ構造を記憶し得るメモリ回路７０４とを含み得る。メモリ回路７０４はまた、実行されるときに図８の方法８００を実行するプログラムを格納し得る。システム７００の要素は、１つ以上の接続又はデータバス７２２を介して互いに通信し得る。
【００８１】
重み付きパート間結合グラフは、データ構造内の複数の頂点、複数の合成エッジ、及び複数のインタフェースエッジを含む重み付きパート間結合グラフデータモデルの一実施形態とし得る。複数の重み付き合成エッジが、ある頂点タイプ内での有向合成及び有向分解を表し得るとともに、複数のインタフェースエッジが、頂点間の情報交換インタフェースを表し得る。データ構造は、例えば計算プロセッサ７０２といった計算プロセッサを有するコンピュータシステムの例えばメモリ回路７０４といったメモリ回路に格納され得る。
【００８２】
データベース構文解析部（パーサ）７０６が、システムアーキテクチャに関する関連特徴を含んだ、例えば図１のソースデータベース１１０といった１つ以上のソースデータベースにアクセスし得る。システムアーキテクチャに関する関連特徴は、システムアーキテクチャの設計、モデル化、シミュレーション、製造、処理、試験、性能、信頼性、欠陥、故障、コスト、及び評価に関連する情報を含み得る。ソースデータベースは、システムアーキテクチャに含まれるデバイス、コンポーネント、サブシステム、及びシステムの設計、モデル化、及びシミュレーションのための様々なハードウェア及び／又はソフトウェアツールについてのデータファイルを含み得る。ソースデータベースは、メモリ回路４０４に格納されたデータ構造、例えば、図５を参照して説明した方法５００に従って生成されたプロパティグラフデータモデルを含むデータ構造を含み得る。データベース構文解析部７０６は、例えばＦＰＧＡ若しくはＡＳＩＣなどの特殊目的のプロセッサといった、恒久的に構成される専用の回路若しくはロジック、又は、例えばメモリ回路７０４に格納された命令に従って処理を実行する計算プロセッサ７０２といった、プログラム可能なロジック又は回路を含み得る。
【００８３】
第１情報抽出部７０８が、システムアーキテクチャの第１設計次元の複数の第１インスタンスに関連する情報を、１つ以上のソースデータベースから抽出し得る。第１設計次元は、システムアーキテクチャのパート階層とし得る。第１情報抽出部７０８は、図４の第１情報抽出部４０８の実施形態を含み、又は図１のフォーマット変換部１２０の実施形態に含まれ得る。複数の第１インスタンスは、システムアーキテクチャの複数のパートとし得る。それらのパートの一部が、それらのパートのうちの他のものを統合したものであってもよく、故に、それらのパートのうちの他のものを統合したものであるパートは、それらのパートのうち上記他のものよりも、パートの階層の高いレベルにあり得る。パート階層の例は、グラフスキーマ２００のパート２１０、及び図３のパートＡ、Ａ．１、Ａ．２、Ａ．３、Ａ．１．１、Ａ．１．２、Ａ．２．１、Ａ．２．２、Ａ．３．１、及びＡ．３．２によって表され得る。例えば、回路カードパートは、複数の集積回路パートと、複数の集積回路パートが上に実装されるプリント回路基板とを統合したものとすることができ、故に、回路カードパートは、複数の集積回路パート、及び複数の集積回路パートが上に実装される回路基板パートよりも、パート階層の高いレベルにあるとし得る。第１情報抽出部７０８は、例えばＦＰＧＡ若しくはＡＳＩＣなどの特殊目的のプロセッサといった、恒久的に構成される専用の回路若しくはロジック、又は、例えばメモリ回路７０４に格納された命令に従って処理を実行する計算プロセッサ７０２といった、プログラム可能なロジック又は回路を含み得る。
【００８４】
頂点生成部７１０が、プロパティグラフデータモデルにおける複数の頂点を生成し得る。複数の頂点の各々が、複数の第１インスタンスのうちの１つの第１インスタンスを表し得る。複数の頂点の各々が、複数のパートのうちの１つのパートを表し得る。頂点生成部７１０は、図１のグラフ構築部１４０の実施形態に含まれ得る。頂点生成部７１０は、例えばＦＰＧＡ若しくはＡＳＩＣなどの特殊目的のプロセッサといった、恒久的に構成される専用の回路若しくはロジック、又は、例えばメモリ回路７０４に格納された命令に従って処理を実行する計算プロセッサ７０２といった、プログラム可能なロジック又は回路を含み得る。
【００８５】
合成エッジ生成部７１２が、パート間結合グラフデータモデルにおける複数の重み付き合成エッジを生成し得る。複数の重み付き合成エッジの各々が、複数の頂点のうち異なる対（ペア）の頂点を接続し得る。複数の重み付き合成エッジの各々が、複数の第１インスタンスのうちの１つの第１インスタンスの、複数の第１インスタンスのうちの別の第１インスタンスに対する、階層的な有向合成又は有向分解を表し得る。合成エッジ生成部７１２は、図１のグラフ構築部１４０の実施形態に含まれ得る。合成エッジ生成部７１２は、例えばＦＰＧＡ若しくはＡＳＩＣなどの特殊目的のプロセッサといった、恒久的に構成される専用の回路若しくはロジック、又は、例えばメモリ回路７０４に格納された命令に従って処理を実行する計算プロセッサ７０２といった、プログラム可能なロジック又は回路を含み得る。複数の重み付き合成エッジは、システムアーキテクチャのパート階層のパートを物理的に統合したものを表し得る。
【００８６】
合成エッジ重み割当部７１４が、複数の重み付き合成エッジの各々に合成重み値を割り当て得る。合成重み値は、例えば、低レベル側のパートを高レベル側のパートへと統合することの複雑さ及び／又はコストを表し得る。合成エッジ重み割当部７１４は、図１のグラフ構築部１４０の実施形態に含まれ得る。合成エッジ重み割当部７１４は、例えばＦＰＧＡ若しくはＡＳＩＣなどの特殊目的のプロセッサといった、恒久的に構成される専用の回路若しくはロジック、又は、例えばメモリ回路７０４に格納された命令に従って処理を実行する計算プロセッサ７０２といった、プログラム可能なロジック又は回路を含み得る。一実施形態において、複数の重み付き合成エッジの各々が、１なる重み値を割り当てられ得る。
【００８７】
第２情報抽出部７１６が、システムアーキテクチャの第２設計次元の複数の第２インスタンスに関連する情報を、１つ以上のソースデータベースから抽出し得る。第２設計次元は、システムアーキテクチャの複数のパート間のインタフェース階層とし得る。第２情報抽出部７１６は、図４の第２情報抽出部４１４の実施形態を含み、又は図１のフォーマット変換部１２０の実施形態に含まれ得る。インタフェース階層は、システムアーキテクチャの複数のパート間の複数のインタフェースを含み得る。それらのインタフェースの一部が、それらのインタフェースのうちの他のものを統合したものであってもよく、故に、それらのインタフェースのうちの他のものを統合したものであるインタフェースは、それらのインタフェースのうち上記他のものよりも、インタフェースの階層の高いレベルにあり得る。インタフェースの階層の例は、グラフスキーマ２００のインタフェース２２０、及び図３のインタフェースＺ、Ｚ．１、Ｚ．２、及びＸによって表され得る。例えば、ワイヤハーネスは、複数の個々のワイヤを統合したものとすることができ、各個々のワイヤは、例えばイーサネット（登録商標）接続といった複数の通信プロトコル接続を統合したものとすることができ、故に、ワイヤハーネスは、複数のワイヤよりもインタフェース階層の高いレベルにあり、各ワイヤは、例えばイーサネット（登録商標）接続といった複数の通信プロトコル接続よりもインタフェース階層の高いレベルにあるとし得る。第２情報抽出部７１６は、例えばＦＰＧＡ若しくはＡＳＩＣなどの特殊目的のプロセッサといった、恒久的に構成される専用の回路若しくはロジック、又は、例えばメモリ回路７０４に格納された命令に従って処理を実行する計算プロセッサ７０２といった、プログラム可能なロジック又は回路を含み得る。
【００８８】
インタフェースエッジ生成部７１８が、複数の重み付きインタフェースエッジを生成し得る。複数の重み付きインタフェースエッジの各々が、複数の頂点のうち異なる対（ペア）の頂点を接続することができ、また、複数の第２インスタンスのうちの１つ以上の第２インスタンスに従った、複数の第１インスタンスのうちの対応する対の間の情報交換接続を表し得る。複数の重み付きインタフェースエッジは、システムアーキテクチャのパート階層のパート対の間の情報交換接続を表し得る。インタフェースエッジ生成部７１８は、例えばＦＰＧＡ若しくはＡＳＩＣなどの特殊目的のプロセッサといった、恒久的に構成される専用の回路若しくはロジック、又は、例えばメモリ回路７０４に格納された命令に従って処理を実行する計算プロセッサ７０２といった、プログラム可能なロジック又は回路を含み得る。
【００８９】
インタフェースエッジ重み割当部７２０が、複数の重み付きインタフェースエッジの各々にインタフェース重みを割り当て得る。一実施形態において、インタフェース重み値は、式（１＋α）×βによって定められることができ、ここで、αは、最小複雑度の０．０から最大複雑度の１．０までの範囲をとる相対インタフェース複雑度係数であり、βはアーキテクチャ重要度係数である。係数βは、ハードウェア／ソフトウェア結合アーキテクチャでは１．０とすることができ、ソフトウェアアーキテクチャでは＞１．０、例えば３．０、とすることができる。一実施形態において、複数の重み付きインタフェースエッジの各々に対するインタフェース重み値は、対応する重み付きインタフェースエッジに接続される頂点対（ペア）の第１の頂点に接続されるエッジの総数で１を除算したものに、その頂点対の第１の頂点の統合及び試験コスト見積もりを乗算したものと、対応する重み付きインタフェースエッジに接続される頂点対の第２の頂点に接続されるエッジの総数で１を除算したものに、その頂点対の第２の頂点の統合及び試験コスト見積もりを乗算したものと、の和として定められてもよい。頂点の統合及び試験コスト見積もりは、その頂点によって表されるパートに関係する実世界のシステムエンジニアリング原理に基づいて、ユーザによって決定されて入力され得る。インタフェースエッジ重み割当部７２０は、例えばＦＰＧＡ若しくはＡＳＩＣなどの特殊目的のプロセッサといった、恒久的に構成される専用の回路若しくはロジック、又は、例えばメモリ回路７０４に格納された命令に従って処理を実行する計算プロセッサ７０２といった、プログラム可能なロジック又は回路を含み得る。
【００９０】
図８は、一部の実施形態に従った、重み付きパート間結合グラフを生成する方法８００を示すブロック図である。方法８００は、図７のシステム７００によって実行され得る。図６Ｂが、方法８００によって生成され得る例示的な重み付きパート間結合グラフ６１０を示している。この重み付きパート間結合グラフは、データ構造内の複数の頂点、複数の重み付き合成エッジ、及び複数の重み付きインタフェースエッジを含んだプロパティグラフデータモデルの一実施形態とし得る。複数の重み付き合成エッジは、ある頂点タイプ内での有向合成及び有向分解を表すことができ、複数の重み付きインタフェースエッジは、頂点間の情報交換インタフェースを表すことができる。データ構造は、例えば計算プロセッサ７０２といった計算プロセッサを有するコンピュータシステムの例えばメモリ回路７０４といったメモリ回路に格納され得る。
【００９１】
処理８０２にて、例えば図１のソースデータベース１１０などの１つ以上のソースデータベースが、計算プロセッサによってアクセスされ得る。処理８０２は、図７のデータベース構文解析部７０６、又は図１のフォーマット変換部１２０の実施形態によって実行され得る。ソースデータベースは、システムアーキテクチャに関する関連特徴を含み得る。システムアーキテクチャに関する関連特徴は、システムアーキテクチャの設計、モデル化、シミュレーション、製造、処理、試験、性能、信頼性、欠陥、故障、コスト、及び評価に関連する情報を含み得る。ソースデータベースは、システムアーキテクチャに含まれるデバイス、コンポーネント、サブシステム、及びシステムの設計、モデル化、及びシミュレーションのための様々なハードウェア及び／又はソフトウェアツールについてのデータファイルを含み得る。ソースデータベースは、コンピュータシステムのメモリ回路に格納されたデータ構造、例えば、図５を参照して説明した方法５００に従って生成されたプロパティグラフデータモデルを含むデータ構造を含み得る。
【００９２】
処理８０４にて、システムアーキテクチャの第１設計次元の複数の第１インスタンスに関連する情報が、１つ以上のソースデータベースから抽出され得る。処理８０４は、図７の第１情報抽出部７０８、又は図１のフォーマット変換部１２０の実施形態によって実行され得る。第１設計次元は、システムアーキテクチャのパート階層とし得る。複数の第１インスタンスは、システムアーキテクチャの複数のパートとし得る。それらのパートの一部が、それらのパートのうちの他のものを統合したものであってもよく、故に、それらのパートのうちの他のものを統合したものであるパートは、それらのパートのうち上記他のものよりも、パートの階層の高いレベルにあり得る。パート階層の例は、グラフスキーマ２００のパート２１０、及び図３のパートＡ、Ａ．１、Ａ．２、Ａ．３、Ａ．１．１、Ａ．１．２、Ａ．２．１、Ａ．２．２、Ａ．３．１、及びＡ．３．２によって表され得る。例えば、回路カードパートは、複数の集積回路パートと、複数の集積回路パートが上に実装されるプリント回路基板とを統合したものとすることができ、故に、回路カードパートは、複数の集積回路パート、及び複数の集積回路パートが上に実装される回路基板パートよりも、パート階層の高いレベルにあるとし得る。
【００９３】
処理８０６にて、複数の頂点が生成され得る。複数の頂点の各々が、複数の第１インスタンスのうちの１つの第１インスタンスを表し得る。処理８０６は、図７の頂点生成部７１０、又は図１のグラフ構築部１４０の実施形態によって実行され得る。
【００９４】
処理８０８にて、複数の重み付き合成エッジが生成され得る。処理８０８は、図７の合成エッジ生成部７１２、又は図１のグラフ構築部１４０の実施形態によって実行され得る。複数の重み付き合成エッジの各々が、複数の頂点のうち異なる対（ペア）の頂点を接続し得るとともに、複数の第１インスタンスのうちの１つの第１インスタンスの、複数の第１インスタンスのうちの別の第１インスタンスに対する、階層的な有向合成又は有向分解を表し得る。複数の重み付き合成エッジは、システムアーキテクチャのパート階層のパートを物理的に統合したものを表し得る。複数の重み付き合成エッジは、システムアーキテクチャのパート階層のパートを物理的に統合したものを表し得る。複数の重み付き合成エッジは各々、合成重み値を割り当てられることができ、合成重み値は、例えば、低レベル側のパートを高レベル側のパートへと統合することの複雑さ及び／又はコストを表し得る。一実施形態において、複数の重み付き合成エッジの各々が、１なる重み値を割り当てられ得る。
【００９５】
処理８１０にて、システムアーキテクチャの第２設計次元の複数の第２インスタンスに関連する情報が、１つ以上のソースデータベースから抽出され得る。処理８１０は、図７の第２情報抽出部７１６、又は図１のフォーマット変換部１２０の実施形態によって実行され得る。第２設計次元は、システムアーキテクチャの複数のパート間のインタフェース階層とし得る。複数の第２インスタンスは、システムアーキテクチャの複数のパート間の複数のインタフェースとし得る。それらのインタフェースの一部が、それらのインタフェースのうちの他のものを統合したものであってもよく、故に、それらのインタフェースのうちの他のものを統合したものであるインタフェースは、それらのインタフェースのうち上記他のものよりも、インタフェースの階層の高いレベルにあり得る。インタフェースの階層の例は、グラフスキーマ２００のインタフェース２２０、及び図３のインタフェースＺ、Ｚ．１、Ｚ．２、及びＸによって表され得る。例えば、ワイヤハーネスは、複数の個々のワイヤを統合したものとすることができ、各個々のワイヤは、例えばイーサネット（登録商標）接続といった複数の通信プロトコル接続を統合したものとすることができ、故に、ワイヤハーネスは、複数のワイヤよりもインタフェース階層の高いレベルにあり、各ワイヤは、例えばイーサネット（登録商標）接続といった複数の通信プロトコル接続よりもインタフェース階層の高いレベルにあるとし得る。
【００９６】
処理８１２にて、複数の重み付きインタフェースエッジが生成され得る。複数の重み付きインタフェースエッジの各々が、複数の頂点のうち異なる対（ペア）の頂点を接続することができ、また、複数の第２インスタンスのうちの１つ以上の第２インスタンスに従った、複数の第１インスタンスのうちの対応する対の間の情報交換接続を表し得る。複数の重み付きインタフェースエッジは、システムアーキテクチャのパート階層のパート対の間の情報交換接続を表し得る。
【００９７】
処理８１４にて、複数の重み付きインタフェースエッジの各々にインタフェース重み値が割り当てられ得る。一実施形態において、インタフェース重み値は、式（１＋α）×βによって定められることができ、ここで、αは、最小複雑度の０．０から最大複雑度の１．０までの範囲をとる相対インタフェース複雑度係数であり、βはアーキテクチャ重要度係数である。係数βは、ハードウェア／ソフトウェア結合アーキテクチャでは１．０とすることができ、ソフトウェアアーキテクチャでは＞１．０、例えば３．０、とすることができる。一実施形態において、複数の重み付きインタフェースエッジの各々に対するインタフェース重み値は、対応する重み付きインタフェースエッジに接続される頂点対（ペア）の第１の頂点に接続されるエッジの総数で１を除算したものに、その頂点対の第１の頂点の統合及び試験コスト見積もりを乗算したものと、対応する重み付きインタフェースエッジに接続される頂点対の第２の頂点に接続されるエッジの総数で１を除算したものに、その頂点対の第２の頂点の統合及び試験コスト見積もりを乗算したものと、の和として定められてもよい。頂点の統合及び試験コスト見積もりは、その頂点によって表されるパートに関係する実世界のシステムエンジニアリング原理に基づいて、ユーザによって決定されて入力され得る。
【００９８】
図９は、一部の実施形態に従った、例示的なシステムアーキテクチャの一貫性を定量化することを示すブロック図９００である。システムの設計過程において、システムアーキテクチャがパートの階層に分解され、それらのパートが、それらの間の情報交換インタフェースと共に統合され得る。これは、図６Ｂを参照して説明した重み付きパート間結合グラフによって表される。図６Ｂにインタフェースエッジ（例えば、図６Ｂのインタフェースエッジ６２０及び６３０）として表されるパート間の情報交換インタフェースは、パート同士の間の結合を導入することができる。重み付きパート間結合グラフに基づいて、システムアーキテクチャのパートの物理的結合の、情報交換インタフェースによる結合との一貫性を計算機的に評価することが望ましい。
【００９９】
重み付きパート間結合グラフ９１０が、図６Ｂを参照して説明したのと同様のやり方で構築され得る。一例として、重み付きパート間結合グラフ９１０は、コンピュータシステムを表し得る。物理パートサブグラフ（部分グラフ）抽出ツール９２０が、重み付きパート間結合グラフ９１０をコピーし、そのコピーから、階層的パート合成／分解を表す合成エッジを除く全てのエッジを除去することによって、重み付きパート間結合グラフ９１０からの物理パートサブグラフ９３０の抽出を実行し得る。物理パートサブグラフ９３０は、情報交換インタフェースのパート間結合を表すインタフェースエッジ（例えば、図６Ｂのインタフェースエッジ６２０及び６３０）のない、重み付きパート間結合グラフ９１０のパート階層を含み得る。この抽出中、合成エッジの重み付けは保存され得る。
【０１００】
パートの物理階層と情報交換インタフェースとの双方を含むシステムアーキテクチャの階層クラスタデンドログラム（樹状図）９６０を生成するよう、重み付けパート間結合グラフ９１０上でクラスタリング９４０が実行され得る。また、情報交換インタフェースはなしでパートの物理階層だけを含むシステムアーキテクチャの階層クラスタデンドログラム９７０を生成するよう、物理パートサブグラフ９３０上でクラスタリング９５０が実行され得る。階層クラスタデンドログラム９６０及び階層クラスタデンドログラム９７０は、例示的な実施形態としてグラフで示されているが、様々な異なるシステムアーキテクチャが異なる表現で階層クラスタデンドログラムを生成し得るので、これらは限定するものとして解釈されるべきでない。階層クラスタデンドログラム９６０及び９７０は、それらの外側に複数のモデルクラスタを示している。階層クラスタデンドログラム９６０及び９７０は、クラスタ又はデンドログラムのいずれでも参照され得る。クラスタリング９４０及び９５０は、例えばＮｅｗｍａｎ＆Ｇｉｒｖａｎ２００４エッジビットウィーンネス（edge  betweenness）アルゴリズムといった、様々なネットワーク又はグラフ理論的クラスタリングアルゴリズムを用いて実行され得る。クラスタリング９４０及び９５０の間に合成エッジ及びインタフェースエッジの重み付けが用いられてもよい。
【０１０１】
階層クラスタデンドログラム９６０及び９７０上で、比較のためのクラスタの相関調べを行って、情報交換インタフェースなしでパートの物理階層だけを含むシステムアーキテクチャと、パートの物理階層及び情報交換インタフェースの双方を含むシステムアーキテクチャとの間の一貫性を決定し得る。相関調べは、例えば、２つの階層クラスタが互いにどれだけ密接に相関しているか比較するためのＢａｋｅｒのガンマ相関１９７４アルゴリズムといった、様々なネットワーク又はグラフ理論的相関アルゴリズムを用いて実行され得る。理想的には、一貫性が１なる値として表現される。一貫性が１なる値に等しくないとき、非一貫性のインジケーションを用いて、ソースデータベースからのシステムアーキテクチャにおける非一貫性の１つ以上の原因をよりよく理解するために、ここで説明されるような更なる解析を実行すると決定し得る。例えば、一貫性の値及びその後の更なる解析を用いて、設計者又はアーキテクトによって選択されたインタフェースがシステムの物理的分解と一貫性を持つかを理解し得る。一貫性評価に基づいて設計の決定が為され得る。従って、異なるシステムアーキテクチャ設計の繰り返しの一貫性評価結果をグラフにプロットして、競合する製品のベンチマーク設計に対して又はこれまでの幾つかの設計改訂版に対して設計がどれだけ進捗しているかを見ることができる。
【０１０２】
図１０は、一部の実施形態に従った、様々な例示的な計算機解析結果を示すグラフ１０００である。グラフ１０００のｘ軸は時間を表し、グラフ１０００のｙ軸は解析メトリック値を表し、各データポイントは、それぞれの日付におけるシステムアーキテクチャ設計に関して提供されている。グラフ１０００は、システムアーキテクチャ設計が進展するにつれてのシステムアーキテクチャ解析メトリック値の経時的な進化を追跡するために、計算機解析がどのように使用され得るかを示している。ＳＲＲという注釈付きの点線は、システムアーキテクチャ開発タイムライン中のシステム要件レビュー日を指す。プロット１０１０、１０２０、及び１０３０は、モジュラリティ指標を表している。
【０１０３】
モジュラリティ指標は、例えば、Ｃｌａｕｓｅｔ−Ｎｅｗｍａｎ−Ｍｏｏｒｅモジュラリティアンドコミュニティ（modularity  and  community）検出アルゴリズム、Ｌｏｕｖａｉｎコミュニティ検出アルゴリズム、及びＧｉｒｖａｎ−Ｎｅｗｍａｎアルゴリズムといった、十分に確立されたネットワーク及びグラフ理論的アルゴリズムを用いて、重み付きパート間結合グラフを解析することによって求めることができる。パート間結合グラフとモジュラリティアルゴリズムとは、パート間結合グラフのデータ構造上でモジュラリティアルゴリズムがどのように動作するかに関して、よく整合している。システムアーキテクチャのモジュラリティを決定することにおいて、この解析は、各パートが、パートの又は分離可能なパートグループのどのコミュニティのメンバーであるかを求める。これらのアルゴリズムは、物理的分解と、それにパート間のインタフェースがどれだけよく整合しているかと、の双方を考慮に入れることができる。特定のパスの重要性に基づく（例えば、システムアーキテクチャ内で特定のパスがどれだけ共通であるかに基づく）エッジビットウィーンネスクラスタを、一部の実施形態ではシステムの物理的分解を用いて、あるいは他の実施形態では物理的分解とパート間のインタフェースとの組み合わせを用いて生成することができ、そして、モジュラリティ指標を適用して、異なるクラスタ又はコミュニティが互いからどれだけ分離可能であるかを見ることができる。モジュラリティ指標は、０は全くモジュラリティでなく、１は理想的にモジュラリティであるとして、０から１までの範囲とし得る。典型的に、モジュール式システムアーキテクチャでは、モジュラリティ係数が０．３よりも高いことが望ましい。
【０１０４】
プロット１０１０は、設計過程中にアーキテクチャが進化するにつれて経時的に観察したときの、システムアーキテクチャ内の情報交換接続を考慮せずに物理階層システムアーキテクチャのみを考慮しての、システムアーキテクチャのモジュラリティを表している。これは、システムアーキテクチャの物理的分解のモジュラリティとしても参照され得る。プロット１０１０の物理的分解のモジュラリティは、システムアーキテクチャの物理パート階層がどれだけ詳細に一貫性を持って分解されたかを表し得る。プロット１０２０は、設計過程中にアーキテクチャが進化するにつれて経時的に観察したときの、論理システムアーキテクチャのみを考慮することによって決定される理想的なモジュラリティを表している。プロット１０２０は、パート間で選択される情報交換インタフェースを所与として、インタフェース変更なしで、コミュニティ検出アルゴリズムを介してパートを最大モジュラリティコミュニティ又はモジュールにグループ化するときの、アーキテクチャの進化の所与の時点において達成されることが可能な最良のモジュラリティについてのガイダンスを提供する。プロット１０３０は、設計過程中にアーキテクチャが進化するにつれて経時的に観察したときの、システムアーキテクチャの物理パート階層及びパート間の情報交換インタフェースを考慮しての、システムアーキテクチャのモジュラリティ又は“分離可能性”を表している。
【０１０５】
一部の実施形態において、重み付きパート間結合グラフにおける各インタフェースエッジに関連するリスクが、Ｎｅｗｍａｎ＆Ｇｉｒｖａｎ２００４エッジビットウィーンセントラリティ（edge  betweenness  centrality）アルゴリズムによって決定されるような各インタフェースエッジのエッジセントラリティに従って決定されてプロットされ得る。比較的高いセントラリティを持つと決定されるインタフェースは、比較的高いリスクを持つとも考えられるとともに、モジュラリティを低下させ得るものであり、これは製品設計目標と衝突することが多い。リスクを低減させるようにインタフェースを単純化することにより、システムアーキテクチャのモジュラリティ及びロバスト性が向上され、ひいては、設計目標が容易に達成され得る。
【０１０６】
どのインタフェースがモジュラリティに最大の影響を持つかを特定する１つの手法は、ベースの重み付きパート間結合グラフのモジュラリティを求め、そして、異なるインタフェースエッジを除去することによって生成される各重み付きパート間結合サブグラフのモジュラリティを求めるものである。ベースの重み付きパート間結合グラフから最大のモジュラリティ変化を持つ重み付きパート間結合サブグラフは、その重み付きパート間結合サブグラフを生成するために除去されたインタフェースに対して、システムアーキテクチャ全体のモジュラリティが、最も敏感であることを指し示す。同様に、システムアーキテクチャ全体は、ランク順に次に大きい変化を示した別の重み付きパート間結合サブグラフを生成するために除去されたインタフェースに対して、次に最も敏感である。この解析を用いることで、単純化又は除去される場合にシステムのモジュラリティを向上させるのに大きい影響を持ち得るシステムアーキテクチャ内のインタフェースを特定し得る。この洞察がなければ、設計反復中にシステムアーキテクチャ設計のうちの誤った領域に焦点を当ててしまうことがあり、モジュラリティが改善されないことがある。
【０１０７】
プロット１０１０−１０３０とは異なり、プロット１０４０は、モジュラリティ指標のものではない。プロット１０４０は、物理的分解のみと、物理的分解及びシステムアーキテクチャのパート間の情報交換インタフェースの組み合わせとの相関を表し、それ故に、図９を参照して説明したように、同じものの物理的対機能的な整合を表している。プロット１０４０は、データポイント１０４０Ａと１０４０Ｂとの間で、設計変更が、システムアーキテクチャの一貫性の大きな低下を引き起こしたことを示している。このメトリックは、システムアーキテクチャの物理的構造の変化に敏感であるとすることができ、何時に設計変更が、システムの物理的分解を情報交換インタフェース又はシステムの黙示的な機能的分解に対して整合しないものにさせたかを示す。グラフ１０００からの導き出され得ることは、一貫性が低下してモジュラリティ指標が値的に低下するにつれて、システム関するリスクが高まるということである。例えば、システムアーキテクチャの内部一貫性が急激に低下すると、設計の明確性も急激に低下する。また、設計明確性基準が満たされているかの洞察を提供するために、内部一貫性を過去の製品に対するベンチマークとし得る。内部明確性及び一貫性は、製品のライフサイクルを通して実装及び解釈のリスクを低減させる。
【０１０８】
図１１は、一部の実施形態に従った、システムアーキテクチャの一貫性を定量化するシステム１１００を示すブロック図である。システム１１００は、計算プロセッサ１１０２と、計算プロセッサ１１０２によって処理されるデータ構造を記憶し得るメモリ回路１１０４とを含み得る。メモリ回路１１０４はまた、実行されるときに図１２の方法１２００を実行するプログラムを格納し得る。システム１１００は、システムアーキテクチャの異なるバージョンを表す例えば図１のプロパティグラフデータモデル１５０といったプロパティグラフデータモデル又は例えば図６Ｂの重み付きパート間結合グラフ６１０といった重み付きパート間結合グラフデータモデルの解析を比較し得る。システム１１００の要素は、１つ以上の接続又はデータバス１１２４を介して互いに通信し得る。
【０１０９】
重み付きパート間結合グラフは、データ構造内の複数の頂点、複数の重み付き合成エッジ、及び複数の重み付きインタフェースエッジを含むプロパティグラフデータモデルの一実施形態とし得る。複数の重み付き合成エッジが、ある頂点タイプ内での有向合成及び有向分解を表し得るとともに、複数の重み付きインタフェースエッジが、頂点間の情報交換インタフェースを表し得る。
【０１１０】
データベース構文解析部（パーサ）１１０６が、システムアーキテクチャに関する関連特徴を含んだ、例えば図１のソースデータベース１１０などの１つ以上のソースデータベースにアクセスし得る。システムアーキテクチャに関する関連特徴は、システムアーキテクチャの設計、モデル化、シミュレーション、製造、処理、試験、性能、信頼性、欠陥、故障、コスト、及び評価に関連する情報を含み得る。ソースデータベースは、システムアーキテクチャに含まれるデバイス、コンポーネント、サブシステム、及びシステムの設計、モデル化、及びシミュレーションのための様々なハードウェア及び／又はソフトウェアツールについてのデータファイルを含み得る。ソースデータベースは、メモリ回路１１０４に格納されたデータ構造、例えば、図５を参照して説明した方法５００に従って生成されたプロパティグラフデータモデルを含むデータ構造、又は図８を参照して説明した方法８００に従って生成された重み付きパート間結合グラフデータモデルを含むデータ構造を含み得る。データベース構文解析部１１０６は、例えばＦＰＧＡ若しくはＡＳＩＣなどの特殊目的のプロセッサといった、恒久的に構成される専用の回路若しくはロジック、又は、例えばメモリ回路１１０４に格納された命令に従って処理を実行する計算プロセッサ１１０２といった、プログラム可能なロジック又は回路を含み得る。
【０１１１】
第１情報抽出部１１０８が、システムアーキテクチャの第１設計次元の複数の第１インスタンスに関連する情報を、１つ以上のソースデータベースから抽出し得る。第１情報抽出部１１０８は、図４の第１情報抽出部４０８若しくは図７の第１情報抽出部７０８の実施形態を含み、又は図１のフォーマット変換部１２０の実施形態に含まれ得る。第１設計次元は、システムアーキテクチャのパート階層とし得る。複数の第１インスタンスは、システムアーキテクチャの複数のパートとし得る。それらのパートの一部が、それらのパートのうちの他のものを統合したものであってもよく、故に、それらのパートのうちの他のものを統合したものであるパートは、それらのパートのうち上記他のものよりも、パートの階層の高いレベルにあり得る。パート階層の例は、グラフスキーマ２００のパート２１０、及び図３のパートＡ、Ａ．１、Ａ．２、Ａ．３、Ａ．１．１、Ａ．１．２、Ａ．２．１、Ａ．２．２、Ａ．３．１、及びＡ．３．２によって表され得る。例えば、回路カードパートは、複数の集積回路パートと、複数の集積回路パートが上に実装されるプリント回路基板とを統合したものとすることができ、故に、回路カードパートは、複数の集積回路パート、及び複数の集積回路パートが上に実装される回路基板パートよりも、パート階層の高いレベルにあるとし得る。第１情報抽出部１１０８は、例えばＦＰＧＡ若しくはＡＳＩＣなどの特殊目的のプロセッサといった、恒久的に構成される専用の回路若しくはロジック、又は、例えばメモリ回路１１０４に格納された命令に従って処理を実行する計算プロセッサ１１０２といった、プログラム可能なロジック又は回路を含み得る。
【０１１２】
第２情報抽出部１１１０が、システムアーキテクチャの第２設計次元の複数の第２インスタンスに関連する情報を、１つ以上のソースデータベースから抽出し得る。第２設計次元は、システムアーキテクチャの複数のパート間のインタフェース階層とし得る。第２情報抽出部１１１０は、図４の第２情報抽出部４１４若しくは図７の第２情報抽出部７１６の実施形態を含み、又は図１のフォーマット変換部１２０の実施形態に含まれ得る。インタフェース階層は、システムアーキテクチャの複数のパート間の複数のインタフェースを含み得る。それらのインタフェースの一部が、それらのインタフェースのうちの他のものを統合したものであってもよく、故に、それらのインタフェースのうちの他のものを統合したものであるインタフェースは、それらのインタフェースのうち上記他のものよりも、インタフェースの階層の高いレベルにあり得る。インタフェースの階層の例は、グラフスキーマ２００のインタフェース２２０、及び図３のインタフェースＺ、Ｚ．１、Ｚ．２、及びＸによって表され得る。例えば、ワイヤハーネスは、複数の個々のワイヤを統合したものとすることができ、各個々のワイヤは、例えばイーサネット（登録商標）接続といった複数の通信プロトコル接続を統合したものとすることができ、故に、ワイヤハーネスは、複数のワイヤよりもインタフェース階層の高いレベルにあり、各ワイヤは、例えばイーサネット（登録商標）接続といった複数の通信プロトコル接続よりもインタフェース階層の高いレベルにあるとし得る。第２情報抽出部１１１０は、例えばＦＰＧＡ若しくはＡＳＩＣなどの特殊目的のプロセッサといった、恒久的に構成される専用の回路若しくはロジック、又は、例えばメモリ回路１１０４に格納された命令に従って処理を実行する計算プロセッサ１１０２といった、プログラム可能なロジック又は回路を含み得る。
【０１１３】
第１データ構造生成部１１１２が、第１重み付きプロパティグラフデータモデルを表す第１データ構造を生成し得る。第１重み付きプロパティグラフデータモデルは、図９の重み付きパート間結合グラフ９１０又は図６Ｂを参照して説明した重み付きパート間結合グラフデータモデルの一実施形態とし得る。第１データ構造は、図８を参照して説明した方法８００の一実施形態に従って生成され得る。第１データ構造は、複数の第１頂点を含み得る。第１頂点の各々が、複数の第１インスタンスのうちの１つの第１インスタンスを表し得る。第１データ構造はまた、複数の第１重み付き合成エッジを含み得る。複数の第１重み付き合成エッジの各々が、複数の第１頂点のうち異なる対の第１頂点を接続し、複数の第１インスタンスのうちの１つの第１インスタンスの、複数の第１インスタンスのうちの別の第１インスタンスに対する、階層的な有向合成又は有向分解を表し得る。複数の第１重み付き合成エッジの各々はまた、重み値を割り当てられ得る。第１データ構造は、複数の第１重み付きインタフェースエッジを含み得る。複数の第１重み付きインタフェースエッジの各々が、複数の第１頂点のうち異なる対の第１頂点を接続し、複数の第２インスタンスのうちの１つ以上の第２インスタンスに従った、複数の第１インスタンスのうちの対応する対の第１インスタンス間の情報交換インタフェースを表し得る。複数の第１重み付きインタフェースエッジの各々はまた、重み値を割り当てられ得る。第１データ構造生成部１１１２は、例えばＦＰＧＡ若しくはＡＳＩＣなどの特殊目的のプロセッサといった、恒久的に構成される専用の回路若しくはロジック、又は、例えばメモリ回路１１０４に格納された命令に従って処理を実行する計算プロセッサ１１０２といった、プログラム可能なロジック又は回路を含み得る。
【０１１４】
第２データ構造生成部１１１４が、第２重み付きプロパティグラフデータモデルを表す第２データ構造を生成し得る。第２データ構造は、図９の物理パートサブグラフ９３０の一実施形態とし得る。第２データ構造生成部１１１４は、図９の物理パートサブグラフ抽出ツール９２０の一実施形態とし得る。第２重み付きプロパティグラフデータモデルは、図９の物理パートサブグラフ９３０の一実施形態、又は図６Ｂを参照して説明した重み付きパート間結合グラフデータモデル６１０の一実施形態とし得る。第２データ構造は、複数の第２頂点を含み得る。第２頂点の各々が、複数の第１インスタンスのうちの１つの第１インスタンスを表し得る。第２データ構造はまた、複数の第２重み付き合成エッジを含み得る。複数の第２重み付き合成エッジの各々が、複数の第２頂点のうち異なる対の第２頂点を接続し、複数の第１インスタンスのうちの１つの第１インスタンスの、複数の第１インスタンスのうちの別の第１インスタンスに対する、階層的な有向合成又は有向分解を表し得る。複数の第２重み付き合成エッジの各々は、重み値を割り当てられ得る。第２データ構造生成部１１１４は、第１データ構造のコピーを生成し、そして、第１データ構造のコピーから重み付きインタフェースエッジを削除又は除去することによって、第２データ構造を生成し得る。重み付きインタフェースエッジは、第１データ構造のコピーを作成するときに無視され、それ故に、それらが第１データ構造のコピー内に作成されることはない。第２データ構造は、複数の第１重み付きインタフェースエッジを生成しないことを除いて、第１データ構造生成部１１１２を参照して説明した第１データ構造と同様のやり方で生成され得る。第２データ構造生成部１１１４は、例えばＦＰＧＡ若しくはＡＳＩＣなどの特殊目的のプロセッサといった、恒久的に構成される専用の回路若しくはロジック、又は、例えばメモリ回路１１０４に格納された命令に従って処理を実行する計算プロセッサ１１０２といった、プログラム可能なロジック又は回路を含み得る。
【０１１５】
第１クラスタ生成部１１１６が、第１データ構造の合成エッジ及びインタフェースエッジの組み合わせのビットウィーンネス階層クラスタデンドログラムを生成し得る。第１クラスタ生成部１１１６は、図９のクラスタリング９４０の一実施形態を実行することができ、合成エッジ及びインタフェースエッジの組み合わせのビットウィーンネス階層クラスタデンドログラムは、図９の階層クラスタデンドログラム９６０の一実施形態とし得る。合成エッジ及びインタフェースエッジの組み合わせのビットウィーンネス階層クラスタデンドログラムは、第１データ構造上でＮｅｗｍａｎ＆Ｇｉｒｖａｎ２００４計算を実行することによって生成され得る。第１クラスタ生成部１１１６は、例えばＦＰＧＡ若しくはＡＳＩＣなどの特殊目的のプロセッサといった、恒久的に構成される専用の回路若しくはロジック、又は、例えばメモリ回路１１０４に格納された命令に従って処理を実行する計算プロセッサ１１０２といった、プログラム可能なロジック又は回路を含み得る。
【０１１６】
第２クラスタ生成部１１１８が、第２データ構造の合成エッジビットウィーンネス階層クラスタデンドログラムを生成し得る。第２クラスタ生成部１１１８は、図９のクラスタリング９５０の一実施形態を実行することができ、合成エッジビットウィーンネス階層クラスタデンドログラムは、図９の階層クラスタデンドログラム９７０の一実施形態とし得る。合成エッジビットウィーンネス階層クラスタデンドログラムは、第２データ構造上でＮｅｗｍａｎ＆Ｇｉｒｖａｎ２００４計算を実行することによって生成され得る。第２クラスタ生成部１１１８は、例えばＦＰＧＡ若しくはＡＳＩＣなどの特殊目的のプロセッサといった、恒久的に構成される専用の回路若しくはロジック、又は、例えばメモリ回路１１０４に格納された命令に従って処理を実行する計算プロセッサ１１０２といった、プログラム可能なロジック又は回路を含み得る。
【０１１７】
相関計算部１１２０が、合成エッジ及びインタフェースエッジの組み合わせのビットウィーンネス階層クラスタデンドログラムと、合成エッジビットウィーンネス階層クラスタデンドログラムとの間の相関を計算し得る。相関計算部１１２０は、図９の比較のためのクラスタの相関調べ９８０の一実施形態を実行し得る。相関は、合成エッジ及びインタフェースエッジの組み合わせのビットウィーンネス階層クラスタデンドログラムと、合成エッジビットウィーンネス階層クラスタデンドログラムとについて、Ｂａｋｅｒのガンマ相関１９７４計算を実行することによって計算され得る。相関計算部１１２０は、例えばＦＰＧＡ若しくはＡＳＩＣなどの特殊目的のプロセッサといった、恒久的に構成される専用の回路若しくはロジック、又は、例えばメモリ回路１１０４に格納された命令に従って処理を実行する計算プロセッサ１１０２といった、プログラム可能なロジック又は回路を含み得る。
【０１１８】
相関プロット部１１２２が、複数の異なるシステムアーキテクチャの各々に対応する相関を、例えば図１０のプロット１０４０といった共通プロット上にプロットして、物理的合成及びインタフェースに関してアーキテクチャインスタンスが互いにどれだけ近いかを表し得る。それら異なるシステムアーキテクチャは、システムアーキテクチャ開発プロジェクトの異なる日付又はマイルストーンにおける異なる設計反復とし得る。相関プロット部１１２２は、例えばＦＰＧＡ若しくはＡＳＩＣなどの特殊目的のプロセッサといった、恒久的に構成される専用の回路若しくはロジック、又は、例えばメモリ回路１１０４に格納された命令に従って処理を実行する計算プロセッサ１１０２といった、プログラム可能なロジック又は回路を含み得る。
【０１１９】
図１２は、一部の実施形態に従った、システムアーキテクチャの一貫性を定量化する方法１２００を示すブロック図である。方法１２００は、図１１のシステム１１００によって実行され得る。方法１２００は、システムアーキテクチャの異なるバージョンを表すプロパティグラフデータモデル又は重み付きパート間結合グラフデータモデルの解析を比較し得る。重み付きパート間結合グラフは、データ構造内の複数の頂点、複数の重み付き合成エッジ、及び複数の重み付きインタフェースエッジを含むプロパティグラフデータモデルの一実施形態とし得る。図６Ｂが、例示的な重み付きパート間結合グラフ６１０を示している。複数の重み付き合成エッジが、ある頂点タイプ内での有向合成及び有向分解を表し得るとともに、複数の重み付きインタフェースエッジが、頂点間の情報交換インタフェース又は他のインタフェースを表し得る。データ構造は、例えば計算プロセッサ１１０２といった計算プロセッサを有するコンピュータシステムの例えばメモリ回路１１０４といったメモリ回路に格納されることができ、方法１２００は、その計算プロセッサによって実行されることができる。
【０１２０】
処理１２０２にて、システムアーキテクチャに関する関連特徴を含んだ、例えば図１のソースデータベース１１０などの１つ以上のソースデータベースから情報が抽出され得る。システムアーキテクチャに関する関連特徴は、システムアーキテクチャの設計、モデル化、シミュレーション、製造、処理、試験、性能、信頼性、欠陥、故障、コスト、及び評価に関連する情報を含み得る。処理１２０２は、図１１のデータベース構文解析部１１０６、図１１の第１情報抽出部１１０８、図１１の第２情報抽出部１１１０、及び／又は図１のフォーマット変換部１２０の実施形態によって実行され得る。ソースデータベースは、システムアーキテクチャに含まれるデバイス、コンポーネント、サブシステム、及びシステムの設計、モデル化、及びシミュレーションのための様々なハードウェア及び／又はソフトウェアツールについてのデータファイルを含み得る。ソースデータベースは、コンピュータシステムのメモリ回路に格納されたデータ構造、例えば、図５を参照して説明した方法５００に従って生成されたプロパティグラフデータモデルを含むデータ構造、又は図８を参照して説明した方法８００に従って生成された重み付きパート間結合グラフデータモデルを含むデータ構造を含み得る。
【０１２１】
抽出される情報は、システムアーキテクチャの第１設計次元の複数の第１インスタンス、及びシステムアーキテクチャの第２設計次元の複数の第２インスタンスに関連し得る。第１設計次元は、システムアーキテクチャのパート階層とし得る。複数の第１インスタンスは、システムアーキテクチャの複数のパートとし得る。それらのパートの一部が、それらのパートのうちの他のものを統合したものであってもよく、故に、それらのパートのうちの他のものを統合したものであるパートは、それらのパートのうち上記他のものよりも、パートの階層の高いレベルにあり得る。パート階層の例は、グラフスキーマ２００のパート２１０、及び図３のパートＡ、Ａ．１、Ａ．２、Ａ．３、Ａ．１．１、Ａ．１．２、Ａ．２．１、Ａ．２．２、Ａ．３．１、及びＡ．３．２によって表され得る。例えば、回路カードパートは、複数の集積回路パートと、複数の集積回路パートが上に実装されるプリント回路基板とを統合したものとすることができ、故に、回路カードパートは、複数の集積回路パート、及び複数の集積回路パートが上に実装される回路基板パートよりも、パート階層の高いレベルにあるとし得る。第２設計次元は、システムアーキテクチャの複数のパート間のインタフェース階層とし得る。複数の第２インスタンスは、システムアーキテクチャの複数のパート間の複数のインタフェースとし得る。それらのインタフェースの一部が、それらのインタフェースのうちの他のものを統合したものであってもよく、故に、それらのインタフェースのうちの他のものを統合したものであるインタフェースは、それらのインタフェースのうち上記他のものよりも、インタフェースの階層の高いレベルにあり得る。インタフェースの階層の例は、グラフスキーマ２００のインタフェース２２０、及び図３のインタフェースＺ、Ｚ．１、Ｚ．２、及びＸによって表され得る。例えば、ワイヤハーネスは、複数の個々のワイヤを統合したものとすることができ、各個々のワイヤは、例えばイーサネット（登録商標）接続といった複数の通信プロトコル接続を統合したものとすることができ、故に、ワイヤハーネスは、複数のワイヤよりもインタフェース階層の高いレベルにあり、各ワイヤは、例えばイーサネット（登録商標）接続といった複数の通信プロトコル接続よりもインタフェース階層の高いレベルにあるとし得る。
【０１２２】
処理１２０４にて、第１重み付きプロパティグラフデータモデルを表す第１データ構造が生成され得る。第１重み付きプロパティグラフデータモデルは、図９の重み付きパート間結合グラフ９１０又は図６Ｂを参照して説明した重み付きパート間結合グラフデータモデル６１０の一実施形態とし得る。第１データ構造は、図８を参照して説明した方法８００の一実施形態に従って生成され得る。第１データ構造は、複数の第１インスタンスを表す複数の第１頂点と、複数の第１頂点のうち異なる対の第１頂点を接続し、複数の第１インスタンスの階層的な有向合成又は有向分解を表す複数の第１重み付き合成エッジと、複数の第１頂点のうち異なる対の第１頂点を接続し、複数の第２インスタンスのうちの１つ以上の第２インスタンスに従った複数の第１インスタンス間の情報交換インタフェースを表す複数の第１重み付きインタフェースエッジとを含み得る。複数の第１重み付き合成エッジは、システムアーキテクチャのパート階層のパートの物理的統合を表し得る。複数の第１重み付きインタフェースエッジは、システムアーキテクチャのパート階層のパート対（ペア）間の情報交換インタフェースを表し得る。複数の第１重み付き合成エッジの各々及び複数の第１重み付きインタフェースエッジの各々が、重み値を割り当てられ得る。
【０１２３】
処理１２０６にて、複数の第１重み付きインタフェースエッジを含まないことを除いて第１データ構造と等価な第２データ構造が生成され得る。第２データ構造は、図９の物理パートサブグラフ９３０の一実施形態とすることができ、図９の物理パートサブグラフ抽出ツール９２０の一実施形態を用いて生成され得る。第２データ構造は、第１データ構造のコピーを生成し、そして、第１データ構造のコピーから重み付きインタフェースエッジを削除又は除去することによって生成され得る。重み付きインタフェースエッジは、第１データ構造のコピーを作成するときに無視され、それ故に、それらが第１データ構造のコピー内に作成されることはない。第２データ構造は、複数の第１重み付きインタフェースエッジを生成しないことを除いて、処理１２０４を参照して説明した第１データ構造と同様のやり方で生成され得る。
【０１２４】
処理１２０８にて、第１データ構造の合成エッジ及びインタフェースエッジの組み合わせのビットウィーンネス階層クラスタデンドログラムが生成され得る。処理１２０８は、図９のクラスタリング９４０を実行することの一実施形態とすることができ、合成エッジ及びインタフェースエッジの組み合わせのビットウィーンネス階層クラスタデンドログラムは、図９の階層クラスタデンドログラム９６０の一実施形態とし得る。合成エッジ及びインタフェースエッジの組み合わせのビットウィーンネス階層クラスタデンドログラムは、第１データ構造上でＮｅｗｍａｎ＆Ｇｉｒｖａｎ２００４エッジビットウィーンネス計算を実行することによって生成され得る。
【０１２５】
処理１２１０にて、第２データ構造の合成エッジビットウィーンネス階層クラスタデンドログラムが生成され得る。処理１２１０は、図９のクラスタリング９５０を実行することの一実施形態とすることができ、合成エッジビットウィーンネス階層クラスタデンドログラムは、図９の階層クラスタデンドログラム９７０の一実施形態とし得る。合成エッジビットウィーンネス階層クラスタデンドログラムは、第２データ構造上でＮｅｗｍａｎ＆Ｇｉｒｖａｎ２００４エッジビットウィーンネス計算を実行することによって生成され得る。
【０１２６】
処理１２１２にて、合成エッジ及びインタフェースエッジの組み合わせのビットウィーンネス階層クラスタデンドログラムと、合成エッジビットウィーンネス階層クラスタデンドログラムとの間の相関が計算され得る。処理１２１２は、図９の比較のためのクラスタの相関調べ９８０を実行することの一実施形態とし得る。相関は、合成エッジ及びインタフェースエッジの組み合わせのビットウィーンネス階層クラスタデンドログラムと、合成エッジビットウィーンネス階層クラスタデンドログラムとについて、Ｂａｋｅｒのガンマ相関１９７４計算を実行することによって計算され得る。
【０１２７】
処理１２１４にて、処理１２０２から１２１２の各々が、異なるシステムアーキテクチャに対して実行され、それら異なるシステムアーキテクチャの各々に対応する相関が、例えば図１０のプロット１０４０といった共通プロット上にプロットされ得る。それら異なるシステムアーキテクチャは、システムアーキテクチャ開発プロジェクトの異なる日付又はマイルストーンにおける異なる設計反復とし得る。
【０１２８】
図１３は、一部の実施形態に従った、システムアーキテクチャのロバスト性を定量化することを示すブロック図１３００である。システムアーキテクチャ設計のロバスト性は、例えば図６Ｂを参照して図示して説明したような、階層的なパート間結合グラフを使用して計算機的に評価され得る。例えば、情報交換インタフェースを通じた情報交換における妨害に対するシステムアーキテクチャのロバスト性及び脆弱性を計算機的に評価することができる。これは、信頼性及びモジュラリティを向上させるために、システムアーキテクチャ設計の初期段階から後期の詳細設計段階まで全体を通して設計決定を支援するメトリックを提供する。システムアーキテクチャ設計の計算機解析からのメトリックは、モジュラリティとロバスト性との間のトレードオフを知らせるとともにそのバランスをとるために利用されることができる。
【０１２９】
これまで、システムアーキテクチャのロバスト性評価は計算機的には行われていなかった。むしろ、信頼性の専門家を採用して、コストのかかる信頼性モデルを手作業で開発し、信頼性の主観的評価を提供するものであった。信頼性モデルの開発は、主に、コンポーネント及び単品部品の故障と、アーキテクチャに対して影響を持つのに十分な早さの新設計では達成できないことが多い故障間平均時間データに基づいていた。また、コンポーネント及び単品部品の故障及び故障間平均時間データは、アーキテクチャの機能的信頼性の側面に対処するものではなく、物理的信頼性の側面のみに対処するものである。さらに、このモデルは、信頼性の専門家によるアーキテクチャの信頼性モデルへの変換に起因して、システムアーキテクチャに関連する全ての情報を考慮に入れることができない。このタイプの信頼性モデルはまた、初期段階の粗い設計ではなく詳細設計を必要とし、それが、システムアーキテクチャがますます詳細に設計されるにつれて設計反復をガイドするのに有用となることを妨げ、従って、初期の概念的なシステムアーキテクチャの信頼性を改善していくのにあまり有用ではなかった。
【０１３０】
また、典型的なネットワーク及びグラフ理論的アルゴリズムはまた、図６Ｂに示したような重み付きパート間結合グラフによって表されるシステムアーキテクチャのロバスト性を評価することもできない。これは、パート間結合グラフが、合成エッジ及びインタフェースエッジという２つのタイプのエッジを有するためである。ネットワーク及びグラフ理論的アルゴリズムによって一般的に使用される典型的なネットワークグラフは、ノード又は頂点を接続する単一クラスのエッジを有しており、エッジを漸進的に除去することで、ネットワークの信頼性又はロバスト性を、例えば、エッジが除去された後の最大の残存コンポーネントに基づいて評価する。ここに記載されるパート間結合グラフ内のインタフェースエッジを個々に除去することができるとしても、合成エッジは残ることになる。従って、全てのインタフェースエッジが除去されたとしても、最大の接続されたコンポーネントは変化しないまま（例えば、全ての頂点の完全グラフ）であり、ネットワークのロバスト性及び信頼性を評価する典型的なネットワーク及びグラフ理論的アルゴリズムを、重み付きパート間結合グラフには適用できないものとする。
【０１３１】
重み付きパート間結合グラフ１３１０は、図６Ｂを参照して説明したものと同様のやり方で構築され得る。一例として、重み付きパート間結合グラフ１３１０はコンピュータシステムを表し得る。インタフェースエッジ除去ツール１３２０が、重み付きパート間結合グラフ１３１０からインタフェースエッジ（例えば、図６Ｂのインタフェースエッジ６２０及び６３０）を選択して除去し、その第１の実行において重み付きパート間結合サブグラフ１３３０を生成し得る。後続の実行において、インタフェースエッジ除去ツール１３２０は、最後に生成された重み付きパート間結合サブグラフ１３３０から別のインタフェースエッジを除去して、別の重み付きパート間結合サブグラフ１３３０を生成し得る。インタフェースエッジ除去ツール１３２０は、ランダム選択に基づいて、あるいは、重み付きパート間結合グラフ１３１０又はインタフェースエッジが除去されている重み付きパート間結合サブグラフ１３３０の解析に基づいて、例えばほぼ中心から周辺へとエッジセントラリティの順に、除去するインタフェースエッジを選択し得る。エッジセントラリティは、例えばＮｅｗｍａｎ＆Ｇｉｒｖａｎ２００４といったエッジビットウィーンネスセントラリティアルゴリズムに従って決定され得る。エッジ除去確率は、エッジセントラリティの経験的な確率分布に基づき得る。インタフェースエッジは、攻撃又は変化に対して最も脆弱な接続から最も脆弱でない接続への順に削除され得る。インタフェースエッジ除去の順序を決定するためにエッジセントラリティの使用は、攻撃者が、システムアーキテクチャの最も中心的なインタフェースについて完全な知識を有していて、それらのセントラリティの順にインタフェースを攻撃する、ということを想定してのものであり得る。変化に対する脆弱性の場合、最初に中心のエッジを除去することは、最悪ケースのシナリオとして変化が起こるということを想定してのものであり得る。
【０１３２】
一実施形態において、インタフェースエッジ除去ツール１３２０の各繰り返しは、所与の変位値サンプルステップサイズに従って、変位値が減少していく順序でインタフェースエッジを除去し得る。例えば、インタフェースエッジ除去ツール１３２０は、エッジビットウィーンネスセントラリティの、０．１と０．２５との間の変位値サンプルステップサイズで、１．０から０．０へと変位値が減少していく順序でインタフェースエッジを除去し得る。このプロセスから得られる各重み付きパート間結合サブグラフ１３３０は、各変位値サンプルについて１つを含む、増加していく数の除去済みインタフェースエッジを有し得る。
【０１３３】
各重み付きパート間結合サブグラフ１３３０の生成に続いて、生成された重み付きパート間結合サブグラフ１３３０上でクラスタリング１３４０を実行することで、生成されたそれぞれの重み付きパート間結合サブグラフ１３３０に対応するシステムアーキテクチャの階層クラスタデンドログラム１３５０を生成し得る。クラスタリング１３４０は、例えばＮｅｗｍａｎ＆Ｇｉｒｖａｎ２００４エッジビットウィーンネスアルゴリズムといった、エッジ重みを考慮する様々なネットワーク又はグラフ理論的クラスタリングアルゴリズムを用いて実行され得る。階層的クラスタリング１３４０の間に、合成エッジ及びインタフェースエッジの重み付けが使用され得る。最新の階層クラスタデンドログラム１３５０から更なるインタフェースエッジを除去する必要があるかについて、決定１３６０が為され得る。除去されるインタフェースエッジの数は、例えば、ユーザによって、又は重み付きパート間結合グラフ１３１０内のインタフェースエッジの総数の或る割合によって、事前に決定されていてもよい。除去するインタフェースエッジの数は、重み付きパート間結合グラフ１３１０内のインタフェースエッジの過半数とし得る。除去すべき更なるインタフェースエッジが存在する場合、インタフェースエッジ除去１３２０が再び実行されて、先に生成された重み付きパート間結合サブグラフ１３３０よりも１つ少ないインタフェースエッジを有する別の重み付きパート間結合サブグラフ１３３０が生成される。インタフェースエッジ除去１３２０からクラスタリング１３４０のループを通じて、引き続いての重み付きパート間結合サブグラフ１３３０からのエッジ除去毎に１つの、複数の階層クラスタデンドログラム１３５０が生成され得る。
【０１３４】
また、重み付きパート間結合グラフ１３１０上でもクラスタリング１３７０を実行して、全てのインタフェースエッジを含むシステムアーキテクチャのベースライン階層クラスタデンドログラム１３８０を生成し得る。クラスタリング１３７０は、例えばＮｅｗｍａｎ＆Ｇｉｒｖａｎ２００４エッジビットウィーンネスアルゴリズムといった、様々なネットワーク又はグラフ理論的クラスタリングアルゴリズムを用いて実行され得る。ベースライン階層クラスタデンドログラム１３８０を生成するクラスタリング１３７０の間に、合成エッジ及びインタフェースエッジの重み付けが使用され得る。
【０１３５】
全ての階層クラスタデンドログラム１３５０上で、ベースライン階層クラスタデンドログラム１３８０との関係での、比較のためのクラスタの相関調べ１３９０が実行され、相関結果を重み付きパート間結合グラフ１３１０から除去されたインタフェースエッジの数に対して示す相関結果のプロット１３９５が生成され得る。相関結果のプロット１３９５は、そのｘ軸として除去されたインタフェースエッジの数を、又はそのｘ軸として各インタフェースエッジ除去の確率を持ち得るとともに、そのｙ軸として相関結果値を持ち得る。この相関調べは、例えばＢａｋｅｒのガンマ相関１９７４アルゴリズムといった、様々なネットワーク又はグラフ理論的相関アルゴリズムを用いて実行され得る。
【０１３６】
プロットされた相関結果１３９５は、システムアーキテクチャのレジリエンス又はロバスト性の指標を提供し得る。プロットされた相関結果１３９５の一実施形態は、図１６のレジリエンスプロファイルグラフ１６００を含み得る。エッジ除去の確率ｐ≧０．５（ロバスト性要因、高ダメージ確率又は広範攻撃）の場合のガンマ相関の中央値を、エッジ除去の確率ｐ＜０．５（脆弱性要因、低ダメージ確率又は狭小攻撃）の場合に計算された同じ量と比較することによって、全体的なロバスト性の指標を決定し得る。ロバスト性の指標は、インタフェースエッジの５０％以上が除去されるときの中央ガンマ相関値として決定されることができ、脆弱性の指標は、インタフェースエッジの５０％未満が除去されるときの中央ガンマ相関値を１から差し引いたものとして決定されることができる。システムアーキテクチャは、僅かなエッジが除去された後にプロットされた相関値に統計的に有意な低下がある場合に脆弱であると見なされ得る。一方、比較的ロバストなシステムアーキテクチャにおいては、プロットされた相関値は、インタフェースエッジの大部分が除去されるまで有意に低下しないはずである。例えば、統計的有意性は、エッジの除去後の機能が、エッジの除去なしでの最高レベルの機能の或る閾値パーセンテージよりも低い値まで低下することによって例示される。様々な実施形態において、統計的有意性の閾値は７５％とすることができ、これは、例えば図１６のｙ軸に示されるように、０．７５未満へのガンマの低下を表し得る。
【０１３７】
インタフェースエッジ除去ツール１３２０が、除去するインタフェースエッジのランダム選択を使用する場合、重み付きパート間結合グラフ１３１０から、比較のためのクラスタの相関調べ１３９０までのロバスト性の定量化プロセス全体が、インタフェースエッジ除去ツール１３２０にて異なるランダム選択を行って何回も（例えば、１００回）繰り返され、また、相関結果のプロット１３９５は、相関結果を平均し、又は相関結果の中央値を見つけ、それらをエッジ除去の確率に対してプロットし得る。ランダムインタフェースエッジ除去と、エッジビットウィーンネスセントラリティ（例えば、システムアーキテクチャの設計におけるインタフェースエッジの相対的重要度）に基づく標的インタフェースエッジ除去と、の双方を用いて解析が行われる場合、除去されるインタフェースエッジのランダム選択による１つと、インタフェースに対する狙いを定めた攻撃による１つとの、２つのロバスト性指標が得られる。これらのロバスト性指標はどちらも、システムの機能低下に関係する。前者は、製造上のバラつき又は生産性によるランダム不具合に起因するものとすることができ、後者は、設計の脆弱性について完全な知識を持つ攻撃者によるインタフェースへの悪意ある攻撃に起因するものとすることができる。
【０１３８】
プロットされた相関結果１３９５及び／又は全体的なロバスト性の指標に基づいて、設計の決定を行い得る。除去されるインタフェースエッジを増加させた後の相関結果を示すシステムアーキテクチャのロバスト性のプロットは、システムアーキテクチャが元々のシステムアーキテクチャから有意に相関しないものとなる前に、どれだけ多くのダメージを受けたインタフェースにシステムアーキテクチャが耐えることができるかを例示する。設計が進展するにつれて、各設計反復を評価してロバスト性を定量化し、そして、得られた結果プロットを互いに比較し得る。よりロバストなシステムアーキテクチャは、あまりロバストでないシステムアーキテクチャよりも、除去されたインタフェースエッジが多くても高い相関のある結果を持つ傾向にある。ロバスト性の定量化はまた、その目的用の別個のモデルを開発することなく、機能低下の解析を提供し得る。
【０１３９】
図１４は、一部の実施形態に従った、システムアーキテクチャのロバスト性を定量化するシステム１４００を示すブロック図である。システム１４００は、計算プロセッサ１４０２と、計算プロセッサ１４０２によって処理されるデータ構造を記憶し得るメモリ回路１４０４とを含み得る。メモリ回路１４０４はまた、実行されるときに図１５の方法１５００を実行するプログラムを格納し得る。システム１４００の要素は、１つ以上の接続又はデータバス１４２６を介して互いに通信し得る。
【０１４０】
システム１４００は、システムアーキテクチャを表す例えば図６Ｂの重み付きパート間結合グラフ６１０といった第１重み付きパート間結合グラフデータモデルの解析を、１つ以上の情報交換インタフェースが除去されていることを除いて第１重み付きパート間結合グラフデータモデルと等価な第２重み付きパート間結合グラフデータモデルの解析と比較することで、そのシステムアーキテクチャが、情報交換インタフェースを失うことによるダメージに対して、どれだけロバストであるかを決定し得る。重み付きパート間結合グラフは、データ構造内の複数の頂点、複数の重み付き合成エッジ、及び複数の重み付きインタフェースエッジを含むプロパティグラフデータモデルの実施形態とし得る。複数の重み付き合成エッジが、ある頂点タイプ内での有向合成及び有向分解を表し得るとともに、複数の重み付きインタフェースエッジが、頂点間の情報交換インタフェースを表し得る。
【０１４１】
データベース構文解析部（パーサ）１４０６が、システムアーキテクチャに関する関連特徴を含んだ、例えば図１のソースデータベース１１０などの１つ以上のソースデータベースにアクセスし得る。システムアーキテクチャに関する関連特徴は、システムアーキテクチャの設計、モデル化、シミュレーション、製造、処理、試験、性能、信頼性、欠陥、故障、コスト、及び評価に関連する情報を含み得る。ソースデータベースは、システムアーキテクチャに含まれるデバイス、コンポーネント、サブシステム、及びシステムの設計、モデル化、及びシミュレーションのための様々なハードウェア及び／又はソフトウェアツールについてのデータファイルを含み得る。ソースデータベースは、メモリ回路１４０４に格納されたデータ構造、例えば、図５を参照して説明した方法５００に従って生成されたプロパティグラフデータモデルを含むデータ構造、又は図８を参照して説明した方法８００に従って生成された重み付きパート間結合グラフデータモデルを含むデータ構造を含み得る。データベース構文解析部１４０６は、例えばＦＰＧＡ若しくはＡＳＩＣなどの特殊目的のプロセッサといった、恒久的に構成される専用の回路若しくはロジック、又は、例えばメモリ回路１４０４に格納された命令に従って処理を実行する計算プロセッサ１４０２といった、プログラム可能なロジック又は回路を含み得る。
【０１４２】
第１情報抽出部１４０８が、システムアーキテクチャの第１設計次元の複数の第１インスタンスに関連する情報を、１つ以上のソースデータベースから抽出し得る。第１情報抽出部１４０８は、図４の第１情報抽出部４０８、図７の第１情報抽出部７０８、若しくは図１１の第１情報抽出部１１０８の実施形態を含み、又は図１のフォーマット変換部１２０の実施形態に含まれ得る。第１設計次元は、システムアーキテクチャのパート階層とし得る。複数の第１インスタンスは、システムアーキテクチャの複数のパートとし得る。それらのパートの一部が、それらのパートのうちの他のものを統合したものであってもよく、故に、それらのパートのうちの他のものを統合したものであるパートは、それらのパートのうち上記他のものよりも、パートの階層の高いレベルにあり得る。パート階層の例は、グラフスキーマ２００のパート２１０、及び図３のパートＡ、Ａ．１、Ａ．２、Ａ．３、Ａ．１．１、Ａ．１．２、Ａ．２．１、Ａ．２．２、Ａ．３．１、及びＡ．３．２によって表され得る。例えば、回路カードパートは、複数の集積回路パートと、複数の集積回路パートが上に実装されるプリント回路基板とを統合したものとすることができ、故に、回路カードパートは、複数の集積回路パート、及び複数の集積回路パートが上に実装される回路基板パートよりも、パート階層の高いレベルにあるとし得る。第１情報抽出部１４０８は、例えばＦＰＧＡ若しくはＡＳＩＣなどの特殊目的のプロセッサといった、恒久的に構成される専用の回路若しくはロジック、又は、例えばメモリ回路１４０４に格納された命令に従って処理を実行する計算プロセッサ１４０２といった、プログラム可能なロジック又は回路を含み得る。
【０１４３】
第２情報抽出部１４１０が、システムアーキテクチャの第２設計次元の複数の第２インスタンスに関連する情報を、１つ以上のソースデータベースから抽出し得る。第２設計次元は、システムアーキテクチャの複数のパート間のインタフェース階層とし得る。第２情報抽出部１４１０は、図４の第２情報抽出部４１４、図７の第２情報抽出部７１６、若しくは図１１の第１情報抽出部１１０８の実施形態を含み、又は図１のフォーマット変換部１２０の実施形態に含まれ得る。インタフェース階層は、システムアーキテクチャの複数のパート間の複数のインタフェースを含み得る。それらのインタフェースの一部が、それらのインタフェースのうちの他のものを統合したものであってもよく、故に、それらのインタフェースのうちの他のものを統合したものであるインタフェースは、それらのインタフェースのうち上記他のものよりも、インタフェースの階層の高いレベルにあり得る。インタフェースの階層の例は、グラフスキーマ２００のインタフェース２２０、及び図３のインタフェースＺ、Ｚ．１、Ｚ．２、及びＸによって表され得る。例えば、ワイヤハーネスは、複数の個々のワイヤを統合したものとすることができ、各個々のワイヤは、例えばイーサネット（登録商標）接続といった複数の通信プロトコル接続を統合したものとすることができ、故に、ワイヤハーネスは、複数のワイヤよりもインタフェース階層の高いレベルにあり、各ワイヤは、例えばイーサネット（登録商標）接続といった複数の通信プロトコル接続よりもインタフェース階層の高いレベルにあるとし得る。第２情報抽出部１４１０は、例えばＦＰＧＡ若しくはＡＳＩＣなどの特殊目的のプロセッサといった、恒久的に構成される専用の回路若しくはロジック、又は、例えばメモリ回路１４０４に格納された命令に従って処理を実行する計算プロセッサ１４０２といった、プログラム可能なロジック又は回路を含み得る。
【０１４４】
第１データ構造生成部１４１２が、第１重み付きプロパティグラフデータモデルを表す第１データ構造を生成し得る。第１重み付きプロパティグラフデータモデルは、図１３の重み付きパート間結合グラフ１３１０又は図６Ｂを参照して説明した重み付きパート間結合グラフデータモデル６１０の一実施形態とし得る。第１データ構造は、図８を参照して説明した方法８００の一実施形態に従って生成され得る。第１データ構造は、複数の第１頂点を含み得る。第１頂点の各々が、複数の第１インスタンスのうちの１つの第１インスタンスを表し得る。第１データ構造はまた、複数の第１重み付き合成エッジを含み得る。複数の第１重み付き合成エッジの各々が、複数の第１頂点のうち異なる対の第１頂点を接続し、複数の第１インスタンスのうちの１つの第１インスタンスの、複数の第１インスタンスのうちの別の第１インスタンスに対する、階層的な有向合成又は有向分解を表し得る。複数の第１重み付き合成エッジの各々はまた、重み値を割り当てられ得る。第１データ構造は、複数の第１重み付きインタフェースエッジを含み得る。複数の第１重み付きインタフェースエッジの各々が、複数の第１頂点のうち異なる対の第１頂点を接続し、複数の第２インスタンスのうちの１つ以上の第２インスタンスに従った、複数の第１インスタンスのうちの対応する対の第１インスタンス間の情報交換インタフェースを表し得る。複数の第１重み付き合成エッジの各々及び複数の第１重み付きインタフェースエッジの各々は、重み値を割り当てられ得る。第１データ構造生成部１４１２は、例えばＦＰＧＡ若しくはＡＳＩＣなどの特殊目的のプロセッサといった、恒久的に構成される専用の回路若しくはロジック、又は、例えばメモリ回路１４０４に格納された命令に従って処理を実行する計算プロセッサ１４０２といった、プログラム可能なロジック又は回路を含み得る。
【０１４５】
第２データ構造生成部１４１４が、第２重み付きプロパティグラフデータモデルを表す第２データ構造を生成し得る。第２データ構造は、第１重み付きインタフェースエッジのうちの１つ以上を含んでいないことを除いて、第１データ構造と等価とし得る。第２データ構造は、図１３の重み付きパート間結合サブグラフ１３３０の一実施形態とし得る。第２データ構造生成部１４１４は、図１３のインタフェースをエッジ除去１３２０の一実施形態とし得る。第２重み付きプロパティグラフデータモデルは、図６Ｂを参照して説明した重み付きパート間結合グラフデータモデル６１０の一実施形態とし得る。第２データ構造は、第１データ構造のコピーを生成し、そして、第１データ構造のコピーから１つ以上の重み付きインタフェースエッジを削除又は除去することによって、第２データ構造を生成し得る。該１つ以上の重み付きインタフェースエッジは、第１データ構造のコピーを作成するときに無視され、それ故に、それらが第１データ構造のコピー内に作成されることはない。第２データ構造は、１つ以上の第１重み付きインタフェースエッジを生成しないことを除いて、第１データ構造生成部１４１２を参照して説明した第１データ構造と同様のやり方で生成され得る。
【０１４６】
一実施形態において、第２データ構造を生成することは、複数の第２データ構造を生成することを含み、複数の第２データ構造の各々が、異なる数の重み付きインタフェースエッジを、第１データ構造と比較して除去される。従って、複数の第２データ構造の各々は、第１データ構造の異なる一バージョンとし得る。最大で第１データ構造内の複数の重み付きインタフェースエッジの数までの、多数の第２データ構造が存在し得る。複数の第２データ構造の最初のものから最後のものまで、更なるインタフェースが、エッジビットウィーンネスセントラリティの所与の変位値サンプルステップサイズに従って、変位値が減少していく順序で、第１のデータ構造に対して除去されることで、各変位値サンプルについて１つを含む、増加していく数の除去済みインタフェースエッジを有した複数バージョンの第１データ構造をもたらし得る。例えば、変位値順序が、エッジビットウィーンネスセントラリティの、０．１と０．２５との間の変位値サンプルステップサイズで、１．０から０．０へと減少され得る。得られる複数の第２データ構造は、各変位値サンプルについて１つを含む、増加していく数の除去済みインタフェースエッジを有した第１データ構造のバージョンである。第２データ構造生成部１４１４は、例えばＦＰＧＡ若しくはＡＳＩＣなどの特殊目的のプロセッサといった、恒久的に構成される専用の回路若しくはロジック、又は、例えばメモリ回路１４０４に格納された命令に従って処理を実行する計算プロセッサ１４０２といった、プログラム可能なロジック又は回路を含み得る。
【０１４７】
第１クラスタ生成部１４１６が、第１データ構造の第１エッジビットウィーンネス階層クラスタデンドログラムを生成し得る。第１クラスタ生成部１４１６は、図１１の第１クラスタ生成部１１１６の一実施形態とし得る。第１クラスタ生成部１４１６は、図１３のクラスタリング１３７０の一実施形態を実行することができ、第１エッジビットウィーンネス階層クラスタデンドログラムは、図１３のベースライン階層クラスタデンドログラム１３８０の一実施形態とし得る。第１エッジビットウィーンネス階層クラスタデンドログラムは、第１データ構造上でＮｅｗｍａｎ＆Ｇｉｒｖａｎ２００４エッジビットウィーンネス計算を実行することによって生成され得る。第１クラスタ生成部１４１６は、例えばＦＰＧＡ若しくはＡＳＩＣなどの特殊目的のプロセッサといった、恒久的に構成される専用の回路若しくはロジック、又は、例えばメモリ回路１４０４に格納された命令に従って処理を実行する計算プロセッサ１４０２といった、プログラム可能なロジック又は回路を含み得る。
【０１４８】
第２クラスタ生成部１４１８が、第２データ構造の第２エッジビットウィーンネス階層クラスタデンドログラムを生成し得る。第２クラスタ生成部１４１８は、図１１の第２クラスタ生成部１１１８の一実施形態とし得る。第２クラスタ生成部１４１８は、図１３のクラスタリング１３４０の一実施形態を実行することができ、第２エッジビットウィーンネス階層クラスタデンドログラムは、図１３の階層クラスタデンドログラム１３５０の一実施形態とし得る。第２エッジビットウィーンネス階層クラスタデンドログラムは、第２データ構造上でＮｅｗｍａｎ＆Ｇｉｒｖａｎ２００４エッジビットウィーンネス計算を実行することによって生成され得る。複数の第２エッジビットウィーンネス階層クラスタデンドログラムが生成され、それら複数の第２エッジビットウィーンネス階層クラスタデンドログラムの各々が、第２データ構造生成部１４１４によって生成された複数の第２データ構造のうちの対応する１つのものである。第２クラスタ生成部１４１８は、例えばＦＰＧＡ若しくはＡＳＩＣなどの特殊目的のプロセッサといった、恒久的に構成される専用の回路若しくはロジック、又は、例えばメモリ回路１４０４に格納された命令に従って処理を実行する計算プロセッサ１４０２といった、プログラム可能なロジック又は回路を含み得る。
【０１４９】
相関計算部１４２０が、第１エッジビットウィーンネス階層クラスタデンドログラムと、第２エッジビットウィーンネス階層クラスタデンドログラムとの間の相関を計算し得る。相関計算部１４２０は、図１３の比較のためのクラスタの相関調べ１３９０の一実施形態を実行し得る。相関は、第１エッジビットウィーンネス階層クラスタデンドログラムと、第２エッジビットウィーンネス階層クラスタデンドログラムとについて、Ｂａｋｅｒのガンマ相関１９７４計算を実行することによって計算され得る。第１エッジビットウィーンネス階層クラスタデンドログラムと複数の第２エッジビットウィーンネス階層クラスタデンドログラムとの間で、複数の相関が計算され得る。相関計算部１４２０は、例えばＦＰＧＡ若しくはＡＳＩＣなどの特殊目的のプロセッサといった、恒久的に構成される専用の回路若しくはロジック、又は、例えばメモリ回路１４０４に格納された命令に従って処理を実行する計算プロセッサ１４０２といった、プログラム可能なロジック又は回路を含み得る。
【０１５０】
相関プロット部１４２２が、複数の第２データ構造の各々に対応する複数の相関を、除去された重み付きインタフェースエッジの数に従って、共通プロット上にプロットし得る。相関プロット部１４２２は、例えば図１６のレジリエンスプロファイルグラフ１６００の一実施形態といった、図１３の相関結果のプロット１３９５の一実施形態を生成し得る。複数の相関のプロットは、システムアーキテクチャのレジリエンスプロファイルを表し得る。相関プロット部１４２２は、例えばＦＰＧＡ若しくはＡＳＩＣなどの特殊目的のプロセッサといった、恒久的に構成される専用の回路若しくはロジック、又は、例えばメモリ回路１４０４に格納された命令に従って処理を実行する計算プロセッサ１４０２といった、プログラム可能なロジック又は回路を含み得る。
【０１５１】
ロバスト性メトリック計算部１４２４が、複数の第２データ構造の各々に関する複数の相関に従って、１つ以上のソースデータベースによって表されるシステムアーキテクチャの広範攻撃及び狭小攻撃に対するロバスト性を計算し得る。狭小攻撃に対するロバスト性は、エッジビットウィーンネス変位値＜０．５を有する複数の第２データ構造についての、第１エッジビットウィーンネス階層クラスタデンドログラムと第２エッジビットウィーンネス階層クラスタデンドログラムとの間の中央相関値によって計算され得る。広範攻撃に対するロバスト性は、各除去エッジが例えば≧０．５といった閾値よりも大きいエッジビットウィーンネスセントラリティ変位値を持つ複数の第２データ構造についての、第１エッジビットウィーンネス階層クラスタデンドログラムと第２エッジビットウィーンネス階層クラスタデンドログラムとの間の中央相関値によって計算され得る。ロバスト性メトリック計算部１４２４は、例えばＦＰＧＡ若しくはＡＳＩＣなどの特殊目的のプロセッサといった、恒久的に構成される専用の回路若しくはロジック、又は、例えばメモリ回路１４０４に格納された命令に従って処理を実行する計算プロセッサ１４０２といった、プログラム可能なロジック又は回路を含み得る。
【０１５２】
図１５は、一部の実施形態に従った、システムアーキテクチャのロバスト性を定量化する方法１５００を示すブロック図である。方法１５００は、図１４のシステム１４００によって実行され得る。方法１５００は、システムアーキテクチャを表す第１重み付きパート間結合グラフデータモデルの解析を、１つ以上の情報交換インタフェースが除去されていることを除いて第１重み付きパート間結合グラフデータモデルと等価な第２重み付きパート間結合グラフデータモデルの解析と比較することで、そのシステムアーキテクチャが、情報交換インタフェース喪失をもたらすダメージに対して、どれだけロバストであるかを決定し得る。重み付きパート間結合グラフは、データ構造内の複数の頂点、複数の重み付き合成エッジ、及び複数の重み付きインタフェースエッジを含むプロパティグラフデータモデルの実施形態とし得る。図６Ｂが、例示的な重み付きパート間結合グラフ６１０を示している。複数の重み付き合成エッジが、ある頂点タイプ内での有向合成及び有向分解を表し得るとともに、複数の重み付きインタフェースエッジが、頂点間の情報交換インタフェース又は他のインタフェースを表し得る。データ構造は、例えば計算プロセッサ１４０２といった計算プロセッサを有するコンピュータシステムの例えばメモリ回路１４０４といったメモリ回路に格納されることができ、方法１５００は、その計算プロセッサによって実行されることができる。
【０１５３】
処理１５０２にて、システムアーキテクチャに関する関連特徴を含んだ、例えば図１のソースデータベース１１０などの１つ以上のソースデータベースから情報が抽出され得る。システムアーキテクチャに関する関連特徴は、システムアーキテクチャの設計、モデル化、シミュレーション、製造、処理、試験、性能、信頼性、欠陥、故障、コスト、及び評価に関連する情報を含み得る。処理１５０２は、図１４のデータベース構文解析部１４０６、図１４の第１情報抽出部１４０８、図１４の第２情報抽出部１４１０、及び／又は図１のフォーマット変換部１２０の実施形態によって実行され得る。ソースデータベースは、システムアーキテクチャに含まれるデバイス、コンポーネント、サブシステム、及びシステムの設計、モデル化、及びシミュレーションのための様々なハードウェア及び／又はソフトウェアツールについてのデータファイルを含み得る。ソースデータベースは、コンピュータシステムのメモリ回路に格納されたデータ構造、例えば、図５を参照して説明した方法５００に従って生成されたプロパティグラフデータモデルを含むデータ構造、又は図８を参照して説明した方法８００に従って生成された重み付きパート間結合グラフデータモデルを含むデータ構造を含み得る。
【０１５４】
抽出される情報は、システムアーキテクチャの第１設計次元の複数の第１インスタンス、及びシステムアーキテクチャの第２設計次元の複数の第２インスタンスに関連し得る。第１設計次元は、システムアーキテクチャのパート階層とし得る。複数の第１インスタンスは、システムアーキテクチャの複数のパートとし得る。それらのパートの一部が、それらのパートのうちの他のものを統合したものであってもよく、故に、それらのパートのうちの他のものを統合したものであるパートは、それらのパートのうち上記他のものよりも、パートの階層の高いレベルにあり得る。パート階層の例は、グラフスキーマ２００のパート２１０、及び図３のパートＡ、Ａ．１、Ａ．２、Ａ．３、Ａ．１．１、Ａ．１．２、Ａ．２．１、Ａ．２．２、Ａ．３．１、及びＡ．３．２によって表され得る。例えば、回路カードパートは、複数の集積回路パートと、複数の集積回路パートが上に実装されるプリント回路基板とを統合したものとすることができ、故に、回路カードパートは、複数の集積回路パート、及び複数の集積回路パートが上に実装される回路基板パートよりも、パート階層の高いレベルにあるとし得る。第２設計次元は、システムアーキテクチャの複数のパート間のインタフェース階層とし得る。複数の第２インスタンスは、システムアーキテクチャの複数のパート間の複数のインタフェースとし得る。それらのインタフェースの一部が、それらのインタフェースのうちの他のものを統合したものであってもよく、故に、それらのインタフェースのうちの他のものを統合したものであるインタフェースは、それらのインタフェースのうち上記他のものよりも、インタフェースの階層の高いレベルにあり得る。インタフェースの階層の例は、グラフスキーマ２００のインタフェース２２０、及び図３のインタフェースＺ、Ｚ．１、Ｚ．２、及びＸによって表され得る。例えば、ワイヤハーネスは、複数の個々のワイヤを統合したものとすることができ、各個々のワイヤは、例えばイーサネット（登録商標）接続といった複数の通信プロトコル接続を統合したものとすることができ、故に、ワイヤハーネスは、複数のワイヤよりもインタフェース階層の高いレベルにあり、各ワイヤは、例えばイーサネット（登録商標）接続といった複数の通信プロトコル接続よりもインタフェース階層の高いレベルにあるとし得る。
【０１５５】
処理１５０４にて、第１重み付きプロパティグラフデータモデルを表す第１データ構造が生成され得る。第１重み付きプロパティグラフデータモデルは、図１３の重み付きパート間結合グラフ１３１０又は図６Ｂを参照して説明した重み付きパート間結合グラフデータモデル６１０の一実施形態とし得る。処理１５０４は、図１４の第１データ構造生成部１４１２の一実施形態によって実行され得る。第１データ構造は、図８を参照して説明した方法８００の一実施形態に従って生成され得る。第１データ構造は、複数の第１インスタンスを表す複数の第１頂点と、複数の第１頂点のうち異なる対の第１頂点を接続し、複数の第１インスタンスの階層的な有向合成又は有向分解を表す複数の第１重み付き合成エッジと、複数の第１頂点のうち異なる対の第１頂点を接続し、複数の第２インスタンスのうちの１つ以上の第２インスタンスに従った複数の第１インスタンス間の情報交換インタフェースを表す複数の第１重み付きインタフェースエッジとを含み得る。複数の第１重み付き合成エッジは、システムアーキテクチャのパート階層のパートの物理的統合を表し得る。複数の第１重み付きインタフェースエッジは、システムアーキテクチャのパート階層のパート対（ペア）間の論理情報交換インタフェースを表し得る。複数の第１重み付き合成エッジの各々及び複数の第１重み付きインタフェースエッジの各々が、重み値を割り当てられ得る。
【０１５６】
処理１５０６にて、第２重み付きプロパティグラフデータモデルを表す第２データ構造が生成され得る。第２データ構造は、第１重み付きインタフェースエッジのうちの１つ以上を含んでいないことを除いて、第１データ構造と等価とし得る。第２データ構造は、図１３の重み付きパート間結合サブグラフ１３３０の一実施形態とすることができ、図１３のインタフェースをエッジ除去１３２０の一実施形態を用いて生成されることができる。処理１５０６は、図１４の第２データ構造生成部１４１４の一実施形態によって実行され得る。第２重み付きプロパティグラフデータモデルは、図６Ｂを参照して説明した重み付きパート間結合グラフデータモデル６１０の一実施形態とし得る。第２データ構造は、第１データ構造のコピーを生成し、そして、第１データ構造のコピーから１つ以上の重み付きインタフェースエッジを削除又は除去することによって、第２データ構造を生成し得る。該１つ以上の重み付きインタフェースエッジは、第１データ構造のコピーを作成するときに無視され、それ故に、それらが第１データ構造のコピー内に作成されることはない。第２データ構造は、１つ以上の第１重み付きインタフェースエッジを生成しないことを除いて、処理１５０４を参照して説明した第１データ構造と同様のやり方で生成され得る。
【０１５７】
一実施形態において、第２データ構造を生成することは、複数の第２データ構造を生成することを含み、複数の第２データ構造の各々が、異なる数の重み付きインタフェースエッジを、第１データ構造と比較して除去される。従って、複数の第２データ構造の各々は、第１データ構造の異なる一バージョンとし得る。最大で第１データ構造内の複数の重み付きインタフェースエッジの数までの、多数の第２データ構造が存在し得る。複数の第２データ構造の最初のものから最後のものまで、更なるインタフェースが、エッジビットウィーンネスセントラリティの所与の変位値サンプルステップサイズに従って、変位値が減少していく順序で、第１のデータ構造に対して除去されることで、各変位値サンプルについて１つを含む、増加していく数の除去済みインタフェースエッジを有した複数バージョンの第１データ構造をもたらし得る。例えば、変位値順序が、エッジビットウィーンネスセントラリティの、０．１と０．２５との間の変位値サンプルステップサイズで、１．０から０．０へと減少され得る。得られる複数の第２データ構造は、各変位値サンプルについて１つを含む、増加していく数の除去済みインタフェースエッジを有した第１データ構造のバージョンである。
【０１５８】
処理１５０８にて、第１データ構造の第１エッジビットウィーンネス階層クラスタデンドログラムが生成され得る。処理１５０８は、図１３のクラスタリング１３７０を実行することの一実施形態とすることができ、第１エッジビットウィーンネス階層クラスタデンドログラムは、図１３のベースライン階層クラスタデンドログラム１３８０の一実施形態とし得る。処理１５０８は、図１４の第１クラスタ生成部１４１６の一実施形態によって実行され得る。第１エッジビットウィーンネス階層クラスタデンドログラムは、第１データ構造上でＮｅｗｍａｎ＆Ｇｉｒｖａｎ２００４エッジビットウィーンネス計算を実行することによって生成され得る。
【０１５９】
処理１５１０にて、第２データ構造の第２エッジビットウィーンネス階層クラスタデンドログラムが生成され得る。処理１５１０は、図１３のクラスタリング１３４０を実行することの一実施形態とすることができ、第２エッジビットウィーンネス階層クラスタデンドログラムは、図１３の階層クラスタデンドログラム１３５０の一実施形態とし得る。処理１５１０は、図１４の第２クラスタ生成部１４１８の一実施形態によって実行され得る。第２エッジビットウィーンネス階層クラスタデンドログラムは、第１データ構造上でＮｅｗｍａｎ＆Ｇｉｒｖａｎ２００４エッジビットウィーンネス計算を実行することによって生成され得る。複数の第２エッジビットウィーンネス階層クラスタデンドログラムが生成され、それら複数の第２エッジビットウィーンネス階層クラスタデンドログラムの各々が、処理１５０６で生成された複数の第２データ構造のうちの対応する１つのものである。
【０１６０】
処理１５１２にて、第１エッジビットウィーンネス階層クラスタデンドログラムと、第２エッジビットウィーンネス階層クラスタデンドログラムとの間の相関が計算され得る。処理１５１２は、図１３の比較のためのクラスタの相関調べ１３９０を実行することの一実施形態とし得る。処理１５１２は、図１４の相関計算部１４２０の一実施形態によって実行され得る。相関は、第１エッジビットウィーンネス階層クラスタデンドログラムと、第２エッジビットウィーンネス階層クラスタデンドログラムとについて、Ｂａｋｅｒのガンマ相関１９７４計算を実行することによって計算され得る。第１エッジビットウィーンネス階層クラスタデンドログラムと複数の第２エッジビットウィーンネス階層クラスタデンドログラムとの間で、複数の相関が計算され得る。
【０１６１】
処理１５１４にて、狭小攻撃に対するロバスト性が、エッジビットウィーンネス変位値＜０．５を有する複数の第２データ構造についての、第１エッジビットウィーンネス階層クラスタデンドログラムと第２エッジビットウィーンネス階層クラスタデンドログラムとの間の中央相関値によって計算され得る。
【０１６２】
処理１５１６にて、広範攻撃に対するロバスト性が、各除去エッジが例えば≧０．５といった閾値よりも大きいエッジビットウィーンネスセントラリティ変位値を持つ複数の第２データ構造についての、第１エッジビットウィーンネス階層クラスタデンドログラムと第２エッジビットウィーンネス階層クラスタデンドログラムとの間の中央相関値によって計算され得る。
【０１６３】
処理１５１８にて、除去された重み付きインタフェースエッジの数に従った、複数の第２データ構造の各々に対応する複数の相関のプロットが出力され得る。処理１５１８は、相関プロット部１４２２の一実施形態によって実行され得る。複数の相関のプロットは、システムアーキテクチャのレジリエンスプロファイルを表し得る。処理１５１８は、図１６のレジリエンスプロファイルグラフ１６００の一実施形態を生み出し得る。
【０１６４】
図１６は、一部の実施形態に従った、システムアーキテクチャ設計の数個の異なる反復でのレジリエンスプロファイル１６００、１６１０を示すレジリエンスプロファイルグラフ１６００である。レジリエンスプロファイルグラフ１６００は、図１５を参照して説明した方法１５００の処理１５１８によって生成され得る。レジリエンスプロファイル１６１０は、ロバストであるシステムアーキテクチャ設計反復を表し得るものであり、そのことが、狙いを定めた攻撃の幅の５０％に到達した後まで、保持される機能が有意に低下していないことによって指し示されている。対照的に、レジリエンスプロファイル１６２０は、脆弱であるシステムアーキテクチャ設計反復を表し得るものであり、そのことが、狙いを定めた攻撃の幅の５０％に到達する前に、保持される機能が有意に低下していることによって指し示されている。図示されるように、レジリエンスプロファイル１６２０に対応するシステムアーキテクチャ設計反復の保持される機能は、狙いを定めた攻撃の幅の約１０％に到達後に有意に低下する。
【０１６５】
モジュール、コンポーネント、及びロジック
特定の実施形態が、ロジック、又は多数のコンポーネント、モジュール、若しくは機構を含むものとしてここに記載される。モジュールは、ソフトウェアモジュール（例えば、（１）非一時的な機械読み取り可能媒体上に具現化されるコード、又は（２）伝送信号にて具現化されるコード）、又はハードウェア実装モジュールのいずれかを構成してもよい。ハードウェア実装モジュールは、特定の処理を実行することができる有形ユニットであり、特定の方法で設定又は構成され得る。実施形態例において、１つ以上のコンピュータシステム（例えば、スタンドアロン、クライアント又はサーバコンピュータシステム）又は１つ以上のプロセッサが、ここに記載される特定の処理を実行するように動作するハードウェア実装モジュールとして、ソフトウェア（例えば、アプリケーション又はアプリケーション部分）によって構成されてもよい。
【０１６６】
様々な実施形態において、ハードウェア実装モジュールは、機械的又は電子的に実装され得る。例えば、ハードウェア実装モジュールは、特定の処理を実行するように（例えば、ＦＰＧＡ又はＡＳＩＣなどの特殊目的のプロセッサとして）恒久的に構成される専用の回路又はロジックを有し得る。ハードウェア実装モジュールはまた、特定の処理を実行するようにソフトウェアによって一時的に構成されるプログラム可能なロジック又は回路（例えば、汎用プロセッサ又は他のプログラマブルプロセッサ内に含められる）を有していてもよい。理解されることには、ハードウェア実装モジュールを機械的に実装することを、専用の恒久的に構成される回路にて、又は一時的に構成される回路（例えば、ソフトウェアによって構成される）にて、のいずれとするかの決定は、コスト及び時間の考慮によって駆り立てられる。
【０１６７】
従って、用語“ハードウェア実装モジュール”は、特定の手法にて動作する及び／又はここに記載される特定の処理を実行するように動作するよう、物理的に構築され、恒久的に構成され（例えば、ハードワイヤードされ）、又は一時的若しくは過渡的に構成される（例えば、プログラムされる）エンティティである有形エンティティを包含するように理解されるべきである。ハードウェア実装モジュールが一時的に構成される（例えば、プログラムされる）実施形態を考えると、ハードウェア実装モジュールの各々が、時間においていずれか１つのインスタンスにて構成又はインスタンス化される必要はない。例えば、ハードウェア実装モジュールが、ソフトウェアを用いて構成される汎用プロセッサを有する場合、その汎用プロセッサが、異なる時間にそれぞれ異なるハードウェア実装モジュールとして構成されてもよい。従って、ソフトウェアが、例えば、時間の１つのインスタンスでは特定のハードウェア実装モジュールを構成し、時間の異なるインスタンスでは異なるハードウェア実装モジュールを構成するように、プロセッサを構成してもよい。
【０１６８】
ハードウェア実装モジュールは、他のハードウェア実装モジュールに情報を提供するとともに、他のハードウェア実装モジュールから情報を受信し得る。従って、記載されるハードウェア実装モジュールは、通信的に結合されていると見なされ得る。複数のこのようなハードウェア実装モジュールが同時に存在する場合、それらのハードウェア実装モジュールを接続する信号伝送（例えば、適切な回路及びバス上）を通じて通信が達成され得る。複数のハードウェア実装モジュールが異なる時間に構成又はインスタンス化される実施形態では、そのようなハードウェア実装モジュール間での通信が、例えば、それら複数のハードウェア実装モジュールがアクセスを有するメモリ構造における情報の記憶及び取り出しを介して達成され得る。例えば、１つのハードウェア実装モジュールが、処理を実行し、その処理の出力を、該ハードウェア実装モジュールが通信的に結合されているメモリデバイスに保管し得る。そして、更なるハードウェア実装モジュールが、後の時点で、そのメモリデバイスにアクセスして、保管された出力を取り出して処理し得る。ハードウェア実装モジュールはまた、入力装置又は出力装置との通信を開始し得るとともに、リソース（例えば、情報の集合）上で動作し得る。
【０１６９】
ここに記載される方法例の様々な処理は、少なくとも部分的に、又は該当する処理を実行するように一時的に（例えば、ソフトウェアによって）構成される又は恒久的に構成される１つ以上のプロセッサによって実行され得る。一時的に構成されようと、恒久的に構成されようと、そのようなプロセッサは、１つ以上の処理又は機能を実行するように動作するプロセッサ実装モジュールを構成し得る。ここで言及されるモジュールは、一部の実施形態例において、プロセッサ実装モジュールを有し得る。
【０１７０】
同様に、ここに記載される方法は、少なくとも部分的にプロセッサ実装されてもよい。例えば、方法の処理のうちの少なくとも一部が、１つ以上のプロセッサ又はプロセッサ実装モジュールによって実行され得る。特定の処理の実行が、１つ以上のプロセッサの間で分散されてもよく、それらのプロセッサは、単一のマシン内に存在するものだけでなく、多数のマシンにわたって展開されるものであってもよい。一部の実施形態例では、１つ以上のプロセッサが単一の場所（例えば、家庭環境内、オフィス環境内、又はサーバファームとして）に置かれてもよく、他の実施形態では、複数のプロセッサが複数の場所に分散されてもよい。
【０１７１】
１つ以上のプロセッサはまた、“クラウドコンピューティング”環境内で、又は“サービスとしてのソフトウェア”（ＳａａＳ）として、該当する処理の実行を支援するように動作してもよい。例えば、処理のうち少なくとも一部が、一群のコンピュータ（複数のプロセッサを含むマシンの例として）によって実行されてもよく、それらの処理は、ネットワーク（例えば、インターネット（登録商標））を介して及び１つ以上の適切なインタフェース（例えば、アプリケーションプログラムインタフェース（ＡＰＩ））を介してアクセス可能である。
【０１７２】
電子機器及びシステム
実施形態例は、デジタル電子回路にて実装されてもよいし、コンピュータハードウェア、ファームウェア、ソフトウェアにて実装されてもよいし、これらの組み合わせにて実装されてもよい。実施形態例は、例えばプログラマブルプロセッサ、コンピュータ、若しくは複数のコンピュータといった、データ処理装置による実行のために、又は該データ処理装置の動作を制御するために、例えば機械読み取り可能媒体といった情報キャリアにて有形に具現化されたコンピュータプログラムなどの、コンピュータプログラムプロダクトを用いて実施されてもよい。
【０１７３】
コンピュータプログラムは、コンパイラ型言語又はインタープリタ型言語を含め、如何なる形式のプログラミング言語で記述されてもよく、また、独立型プログラムとして、又は、コンピューティング環境での使用に適したモジュール、サブルーチン、若しくは他のユニットを含め、如何なる形態で展開されてもよい。コンピュータプログラムは、１つのサイトの１つのコンピュータ上若しくは複数のコンピュータ上で実行されるように、あるいは、複数のサイトにまたがって分散されて通信ネットワークによって相互接続されるように展開され得る。
【０１７４】
実施形態例において、処理は、入力データについて処理を行って出力を生成することによって機能を実行するよう、コンピュータプログラムを実行する１つ以上のプログラマブルプロセッサによって実行されてもよい。方法処理はまた、例えばＦＰＧＡ又はＡＳＩＣなどの特殊目的のロジック回路によって実行されてもよく、また、実施形態例の装置が、特殊目的のロジック回路として実装されてもよい。
【０１７５】
コンピューティングシステムは、クライアント及びサーバを含み得る。クライアント及びサーバは、一般に互いから遠隔にあり、典型的に通信ネットワークを介してインタラクトする。クライアント及びサーバの関係は、互いにクライアント−サーバの関係を持つコンピュータプログラムがそれぞれのコンピュータ上で走ることによって生じる。プログラム可能なコンピューティングシステムを配備する実施形態において、理解されることには、ハードウェア及びソフトウェアの双方のアーキテクチャが検討を要する。具体的には、特定の機能を、恒久的に構成されるハードウェア（例えば、ＡＳＩＣ）にて実装するのか、一時的に構成されるハードウェア（例えば、ソフトウェアとプログラマブルプロセッサとの組み合わせ）にて実装するのか、それとも、恒久的構成及び一時的構成の組み合わせのハードウェアにて実装するのかの選択は、設計上の選択であり得ることが理解されよう。
【０１７６】
特定の実施形態例を参照して実施形態を説明してきたが、明らかになることには、これらの実施形態には、本発明のより広い精神及び範囲から逸脱することなく、様々な変更及び変形が為され得る。従って、明細書及び図面は、限定的な意味ではなく例示的な意味で参酌されるべきである。本明細書の一部を形成する添付の図面は、限定ではなく例示として、主題が実施され得る特定の実施形態を示している。例示された実施形態は、ここに開示された教示を当業者が実施することができるように十分詳細に記載されている。これらから、本開示の範囲から逸脱することなく構造的及び論理的な置換及び変形が為され得るように、他の実施形態が利用され得るとともに導き出され得る。故に、この詳細な説明は限定的な意味で解されるべきでなく、様々な実施形態の範囲は、請求項によって、それら請求項に付与される均等の範囲全体と共に定められる。
【図１】
0006833058.tif 000002
【図２】
0006833058.tif 000003
【図３】
0006833058.tif 000004
【図４】
0006833058.tif 000005
【図５】
0006833058.tif 000006
【図６Ａ】
0006833058.tif 000007
【図６Ｂ】
0006833058.tif 000008
【図７】
0006833058.tif 000009
【図８】
0006833058.tif 000010
【図９】
0006833058.tif 000011
【図１０】
0006833058.tif 000012
【図１１】
0006833058.tif 000013
【図１２】
0006833058.tif 000014
【図１３】
0006833058.tif 000015
【図１４】
0006833058.tif 000016
【図１５】
0006833058.tif 000017
【図１６】
0006833058.tif 000018