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

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

▶ レイセオン カンパニーの特許一覧

特許7134311システムアーキテクチャを表すプロパティグラフデータモデル
<>
  • 特許-システムアーキテクチャを表すプロパティグラフデータモデル 図1
  • 特許-システムアーキテクチャを表すプロパティグラフデータモデル 図2
  • 特許-システムアーキテクチャを表すプロパティグラフデータモデル 図3
  • 特許-システムアーキテクチャを表すプロパティグラフデータモデル 図4
  • 特許-システムアーキテクチャを表すプロパティグラフデータモデル 図5
  • 特許-システムアーキテクチャを表すプロパティグラフデータモデル 図6A
  • 特許-システムアーキテクチャを表すプロパティグラフデータモデル 図6B
  • 特許-システムアーキテクチャを表すプロパティグラフデータモデル 図7
  • 特許-システムアーキテクチャを表すプロパティグラフデータモデル 図8
  • 特許-システムアーキテクチャを表すプロパティグラフデータモデル 図9
  • 特許-システムアーキテクチャを表すプロパティグラフデータモデル 図10
  • 特許-システムアーキテクチャを表すプロパティグラフデータモデル 図11
  • 特許-システムアーキテクチャを表すプロパティグラフデータモデル 図12
  • 特許-システムアーキテクチャを表すプロパティグラフデータモデル 図13
  • 特許-システムアーキテクチャを表すプロパティグラフデータモデル 図14
  • 特許-システムアーキテクチャを表すプロパティグラフデータモデル 図15
  • 特許-システムアーキテクチャを表すプロパティグラフデータモデル 図16
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-09-01
(45)【発行日】2022-09-09
(54)【発明の名称】システムアーキテクチャを表すプロパティグラフデータモデル
(51)【国際特許分類】
   G06F 8/20 20180101AFI20220902BHJP
   G06F 16/28 20190101ALI20220902BHJP
