(58)【調査した分野】(Int.Cl.,DB名)
【背景技術】
【0002】
インターネットなどのグローバルコンピュータネットワークは、新しい計算プラットフォームおよび計算アプリケーション(ソフトウェアアプリケーション設計を含む)を提供している。例えば、インターネット規模の分散コンピューティングは、いわゆるネットワークをプラットフォームコンピューティングとして提供する。ネットワークをプラットフォームとすることによって(ウェブ対応アプリケーションとして構成される)アプリケーションがすべてブラウザを介して稼働できるようにする。さらに、ネットワークをプラットフォームとすることによってユーザがさまざまな役割を通じてまたは役割の中で共同作業できるようにする。
【0003】
ネットワークをプラットフォームとして使用したコンピュータ実装プログラムおよび協調システムの産業に関する例は、PLM(Product Lifecycle Management:製品ライフサイクル管理)システムである。PLMソリューションは、企業が製品データを共有し、共通プロセスを適用し、そして構想から寿命までの製品開発に関する企業知識を活用するのに役立つ、拡張された事業概念によるビジネス戦略を指す。この概念により、企業は、自社部門だけでなく、ビジネスパートナー、供給業者、OEM(Original Equipment Manufacturers:相手先ブランド名製造)、および顧客などの、他の関係者(actors)も含めて構成される。このような関係者を含むことによって、PLMは、このネットワークが製品およびプロセスを概念化し、設計し、構築し、そしてサポートする単一のエンティティとして機能するようにさせることができる。
【0004】
PLMソリューションの中には、CAD(Computer-Aided Design:コンピュータ支援設計)を含むことで知られる、コンピュータ支援技術がある。コンピュータ支援設計(Computer-Aided Design)は、製品設計をオーサリングするためのソフトウェアソリューションに関係する。同様に、CAEは、コンピュータ支援エンジニアリング(Computer-Aided Engineering)の頭字語であり、例えば、将来向け製品の物理的振る舞いをシミュレートするためのソフトウェアソリューションに関係する。CAMは、コンピュータ支援製造(Computer-Aided Manufacturing)を表し、典型的には、製造過程および製造作業を定義するためのソフトウェアソリューションを含む。一部のPLMソリューションは、例えば、デジタルモックアップ(製品の3Dグラフィックモデル)を作成することによって製品を設計して開発することを可能にする。デジタル製品は最初に、適切なアプリケーションを使用して定義されてシミュレートされる。次に、リーンデジタル製造プロセスが定義されてモデル化される。
【0005】
例えば、一般に、周知のPLMソリューションは、製品エンジニアリング知識を体系化し、製造エンジニアリング知識を管理し、そしてエンジニアリング知識センターと製造知識センターの両方への事業統合および事業結合ができるようにするための手段を提供する。このシステムが一体となって製品、プロセス、リソースをリンクして動的な知識ベースの製品作成と、最適化された製品定義、製造準備、生産およびサービスを推進する意思決定支援とを可能にするオープンオブジェクトモデルを実現する。
【0006】
このようなPLMソリューションは、製品のリレーショナルデータベースを備える。リレーショナルデータベースは、テキストデータとテキストデータ間の関係とのセットを備える。データは、典型的には、製品に関連する技術データを含み、このデータは、データ階層で順序付けされ、検索可能にするようにインデックス付けされている。このデータは、製品およびプロセスがモデル化されることが多い、モデル化オブジェクトを表す。
【0007】
製品構成、プロセス知識、およびリソース情報を含むPLM情報は、典型的には、共同で編集されることを目的とする。例えば、共同で作業する設計者チームは、リモートサイトからウェブ対応アプリケーションを介して製品に関連する共有情報にアクセスすることによって製品の設計に個々に貢献できる。各ユーザまたはリモートサイトは、システムプラットフォームに別個に登録され、各々は、このプロジェクトのアプリケーション(複数)に対するウェブサーバサービスのそれぞれの集合を実装する責任を負う。ユーザは、元々他のアプリケーション用に実装された既存のウェブサービスを有することもあるが、このようなウェブサービスを現行のプロジェクトに再使用または共有する機構がない。プラットフォームのクライアントまたはアプリケーションにおけるユーザが、既存のウェブサービスをコピーするあるいは強化しなければならない。
【0008】
現在、多くの企業が種々の製品のポートフォリオをさまざまな顧客グループに提供することによって、さらに購入および生産の総コストを削減することによって競争力の維持に努めている。
【0009】
製品のポートフォリオが市場動向の変化とともに変化するので、製品および/または工業デザイナーは、どの部品またはサブアセンブリ−最終アイテムと呼ばれる−を購入してポートフォリオを製品化するかを決定しなければならない。
【発明を実施するための形態】
【0020】
本発明の例示的実施形態の説明は以下の通りである。
【0021】
図1に示すように、生産されることになる製品13を定義する生産計画11が出来ると、「その製品を開発するためにどのアイテムを作り、どのアイテムを購入しなければならないか?」という単純で重要な問いが生じるであろう。これにより、購入計画15および在庫管理25へと導かれる。この質問の答えは、「最終アイテム17の完成」と呼ばれる。
図1に示すように、最終アイテムの完全集合は、供給業者19に順序通りに割り当てられる。本発明は、BOM(Bill-of-Material:部品表)23と呼ばれる、PLMシステム21の基本構造に基づいて最終アイテムの完成17を検証する装置および方法100に焦点を合わせる。最終アイテムは、製品に対してさらなる作業を行わずに使用することができる工業製品である。
【0022】
1.概念的基礎(Conceptual Foundation):BOM23
1.1 PLM21のBOM構造
一部の実施形態において、BOM構造23は、(最終アイテム17またはその部品となる)各アセンブリの子構造を提示する。数学的に、BOMは、
directed acyclic graph G=(V,E)
として表され、ここにVは、頂点の集合であり、
E⊆V×V
は、有向辺の集合であって、
(v
1、v
2)∈E
ならば、v
1は、v
2の親と呼ばれ、v
2は、v
1の子と呼ばれる。
【0023】
1.2 階層集合
G=(V,E)は、BOM23とv∈Vであると仮定する。そうなれば、Children(v)={v′∈V:(v,v′)∈E}と、Parents(v)={v′∈V:(v′,v)∈E}とは、それぞれ、vの子とvの親を示す。この定義に基づいて、vの子孫とvの先祖は、それぞれ、
Descendants(v)=∪
v′∈Descendants(v)∪{v}Children(v)
と
Ancestors(v)=∪
v′∈Ancestors(v)∪{v}Parents(v)
として定義される。Parents(v)とChildren(v)とが空(empty)であれば、頂点vをそれぞれ「根」と「葉」と呼ぶ。
【0024】
図2は、製品の2つのクラス:スケートボードとカートを示している。これら2つの製品は、BOMグラフ200の根ノード27、29である。この図において、辺(v1,v2)がなければ、v2は、v1を作る必要はない。例えば、スケートボード27は、スケートボード27とベースフレーム28間の辺がないので、ベースフレーム28が必要ない。階層構造に関して、例えば、22、24においてChildren(スケートボード)={ボード,軸}、26、28、20のそれぞれにおいてDescendants(カート)={ハンドルおよびかご,ベースフレーム,車輪}、24、28においてParents(車輪)={軸,ベースフレーム}、24、27、28および29においてAncestors(車輪)={軸,スケートボード,ベースフレーム,カート}となる。
【0025】
図3は、別の例示的なBOMグラフ500を示しており、以下の階層構造を有する。
【0026】
Children(v1)={v3,v4}
Parents(v4)={v1,v2}
Siblings(v4)={v3,v5}
頂点v1とv2は、根であり、v6、v7、v8、v9は、葉である。
Descendants(v1)={v3,v4,v6,v7,v8}
Ancestors(v8)={v4,v1,v5,v2}
【0027】
関数Children、Parents、Descendants、およびAncestorsは、これより
Children(B)=∪
(v∈B)Children(v)
Parents(B)=∪
(v∈B)Parents(v)
Descendants(B)=∪
(v∈B)Descendants(v)
Ancestors(B)=∪
(v∈B)Ancestors(v)
として頂点の集合をとるように拡張されることができる。例えば、
図3を
B={v4,v5,v7}
とする。そうなれば、
Children(B)={v8,v9}
と
Parents(B)={v1,v2,v3}
となる。
【0028】
2.最終アイテム、製品アイテム、および完成
最終アイテムは、製品に対してさらなる作業を行わずに使用することができる工業製品である。本明細書で説明される実施形態は、最終アイテムの集合17が製品の集合13を作ることを請け負うかどうかを明らかにする。本明細書で説明される実施形態では、BOM構造23の頂点を「アイテム」と呼ぶ。これらの用語は、本説明にわたって互いに置き換え可能である。
【0029】
BOM G={V,E}の頂点集合B⊆Vを所与とすれば、ExclusiveAnces(B)は、Bの排他的先祖を示し、
ExclusiveAnces(B)={v∈Ancestors(B):Children(v)⊆ExclusiveAnces(
Parents(B))∪B}
となる。
【0030】
要するに、所与のアイテムBの排他的先祖の集合は、用語「ExclusiveAnces(B)」として記述され、vがExclusiveAnces(B)によってさらに含まれる子を有していれば、各要素のすべての先祖vを
カバーする(cover)。
【0031】
最終アイテム集合B⊆Vは、
T⊆ExclusiveAnces(B)
ならば、製品アイテム集合T⊆Vに対して完全であると言える。
【0032】
図2に示すように、BOM200は、スケートボード27とカート29を含み、製品アイテムT={スケートボード}であると仮定する。最終アイテムの集合B={ボード22,軸24}は、
T⊆{スケートボード27}
であるので完全である。しかしながら、2つの最終アイテム集合B
2={軸24,車輪20}とB1={ハンドルおよびかご26,ベースフレーム28}とは、
【0037】
図3のBOM500の場合、製品アイテム集合をT={v1,v2}と仮定する。
最終アイテム集合B={v6,v7,v8,v5}に対し、Bは、
{v1,v2}=ExclusiveAnces(B)
⊆{v1,v2,v3,v4,v5}
であるのでTに対して完全である。しかしながら、B={v6,v7,v5,v9}ならば、Bは、
【0040】
3.最終アイテム集合を完全にする
前項において、最終アイテム集合17が製品アイテムの集合13の構成に対して完全であるかどうか検査することができる方法を示している。しかしながら、製品アイテム集合に対してまだ完全でない最終アイテム集合があれば、不足のアイテムの集合を付加することによって完全にしなければならない。不足のアイテムを明らかにするために、いくつかの異なるアイテムのクラスを定義する必要がある。
【0041】
3.1 非排他的先祖
所与のアイテムBの排他的な先祖の集合ExclusiveAnces(B)がBの各要素のすべての先祖を
カバーし、その要素の子アイテムもExclusiveAnces(B)∪Bによって含まれることを思い出されたい。ExclusiveAnces(B)∪Bに含まれないBの先祖の要素がいくつかある場合がある。これをBの非排他的(NonExclusive)先祖と呼び、NonExclusiveAnces(B)で示される。正式には、
NonExclusiveAnces(B)=Ancestors(B)\ExclusiveAnces(B)
であり、ここに
【0044】
NonExclusiveAnces(B)内の各アイテムがExclusiveAnces(B)に含まれていない子を有することに留意されたい。vのそのような子が原因で、v自体だけでなくAncestors(v)もBでは完全にならない可能性がある。言い換えれば、NonExclusiveAnces(B)の要素は、BによってもBからも作られない可能性がある。
【0045】
図4は、B={3,4}とAncestors(B)={1,2,5,6}との関係を有するアイテムを示す。頂点6が、B∪ExclusiveAncestor(B),NonExclusiveAnces(B)={5,6}に含まれていない子頂点7を有するので、故に、
ExclusiveAnces(B)={1,2}である。
【0046】
図5について、
図3のBOM V1−9における最終アイテム集合B={v5,v6,v7,v9}であると仮定する。故に、v3のすべての子(即ち、V6およびV7)は、ExclusiveAnces(B)∪Bに含まれ、v3は、ExclusiveAnces(B)内にも含まれる。しかしながら、v4は、v4の子v8がExclusiveAnces(B)∪Bに含まれないので、ExclusiveAnces(B)に含まれない。v4は、NonExclusiveAnces(B)に含まれるので、v4の親v1とv2もNonExclusiveAnces(B)に含まれる。故に、NonExclusive(B)={v1,v2,v3,v4,v8}である。
【0047】
3.2 排他的子孫および非排他的子孫
前述した先祖と同様の観点から子孫側を観察すると、ある人がアイテムを購入する時、そのアイテムのサブアセンブリとそのアイテムの部品は、そのアイテムと一緒になっている。しかし、複数の親が共有部品を必要とするかもしれないPLM BOMを処理する場合、その人は、子の共有構造のため、付加的なサブアセンブリまたは部品の購入を考慮するかもしれない。以下の2つの定義は、BOM G=(V,E)と最終アイテムの集合B⊆Vを有することを仮定する。
【0048】
排他的子孫
Bの排他的子孫集合は、
ExclusiveDesc(B)={
v∈Descendants(B):Parents(v)⊆ExclusiveDesc(
Children(B))∪B}
であり、ExclusiveDesc(B)の要素は、Bと一緒になっており、他の親を組み立てるためにその要素を購入する必要がないことを示している。
【0049】
非排他的子孫
Bの非排他的子孫集合は、
NonExclusiveDesc(B)=Descendants\ExclusiveDesc(B)
であり、NonExclusiveDesc(B)の要素は、個別的にExclusiveDesc(B)に含まれてないアイテムによって共有されることを示している。これは、要素がBと一緒になっていても付加的に要素を購入しなければならないという意味である。
【0050】
図6は、所与の最終アイテム集合B={1,5}に対するExclusiveDesc(B)とNonExclusiveDesc(B)との間の関係を示している。Bの子孫において、ExclusiveDesc(B)={2,3,6}と、アイテム4が、ExclusiveDesc(B)にもBにも含まれてない親7を有することによるNonExclusiveDesc(B)={4,8}とがある。
【0051】
この関係は、
図2に示したスケートボード27とカート29の例で容易にわかる。最終アイテム集合B={ボード22,軸24}であれば、Descendants(B)={車輪20},ExclusiveDesc(B)=φ,NonExclusiveDesc(B)={車輪20}となる。何故ならば、車輪20の親であるアイテムのベースフレーム28は、ExclusiveDesc(B)でもBでもないからである。言い換えれば、ある人がベースフレーム28も作りたいのであれば、その人は、車輪が軸24と一緒になっていても、車輪20を付加的に購入する必要があるであろう。
【0052】
同様に、
図5に示したBOM500の最終アイテム集合B={v5,v6,v7,v9}に対して、Descendants(B)={v8},ExclusiveDesc(B)=φ,NonExclusiveDesc(B)={v8}となる。これは、ある人がサブアセンブリv4を作るために(たとえv8がv5と一緒になっていても)v8を購入しなければならないことを意味する。
【0053】
3.3 最終アイテム集合を完全にする
図7は、CoveredBY(B,T)とNonCoveredBY(B,T)との間の関係を示している。説明すると、BOM G=(V,E)に対する最終アイテムの集合B⊆Vと製品アイテムの集合T⊆Vとを合わせると仮定すれば、関心のあるアイテムは、2つの集合:
CoveredBY(B,T)=(T∪Descendants(T))∩(B∪ExclusiveAnces(B)∪ExclusiveDesc(B))
と
NonCoveredBY(B,T)=(T∪Descendants(T))\(B∪ExclusiveAnces(B)∪ExclusiveDesc(B))
とを合わせた
T∪Descendants(T)に含まれる。
【0054】
定理
Bは、NonCoveredBY(B,T)が空の条件の場合に限り完全である。
【0055】
命題
BOM G=(V,E)に対する最終アイテム集合B⊆Vと製品アイテムT⊆Vを所与とすれば、
B=B∪Leaf(NonCoveredBy(B,T))
によってBが完全になり、ここにLeaf(A)={v∈A:vは葉である}であり、ここにA⊆Vである。
【0056】
スケートボードとカートの例
BOM G=(V,E)は、
図2で示された通りであり、最終アイテム集合B={ボード22,軸24}と、T={スケートボード27,カート29}であると仮定する。
NonCoveredBy(B,T)={カート29,ハンドルおよびかご26,ベースフレーム28,車輪20}と、Leaf(NonCoveredBy(B,T))={車輪20,ハンドルおよびかご26}である。故に、
B=B∪Leaf(NonCoveredBy(B,T))={ボード22,軸24,車輪20,ハンドルおよびかご26}であれば、Bは、Tに対して完全となる。
【0057】
V1−9の例
BOM G=(V,E)は、
図5で示された通りであり、最終アイテム集合B={v5,v6,v7,v9}と、T={v1,v2}であると仮定する。NonCoveredBy(B,T)={v1,v2,v3,v4,v8}と、Leaf(NonCoveredBy(B,T))={v8}である。故に、
B=B∪Leaf(NonCoveredBy(B,T))={v5,v6,v7,v8,v9}になれば、Bは、Tに対して完全となる。
【0058】
このように実施形態は、部品(または最終アイテム)の集合17が目的製品の集合13を作るのに完全であるかどうかを検証することができる。
【0059】
図8Aおよび
図8Bについて、最終アイテム17の完全集合を決定(または作る)ために、または最終アイテム集合17の完成を確認するために上記を計算する。それを果たすために、実施形態は、集合完了エンジン(set completion engine)100または集合完了エンジン100のプロセッサモジュール、あるいは(
図1に示した)PLMシステム21の作動メンバ/ユニット(各全体が100)を提供する。製品13の所与の製品順序または製品要求集合に対し、ステップ151におけるエンジン100は、製品13の対応するBOM23をサブアセンブリ、子部品および最終アイテムから成る階層として表す。特に、ステップ151においてエンジン100は、BOM23を有向非巡回グラフとして表す。製品集合T13のメンバ(製品アイテム)は、グラフの頂点である。製品アイテムのサブアセンブリおよび子部品は、グラフの頂点である。そして最終アイテム集合B17のアイテムは、グラフの頂点(即ち、葉ノード)として表される。
【0060】
ステップ153において、エンジン100は、B∪ExclusiveAnces(B)∪ExclusiveDesc(B)の要素ではない、集合T∪Descendants(T)の要素が存在する集合I(SetI)を決定する。集合Iは、上記の
図7の論考において数学的に
I=NonCoveredBy(B,T)=(T∪Descendants(T))\(B∪ExclusiveAnces(B)∪ExclusiveDesc(B))
として定義される。
【0061】
言い換えれば、集合Iは、NonCoveredBy(B,T)であり、つまり(a)元の最終アイテムの集合B、(b)元の最終アイテムBに限定された先祖の集合、(c)最終アイテムBに限定された子孫の集合、から成る要素ではない、製品アイテムの集合と子孫製品アイテムの集合との合併集合である。
【0062】
ステップ155においてエンジン100は、ステップ153の結果として生じた集合Iの葉アイテム(leaf items)を特定する。次にステップ157において、エンジン100は、ステップ155から特定された葉アイテムを最終アイテム17の開始集合Bに付加する。ステップ157の結果として生じた集合は、最終アイテム17の完全集合として出力され、ここにおいてエンジン100は、この(最終アイテム17の)完全集合BがT(製品13の要求集合)に対して完全となることを提供する。
【0063】
代替的実施形態において、ステップ153の結果として生じた集合Iのサブセットを特定する。ステップ157/エンジン100は、ステップ155からのサブセットを最終アイテム17の開始集合Bに付加する。ステップ157の結果として生じた集合は、最終アイテム17の完全集合として出力される。
【0064】
図8Aおよび
図8Bにおいて説明された手続きに基づいて、
図8Cで示すようにその手続きを一般化することができる。一般化は、2つの特性:(1)ステップ155の修正集合Bは、a subset of or equal to set IであるJを付加することによって遂行される(上記に代替として説明されたように、これはLeaf(I)の緩和である)、および(2)反復改善のためのステップ157からステップ153へのルーピング、を有する。
図8Aおよび
図8Bの手続きは、
図8Cのインスタンスであるということがファクトである。
【0065】
図9は、例示的なコンピュータ支援設計ステーション300の概略ブロック図であり、本明細書ではコンピュータシステムと呼ぶこともできる。本明細書で用いられる場合、用語「コンピュータ支援設計ステーション」および「コンピュータシステム」は、一般に、上述したプロセスおよび/または上述したプロセスに関連する場合もある付加的な任意のプロセスを遂行するために使用されるのに適した任意の計算装置を指す。
【0066】
例示的実施形態において、コンピュータ支援設計ステーション300は、上述したプロセスおよび/または上述したプロセスに関連する場合もある付加的な任意のプロセスを遂行する1または複数のプロセッサ302(CPU)を含む。用語「プロセッサ」は、一般に、システムおよびマイクロコントローラ、RISC(reduced instruction set circuits)、ASIC(application-specific integrated circuits)、プログラマブル論理回路、および/または本明細書で説明される機能を実行する能力があるその他の回路またはプロセッサを含む、任意のプログラマブルシステムを指すことを理解されたい。上記の例は、単に例示的であり、従って、用語「プロセッサ」の定義および/または意味をなんら制限することを意図しない。
【0067】
上述したプロセスおよび/または上述したプロセスに関連する場合もある付加的な任意のプロセスのステップは、例えば、システムバス306によってプロセッサ302に動作可能および/または通信可能に結合されたメモリ領域304においてコンピュータ実行可能命令として格納され得る。「メモリ領域」は、本明細書で用いられる場合、一般に、完全集合検証エンジンまたはプロセスを使用して最終アイテム集合の完成を自動的に決定するまたは検証する時に支援する1または複数のプロセッサによって実行可能なプログラムコードおよび命令を格納する任意の手段を指す。メモリ領域304は、1または2以上のメモリ形態を含むことができる。例えば、メモリ領域304は、不揮発性RAM、磁気RAM、強誘電性RAM、および/または他の形態のRAMを含むことができる、RAM(random-access memory)308を含み得る。メモリ領域304は、ROM(read-only memory)310および/またはフラッシュメモリおよび/またはEEPROM(electrically-erasable programmable read-only memory)も含み得る。HDD(hard-disk drive)312などの、その他の適切な磁気、光、および/または半導体メモリは、単独または他の形態のメモリとの組み合わせにおいてメモリ領域304に含まれ得る。HDD312は、プロセッサ302に送信およびプロセッサ302から受信する時に使用するためのディスクコントローラ314にも結合され得る。さらに、メモリ領域304は、適切なカートリッジディスク、CD−ROM、DVD、またはUSBメモリなどの、デタッチャブルまたはリムーバブルメモリ316にもなり得るし、または含み得る。上記の例は、単に例示的であり、従って、用語「メモリ領域」の定義および/または意味をなんら制限することを意図しない。
【0068】
コンピュータ支援設計ステーション300は、表示コントローラ320に動作可能に結合されるなどで結合された表示装置318も含む。表示コントローラ320は、表示装置318によって表示されるためのシステムバス306経由でデータを受信する。表示装置318は、モニタ、テレビディスプレイ、プラズマディスプレイ、液晶ディスプレイ(LCD)、LED(発光ダイオード)に基づくディスプレイ、有機LED(OLED)に基づくディスプレイ、ポリマーLEDに基づくディスプレイ、表面電界ディスプレイに基づくディスプレイ、投影および/または反射画像を含むディスプレイ、またはその他の適切な電子装置または表示機構になり得るが、これらに限定されない。さらに、表示装置318は、関連するタッチスクリーンコントローラを有するタッチスクリーンを含み得る。上記の例は、単に例示的であり、従って、用語「表示装置」の定義および/または意味をなんら制限することを意図しない。
【0069】
さらに、コンピュータ支援設計ステーション300は、ネットワーク(
図9に図示されず)との通信に使用するためのネットワークインタフェース322を含む。さらに、コンピュータ支援設計ステーション300は、キーボード324、および/またはローラーボール、マウス、タッチパッドなどの、ポインティングデバイス326などの1または複数の入力装置を含む。入力装置は、入力/出力(I/O)インタフェース328によって結合されて制御され、インタフェース328は、システムバス306にさらに結合される。
【0070】
表示装置318、キーボード324、ポインティングデバイス326、ならびに表示コントローラ320、ディスクコントローラ314、ネットワークインタフェース322、およびI/Oインタフェースの一般的な特徴および機能性の説明は、これらの特徴が周知であるので本明細書では簡潔にする目的で省略される。
【0071】
図10は、上述した完全集合検証プロセスおよびエンジン100および/または上述したプロセスに関連する場合もある付加的なプロセスなどの、モデル化オブジェクトのコンピュータ支援設計において使用するための例示的なシステム400の概略ブロック図である。例示的実施形態において、メモリ領域402は、製品アイテム13データ、最終アイテム17データ、BOM23データおよび/または完全集合検証手順および/または集合完了エンジン100などの、PLMデータを格納に使用するための1または複数の記憶装置404を含む。メモリ領域402は、所与の集合で製品を構築するためにBOM23を製品アイテム、サブアセンブリ、子部品、および最終アイテムから成る階層とする木ベースのグラフ構造で表す。いくつかの実施形態において、木ベースのグラフ構造は、有向非巡回グラフ構造である。
【0072】
いくつかの実施形態において、メモリ領域402は、サーバ406に結合され、サーバ406は、ネットワーク412経由で管理者システム408および/またはユーザシステム410に結合される。記憶装置404は、1または複数のデータベースとして具体化され得るし、単一または複数の地理的場所に配置され得るし、またはサーバ406と統合され得る。
【0073】
認識されるように、ネットワーク412は、インターネットなどのパブリックネットワーク、またはLANもしくはWANネットワークなどのプライベートネットワーク、またはそれらの任意の組み合わせとすることができ、PSTNまたはISDNサブネットワークを含むこともできる。ネットワーク412は、Ethernet(登録商標)ネットワークなどの有線ネットワークとすることもでき、またはEDGE,3Gおよび4G無線セルラーシステムを含む、セルラーネットワークなどの無線ネットワークとすることもできる。無線ネットワークは、WiFi(登録商標)、Bluetooth(登録商標)、または周知であるその他の無線方式とすることもできる。このように、ネットワーク412は、単に例示的であり、現在の技術の進歩の範囲をなんら限定するものではない。
【0074】
当業者には認識されるように、管理者システム408および/またはユーザシステム410は、
図9を参照して上述したようなコンピュータ支援設計ステーションか、または周知であるその他の計算システムとすることができる。さらに、管理者システム408および/またはユーザシステム410は、上述したプロセスおよび/または上述したプロセスに関連する場合もある付加的な任意のプロセスを遂行するように構成されることを理解されたい。
【0075】
サーバ406は、上述したプロセス100(
図8)を実行するコンピュータ可読命令を記憶し、そしてこれらの命令をネットワーク412経由で管理者システム408および/またはユーザシステム410に提供する。さらに、サーバ406は、データを必要に応じてメモリ領域402から管理者システム408およびユーザシステム410に提供することもできる。このため、
図10は、クラウドコンピューティング、分散コンピューティングなどを経由したシステム400の実装を含む。
【0076】
モデル化オブジェクトおよび製品ポートフォリオの製品ライフサイクル管理およびコンピュータ支援設計システムにおいて使用するためのシステム、方法、装置、コンピュータプログラム製品、および非一過性コンピュータ可読記憶媒体の例示的実施形態が詳細に上述されている。これらのシステム、方法、装置、コンピュータプログラム製品、およびコンピュータ可読記憶媒体は、本明細書で説明された特定の実施形態に限定されず、むしろ、その方法の動作、プログラム製品および/または記憶媒体、ならびにそのシステムおよび/または装置のコンポーネントは、本明細書で説明された他の動作および/またはコンポーネントから独立および別個に利用され得る。さらに、説明された動作および/またはコンポーネントは、他のシステム、方法、装置、プログラム製品および/または記憶媒体において定義され、またはそれらの組み合わせにおいて使用され得るし、本明細書で説明されたようなシステム、方法、装置、プログラム製品および記憶媒体のみを用いた実施に限定されない。
【0077】
本明細書で説明されたようなコンピュータまたはコンピュータシステムは、少なくとも1つのプロセッサまたは処理ユニットおよびシステムメモリを含む。コンピュータまたはコンピュータシステムは、典型的には、非一過性コンピュータ可読媒体の少なくとも一部の形態を有する。例として、非一過性コンピュータ可読媒体は、コンピュータ記憶媒体および通信媒体を含むが、これらに限定されない。コンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータなどの情報を記憶するための任意の方法または技術で実装される揮発性および不揮発性、リムーバブルおよびノンリムーバブル媒体を含む。通信媒体は、典型的には、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータを搬送波などの変調データ信号または他のトランスポート機構に具体化し、そして任意の情報配信媒体を含む。当業者は、信号の特性のうちの1または複数が信号の情報をエンコードするような方法で設定または変更される、変調データ信号に精通している。上記のいずれの組み合わせもコンピュータ可読媒体の範囲内に含まれる。
【0078】
本発明は、例示的なコンピュータシステム環境と関連して説明されているが、本発明の実施形態は、他の多数の汎用または専用コンピュータシステム環境または構成を用いて動作可能である。コンピュータシステム環境は、本発明の任意の態様の使用または機能性の範囲に関してなんら限定を示唆することを意図しない。さらに、コンピュータシステム環境は、例示的なオペレーティング環境において図示されたコンポーネントの任意の1つまたは組み合わせに関する依存性または要件を有するものと解釈されるべきでない。本発明の態様を用いて使用するのに適した周知のコンピュータシステム、環境、および/または構成は、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドまたはラップトップデバイス、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラマブル消費家電、モバイル電話、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ、上記のいずれかのシステムまたは装置を含む分散コンピューティング環境などを含むが、これらに限定されない。
【0079】
本発明の実施形態は、プログラムコンポーネントまたはモジュールなどの、1または複数のコンピュータまたは他の装置によって実行されるコンピュータ実行可能命令の一般的な状況において説明され得る。本発明の態様は、任意の数および組織の非一過性コンポーネントまたはモジュールに実装され得る。例えば、本発明の態様は、本明細書で図示および説明された特定のコンピュータ実行可能命令または特定のコンポーネントまたはモジュールに限定されない。本発明の代替的実施形態は、本明細書で図示および説明された機能性よりも多いまたは少ない機能性を有する異なるコンピュータ実行可能命令またはコンポーネントを含むことができる。
【0080】
本明細書で図示および説明された本発明の実施形態における動作の実行または遂行の順序は、特に指定のない限り必須ではない。つまり、その動作は、特に指定のない限り任意の順序で遂行されてよく、本発明の実施形態は、本明細書で説明された動作よりも多いまたは少ない動作を含んでよい。例えば、特定の動作を他の動作の前、同時、または後に実行または遂行することは、本発明の範囲内であることが企図される。
【0081】
本発明の態様または実施形態の要素を紹介する場合、冠詞「a」、「an」、「the」、および「said」は、その要素が1または複数存在するという意味を意図する。用語「備える(comprising)」、「含む(including)」および「有する(having)」は、内包的であることを意図し、記載された要素以外の付加的な要素もあり得ることを意味する。
【0082】
この明細書は、最良の形態を含む本発明を開示し、さらに当業者が任意の装置またはシステムの作成および使用と任意に組み込まれた方法の遂行とを含む、本発明を実施することを可能にするための例を使用する。本発明の特許可能な範囲は、特許請求の範囲によって規定され、当業者が想起する他の例を含むことができる。そのような他の例が、特許請求の範囲の文字通りの言葉と相違ない構造的要素を有する場合、または特許請求の範囲の文字通りの言葉と本質的な差がない等価の構造的要素含む場合、そのような他の例は、特許請求の範囲の範囲内であることを意図する。
【0083】
本明細書に列挙されたすべての特許、公開された出願および参考文献の教示は、それらのすべてが参照により組み込まれる。
【0084】
本発明は、その例示的実施形態を参照して詳細に説明されているが、添付の特許請求の範囲によって含まれる本発明の範囲から逸脱しない範囲において形態および詳細のさまざまな変更が行われてよいことが当業者には理解されよう。