(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-01-16
(45)【発行日】2025-01-24
(54)【発明の名称】インデックスにおいて仮想オブジェクトのキーインジケーターをコンソリデーションするための方法
(51)【国際特許分類】
G06F 30/15 20200101AFI20250117BHJP
G06F 30/10 20200101ALI20250117BHJP
G06F 16/903 20190101ALI20250117BHJP
【FI】
G06F30/15
G06F30/10 200
G06F16/903
【外国語出願】
(21)【出願番号】P 2020188779
(22)【出願日】2020-11-12
【審査請求日】2023-09-08
(32)【優先日】2019-11-19
(33)【優先権主張国・地域又は機関】EP
(73)【特許権者】
【識別番号】500102435
【氏名又は名称】ダッソー システムズ
【氏名又は名称原語表記】DASSAULT SYSTEMES
(74)【代理人】
【識別番号】110001243
【氏名又は名称】弁理士法人谷・阿部特許事務所
(72)【発明者】
【氏名】アレクサンドル ラロイ
【審査官】松浦 功
(56)【参考文献】
【文献】特開2013-214244(JP,A)
【文献】特開2003-196323(JP,A)
【文献】特開2001-331535(JP,A)
【文献】特開2000-113007(JP,A)
【文献】特開2009-181248(JP,A)
【文献】特開平06-250896(JP,A)
【文献】特開平01-116766(JP,A)
【文献】米国特許出願公開第2005/0165733(US,A1)
【文献】米国特許出願公開第2010/0249978(US,A1)
【文献】米国特許出願公開第2007/0106409(US,A1)
【文献】米国特許第06477518(US,B1)
【文献】米国特許第09521052(US,B1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 30/00 -30/398
G06F 16/00 -16/958
(57)【特許請求の範囲】
【請求項1】
仮想オブジェクトの少なくとも1つのキーのインジケーターをコンソリデーションするためのコンピューターに実装される方法であって、前記仮想オブジェクトの予め定義された構成に対して、
a)前記仮想オブジェクトの少なくとも1つのキーのインジケーターのディスクリプションを受信するステップと、
b)前記仮想オブジェクトの属性のセットを受信するステップと、
c)前記仮想オブジェクトに関するインデクセーションのためのデータモデルを受信するステップと、
d)前記仮想オブジェクトの前記属性を前記インデクセーションのためのデータモデルにコンバートするルールセットを受信するステップと、
e)前記ルールセットを適用して前記属性を前記インデクセーションのためのデータモデルにコンバートするステップと、
f)前記インデクセーションのためのデータモデルを有向非巡回グラフに変換するステップと、
g)前記有向非巡回グラフの展開に基づいて
前記有向非巡回グラフの属性をロールアップして、前記キーのインジケーターをコンソリデーションするステップと
を備えることを特徴とする方法。
【請求項2】
前記データモデルにおいて、前記仮想オブジェクトは、
-少なくとも1つのアグリゲートフィーチャーであって、前記アグリゲートフィーチャーは、部品表に従
う前記仮想オブジェクトの
組み立てを表す、アグリゲートフィーチャー、および/または
-少なくとも1つのファセットフィーチャーであって、前記ファセットフィーチャーは、前記仮想オブジェクトの分類を表す、ファセットフィーチャー
によって特徴付けられることを特徴とする請求項1に記載の方法。
【請求項3】
前記アグリゲートフィーチャーおよび前記ファセットフィーチャーは、インデックスにおいて参照されることを特徴とする請求項2に記載の方法。
【請求項4】
アグリゲートフィーチャーおよび/またはファセットフィーチャーは、インデックスにおいてインクリメントに更新されることを特徴とする請求項1、2、または3のいずれか一項に記載の方法。
【請求項5】
ステップg)は、前記インデックスにおいて前記展開された有向非巡回グラフ上のロールアップを適用するステップを含むことを特徴とする請求項3または4に記載の方法。
【請求項6】
ステップa)は、前記展開された有向非巡回グラフ上の前記ロールアップの間、前記キーのインジケーターのロールアップ関数を受信するステップを含み、前記ロールアップ関数は、前記キーのインジケーターが前記仮想オブジェクトの部品表においてボトムアップにコンソリデーションされるようにすることを表すことを特徴とする請求項5に記載の方法。
【請求項7】
ステップg)は、各アグリゲートフィーチャーのトレランス値を受信し、前記トレランス値に関するユークリッド距離に基づいて統計的なトレランスを計算するステップを含むことを特徴とする請求項2、3、4、5、または6のいずれか一項に記載の方法。
【請求項8】
前記キーのインジケーターは、前記仮想オブジェクトのキーパフォーマンスインジケーターであることを特徴とする請求項1、2、3、4、5、6、または7のいずれか一項に記載の方法。
【請求項9】
前記キーパフォーマンスインジケーターは、前記仮想オブジェクトの重量およびバランス
または前記仮想オブジェクトの重量および/
もしくは前記仮想オブジェクトの重心および/
もしくは前記仮想オブジェクトの慣性行列を含むことを特徴とする請求項8に記載の方法。
【請求項10】
ステップf)およびステップg)は、同一のソフトウェアコンポーネントにおいて実装されることを特徴とする請求項1、2、3、4、5、6、7、8、または9のいずれか一項に記載の方法。
【請求項11】
前記仮想オブジェクトは、車両
または船であることを特徴とする請求項1、2、3、4、5、6、7、8、9、または10のいずれか一項に記載の方法。
【請求項12】
コンピューターシステムに、コンピューターに実装される請求項1、2、3、4、5、6、7、8、9、10、または11のいずれか一項に記載の方法を実行させるコンピューター実行可能な命令を含む、不揮発性のコンピューター読み取り可能なデータ記録媒体に格納されたことを特徴とするコンピュータープログラム。
【請求項13】
コンピューターシステムに、請求項1、2、3、4、5、6、7、8、9、10、または11のいずれか一項に記載の方法を実行させる
プログラムを記録したことを特徴とする非一時的なコンピューター読み取り可能なデータ記録媒体。
【請求項14】
少なくとも1つのクライアントデバイスを備え、仮想オブジェクトの前記少なくとも1つのキーのインジケーターをコンソリデーションすることに関するユーザーリクエストと、少なくとも1つのインデックスとを処理するように構成され、前記インデックスは、少なくとも、前記インデクセーションのためのデータモデルを有向非巡回グラフに変換するステップと、前記有向非巡回グラフの展開に基づいて前記キーのインジケーターをコンソリデーションするステップとを実装するように構成された、請求項1、2、3、4、5、6、7、8、9、10、または11のいずれか一項に記載の方法を実装するために構成されたことを特徴とするコンピューターシステム。
【請求項15】
複数のインデックスと、インデックスコントローラーとを備え、前記インデックスコントローラーは、前記インデックスの中から、前記ユーザーリクエストを最も速く処理することができる1つを決定するために構成され、前記インデクセーションのためのデータモデルを有向非巡回グラフに変換するステップと、前記構成された有向非巡回グラフの展開に基づいて前記キーのインジケーターをコンソリデーションするステップとは、前記インデックスに実装されることを特徴とする請求項14に記載のコンピューターシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、CAE(Computer Aided Engineering)の分野に関し、より正確には、CAD(Computer Aided Design)の分野に関する。特定の複雑なオブジェクトにおいて、複数のオブジェクトパーツによって構成される仮想オブジェクトのキーのインジケーター(key indicator)をコンソリデーション(consolidation)するコンピューター実装方法に関する。
【背景技術】
【0002】
KI(Key Indicator;キーインジケーター)は、戦略的な決定をすることを可能にする測定特性である。それらの中には、次のいくつかのタイプのキーインジケーターがある。
-KSI(Key Sustainable Indicator)、例えば、カーボンフットプリント、希薄な資源への影響、
-KQI(Key Quality Indicator)、例えば、オブジェクトパーツの生産の間における欠陥率、
-KPI(Key Performance Indicator;キーパフォーマンスインジケーター)、例えば、オブジェクトの重量(以後、質量ともいう)、慣性行列、重心(これらのパラメーターは、一般に、「重量とバランス」と呼ばれる)、および範囲、制動距離、空気貫通係数(air penetration coefficient)、離陸または着陸の最小の走路長などのオブジェクトに従属すること。
【0003】
20年間に、複雑なオブジェクトを構成するパーツの数は、数千のパーツから数百万のパーツまで、デジタルモデルにおいてぼう大に膨れ上がっており、それによって、キーインジケーターのコンソリデーションをとてつもなく複雑にする。
【0004】
オブジェクトは、(オブジェクトをどのように設計するかを反映する)設計の部品表(bill of materials)、(オブジェクトを製造するのに必要とされる部品に焦点をあてた)製造の部品表、使用中のオブジェクトの工程表、およびオブジェクトの寿命の部品表を含むグローバル構造を使用することによって、説明されることがある。製造の部品表は、サブアセンブリの観点からオブジェクトを説明する。例えば、テーブルの形において図面に示される構造の部品の項目別リストからなる。それゆえ、部品表は、ルートエンティティと、親ノード付きの子(リーフ)のサブツリーとを有する階層的なツリー構造によって表されることが可能である。オブジェクトのキーインジケーターをコンソリデーションすることは、リーフからツリーのルートまで、今述べたグローバルな部品表の調査である。メトリックのボトムアップ計算は、ロールアップ演算(または単に「ロールアップ」といわれる)によってなされる。ロールアップ関数は、メトリックの値が、ボトムアップ計算されるように定義される。ツリーの各レベルにて、デシジョンメイキングおよびコンソリデーションの複雑な処理が適用される。
【0005】
いくつかのキーインジケーターは、コンソリデーションするのが比較的容易であり、例えば、仮想オブジェクトの質量のコンソリデーションは、オブジェクトのすべてのパーツの質量を加算することからなる。したがって、おもに、ロールアップは、値を加算することからなり、たいしたCPU消費ではない。しかしながら、困難は、多種多様な下請業者が、製造工程および設計工程の間に必然的に含まれ得ることである。今述べたことは、キーインジケーターをコンソリデーションするのに必要であるデータ(ERPソフトウェアにおいての、またはCADソフトウェアにおいてのテキストドキュメント、スプレッドシート)が、たとえCPU消費ではない1つでも、いくつかのシステムに格納され、最新ではないことがあることを必然的に含む。今述べたシステムの各々は、各システムが他のシステムから封鎖されているという点では、「サイロ」とみなされることがある。サイロにおいて演算することは、キーインジケーターの能率的なコンソリデーションに影響を与える。
【0006】
他のキーインジケーターは、オブジェクトの慣性行列に関する。慣性行列をコンソリデーションするために、第1に、慣性モーメントと、リーフの慣性の積とを計算する必要がある。次に、慣性行列は、オブジェクトがインスタンス化される三軸系(three-axis system)に関して、今述べた値を含む3行3列の行列である。次に、慣性行列が対角化される。対角化された固有値は、オブジェクトの主慣性モーメントであり、3つの固有ベクトルは、慣性主軸である。行列を対角化することがCPU消費であることは、注意されることが可能である。さらにその上、慣性行列が、オブジェクトの一部(部品表の最も下の子に対応する)に対して計算されてしまえば、オブジェクトの親の部分に関する慣性行列は、子オブジェクトの慣性モーメントに基づいて、および子オブジェクトの慣性軸に基づいて計算される。それゆえ、慣性行列を、部品表において子から親へとロールアップするとき、とても複雑な行列計算が実装される。もしそうなら、ロールアップは、ホイヘンス-シュタイナーの定理としても知られる平行軸の定理を実装することによって実行される。もしそうなら、ロールアップ関数は、ホイヘンス-シュタイナーの定理によって決定づけられる。
【0007】
その理由により、数百万のパーツに対するキーインジケーターのコンソリデーションは、数時間続き、容認できない。特に、他のキーインジケーターと比較してとても複雑な動作である、大型クルーズ客船の重量とバランスの正確な測定は、船の設計の間、実際には、不確実の度合いが高く推定される。今日、製造業者は、設計段階の間、または製造段階の間でさえ、船の正確な質量を決定することができない。船は、造られてしまえば、水の中に進水され、質量は、置き換えられた水の体積から導出される。浮力を訂正する必要があるならば、船は、余分な器材により重みを加えられる。大型クルーズ客船の重量とバランスは、大型クルーズ客船が波を通過する仕方を示すので、決定的に重要であることが思い出される。
【0008】
自動車領域では、膨大な数のキーパフォーマンスインジケーターが、車両の設計プロセスの間、監視される。例えば、レーシングカーに対して、350個までKPIが、監視されることがある。実際に、プロジェクトレビューの間、膨大な量のキーパフォーマンスインジケーターが解析され、いくつかのキーパフォーマンスインジケーターは、他を超えて特別に扱われることがある。KPIのコンソリデーションは、完全に統合されたデシジョンメイキングの手続きであり、したがって、戦略的な決定がなされなければならないときはいつでも、実行されなければならない。
【0009】
自動車領域における別の制約は、数多くの可能性のある車両構成に関する。今まで、自動車の製造業者は、ただ1つの車両、すなわち、最もヘビーであるコマーシャルラインのうちの1つに対して、構成の多様性を考慮することなく、キーパフォーマンスインジケーターをコンソリデーションしている。したがって、コンソリデーションは、単一のグラフに対して実行される。さらにその上、コンソリデーションは、たとえ今述べた限られた数の車両に対してでも、数時間続くので、コンソリデーションされるデータは、最新ではない。車両は、増えているパーツを含むので、異なる構成に関係なく、KPIをコンソリデーションするのにますます時間がかかる。
【0010】
さらに、例えば、質量のようなキーパフォーマンスインジケーターは、宇宙飛行学においても、特に、人工衛星に対して決定的である。通常、発射台のオペレーター/製造業者と、人工衛星のオペレーター/製造業者との間の契約には、人工衛星が予め定義された質量を超えないように、人工衛星の質量に関する特定の既定がある。実際、打ち上げ段階の間、ペイロードの各キログラムには、推進燃料に関して、重要性がある。実のところ、発射台のオペレーター/製造業者は、人工衛星上の1kgの誤差に対して、数千ユーロの罰金を適用する。それゆえ、質量のインジケーターは、厳密に監視されなければならない。さらに、人工衛星のオペレーター/製造業者に対して、例えば、誤差のマージンによって、ロールアップの間に計算されたトレランスを数量として表すことができるということも興味深いだろう。
【0011】
それゆえ、スケーラブルであり、異なるサプライヤーからくるデータの異なるソースを管理し、オブジェクトの構成の多様性を考慮する、仮想オブジェクトのキーのインジケーターをコンソリデーションするための方法を提供する必要がある。
【発明の概要】
【0012】
本発明の目的は、仮想オブジェクトの少なくとも1つのキーのインジケーターをコンソリデーションするためのコンピューター実装方法であり、方法は、仮想オブジェクトの予め定義された構成に対して、次のステップを含む。
a)仮想オブジェクトの少なくとも1つのキーのインジケーターのディスクリプションを受信するステップ、
b)仮想オブジェクトの属性のセットを受信するステップ、
c)前述の仮想オブジェクトに関するインデクセーション(indexation)のためのデータモデルを受信するステップ、
d)仮想オブジェクトの属性をインデクセーションのためのデータモデルにコンバートするルールセットを受信するステップ、
e)前述の属性をインデクセーションのためのデータモデルにコンバートするルールセットを適用するステップ、
f)インデクセーションのためのデータモデルを有向非巡回グラフに変換するステップ、
g)有向非巡回グラフの展開に基づいて、キーのインジケーターをコンソリデーションするステップ。
【0013】
好ましい態様にて、データモデルにおいて、仮想オブジェクトは、次によって特徴づけられる。
-少なくとも1つのアグリゲートフィーチャー(aggregate feature)、前述のアグリゲートフィーチャーは、部品表に従う仮想オブジェクトの組み立て(composition)を表す、および/または
-少なくとも1つのファセットフィーチャー(facet feature)、前述のファセットフィーチャーは、仮想オブジェクトの分類を表す。
【0014】
好ましい態様にて、アグリゲートフィーチャーおよびファセットフィーチャーは、インデックスにおいて参照される。
【0015】
好ましい態様にて、アグリゲートフィーチャーおよび/またはファセットフィーチャーは、インデックスにおいてインクリメントに更新される。
【0016】
好ましい態様にて、ステップg)は、インデックスにおいて展開された有向非巡回グラフ上のロールアップを適用することを含む。
【0017】
好ましい態様にて、ステップa)は、展開された有向非巡回グラフ上のロールアップの間、キーのインジケーターのロールアップ関数を受信することを含み、前述のロールアップ関数は、キーのインジケーターが、仮想オブジェクトの部品表においてボトムアップにコンソリデーションされるようにすることを表す。
【0018】
好ましい態様にて、ステップg)は、各アグリゲートフィーチャーのトレランス値を受信し、前述のトレランス値に関するユークリッド距離に基づいて統計的なトレランスを計算することを含む。
【0019】
好ましい態様にて、キーのインジケーターは、仮想オブジェクトのキーパフォーマンスインジケーターである。
【0020】
好ましい態様にて、キーパフォーマンスインジケーターは、オブジェクトの重量とバランス、特に、仮想オブジェクトの重量および/または仮想オブジェクトの重心および/または仮想オブジェクトの慣性行列を含む。
【0021】
好ましい態様にて、ステップf)およびステップg)は、同一のソフトウェアコンポーネントにおいて実装される。
【0022】
好ましい態様にて、仮想オブジェクトは、車両、特に船である。
【0023】
さらに、本発明は、コンピューターシステムに上述した方法を実行させるコンピューター実行可能な命令を含む、不揮発性のコンピューター読み取り可能なデータ記録媒体に格納されたコンピュータープログラム製品に関する。
【0024】
さらに、本発明は、コンピューターシステムに上述した方法を実行させるコンピューター実行可能な命令を含む、非一時的なコンピューター読み取り可能なデータ記録媒体に関する。
【0025】
さらに、本発明は、少なくとも1つのクライアントデバイスを含み、仮想オブジェクトの少なくとも1つのキーのインジケーターをコンソリデーションすることに関するユーザーリクエストと、少なくとも1つのインデックスとを処理するように構成される上述した方法を実装するために構成されたコンピューターシステムにも関し、前述のインデックスは、少なくとも、インデクセーションのためのデータモデルを有向非巡回グラフに変換するステップと、有向非巡回グラフの展開に基づいて前述のキーのインジケーターをコンソリデーションするステップと、を実装するように構成される。
【0026】
好ましい態様にて、システムは、複数のインデックスと、インデックスコントローラーとを含み、前述のインデックスコントローラーは、前述のインデックスの中から、ユーザーリクエストを最も速く処理することができる1つを決定するために構成され、インデクセーションのためのデータモデルを有向非巡回グラフに変換するステップと、構成された有向非巡回グラフの展開に基づいて前述のキーのインジケーターをコンソリデーションするステップとは、前述のインデックスに実装される。
【0027】
本発明の追加の特徴および利点は、次に示す、添付の図面と共に得られる、後続の説明から明らかになるだろう。
【図面の簡単な説明】
【0028】
【
図1】本発明に係る方法におけるインデックスのビルドフェーズである。
【
図2】本発明に係る方法に用いられるデータモデルである。
【
図3】データモデルにおいてエンティティに付属されたキーのインジケーターの情報に関する例である。
【
図4】設計情報のデータモデルへの変換を作動させるルールセットの例であり、さらに、多様性情報(diversity information)のデータモデルへの変換を含む。
【
図5】製造情報のデータモデルへの変換を作動させるルールセットの例であり、さらに、多様性情報のデータモデルへの変換も含む。
【
図6】3つのオブジェクトを含む部品表の例である。
【
図7】本発明のデータモデルに係る、
図6に例示されるオブジェクトのインデクセーションの実例である。
【
図8】本発明に係るコンピューターシステムの実例である。
【
図9】本発明の1つの実装において測定された、方法のスケーラビリティを例示するグラフ表現である。
【
図10】船の重量とバランスのロールアップの結果に関する画面の例である。
【
図11】本発明の例示的な態様に係る方法を実行するのに適したコンピューターである。
【発明を実施するための形態】
【0029】
本発明は、「ビルド」と、「ラン」と呼ばれるであろう2つの主要ステップを当てにする。
図1は、4つのコンピューティングシステムCSYが表されたビルドの主要ステップを例示する。もちろん、コンピューティングシステムCSYの数は、限定ではない。コンピューティングシステムCSYの各々は、次のとおりであることがある。
-仮想オブジェクトの3Dモデリングデータと、その多角化辞書(diversification dictionary)とを提供することがある、CAD(Computer Aided Design)システムを含むPLM(Product Lifecycle Management)システムCS1、
-サプライチェーンデータを提供することがある、ERP(Enterprise Resource Planning)システムCSY2、
-EIS(Enterprise Information System)CSY3、
-データを収集し、直接的にまたはそうでなく、それらを別のエンティティに送信するために、例えば、インターネットなどのネットワークに連結されることがある、複数のセンサーCSY4。
【0030】
コンピューティングシステム(CSY1、CSY2、CSY3、CSY4)は、検索エンジンのインデックスINDに連結される。インデックスINDは、接続手段(ケーブル、光ファイバー、または無線通信プロトコルのうちの1つを使用することによる無線)を通じてコンピューティングシステムCSYに連結される、マシンに、またはマシンのセットに、格納される。「インデックス」によって、当業者は、「キャッシュ」、または「データレイク」、すなわち、クエリされることが可能であり、生データ、および構造化データ、半構造化データまたは非構造化データを含むソフトウェアコンポーネントに言及することもまた可能である。
【0031】
各キーインジケーターのディスクリプションは、方法のステップa)において上流へ、特にスーパーユーザーによって提供される。本当に、キーインジケーターのディスクリプションは、どんな通常のユーザーによっても変更されないことになっている。キーのインジケーターのディスクリプションは、ロールアップ関数、すなわち、展開された有向非巡回グラフ上におけるロールアップ中のキーのインジケーターに関するビヘイビアを含む。ロールアップ関数は、1つの構成に対して、キーのインジケーターが、仮想的に構成されたオブジェクトOBJの部品表において、ボトムアップにコンソリデーションされるやり方を表す。
【0032】
さらに、キーのインジケーターのディスクリプションは、次も含む。
-名前(例えば、ノイズ、質量、慣性行列)、
-大きさ(例えば、質量、温度、圧力)、
-潜在的には、アクセスに関するセキュリティ(スーパーユーザーによって、または通常のユーザーによって編集可能である)、
-潜在的には、その父および子、本当に、キーインジケーターは、それら自体、キーインジケーターであるエレメントを含むことがある、
-潜在的には、補完的な情報をキーインジケーターにもたらす分析のセット、
-潜在的には、アイコン。
【0033】
発明された方法のステップb)において、仮想オブジェクトの属性ATTのセットは、インデックスによって受信される。属性ATTは、コンピューティングシステムCSYのどれかよってインデックスINDに提供されるデータである。それゆえ、属性ATTは、由来するコンピューティングシステムCSYに従って、オブジェクトを特徴付ける。
【0034】
単一のデータモデルDMは、方法のステップc)において提供される。データモデルは、インデックスINDにあるオブジェクトのタイピングと、インデックスINDにあるオブジェクトを構造化するリンクのタイピングとを表す。インデックスINDに送信されるすべての属性ATTは、
図2によって例示されるデータモデルDMに従ってコンバートされる。
【0035】
コンバージョンは、次を含む。
1.コンピューターシステムCSYからくるオブジェクトOBJをインタプリンタし、次に、データモデルDMに従ってタイピングすること、
2.潜在的にコンピューターシステムCSYからくるオブジェクトの間のリンクを作成すること。今述べたリンクが、コンピューターシステムCSY間に存在しないことは、注意されるべきである。それらは、インデックスINDにおいてのみ存在する。それゆえ、インデックスは、初めに構造化されないデータに基づいて、半構造化データを作成するソフトウェアコンポーネントである。
【0036】
データモデルDMは、由来するコンピューティングシステムCSYにも構わず、属性ATTのフォーマットにも構わず、オブジェクトのどんな属性でも、データモデルに従ってコンバートされ得る程度まで、「不可知論者」とみなされることがある。
【0037】
データモデルDMにおいて、2つのエレメント、部品表に従う仮想オブジェクトOBJの組み立てを表す少なくとも1つのアグリゲートフィーチャーAGG、および/または仮想オブジェクトOBJの分類を表す少なくとも1つのファセットフィーチャーFACは、仮想オブジェクトを特徴付ける。例えば、メカニカルパーツは、材料のファセット、リサイクルのファセット、供給のファセットなどを有することがある。より一般的には、ファセットフィーチャーは、仮想オブジェクトを特定する。アグリゲートフィーチャーは、部品表に従って、オブジェクトの組み立てを定義する。組み立ての例は、オブジェクトのインスタンス化である。「インスタンス化」によって、当業者は、オブジェクトに貼られる参照フレームにおける位置および向きに言及する。アグリゲートフィーチャーAGGおよびファセットフィーチャーFACは、インデックスINDにおいて参照される。
【0038】
図3は、データモデルにおいてエンティティに付属されたキーのインジケーターの情報に関する例をリストする。例えば、
-キーインジケーターKI1は、3つのファセット、値、トレランス、および信頼レベルを有する重量に向けられる、
-キーインジケーターKI2は、3つのファセット、値、トレランス、および信頼レベルを有するカーボンフットプリントに向けられる、
-キーインジケーターKI3は、3つのファセット、値、トレランス、および信頼レベルを有する公称電力に向けられる、
-キーインジケーターKI4は、3つのファセット、値、トレランス、および信頼レベルを有する重心に向けられる。
【0039】
属性がインデックスを付けられるたびごとに、トレランス値は、データモデルDMにコピーされることがある。好ましい態様にて、統計的なトレランスは、トレランス値のユークリッド距離に基づいて計算されることがある。1個の父とn個の子が考えられるならば、σxは、父のトレランスであり、xiは、i番目の子のトレランスである。父のトレランス値は、次の式、
【0040】
【0041】
を使用して計算される。それゆえ、キーのインジケーターをコンソリデーションするとき、さらに、ユーザーは、キーインジケーターに関連付けられたトレランス値も得て、ロールアップの間に計算されたトレランスを、例えば、誤差のマージンによって、数量として表すことが可能である。
【0042】
発明された方法のステップd)は、仮想オブジェクトOBJの属性をインデクセーションのためのデータモデルDMにコンバートするルールセットRULを受信することを含み、発明された方法のステップe)は、前述の属性をインデクセーションのためのデータモデルDMにコンバートするルールセットRULを適用することを含む。
【0043】
例えば、
図4は、ビルドフェーズの間、設計情報のデータモデルDMへのコンバージョンを作動させるルールを例示する。「チェックマーク」の記号は、属性がインデックスを付けられているという事実を表す。「十字形」の記号は、属性がインデックスを付けられていないという事実を表す。「矢印」の記号は、属性のフラッティング(flattening)を表し、属性が、インデックスを付けられた属性にコピーされ、次に、インデックスから取り除かれる。属性にインデックスを付けるか付けないか、またはアグリゲートするかの決定は、要求されたキーのインジケーターに基づいて、スーパーユーザーによってなされる。それゆえ、ルールは、シナリオ次第である。属性は、分類するために、ファセットによりアグリゲートされることがある。
【0044】
例えば、数学的に定義されたオブジェクトに関する視覚化的な三角形または幾何学的な形状の表現にインデックスを付ける必要がない。多様性(構成)を適用することが可能でないので、キーインジケーターをオブジェクトとしてインデックスを付ける必要がない。インデックスにおいて、キーインジケーターは、製品の部品表に関するオブジェクトの属性になる。多様性の辞書(構成とも呼ばれる)のオブジェクトは、部品表に加わらないので、インデックスを付ける必要がない。一方、構成を定義するのに使用されるオプションは、インデックスを付けられる。フラッティングの動作は、多様性の可能性がないとき、実行される。部品表に何ももたらさないエレメントは、インデックスを付けられない。
【0045】
同様に、
図5は、ビルドフェーズの間、製造情報のデータモデルへのコンバージョンを作動させるルールを例示する。
【0046】
図6は、航空機の3つのオブジェクトパーツ(第1のオブジェクトパーツOBJ1、第2のオブジェクトパーツOBJ2、および第3のオブジェクトパーツOBJ3)を含む部品表BOMを例示する。オブジェクトの属性は、
図7に例示されるように、インデックスINDにおけるインデクセーションのためにコンバートされる。
【0047】
図7において、航空機を表す有向非巡回グラフが、インデックスINDに作成される。それは、例えば、PLMシステムなどの第1のコンピューティングシステムCSY1からの、例えば、EISなどの第2のコンピューティングシステムCSY2からの、および例えば、ERPなどの第3のコンピューティングシステムCSY3からの情報をアグリゲートする。異なるサイロからくる情報は、インデックスINDの内部に構造化される。
【0048】
3つのコンピューティングシステム(CSY1、CSY2、CSY3)の属性ATTは、インデックスINDにおけるインデクセーションのためにデータモデルDMにコンバートされる。
【0049】
第1のコンピューティングシステムCSY1において、ルートオブジェクト(キーインジケーターがコンソリデーションされるべき1つ、すなわち、「航空機」)は、オブジェクトOBJ1、OBJ2、およびOBJ3の3Dジオメトリの簡略化された表現により、次といっしょに格納される。
-37kgの値が付いた、第1のオブジェクトOBJ1の属性「推定された重量」、
-31.2kgの値と30%の信頼値とが付いた、第3のオブジェクトOBJ3の属性「計算された重量」、
-3つのオブジェクトOBJ1、OBJ2、およびOBJ3の3Dジオメトリの簡略化された表現付き。
【0050】
第2のコンピューティングシステムCSY2において、22kgの値が付いた、第2のオブジェクトOBJ2の属性「重量」が格納される。
【0051】
第3のコンピューティングシステムCSY2において、33.2kgの値と、80%の信頼値とが付いた、第3のオブジェクトOBJ3の属性「測定された重量」が格納される。
【0052】
上述した属性ATTは、インデクセーションのためにデータモデルDMにコンバートされる。次に、ルートオブジェクト「航空機」は、次をアグリゲートする。
-CSY2のファセットC5を有する、第1のエレメントC1、
-CSY3のファセットC4を有する、第2のエレメントC2、
-第3のエレメントC3。
【0053】
次に、属性ATTが、インデクセーションのためのデータモデルDMに従ってコンバートされてしまえば、データモデルは、
図7によって例示されるように、ツリーデータ構造において、有向非巡回グラフに変換される(発明された方法のステップf))。
【0054】
データモデルが、ビルドフェーズの間に有向非巡回グラフに変換されてしまえば、ランフェーズ(run phase)は、有向非巡回グラフ上において実行されることが可能である。好ましい態様にて、アグリゲートフィーチャーAGGおよび/またはファセットフィーチャーFACは、インデックスINDにおいてインクリメントに更新され、ビルドフェーズは、たとえいつデータが変わっても、何もないところから実行される必要がない。したがって、キーのインジケーターをコンソリデーションすることを含むランフェーズは、(多様性からのオプションのセットである)構成を考慮し、発明された方法の最新のデータ(ステップg)を有する、有向非巡回グラフの展開に基づく。展開されたグラフの各オブジェクト上に、下から上へ、キーインジケーターの特定のコンソリデーションメソッド(consolidation method)が呼び出される。
【0055】
図8は、本発明に係るコンピューターシステムの実例である。システムは、仮想オブジェクトの少なくとも1つのキーのインジケーターをコンソリデーションするユーザーリクエストを処理するように構成された、少なくとも1つのクライアントデバイスCDを含む。例えば、ユーザーリクエストは、設計フェーズの間、またはオブジェクトの製造フェーズの間、3Dオブジェクトの1つのプログラムマネージャーによってクエリされることがある。インデックスINDは、少なくとも、インデクセーションのためのデータモデルDMを有向非巡回グラフに変換するステップと、有向非巡回グラフを展開することによって前述のキーのインジケーターをコンソリデーションするステップとを実装する。
【0056】
ランフェーズに対して、ただ1つのインデックス、またはいくつかがあり得る。もしそうなら、ロードバランシングは、例えば、システムの応答時間、スループット、インデックスの信頼性または可用性などのいくつかのパラメーターを最適化するために、実装されることがある。今述べたパラメーターは、さらにロードバランサーとも呼ばれる、クライアントデバイスCDとインデックスINDとの間に連結された、インデックスコントローラーINCによって決定されることがある。特に、定期的に、またはユーザーリクエストをクライアントデバイスから受信するときに、インデックスコントローラーINCは、各インデックスINDの状態を決定する。インデックスコントローラーINCは、インデックスINDが(失敗または利用不可のために)ユーザーリクエストを処理できないと決定するならば、インデックスコントローラーINCは、ユーザーリクエストを別のインデックスINDに向ける。インデックスコントローラーINCが、最も速くユーザーリクエストを処理できるインデックスを決定してしまえば、選択されたインデックスは、データモデルDMを展開し、ユーザーによって要求されるキーのインジケーターをコンソリデーションする。
図8によって例示されるように、クライアントデバイスCDは、インデックスコントローラーINCと、さらに直接的にインデックスINDと通信することがある。
【0057】
図7の例を参照すると、最も利用可能なインデックスIND、すなわち、応答時間が最も速いと考えられる1つは、航空機のツリー(ルートの航空機自体、および2つの第2レベルの子がある3つの子)を展開し、展開されたツリーをロールアップする。ツリーの展開は、6つのエレメント(C1~C6)を回収する。ロールアップは、ツリーの下から上までの重量の情報をコンソリデーションする。第5のエレメントC5は、加重された22kgである。第4のエレメントC4は、加重された33.2kgである。第3のエレメントC3は、加重された37kgである。第1のエレメントC1は、第5のエレメントC5と同一の値を直に得るので、第1のエレメントC1は、22kgの重みを加える。第2のエレメントC2に対して、2つのファセットからくる情報が比較される。80%の信頼度は、30%よりも大きいので、第2のエレメントC2は、重量33.2kgと考えられる。最後に、第1のエレメントC1、第2のエレメントC2、および第3のエレメントC3をアグリゲートする航空機は、重量22+33.2+37=92.2kgと考えられる。
【0058】
好ましい態様にて、(ビルドフェーズにおいて)初期データをインデックスデータモデルに変換するステップと、(ランフェーズにおいて)キーのインジケーターをコンソリデーションするステップとは、同一のソフトウェアコンポーネントに、特にインデックスINDに、共有メモリーにより実装される。それゆえ、2つの全く異なるソフトウェアコンポーネント(インデクセーション用の1つ、およびコンソリデーション用の1つ)を使用するという欠点は、コンポーネント間のデータ転送のために、および両方のソフトウェアコンポーネントの間における有向非巡回グラフの複製のために避けられる。発明された方法は、高いレベルの可用性を有して、高度にスケーラブルである。
【0059】
発明された方法のステップa)からf)(ビルドフェーズ)は、オフラインで実装されることがあり、ステップg)(ランフェーズ)は、オンラインで実装されることがある。ビルドフェーズのオフラインの実装は、多くの計算時間を節約する。
【0060】
図9は、発明された方法の実装において測定されたスケーラビリティを例示する。今述べた実装にて、Apache TomEEサーバーがインデックスコントローラーとして使用されており、Exalead Graph Index(ダッソー システムズの財産権)がインデックスとして使用されている。データは、次の3つのコンピューターシステム、3DSpace(ダッソー システムズの財産権)と呼ばれるPLM、スプレッドシートデータ(例えば、Excelファイルからのデータ)が抽出される、SAPと呼ばれるERP、およびExcelファイルなどのスプレッドシートを含む、下請業者からの電子メールを受信したコンピューターによって提供される。
【0061】
ユーザーリクエストがなされたクライアントデバイスは、どんなユーザーに対してでも売り出されている利用可能な、標準的なコンピューター(ウインドウズサーバー、64ビットオペレーティングシステム、Intel Xeon CPU ES-1620 v3 3.50 GHz, 16.0 GB RAM)である。
【0062】
重量とバランスのキーインジケーター、および製品の費用計算が、コンソリデーションされた。
【0063】
横軸は、仮想オブジェクトのオブジェクトパーツの数(すなわち、エレメントの数)を表す。縦軸は、重量とバランスのKPIに関するユーザーリクエストの応答時間を表す。
【0064】
応答時間は、当技術分野のソリューションに関して上に説明された状態をはるかに下回り、800万個のエレメントがある大型クルーズ客船に対して、応答時間は、200秒である。1800万個のエレメントがある石油化学プラントに対して、応答時間は、450秒である。さらにその上、応答時間は、線形であり、人は、エレメントの数に基づいて応答時間を予測することが可能である。
【0065】
図10は、発明された方法による、大型クルーズ客船に関する重量とバランスのKPIの結果を表すスクリーンショットを例示する。画面の左部分において、ユーザーは、オブジェクトのツリーにざっと目を通すことによって、オブジェクト全体またはそのサブパーツを選択することが可能である。ユーザーの選択は、画面の中央部分に強調表示されることがある。画面の右部分において、コンソリデーションの結果、特に、重量、重心、および慣性行列が表示される。
【0066】
本発明の方法は、もしかしたらコンピューターネットワークを含む、適切なプログラムを不揮発性なかたちにおいて、例えば、ハードディスク、ソリッドステートディスク、またはCD-ROMなどのコンピューター読み取り可能な媒体に格納する、およびマイクロプロセッサー(複数可)とメモリーとを使用して前述のプログラムを実行する、適切にプログラムされた汎用のコンピューターまたはコンピューターシステムによって行われることが可能である。
【0067】
前述したクライアントデバイスCD、コンピューティングシステムCSY、インデックスIND、およびインデックスコントローラーINCの各々は、
図11を関して説明される本発明の例示的な態様に従って方法を実行するのに適したコンピューターCPTであることが可能である。
図11において、コンピューターCPTは、実行可能なプログラム、すなわち、例えば、RAM M1もしくはROM M2もしくはHDD(ハードディスクドライブ)M3、DVD/CDドライブ M4などに格納された、またはリモートに格納されたコンピューター読み取り可能な命令のセットを走らせている間に、上に説明された方法のステップを行うCPU(中央処理装置)Pを含む。
【0068】
主張される発明は、本発明の処理に関するコンピューター読み取り可能な命令、および/またはデータ構造が格納されるコンピューター読み取り可能な媒体のかたちによって限定されない。例えば、命令およびファイルは、CD、DVDに、フラッシュメモリー、RAM、ROM、PROM、EPROM、EEPROM、ハードディスク、またはコンピューターが通信するどんな他の情報処理デバイス、例えば、サーバーもしくはコンピューターなどにも格納されることが可能である。プログラムおよびファイルは、同一のメモリーデバイスに、または異なるメモリーデバイスに格納されることが可能である。
【0069】
さらに、本発明の方法を実行するのに適したコンピュータープログラムは、CPU Pと、例えば、マイクロソフト(登録商標)VISTA、マイクロソフト(登録商標)ウィンドウズ10、UNIX、ソラリス、LINUX、アップルMAC-OS、および当業者に知られている他のシステムなどと共に実行されるユーティリティアプリケーション、バックグラウンドデーモン、もしくはオペレーティングシステムのコンポーネント、またはそれらの組み合わせとして提供されることが可能である。
【0070】
CPU Pは、アメリカのインテル(登録商標)からのXenonプロセッサーまたはアメリカのAMD(登録商標)からのOpteronプロセッサーであることが可能であり、または他のプロセッサータイプ、例えば、フリースケールColdFire、IMX、またはアメリカのフリースケールコーポレーションからのARMプロセッサーなどであることが可能である。代替として、CPU Pは、例えば、アメリカのインテルコーポレーションからのCore2 Duoなどのプロセッサーであることが可能であり、または当業者が認めるような、FPGA、ASIC、PLD上に、もしくは個別の論理回路(discrete logic circuit)を使用して実装されることが可能である。さらに、CPU Pは、上に説明された本発明の処理のコンピューター読み取り可能な命令を実行するために、協働して働く複数のプロセッサーとして実装されることが可能である。
【0071】
図11のコンピューターCPTは、ネットワーク、例えば、LAN(ローカルエリアネットワーク)、WAN(ワイドエリアネットワーク)、インターネットなどとのインターフェイス接続のために、ネットワークインターフェイスNI、例えば、アメリカのインテル(登録商標)コーポレーションからのインテルイーサネットPROネットワークインターフェイスカードなども含む。さらに、コンピューターCPTは、ディスプレイDY、例えば、ヒューレット・パッカード(登録商標)のHPL2445w LCDモニターなどとのインターフェイス接続のために、ディスプレイコントローラーDC、例えば、アメリカのNVIDIA(登録商標)コーポレーションからのNVIDIA GeForce GTXグラフィックスアダプターなどを含む。汎用I/OインターフェイスIFは、キーボードKBおよびポインティングデバイスPD、例えば、ローラーボール、マウス、タッチパッドなどとのインターフェイス接続をする。ディスプレイ、キーボード、およびポインティングデバイスは、ディスプレイコントローラーおよびI/Oインターフェイスとともに、
図10に例示されるように、入力コマンドを供給するためにユーザーによって、およびキーインジケーターの結果を表示するためにコンピューターによって使用されるグラフィカルユーザーインターフェイスを形成する。
【0072】
ディスクコントローラーDKCは、コンピューターのコンポーネントのすべてを相互に連結させるために、HDD M3およびDVD/CD M4を、ISA、EISA、VESA、PCIまたは同様のであることが可能であるコミュニケーションバスCBSに連結する。
【0073】
ディスプレイ、キーボード、ポインティングデバイスについての、ディスプレイコントローラー、ディスクコントローラー、ネットワークインターフェイスおよびI/Oインターフェイスも同様に、一般的な特徴および機能性の説明は、本明細書において簡潔さのために、これらの特徴が知られているとして省略される。
【0074】
代替の態様にて、コンピューターCPTは、サーバーおよびエンドユーザーコンピューターによって取り替えられる。サーバーの全体的なアーキテクチャーは、ディスプレイコントローラー、ディスプレイ、キーボード、および/またはポインティングデバイスがサーバーにおいて欠くことがあるのを除き、コンピューターCPTに関して上に議論されたのと同じであることがある。エンドユーザーコンピューターは、ユーザーインターフェイスを含む、「ラン」インフラのフロントエンドのセクションを走らせ、サーバーは、「ビルド」インフラおよび「ラン」インフラのバックエンドのセクションを走らせる。ユーザーインターフェイス上のユーザーの動作は、キーインジケーターのロールアップアルゴリズムを実行するサーバー(例えば、アパッチサーバー)によって供給されるウェブサービスに対して、クエリ-例えば、RESTクエリ-を起動する。
【0075】
ネットワークNWは、公共ネットワーク、例えば、インターネット、または例えば、LANもしくはWANのネットワークなどのプライベートネットワーク、またはあらゆる組み合わせなどであることが可能であり、PSTNまたはISDNのサブネットワークを含むこともまた可能である。ネットワークNWは、有線、例えば、イーサネットネットワークなどであることもまた可能であり、または例えば、EDGE、3Gおよび4Gのワイヤレスセルラーシステムを含むセルラーネットワークなどの無線であることが可能である。ワイヤレスネットワークは、Wi-Fi、ブルートゥース、または知られている通信のどんな他のワイヤレスのかたちでもあることもまた可能である。したがって、ネットワークNWは、単に例示的であり、決して、本進歩の範囲を決して限定しない。
【0076】
本明細書において説明されたどんな処理でも、モジュール、セグメント、または処理の特定の論理関数またはステップを実装する1つまたは複数の実行可能な命令を含むコードの部分を表すとして理解されるべきであり、および代替の実装は、本発明の例示的な態様の範囲内に含まれる。
【符号の説明】
【0077】
ATT 属性
CSY1 コンピューティングシステム
CSY2 コンピューティングシステム
CSY3 コンピューティングシステム
CSY4 コンピューティングシステム
IND インデックス