【FI】
G06F8/20
G06F16/28
【請求項の数】 20
(21)【出願番号】P 2021125421
(22)【出願日】2021-07-30
(62)【分割の表示】P 2019550620の分割
【原出願日】2018-03-14
(65)【公開番号】P2021180033
(43)【公開日】2021-11-18
【審査請求日】2021-08-27
(31)【優先権主張番号】15/460,443
(32)【優先日】2017-03-16
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】503455363
【氏名又は名称】レイセオン カンパニー
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100091214
【弁理士】
【氏名又は名称】大貫 進介
(72)【発明者】
【氏名】ジアネット,デイヴィッド アーロン
(72)【発明者】
【氏名】チエジ,ステファニー シャロ
【審査官】松平 英
(56)【参考文献】
【文献】特開2016-192176(JP,A)
【文献】米国特許出願公開第2014/0019490(US,A1)
【文献】米国特許出願公開第2016/0188767(US,A1)
【文献】丹羽 朝信 他,分散型運用管理機能を用いた網構成情報登録の提案,電子情報通信学会技術研究報告,日本,一般社団法人電子情報通信学会,2014年11月06日,Vol.114 No.299,pp. 75-80,ISSN 0913-5685
(58)【調査した分野】(Int.Cl.,DB名)
G06F 8/00-8/38
8/60-8/77
9/44-9/445
9/451
16/00-16/958
(57)【特許請求の範囲】
【請求項1】
データ構造内の複数の頂点、複数の合成エッジ、及び複数の接続エッジを有するプロパティグラフデータモデルを生成する方法であって、前記プロパティグラフデータモデルは、コンピュータシステムアーキテクチャを表し、当該方法は、
コンピューティングプロセッサにより、前記コンピュータシステムアーキテクチャに関連する情報を有する1つ以上のソースデータベースにアクセスし、
前記コンピュータシステムアーキテクチャの第1設計次元の複数の第1インスタンスに関連する情報を、前記1つ以上のソースデータベースから抽出し、前記第1設計次元は、前記コンピュータシステムアーキテクチャの通信インタフェースを有し、
前記複数の第1インスタンスの各第1インスタンスについて、前記プロパティグラフデータモデルにおける第1頂点を生成し、該第1頂点は該第1インスタンスを表し、
前記複数の第1インスタンスのうちの1つ以上の第1インスタンスについて、前記プロパティグラフデータモデルにおける第1合成エッジを生成し、該第1合成エッジは、第1インスタンスの、前記複数の第1インスタンスのうちの別の第1インスタンスに対する、階層的な有向合成又は有向分解を表し、該第1合成エッジは、階層の下位レベルから該階層の上位レベルへの向きであり、前記通信インタフェースは、前記上位レベルにある物理インタフェースと、前記下位レベルにある通信プロトコルとを含み、
前記コンピュータシステムアーキテクチャの第2設計次元の複数の第2インスタンスに関連する情報を、前記1つ以上のソースデータベースから抽出し、前記第2設計次元は、前記第1設計次元とは異なり、前記コンピュータシステムアーキテクチャの要求、機能、パート、情報、及び信号のうちの1つを含み、
前記複数の第2インスタンスの各第2インスタンスについて、前記プロパティグラフデータモデルにおける第2頂点を生成し、該第2頂点は該第2インスタンスを表し、
前記複数の第2インスタンスのうちの1つ以上の第2インスタンスについて、前記プロパティグラフデータモデルにおける第2合成エッジを生成し、該第2合成エッジは、該第2インスタンスの、前記複数の第2インスタンスのうちの別の第2インスタンスに対する、階層的な有向合成又は有向分解を表し、
前記複数の第2インスタンスのうちの1つ以上の第2インスタンスについて、前記プロパティグラフデータモデルにおける前記複数の接続エッジの接続エッジを生成し、該接続エッジは、該第2インスタンスと前記複数の第1インスタンスの前記第1インスタンスとの間の接続を表し、該接続エッジは、前記階層の上位レベルから前記階層の下位レベルへの向きである
ことを有する方法。
【請求項2】
前記第1設計次元は、前記コンピュータシステムアーキテクチャのパート階層であり、
前記複数の第1インスタンスは、前記コンピュータシステムアーキテクチャの複数のパートであり、
前記第2設計次元は、前記コンピュータシステムアーキテクチャの前記複数のパートの間のインタフェース階層であり、
前記複数の第2インスタンスは、前記コンピュータシステムアーキテクチャの前記複数のパートの間の複数のインタフェースである、
請求項1に記載の方法。
【請求項3】
前記コンピュータシステムアーキテクチャの前記複数のインタフェースを介して転送される複数の情報アイテムに関連する情報を、前記1つ以上のソースデータベースから抽出し、
前記複数の情報アイテムの各情報アイテムについて、前記プロパティグラフデータモデルにおける第3頂点を生成し、該第3頂点は該情報アイテムを表し、
前記複数の情報アイテムのうちの1つ以上の情報アイテムについて、前記プロパティグラフデータモデルにおける第3合成エッジを生成し、該第3合成エッジは、該情報アイテムの、前記複数の情報アイテムのうちの別の情報アイテムに対する、階層的な有向合成又は有向分解を表し、
前記複数の情報アイテムのうちの1つ以上の情報アイテムについて、前記プロパティグラフデータモデルにおける第3接続エッジを生成し、該第3接続エッジは、該情報アイテムと、前記複数のインタフェースのうち該情報アイテムがそのインタフェースによって転送されることを指定するインタフェースとの間の接続を表す、
ことを更に有する請求項2に記載の方法。
【請求項4】
前記コンピュータシステムアーキテクチャの前記複数のパートによって実行される複数の機能に関連する情報を、前記1つ以上のソースデータベースから抽出し、
前記複数の機能の各機能について、前記プロパティグラフデータモデルにおける第4頂点を生成し、該第4頂点は該機能を表し、
前記複数の機能のうちの1つ以上の機能について、前記プロパティグラフデータモデルにおける第4合成エッジを生成し、該第4合成エッジは、該機能の、前記複数の機能のうちの別の機能に対する、階層的な有向合成又は有向分解を表し、
前記複数の機能のうちの1つ以上の機能について、前記プロパティグラフデータモデルにおける第4第1接続エッジを生成し、該第4第1接続エッジは、該機能と、前記複数のパートのうち該機能がそのパートによって実行されることを指定するパートとの間の接続を表す、
ことを更に有する請求項3に記載の方法。
【請求項5】
前記複数の機能の各機能について、前記プロパティグラフデータモデルにおける第4第2接続エッジを生成し、該第4第2接続エッジは、該機能と、前記複数の情報アイテムのうちその情報アイテムが該機能に入力される又は該機能から出力されることを指定する情報アイテムとの間の接続を表す、
ことを更に有する請求項4に記載の方法。
【請求項6】
前記コンピュータシステムアーキテクチャの前記複数のパートによって実行される前記複数の機能に基づく複数の要求に関連する情報を、前記1つ以上のソースデータベースから抽出し、
前記複数の要求の各要求について、前記プロパティグラフデータモデルにおける第5頂点を生成し、該第5頂点は該要求を表し、
前記複数の要求のうちの1つ以上の要求について、前記プロパティグラフデータモデルにおける第5合成エッジを生成し、該第5合成エッジは、該要求の、前記複数の要求のうちの別の要求に対する、階層的な有向合成又は有向分解を表し、
前記複数の要求のうちの1つ以上の要求について、前記プロパティグラフデータモデルにおける第5接続エッジを生成し、該第5接続エッジは、該要求と、前記複数の機能のうちその機能が該要求に基づくことを指定する機能との間の接続を表す、
ことを更に有する請求項4に記載の方法。
【請求項7】
前記コンピュータシステムアーキテクチャの前記複数のインタフェースを介して通信される又は前記コンピュータシステムアーキテクチャの前記複数の情報アイテムのうちの少なくとも1つの情報アイテムを通信する複数の信号に関連する情報を、前記1つ以上のソースデータベースから抽出し、
前記複数の信号の各信号について、前記プロパティグラフデータモデルにおける第6頂点を生成し、該第6頂点は該信号を表し、
前記複数の信号のうちの1つ以上の信号について、前記プロパティグラフデータモデルにおける第6合成エッジを生成し、該第6合成エッジは、該信号の、前記複数の信号のうちの別の信号に対する、階層的な有向合成又は有向分解を表し、
前記複数の信号のうちの1つ以上の信号について、前記プロパティグラフデータモデルにおける第6接続エッジを生成し、該第6接続エッジは、該信号と、前記複数のインタフェースのうち該信号がそのインタフェースに含まれることを指定するインタフェースとの間の接続を表し、又は、該信号と、前記複数の情報アイテムのうち該信号がその情報アイテムに含まれることを指定する情報アイテムとの間の接続を表す、
ことを更に有する請求項3に記載の方法。
【請求項8】
前記コンピュータシステムアーキテクチャの第3設計次元の複数の第3インスタンスに関連する情報を、前記1つ以上のソースデータベースから抽出し、
前記複数の第3インスタンスの各第3インスタンスについて、前記プロパティグラフデータモデルにおける第3頂点を生成し、該第3頂点は該第3インスタンスを表し、
前記複数の第3インスタンスのうちの1つ以上の第3インスタンスについて、前記プロパティグラフデータモデルにおける第3合成エッジを生成し、該第3合成エッジは、該第3インスタンスの、前記複数の第3インスタンスのうちの別の第3インスタンスに対する、階層的な有向合成又は有向分解を表し、
前記複数の第3インスタンスのうちの1つ以上の第3インスタンスについて、前記プロパティグラフデータモデルにおける第3接続エッジを生成し、該第3接続エッジは、該第3インスタンスと、前記複数の第1インスタンスの第1インスタンス又は前記複数の第2インスタンスの第2インスタンスと、の間の接続を表す、
ことを更に有する請求項1に記載の方法。
【請求項9】
前記複数の合成エッジは、1つの頂点タイプ内での有向合成及び有向分解を表し、前記複数の接続エッジは、1つの頂点タイプと別の1つの頂点タイプとの間の接続を表す、請求項1に記載の方法。
【請求項10】
データ構造内の複数の頂点、複数の合成エッジ、及び複数の接続エッジを有するプロパティグラフデータモデルを生成するシステムであって、前記プロパティグラフデータモデルは、コンピュータシステムアーキテクチャを表し、当該システムは命令を有し、該命令は、プロセッサによって実行されて、
前記コンピュータシステムアーキテクチャに関連する情報を有する1つ以上のソースデータベースにアクセスするデータベース構文解析部と、
前記コンピュータシステムアーキテクチャの第1設計次元の複数の第1インスタンスに関連する情報を、前記1つ以上のソースデータベースから抽出する第1情報抽出部であり、前記第1設計次元は、前記コンピュータシステムアーキテクチャの通信インタフェースを有する、第1情報抽出部と、
前記複数の第1インスタンスの各第1インスタンスについて、前記プロパティグラフデータモデルにおける第1頂点を生成する第1頂点生成部であり、該第1頂点は該第1インスタンスを表す、第1頂点生成部と、
前記複数の第1インスタンスのうちの1つ以上の第1インスタンスについて、前記プロパティグラフデータモデルにおける第1合成エッジを生成する第1合成エッジ生成部であり、該第1合成エッジは、第1インスタンスの、前記複数の第1インスタンスのうちの別の第1インスタンスに対する、階層的な有向合成又は有向分解を表し、該第1合成エッジは、階層の下位レベルから該階層の上位レベルへの向きであり、前記通信インタフェースは、前記上位レベルにある物理インタフェースと、前記下位レベルにある通信プロトコルとを含む、第1合成エッジ生成部と、
前記コンピュータシステムアーキテクチャの第2設計次元の複数の第2インスタンスに関連する情報を、前記1つ以上のソースデータベースから抽出する第2情報抽出部であり、前記第2設計次元は、前記第1設計次元とは異なり、前記コンピュータシステムアーキテクチャの要求、機能、パート、情報、及び信号のうちの1つを含む、第2情報抽出部と、
前記複数の第2インスタンスの各第2インスタンスについて、前記プロパティグラフデータモデルにおける第2頂点を生成する第2頂点生成部であり、該第2頂点は該第2インスタンスを表す、第2頂点生成部と、
前記複数の第2インスタンスのうちの1つ以上の第2インスタンスについて、前記プロパティグラフデータモデルにおける第2合成エッジを生成する第2合成エッジ生成部であり、該第2合成エッジは、該第2インスタンスの、前記複数の第2インスタンスのうちの別の第2インスタンスに対する、階層的な有向合成又は有向分解を表す、第2合成エッジ生成部と、
前記複数の第2インスタンスのうちの1つ以上の第2インスタンスについて、前記プロパティグラフデータモデルにおける第2接続エッジを生成する第2接続エッジ生成部であり、該第2接続エッジは、該第2インスタンスと前記複数の第1インスタンスの前記第1インスタンスとの間の接続を表し、該接続エッジは、前記階層の上位レベルから前記階層の下位レベルへの向きである、第2接続エッジ生成部と、
を実装するように当該システムを構成する、システム。
【請求項11】
前記第1設計次元は、前記コンピュータシステムアーキテクチャのパート階層であり、
前記複数の第1インスタンスは、前記コンピュータシステムアーキテクチャの複数のパートであり、
前記第2設計次元は、前記コンピュータシステムアーキテクチャの前記複数のパートの間のインタフェース階層であり、
前記複数の第2インスタンスは、前記コンピュータシステムアーキテクチャの前記複数のパートの間の複数のインタフェースである、
請求項10に記載のシステム。
【請求項12】
前記命令は更に、
前記コンピュータシステムアーキテクチャの前記複数のインタフェースを介して転送される複数の情報アイテムに関連する情報を、前記1つ以上のソースデータベースから抽出する情報アイテム情報抽出部と、
前記複数の情報アイテムの各情報アイテムについて、前記プロパティグラフデータモデルにおける第3頂点を生成する情報アイテム頂点生成部であり、該第3頂点は該情報アイテムを表す、情報アイテム頂点生成部と、
前記複数の情報アイテムのうちの1つ以上の情報アイテムについて、前記プロパティグラフデータモデルにおける第3合成エッジを生成する合成情報アイテムエッジ生成部であり、該第3合成エッジは、該情報アイテムの、前記複数の情報アイテムのうちの別の情報アイテムに対する、階層的な有向合成又は有向分解を表す、合成情報アイテムエッジ生成部と、
前記複数の情報アイテムのうちの1つ以上の情報アイテムについて、前記プロパティグラフデータモデルにおける第3接続エッジを生成する接続情報アイテムエッジ生成部であり、該第3接続エッジは、該情報アイテムと、前記複数のインタフェースのうち該情報アイテムがそのインタフェースによって転送されることを指定するインタフェースとの間の接続を表す、接続情報アイテムエッジ生成部と、
を実装するための命令を有する、請求項11に記載のシステム。
【請求項13】
前記命令は更に、
前記コンピュータシステムアーキテクチャの前記複数のパートによって実行される複数の機能に関連する情報を、前記1つ以上のソースデータベースから抽出する機能情報抽出部と、
前記複数の機能の各機能について、前記プロパティグラフデータモデルにおける第4頂点を生成する機能頂点生成部であり、該第4頂点は該機能を表す、機能頂点生成部と、
前記複数の機能のうちの1つ以上の機能について、前記プロパティグラフデータモデルにおける第4合成エッジを生成する合成機能エッジ生成部であり、該第4合成エッジは、該機能の、前記複数の機能のうちの別の機能に対する、階層的な有向合成又は有向分解を表す、合成機能エッジ生成部と、
前記複数の機能のうちの1つ以上の機能について、前記プロパティグラフデータモデルにおける第4第1接続エッジを生成する第1接続機能エッジ生成部であり、該第4第1接続エッジは、該機能と、前記複数のパートのうち該機能がそのパートによって実行されることを指定するパートとの間の接続を表す、第1接続機能エッジ生成部と、
を実装するための命令を有する、請求項12に記載のシステム。
【請求項14】
前記命令は更に、
前記複数の機能の各機能について、前記プロパティグラフデータモデルにおける第4第2接続エッジを生成する第2接続機能エッジ生成部であり、該第4第2接続エッジは、該機能と、前記複数の情報アイテムのうちその情報アイテムが該機能に入力される又は該機能から出力されることを指定する情報アイテムとの間の接続を表す、第2接続機能エッジ生成部、
を実装するための命令を有する、請求項13に記載のシステム。
【請求項15】
前記命令は更に、
前記コンピュータシステムアーキテクチャの前記複数のパートによって実行される前記複数の機能に基づく複数の要求に関連する情報を、前記1つ以上のソースデータベースから抽出する要求情報抽出部と、
前記複数の要求の各要求について、前記プロパティグラフデータモデルにおける第5頂点を生成する要求頂点生成部であり、該第5頂点は該要求を表す、要求頂点生成部と、
前記複数の要求のうちの1つ以上の要求について、前記プロパティグラフデータモデルにおける第5合成エッジを生成する合成要求エッジ生成部であり、該第5合成エッジは、該要求の、前記複数の要求のうちの別の要求に対する、階層的な有向合成又は有向分解を表す、合成要求エッジ生成部と、
前記複数の要求のうちの1つ以上の要求について、前記プロパティグラフデータモデルにおける第5接続エッジを生成する接続要求エッジ生成部であり、該第5接続エッジは、該要求と、前記複数の機能のうちその機能が該要求に基づくことを指定する機能との間の接続を表す、接続要求エッジ生成部と、
を実装するための命令を有する、請求項13に記載のシステム。
【請求項16】
前記命令は更に、
前記コンピュータシステムアーキテクチャの前記複数のインタフェースを介して通信される又は前記コンピュータシステムアーキテクチャの前記複数の情報アイテムのうちの少なくとも1つの情報アイテムを通信する複数の信号に関連する情報を、前記1つ以上のソースデータベースから抽出する信号情報抽出部と、
前記複数の信号の各信号について、前記プロパティグラフデータモデルにおける第6頂点を生成する信号頂点生成部であり、該第6頂点は該信号を表す、信号頂点生成部と、
前記複数の信号のうちの1つ以上の信号について、前記プロパティグラフデータモデルにおける第6合成エッジを生成する合成信号エッジ生成部であり、該第6合成エッジは、該信号の、前記複数の信号のうちの別の信号に対する、階層的な有向合成又は有向分解を表す、合成信号エッジ生成部と、
前記複数の信号のうちの1つ以上の信号について、前記プロパティグラフデータモデルにおける第6接続エッジを生成する接続信号エッジ生成部であり、該第6接続エッジは、該信号と、前記複数のインタフェースのうち該信号がそのインタフェースに含まれることを指定するインタフェースとの間の接続を表し、又は、該信号と、前記複数の情報アイテムのうち該信号がその情報アイテムに含まれることを指定する情報アイテムとの間の接続を表す、接続信号エッジ生成部と、
を実装するための命令を有する、請求項12に記載のシステム。
【請求項17】
前記コンピュータシステムアーキテクチャの第3設計次元の複数の第3インスタンスに関連する情報を、前記1つ以上のソースデータベースから抽出する第3情報抽出部と、
前記複数の第3インスタンスの各第3インスタンスについて、前記プロパティグラフデータモデルにおける第3頂点を生成する第3頂点生成部であり、該第3頂点は該第3インスタンスを表す、第3頂点生成部と、
前記複数の第3インスタンスのうちの1つ以上の第3インスタンスについて、前記プロパティグラフデータモデルにおける第3合成エッジを生成する合成第3エッジ生成部であり、該第3合成エッジは、該第3インスタンスの、前記複数の第3インスタンスのうちの別の第3インスタンスに対する、階層的な有向合成又は有向分解を表す、合成第3エッジ生成部と、
前記複数の第3インスタンスのうちの1つ以上の第3インスタンスについて、前記プロパティグラフデータモデルにおける第3接続エッジを生成する接続第3エッジ生成部であり、該第3接続エッジは、該第3インスタンスと、前記複数の第1インスタンスの第1インスタンス又は前記複数の第2インスタンスの第2インスタンスと、の間の接続を表す、接続第3エッジ生成部と、
を実装するように構成された回路、を更に有する請求項10に記載のシステム。
【請求項18】
命令を含んだ少なくとも1つの非一時的機械読み取り可能媒体であって、前記命令は、機械によって実行されるときに、該機械に、
コンピューティングプロセッサにより、コンピュータシステムアーキテクチャに関連する情報を有する1つ以上のソースデータベースにアクセスし、
前記コンピュータシステムアーキテクチャの第1設計次元の複数の第1インスタンスに関連する情報を、前記1つ以上のソースデータベースから抽出し、前記第1設計次元は、前記コンピュータシステムアーキテクチャの通信インタフェースを有し、
前記複数の第1インスタンスの各第1インスタンスについて、プロパティグラフデータモデルにおける第1頂点を生成し、該第1頂点は該第1インスタンスを表し、
前記複数の第1インスタンスのうちの1つ以上の第1インスタンスについて、前記プロパティグラフデータモデルにおける第1合成エッジを生成し、該第1合成エッジは、第1インスタンスの、前記複数の第1インスタンスのうちの別の第1インスタンスに対する、階層的な有向合成又は有向分解を表し、該第1合成エッジは、階層の下位レベルから該階層の上位レベルへの向きであり、前記通信インタフェースは、前記上位レベルにある物理インタフェースと、前記下位レベルにある通信プロトコルとを含み、
前記コンピュータシステムアーキテクチャの第2設計次元の複数の第2インスタンスに関連する情報を、前記1つ以上のソースデータベースから抽出し、前記第2設計次元は、前記第1設計次元とは異なり、前記コンピュータシステムアーキテクチャの要求、機能、パート、情報、及び信号のうちの1つを含み、
前記複数の第2インスタンスの各第2インスタンスについて、前記プロパティグラフデータモデルにおける第2頂点を生成し、該第2頂点は該第2インスタンスを表し、
前記複数の第2インスタンスのうちの1つ以上の第2インスタンスについて、前記プロパティグラフデータモデルにおける第2合成エッジを生成し、該第2合成エッジは、該第2インスタンスの、前記複数の第2インスタンスのうちの別の第2インスタンスに対する、階層的な有向合成又は有向分解を表し、
前記複数の第2インスタンスのうちの1つ以上の第2インスタンスについて、前記プロパティグラフデータモデルにおける第2接続エッジを生成し、該第2接続エッジは、該第2インスタンスと前記複数の第1インスタンスの前記第1インスタンスとの間の接続を表し、該接続エッジは、前記階層の上位レベルから前記階層の下位レベルへの向きである、
という処理を実行させる、非一時的機械読み取り可能媒体。
【請求項19】
前記第1設計次元は、前記コンピュータシステムアーキテクチャのパート階層であり、
前記複数の第1インスタンスは、前記コンピュータシステムアーキテクチャの複数のパートであり、
前記第2設計次元は、前記コンピュータシステムアーキテクチャの前記複数のパートの間のインタフェース階層であり、
前記複数の第2インスタンスは、前記コンピュータシステムアーキテクチャの前記複数のパートの間の複数のインタフェースである、
請求項18に記載の非一時的機械読み取り可能媒体。
【請求項20】
機械によって実行されるときに、該機械に、
前記コンピュータシステムアーキテクチャの第3設計次元の複数の第3インスタンスに関連する情報を、前記1つ以上のソースデータベースから抽出し、
前記複数の第3インスタンスの各第3インスタンスについて、前記プロパティグラフデータモデルにおける第3頂点を生成し、該第3頂点は該第3インスタンスを表し、
複数の情報アイテムのうちの1つ以上の情報アイテムについて、前記プロパティグラフデータモデルにおける第3合成エッジを生成し、該第3合成エッジは、該第3インスタンスの、前記複数の第3インスタンスのうちの別の第3インスタンスに対する、階層的な有向合成又は有向分解を表し、
前記複数の情報アイテムのうちの1つ以上の情報アイテムについて、前記プロパティグラフデータモデルにおける第3接続エッジを生成し、該第3接続エッジは、該第3インスタンスと、前記複数の第1インスタンスの第1インスタンス又は前記複数の第2インスタンスの第2インスタンスと、の間の接続を表す、
という処理を実行させる命令、を更に含んだ請求項18に記載の非一時的機械読み取り可能媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、2017年3月16日に出願された米国特許出願第15/460,443号に対する優先権の利益を主張するものであり、その全体をここに援用する。
【0002】
実施形態は、概してシステムアーキテクチャモデルに関し、より具体的にはシステムアーキテクチャを表すプロパティグラフデータモデルを生成するシステム及び方法に関する。
【背景技術】
【0003】
システムアーキテクチャを開発するとき、システムの物理階層及び情報交換インタフェースに関するデータが、システムアーキテクチャの理解を容易にする。システムアーキテクチャの様々な側面を設計及び開発するために使用される数多くの異なるツールが存在しており、故に、システムの物理階層及び情報交換インタフェースに関するデータは、典型的に、それら様々な異なるツール間で多様な異なる形態でばらまかれている。それらのツールは、アーキテクチャ開発に寄与する様々なドメインによって利用され得るが、それらが提供しようとしているドメインによる開発を可能にするために、なおも、それらのソフトウェアパッケージにおいて異なる言語及び標準を利用している。一部の例は、例えば、IBM(登録商標)RATIONAL(登録商標)RHAPSODY(登録商標)DESIGNER FOR SYSTEMS ENGINERS、No Magic, Inc.社のMAGICDRAW、Vitech Corporation社のCORE(登録商標)といったシステムソフトウェアモデリングツール、又は、例えばPTC社のCREO(登録商標)、DASSAULT SYSTEMES社のSOLIDWORKS、PTC社のCREO SCHEMATICTM(登録商標)、及びその他といった、機械的電気的設計ツールを含む。計算機解析は典型的にシステム設計の様々な側面で行われるが、システムアーキテクチャ全体では行われていない。システムアーキテクチャの全体的解析は、典型的に、専門家による手作業でのモデル化及び解析、報告書の作成、並びにピア要件レビュー及び設計レビューを必要とする。
【図面の簡単な説明】
【0004】
図1】一部の実施形態に従った、システムアーキテクチャを表すプロパティグラフデータモデルを生成するためのデータフローを示すブロック図である。
図2】一部の実施形態に係るグラフスキーマを示すブロック図である。
図3】一部の実施形態に従った、図2のグラフスキーマに従ったプロパティグラフを示すブロック図である。
図4】一部の実施形態に従った、プロパティグラフを生成するシステムを示すブロック図である。
図5】一部の実施態様に従った、プロパティグラフを生成する方法を示すブロック図である。
図6A図6A及び6Bは、一部の実施形態に従った、プロパティグラフに基づいて重み付きパート間結合グラフを生成することを示すブロック図である。
図6B図6A及び6Bは、一部の実施形態に従った、プロパティグラフに基づいて重み付きパート間結合グラフを生成することを示すブロック図である。
図7】一部の実施形態に従った、重み付きパート間結合グラフを生成するシステムを示すブロック図である。
図8】一部の実施形態に従った、重み付きパート間結合グラフを生成する方法を示すブロック図である。
図9】一部の実施形態に従った、システムアーキテクチャの一貫性を定量化することを示すブロック図である。
図10】一部の実施形態に従った、様々な例示的な計算機解析結果を示すグラフである。
図11】一部の実施形態に従った、システムアーキテクチャの一貫性を定量化するシステムを示すブロック図である。
図12】一部の実施形態に従った、システムアーキテクチャの一貫性を定量化する方法を示すブロック図である。
図13】一部の実施形態に従った、システムアーキテクチャのロバスト性を定量化することを示すブロック図である。
図14】一部の実施形態に従った、システムアーキテクチャのロバスト性を定量化するシステムを示すブロック図である。
図15】一部の実施形態に従った、システムアーキテクチャのロバスト性を定量化する方法を示すブロック図である。
図16】一部の実施形態に従った、システムアーキテクチャ設計の数個の異なる反復でのレジリエンスプロファイルを示すレジリエンスプロファイルグラフである。
【発明を実施するための形態】
【0005】
以下の説明及び図面は、特定の実施形態を、当業者がそれらを実施することができるように十分に説明するものである。他の実施形態は、物理的な、機能的な、論理的な、電気的な、プロセス上の、コスト上の、及びその他の変更を組み込むことができる。一部の実施形態の部分及び機構が、他の実施形態のそれらに含まれたり、それらを代替したりすることができる。請求項に記載される実施形態は、それら請求項の利用可能な均等物の全てを包含する。
【0006】
システムアーキテクチャを表すプロパティグラフデータモデル(property graph data model)は、デジタルシステムモデル(DSM)全体の解析を、それらの複雑さに関係なく支援し得る。プロパティグラフデータモデルは、システムアーキテクチャの異なる側面、特徴、及び設計次元を表す多様な異なるデータベース及びデータファイルに基づいて生成され得る。それら異なるデータベース及びデータファイルは、様々な異なるソフトウェアツールによって生成され得る。それら異なるデータベース内のシステムアーキテクチャに関連する大量のデータは、あまりにも膨大で、あまりにも詳細で、あまりにも切れぎれであるため、直接的には意味をなさないが、この大量のデータを一貫性のある統一された表現へとまとめ上げることによって生成されるプロパティグラフデータモデルは、接続されていないツールセット及びデータベースからはさもなければ知られ得ないシステムアーキテクチャに関する情報を収集するために、計算機解析されることができる。プロパティグラフデータモデルは、例えばセンサといった小さいシステムアーキテクチャから、大規模なコンピュータシステム、コンピュータ通信ネットワーク、航空宇宙システム、軍事防衛システムなどに至る様々なシステムアーキテクチャサイズ及び階層にわたる、計算機解析可能でスケーラブルな単一の階層的表現とし得る。
【0007】
プロパティグラフデータモデルは、システムアーキテクチャ設計の数学的表現とみなし得る。プロパティグラフデータモデルに格納されたデータを用いて実行されるシステム解析は、リレーショナルデータベース管理システム(RDMS)に格納されたデータを用いる場合よりも遥かに高速に実行され得る。何故なら、プロパティグラフデータモデルは、複数の接続との入り組んだ複雑な関係を格納してそれにアクセスすることによって、遥かに効率的であるからである。プロパティグラフデータモデルはまた、システムアーキテクチャ設計の自己一貫性のある記述だけでなく、システムアーキテクチャの製造、試験、性能、信頼性、欠陥、故障、及びコスト、並びに他の特徴及び側面に関する情報も組み込むように拡張され得る。プロパティグラフデータモデルは、システムアーキテクチャの異なる側面、特徴、及び設計次元の間の関係を捕捉して規定し得る。そして、それらの関係を、様々な解析方法を用いて計算機解析することで、システムアーキテクチャの品質、モジュラリティ(modularity)、成熟度、ロバスト性、レジリエンス、信頼性、及び脆弱性についての情報、並びに、その物理的システムアーキテクチャが機能的システムアーキテクチャとどの程度うまく整合するかについての情報を取得し得る。
【0008】
プロパティグラフデータモデルは、一般にプロパティグラフ解析のために適用可能なグラフアルゴリズムを使用する様々なタイプの解析を容易にするよう、重み付きパート間結合(weighted part-to-part coupling)グラフに変換され得る。重み付きパート間結合グラフデータモデルは、プロパティグラフデータモデルの一実施形態とし得る。重み付きパート間結合グラフにおいて、プロパティグラフデータモデル内で構築されるパートの階層が、インタフェース設計次元によって確立されるプロパティグラフデータモデル内のパート間の接続と、例えば、パート間の接続の数若しくは頻度、パート間のインタフェースの複雑さ、パート間のインタフェースに含まれる信号の数、及び、接続されるパートに関連するコスト若しくは欠陥といった様々な要因と、に従って異なるパートを接続する重み付きインタフェースエッジで補われ得る。重み係数は、目下の用途とパート間結合グラフを用いて実行される解析とに従って調節され得る。
【0009】
パート間結合グラフを用いて、物理システムの階層的分解と機能アーキテクチャの一実施形態としてのシステムの情報交換インタフェースとの間の一貫性が、物理的分解接続及び情報交換接続に基づくパートのクラスタを計算的に作成し、それらを比較することによって解析され得る。これまで、典型的な解析手法は、主題専門家がシステム図及びシステムアーキテクチャ及び設計についての報告書をレビューすることと、熟練した実務家がデザインレビューすることとによる、大部分が手作業での試みであった。それら手作業での試みは主観的であり、従って一貫性と再現性も欠いたものであった。この手作業での試みはまた、システムの一貫性あるアーキテクチャ記述を達成するために、異なる視点及びツールセット間のギャップ又は不連続性を検出するロバスト性を欠いていた。例えば設計の個々のパートの設計及び性能といったシステム設計の様々な側面についての詳細設計レベルで、個々のソフトウェア設計、モデル化、及びシミュレーションツールを頼りにしていたが、そのようなソフトウェアツールは、パート間の情報交換インタフェースをシステムアーキテクチャ内のパートの物理的階層又は分解と比較することによってシステムアーキテクチャ設計の一貫性を定量化するという能力を含んでいなかった。
【0010】
図1は、一部の実施形態に従った、システムアーキテクチャを表すプロパティグラフデータモデル150の生成のためのデータフローを示すブロック図である。システムアーキテクチャは、例えばシステムアーキテクチャの様々な側面の設計、モデル化及び/又はシミュレーションのためのソフトウェアアプリケーションといった、多様なツールを用いて設計され得る。従って、システムアーキテクチャの様々な部分が、異なる構造を持つ異なるデータベース内で表現され、異なるファイルフォーマットを持つ異なるデータファイルに格納され得る。これら様々な異なるデータベースをソースデータベース110として、そこから、システムレベルの解析、評価、及び設計の目的でシステムアーキテクチャ全体を表す単一の統合されたプロパティグラフデータモデル150を生成するために、システムアーキテクチャに関する関連特徴がアクセスされ得る。ソースデータベース110に含まれるシステムアーキテクチャに関する関連特徴は、システムアーキテクチャの設計、モデル化、シミュレーション、製造、動作、試験、性能、信頼性、欠陥、故障、コスト、及び評価に関連する情報を含み得る。
【0011】
ソースデータベース110は、例えば、システムアーキテクチャに含まれる様々なパート、様々なパート間の情報交換インタフェース、これらのインタフェースを介してパート間で交換される情報アイテム、インタフェースを介してパート間で交換される情報アイテムを通信するために使用される信号、パートによって実行される機能、及び様々なパートに関する又は様々なパートによって実行される様々な機能に関するシステム要求又は機能要求といった、システムアーキテクチャの多数の次元に関連する情報を含み得る。ソースデータベース110は、例えば、集積回路、プリント回路基板、及びフィールドプログラマブルゲートアレイ(FPGA)に関するネットリストを記述するデータファイルや、システムアーキテクチャのハードウェア記述言語モデルなどを含み得る。
【0012】
システムアーキテクチャの各次元はまた、階層の異なるレベルで表され得る。例えば、システムアーキテクチャのパートは、例えば計算ラックといったモジュールとして、階層の高レベルで表され得る。階層の次に低いレベルで、計算ラックは、その計算ラックにプラグインする複数のブレードに分解されることができ、それらブレードの各々が、計算プロセッサ、又は例えばネットワークルータ、ネットワークファイル記憶コントローラなどといった他の装置を含み得る。階層の次に低いレベルで、ブレードの各々が、そのブレードにプラグインする様々なカードに分解され得る。階層の次に低いレベルで、それら様々なカードが、例えばそのカード上にはんだ付けされるパッケージングされた半導体チップといった、そのカードに取り付けられる個々の電子部品に分解され得る。
【0013】
フォーマット変換部120が、ソースデータベース110からデータを読み取り、システムアーキテクチャ解析に使用されてプロパティグラフデータモデル150に含められるべき適切なデータを選択し、そして、選択したデータを、中間フォーマット130に格納されるように出力し得る。フォーマット変換部120は、システムアーキテクチャの1つ以上の特定の側面を解析するのに適切なソースデータベース110からデータを選択してフォーマットを整え得る。中間フォーマット130は、メモリに記憶された内部データ構造、又は例えばハードディスクドライブ若しくはフラッシュドライブなどのストレージ装置に格納されたデータファイルを含み得る。中間フォーマット130は、システムアーキテクチャの特徴、システムアーキテクチャの様々な側面を表すために使用される様々なツール、及びソースデータベース110の様々なフォーマット及び特徴に関係なく、一貫性あるフォーマットを有し得る。中間フォーマット130は、システムアーキテクチャの高レベルとシステムアーキテクチャの詳細設計との間のギャップを橋渡しすることができる。中間フォーマット130は、1つ以上のファイルを含み得る。
【0014】
グラフ構築部140が、中間フォーマット130に格納されたデータを読み取り、そして、ここのどこかで説明されるグラフスキーマに従ってシステムアーキテクチャを階層的に表すようにプロパティグラフ150を構築することによって、システムアーキテクチャをグラフにまとめ上げ得る。グラフ構築部140は、システムアーキテクチャの特徴、システムアーキテクチャの様々な側面を表すために使用される様々なツール、及びソースデータベース110の様々なフォーマット及び特徴に関係なく、全てのタイプのシステムアーキテクチャに使用される一貫性あるものとし得る。プロパティグラフデータモデル150は、システムアーキテクチャ設計の物理的及び機能的な図を提供し得る。プロパティグラフデータモデル150は、例えば、システムアーキテクチャの品質、システムアーキテクチャのモジュラリティ、システムアーキテクチャの成熟度、システムアーキテクチャのロバスト性、システムアーキテクチャの信頼性、システムアーキテクチャの脆弱性、及び異なるシステムアーキテクチャ間でのこれらの解析の比較といった、システムアーキテクチャの様々なタイプの解析を容易にし、これらの定量的解析に基づいて、異なる設計の相対的なランキングが理解され得る。
【0015】
図2は、一部の実施形態に従った、グラフスキーマ200を示すブロック図である。グラフスキーマ200は、図1のソースデータベース110に関連して使用される全てのツールにわたって共通とすることができ、故に、ツール無依存と見なされ得る。グラフスキーマ200は、様々な設計次元の異なる階層間及び階層の異なるレベルにおける様々な設計次元の異なる要素間の関係を表現する。
【0016】
グラフスキーマ200は、頂点(正方形、円、三角形、菱形、六角形、及び八角形を含む様々な形状として図示される)及びエッジ(実線及び破線として図示される)という2つの必須要素を含む。頂点は、例えばパート210、インタフェース220、情報アイテム230、信号240、機能250、及び要求260といった、設計次元のクラスを表し得る。特定の例示的な設計次元が図示の頂点によって表されているが、より多数又は少数の設計次元がグラフスキーマ200の特定の実施形態において表され得るので、これは限定するものとして解釈されるべきでない。例えば、様々な実施形態において、グラフスキーマ200は、パート210及びインタフェース220についての頂点によって表される設計次元のみを含んでもよい。様々な実施形態において、製造中にパート上で行われる処理についての設計次元もグラフスキーマ200にて表され得る。様々な実施形態において、設計内のパートから構築されるシリアル番号についての設計次元もグラフスキーマ200にて表され得る。様々な実施形態において、製造処理によってシリアル番号で発見される欠陥についての設計次元も、グラフスキーマ200にて表され得る。
【0017】
合成エッジ(破線として示される)は、階層のあるレベルから階層の別のレベルへの、ある頂点によって表される設計次元のクラスの有向分解(例えば、矢印の方向)又は方向合成(例えば、矢印の方向とは反対)を表し得る。ある頂点によって表される設計次元の有向分解は、より高い階層レベルにあるその頂点をより低い階層レベルにある複数の頂点へと分解することができ、その頂点によって表される設計次元の有向合成は、低い方の階層レベルにある複数の頂点から、高い方の階層レベルにある単一の頂点を合成することができる。
【0018】
接続エッジ(実線として示される)は、システムアーキテクチャの異なる設計次元(頂点として示される)間の接続又は関係を表し得る。図2に示す接続エッジの矢印の方向は、グラフスキーマ200についての定義の方向を表し、必ずしもグラフスキーマ200によって表されるシステムアーキテクチャのデータフローの方向ではない。図示されるように、インタフェース220は、パート210に接続(コネクト・ツー)し得るとともに、パート210から接続(コネクト・フロム)し得る。これは、パート210同士が情報交換インタフェース220を介して互いに接続され得るという関係を表す。まとめると、コネクト・ツーとコネクト・フロムとの関係対(ペア)は、パートからパートへのデータフローの方向を具現化する。情報交換インタフェース上の両方のエンドポイントに向けられたコネクト・ツー及びコネクト・フロムの接続エッジによって、双方向インタフェースが表され得る。階層の様々なレベルにおいて、インタフェース220は、ワイヤハーネス、ワイヤハーネスの個々のワイヤ、及びワイヤハーネスの個々のワイヤを介して通信するのに使用される通信プロトコルを含み得る。例えば、高レベルインタフェースはワイヤハーネスとすることができ、低レベルインタフェースはイーサネット(登録商標)通信インタフェースとすることができる。他のインタフェース220の階層的統合であるインタフェース220は、インタフェース220がその合成階層のどこに位置するかに拘わらず、パート210に接続し得るとともに、パート210から接続し得る。しかしながら、グラフデータモデルの曖昧さを低減するために、グラフスキーマ200に従ってプロパティグラフデータモデル150を構築するときに、コネクト・ツー及びコネクト・フロムの接続エッジをそれらそれぞれの合成/分解階層内のリーフノードであるインタフェース頂点のみに制限することによって、パートエンドポイントがインタフェース階層にわたって一貫することを確保するよう注意を払ってもよい。
【0019】
図示されるように、インタフェース220は信号240を含む。これは、様々な信号240がインタフェース220を横切ってパート210間で通信され得るという関係を表す。階層の異なるレベルで表される信号240は、インタフェース220の異なる階層レベルに接続され得る。信号240の例は、電力電圧、電力接地、電気信号波形、光信号などを含む。これまた図示されるように、インタフェース220は情報アイテム230を転送することができ、情報アイテム230は信号240を含むことができる。これは、例えばデータといった情報アイテム230が、異なるパート210間でインタフェース220を横切って転送され得ることを表す。情報アイテム230はまた、異なる階層レベルで表されることができ、異なる階層レベルにある情報アイテム230は、異なる階層レベルにある信号240を含むことができる。高レベル情報アイテムの例は、通信プロトコルについてのパケット定義を含み、低レベル情報アイテムの例は、パケット内のビットフィールドを含み得る。情報アイテム230は、機能250から出力され(アウトプット・フロム)又は機能250に入力され(インプット・ツー)得る。機能250は、パート210によって実行され得る。機能250はまた、要求260に基づき得る。要求260は、非機能的要求に関して、システムアーキテクチャ内のパート210を規定し得る。一般に、1つの設計次元を表す頂点の階層レベルが、異なる設計次元を表す1つ以上の他の頂点の任意の階層レベルに、異なる設計次元間の関係を表す接続エッジによって接続し得る。
【0020】
グラフスキーマ200は、要求、機能、パート、インタフェース、アイテム、及び信号の頂点クラス、並びに合成エッジ及び接続エッジを具現化するものであるグラフスキーマ200に適合するプロパティグラフ(例えば、図3のプロパティグラフ300)を構築するために、グラフ構築部140(図4を参照)ロジック内で使用され得る。
【0021】
グラフスキーマ200はまた、図1の中間フォーマット130に含められる情報と、その中間フォーマット130がどのように構成されるかと、に関係し得る。例えば、プロダクト階層ファイルは、システムアーキテクチャ内の固有パート毎に1つの行と、パート名称のための列と、親階層及び子階層のパート名称毎に1つの列と含み得る。インタフェースファイルは、システムアーキテクチャ内の固有インタフェース毎に1つの行と、インタフェースの名称、インタフェースがそれに接続するパート名称、インタフェースがそれから接続するパート名称、インタフェース上での情報フローの方向毎の列と、それからインタフェースが分解される電気ハーネスについての列とを含み得る。信号ファイルは、システムアーキテクチャ内の固有信号(例えば、電気信号)毎に1つの行と、信号の名称、信号を含むインタフェース又は情報アイテムの名称、信号が関係する設計次元のクラス名称(例えば、インタフェース又は情報アイテム)毎の列と、親階層及び子階層の信号名称毎に1つの列とを含み得る。情報アイテムファイルは、システムアーキテクチャ内の固有情報アイテム毎に1つの行と、情報アイテムの名称、情報アイテムを転送するインタフェース名称若しくは情報アイテムを含む信号名称、情報アイテムが関係する設計次元のクラス名称(例えば、インタフェース又は信号)毎の列と、親階層及び子階層の情報アイテム名称毎に1つの列とを含み得る。中間フォーマット130は、ここで説明したものよりも多数又は少数のファイルを含んでいてもよく、設計次元の各クラスに関する情報は、同じデータファイル内に一緒に含められてもよいし、メモリに含められてもよい。
【0022】
図3は、一部の実施形態に従った、図2のグラフスキーマ200による例示的なプロパティグラフ300を示すブロック図である。パートAが、プロパティグラフ300の最も高い階層レベルにあり、最も高い階層レベルより低い第2階層レベルにあるパートA.1、A.2、及びA.3に分解する。パートA.1は第3階層にあるA.1.1及びA.1.2に分解し、パートA.2は第3階層にあるA.2.1及びA.2.2に分解し、そして、パートA.3は第3階層にあるA.3.1及びA.3.2に分解する。インタフェースXが、第3階層レベルにあるパートA.3.1から接続するとともに、第2階層レベルにあるパートA.2に接続する。インタフェースXは信号Uを含む。信号Uは、信号S及びTと共に情報アイテムJに含まれる。インタフェースZが情報アイテムIを転送し、インタフェースZは、より低い階層レベルにあるインタフェースZ.1及びZ.2に分解する。インタフェースZ.1は、パートA.3.2から接続するとともに、パートA.2.1に接続する。インタフェースZ.2は、信号S、T、及びUを含む情報アイテムJを転送する。パートA.3は機能Fを実行する。機能Fは、機能F.1及びF.2に分解する。パートA.3.2が機能F.1を実行し、パートA.3.1が機能F.2を実行する。要求RがパートA.3を規定する。要求Rは、要求R.1及びR.2に分解する。機能F.2は、要求R.2に基づいて実行される。
【0023】
システムアーキテクチャに関する様々なメトリック(指標)を決定するために、プロパティグラフデータモデル300を用いて様々な計算機的ネットワーク解析が実行され得る。それら様々な解析方法は、システムアーキテクチャの品質、モジュラリティ、成熟度、ロバスト性、レジリエンス、信頼性、及び脆弱性、並びに物理システムアーキテクチャが機能システムアーキテクチャとどの程度うまく整合するか、についての情報を取得し得る。様々な他の結果及び情報を生み出す様々な他の可能性ある解析も、プロパティグラフデータモデル300を用いて実行され得る。
【0024】
図4は、一部の実施態様に従った、プロパティグラフを生成するシステム400を示すブロック図である。システム400によって生成され得るプロパティグラフ300の一例が図3に示されている。システム400は、計算プロセッサ402と、例えばプロパティグラフ300を表すグラフスキーマ200に基づくデータ構造といった、計算プロセッサ402によって処理されるデータ構造を記憶し得るメモリ回路404とを含み得る。メモリ回路404はまた、計算プロセッサ402によって実行されるときに図5の方法500を実行するプログラムを格納し得る。システム400の要素は、1つ以上の接続又はデータバス454を介して互いに通信し得る。
【0025】
プロパティグラフは、データ構造内の複数の頂点、複数の合成エッジ、及び複数の接続エッジを含んだ、例えば図1のプロパティグラフデータモデル150といった、プロパティグラフデータモデルの一実施形態とし得る。複数の合成エッジが、ある頂点タイプ内での有向合成及び有向分解を表し得るとともに、複数の接続エッジが、1つの頂点タイプと別の1つの頂点タイプとの間の接続を表し得る。
【0026】
データベース構文解析部(パーサ)406が、システムアーキテクチャに関する関連特徴を含んだ、例えば図1のソースデータベース110といった1つ以上のソースデータベースにアクセスし得る。システムアーキテクチャに関する関連特徴は、システムアーキテクチャの設計、モデル化、シミュレーション、製造、処理、試験、性能、信頼性、欠陥、故障、コスト、及び評価に関連する情報を含み得る。ソースデータベースは、システムアーキテクチャに含まれるデバイス、コンポーネント、サブシステム、及びシステムの設計、モデル化、及びシミュレーションのための様々なハードウェア及び/又はソフトウェアツールについてのデータファイルを含み得る。ソースデータベースは、メモリ回路404に格納されたデータ構造を含み得る。データベース構文解析部406は、例えばFPGA若しくは特定用途向け集積回路(ASIC)などの特殊目的のプロセッサといった、恒久的に構成される専用の回路若しくはロジック、又は、例えばメモリ回路404に格納された命令に従って処理を実行する計算プロセッサ402といった、プログラム可能なロジック又は回路を含み得る。
【0027】
第1情報抽出部408が、システムアーキテクチャの第1設計次元の複数の第1インスタンスに関連する情報を、1つ以上のソースデータベースから抽出し得る。第1情報抽出部408は、図1のフォーマット変換部120の実施形態に含まれ得る。第1設計次元は、システムアーキテクチャのパート階層とし得る。複数の第1インスタンスは、システムアーキテクチャの複数のパートとし得る。それらのパートの一部が、それらのパートのうちの他のものを統合したものであってもよく、故に、それらのパートのうちの他のものを統合したものであるパートは、それらのパートのうち上記他のものよりも、パートの階層の高いレベルにあり得る。パート階層の例は、グラフスキーマ200のパート210、及び図3のパートA、A.1、A.2、A.3、A.1.1、A.1.2、A.2.1、A.2.2、A.3.1、及びA.3.2によって表され得る。例えば、回路カードパートは、複数の集積回路パートと、複数の集積回路パートが上に実装されるプリント回路基板とを統合したものとすることができ、故に、回路カードパートは、複数の集積回路パート、及び複数の集積回路パートが上に実装される回路基板パートよりも、パート階層の高いレベルにあるとし得る。第1情報抽出部408は、例えばFPGA若しくはASICなどの特殊目的のプロセッサといった、恒久的に構成される専用の回路若しくはロジック、又は、例えばメモリ回路404に格納された命令に従って処理を実行する計算プロセッサ402といった、プログラム可能なロジック又は回路を含み得る。
【0028】
第1頂点生成部410が、複数の第1インスタンスの各第1インスタンスについて、プロパティグラフデータモデルにおける第1頂点を生成し得る。第1頂点は第1インスタンスを表し得る。第1頂点生成部410は、図1のグラフ構築部140の実施形態に含まれ得る。第1頂点生成部410は、例えばFPGA若しくはASICなどの特殊目的のプロセッサといった、恒久的に構成される専用の回路若しくはロジック、又は、例えばメモリ回路404に格納された命令に従って処理を実行する計算プロセッサ402といった、プログラム可能なロジック又は回路を含み得る。
【0029】
第1合成エッジ生成部412が、複数の第1インスタンスのうちの1つ以上の第1インスタンスについて、プロパティグラフデータモデルにおける第1合成エッジを生成し得る。第1合成エッジは、2つの異なる第1頂点に接続され得る。第1合成エッジは、その第1インスタンスの、複数の第1インスタンスのうちの別の第1インスタンスに対する、階層的な有向合成又は有向分解を表し得る。第1合成エッジ生成部412は、図1のグラフ構築部140の実施形態に含まれ得る。第1合成エッジ生成部412は、例えばFPGA若しくはASICなどの特殊目的のプロセッサといった、恒久的に構成される専用の回路若しくはロジック、又は、例えばメモリ回路404に格納された命令に従って処理を実行する計算プロセッサ402といった、プログラム可能なロジック又は回路を含み得る。
【0030】
第2情報抽出部414が、システムアーキテクチャの第2設計次元の複数の第2インスタンスに関連する情報を、1つ以上のソースデータベースから抽出し得る。第2情報抽出部414は、図1のフォーマット変換部120の実施形態に含まれ得る。第2設計次元は、システムアーキテクチャの複数のパート間のインタフェース階層とし得る。複数の第2インスタンスは、システムアーキテクチャの複数のパート間の複数のインタフェースとし得る。それらのインタフェースの一部が、それらのインタフェースのうちの他のものを統合したものであってもよく、故に、それらのインタフェースのうちの他のものを統合したものであるインタフェースは、それらのインタフェースのうち上記他のものよりも、インタフェースの階層の高いレベルにあり得る。インタフェースの階層の例は、グラフスキーマ200のインタフェース220、及び図3のインタフェースZ、Z.1、Z.2、及びXによって表され得る。例えば、ワイヤハーネスは、複数の個々のワイヤを統合したものとすることができ、各個々のワイヤは、例えばイーサネット(登録商標)接続といった複数の通信プロトコル接続を統合したものとすることができ、故に、ワイヤハーネスは、複数のワイヤよりもインタフェース階層の高いレベルにあり、各ワイヤは、例えばイーサネット(登録商標)接続といった複数の通信プロトコル接続よりもインタフェース階層の高いレベルにあるとし得る。第2情報抽出部414は、例えばFPGA若しくはASICなどの特殊目的のプロセッサといった、恒久的に構成される専用の回路若しくはロジック、又は、例えばメモリ回路404に格納された命令に従って処理を実行する計算プロセッサ402といった、プログラム可能なロジック又は回路を含み得る。
【0031】
第2頂点生成部416が、複数の第2インスタンスの各第2インスタンスについて、プロパティグラフデータモデルにおける第2頂点を生成し得る。第2頂点は第2インスタンスを表し得る。第2頂点生成部416は、図1のグラフ構築部140の実施形態に含まれ得る。第2頂点生成部416は、例えばFPGA若しくはASICなどの特殊目的のプロセッサといった、恒久的に構成される専用の回路若しくはロジック、又は、例えばメモリ回路404に格納された命令に従って処理を実行する計算プロセッサ402といった、プログラム可能なロジック又は回路を含み得る。
【0032】
第2合成エッジ生成部418が、複数の第2インスタンスのうちの1つ以上の第2インスタンスについて、プロパティグラフデータモデルにおける第2合成エッジを生成し得る。第2合成エッジは、2つの異なる第2頂点に接続され得る。第2合成エッジは、その第2インスタンスの、複数の第2インスタンスのうちの別の第2インスタンスに対する、階層的な有向合成又は有向分解を表し得る。第2合成エッジ生成部418は、図1のグラフ構築部140の実施形態に含まれ得る。第2合成エッジ生成部418は、例えばFPGA若しくはASICなどの特殊目的のプロセッサといった、恒久的に構成される専用の回路若しくはロジック、又は、例えばメモリ回路404に格納された命令に従って処理を実行する計算プロセッサ402といった、プログラム可能なロジック又は回路を含み得る。
【0033】
第2接続エッジ生成部420が、複数の第2インスタンスのうちの1つ以上の第2インスタンスについて、プロパティグラフデータモデルにおける第2接続エッジを生成し得る。第2接続エッジは、その第2インスタンスと複数の第1インスタンスの第1インスタンスとの間の接続を表し得る。第2接続エッジは、その第2接続エッジの一端に接続された第2インスタンスによって表されるインタフェースが、情報交換の目的で、その第2接続エッジの他端に接続された第1インスタンスによって表されるパートに接続されることを表し得る。第2接続エッジ生成部420は、図1のグラフ構築部140の実施形態に含まれ得る。第2接続エッジ生成部420は、例えばFPGA若しくはASICなどの特殊目的のプロセッサといった、恒久的に構成される専用の回路若しくはロジック、又は、例えばメモリ回路404に格納された命令に従って処理を実行する計算プロセッサ402といった、プログラム可能なロジック又は回路を含み得る。
【0034】
第3情報抽出部422が、システムアーキテクチャの第3設計次元の複数の第3インスタンスに関連する情報を、1つ以上のソースデータベースから抽出し得る。第3情報抽出部422は、図1のフォーマット変換部120の実施形態に含まれ得る。第3設計次元は情報アイテム階層とし得る。複数の第3インスタンスは、システムアーキテクチャの複数のインタフェースを介して転送される複数の情報アイテムとし得る。それらの情報アイテムの一部が、それらの情報アイテムのうちの他のものを統合したものであってもよく、故に、それらの情報アイテムのうちの他のものを統合したものである情報アイテムは、それらの情報アイテムのうち上記他のものよりも、情報アイテムの階層の高いレベルにあり得る。情報アイテムの階層の例は、グラフスキーマ200の情報アイテム230、及び図3の情報アイテムI及びJによって表され得る。第3情報抽出部422は、例えばFPGA若しくはASICなどの特殊目的のプロセッサといった、恒久的に構成される専用の回路若しくはロジック、又は、例えばメモリ回路404に格納された命令に従って処理を実行する計算プロセッサ402といった、プログラム可能なロジック又は回路を含み得る。
【0035】
第3頂点生成部424が、複数の第3インスタンスの各第3インスタンスについて、プロパティグラフデータモデルにおける第3頂点を生成し得る。第3頂点は第3インスタンスを表し得る。第3頂点生成部424は、図1のグラフ構築部140の実施形態に含まれ得る。第3頂点生成部424は、例えばFPGA若しくはASICなどの特殊目的のプロセッサといった、恒久的に構成される専用の回路若しくはロジック、又は、例えばメモリ回路404に格納された命令に従って処理を実行する計算プロセッサ402といった、プログラム可能なロジック又は回路を含み得る。
【0036】
第3合成エッジ生成部426が、複数の第3インスタンスのうちの1つ以上の第3インスタンスについて、プロパティグラフデータモデルにおける第3合成エッジを生成し得る。第3合成エッジは、2つの異なる第3頂点に接続され得る。第3合成エッジは、1つの第3インスタンスの、複数の第3インスタンスのうちの別の第3インスタンスに対する、階層的な有向合成又は有向分解を表し得る。第3合成エッジ生成部426は、図1のグラフ構築部140の実施形態に含まれ得る。第3合成エッジ生成部426は、例えばFPGA若しくはASICなどの特殊目的のプロセッサといった、恒久的に構成される専用の回路若しくはロジック、又は、例えばメモリ回路404に格納された命令に従って処理を実行する計算プロセッサ402といった、プログラム可能なロジック又は回路を含み得る。
【0037】
第3接続エッジ生成部428が、複数の第3インスタンスのうちの1つ以上の第3インスタンスについて、プロパティグラフデータモデルにおける第3接続エッジを生成し得る。第3接続エッジは、その第3インスタンスと、複数の第1インスタンスの第1インスタンス又は複数の第2インスタンスの第2インスタンスとの間の接続を表し得る。第3接続エッジは、その第3接続エッジの一端に接続された第3インスタンスによって表される情報アイテムが、その第3接続エッジの他端に接続された第2インスタンスによって表されるインタフェースに接続されることを表すことができ、その情報アイテムがそのインタフェースによって転送されることを指定し得る。第3接続エッジ生成部428は、図1のグラフ構築部140の実施形態に含まれ得る。第3接続エッジ生成部428は、例えばFPGA若しくはASICなどの特殊目的のプロセッサといった、恒久的に構成される専用の回路若しくはロジック、又は、例えばメモリ回路404に格納された命令に従って処理を実行する計算プロセッサ402といった、プログラム可能なロジック又は回路を含み得る。
【0038】
第4情報抽出部430が、システムアーキテクチャの第4設計次元の複数の第4インスタンスに関連する情報を、1つ以上のソースデータベースから抽出し得る。第4情報抽出部430は、図1のフォーマット変換部120の実施形態に含まれ得る。第4設計次元は機能階層とし得る。複数の第4インスタンスは、システムアーキテクチャの複数のパートによって実行される複数の機能とし得る。それらの機能の一部が、それらの機能のうちの他のものを統合したものであってもよく、故に、それらの機能のうちの他のものを統合したものである機能は、それらの機能のうち上記他のものよりも、機能の階層の高いレベルにあり得る。機能の階層の例は、グラフスキーマ200の機能250、及び図3の機能F、F.1、及びF.2によって表され得る。第4情報抽出部430は、例えばFPGA若しくはASICなどの特殊目的のプロセッサといった、恒久的に構成される専用の回路若しくはロジック、又は、例えばメモリ回路404に格納された命令に従って処理を実行する計算プロセッサ402といった、プログラム可能なロジック又は回路を含み得る。
【0039】
第4頂点生成部432が、複数の第4インスタンスの各第4インスタンスについて、プロパティグラフデータモデルにおける第4頂点を生成し得る。第4頂点は第4インスタンスを表し得る。第4頂点生成部432は、図1のグラフ構築部140の実施形態に含まれ得る。第4頂点生成部432は、例えばFPGA若しくはASICなどの特殊目的のプロセッサといった、恒久的に構成される専用の回路若しくはロジック、又は、例えばメモリ回路404に格納された命令に従って処理を実行する計算プロセッサ402といった、プログラム可能なロジック又は回路を含み得る。
【0040】
第4合成エッジ生成部434が、複数の第4インスタンスのうちの1つ以上の第4インスタンスについて、プロパティグラフデータモデルにおける第4合成エッジを生成し得る。第4合成エッジは、2つの異なる第4頂点に接続され得る。第4合成エッジは、1つの第4インスタンスの、複数の第4インスタンスのうちの別の第4インスタンスに対する、階層的な有向合成又は有向分解を表し得る。第4合成エッジ生成部434は、図1のグラフ構築部140の実施形態に含まれ得る。第4合成エッジ生成部434は、例えばFPGA若しくはASICなどの特殊目的のプロセッサといった、恒久的に構成される専用の回路若しくはロジック、又は、例えばメモリ回路404に格納された命令に従って処理を実行する計算プロセッサ402といった、プログラム可能なロジック又は回路を含み得る。
【0041】
第4接続エッジ生成部436が、複数の第4インスタンスのうちの1つ以上の第4インスタンスについて、プロパティグラフデータモデルにおける第4接続エッジを生成し得る。第4接続エッジは、その第4インスタンスと、複数の第1インスタンスの第1インスタンス、複数の第2インスタンスの第2インスタンス、又は複数の第3インスタンスの第3インスタンスとの間の接続を表し得る。第4接続エッジは、その第4接続エッジの一端に接続された第4インスタンスによって表される機能が、その第4接続エッジの他端に接続された第1インスタンスによって表されるパートに接続されることを表すことができ、その機能がそのパートによって実行されることを指定し得る。第4接続エッジ生成部436は、図1のグラフ構築部140の実施形態に含まれ得る。第4接続エッジ生成部436は、例えばFPGA若しくはASICなどの特殊目的のプロセッサといった、恒久的に構成される専用の回路若しくはロジック、又は、例えばメモリ回路404に格納された命令に従って処理を実行する計算プロセッサ402といった、プログラム可能なロジック又は回路を含み得る。
【0042】
第5情報抽出部438が、システムアーキテクチャの第5設計次元の複数の第5インスタンスに関連する情報を、1つ以上のソースデータベースから抽出し得る。第5情報抽出部438は、図1のフォーマット変換部120の実施形態に含まれ得る。第5設計次元は要求階層とし得る。複数の第5インスタンスは、システムアーキテクチャの複数のパートによって実行される複数の機能に基づく複数の要求とし得る。それらの要求の一部が、それらの要求のうちの他のものを統合したものであってもよく、故に、それらの要求のうちの他のものを統合したものである要求は、それらの要求のうち上記他のものよりも、要求の階層の高いレベルにあり得る。要求の階層の例は、グラフスキーマ200の要求260、及び図3の要求R、R.1、及びR.2によって表され得る。
【0043】
第5頂点生成部440が、複数の第5インスタンスの各第5インスタンスについて、プロパティグラフデータモデルにおける第5頂点を生成し得る。第5頂点は第5インスタンスを表し得る。第5頂点生成部440は、図1のグラフ構築部140の実施形態に含まれ得る。第5頂点生成部440は、例えばFPGA若しくはASICなどの特殊目的のプロセッサといった、恒久的に構成される専用の回路若しくはロジック、又は、例えばメモリ回路404に格納された命令に従って処理を実行する計算プロセッサ402といった、プログラム可能なロジック又は回路を含み得る。
【0044】
第5合成エッジ生成部442が、複数の第5インスタンスのうちの1つ以上の第5インスタンスについて、プロパティグラフデータモデルにおける第5合成エッジを生成し得る。第5合成エッジは、2つの異なる第5頂点に接続され得る。第5合成エッジは、1つの第5インスタンスの、複数の第5インスタンスのうちの別の第5インスタンスに対する、階層的な有向合成又は有向分解を表し得る。第5合成エッジ生成部442は、図1のグラフ構築部140の実施形態に含まれ得る。第5合成エッジ生成部442は、例えばFPGA若しくはASICなどの特殊目的のプロセッサといった、恒久的に構成される専用の回路若しくはロジック、又は、例えばメモリ回路404に格納された命令に従って処理を実行する計算プロセッサ402といった、プログラム可能なロジック又は回路を含み得る。
【0045】
第5接続エッジ生成部444が、複数の第5インスタンスのうちの1つ以上の第5インスタンスについて、プロパティグラフデータモデルにおける第5接続エッジを生成し得る。第5接続エッジは、その第5インスタンスと、複数の第1インスタンスの第1インスタンス、複数の第2インスタンスの第2インスタンス、複数の第3インスタンスの第3インスタンス、又は複数の第4インスタンスの第4インスタンスとの間の接続を表し得る。第5接続エッジは、その第5接続エッジの一端に接続された第5インスタンスによって表される要求が、その第5接続エッジの他端に接続された第4インスタンスによって表される機能に接続されることを表すことができ、その機能がその要求に基づくことを指定し得る。第5接続エッジは、その第5接続エッジの一端に接続された第5インスタンスによって表される要求が、その第5接続エッジの他端に接続された第1インスタンスによって表されるパートに接続されることを表すこともあり、そのパートがその要求に基づくことを指定し得る。第5接続エッジ生成部444は、図1のグラフ構築部140の実施形態に含まれ得る。第5接続エッジ生成部444は、例えばFPGA若しくはASICなどの特殊目的のプロセッサといった、恒久的に構成される専用の回路若しくはロジック、又は、例えばメモリ回路404に格納された命令に従って処理を実行する計算プロセッサ402といった、プログラム可能なロジック又は回路を含み得る。
【0046】
第6情報抽出部446が、システムアーキテクチャの第6設計次元の複数の第6インスタンスに関連する情報を、1つ以上のソースデータベースから抽出し得る。第6情報抽出部446は、図1のフォーマット変換部120の実施形態に含まれ得る。第6設計次元は信号階層とし得る。複数の第6インスタンスは、システムアーキテクチャの複数のパート間で複数のインタフェースを介して通信される又はシステムアーキテクチャの複数の情報アイテムのうちの少なくとも1つの情報アイテムを通信する複数の信号とし得る。それらの信号の一部が、それらの信号のうちの他のものを統合したものであってもよく、故に、それらの信号のうちの他のものを統合したものである信号は、それらの信号のうち上記他のものよりも、信号の階層の高いレベルにあり得る。信号の階層の例は、グラフスキーマ200の信号240、及び図3の信号S、T、及びUによって表され得る。第5接続エッジ生成部444は、図1のグラフ構築部140の実施形態に含まれ得る。第6情報抽出部446は、例えばFPGA若しくはASICなどの特殊目的のプロセッサといった、恒久的に構成される専用の回路若しくはロジック、又は、例えばメモリ回路404に格納された命令に従って処理を実行する計算プロセッサ402といった、プログラム可能なロジック又は回路を含み得る。
【0047】
第6頂点生成部448が、複数の第6インスタンスの各第6インスタンスについて、プロパティグラフデータモデルにおける第6頂点を生成し得る。第6頂点は第6インスタンスを表し得る。第6頂点生成部448は、図1のグラフ構築部140の実施形態に含まれ得る。第6頂点生成部448は、例えばFPGA若しくはASICなどの特殊目的のプロセッサといった、恒久的に構成される専用の回路若しくはロジック、又は、例えばメモリ回路404に格納された命令に従って処理を実行する計算プロセッサ402といった、プログラム可能なロジック又は回路を含み得る。
【0048】
第6合成エッジ生成部450が、複数の第6インスタンスのうちの1つ以上の第6インスタンスについて、プロパティグラフデータモデルにおける第6合成エッジを生成し得る。第6合成エッジは、2つの異なる第6頂点に接続され得る。第6合成エッジは、1つの第6インスタンスの、複数の第6インスタンスのうちの別の第6インスタンスに対する、階層的な有向合成又は有向分解を表し得る。第6合成エッジ生成部450は、図1のグラフ構築部140の実施形態に含まれ得る。第6合成エッジ生成部450は、例えばFPGA若しくはASICなどの特殊目的のプロセッサといった、恒久的に構成される専用の回路若しくはロジック、又は、例えばメモリ回路404に格納された命令に従って処理を実行する計算プロセッサ402といった、プログラム可能なロジック又は回路を含み得る。
【0049】
第6接続エッジ生成部452が、複数の第6インスタンスのうちの1つ以上の第6インスタンスについて、プロパティグラフデータモデルにおける第6接続エッジを生成し得る。第6接続エッジは、その第6インスタンスと、複数の第1インスタンスの第1インスタンス、複数の第2インスタンスの第2インスタンス、複数の第3インスタンスの第3インスタンス、複数の第4インスタンスの第4インスタンス、又は複数の第5インスタンスの第5インスタンスとの間の接続を表し得る。第6接続エッジは、その第6接続エッジの一端に接続された第6インスタンスによって表される信号が、その第6接続エッジの他端に接続された第2インスタンスによって表されるインタフェースに接続されることを表すことができ、その信号がそのインタフェースに含まれることを指定し得る。第6接続エッジは、その第6接続エッジの一端に接続された第6インスタンスによって表される信号が、その第6接続エッジの他端に接続された第3インスタンスによって表される情報アイテムに接続されることを表すこともあり、その信号がその情報アイテムに含まれることを指定し得る。第6接続エッジ生成部452は、図1のグラフ構築部140の実施形態に含まれ得る。第6接続エッジ生成部452は、例えばFPGA若しくはASICなどの特殊目的のプロセッサといった、恒久的に構成される専用の回路若しくはロジック、又は、例えばメモリ回路404に格納された命令に従って処理を実行する計算プロセッサ402といった、プログラム可能なロジック又は回路を含み得る。
【0050】
図5は、一部の実施形態に従った、プロパティグラフを生成する方法500を示すブロック図である。方法500は、図4のシステム400によって実行され得る。図3が、方法500によって生成され得るプロパティグラフ300の一例を示している。このプロパティグラフは、データ構造内の複数の頂点、複数の合成エッジ、及び複数の接続エッジを含んだ、例えば図1のプロパティグラフデータモデル150といった、プロパティグラフデータモデルの一実施形態とし得る。複数の合成エッジは、ある頂点タイプ内での有向合成及び有向分解を表すことができ、複数の接続エッジは、1つの頂点タイプと別の1つの頂点タイプとの間の接続を表すことができる。データ構造は、計算プロセッサ(例えば、計算プロセッサ402)を有するコンピュータシステムのメモリ回路(例えば、メモリ回路404)に格納され得る。
【0051】
処理502にて、例えば図1のソースデータベース110などの1つ以上のソースデータベースが、計算プロセッサによってアクセスされ得る。処理502は、図4のデータベース構文解析部406によって実行され得る。ソースデータベースは、システムアーキテクチャに関する関連特徴を含み得る。システムアーキテクチャに関する関連特徴は、システムアーキテクチャの設計、モデル化、シミュレーション、製造、処理、試験、性能、信頼性、欠陥、故障、コスト、及び評価に関連する情報を含み得る。ソースデータベースは、システムアーキテクチャに含まれるデバイス、コンポーネント、サブシステム、及びシステムの設計、モデル化、及びシミュレーションのための様々なハードウェア及び/又はソフトウェアツールについてのデータファイルを含み得る。ソースデータベースは、例えばメモリ回路404といった、コンピュータシステムのメモリ回路に格納されたデータ構造を含み得る。
【0052】
処理504にて、システムアーキテクチャの第1設計次元の複数の第1インスタンスに関連する情報が、1つ以上のソースデータベースから抽出され得る。処理504は、図4の第1情報抽出部408、又は図1のフォーマット変換部120の実施形態によって実行され得る。第1設計次元は、システムアーキテクチャのパート階層とし得る。複数の第1インスタンスは、システムアーキテクチャの複数のパートとし得る。それらのパートの一部が、それらのパートのうちの他のものを統合したものであってもよく、故に、それらのパートのうちの他のものを統合したものであるパートは、それらのパートのうち上記他のものよりも、パートの階層の高いレベルにあり得る。パート階層の例は、グラフスキーマ200のパート210、及び図3のパートA、A.1、A.2、A.3、A.1.1、A.1.2、A.2.1、A.2.2、A.3.1、及びA.3.2によって表され得る。例えば、回路カードパートは、複数の集積回路パートと、複数の集積回路パートが上に実装されるプリント回路基板とを統合したものとすることができ、故に、回路カードパートは、複数の集積回路パート、及び複数の集積回路パートが上に実装される回路基板パートよりも、パート階層の高いレベルにあるとし得る。
【0053】
処理506にて、複数の第1インスタンスの各第1インスタンスについて、第1頂点がプロパティグラフデータモデル内に生成され得る。処理506は、図4の第1頂点生成部410、又は図1のグラフ構築部140の実施形態によって実行され得る。
【0054】
処理508にて、複数の第1インスタンスのうちの1つ以上の第1インスタンスについて、第1合成エッジがプロパティグラフデータモデル内に生成され得る。処理508は、図4の第1合成エッジ生成部412、又は図1のグラフ構築部140の実施形態によって実行され得る。第1合成エッジは、2つの異なる第1頂点に接続され得る。第1合成エッジは、1つの第1インスタンスの、複数の第1インスタンスのうちの別の第1インスタンスに対する、階層的な有向合成又は有向分解を表し得る。
【0055】
処理510にて、システムアーキテクチャの第2設計次元の複数の第2インスタンスに関連する情報が、1つ以上のソースデータベースから抽出され得る。処理510は、図4の第2情報抽出部414、又は図1のフォーマット変換部120の実施形態によって実行され得る。第2設計次元は、システムアーキテクチャの複数のパート間のインタフェース階層とし得る。複数の第2インスタンスは、システムアーキテクチャの複数のパート間の複数のインタフェースとし得る。それらのインタフェースの一部が、それらのインタフェースのうちの他のものを統合したものであってもよく、故に、それらのインタフェースのうちの他のものを統合したものであるインタフェースは、それらのインタフェースのうち上記他のものよりも、インタフェースの階層の高いレベルにあり得る。インタフェースの階層の例は、グラフスキーマ200のインタフェース220、及び図3のインタフェースZ、Z.1、Z.2、及びXによって表され得る。例えば、ワイヤハーネスは、複数の個々のワイヤを統合したものとすることができ、各個々のワイヤは、例えばイーサネット(登録商標)接続といった複数の通信プロトコル接続を統合したものとすることができ、故に、ワイヤハーネスは、複数のワイヤよりもインタフェース階層の高いレベルにあり、各ワイヤは、例えばイーサネット(登録商標)接続といった複数の通信プロトコル接続よりもインタフェース階層の高いレベルにあるとし得る。
【0056】
処理512にて、複数の第2インスタンスの各第2インスタンスについて、第2頂点がプロパティグラフデータモデル内に生成され得る。処理512は、図4の第2頂点生成部416、又は図1のグラフ構築部140の実施形態によって実行され得る。第2頂点は第2インスタンスを表し得る。
【0057】
処理514にて、複数の第2インスタンスのうちの1つ以上の第2インスタンスについて、第2合成エッジがプロパティグラフデータモデル内に生成され得る。処理514は、図4の第2合成エッジ生成部418、又は図1のグラフ構築部140の実施形態によって実行され得る。第2合成エッジは、2つの異なる第2頂点に接続され得る。第2合成エッジは、1つの第2インスタンスの、複数の第2インスタンスのうちの別の第2インスタンスに対する、階層的な有向合成又は有向分解を表し得る。
【0058】
処理516にて、複数の第2インスタンスのうちの1つ以上の第2インスタンスについて、第2接続エッジがプロパティグラフデータモデル内に生成され得る。処理516は、図4の第2接続エッジ生成部420、又は図1のグラフ構築部140の実施形態によって実行され得る。第2接続エッジは、その第2インスタンスと複数の第1インスタンスの第1インスタンスとの間の接続を表し得る。第2接続エッジは、その第2接続エッジの一端に接続された第2インスタンスによって表されるインタフェースが、情報交換の目的で、その第2接続エッジの他端に接続された第1インスタンスによって表されるパートに接続されることを表し得る。
【0059】
処理518にて、システムアーキテクチャの第3設計次元の複数の第3インスタンスに関連する情報が、1つ以上のソースデータベースから抽出され得る。処理518は、図4の第3情報抽出部422、又は図1のフォーマット変換部120の実施形態によって実行され得る。第3設計次元は情報アイテム階層とし得る。複数の第3インスタンスは、システムアーキテクチャの複数のインタフェースを介して転送される複数の情報アイテムとし得る。それらの情報アイテムの一部が、それらの情報アイテムのうちの他のものを統合したものであってもよく、故に、それらの情報アイテムのうちの他のものを統合したものである情報アイテムは、それらの情報アイテムのうち上記他のものよりも、情報アイテムの階層の高いレベルにあり得る。
【0060】
処理520にて、複数の第3インスタンスの各第3インスタンスについて、第3頂点がプロパティグラフデータモデル内に生成され得る。処理520は、図4の第3頂点生成部424、又は図1のグラフ構築部140の実施形態によって実行され得る。第3頂点は第3インスタンスを表し得る。
【0061】
処理522にて、複数の第3インスタンスのうちの1つ以上の第3インスタンスについて、第3合成エッジがプロパティグラフデータモデル内に生成され得る。処理522は、図4の第3合成エッジ生成部426、又は図1のグラフ構築部140の実施形態によって実行され得る。第3合成エッジは、2つの異なる第3頂点に接続され得る。第3合成エッジは、1つの第3インスタンスの、複数の第3インスタンスのうちの別の第3インスタンスに対する、階層的な有向合成又は有向分解を表し得る。第3合成エッジ生成部426は、図1のグラフ構築部140の実施形態に含まれ得る。
【0062】
処理524にて、複数の第3インスタンスのうちの1つ以上の第3インスタンスについて、第3接続エッジがプロパティグラフデータモデル内に生成され得る。処理524は、図4の第3接続エッジ生成部428、又は図1のグラフ構築部140の実施形態によって実行され得る。第3接続エッジは、その第3インスタンスと、複数の第1インスタンスの第1インスタンス又は複数の第2インスタンスの第2インスタンスとの間の接続を表し得る。第3接続エッジは、その第3接続エッジの一端に接続された第3インスタンスによって表される情報アイテムが、その第3接続エッジの他端に接続された第2インスタンスによって表されるインタフェースに接続されることを表すことができ、その情報アイテムがそのインタフェースによって転送されることを指定し得る。
【0063】
処理526にて、システムアーキテクチャの第4設計次元の複数の第4インスタンスに関連する情報が、1つ以上のソースデータベースから抽出され得る。処理526は、図4の第4情報抽出部430、又は図1のフォーマット変換部120の実施形態によって実行され得る。第4設計次元は機能階層とし得る。複数の第4インスタンスは、システムアーキテクチャの複数のパートによって実行される複数の機能とし得る。それらの機能の一部が、それらの機能のうちの他のものを統合したものであってもよく、故に、それらの機能のうちの他のものを統合したものである機能は、それらの機能のうち上記他のものよりも、機能の階層の高いレベルにあり得る。
【0064】
処理528にて、複数の第4インスタンスの各第4インスタンスについて、第4頂点がプロパティグラフデータモデル内に生成され得る。処理528は、図4の第4頂点生成部432、又は図1のグラフ構築部140の実施形態によって実行され得る。第4頂点は第4インスタンスを表し得る。
【0065】
処理530にて、複数の第4インスタンスのうちの1つ以上の第4インスタンスについて、第4合成エッジがプロパティグラフデータモデル内に生成され得る。処理530は、図4の第4合成エッジ生成部434、又は図1のグラフ構築部140の実施形態によって実行され得る。第4合成エッジは、2つの異なる第4頂点に接続され得る。第4合成エッジは、1つの第4インスタンスの、複数の第4インスタンスのうちの別の第4インスタンスに対する、階層的な有向合成又は有向分解を表し得る。
【0066】
処理532にて、複数の第4インスタンスのうちの1つ以上の第4インスタンスについて、第4接続エッジがプロパティグラフデータモデル内に生成され得る。処理532は、図4の第4接続エッジ生成部436、又は図1のグラフ構築部140の実施形態によって実行され得る。第4接続エッジは、その第4インスタンスと、複数の第1インスタンスの第1インスタンス、複数の第2インスタンスの第2インスタンス、又は複数の第3インスタンスの第3インスタンスとの間の接続を表し得る。第4接続エッジは、その第4接続エッジの一端に接続された第4インスタンスによって表される機能が、その第4接続エッジの他端に接続された第1インスタンスによって表されるパートに接続されることを表すことができ、その機能がそのパートによって実行されることを指定し得る。
【0067】
処理534にて、システムアーキテクチャの第5設計次元の複数の第5インスタンスに関連する情報が、1つ以上のソースデータベースから抽出され得る。処理534は、図4の第5情報抽出部438、又は図1のフォーマット変換部120の実施形態によって実行され得る。第5設計次元は要求階層とし得る。複数の第5インスタンスは、システムアーキテクチャの複数のパートによって実行される複数の機能に基づく複数の要求とし得る。それらの要求の一部が、それらの要求のうちの他のものを統合したものであってもよく、故に、それらの要求のうちの他のものを統合したものである要求は、それらの要求のうち上記他のものよりも、要求の階層の高いレベルにあり得る。
【0068】
処理536にて、複数の第5インスタンスの各第5インスタンスについて、第5頂点がプロパティグラフデータモデル内に生成され得る。処理536は、図4の第5頂点生成部440、又は図1のグラフ構築部140の実施形態によって実行され得る。第5頂点は第5インスタンスを表し得る。
【0069】
処理538にて、複数の第5インスタンスのうちの1つ以上の第5インスタンスについて、第5合成エッジがプロパティグラフデータモデル内に生成され得る。処理538は、図4の第5合成エッジ生成部442、又は図1のグラフ構築部140の実施形態によって実行され得る。第5合成エッジは、2つの異なる第5頂点に接続され得る。第5合成エッジは、1つの第5インスタンスの、複数の第5インスタンスのうちの別の第5インスタンスに対する、階層的な有向合成又は有向分解を表し得る。
【0070】
処理540にて、複数の第5インスタンスのうちの1つ以上の第5インスタンスについて、第5接続エッジがプロパティグラフデータモデル内に生成され得る。処理540は、図4の第5接続エッジ生成部444、又は図1のグラフ構築部140の実施形態によって実行され得る。第5接続エッジは、その第5インスタンスと、複数の第1インスタンスの第1インスタンス、複数の第2インスタンスの第2インスタンス、複数の第3インスタンスの第3インスタンス、又は複数の第4インスタンスの第4インスタンスとの間の接続を表し得る。第5接続エッジは、その第5接続エッジの一端に接続された第5インスタンスによって表される要求が、その第5接続エッジの他端に接続された第4インスタンスによって表される機能に接続されることを表すことができ、その機能がその要求に基づくことを指定し得る。第5接続エッジは、その第5接続エッジの一端に接続された第5インスタンスによって表される要求が、その第5接続エッジの他端に接続された第1インスタンスによって表されるパートに接続されることを表すこともあり、そのパートがその要求に基づくことを指定し得る。
【0071】
処理542にて、システムアーキテクチャの第6設計次元の複数の第6インスタンスに関連する情報が、1つ以上のソースデータベースから抽出され得る。処理542は、図4の第6情報抽出部446、又は図1のフォーマット変換部120の実施形態によって実行され得る。第6設計次元は信号階層とし得る。複数の第6インスタンスは、システムアーキテクチャの複数のパート間で複数のインタフェースを介して通信される又はシステムアーキテクチャの複数の情報アイテムのうちの少なくとも1つの情報アイテムを通信する複数の信号とし得る。それらの信号の一部が、それらの信号のうちの他のものを統合したものであってもよく、故に、それらの信号のうちの他のものを統合したものである信号は、それらの信号のうち上記他のものよりも、信号の階層の高いレベルにあり得る。
【0072】
処理544にて、複数の第6インスタンスの各第6インスタンスについて、第6頂点がプロパティグラフデータモデル内に生成され得る。処理544は、図4の第6頂点生成部448、又は図1のグラフ構築部140の実施形態によって実行され得る。第6頂点は第6インスタンスを表し得る。
【0073】
処理546にて、複数の第6インスタンスのうちの1つ以上の第6インスタンスについて、第6合成エッジがプロパティグラフデータモデル内に生成され得る。処理546は、図4の第6合成エッジ生成部450、又は図1のグラフ構築部140の実施形態によって実行され得る。第6合成エッジは、2つの異なる第6頂点に接続され得る。第6合成エッジは、1つの第6インスタンスの、複数の第6インスタンスのうちの別の第6インスタンスに対する、階層的な有向合成又は有向分解を表し得る。
【0074】
処理548にて、複数の第6インスタンスのうちの1つ以上の第6インスタンスについて、第6接続エッジがプロパティグラフデータモデル内に生成され得る。処理548は、図4の第6接続エッジ生成部452、又は図1のグラフ構築部140の実施形態によって実行され得る。第6接続エッジは、その第6インスタンスと、複数の第1インスタンスの第1インスタンス、複数の第2インスタンスの第2インスタンス、複数の第3インスタンスの第3インスタンス、複数の第4インスタンスの第4インスタンス、又は複数の第5インスタンスの第5インスタンスとの間の接続を表し得る。第6接続エッジは、その第6接続エッジの一端に接続された第6インスタンスによって表される信号が、その第6接続エッジの他端に接続された第2インスタンスによって表されるインタフェースに接続されることを表すことができ、その信号がそのインタフェースに含まれることを指定し得る。第6接続エッジは、その第6接続エッジの一端に接続された第6インスタンスによって表される信号が、その第6接続エッジの他端に接続された第3インスタンスによって表される情報アイテムに接続されることを表すこともあり、その信号がその情報アイテムに含まれることを指定し得る。
【0075】
様々な実施形態において、異なる設計次元を表す任意数の異なる頂点タイプが存在することができ、異なる頂点タイプのいずれも、他の異なる頂点タイプのいずれかへの接続エッジを有し得る。いずれの頂点も、それに接続される1つ以上の接続エッジを有しることができ、それら1つ以上の接続エッジの各々が、グラフスキーマ200(図2を参照)の中で規定される接続ルール内で別の頂点タイプの他の頂点に接続されることができる。各接続エッジが、その接続エッジによって接続される異なる頂点間の関係を表す。一部の実施態様において、接続エッジは方向を持つ(有向である)。一部の実施態様では、接続エッジは方向を持たない。
【0076】
図6A及び6Bは、一部の実施形態に従った、プロパティグラフに基づいて重み付きパート間結合グラフを生成することを示すブロック図である。図6Aは、階層プロパティグラフデータモデル600が、機能F、F.1、F.2、要求R、R.1、R.2、並びにそれらに関連する合成エッジ及び接続エッジを含んでいないことを除いて、図3に示した例示的な階層プロパティグラフデータモデル300と同様のシステムアーキテクチャの例示的な階層プロパティグラフデータモデル600を示している。図6Bに示す新たな重み付きパート間結合グラフ610が、プロパティグラフデータモデル600に基づいて、パート及びインタフェースを除いた設計次元を無視しながらプロパティグラフデータモデル600のパート階層をコピーし、階層プロパティグラフデータモデル600のインタフェースを重み付きパート間結合グラフ610内の関連パート間の重み付きインタフェースエッジへと変換することによって生成され得る。これは、インタフェース及びパートの頂点クラスとそれらそれぞれのインタフェースエッジとを含むプロパティグラフデータモデル600の2モードバージョンの、重み付きパート間結合グラフ610への、1モード2部(bipartite)プロジェクションとして参照し得る。一部の実施形態において、重み付きパート間結合グラフ610は、プロパティグラフデータモデルを作成する中間ステップなしで、図1のソースデータベース110から直接的に生成され得る。例えば、図1のグラフ構築部140が直接的に、重み付きパート間結合グラフ610を生成し得る。
【0077】
一実施形態において、重み付きパート間結合グラフ610の合成エッジの重み(WEIGHT)は1なる値に設定され、インタフェースエッジ620、630の重みは次式:重み=(1+α)×βに従って決定される。ここで、αは、最小複雑度の0.0から最大複雑度の1.0までの範囲をとる相対インタフェース複雑度係数であり、βは、ハードウェア/ソフトウェア結合アーキテクチャでの1.0からソフトウェアアーキテクチャでの>1.0までの範囲をとるアーキテクチャ重要度係数である。アーキテクチャ重要度係数βは、クロスドメインスケーラビリティ(例えば、ソフトウェア対ハードウェア設計)を提供し得る。例えば、変数βは、物理的分解に対する情報交換インタフェースの重要性を表すことができ、相対複雑度係数αは、それぞれのインタフェースエッジによって表されるインタフェースを介してどれだけ多くの信号が転送されるかによって決定されることができる。図示されるように、インタフェースエッジ620の重みが1であるのは、パートA.2とA.3.1との間のインタフェースの相対複雑度係数αが0であり、且つこのハードウェア/ソフトウェアアーキテクチャに関するアーキテクチャ重要度係数βが1であるからである。インタフェースエッジ630の重みが2であるのは、パートA.2.1とA.3.2との間のインタフェースの相対複雑度係数αが1であり、且つこのハードウェア/ソフトウェアアーキテクチャに関するアーキテクチャ重要度係数βが1であるからである。
【0078】
一実施形態において、重み付きパート間結合グラフにおいてパート間のインタフェースを表すインタフェースエッジに重みを割り当てるために、接続性の重み付け又はグラフ次数アプローチが使用され得る。各パートが、それが有する合成接続及びインタフェース接続の数で除算されるコストを持つことができ、その除算されたコストを用いて、付随するインタフェースエッジの重み付けを決定し得る。この実施形態において、インタフェースエッジ620、630の重みは、次式に従って決定され得る:インタフェースエッジ(例えば、インタフェースエッジ620又はインタフェースエッジ630の一方)が結合されるパート対(ペア)の第1のパートの統合及び試験コスト見積もりを、そのパート対の第1のパートに接続されるエッジ(合成エッジ及びインタフェースエッジを含め、全ての入来エッジ)の総数で除算したもの + インタフェースエッジ(例えば、インタフェースエッジ620又はインタフェースエッジ630の他方)が結合されるパート対(ペア)の第2のパートの統合及び試験コスト見積もりを、そのパート対の第1のパートに接続されるエッジの総数で除算したもの。重み付きパート間結合グラフ610内の各パートが、それに割り当てられたコストを持つことができ、該コストは、そのパートを統合及び試験するのに必要な時間、又はそのパートへと統合するより低い階層レベルのパートの数に基づくことができる。このメトリックにより、例えば、パートA.2はパートA.3.1よりも高いコストを持ち得る。パートA.2には、それに接続された合計3つの入来エッジ及びインタフェースエッジを持つのに対し、パートA.3.1は、それに接続された1つのインタフェースエッジを持つだけである。この実施形態において、パートA.2が3なるコストを割り当てられ、パートA.3.1が1なるコストを割り当てられたとすれば、インタフェースエッジ620の重みは、インタフェースを統合する平均コストを具現化するものである1となる。同様に、この実施形態において、パートA.2.1が1なるコストを割り当てられ、パートA.3.2が1なるコストを割り当てられたとすれば、インタフェースエッジ630の重みは1となる。
【0079】
重み付きパート間結合グラフ610に基づいて、様々なタイプの計算機解析を実行することができる。それらは、モジュラリティ、システムアーキテクチャ内部一貫性、ロバスト性、及び脆弱性の評価を含み得る。例えば、プロパティグラフデータモデル610からインタフェースエッジを漸進的に除去することにより、システムアーキテクチャの脆弱性及びロバスト性を決定し得る。
【0080】
図7は、一部の実施形態に従った、重み付きパート間結合グラフを生成するシステム700を示すブロック図である。図6Bは、システム700によって生成され得る例示的な重み付きパート間結合グラフ610を示している。システム700は、計算プロセッサ702と、例えばプロパティグラフ300を表すグラフスキーマ200に基づくデータ構造といった、計算プロセッサ702によって処理されるデータ構造を記憶し得るメモリ回路704とを含み得る。メモリ回路704はまた、実行されるときに図8の方法800を実行するプログラムを格納し得る。システム700の要素は、1つ以上の接続又はデータバス722を介して互いに通信し得る。
【0081】
重み付きパート間結合グラフは、データ構造内の複数の頂点、複数の合成エッジ、及び複数のインタフェースエッジを含む重み付きパート間結合グラフデータモデルの一実施形態とし得る。複数の重み付き合成エッジが、ある頂点タイプ内での有向合成及び有向分解を表し得るとともに、複数のインタフェースエッジが、頂点間の情報交換インタフェースを表し得る。データ構造は、例えば計算プロセッサ702といった計算プロセッサを有するコンピュータシステムの例えばメモリ回路704といったメモリ回路に格納され得る。
【0082】
データベース構文解析部(パーサ)706が、システムアーキテクチャに関する関連特徴を含んだ、例えば図1のソースデータベース110といった1つ以上のソースデータベースにアクセスし得る。システムアーキテクチャに関する関連特徴は、システムアーキテクチャの設計、モデル化、シミュレーション、製造、処理、試験、性能、信頼性、欠陥、故障、コスト、及び評価に関連する情報を含み得る。ソースデータベースは、システムアーキテクチャに含まれるデバイス、コンポーネント、サブシステム、及びシステムの設計、モデル化、及びシミュレーションのための様々なハードウェア及び/又はソフトウェアツールについてのデータファイルを含み得る。ソースデータベースは、メモリ回路404に格納されたデータ構造、例えば、図5を参照して説明した方法500に従って生成されたプロパティグラフデータモデルを含むデータ構造を含み得る。データベース構文解析部706は、例えばFPGA若しくはASICなどの特殊目的のプロセッサといった、恒久的に構成される専用の回路若しくはロジック、又は、例えばメモリ回路704に格納された命令に従って処理を実行する計算プロセッサ702といった、プログラム可能なロジック又は回路を含み得る。
【0083】
第1情報抽出部708が、システムアーキテクチャの第1設計次元の複数の第1インスタンスに関連する情報を、1つ以上のソースデータベースから抽出し得る。第1設計次元は、システムアーキテクチャのパート階層とし得る。第1情報抽出部708は、図4の第1情報抽出部408の実施形態を含み、又は図1のフォーマット変換部120の実施形態に含まれ得る。複数の第1インスタンスは、システムアーキテクチャの複数のパートとし得る。それらのパートの一部が、それらのパートのうちの他のものを統合したものであってもよく、故に、それらのパートのうちの他のものを統合したものであるパートは、それらのパートのうち上記他のものよりも、パートの階層の高いレベルにあり得る。パート階層の例は、グラフスキーマ200のパート210、及び図3のパートA、A.1、A.2、A.3、A.1.1、A.1.2、A.2.1、A.2.2、A.3.1、及びA.3.2によって表され得る。例えば、回路カードパートは、複数の集積回路パートと、複数の集積回路パートが上に実装されるプリント回路基板とを統合したものとすることができ、故に、回路カードパートは、複数の集積回路パート、及び複数の集積回路パートが上に実装される回路基板パートよりも、パート階層の高いレベルにあるとし得る。第1情報抽出部708は、例えばFPGA若しくはASICなどの特殊目的のプロセッサといった、恒久的に構成される専用の回路若しくはロジック、又は、例えばメモリ回路704に格納された命令に従って処理を実行する計算プロセッサ702といった、プログラム可能なロジック又は回路を含み得る。
【0084】
頂点生成部710が、プロパティグラフデータモデルにおける複数の頂点を生成し得る。複数の頂点の各々が、複数の第1インスタンスのうちの1つの第1インスタンスを表し得る。複数の頂点の各々が、複数のパートのうちの1つのパートを表し得る。頂点生成部710は、図1のグラフ構築部140の実施形態に含まれ得る。頂点生成部710は、例えばFPGA若しくはASICなどの特殊目的のプロセッサといった、恒久的に構成される専用の回路若しくはロジック、又は、例えばメモリ回路704に格納された命令に従って処理を実行する計算プロセッサ702といった、プログラム可能なロジック又は回路を含み得る。
【0085】
合成エッジ生成部712が、パート間結合グラフデータモデルにおける複数の重み付き合成エッジを生成し得る。複数の重み付き合成エッジの各々が、複数の頂点のうち異なる対(ペア)の頂点を接続し得る。複数の重み付き合成エッジの各々が、複数の第1インスタンスのうちの1つの第1インスタンスの、複数の第1インスタンスのうちの別の第1インスタンスに対する、階層的な有向合成又は有向分解を表し得る。合成エッジ生成部712は、図1のグラフ構築部140の実施形態に含まれ得る。合成エッジ生成部712は、例えばFPGA若しくはASICなどの特殊目的のプロセッサといった、恒久的に構成される専用の回路若しくはロジック、又は、例えばメモリ回路704に格納された命令に従って処理を実行する計算プロセッサ702といった、プログラム可能なロジック又は回路を含み得る。複数の重み付き合成エッジは、システムアーキテクチャのパート階層のパートを物理的に統合したものを表し得る。
【0086】
合成エッジ重み割当部714が、複数の重み付き合成エッジの各々に合成重み値を割り当て得る。合成重み値は、例えば、低レベル側のパートを高レベル側のパートへと統合することの複雑さ及び/又はコストを表し得る。合成エッジ重み割当部714は、図1のグラフ構築部140の実施形態に含まれ得る。合成エッジ重み割当部714は、例えばFPGA若しくはASICなどの特殊目的のプロセッサといった、恒久的に構成される専用の回路若しくはロジック、又は、例えばメモリ回路704に格納された命令に従って処理を実行する計算プロセッサ702といった、プログラム可能なロジック又は回路を含み得る。一実施形態において、複数の重み付き合成エッジの各々が、1なる重み値を割り当てられ得る。
【0087】
第2情報抽出部716が、システムアーキテクチャの第2設計次元の複数の第2インスタンスに関連する情報を、1つ以上のソースデータベースから抽出し得る。第2設計次元は、システムアーキテクチャの複数のパート間のインタフェース階層とし得る。第2情報抽出部716は、図4の第2情報抽出部414の実施形態を含み、又は図1のフォーマット変換部120の実施形態に含まれ得る。インタフェース階層は、システムアーキテクチャの複数のパート間の複数のインタフェースを含み得る。それらのインタフェースの一部が、それらのインタフェースのうちの他のものを統合したものであってもよく、故に、それらのインタフェースのうちの他のものを統合したものであるインタフェースは、それらのインタフェースのうち上記他のものよりも、インタフェースの階層の高いレベルにあり得る。インタフェースの階層の例は、グラフスキーマ200のインタフェース220、及び図3のインタフェースZ、Z.1、Z.2、及びXによって表され得る。例えば、ワイヤハーネスは、複数の個々のワイヤを統合したものとすることができ、各個々のワイヤは、例えばイーサネット(登録商標)接続といった複数の通信プロトコル接続を統合したものとすることができ、故に、ワイヤハーネスは、複数のワイヤよりもインタフェース階層の高いレベルにあり、各ワイヤは、例えばイーサネット(登録商標)接続といった複数の通信プロトコル接続よりもインタフェース階層の高いレベルにあるとし得る。第2情報抽出部716は、例えばFPGA若しくはASICなどの特殊目的のプロセッサといった、恒久的に構成される専用の回路若しくはロジック、又は、例えばメモリ回路704に格納された命令に従って処理を実行する計算プロセッサ702といった、プログラム可能なロジック又は回路を含み得る。
【0088】
インタフェースエッジ生成部718が、複数の重み付きインタフェースエッジを生成し得る。複数の重み付きインタフェースエッジの各々が、複数の頂点のうち異なる対(ペア)の頂点を接続することができ、また、複数の第2インスタンスのうちの1つ以上の第2インスタンスに従った、複数の第1インスタンスのうちの対応する対の間の情報交換接続を表し得る。複数の重み付きインタフェースエッジは、システムアーキテクチャのパート階層のパート対の間の情報交換接続を表し得る。インタフェースエッジ生成部718は、例えばFPGA若しくはASICなどの特殊目的のプロセッサといった、恒久的に構成される専用の回路若しくはロジック、又は、例えばメモリ回路704に格納された命令に従って処理を実行する計算プロセッサ702といった、プログラム可能なロジック又は回路を含み得る。
【0089】
インタフェースエッジ重み割当部720が、複数の重み付きインタフェースエッジの各々にインタフェース重みを割り当て得る。一実施形態において、インタフェース重み値は、式(1+α)×βによって定められることができ、ここで、αは、最小複雑度の0.0から最大複雑度の1.0までの範囲をとる相対インタフェース複雑度係数であり、βはアーキテクチャ重要度係数である。係数βは、ハードウェア/ソフトウェア結合アーキテクチャでは1.0とすることができ、ソフトウェアアーキテクチャでは>1.0、例えば3.0、とすることができる。一実施形態において、複数の重み付きインタフェースエッジの各々に対するインタフェース重み値は、対応する重み付きインタフェースエッジに接続される頂点対(ペア)の第1の頂点に接続されるエッジの総数で1を除算したものに、その頂点対の第1の頂点の統合及び試験コスト見積もりを乗算したものと、対応する重み付きインタフェースエッジに接続される頂点対の第2の頂点に接続されるエッジの総数で1を除算したものに、その頂点対の第2の頂点の統合及び試験コスト見積もりを乗算したものと、の和として定められてもよい。頂点の統合及び試験コスト見積もりは、その頂点によって表されるパートに関係する実世界のシステムエンジニアリング原理に基づいて、ユーザによって決定されて入力され得る。インタフェースエッジ重み割当部720は、例えばFPGA若しくはASICなどの特殊目的のプロセッサといった、恒久的に構成される専用の回路若しくはロジック、又は、例えばメモリ回路704に格納された命令に従って処理を実行する計算プロセッサ702といった、プログラム可能なロジック又は回路を含み得る。
【0090】
図8は、一部の実施形態に従った、重み付きパート間結合グラフを生成する方法800を示すブロック図である。方法800は、図7のシステム700によって実行され得る。図6Bが、方法800によって生成され得る例示的な重み付きパート間結合グラフ610を示している。この重み付きパート間結合グラフは、データ構造内の複数の頂点、複数の重み付き合成エッジ、及び複数の重み付きインタフェースエッジを含んだプロパティグラフデータモデルの一実施形態とし得る。複数の重み付き合成エッジは、ある頂点タイプ内での有向合成及び有向分解を表すことができ、複数の重み付きインタフェースエッジは、頂点間の情報交換インタフェースを表すことができる。データ構造は、例えば計算プロセッサ702といった計算プロセッサを有するコンピュータシステムの例えばメモリ回路704といったメモリ回路に格納され得る。
【0091】
処理802にて、例えば図1のソースデータベース110などの1つ以上のソースデータベースが、計算プロセッサによってアクセスされ得る。処理802は、図7のデータベース構文解析部706、又は図1のフォーマット変換部120の実施形態によって実行され得る。ソースデータベースは、システムアーキテクチャに関する関連特徴を含み得る。システムアーキテクチャに関する関連特徴は、システムアーキテクチャの設計、モデル化、シミュレーション、製造、処理、試験、性能、信頼性、欠陥、故障、コスト、及び評価に関連する情報を含み得る。ソースデータベースは、システムアーキテクチャに含まれるデバイス、コンポーネント、サブシステム、及びシステムの設計、モデル化、及びシミュレーションのための様々なハードウェア及び/又はソフトウェアツールについてのデータファイルを含み得る。ソースデータベースは、コンピュータシステムのメモリ回路に格納されたデータ構造、例えば、図5を参照して説明した方法500に従って生成されたプロパティグラフデータモデルを含むデータ構造を含み得る。
【0092】
処理804にて、システムアーキテクチャの第1設計次元の複数の第1インスタンスに関連する情報が、1つ以上のソースデータベースから抽出され得る。処理804は、図7の第1情報抽出部708、又は図1のフォーマット変換部120の実施形態によって実行され得る。第1設計次元は、システムアーキテクチャのパート階層とし得る。複数の第1インスタンスは、システムアーキテクチャの複数のパートとし得る。それらのパートの一部が、それらのパートのうちの他のものを統合したものであってもよく、故に、それらのパートのうちの他のものを統合したものであるパートは、それらのパートのうち上記他のものよりも、パートの階層の高いレベルにあり得る。パート階層の例は、グラフスキーマ200のパート210、及び図3のパートA、A.1、A.2、A.3、A.1.1、A.1.2、A.2.1、A.2.2、A.3.1、及びA.3.2によって表され得る。例えば、回路カードパートは、複数の集積回路パートと、複数の集積回路パートが上に実装されるプリント回路基板とを統合したものとすることができ、故に、回路カードパートは、複数の集積回路パート、及び複数の集積回路パートが上に実装される回路基板パートよりも、パート階層の高いレベルにあるとし得る。
【0093】
処理806にて、複数の頂点が生成され得る。複数の頂点の各々が、複数の第1インスタンスのうちの1つの第1インスタンスを表し得る。処理806は、図7の頂点生成部710、又は図1のグラフ構築部140の実施形態によって実行され得る。
【0094】
処理808にて、複数の重み付き合成エッジが生成され得る。処理808は、図7の合成エッジ生成部712、又は図1のグラフ構築部140の実施形態によって実行され得る。複数の重み付き合成エッジの各々が、複数の頂点のうち異なる対(ペア)の頂点を接続し得るとともに、複数の第1インスタンスのうちの1つの第1インスタンスの、複数の第1インスタンスのうちの別の第1インスタンスに対する、階層的な有向合成又は有向分解を表し得る。複数の重み付き合成エッジは、システムアーキテクチャのパート階層のパートを物理的に統合したものを表し得る。複数の重み付き合成エッジは、システムアーキテクチャのパート階層のパートを物理的に統合したものを表し得る。複数の重み付き合成エッジは各々、合成重み値を割り当てられることができ、合成重み値は、例えば、低レベル側のパートを高レベル側のパートへと統合することの複雑さ及び/又はコストを表し得る。一実施形態において、複数の重み付き合成エッジの各々が、1なる重み値を割り当てられ得る。
【0095】
処理810にて、システムアーキテクチャの第2設計次元の複数の第2インスタンスに関連する情報が、1つ以上のソースデータベースから抽出され得る。処理810は、図7の第2情報抽出部716、又は図1のフォーマット変換部120の実施形態によって実行され得る。第2設計次元は、システムアーキテクチャの複数のパート間のインタフェース階層とし得る。複数の第2インスタンスは、システムアーキテクチャの複数のパート間の複数のインタフェースとし得る。それらのインタフェースの一部が、それらのインタフェースのうちの他のものを統合したものであってもよく、故に、それらのインタフェースのうちの他のものを統合したものであるインタフェースは、それらのインタフェースのうち上記他のものよりも、インタフェースの階層の高いレベルにあり得る。インタフェースの階層の例は、グラフスキーマ200のインタフェース220、及び図3のインタフェースZ、Z.1、Z.2、及びXによって表され得る。例えば、ワイヤハーネスは、複数の個々のワイヤを統合したものとすることができ、各個々のワイヤは、例えばイーサネット(登録商標)接続といった複数の通信プロトコル接続を統合したものとすることができ、故に、ワイヤハーネスは、複数のワイヤよりもインタフェース階層の高いレベルにあり、各ワイヤは、例えばイーサネット(登録商標)接続といった複数の通信プロトコル接続よりもインタフェース階層の高いレベルにあるとし得る。
【0096】
処理812にて、複数の重み付きインタフェースエッジが生成され得る。複数の重み付きインタフェースエッジの各々が、複数の頂点のうち異なる対(ペア)の頂点を接続することができ、また、複数の第2インスタンスのうちの1つ以上の第2インスタンスに従った、複数の第1インスタンスのうちの対応する対の間の情報交換接続を表し得る。複数の重み付きインタフェースエッジは、システムアーキテクチャのパート階層のパート対の間の情報交換接続を表し得る。
【0097】
処理814にて、複数の重み付きインタフェースエッジの各々にインタフェース重み値が割り当てられ得る。一実施形態において、インタフェース重み値は、式(1+α)×βによって定められることができ、ここで、αは、最小複雑度の0.0から最大複雑度の1.0までの範囲をとる相対インタフェース複雑度係数であり、βはアーキテクチャ重要度係数である。係数βは、ハードウェア/ソフトウェア結合アーキテクチャでは1.0とすることができ、ソフトウェアアーキテクチャでは>1.0、例えば3.0、とすることができる。一実施形態において、複数の重み付きインタフェースエッジの各々に対するインタフェース重み値は、対応する重み付きインタフェースエッジに接続される頂点対(ペア)の第1の頂点に接続されるエッジの総数で1を除算したものに、その頂点対の第1の頂点の統合及び試験コスト見積もりを乗算したものと、対応する重み付きインタフェースエッジに接続される頂点対の第2の頂点に接続されるエッジの総数で1を除算したものに、その頂点対の第2の頂点の統合及び試験コスト見積もりを乗算したものと、の和として定められてもよい。頂点の統合及び試験コスト見積もりは、その頂点によって表されるパートに関係する実世界のシステムエンジニアリング原理に基づいて、ユーザによって決定されて入力され得る。
【0098】
図9は、一部の実施形態に従った、例示的なシステムアーキテクチャの一貫性を定量化することを示すブロック図900である。システムの設計過程において、システムアーキテクチャがパートの階層に分解され、それらのパートが、それらの間の情報交換インタフェースと共に統合され得る。これは、図6Bを参照して説明した重み付きパート間結合グラフによって表される。図6Bにインタフェースエッジ(例えば、図6Bのインタフェースエッジ620及び630)として表されるパート間の情報交換インタフェースは、パート同士の間の結合を導入することができる。重み付きパート間結合グラフに基づいて、システムアーキテクチャのパートの物理的結合の、情報交換インタフェースによる結合との一貫性を計算機的に評価することが望ましい。
【0099】
重み付きパート間結合グラフ910が、図6Bを参照して説明したのと同様のやり方で構築され得る。一例として、重み付きパート間結合グラフ910は、コンピュータシステムを表し得る。物理パートサブグラフ(部分グラフ)抽出ツール920が、重み付きパート間結合グラフ910をコピーし、そのコピーから、階層的パート合成/分解を表す合成エッジを除く全てのエッジを除去することによって、重み付きパート間結合グラフ910からの物理パートサブグラフ930の抽出を実行し得る。物理パートサブグラフ930は、情報交換インタフェースのパート間結合を表すインタフェースエッジ(例えば、図6Bのインタフェースエッジ620及び630)のない、重み付きパート間結合グラフ910のパート階層を含み得る。この抽出中、合成エッジの重み付けは保存され得る。
【0100】
パートの物理階層と情報交換インタフェースとの双方を含むシステムアーキテクチャの階層クラスタデンドログラム(樹状図)960を生成するよう、重み付けパート間結合グラフ910上でクラスタリング940が実行され得る。また、情報交換インタフェースはなしでパートの物理階層だけを含むシステムアーキテクチャの階層クラスタデンドログラム970を生成するよう、物理パートサブグラフ930上でクラスタリング950が実行され得る。階層クラスタデンドログラム960及び階層クラスタデンドログラム970は、例示的な実施形態としてグラフで示されているが、様々な異なるシステムアーキテクチャが異なる表現で階層クラスタデンドログラムを生成し得るので、これらは限定するものとして解釈されるべきでない。階層クラスタデンドログラム960及び970は、それらの外側に複数のモデルクラスタを示している。階層クラスタデンドログラム960及び970は、クラスタ又はデンドログラムのいずれでも参照され得る。クラスタリング940及び950は、例えばNewman&Girvan2004エッジビットウィーンネス(edge betweenness)アルゴリズムといった、様々なネットワーク又はグラフ理論的クラスタリングアルゴリズムを用いて実行され得る。クラスタリング940及び950の間に合成エッジ及びインタフェースエッジの重み付けが用いられてもよい。
【0101】
階層クラスタデンドログラム960及び970上で、比較のためのクラスタの相関調べを行って、情報交換インタフェースなしでパートの物理階層だけを含むシステムアーキテクチャと、パートの物理階層及び情報交換インタフェースの双方を含むシステムアーキテクチャとの間の一貫性を決定し得る。相関調べは、例えば、2つの階層クラスタが互いにどれだけ密接に相関しているか比較するためのBakerのガンマ相関1974アルゴリズムといった、様々なネットワーク又はグラフ理論的相関アルゴリズムを用いて実行され得る。理想的には、一貫性が1なる値として表現される。一貫性が1なる値に等しくないとき、非一貫性のインジケーションを用いて、ソースデータベースからのシステムアーキテクチャにおける非一貫性の1つ以上の原因をよりよく理解するために、ここで説明されるような更なる解析を実行すると決定し得る。例えば、一貫性の値及びその後の更なる解析を用いて、設計者又はアーキテクトによって選択されたインタフェースがシステムの物理的分解と一貫性を持つかを理解し得る。一貫性評価に基づいて設計の決定が為され得る。従って、異なるシステムアーキテクチャ設計の繰り返しの一貫性評価結果をグラフにプロットして、競合する製品のベンチマーク設計に対して又はこれまでの幾つかの設計改訂版に対して設計がどれだけ進捗しているかを見ることができる。
【0102】
図10は、一部の実施形態に従った、様々な例示的な計算機解析結果を示すグラフ1000である。グラフ1000のx軸は時間を表し、グラフ1000のy軸は解析メトリック値を表し、各データポイントは、それぞれの日付におけるシステムアーキテクチャ設計に関して提供されている。グラフ1000は、システムアーキテクチャ設計が進展するにつれてのシステムアーキテクチャ解析メトリック値の経時的な進化を追跡するために、計算機解析がどのように使用され得るかを示している。SRRという注釈付きの点線は、システムアーキテクチャ開発タイムライン中のシステム要件レビュー日を指す。プロット1010、1020、及び1030は、モジュラリティ指標を表している。
【0103】
モジュラリティ指標は、例えば、Clauset-Newman-Mooreモジュラリティアンドコミュニティ(modularity and community)検出アルゴリズム、Louvainコミュニティ検出アルゴリズム、及びGirvan-Newmanアルゴリズムといった、十分に確立されたネットワーク及びグラフ理論的アルゴリズムを用いて、重み付きパート間結合グラフを解析することによって求めることができる。パート間結合グラフとモジュラリティアルゴリズムとは、パート間結合グラフのデータ構造上でモジュラリティアルゴリズムがどのように動作するかに関して、よく整合している。システムアーキテクチャのモジュラリティを決定することにおいて、この解析は、各パートが、パートの又は分離可能なパートグループのどのコミュニティのメンバーであるかを求める。これらのアルゴリズムは、物理的分解と、それにパート間のインタフェースがどれだけよく整合しているかと、の双方を考慮に入れることができる。特定のパスの重要性に基づく(例えば、システムアーキテクチャ内で特定のパスがどれだけ共通であるかに基づく)エッジビットウィーンネスクラスタを、一部の実施形態ではシステムの物理的分解を用いて、あるいは他の実施形態では物理的分解とパート間のインタフェースとの組み合わせを用いて生成することができ、そして、モジュラリティ指標を適用して、異なるクラスタ又はコミュニティが互いからどれだけ分離可能であるかを見ることができる。モジュラリティ指標は、0は全くモジュラリティでなく、1は理想的にモジュラリティであるとして、0から1までの範囲とし得る。典型的に、モジュール式システムアーキテクチャでは、モジュラリティ係数が0.3よりも高いことが望ましい。
【0104】
プロット1010は、設計過程中にアーキテクチャが進化するにつれて経時的に観察したときの、システムアーキテクチャ内の情報交換接続を考慮せずに物理階層システムアーキテクチャのみを考慮しての、システムアーキテクチャのモジュラリティを表している。これは、システムアーキテクチャの物理的分解のモジュラリティとしても参照され得る。プロット1010の物理的分解のモジュラリティは、システムアーキテクチャの物理パート階層がどれだけ詳細に一貫性を持って分解されたかを表し得る。プロット1020は、設計過程中にアーキテクチャが進化するにつれて経時的に観察したときの、論理システムアーキテクチャのみを考慮することによって決定される理想的なモジュラリティを表している。プロット1020は、パート間で選択される情報交換インタフェースを所与として、インタフェース変更なしで、コミュニティ検出アルゴリズムを介してパートを最大モジュラリティコミュニティ又はモジュールにグループ化するときの、アーキテクチャの進化の所与の時点において達成されることが可能な最良のモジュラリティについてのガイダンスを提供する。プロット1030は、設計過程中にアーキテクチャが進化するにつれて経時的に観察したときの、システムアーキテクチャの物理パート階層及びパート間の情報交換インタフェースを考慮しての、システムアーキテクチャのモジュラリティ又は“分離可能性”を表している。
【0105】
一部の実施形態において、重み付きパート間結合グラフにおける各インタフェースエッジに関連するリスクが、Newman&Girvan2004エッジビットウィーンセントラリティ(edge betweenness centrality)アルゴリズムによって決定されるような各インタフェースエッジのエッジセントラリティに従って決定されてプロットされ得る。比較的高いセントラリティを持つと決定されるインタフェースは、比較的高いリスクを持つとも考えられるとともに、モジュラリティを低下させ得るものであり、これは製品設計目標と衝突することが多い。リスクを低減させるようにインタフェースを単純化することにより、システムアーキテクチャのモジュラリティ及びロバスト性が向上され、ひいては、設計目標が容易に達成され得る。
【0106】
どのインタフェースがモジュラリティに最大の影響を持つかを特定する1つの手法は、ベースの重み付きパート間結合グラフのモジュラリティを求め、そして、異なるインタフェースエッジを除去することによって生成される各重み付きパート間結合サブグラフのモジュラリティを求めるものである。ベースの重み付きパート間結合グラフから最大のモジュラリティ変化を持つ重み付きパート間結合サブグラフは、その重み付きパート間結合サブグラフを生成するために除去されたインタフェースに対して、システムアーキテクチャ全体のモジュラリティが、最も敏感であることを指し示す。同様に、システムアーキテクチャ全体は、ランク順に次に大きい変化を示した別の重み付きパート間結合サブグラフを生成するために除去されたインタフェースに対して、次に最も敏感である。この解析を用いることで、単純化又は除去される場合にシステムのモジュラリティを向上させるのに大きい影響を持ち得るシステムアーキテクチャ内のインタフェースを特定し得る。この洞察がなければ、設計反復中にシステムアーキテクチャ設計のうちの誤った領域に焦点を当ててしまうことがあり、モジュラリティが改善されないことがある。
【0107】
プロット1010-1030とは異なり、プロット1040は、モジュラリティ指標のものではない。プロット1040は、物理的分解のみと、物理的分解及びシステムアーキテクチャのパート間の情報交換インタフェースの組み合わせとの相関を表し、それ故に、図9を参照して説明したように、同じものの物理的対機能的な整合を表している。プロット1040は、データポイント1040Aと1040Bとの間で、設計変更が、システムアーキテクチャの一貫性の大きな低下を引き起こしたことを示している。このメトリックは、システムアーキテクチャの物理的構造の変化に敏感であるとすることができ、何時に設計変更が、システムの物理的分解を情報交換インタフェース又はシステムの黙示的な機能的分解に対して整合しないものにさせたかを示す。グラフ1000からの導き出され得ることは、一貫性が低下してモジュラリティ指標が値的に低下するにつれて、システム関するリスクが高まるということである。例えば、システムアーキテクチャの内部一貫性が急激に低下すると、設計の明確性も急激に低下する。また、設計明確性基準が満たされているかの洞察を提供するために、内部一貫性を過去の製品に対するベンチマークとし得る。内部明確性及び一貫性は、製品のライフサイクルを通して実装及び解釈のリスクを低減させる。
【0108】
図11は、一部の実施形態に従った、システムアーキテクチャの一貫性を定量化するシステム1100を示すブロック図である。システム1100は、計算プロセッサ1102と、計算プロセッサ1102によって処理されるデータ構造を記憶し得るメモリ回路1104とを含み得る。メモリ回路1104はまた、実行されるときに図12の方法1200を実行するプログラムを格納し得る。システム1100は、システムアーキテクチャの異なるバージョンを表す例えば図1のプロパティグラフデータモデル150といったプロパティグラフデータモデル又は例えば図6Bの重み付きパート間結合グラフ610といった重み付きパート間結合グラフデータモデルの解析を比較し得る。システム1100の要素は、1つ以上の接続又はデータバス1124を介して互いに通信し得る。
【0109】
重み付きパート間結合グラフは、データ構造内の複数の頂点、複数の重み付き合成エッジ、及び複数の重み付きインタフェースエッジを含むプロパティグラフデータモデルの一実施形態とし得る。複数の重み付き合成エッジが、ある頂点タイプ内での有向合成及び有向分解を表し得るとともに、複数の重み付きインタフェースエッジが、頂点間の情報交換インタフェースを表し得る。
【0110】
データベース構文解析部(パーサ)1106が、システムアーキテクチャに関する関連特徴を含んだ、例えば図1のソースデータベース110などの1つ以上のソースデータベースにアクセスし得る。システムアーキテクチャに関する関連特徴は、システムアーキテクチャの設計、モデル化、シミュレーション、製造、処理、試験、性能、信頼性、欠陥、故障、コスト、及び評価に関連する情報を含み得る。ソースデータベースは、システムアーキテクチャに含まれるデバイス、コンポーネント、サブシステム、及びシステムの設計、モデル化、及びシミュレーションのための様々なハードウェア及び/又はソフトウェアツールについてのデータファイルを含み得る。ソースデータベースは、メモリ回路1104に格納されたデータ構造、例えば、図5を参照して説明した方法500に従って生成されたプロパティグラフデータモデルを含むデータ構造、又は図8を参照して説明した方法800に従って生成された重み付きパート間結合グラフデータモデルを含むデータ構造を含み得る。データベース構文解析部1106は、例えばFPGA若しくはASICなどの特殊目的のプロセッサといった、恒久的に構成される専用の回路若しくはロジック、又は、例えばメモリ回路1104に格納された命令に従って処理を実行する計算プロセッサ1102といった、プログラム可能なロジック又は回路を含み得る。
【0111】
第1情報抽出部1108が、システムアーキテクチャの第1設計次元の複数の第1インスタンスに関連する情報を、1つ以上のソースデータベースから抽出し得る。第1情報抽出部1108は、図4の第1情報抽出部408若しくは図7の第1情報抽出部708の実施形態を含み、又は図1のフォーマット変換部120の実施形態に含まれ得る。第1設計次元は、システムアーキテクチャのパート階層とし得る。複数の第1インスタンスは、システムアーキテクチャの複数のパートとし得る。それらのパートの一部が、それらのパートのうちの他のものを統合したものであってもよく、故に、それらのパートのうちの他のものを統合したものであるパートは、それらのパートのうち上記他のものよりも、パートの階層の高いレベルにあり得る。パート階層の例は、グラフスキーマ200のパート210、及び図3のパートA、A.1、A.2、A.3、A.1.1、A.1.2、A.2.1、A.2.2、A.3.1、及びA.3.2によって表され得る。例えば、回路カードパートは、複数の集積回路パートと、複数の集積回路パートが上に実装されるプリント回路基板とを統合したものとすることができ、故に、回路カードパートは、複数の集積回路パート、及び複数の集積回路パートが上に実装される回路基板パートよりも、パート階層の高いレベルにあるとし得る。第1情報抽出部1108は、例えばFPGA若しくはASICなどの特殊目的のプロセッサといった、恒久的に構成される専用の回路若しくはロジック、又は、例えばメモリ回路1104に格納された命令に従って処理を実行する計算プロセッサ1102といった、プログラム可能なロジック又は回路を含み得る。
【0112】
第2情報抽出部1110が、システムアーキテクチャの第2設計次元の複数の第2インスタンスに関連する情報を、1つ以上のソースデータベースから抽出し得る。第2設計次元は、システムアーキテクチャの複数のパート間のインタフェース階層とし得る。第2情報抽出部1110は、図4の第2情報抽出部414若しくは図7の第2情報抽出部716の実施形態を含み、又は図1のフォーマット変換部120の実施形態に含まれ得る。インタフェース階層は、システムアーキテクチャの複数のパート間の複数のインタフェースを含み得る。それらのインタフェースの一部が、それらのインタフェースのうちの他のものを統合したものであってもよく、故に、それらのインタフェースのうちの他のものを統合したものであるインタフェースは、それらのインタフェースのうち上記他のものよりも、インタフェースの階層の高いレベルにあり得る。インタフェースの階層の例は、グラフスキーマ200のインタフェース220、及び図3のインタフェースZ、Z.1、Z.2、及びXによって表され得る。例えば、ワイヤハーネスは、複数の個々のワイヤを統合したものとすることができ、各個々のワイヤは、例えばイーサネット(登録商標)接続といった複数の通信プロトコル接続を統合したものとすることができ、故に、ワイヤハーネスは、複数のワイヤよりもインタフェース階層の高いレベルにあり、各ワイヤは、例えばイーサネット(登録商標)接続といった複数の通信プロトコル接続よりもインタフェース階層の高いレベルにあるとし得る。第2情報抽出部1110は、例えばFPGA若しくはASICなどの特殊目的のプロセッサといった、恒久的に構成される専用の回路若しくはロジック、又は、例えばメモリ回路1104に格納された命令に従って処理を実行する計算プロセッサ1102といった、プログラム可能なロジック又は回路を含み得る。
【0113】
第1データ構造生成部1112が、第1重み付きプロパティグラフデータモデルを表す第1データ構造を生成し得る。第1重み付きプロパティグラフデータモデルは、図9の重み付きパート間結合グラフ910又は図6Bを参照して説明した重み付きパート間結合グラフデータモデルの一実施形態とし得る。第1データ構造は、図8を参照して説明した方法800の一実施形態に従って生成され得る。第1データ構造は、複数の第1頂点を含み得る。第1頂点の各々が、複数の第1インスタンスのうちの1つの第1インスタンスを表し得る。第1データ構造はまた、複数の第1重み付き合成エッジを含み得る。複数の第1重み付き合成エッジの各々が、複数の第1頂点のうち異なる対の第1頂点を接続し、複数の第1インスタンスのうちの1つの第1インスタンスの、複数の第1インスタンスのうちの別の第1インスタンスに対する、階層的な有向合成又は有向分解を表し得る。複数の第1重み付き合成エッジの各々はまた、重み値を割り当てられ得る。第1データ構造は、複数の第1重み付きインタフェースエッジを含み得る。複数の第1重み付きインタフェースエッジの各々が、複数の第1頂点のうち異なる対の第1頂点を接続し、複数の第2インスタンスのうちの1つ以上の第2インスタンスに従った、複数の第1インスタンスのうちの対応する対の第1インスタンス間の情報交換インタフェースを表し得る。複数の第1重み付きインタフェースエッジの各々はまた、重み値を割り当てられ得る。第1データ構造生成部1112は、例えばFPGA若しくはASICなどの特殊目的のプロセッサといった、恒久的に構成される専用の回路若しくはロジック、又は、例えばメモリ回路1104に格納された命令に従って処理を実行する計算プロセッサ1102といった、プログラム可能なロジック又は回路を含み得る。
【0114】
第2データ構造生成部1114が、第2重み付きプロパティグラフデータモデルを表す第2データ構造を生成し得る。第2データ構造は、図9の物理パートサブグラフ930の一実施形態とし得る。第2データ構造生成部1114は、図9の物理パートサブグラフ抽出ツール920の一実施形態とし得る。第2重み付きプロパティグラフデータモデルは、図9の物理パートサブグラフ930の一実施形態、又は図6Bを参照して説明した重み付きパート間結合グラフデータモデル610の一実施形態とし得る。第2データ構造は、複数の第2頂点を含み得る。第2頂点の各々が、複数の第1インスタンスのうちの1つの第1インスタンスを表し得る。第2データ構造はまた、複数の第2重み付き合成エッジを含み得る。複数の第2重み付き合成エッジの各々が、複数の第2頂点のうち異なる対の第2頂点を接続し、複数の第1インスタンスのうちの1つの第1インスタンスの、複数の第1インスタンスのうちの別の第1インスタンスに対する、階層的な有向合成又は有向分解を表し得る。複数の第2重み付き合成エッジの各々は、重み値を割り当てられ得る。第2データ構造生成部1114は、第1データ構造のコピーを生成し、そして、第1データ構造のコピーから重み付きインタフェースエッジを削除又は除去することによって、第2データ構造を生成し得る。重み付きインタフェースエッジは、第1データ構造のコピーを作成するときに無視され、それ故に、それらが第1データ構造のコピー内に作成されることはない。第2データ構造は、複数の第1重み付きインタフェースエッジを生成しないことを除いて、第1データ構造生成部1112を参照して説明した第1データ構造と同様のやり方で生成され得る。第2データ構造生成部1114は、例えばFPGA若しくはASICなどの特殊目的のプロセッサといった、恒久的に構成される専用の回路若しくはロジック、又は、例えばメモリ回路1104に格納された命令に従って処理を実行する計算プロセッサ1102といった、プログラム可能なロジック又は回路を含み得る。
【0115】
第1クラスタ生成部1116が、第1データ構造の合成エッジ及びインタフェースエッジの組み合わせのビットウィーンネス階層クラスタデンドログラムを生成し得る。第1クラスタ生成部1116は、図9のクラスタリング940の一実施形態を実行することができ、合成エッジ及びインタフェースエッジの組み合わせのビットウィーンネス階層クラスタデンドログラムは、図9の階層クラスタデンドログラム960の一実施形態とし得る。合成エッジ及びインタフェースエッジの組み合わせのビットウィーンネス階層クラスタデンドログラムは、第1データ構造上でNewman&Girvan2004計算を実行することによって生成され得る。第1クラスタ生成部1116は、例えばFPGA若しくはASICなどの特殊目的のプロセッサといった、恒久的に構成される専用の回路若しくはロジック、又は、例えばメモリ回路1104に格納された命令に従って処理を実行する計算プロセッサ1102といった、プログラム可能なロジック又は回路を含み得る。
【0116】
第2クラスタ生成部1118が、第2データ構造の合成エッジビットウィーンネス階層クラスタデンドログラムを生成し得る。第2クラスタ生成部1118は、図9のクラスタリング950の一実施形態を実行することができ、合成エッジビットウィーンネス階層クラスタデンドログラムは、図9の階層クラスタデンドログラム970の一実施形態とし得る。合成エッジビットウィーンネス階層クラスタデンドログラムは、第2データ構造上でNewman&Girvan2004計算を実行することによって生成され得る。第2クラスタ生成部1118は、例えばFPGA若しくはASICなどの特殊目的のプロセッサといった、恒久的に構成される専用の回路若しくはロジック、又は、例えばメモリ回路1104に格納された命令に従って処理を実行する計算プロセッサ1102といった、プログラム可能なロジック又は回路を含み得る。
【0117】
相関計算部1120が、合成エッジ及びインタフェースエッジの組み合わせのビットウィーンネス階層クラスタデンドログラムと、合成エッジビットウィーンネス階層クラスタデンドログラムとの間の相関を計算し得る。相関計算部1120は、図9の比較のためのクラスタの相関調べ980の一実施形態を実行し得る。相関は、合成エッジ及びインタフェースエッジの組み合わせのビットウィーンネス階層クラスタデンドログラムと、合成エッジビットウィーンネス階層クラスタデンドログラムとについて、Bakerのガンマ相関1974計算を実行することによって計算され得る。相関計算部1120は、例えばFPGA若しくはASICなどの特殊目的のプロセッサといった、恒久的に構成される専用の回路若しくはロジック、又は、例えばメモリ回路1104に格納された命令に従って処理を実行する計算プロセッサ1102といった、プログラム可能なロジック又は回路を含み得る。
【0118】
相関プロット部1122が、複数の異なるシステムアーキテクチャの各々に対応する相関を、例えば図10のプロット1040といった共通プロット上にプロットして、物理的合成及びインタフェースに関してアーキテクチャインスタンスが互いにどれだけ近いかを表し得る。それら異なるシステムアーキテクチャは、システムアーキテクチャ開発プロジェクトの異なる日付又はマイルストーンにおける異なる設計反復とし得る。相関プロット部1122は、例えばFPGA若しくはASICなどの特殊目的のプロセッサといった、恒久的に構成される専用の回路若しくはロジック、又は、例えばメモリ回路1104に格納された命令に従って処理を実行する計算プロセッサ1102といった、プログラム可能なロジック又は回路を含み得る。
【0119】
図12は、一部の実施形態に従った、システムアーキテクチャの一貫性を定量化する方法1200を示すブロック図である。方法1200は、図11のシステム1100によって実行され得る。方法1200は、システムアーキテクチャの異なるバージョンを表すプロパティグラフデータモデル又は重み付きパート間結合グラフデータモデルの解析を比較し得る。重み付きパート間結合グラフは、データ構造内の複数の頂点、複数の重み付き合成エッジ、及び複数の重み付きインタフェースエッジを含むプロパティグラフデータモデルの一実施形態とし得る。図6Bが、例示的な重み付きパート間結合グラフ610を示している。複数の重み付き合成エッジが、ある頂点タイプ内での有向合成及び有向分解を表し得るとともに、複数の重み付きインタフェースエッジが、頂点間の情報交換インタフェース又は他のインタフェースを表し得る。データ構造は、例えば計算プロセッサ1102といった計算プロセッサを有するコンピュータシステムの例えばメモリ回路1104といったメモリ回路に格納されることができ、方法1200は、その計算プロセッサによって実行されることができる。
【0120】
処理1202にて、システムアーキテクチャに関する関連特徴を含んだ、例えば図1のソースデータベース110などの1つ以上のソースデータベースから情報が抽出され得る。システムアーキテクチャに関する関連特徴は、システムアーキテクチャの設計、モデル化、シミュレーション、製造、処理、試験、性能、信頼性、欠陥、故障、コスト、及び評価に関連する情報を含み得る。処理1202は、図11のデータベース構文解析部1106、図11の第1情報抽出部1108、図11の第2情報抽出部1110、及び/又は図1のフォーマット変換部120の実施形態によって実行され得る。ソースデータベースは、システムアーキテクチャに含まれるデバイス、コンポーネント、サブシステム、及びシステムの設計、モデル化、及びシミュレーションのための様々なハードウェア及び/又はソフトウェアツールについてのデータファイルを含み得る。ソースデータベースは、コンピュータシステムのメモリ回路に格納されたデータ構造、例えば、図5を参照して説明した方法500に従って生成されたプロパティグラフデータモデルを含むデータ構造、又は図8を参照して説明した方法800に従って生成された重み付きパート間結合グラフデータモデルを含むデータ構造を含み得る。
【0121】
抽出される情報は、システムアーキテクチャの第1設計次元の複数の第1インスタンス、及びシステムアーキテクチャの第2設計次元の複数の第2インスタンスに関連し得る。第1設計次元は、システムアーキテクチャのパート階層とし得る。複数の第1インスタンスは、システムアーキテクチャの複数のパートとし得る。それらのパートの一部が、それらのパートのうちの他のものを統合したものであってもよく、故に、それらのパートのうちの他のものを統合したものであるパートは、それらのパートのうち上記他のものよりも、パートの階層の高いレベルにあり得る。パート階層の例は、グラフスキーマ200のパート210、及び図3のパートA、A.1、A.2、A.3、A.1.1、A.1.2、A.2.1、A.2.2、A.3.1、及びA.3.2によって表され得る。例えば、回路カードパートは、複数の集積回路パートと、複数の集積回路パートが上に実装されるプリント回路基板とを統合したものとすることができ、故に、回路カードパートは、複数の集積回路パート、及び複数の集積回路パートが上に実装される回路基板パートよりも、パート階層の高いレベルにあるとし得る。第2設計次元は、システムアーキテクチャの複数のパート間のインタフェース階層とし得る。複数の第2インスタンスは、システムアーキテクチャの複数のパート間の複数のインタフェースとし得る。それらのインタフェースの一部が、それらのインタフェースのうちの他のものを統合したものであってもよく、故に、それらのインタフェースのうちの他のものを統合したものであるインタフェースは、それらのインタフェースのうち上記他のものよりも、インタフェースの階層の高いレベルにあり得る。インタフェースの階層の例は、グラフスキーマ200のインタフェース220、及び図3のインタフェースZ、Z.1、Z.2、及びXによって表され得る。例えば、ワイヤハーネスは、複数の個々のワイヤを統合したものとすることができ、各個々のワイヤは、例えばイーサネット(登録商標)接続といった複数の通信プロトコル接続を統合したものとすることができ、故に、ワイヤハーネスは、複数のワイヤよりもインタフェース階層の高いレベルにあり、各ワイヤは、例えばイーサネット(登録商標)接続といった複数の通信プロトコル接続よりもインタフェース階層の高いレベルにあるとし得る。
【0122】
処理1204にて、第1重み付きプロパティグラフデータモデルを表す第1データ構造が生成され得る。第1重み付きプロパティグラフデータモデルは、図9の重み付きパート間結合グラフ910又は図6Bを参照して説明した重み付きパート間結合グラフデータモデル610の一実施形態とし得る。第1データ構造は、図8を参照して説明した方法800の一実施形態に従って生成され得る。第1データ構造は、複数の第1インスタンスを表す複数の第1頂点と、複数の第1頂点のうち異なる対の第1頂点を接続し、複数の第1インスタンスの階層的な有向合成又は有向分解を表す複数の第1重み付き合成エッジと、複数の第1頂点のうち異なる対の第1頂点を接続し、複数の第2インスタンスのうちの1つ以上の第2インスタンスに従った複数の第1インスタンス間の情報交換インタフェースを表す複数の第1重み付きインタフェースエッジとを含み得る。複数の第1重み付き合成エッジは、システムアーキテクチャのパート階層のパートの物理的統合を表し得る。複数の第1重み付きインタフェースエッジは、システムアーキテクチャのパート階層のパート対(ペア)間の情報交換インタフェースを表し得る。複数の第1重み付き合成エッジの各々及び複数の第1重み付きインタフェースエッジの各々が、重み値を割り当てられ得る。
【0123】
処理1206にて、複数の第1重み付きインタフェースエッジを含まないことを除いて第1データ構造と等価な第2データ構造が生成され得る。第2データ構造は、図9の物理パートサブグラフ930の一実施形態とすることができ、図9の物理パートサブグラフ抽出ツール920の一実施形態を用いて生成され得る。第2データ構造は、第1データ構造のコピーを生成し、そして、第1データ構造のコピーから重み付きインタフェースエッジを削除又は除去することによって生成され得る。重み付きインタフェースエッジは、第1データ構造のコピーを作成するときに無視され、それ故に、それらが第1データ構造のコピー内に作成されることはない。第2データ構造は、複数の第1重み付きインタフェースエッジを生成しないことを除いて、処理1204を参照して説明した第1データ構造と同様のやり方で生成され得る。
【0124】
処理1208にて、第1データ構造の合成エッジ及びインタフェースエッジの組み合わせのビットウィーンネス階層クラスタデンドログラムが生成され得る。処理1208は、図9のクラスタリング940を実行することの一実施形態とすることができ、合成エッジ及びインタフェースエッジの組み合わせのビットウィーンネス階層クラスタデンドログラムは、図9の階層クラスタデンドログラム960の一実施形態とし得る。合成エッジ及びインタフェースエッジの組み合わせのビットウィーンネス階層クラスタデンドログラムは、第1データ構造上でNewman&Girvan2004エッジビットウィーンネス計算を実行することによって生成され得る。
【0125】
処理1210にて、第2データ構造の合成エッジビットウィーンネス階層クラスタデンドログラムが生成され得る。処理1210は、図9のクラスタリング950を実行することの一実施形態とすることができ、合成エッジビットウィーンネス階層クラスタデンドログラムは、図9の階層クラスタデンドログラム970の一実施形態とし得る。合成エッジビットウィーンネス階層クラスタデンドログラムは、第2データ構造上でNewman&Girvan2004エッジビットウィーンネス計算を実行することによって生成され得る。
【0126】
処理1212にて、合成エッジ及びインタフェースエッジの組み合わせのビットウィーンネス階層クラスタデンドログラムと、合成エッジビットウィーンネス階層クラスタデンドログラムとの間の相関が計算され得る。処理1212は、図9の比較のためのクラスタの相関調べ980を実行することの一実施形態とし得る。相関は、合成エッジ及びインタフェースエッジの組み合わせのビットウィーンネス階層クラスタデンドログラムと、合成エッジビットウィーンネス階層クラスタデンドログラムとについて、Bakerのガンマ相関1974計算を実行することによって計算され得る。
【0127】
処理1214にて、処理1202から1212の各々が、異なるシステムアーキテクチャに対して実行され、それら異なるシステムアーキテクチャの各々に対応する相関が、例えば図10のプロット1040といった共通プロット上にプロットされ得る。それら異なるシステムアーキテクチャは、システムアーキテクチャ開発プロジェクトの異なる日付又はマイルストーンにおける異なる設計反復とし得る。
【0128】
図13は、一部の実施形態に従った、システムアーキテクチャのロバスト性を定量化することを示すブロック図1300である。システムアーキテクチャ設計のロバスト性は、例えば図6Bを参照して図示して説明したような、階層的なパート間結合グラフを使用して計算機的に評価され得る。例えば、情報交換インタフェースを通じた情報交換における妨害に対するシステムアーキテクチャのロバスト性及び脆弱性を計算機的に評価することができる。これは、信頼性及びモジュラリティを向上させるために、システムアーキテクチャ設計の初期段階から後期の詳細設計段階まで全体を通して設計決定を支援するメトリックを提供する。システムアーキテクチャ設計の計算機解析からのメトリックは、モジュラリティとロバスト性との間のトレードオフを知らせるとともにそのバランスをとるために利用されることができる。
【0129】
これまで、システムアーキテクチャのロバスト性評価は計算機的には行われていなかった。むしろ、信頼性の専門家を採用して、コストのかかる信頼性モデルを手作業で開発し、信頼性の主観的評価を提供するものであった。信頼性モデルの開発は、主に、コンポーネント及び単品部品の故障と、アーキテクチャに対して影響を持つのに十分な早さの新設計では達成できないことが多い故障間平均時間データに基づいていた。また、コンポーネント及び単品部品の故障及び故障間平均時間データは、アーキテクチャの機能的信頼性の側面に対処するものではなく、物理的信頼性の側面のみに対処するものである。さらに、このモデルは、信頼性の専門家によるアーキテクチャの信頼性モデルへの変換に起因して、システムアーキテクチャに関連する全ての情報を考慮に入れることができない。このタイプの信頼性モデルはまた、初期段階の粗い設計ではなく詳細設計を必要とし、それが、システムアーキテクチャがますます詳細に設計されるにつれて設計反復をガイドするのに有用となることを妨げ、従って、初期の概念的なシステムアーキテクチャの信頼性を改善していくのにあまり有用ではなかった。
【0130】
また、典型的なネットワーク及びグラフ理論的アルゴリズムはまた、図6Bに示したような重み付きパート間結合グラフによって表されるシステムアーキテクチャのロバスト性を評価することもできない。これは、パート間結合グラフが、合成エッジ及びインタフェースエッジという2つのタイプのエッジを有するためである。ネットワーク及びグラフ理論的アルゴリズムによって一般的に使用される典型的なネットワークグラフは、ノード又は頂点を接続する単一クラスのエッジを有しており、エッジを漸進的に除去することで、ネットワークの信頼性又はロバスト性を、例えば、エッジが除去された後の最大の残存コンポーネントに基づいて評価する。ここに記載されるパート間結合グラフ内のインタフェースエッジを個々に除去することができるとしても、合成エッジは残ることになる。従って、全てのインタフェースエッジが除去されたとしても、最大の接続されたコンポーネントは変化しないまま(例えば、全ての頂点の完全グラフ)であり、ネットワークのロバスト性及び信頼性を評価する典型的なネットワーク及びグラフ理論的アルゴリズムを、重み付きパート間結合グラフには適用できないものとする。
【0131】
重み付きパート間結合グラフ1310は、図6Bを参照して説明したものと同様のやり方で構築され得る。一例として、重み付きパート間結合グラフ1310はコンピュータシステムを表し得る。インタフェースエッジ除去ツール1320が、重み付きパート間結合グラフ1310からインタフェースエッジ(例えば、図6Bのインタフェースエッジ620及び630)を選択して除去し、その第1の実行において重み付きパート間結合サブグラフ1330を生成し得る。後続の実行において、インタフェースエッジ除去ツール1320は、最後に生成された重み付きパート間結合サブグラフ1330から別のインタフェースエッジを除去して、別の重み付きパート間結合サブグラフ1330を生成し得る。インタフェースエッジ除去ツール1320は、ランダム選択に基づいて、あるいは、重み付きパート間結合グラフ1310又はインタフェースエッジが除去されている重み付きパート間結合サブグラフ1330の解析に基づいて、例えばほぼ中心から周辺へとエッジセントラリティの順に、除去するインタフェースエッジを選択し得る。エッジセントラリティは、例えばNewman&Girvan2004といったエッジビットウィーンネスセントラリティアルゴリズムに従って決定され得る。エッジ除去確率は、エッジセントラリティの経験的な確率分布に基づき得る。インタフェースエッジは、攻撃又は変化に対して最も脆弱な接続から最も脆弱でない接続への順に削除され得る。インタフェースエッジ除去の順序を決定するためにエッジセントラリティの使用は、攻撃者が、システムアーキテクチャの最も中心的なインタフェースについて完全な知識を有していて、それらのセントラリティの順にインタフェースを攻撃する、ということを想定してのものであり得る。変化に対する脆弱性の場合、最初に中心のエッジを除去することは、最悪ケースのシナリオとして変化が起こるということを想定してのものであり得る。
【0132】
一実施形態において、インタフェースエッジ除去ツール1320の各繰り返しは、所与の変位値サンプルステップサイズに従って、変位値が減少していく順序でインタフェースエッジを除去し得る。例えば、インタフェースエッジ除去ツール1320は、エッジビットウィーンネスセントラリティの、0.1と0.25との間の変位値サンプルステップサイズで、1.0から0.0へと変位値が減少していく順序でインタフェースエッジを除去し得る。このプロセスから得られる各重み付きパート間結合サブグラフ1330は、各変位値サンプルについて1つを含む、増加していく数の除去済みインタフェースエッジを有し得る。
【0133】
各重み付きパート間結合サブグラフ1330の生成に続いて、生成された重み付きパート間結合サブグラフ1330上でクラスタリング1340を実行することで、生成されたそれぞれの重み付きパート間結合サブグラフ1330に対応するシステムアーキテクチャの階層クラスタデンドログラム1350を生成し得る。クラスタリング1340は、例えばNewman&Girvan2004エッジビットウィーンネスアルゴリズムといった、エッジ重みを考慮する様々なネットワーク又はグラフ理論的クラスタリングアルゴリズムを用いて実行され得る。階層的クラスタリング1340の間に、合成エッジ及びインタフェースエッジの重み付けが使用され得る。最新の階層クラスタデンドログラム1350から更なるインタフェースエッジを除去する必要があるかについて、決定1360が為され得る。除去されるインタフェースエッジの数は、例えば、ユーザによって、又は重み付きパート間結合グラフ1310内のインタフェースエッジの総数の或る割合によって、事前に決定されていてもよい。除去するインタフェースエッジの数は、重み付きパート間結合グラフ1310内のインタフェースエッジの過半数とし得る。除去すべき更なるインタフェースエッジが存在する場合、インタフェースエッジ除去1320が再び実行されて、先に生成された重み付きパート間結合サブグラフ1330よりも1つ少ないインタフェースエッジを有する別の重み付きパート間結合サブグラフ1330が生成される。インタフェースエッジ除去1320からクラスタリング1340のループを通じて、引き続いての重み付きパート間結合サブグラフ1330からのエッジ除去毎に1つの、複数の階層クラスタデンドログラム1350が生成され得る。
【0134】
また、重み付きパート間結合グラフ1310上でもクラスタリング1370を実行して、全てのインタフェースエッジを含むシステムアーキテクチャのベースライン階層クラスタデンドログラム1380を生成し得る。クラスタリング1370は、例えばNewman&Girvan2004エッジビットウィーンネスアルゴリズムといった、様々なネットワーク又はグラフ理論的クラスタリングアルゴリズムを用いて実行され得る。ベースライン階層クラスタデンドログラム1380を生成するクラスタリング1370の間に、合成エッジ及びインタフェースエッジの重み付けが使用され得る。
【0135】
全ての階層クラスタデンドログラム1350上で、ベースライン階層クラスタデンドログラム1380との関係での、比較のためのクラスタの相関調べ1390が実行され、相関結果を重み付きパート間結合グラフ1310から除去されたインタフェースエッジの数に対して示す相関結果のプロット1395が生成され得る。相関結果のプロット1395は、そのx軸として除去されたインタフェースエッジの数を、又はそのx軸として各インタフェースエッジ除去の確率を持ち得るとともに、そのy軸として相関結果値を持ち得る。この相関調べは、例えばBakerのガンマ相関1974アルゴリズムといった、様々なネットワーク又はグラフ理論的相関アルゴリズムを用いて実行され得る。
【0136】
プロットされた相関結果1395は、システムアーキテクチャのレジリエンス又はロバスト性の指標を提供し得る。プロットされた相関結果1395の一実施形態は、図16のレジリエンスプロファイルグラフ1600を含み得る。エッジ除去の確率p≧0.5(ロバスト性要因、高ダメージ確率又は広範攻撃)の場合のガンマ相関の中央値を、エッジ除去の確率p<0.5(脆弱性要因、低ダメージ確率又は狭小攻撃)の場合に計算された同じ量と比較することによって、全体的なロバスト性の指標を決定し得る。ロバスト性の指標は、インタフェースエッジの50%以上が除去されるときの中央ガンマ相関値として決定されることができ、脆弱性の指標は、インタフェースエッジの50%未満が除去されるときの中央ガンマ相関値を1から差し引いたものとして決定されることができる。システムアーキテクチャは、僅かなエッジが除去された後にプロットされた相関値に統計的に有意な低下がある場合に脆弱であると見なされ得る。一方、比較的ロバストなシステムアーキテクチャにおいては、プロットされた相関値は、インタフェースエッジの大部分が除去されるまで有意に低下しないはずである。例えば、統計的有意性は、エッジの除去後の機能が、エッジの除去なしでの最高レベルの機能の或る閾値パーセンテージよりも低い値まで低下することによって例示される。様々な実施形態において、統計的有意性の閾値は75%とすることができ、これは、例えば図16のy軸に示されるように、0.75未満へのガンマの低下を表し得る。
【0137】
インタフェースエッジ除去ツール1320が、除去するインタフェースエッジのランダム選択を使用する場合、重み付きパート間結合グラフ1310から、比較のためのクラスタの相関調べ1390までのロバスト性の定量化プロセス全体が、インタフェースエッジ除去ツール1320にて異なるランダム選択を行って何回も(例えば、100回)繰り返され、また、相関結果のプロット1395は、相関結果を平均し、又は相関結果の中央値を見つけ、それらをエッジ除去の確率に対してプロットし得る。ランダムインタフェースエッジ除去と、エッジビットウィーンネスセントラリティ(例えば、システムアーキテクチャの設計におけるインタフェースエッジの相対的重要度)に基づく標的インタフェースエッジ除去と、の双方を用いて解析が行われる場合、除去されるインタフェースエッジのランダム選択による1つと、インタフェースに対する狙いを定めた攻撃による1つとの、2つのロバスト性指標が得られる。これらのロバスト性指標はどちらも、システムの機能低下に関係する。前者は、製造上のバラつき又は生産性によるランダム不具合に起因するものとすることができ、後者は、設計の脆弱性について完全な知識を持つ攻撃者によるインタフェースへの悪意ある攻撃に起因するものとすることができる。
【0138】
プロットされた相関結果1395及び/又は全体的なロバスト性の指標に基づいて、設計の決定を行い得る。除去されるインタフェースエッジを増加させた後の相関結果を示すシステムアーキテクチャのロバスト性のプロットは、システムアーキテクチャが元々のシステムアーキテクチャから有意に相関しないものとなる前に、どれだけ多くのダメージを受けたインタフェースにシステムアーキテクチャが耐えることができるかを例示する。設計が進展するにつれて、各設計反復を評価してロバスト性を定量化し、そして、得られた結果プロットを互いに比較し得る。よりロバストなシステムアーキテクチャは、あまりロバストでないシステムアーキテクチャよりも、除去されたインタフェースエッジが多くても高い相関のある結果を持つ傾向にある。ロバスト性の定量化はまた、その目的用の別個のモデルを開発することなく、機能低下の解析を提供し得る。
【0139】
図14は、一部の実施形態に従った、システムアーキテクチャのロバスト性を定量化するシステム1400を示すブロック図である。システム1400は、計算プロセッサ1402と、計算プロセッサ1402によって処理されるデータ構造を記憶し得るメモリ回路1404とを含み得る。メモリ回路1404はまた、実行されるときに図15の方法1500を実行するプログラムを格納し得る。システム1400の要素は、1つ以上の接続又はデータバス1426を介して互いに通信し得る。
【0140】
システム1400は、システムアーキテクチャを表す例えば図6Bの重み付きパート間結合グラフ610といった第1重み付きパート間結合グラフデータモデルの解析を、1つ以上の情報交換インタフェースが除去されていることを除いて第1重み付きパート間結合グラフデータモデルと等価な第2重み付きパート間結合グラフデータモデルの解析と比較することで、そのシステムアーキテクチャが、情報交換インタフェースを失うことによるダメージに対して、どれだけロバストであるかを決定し得る。重み付きパート間結合グラフは、データ構造内の複数の頂点、複数の重み付き合成エッジ、及び複数の重み付きインタフェースエッジを含むプロパティグラフデータモデルの実施形態とし得る。複数の重み付き合成エッジが、ある頂点タイプ内での有向合成及び有向分解を表し得るとともに、複数の重み付きインタフェースエッジが、頂点間の情報交換インタフェースを表し得る。
【0141】
データベース構文解析部(パーサ)1406が、システムアーキテクチャに関する関連特徴を含んだ、例えば図1のソースデータベース110などの1つ以上のソースデータベースにアクセスし得る。システムアーキテクチャに関する関連特徴は、システムアーキテクチャの設計、モデル化、シミュレーション、製造、処理、試験、性能、信頼性、欠陥、故障、コスト、及び評価に関連する情報を含み得る。ソースデータベースは、システムアーキテクチャに含まれるデバイス、コンポーネント、サブシステム、及びシステムの設計、モデル化、及びシミュレーションのための様々なハードウェア及び/又はソフトウェアツールについてのデータファイルを含み得る。ソースデータベースは、メモリ回路1404に格納されたデータ構造、例えば、図5を参照して説明した方法500に従って生成されたプロパティグラフデータモデルを含むデータ構造、又は図8を参照して説明した方法800に従って生成された重み付きパート間結合グラフデータモデルを含むデータ構造を含み得る。データベース構文解析部1406は、例えばFPGA若しくはASICなどの特殊目的のプロセッサといった、恒久的に構成される専用の回路若しくはロジック、又は、例えばメモリ回路1404に格納された命令に従って処理を実行する計算プロセッサ1402といった、プログラム可能なロジック又は回路を含み得る。
【0142】
第1情報抽出部1408が、システムアーキテクチャの第1設計次元の複数の第1インスタンスに関連する情報を、1つ以上のソースデータベースから抽出し得る。第1情報抽出部1408は、図4の第1情報抽出部408、図7の第1情報抽出部708、若しくは図11の第1情報抽出部1108の実施形態を含み、又は図1のフォーマット変換部120の実施形態に含まれ得る。第1設計次元は、システムアーキテクチャのパート階層とし得る。複数の第1インスタンスは、システムアーキテクチャの複数のパートとし得る。それらのパートの一部が、それらのパートのうちの他のものを統合したものであってもよく、故に、それらのパートのうちの他のものを統合したものであるパートは、それらのパートのうち上記他のものよりも、パートの階層の高いレベルにあり得る。パート階層の例は、グラフスキーマ200のパート210、及び図3のパートA、A.1、A.2、A.3、A.1.1、A.1.2、A.2.1、A.2.2、A.3.1、及びA.3.2によって表され得る。例えば、回路カードパートは、複数の集積回路パートと、複数の集積回路パートが上に実装されるプリント回路基板とを統合したものとすることができ、故に、回路カードパートは、複数の集積回路パート、及び複数の集積回路パートが上に実装される回路基板パートよりも、パート階層の高いレベルにあるとし得る。第1情報抽出部1408は、例えばFPGA若しくはASICなどの特殊目的のプロセッサといった、恒久的に構成される専用の回路若しくはロジック、又は、例えばメモリ回路1404に格納された命令に従って処理を実行する計算プロセッサ1402といった、プログラム可能なロジック又は回路を含み得る。
【0143】
第2情報抽出部1410が、システムアーキテクチャの第2設計次元の複数の第2インスタンスに関連する情報を、1つ以上のソースデータベースから抽出し得る。第2設計次元は、システムアーキテクチャの複数のパート間のインタフェース階層とし得る。第2情報抽出部1410は、図4の第2情報抽出部414、図7の第2情報抽出部716、若しくは図11の第1情報抽出部1108の実施形態を含み、又は図1のフォーマット変換部120の実施形態に含まれ得る。インタフェース階層は、システムアーキテクチャの複数のパート間の複数のインタフェースを含み得る。それらのインタフェースの一部が、それらのインタフェースのうちの他のものを統合したものであってもよく、故に、それらのインタフェースのうちの他のものを統合したものであるインタフェースは、それらのインタフェースのうち上記他のものよりも、インタフェースの階層の高いレベルにあり得る。インタフェースの階層の例は、グラフスキーマ200のインタフェース220、及び図3のインタフェースZ、Z.1、Z.2、及びXによって表され得る。例えば、ワイヤハーネスは、複数の個々のワイヤを統合したものとすることができ、各個々のワイヤは、例えばイーサネット(登録商標)接続といった複数の通信プロトコル接続を統合したものとすることができ、故に、ワイヤハーネスは、複数のワイヤよりもインタフェース階層の高いレベルにあり、各ワイヤは、例えばイーサネット(登録商標)接続といった複数の通信プロトコル接続よりもインタフェース階層の高いレベルにあるとし得る。第2情報抽出部1410は、例えばFPGA若しくはASICなどの特殊目的のプロセッサといった、恒久的に構成される専用の回路若しくはロジック、又は、例えばメモリ回路1404に格納された命令に従って処理を実行する計算プロセッサ1402といった、プログラム可能なロジック又は回路を含み得る。
【0144】
第1データ構造生成部1412が、第1重み付きプロパティグラフデータモデルを表す第1データ構造を生成し得る。第1重み付きプロパティグラフデータモデルは、図13の重み付きパート間結合グラフ1310又は図6Bを参照して説明した重み付きパート間結合グラフデータモデル610の一実施形態とし得る。第1データ構造は、図8を参照して説明した方法800の一実施形態に従って生成され得る。第1データ構造は、複数の第1頂点を含み得る。第1頂点の各々が、複数の第1インスタンスのうちの1つの第1インスタンスを表し得る。第1データ構造はまた、複数の第1重み付き合成エッジを含み得る。複数の第1重み付き合成エッジの各々が、複数の第1頂点のうち異なる対の第1頂点を接続し、複数の第1インスタンスのうちの1つの第1インスタンスの、複数の第1インスタンスのうちの別の第1インスタンスに対する、階層的な有向合成又は有向分解を表し得る。複数の第1重み付き合成エッジの各々はまた、重み値を割り当てられ得る。第1データ構造は、複数の第1重み付きインタフェースエッジを含み得る。複数の第1重み付きインタフェースエッジの各々が、複数の第1頂点のうち異なる対の第1頂点を接続し、複数の第2インスタンスのうちの1つ以上の第2インスタンスに従った、複数の第1インスタンスのうちの対応する対の第1インスタンス間の情報交換インタフェースを表し得る。複数の第1重み付き合成エッジの各々及び複数の第1重み付きインタフェースエッジの各々は、重み値を割り当てられ得る。第1データ構造生成部1412は、例えばFPGA若しくはASICなどの特殊目的のプロセッサといった、恒久的に構成される専用の回路若しくはロジック、又は、例えばメモリ回路1404に格納された命令に従って処理を実行する計算プロセッサ1402といった、プログラム可能なロジック又は回路を含み得る。
【0145】
第2データ構造生成部1414が、第2重み付きプロパティグラフデータモデルを表す第2データ構造を生成し得る。第2データ構造は、第1重み付きインタフェースエッジのうちの1つ以上を含んでいないことを除いて、第1データ構造と等価とし得る。第2データ構造は、図13の重み付きパート間結合サブグラフ1330の一実施形態とし得る。第2データ構造生成部1414は、図13のインタフェースをエッジ除去1320の一実施形態とし得る。第2重み付きプロパティグラフデータモデルは、図6Bを参照して説明した重み付きパート間結合グラフデータモデル610の一実施形態とし得る。第2データ構造は、第1データ構造のコピーを生成し、そして、第1データ構造のコピーから1つ以上の重み付きインタフェースエッジを削除又は除去することによって、第2データ構造を生成し得る。該1つ以上の重み付きインタフェースエッジは、第1データ構造のコピーを作成するときに無視され、それ故に、それらが第1データ構造のコピー内に作成されることはない。第2データ構造は、1つ以上の第1重み付きインタフェースエッジを生成しないことを除いて、第1データ構造生成部1412を参照して説明した第1データ構造と同様のやり方で生成され得る。
【0146】
一実施形態において、第2データ構造を生成することは、複数の第2データ構造を生成することを含み、複数の第2データ構造の各々が、異なる数の重み付きインタフェースエッジを、第1データ構造と比較して除去される。従って、複数の第2データ構造の各々は、第1データ構造の異なる一バージョンとし得る。最大で第1データ構造内の複数の重み付きインタフェースエッジの数までの、多数の第2データ構造が存在し得る。複数の第2データ構造の最初のものから最後のものまで、更なるインタフェースが、エッジビットウィーンネスセントラリティの所与の変位値サンプルステップサイズに従って、変位値が減少していく順序で、第1のデータ構造に対して除去されることで、各変位値サンプルについて1つを含む、増加していく数の除去済みインタフェースエッジを有した複数バージョンの第1データ構造をもたらし得る。例えば、変位値順序が、エッジビットウィーンネスセントラリティの、0.1と0.25との間の変位値サンプルステップサイズで、1.0から0.0へと減少され得る。得られる複数の第2データ構造は、各変位値サンプルについて1つを含む、増加していく数の除去済みインタフェースエッジを有した第1データ構造のバージョンである。第2データ構造生成部1414は、例えばFPGA若しくはASICなどの特殊目的のプロセッサといった、恒久的に構成される専用の回路若しくはロジック、又は、例えばメモリ回路1404に格納された命令に従って処理を実行する計算プロセッサ1402といった、プログラム可能なロジック又は回路を含み得る。
【0147】
第1クラスタ生成部1416が、第1データ構造の第1エッジビットウィーンネス階層クラスタデンドログラムを生成し得る。第1クラスタ生成部1416は、図11の第1クラスタ生成部1116の一実施形態とし得る。第1クラスタ生成部1416は、図13のクラスタリング1370の一実施形態を実行することができ、第1エッジビットウィーンネス階層クラスタデンドログラムは、図13のベースライン階層クラスタデンドログラム1380の一実施形態とし得る。第1エッジビットウィーンネス階層クラスタデンドログラムは、第1データ構造上でNewman&Girvan2004エッジビットウィーンネス計算を実行することによって生成され得る。第1クラスタ生成部1416は、例えばFPGA若しくはASICなどの特殊目的のプロセッサといった、恒久的に構成される専用の回路若しくはロジック、又は、例えばメモリ回路1404に格納された命令に従って処理を実行する計算プロセッサ1402といった、プログラム可能なロジック又は回路を含み得る。
【0148】
第2クラスタ生成部1418が、第2データ構造の第2エッジビットウィーンネス階層クラスタデンドログラムを生成し得る。第2クラスタ生成部1418は、図11の第2クラスタ生成部1118の一実施形態とし得る。第2クラスタ生成部1418は、図13のクラスタリング1340の一実施形態を実行することができ、第2エッジビットウィーンネス階層クラスタデンドログラムは、図13の階層クラスタデンドログラム1350の一実施形態とし得る。第2エッジビットウィーンネス階層クラスタデンドログラムは、第2データ構造上でNewman&Girvan2004エッジビットウィーンネス計算を実行することによって生成され得る。複数の第2エッジビットウィーンネス階層クラスタデンドログラムが生成され、それら複数の第2エッジビットウィーンネス階層クラスタデンドログラムの各々が、第2データ構造生成部1414によって生成された複数の第2データ構造のうちの対応する1つのものである。第2クラスタ生成部1418は、例えばFPGA若しくはASICなどの特殊目的のプロセッサといった、恒久的に構成される専用の回路若しくはロジック、又は、例えばメモリ回路1404に格納された命令に従って処理を実行する計算プロセッサ1402といった、プログラム可能なロジック又は回路を含み得る。
【0149】
相関計算部1420が、第1エッジビットウィーンネス階層クラスタデンドログラムと、第2エッジビットウィーンネス階層クラスタデンドログラムとの間の相関を計算し得る。相関計算部1420は、図13の比較のためのクラスタの相関調べ1390の一実施形態を実行し得る。相関は、第1エッジビットウィーンネス階層クラスタデンドログラムと、第2エッジビットウィーンネス階層クラスタデンドログラムとについて、Bakerのガンマ相関1974計算を実行することによって計算され得る。第1エッジビットウィーンネス階層クラスタデンドログラムと複数の第2エッジビットウィーンネス階層クラスタデンドログラムとの間で、複数の相関が計算され得る。相関計算部1420は、例えばFPGA若しくはASICなどの特殊目的のプロセッサといった、恒久的に構成される専用の回路若しくはロジック、又は、例えばメモリ回路1404に格納された命令に従って処理を実行する計算プロセッサ1402といった、プログラム可能なロジック又は回路を含み得る。
【0150】
相関プロット部1422が、複数の第2データ構造の各々に対応する複数の相関を、除去された重み付きインタフェースエッジの数に従って、共通プロット上にプロットし得る。相関プロット部1422は、例えば図16のレジリエンスプロファイルグラフ1600の一実施形態といった、図13の相関結果のプロット1395の一実施形態を生成し得る。複数の相関のプロットは、システムアーキテクチャのレジリエンスプロファイルを表し得る。相関プロット部1422は、例えばFPGA若しくはASICなどの特殊目的のプロセッサといった、恒久的に構成される専用の回路若しくはロジック、又は、例えばメモリ回路1404に格納された命令に従って処理を実行する計算プロセッサ1402といった、プログラム可能なロジック又は回路を含み得る。
【0151】
ロバスト性メトリック計算部1424が、複数の第2データ構造の各々に関する複数の相関に従って、1つ以上のソースデータベースによって表されるシステムアーキテクチャの広範攻撃及び狭小攻撃に対するロバスト性を計算し得る。狭小攻撃に対するロバスト性は、エッジビットウィーンネス変位値<0.5を有する複数の第2データ構造についての、第1エッジビットウィーンネス階層クラスタデンドログラムと第2エッジビットウィーンネス階層クラスタデンドログラムとの間の中央相関値によって計算され得る。広範攻撃に対するロバスト性は、各除去エッジが例えば≧0.5といった閾値よりも大きいエッジビットウィーンネスセントラリティ変位値を持つ複数の第2データ構造についての、第1エッジビットウィーンネス階層クラスタデンドログラムと第2エッジビットウィーンネス階層クラスタデンドログラムとの間の中央相関値によって計算され得る。ロバスト性メトリック計算部1424は、例えばFPGA若しくはASICなどの特殊目的のプロセッサといった、恒久的に構成される専用の回路若しくはロジック、又は、例えばメモリ回路1404に格納された命令に従って処理を実行する計算プロセッサ1402といった、プログラム可能なロジック又は回路を含み得る。
【0152】
図15は、一部の実施形態に従った、システムアーキテクチャのロバスト性を定量化する方法1500を示すブロック図である。方法1500は、図14のシステム1400によって実行され得る。方法1500は、システムアーキテクチャを表す第1重み付きパート間結合グラフデータモデルの解析を、1つ以上の情報交換インタフェースが除去されていることを除いて第1重み付きパート間結合グラフデータモデルと等価な第2重み付きパート間結合グラフデータモデルの解析と比較することで、そのシステムアーキテクチャが、情報交換インタフェース喪失をもたらすダメージに対して、どれだけロバストであるかを決定し得る。重み付きパート間結合グラフは、データ構造内の複数の頂点、複数の重み付き合成エッジ、及び複数の重み付きインタフェースエッジを含むプロパティグラフデータモデルの実施形態とし得る。図6Bが、例示的な重み付きパート間結合グラフ610を示している。複数の重み付き合成エッジが、ある頂点タイプ内での有向合成及び有向分解を表し得るとともに、複数の重み付きインタフェースエッジが、頂点間の情報交換インタフェース又は他のインタフェースを表し得る。データ構造は、例えば計算プロセッサ1402といった計算プロセッサを有するコンピュータシステムの例えばメモリ回路1404といったメモリ回路に格納されることができ、方法1500は、その計算プロセッサによって実行されることができる。
【0153】
処理1502にて、システムアーキテクチャに関する関連特徴を含んだ、例えば図1のソースデータベース110などの1つ以上のソースデータベースから情報が抽出され得る。システムアーキテクチャに関する関連特徴は、システムアーキテクチャの設計、モデル化、シミュレーション、製造、処理、試験、性能、信頼性、欠陥、故障、コスト、及び評価に関連する情報を含み得る。処理1502は、図14のデータベース構文解析部1406、図14の第1情報抽出部1408、図14の第2情報抽出部1410、及び/又は図1のフォーマット変換部120の実施形態によって実行され得る。ソースデータベースは、システムアーキテクチャに含まれるデバイス、コンポーネント、サブシステム、及びシステムの設計、モデル化、及びシミュレーションのための様々なハードウェア及び/又はソフトウェアツールについてのデータファイルを含み得る。ソースデータベースは、コンピュータシステムのメモリ回路に格納されたデータ構造、例えば、図5を参照して説明した方法500に従って生成されたプロパティグラフデータモデルを含むデータ構造、又は図8を参照して説明した方法800に従って生成された重み付きパート間結合グラフデータモデルを含むデータ構造を含み得る。
【0154】
抽出される情報は、システムアーキテクチャの第1設計次元の複数の第1インスタンス、及びシステムアーキテクチャの第2設計次元の複数の第2インスタンスに関連し得る。第1設計次元は、システムアーキテクチャのパート階層とし得る。複数の第1インスタンスは、システムアーキテクチャの複数のパートとし得る。それらのパートの一部が、それらのパートのうちの他のものを統合したものであってもよく、故に、それらのパートのうちの他のものを統合したものであるパートは、それらのパートのうち上記他のものよりも、パートの階層の高いレベルにあり得る。パート階層の例は、グラフスキーマ200のパート210、及び図3のパートA、A.1、A.2、A.3、A.1.1、A.1.2、A.2.1、A.2.2、A.3.1、及びA.3.2によって表され得る。例えば、回路カードパートは、複数の集積回路パートと、複数の集積回路パートが上に実装されるプリント回路基板とを統合したものとすることができ、故に、回路カードパートは、複数の集積回路パート、及び複数の集積回路パートが上に実装される回路基板パートよりも、パート階層の高いレベルにあるとし得る。第2設計次元は、システムアーキテクチャの複数のパート間のインタフェース階層とし得る。複数の第2インスタンスは、システムアーキテクチャの複数のパート間の複数のインタフェースとし得る。それらのインタフェースの一部が、それらのインタフェースのうちの他のものを統合したものであってもよく、故に、それらのインタフェースのうちの他のものを統合したものであるインタフェースは、それらのインタフェースのうち上記他のものよりも、インタフェースの階層の高いレベルにあり得る。インタフェースの階層の例は、グラフスキーマ200のインタフェース220、及び図3のインタフェースZ、Z.1、Z.2、及びXによって表され得る。例えば、ワイヤハーネスは、複数の個々のワイヤを統合したものとすることができ、各個々のワイヤは、例えばイーサネット(登録商標)接続といった複数の通信プロトコル接続を統合したものとすることができ、故に、ワイヤハーネスは、複数のワイヤよりもインタフェース階層の高いレベルにあり、各ワイヤは、例えばイーサネット(登録商標)接続といった複数の通信プロトコル接続よりもインタフェース階層の高いレベルにあるとし得る。
【0155】
処理1504にて、第1重み付きプロパティグラフデータモデルを表す第1データ構造が生成され得る。第1重み付きプロパティグラフデータモデルは、図13の重み付きパート間結合グラフ1310又は図6Bを参照して説明した重み付きパート間結合グラフデータモデル610の一実施形態とし得る。処理1504は、図14の第1データ構造生成部1412の一実施形態によって実行され得る。第1データ構造は、図8を参照して説明した方法800の一実施形態に従って生成され得る。第1データ構造は、複数の第1インスタンスを表す複数の第1頂点と、複数の第1頂点のうち異なる対の第1頂点を接続し、複数の第1インスタンスの階層的な有向合成又は有向分解を表す複数の第1重み付き合成エッジと、複数の第1頂点のうち異なる対の第1頂点を接続し、複数の第2インスタンスのうちの1つ以上の第2インスタンスに従った複数の第1インスタンス間の情報交換インタフェースを表す複数の第1重み付きインタフェースエッジとを含み得る。複数の第1重み付き合成エッジは、システムアーキテクチャのパート階層のパートの物理的統合を表し得る。複数の第1重み付きインタフェースエッジは、システムアーキテクチャのパート階層のパート対(ペア)間の論理情報交換インタフェースを表し得る。複数の第1重み付き合成エッジの各々及び複数の第1重み付きインタフェースエッジの各々が、重み値を割り当てられ得る。
【0156】
処理1506にて、第2重み付きプロパティグラフデータモデルを表す第2データ構造が生成され得る。第2データ構造は、第1重み付きインタフェースエッジのうちの1つ以上を含んでいないことを除いて、第1データ構造と等価とし得る。第2データ構造は、図13の重み付きパート間結合サブグラフ1330の一実施形態とすることができ、図13のインタフェースをエッジ除去1320の一実施形態を用いて生成されることができる。処理1506は、図14の第2データ構造生成部1414の一実施形態によって実行され得る。第2重み付きプロパティグラフデータモデルは、図6Bを参照して説明した重み付きパート間結合グラフデータモデル610の一実施形態とし得る。第2データ構造は、第1データ構造のコピーを生成し、そして、第1データ構造のコピーから1つ以上の重み付きインタフェースエッジを削除又は除去することによって、第2データ構造を生成し得る。該1つ以上の重み付きインタフェースエッジは、第1データ構造のコピーを作成するときに無視され、それ故に、それらが第1データ構造のコピー内に作成されることはない。第2データ構造は、1つ以上の第1重み付きインタフェースエッジを生成しないことを除いて、処理1504を参照して説明した第1データ構造と同様のやり方で生成され得る。
【0157】
一実施形態において、第2データ構造を生成することは、複数の第2データ構造を生成することを含み、複数の第2データ構造の各々が、異なる数の重み付きインタフェースエッジを、第1データ構造と比較して除去される。従って、複数の第2データ構造の各々は、第1データ構造の異なる一バージョンとし得る。最大で第1データ構造内の複数の重み付きインタフェースエッジの数までの、多数の第2データ構造が存在し得る。複数の第2データ構造の最初のものから最後のものまで、更なるインタフェースが、エッジビットウィーンネスセントラリティの所与の変位値サンプルステップサイズに従って、変位値が減少していく順序で、第1のデータ構造に対して除去されることで、各変位値サンプルについて1つを含む、増加していく数の除去済みインタフェースエッジを有した複数バージョンの第1データ構造をもたらし得る。例えば、変位値順序が、エッジビットウィーンネスセントラリティの、0.1と0.25との間の変位値サンプルステップサイズで、1.0から0.0へと減少され得る。得られる複数の第2データ構造は、各変位値サンプルについて1つを含む、増加していく数の除去済みインタフェースエッジを有した第1データ構造のバージョンである。
【0158】
処理1508にて、第1データ構造の第1エッジビットウィーンネス階層クラスタデンドログラムが生成され得る。処理1508は、図13のクラスタリング1370を実行することの一実施形態とすることができ、第1エッジビットウィーンネス階層クラスタデンドログラムは、図13のベースライン階層クラスタデンドログラム1380の一実施形態とし得る。処理1508は、図14の第1クラスタ生成部1416の一実施形態によって実行され得る。第1エッジビットウィーンネス階層クラスタデンドログラムは、第1データ構造上でNewman&Girvan2004エッジビットウィーンネス計算を実行することによって生成され得る。
【0159】
処理1510にて、第2データ構造の第2エッジビットウィーンネス階層クラスタデンドログラムが生成され得る。処理1510は、図13のクラスタリング1340を実行することの一実施形態とすることができ、第2エッジビットウィーンネス階層クラスタデンドログラムは、図13の階層クラスタデンドログラム1350の一実施形態とし得る。処理1510は、図14の第2クラスタ生成部1418の一実施形態によって実行され得る。第2エッジビットウィーンネス階層クラスタデンドログラムは、第1データ構造上でNewman&Girvan2004エッジビットウィーンネス計算を実行することによって生成され得る。複数の第2エッジビットウィーンネス階層クラスタデンドログラムが生成され、それら複数の第2エッジビットウィーンネス階層クラスタデンドログラムの各々が、処理1506で生成された複数の第2データ構造のうちの対応する1つのものである。
【0160】
処理1512にて、第1エッジビットウィーンネス階層クラスタデンドログラムと、第2エッジビットウィーンネス階層クラスタデンドログラムとの間の相関が計算され得る。処理1512は、図13の比較のためのクラスタの相関調べ1390を実行することの一実施形態とし得る。処理1512は、図14の相関計算部1420の一実施形態によって実行され得る。相関は、第1エッジビットウィーンネス階層クラスタデンドログラムと、第2エッジビットウィーンネス階層クラスタデンドログラムとについて、Bakerのガンマ相関1974計算を実行することによって計算され得る。第1エッジビットウィーンネス階層クラスタデンドログラムと複数の第2エッジビットウィーンネス階層クラスタデンドログラムとの間で、複数の相関が計算され得る。
【0161】
処理1514にて、狭小攻撃に対するロバスト性が、エッジビットウィーンネス変位値<0.5を有する複数の第2データ構造についての、第1エッジビットウィーンネス階層クラスタデンドログラムと第2エッジビットウィーンネス階層クラスタデンドログラムとの間の中央相関値によって計算され得る。
【0162】
処理1516にて、広範攻撃に対するロバスト性が、各除去エッジが例えば≧0.5といった閾値よりも大きいエッジビットウィーンネスセントラリティ変位値を持つ複数の第2データ構造についての、第1エッジビットウィーンネス階層クラスタデンドログラムと第2エッジビットウィーンネス階層クラスタデンドログラムとの間の中央相関値によって計算され得る。
【0163】
処理1518にて、除去された重み付きインタフェースエッジの数に従った、複数の第2データ構造の各々に対応する複数の相関のプロットが出力され得る。処理1518は、相関プロット部1422の一実施形態によって実行され得る。複数の相関のプロットは、システムアーキテクチャのレジリエンスプロファイルを表し得る。処理1518は、図16のレジリエンスプロファイルグラフ1600の一実施形態を生み出し得る。
【0164】
図16は、一部の実施形態に従った、システムアーキテクチャ設計の数個の異なる反復でのレジリエンスプロファイル1600、1610を示すレジリエンスプロファイルグラフ1600である。レジリエンスプロファイルグラフ1600は、図15を参照して説明した方法1500の処理1518によって生成され得る。レジリエンスプロファイル1610は、ロバストであるシステムアーキテクチャ設計反復を表し得るものであり、そのことが、狙いを定めた攻撃の幅の50%に到達した後まで、保持される機能が有意に低下していないことによって指し示されている。対照的に、レジリエンスプロファイル1620は、脆弱であるシステムアーキテクチャ設計反復を表し得るものであり、そのことが、狙いを定めた攻撃の幅の50%に到達する前に、保持される機能が有意に低下していることによって指し示されている。図示されるように、レジリエンスプロファイル1620に対応するシステムアーキテクチャ設計反復の保持される機能は、狙いを定めた攻撃の幅の約10%に到達後に有意に低下する。
【0165】
モジュール、コンポーネント、及びロジック
特定の実施形態が、ロジック、又は多数のコンポーネント、モジュール、若しくは機構を含むものとしてここに記載される。モジュールは、ソフトウェアモジュール(例えば、(1)非一時的な機械読み取り可能媒体上に具現化されるコード、又は(2)伝送信号にて具現化されるコード)、又はハードウェア実装モジュールのいずれかを構成してもよい。ハードウェア実装モジュールは、特定の処理を実行することができる有形ユニットであり、特定の方法で設定又は構成され得る。実施形態例において、1つ以上のコンピュータシステム(例えば、スタンドアロン、クライアント又はサーバコンピュータシステム)又は1つ以上のプロセッサが、ここに記載される特定の処理を実行するように動作するハードウェア実装モジュールとして、ソフトウェア(例えば、アプリケーション又はアプリケーション部分)によって構成されてもよい。
【0166】
様々な実施形態において、ハードウェア実装モジュールは、機械的又は電子的に実装され得る。例えば、ハードウェア実装モジュールは、特定の処理を実行するように(例えば、FPGA又はASICなどの特殊目的のプロセッサとして)恒久的に構成される専用の回路又はロジックを有し得る。ハードウェア実装モジュールはまた、特定の処理を実行するようにソフトウェアによって一時的に構成されるプログラム可能なロジック又は回路(例えば、汎用プロセッサ又は他のプログラマブルプロセッサ内に含められる)を有していてもよい。理解されることには、ハードウェア実装モジュールを機械的に実装することを、専用の恒久的に構成される回路にて、又は一時的に構成される回路(例えば、ソフトウェアによって構成される)にて、のいずれとするかの決定は、コスト及び時間の考慮によって駆り立てられる。
【0167】
従って、用語“ハードウェア実装モジュール”は、特定の手法にて動作する及び/又はここに記載される特定の処理を実行するように動作するよう、物理的に構築され、恒久的に構成され(例えば、ハードワイヤードされ)、又は一時的若しくは過渡的に構成される(例えば、プログラムされる)エンティティである有形エンティティを包含するように理解されるべきである。ハードウェア実装モジュールが一時的に構成される(例えば、プログラムされる)実施形態を考えると、ハードウェア実装モジュールの各々が、時間においていずれか1つのインスタンスにて構成又はインスタンス化される必要はない。例えば、ハードウェア実装モジュールが、ソフトウェアを用いて構成される汎用プロセッサを有する場合、その汎用プロセッサが、異なる時間にそれぞれ異なるハードウェア実装モジュールとして構成されてもよい。従って、ソフトウェアが、例えば、時間の1つのインスタンスでは特定のハードウェア実装モジュールを構成し、時間の異なるインスタンスでは異なるハードウェア実装モジュールを構成するように、プロセッサを構成してもよい。
【0168】
ハードウェア実装モジュールは、他のハードウェア実装モジュールに情報を提供するとともに、他のハードウェア実装モジュールから情報を受信し得る。従って、記載されるハードウェア実装モジュールは、通信的に結合されていると見なされ得る。複数のこのようなハードウェア実装モジュールが同時に存在する場合、それらのハードウェア実装モジュールを接続する信号伝送(例えば、適切な回路及びバス上)を通じて通信が達成され得る。複数のハードウェア実装モジュールが異なる時間に構成又はインスタンス化される実施形態では、そのようなハードウェア実装モジュール間での通信が、例えば、それら複数のハードウェア実装モジュールがアクセスを有するメモリ構造における情報の記憶及び取り出しを介して達成され得る。例えば、1つのハードウェア実装モジュールが、処理を実行し、その処理の出力を、該ハードウェア実装モジュールが通信的に結合されているメモリデバイスに保管し得る。そして、更なるハードウェア実装モジュールが、後の時点で、そのメモリデバイスにアクセスして、保管された出力を取り出して処理し得る。ハードウェア実装モジュールはまた、入力装置又は出力装置との通信を開始し得るとともに、リソース(例えば、情報の集合)上で動作し得る。
【0169】
ここに記載される方法例の様々な処理は、少なくとも部分的に、又は該当する処理を実行するように一時的に(例えば、ソフトウェアによって)構成される又は恒久的に構成される1つ以上のプロセッサによって実行され得る。一時的に構成されようと、恒久的に構成されようと、そのようなプロセッサは、1つ以上の処理又は機能を実行するように動作するプロセッサ実装モジュールを構成し得る。ここで言及されるモジュールは、一部の実施形態例において、プロセッサ実装モジュールを有し得る。
【0170】
同様に、ここに記載される方法は、少なくとも部分的にプロセッサ実装されてもよい。例えば、方法の処理のうちの少なくとも一部が、1つ以上のプロセッサ又はプロセッサ実装モジュールによって実行され得る。特定の処理の実行が、1つ以上のプロセッサの間で分散されてもよく、それらのプロセッサは、単一のマシン内に存在するものだけでなく、多数のマシンにわたって展開されるものであってもよい。一部の実施形態例では、1つ以上のプロセッサが単一の場所(例えば、家庭環境内、オフィス環境内、又はサーバファームとして)に置かれてもよく、他の実施形態では、複数のプロセッサが複数の場所に分散されてもよい。
【0171】
1つ以上のプロセッサはまた、“クラウドコンピューティング”環境内で、又は“サービスとしてのソフトウェア”(SaaS)として、該当する処理の実行を支援するように動作してもよい。例えば、処理のうち少なくとも一部が、一群のコンピュータ(複数のプロセッサを含むマシンの例として)によって実行されてもよく、それらの処理は、ネットワーク(例えば、インターネット(登録商標))を介して及び1つ以上の適切なインタフェース(例えば、アプリケーションプログラムインタフェース(API))を介してアクセス可能である。
【0172】
電子機器及びシステム
実施形態例は、デジタル電子回路にて実装されてもよいし、コンピュータハードウェア、ファームウェア、ソフトウェアにて実装されてもよいし、これらの組み合わせにて実装されてもよい。実施形態例は、例えばプログラマブルプロセッサ、コンピュータ、若しくは複数のコンピュータといった、データ処理装置による実行のために、又は該データ処理装置の動作を制御するために、例えば機械読み取り可能媒体といった情報キャリアにて有形に具現化されたコンピュータプログラムなどの、コンピュータプログラムプロダクトを用いて実施されてもよい。
【0173】
コンピュータプログラムは、コンパイラ型言語又はインタープリタ型言語を含め、如何なる形式のプログラミング言語で記述されてもよく、また、独立型プログラムとして、又は、コンピューティング環境での使用に適したモジュール、サブルーチン、若しくは他のユニットを含め、如何なる形態で展開されてもよい。コンピュータプログラムは、1つのサイトの1つのコンピュータ上若しくは複数のコンピュータ上で実行されるように、あるいは、複数のサイトにまたがって分散されて通信ネットワークによって相互接続されるように展開され得る。
【0174】
実施形態例において、処理は、入力データについて処理を行って出力を生成することによって機能を実行するよう、コンピュータプログラムを実行する1つ以上のプログラマブルプロセッサによって実行されてもよい。方法処理はまた、例えばFPGA又はASICなどの特殊目的のロジック回路によって実行されてもよく、また、実施形態例の装置が、特殊目的のロジック回路として実装されてもよい。
【0175】
コンピューティングシステムは、クライアント及びサーバを含み得る。クライアント及びサーバは、一般に互いから遠隔にあり、典型的に通信ネットワークを介してインタラクトする。クライアント及びサーバの関係は、互いにクライアント-サーバの関係を持つコンピュータプログラムがそれぞれのコンピュータ上で走ることによって生じる。プログラム可能なコンピューティングシステムを配備する実施形態において、理解されることには、ハードウェア及びソフトウェアの双方のアーキテクチャが検討を要する。具体的には、特定の機能を、恒久的に構成されるハードウェア(例えば、ASIC)にて実装するのか、一時的に構成されるハードウェア(例えば、ソフトウェアとプログラマブルプロセッサとの組み合わせ)にて実装するのか、それとも、恒久的構成及び一時的構成の組み合わせのハードウェアにて実装するのかの選択は、設計上の選択であり得ることが理解されよう。
【0176】
特定の実施形態例を参照して実施形態を説明してきたが、明らかになることには、これらの実施形態には、本発明のより広い精神及び範囲から逸脱することなく、様々な変更及び変形が為され得る。従って、明細書及び図面は、限定的な意味ではなく例示的な意味で参酌されるべきである。本明細書の一部を形成する添付の図面は、限定ではなく例示として、主題が実施され得る特定の実施形態を示している。例示された実施形態は、ここに開示された教示を当業者が実施することができるように十分詳細に記載されている。これらから、本開示の範囲から逸脱することなく構造的及び論理的な置換及び変形が為され得るように、他の実施形態が利用され得るとともに導き出され得る。故に、この詳細な説明は限定的な意味で解されるべきでなく、様々な実施形態の範囲は、請求項によって、それら請求項に付与される均等の範囲全体と共に定められる。
図1
図2
図3
図4
図5
図6A
図6B
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16