種々の実施形態は、種々の検討事項を認識し考慮している。例えば、種々の実施形態は、複雑な製品の設計をモデル化する、現在利用可能なあるコンピュータ支援設計(CAD)プログラムにおいて、製品の変形間において共通データの共有ができないことを認識し、考慮している。
例えば、ある場合には、現在利用可能なあるコンピュータ支援設計(CAD)プログラムにおいて、製品の各変形に対して製品の設計モデルが作成される。これらのプログラムでは、これらのモデル間において共通のデータの共有ができない。この結果、製品の設計において可能な種々の変形をキャプチャーするために記憶する必要があるデータ量には、所望したよりもさらなる処理能力、データ記憶装置、及び/又は他のコンピュータ資源が必要となる。
さらに、製品設計の冗長データと種々の変更との間の関係の管理には、思ったよりもさらに時間と努力を要する。加えて、冗長データの存在により、設計の変形間の差異を理解することが思ったよりもさらに難しくなる。この結果、冗長データにより難しさが増し、複雑性が上がり、製品の形成時に望ましくない不一致が生じる。これらの望ましくない不一致を正すために製品を再加工するには、思ったよりも費用がかかる。
種々の実施形態は、製品の設計における可能な種々の変更をキャプチャーすることができるモデルが望ましいことを認識し、考慮している。具体的には、種々の実施形態は、モデルの冗長データの量を所望以上に増やさずに、これら種々の変更をキャプチャーできるモデルを有することが望ましいことを認識し、考慮している。
このため、実施形態では、製品の変形を、記憶装置の要件及び処理能力を最小化するような方法で表す編成のスキーマが提供されている。例えば過去において、製品の複数の変更を記憶する一つの技術は、製品の各変形に対して、航空機システム一式の略図を記憶することであった。
極端な例では、いくつかのポンプ及びアクチュエータの変更などのわずかな違いでも、航空機システム一式の略図の大部分が両方の航空機システム設計に対して独自に保存されてきた。2つの航空機システム一式の略図間の唯一の違いが、単一のポンプまたは単一のアクチュエータの構成の違いであった場合、航空機システムの略図の第1セットが第1航空機に対して保存され、航空機システムの略図の第2セットが第2航空機に対して保存されてきた。この結果、同じデータの大部分が重複して2回保存され、これにより記憶装置の空き容量を不必要に使用し、2つの製品設計コンフィギュレーション間での違いを理解することが難しくなる。
しかしながら、数十万の、または何百万ものコンポーネントを含む何百万もの製品の変形を記憶するこの従来の技術を使用した時に、記憶されたデータの重複が膨大な量となるため、製品のスキーマのうちで変更を保存し、比較し、また操作するために使用する記憶装置の空き容量及び処理能力が不適切なものとなる。図示した実施形態は、最少量の記憶装置の空き容量を使用して製品の変更を表す編成スキーマを提供することによってこの問題、及び他の問題に対処する。
種々の実施形態は、製品ファミリー内で完全に構成された変形設計間での製品データの共有を支持するモデルが望ましいことを認識し、考慮している。種々の実施形態は、製品のコンポーネントに対し、製品の製品構成の種々の変更間で共通のデータを、種々のコンポーネントの表現が共有することが可能になるモデルを提供する。このモデルにより、製品の製品構成の複数の階層レベル全体でその製品の設計データを共有することが可能になる。
したがって、この実施形態により、製品の複数の変更を表現している時に、冗長データが最小限に抑えられる、または除去される。さらに、種々の実施形態により、冗長データを使用せずに、製品設計コンフィギュレーション間の違いを正確に識別し、表示するために使用されるモデルが提供される。この方法では、製品設計コンフィギュレーション間の違いに対する理解が深まる。具体的には、オペレータは、種々の実施形態において提供されるモデルを使用して、製品設計間の違いをより簡単に見つけ、理解することができる。
たとえば、種々の実施形態によって提供されるモデルにおいて、サブアセンブリの一つのコンポーネントの変更の表現をモデルに加えるのに、サブアセンブリのコンポーネントを表すすべてのオブジェクトをモデルにおいて複製する必要がない。このフィーチャは完全に構成されたモデルのフィーチャであり、いかなるフィルタリング機構も使用せずに提供される。このモデルは、製品の種々の変形のテンプレートとして機能する製品の製品構成の全体編成を認識する。この方法において、製品の種々の変形の表現間で共有されるデータが最大化される。
さらに、種々の実施形態によって提供されるモデルを、製品の製品構成の種々の抽象化に使用できる。これらの抽象化には、たとえば非限定的に、幾何学的設計、論理システム設計、または他の何らかの好適な種類の抽象化が含まれる。このモデルは、製品の新たな変形の表現をモデルに加えるために加えられる新たなデータ量が、新たな変形に必要な設計変更量に比例するように、階層的な製品構成のデータ拡張性を実現する。これら種々の抽象化は、クラスをサブクラスに分ける、または種類別に分けることによって行われる。
したがって、種々の実施形態は、製品構成のモデルを使用して、その製品の製品構成の変更を管理する方法及び装置を提供する。種々の実施形態に関連する種々の用語のリストと、本明細書で使用するこれらの用語の説明を図35A〜35Cに示す。
ここで図面を参照すると、図1は、一実施形態によるブロック図形式の製品管理システムを示している。これらの実施例では、製品管理システム100は、製品102についての情報を管理し、視覚的に表示するように構成されている。本明細書で使用する「製品」、たとえば製品102は、労働または努力によって作製されたすべてのアイテムまたは活動またはプロセスの結果得られたすべてのアイテムである。
製品102は、有形製品104及び無形製品106のうちの一つから選択される。本明細書で使用する「有形製品」たとえば有形製品104は、触ることによって認識できるすべての物理的オブジェクトである。例えば、有形製品104は、非限定的に、可動プラットフォーム、固定プラットフォーム、ビークル、家、電気機械システム、エンジン、ロボット機械、ツール、コンピュータシステム、電気器具、人造構造、建造物、1点の家具、執筆道具、容器、航空機、または他の何らかの好適な種類の有形オブジェクトの形態である。ある実施例では、製品102は、少なくとも百万個のコンポーネントを含む航空機であり得る有形製品104である。
本明細書で使用する「無形製品」、たとえば無形製品106は、間接的にのみ認識することができ、触ることによって認識することができないすべてのアイテムである。例えば、無形製品106は、非限定的に、ビジネス編成製品、パワーポイントによるプレゼンテーション、論理システム設計、建築計画、アセンブリ順序、製造計画、シミュレーションモデル、機能設計、コンピュータ支援設計(CAD)モデル、ポリシー、ハンドブック、ダンスルーティン、または他の何らかの好適な種類の無形アイテムの形態である。
これらの実施例では、製品102は、コンポーネント108を含む。コンポーネント108は、互いに合わさって製品102を形成する種々のアイテムである。コンポーネント108は、実装態様によって有形コンポーネントまたは無形コンポーネントを含む。ある実施例では、有形製品104のコンポーネント108は、有形及び無形コンポーネントの両方を含む。当然ながら、無形製品106のコンポーネント108は、これらの実施例では無形コンポーネントのみを含む。
コンポーネント108の各コンポーネントは、リーフコンポーネントまたはアセンブリコンポーネントのいずれかとして説明されている。本明細書で使用する「リーフコンポーネント」とは、サブコンポーネントを全く有さないコンポーネントである。つまり、リーフコンポーネントは、他のコンポーネントでできていない製品102の主要なコンポーネントである。ある場合には、製品102はリーフコンポーネントである。つまり、製品102は、分割不能でサブコンポーネントを全く有さない単一のコンポーネントである。
本明細書で使用する「アセンブリコンポーネント」とは、2以上のサブコンポーネントでできている。製品102は、これらの実施例ではアセンブリコンポーネントとみなされる。ある場合には、アセンブリコンポーネントのサブコンポーネントはリーフコンポーネントまたは別のアセンブリコンポーネントである。さらに、別のアセンブリコンポーネントのパーツであるアセンブリコンポーネントは、サブアセンブリコンポーネントと呼ばれる。
図示したように、製品102は製品構成112を備える。これらの実施例では、製品構成112は、製品102を形成するコンポーネント108に対して製品102の論理階層を分解したものである。言い換えれば、製品構成112はコンポーネント108間の関係、及びコンポーネント108のアセンブリコンポーネントを形成するサブコンポーネント間の関係を示したものである。
これらの実施例では、製品構成112は、ドメイン117のグループから選択されたドメイン115に対して、製品102の論理階層を分解したものである。ある実施例では、製品102はドメイン117のグループの特定のドメイン内に複数の製品構成を有する。
本明細書で使用するアイテム「のグループ」、例えばドメイン117のグループは、1つ又は複数のアイテムを意味する。ここでは「ドメイン117のグループ」は、1つ又は複数のドメインである。本明細書で使用する「ドメイン」は、製品102の特定レベルを抽象化したものである。つまり、これらドメインは各々製品102を違った方法で示したものである。ドメイン117のグループは、例えば非限定的に、幾何学的ドメイン、システムドメイン、製造ドメイン、及び/又は他の種類のドメインを含む。
ある場合には、製品構成112は、製品102を形成するコンポーネント108に対して、製品102の設計の論理階層を分解したものである。さらに、製品構成112は、製品102の標準構成と、製品102のコンポーネント108をキャプチャーする。幾つかの実施例では、製品構成112は部品表(BOM)と呼ばれる。他の実施例では、製品構成112は拡張汎用製品構成(EGPS)と呼ばれる。
製品構成112の製品102の論理階層の分解は、製品102を形成するコンポーネント108を示す選択されたレベルの抽象化に基づくものである。例えば、製品102を形成するコンポーネント108は、選択された詳細レベル、コンポーネント108に対して選択されたドメイン、又は製品102を形成するコンポーネント108を示す他の何らかの好適な抽象化レベルのうちの一つにしたがって製品構成112に編成される。
製品管理システム100は、製品102の製品構成112を管理するように構成される。具体的には、製品管理システム100のデータマネージャ116は、製品102の製品構成112を管理する。データマネージャ116は、ハードウェア、ソフトウェア、またはその二つの組み合わせを使用して実装される。
たとえば、データマネージャ116は、コンピュータシステム118で実行される。コンピュータシステム118は、一又は複数のコンピュータを備える。コンピュータシステム118内に複数のコンピュータが存在する場合には、これらのコンピュータは相互に通信することができる。コンピュータシステム118を実装する一方法の例を、下記の図36に示す。
これらの実施例において、製品管理システム100のデータマネージャ116は、モデル114を使用して製品102の製品構成112を管理する。モデル114は、実質的に包括的であるが理解しやすい形式の製品構成112の表現である。さらに、モデル114は、結果的に製品102の種々の変形が得られる製品構成112の変更を表すように構成されている。データマネージャ116は、モデル114を使用して製品102の製品構成112の変更を管理する。
図示したように、データマネージャ116はオブジェクト120を使用してモデル114を作成するように構成される。オブジェクト120はクラス122に属する。オブジェクト120は、製品102を形成するコンポーネント108及び/又はコンポーネント108の種類を表す。クラス122のうちの特定のクラスに属するオブジェクト120のうちのあるオブジェクトは、その特定のクラスの種類のオブジェクトである。つまり、特定のクラスに属するオブジェクトは、その特定のクラスの属性と同じ属性を共有する。
オブジェクト指向のプログラミングにおいては、オブジェクトはクラスの「インスタンス」と呼ばれる。しかしながら、これらの実施例では、単語「インスタンス」及び「インスタンス化」は違った使われ方をする。本明細書で使用するアイテムの「インスタンス」又は「インスタンス化」は、そのアイテムのモデル114における使用を意味する。例えば、オブジェクト120のうちの一つ等のオブジェクトのインスタンス化とは、そのオブジェクトのモデル114における使用である。
これらの実施例では、クラス122は基本クラス121から派生する。つまり、基本クラス121は、クラス122のうちの他のすべてのクラスが直接又は間接的にベースとするベースクラスである。クラス122のうちの各クラスは、クラスが派生する基本クラス121の対応する基本クラスの属性を共有する。クラス122のうちの特定のクラスに属するモデル114のオブジェクト120のうちのあるオブジェクトは、特定のクラスが派生する基本クラス121のうちの対応する基本クラスにも属すると見なされる。
クラス122のうちのあるクラスは、基本クラス121のうちのある基本クラスから直接又は間接的に派生する。基本クラスから間接的に派生するクラス122のうちのあるクラスは、基本クラスから直接派生するクラス122のうちの別のクラスから直接派生するクラスである。この種の派生は、間接的派生の一つのレベルに対応する。実装態様によっては、クラス122のうちのあるクラスと、基本クラス121のうちのある基本クラスとの間に間接的派生のレベルが一以上存在する。
基本クラス121の一つに属するオブジェクトは、基本オブジェクトと呼ばれる。図示したように、基本クラス121はマスタークラス124及びコンフィギュレーションクラス126を含む。マスタークラス124の一つに属するオブジェクトは、マスターオブジェクトと呼ばれる。マスターオブジェクトは、製品102の製品構成112のコンポーネントを表す。コンフィギュレーションクラス126の一つに属するオブジェクトは、コンフィギュレーションオブジェクトと呼ばれる。これらの実施例では、コンフィギュレーションオブジェクトはマスターオブジェクトに対応する。具体的には、コンフィギュレーションオブジェクトは、対応するマスターオブジェクトで表される製品102の製品構成112のコンポーネントのコンフィギュレーションを表す。
本明細書で使用する、コンポーネントの「コンフィギュレーション」は、そのコンポーネントの特定の実装態様である。例えば、製品102の製品構成112のコンポーネントのコンフィギュレーションは、製品102の製品構成112の変更である、又は製品102の製品構成112の特定の変更に関連付けられる。
同じコンポーネントの種々のコンフィギュレーションは、例えば非限定的に、種々のフィーチャを有する、種々の特性を有する、種々の形状を有する、種々の材料からなる、種々のアタッチメントを有する、及び/又は他の異なる特徴を有する。これらの実施例では、コンフィギュレーションオブジェクトは、一つのマスターオブジェクトにのみ属する。しかしながら、一よりも多いコンフィギュレーションオブジェクトが同じマスターオブジェクトに属する場合がある。
図示したように、マスタークラス124は、定義クラス132、使用クラス134、及びオカレンスクラス136を含む。定義クラス132に属するオブジェクトは、定義オブジェクトと呼ばれる。使用クラス134に属するオブジェクトは、使用オブジェクトと呼ばれる。オカレンスクラス136に属するオブジェクトは、オカレンスオブジェクトと呼ばれる。
このように、定義オブジェクト、使用オブジェクト、及びオカレンスオブジェクトは、マスターオブジェクトの例である。定義オブジェクト、使用オブジェクト、及びオカレンスオブジェクトの実装態様の例を、下記の図2〜5にさらに詳しく示す。
コンフィギュレーションクラス126は、定義コンフィギュレーションクラス138、使用コンフィギュレーションクラス140、及びオカレンスコンフィギュレーションクラス142を含む。定義コンフィギュレーションクラス138に属するオブジェクトは、定義コンフィギュレーションオブジェクトと呼ばれる。使用コンフィギュレーションクラス140に属するオブジェクトは、使用コンフィギュレーションオブジェクトと呼ばれる。オカレンスコンフィギュレーションクラス142に属するオブジェクトは、オカレンスコンフィギュレーションオブジェクトと呼ばれる。
このように、定義コンフィギュレーションオブジェクト、使用コンフィギュレーションオブジェクト、及びオカレンスコンフィギュレーションオブジェクトはコンフィギュレーションオブジェクトの例である。ドメインコンフィギュレーションオブジェクト130のグループの定義コンフィギュレーションオブジェクト、使用コンフィギュレーションオブジェクト、及びオカレンスコンフィギュレーションオブジェクトを下記の図6〜9にさらに詳しく示す。
クラス122は、ドメインクラス119と、補助クラス123のセットを含む。ドメインクラス119は、選択されたドメイン115の基本クラス121から派生する。具体的には、ドメインクラス119は、選択されたドメイン115に対して各マスタークラス124と、各コンフィギュレーションクラス126から派生したクラスを含む。ドメインクラス119の一つに属するオブジェクトは、ドメインオブジェクトと呼ばれる。
補助クラス123のセットは、基本クラス121及び/又はドメインクラス119から派生したクラスである。基本クラス121のうちのある基本クラスから直接派生したドメインクラス119のうちのあるドメインクラスから派生した補助クラス123のうちのある補助クラスは、基本クラスから間接的に派生したと見なされる。補助クラス123のセットに属するオブジェクトは、補助オブジェクトと呼ばれる。
モデル114のオブジェクト120は、ドメインクラス119に属するドメインオブジェクト125のグループと、補助クラス123のセットに属する補助オブジェクト127のセットを含む。本明細書で使用するアイテムの「セット」とは、ゼロ個以上のアイテムを意味する。例えば、補助オブジェクト127のセットはゼロ、1、2、又は他の何らかの数の補助クラスである。このように、ある場合には、補助オブジェクト127のセットは空集合又はゼロ集合である。
ドメインオブジェクト125のグループのあるドメインオブジェクトとは、製品構成112に必要とされるオブジェクトである。図示したように、ドメインオブジェクト125のグループには、ドメインマスターオブジェクト128のグループと、ドメインコンフィギュレーションオブジェクト130のグループが含まれる。
ドメインマスターオブジェクト128のグループは、マスタークラス124から派生したドメインクラス119の一又は複数のドメインマスタークラスに属する。ドメインマスターオブジェクト128のグループには、定義クラス132、使用クラス134、及び/又はオカレンスクラス136に属する任意の数のオブジェクトが含まれる。
さらに、ドメインコンフィギュレーションオブジェクト130のグループは、コンフィギュレーションクラス126から派生したドメインクラス119の一又は複数のドメインコンフィギュレーションクラスに属する。ドメインコンフィギュレーションオブジェクト130のグループには、定義コンフィギュレーションクラス138、使用コンフィギュレーションクラス140、及びオカレンスコンフィギュレーションクラス142に属する任意の数のオブジェクトが含まれる。
これらの実施例では、オブジェクト120は編成141に編成される。編成141は、一次階層編成144及び任意の数の二次階層編成150を含む。ドメインマスターオブジェクト128のグループは、モデル114において一次階層編成144の中に編成される。例えば非限定的に、ドメインマスターオブジェクト128のグループは、ドメインマスターオブジェクト128のグループが製品102に対して一次階層編成144を有するように、モデル114において互いに関連している。
一次階層編成144は、主要構成146及び任意の数のインスタンス化構成148を含む。本明細書で使用する「任意の数の」アイテムは、一又は複数のアイテムを意味する。たとえば、任意の数のインスタンス化構成148は、一又は複数のインスタンス化構成を意味する。
一次階層編成144の主要構成146と、一次階層編成144の任意の数のインスタンス化構成148の各インスタンス化構成は、階層構成である。本明細書で使用する「階層構成」とは、アイテムが上、下、あるいは互いに同じレベルにあることを表すアイテムの配置を表現したものである。通常、階層構成は、親オブジェクト及び子オブジェクトを含む木構造に編成される。
これらの実施例では、第2オブジェクトの上のレベルにある第1オブジェクトは、第2オブジェクトの親オブジェクトである。第2オブジェクトは、親オブジェクトの子オブジェクトである。これらの実施例では、各子オブジェクトは、特定の階層構成において親オブジェクトを1つだけ有する。しかしながら、ある場合には、あるオブジェクトは2つの異なる階層構成のパーツであり、これらの異なる階層構成において2つの異なる親オブジェクトを有する。これらの異なる階層構成は、ある実施例では複数の木構造のパーツと見なされる。
階層構成はルートオブジェクトを有する。本明細書で使用する「ルートオブジェクト」とは、階層構成における最上レベルにあるオブジェクトである。さらに、これらの実施例では、階層構成はサブ構成を有する。本明細書で使用する「サブ構成」は、特定のオブジェクトと、その特定のオブジェクトに関連する全ての子オブジェクトを含む。特定のオブジェクトに関連する子オブジェクトには、特定のオブジェクトの子オブジェクト、特定のオブジェクトの子オブジェクトの子オブジェクトなどが含まれる。サブ構成には、特定のオブジェクトの親オブジェクトは含まれない。
主要構成146は、複数の階層レベルを使用して、コンポーネント108に対して製品102の階層を分解したものを表す。製品102は、一次階層編成144の主要構成146のルートオブジェクトによってモデル114において表わされる。
主要構成146の一または複数のドメインマスターオブジェクトは、任意の数のインスタンス化構成148のインスタンス化構成に関連付けされる。任意の数のインスタンス化構成148のインスタンス化構成は、一又は複数の階層レベルを使用して、製品102のコンポーネント108のうちの特定のコンポーネントの階層を分解したものを表す。この特定のコンポーネントは、インスタンス化構成のルートオブジェクトによって表わされる。
任意の数のインスタンス化構成148の各インスタンス化構成は、主要構成146と同様の方法で実装される。さらに、これらの実施例では、任意の数のインスタンス化構成148のインスタンス化構成は、インスタンス化構成のルートオブジェクトによって表わされるコンポーネントが製品として見なされる時に、一次階層編成の主要構成と見なされる。
一次階層編成144の任意の数のインスタンス化構成148のうちのインスタンス化構成に関連付けられる主要構成146のドメインマスターオブジェクトは、インスタンス化構成のルートオブジェクトによって表わされる製品102のコンポーネント108のコンポーネントのインスタンスを表す。このコンポーネントのインスタンスは、製品102の特異的な方法におけるコンポーネントの使用である。
インスタンス化構成のルートオブジェクトが、主要構成146のドメインマスターオブジェクトとしてインスタンス化された時、インスタンス化構成内の他のすべてのオブジェクトもまた主要構成146においてインスタンス化される。具体的には、インスタンス化構成のルートオブジェクトが主要構成146のドメイン使用オブジェクトとしてインスタンス化された時、インスタンス化構成内の他のすべてのオブジェクトも、主要構成146のドメイン使用オブジェクトに関連する子オブジェクトであるドメインオカレンスオブジェクトとしてインスタンス化される。
このように、主要構成146のドメインマスターオブジェクトの一部は、インスタンス化構成を表すまたはインスタンス化する。このインスタンス化構成の表現またはインスタンス化は、主要構成146のサブ構成と呼ばれる。つまり、インスタンス化構成は、主要構成146のサブ構成がベースとする「テンプレート」である。具体的には、主要構成146のこのサブ構成は、インスタンス化構成の「軽量」コピーと見なされる。
これらの実施例では、任意の数のインスタンス化構成148のインスタンス化構成は、一次階層編成144の主要構成146の一又は複数のドメインマスターオブジェクトに関連付けされる。つまり、主要構成146内の一又は複数のサブ構成は、特定のインスタンス化構成をベースとする。さらに、インスタンス化構成もまた、インスタンス化構成のルートオブジェクトによって表わされる製品の一次階層編成の主要構成と見なされる。
加えて、ドメインコンフィギュレーションオブジェクト130のグループは、モデル114の任意の数の二次階層編成150の中に編成される。任意の数の二次階層編成150はそれぞれ、一次階層編成144に関連付けされる。ある場合には、二次階層編成は、一次階層編成144「の中にネスト化」されたものと呼ばれる。任意の数の二次階層編成150は各々、モデル114の製品102の特定のコンフィギュレーションまたは変形を表すように構成されている。
さらに、二次階層編成の任意の数のドメインコンフィギュレーションオブジェクトは、製品102の製品編成112の任意の数の変形を表す。これらの変形は、たとえば非限定的に、コンポーネントの配置における変形、コンポーネントのサイズの変形、コンポーネントのフィーチャの変形、コンポーネントの任意のフィーチャ、及び/又は他の好適な種類の変形を含む。
二次階層編成152は、任意の数の二次階層編成150のうちの一つの例である。二次階層編成152は、一次階層編成144と同様の方法で実装される。
例えば、二次階層編成152は、主要構成154と任意の数のインスタンス化構成156を含む。二次階層編成152の主要構成154と任意の数のインスタンス化構成156は、一次階層編成144のそれぞれの主要構成146及び任意の数のインスタンス化構成148と同様の方法で実装される。主要構成154と任意の数のインスタンス化構成156の各インスタンス化構成は、階層インスタンス化構成である。
二次階層構成152の主要構成154は、一次階層編成144の主要構成146と同様に実装される。二次階層編成152の任意の数のインスタンス化構成156は、一次階層編成144の任意の数のインスタンス化構成148と同様に実装される。
これらの実施例では、二次階層編成152の主要構成154は、複数の階層レベルを使用して、製品102の特定の構成の階層を分解したものを表す。主要構成154は、製品102の各コンフィギュレーションの主要構成を含む。二次階層編成152の任意の数のインスタンス化構成156のインスタンス化構成は、任意の数の階層レベルを使用して、製品102のコンポーネント108のうちの一つのコンポーネントの特定コンフィギュレーションの階層を分解したものを表す。
これらの実施例では、一次階層編成144及び任意の数の二次階層編成150を形成するドメインオブジェクト125のグループは、モデル114が作成された選択ドメイン115専用である。具体的には、ドメインマスターオブジェクト128のグループ及びドメインコンフィギュレーションオブジェクト130のグループは、モデル114が作成される選択ドメイン115専用である。
ドメインマスターオブジェクト128のグループ及びドメインコンフィギュレーションオブジェクト130のグループは、選択ドメイン115の基本単位名を使用して名づけられる。例えば、幾何学的ドメインの基本単位は「パーツ」であり、システムドメインの基本単位は「システム」であり、製造ドメインの基本単位は「シーケンス」である。
ある実施例として、選択ドメイン115は製品102の幾何学的ドメインである。この結果、幾何学的ドメインに対してドメインマスターオブジェクト128のグループが作成されると、定義クラス132に属するドメイン定義オブジェクトは部分定義オブジェクトと呼ばれ、使用クラス134に属するドメイン使用オブジェクトは部分使用オブジェクトと呼ばれ、オカレンスクラス136に属するドメインオカレンスオブジェクトは部分オカレンスオブジェクトと呼ばれる。ある場合には、部分定義オブジェクトは単に部分オブジェクトと呼ばれる。
同様に、幾何学的ドメインに対してドメインコンフィギュレーションオブジェクト130のグループが作成されると、定義コンフィギュレーションクラス138に属するドメイン定義コンフィギュレーションオブジェクトは部分定義コンフィギュレーションオブジェクトと呼ばれ、使用コンフィギュレーションクラス140に属するドメイン使用コンフィギュレーションオブジェクトは部分使用コンフィギュレーションオブジェクトと呼ばれ、オカレンスコンフィギュレーションクラス142に属するドメインオカレンスコンフィギュレーションオブジェクトは部分オカレンスコンフィギュレーションオブジェクトと呼ばれる。ある場合には、部分定義コンフィギュレーションオブジェクトは単に、部分コンフィギュレーションオブジェクトと呼ばれる。
一次階層編成144と任意の数の二次階層編成150は、モデル114の冗長性を減らし、モデル114に表わされる情報量を増やすように、製品102の製品構成112と、製品102の製品構成112における変更を表すために使用される。さらに、一次階層編成144と任意の数の二次階層編成150により、記憶する必要のあるデータ量を所望以上に増やすことなしに、製品構成112のコンポーネント108の階層の分解に対してモデル114の所望の特異性レベルを維持できる。
具体的には、一次階層編成144により、製品102の製品構成112のすべての変形、及び/又はすべての製品設計データがキャプチャーされ、製品102の変更の間で共有されるベースアーキテクチャまたはテンプレートが提供される。製品102の各変形は、二次階層編成を使用して表わされる。
たとえば、製品102の新たな変形をモデル114に表わす時、データマネージャ116は二次階層編成152をモデル114に追加し、二次階層編成152を一次階層編成144内でネスト化してこの新たな変形を表す。この動作は、この変形の新たな一次階層編成を作成する代わりに行われる。
二次階層編成152を形成するためにモデル114に追加されるドメインコンフィギュレーションオブジェクトの数は、新たな一次階層編成を使用して、モデル114の新たな変形を表すために複写する必要のあるドメインマスターオブジェクトの数よりも少ない。例えば、二次階層編成152は、任意の数の二次階層編成150の別の二次階層編成と同じ数のドメインコンフィギュレーションオブジェクトを共有する。
二次階層編成152を形成するために追加する必要がある唯一の新たなドメインコンフィギュレーションオブジェクトは、製品102の新たな変形を形成するコンポーネントの一又は複数の新たな変更をそれぞれ表すのに必要な一又は複数のドメインコンフィギュレーションオブジェクトである。このように、二次階層編成152は、製品102の新たな変形を表すように構成される最適化された製品の変形構成である。
二次階層編成152は、製品102の新たな変形を表すのに必要なドメインコンフィギュレーションオブジェクトの数を減らすように最適化される。この最適化された製品の変形構成により、モデル114の全体的なデータフットプリントが削減される。本明細書で使用する例えばモデル114等のデータ構成の「データフットプリント」は、データ構成を記憶するのに必要なデータ記憶装置の量である。
たとえば、製品102は数十億、または何兆ものコンポーネントを含む航空宇宙輸送手段である。製品102の新たな変形は、製品102の単一のファスナーの変更を含む。モデル114内のこの変更の表現は、モデル114内に新たな二次階層編成を形成することによって実施される。
この新たな二次階層編成は、この特定の階層レベルの上の編成141のすべての階層レベルに対して、ファスナーの変更及び新たなドメインコンフィギュレーションオブジェクトを表すために、編成141内における特定の階層レベルの新たなドメインコンフィギュレーションオブジェクトを含む。しかしながら、新たな二次階層編成は、すでにモデル114内の他の二次階層編成の一部である事前に作成されたドメインコンフィギュレーションオブジェクトを共有する。
ある実施例では、製品102の新たな変形が、ドメインマスターオブジェクトが同じ親オブジェクトの子オブジェクトである編成141内の特定の階層レベルのドメインマスターオブジェクトによって表わされる複数のコンポーネントに対する変更を含む場合、これらのドメインマスターオブジェクトに対し特定の階層レベルにおいて新たなドメインコンフィギュレーションオブジェクトがモデル114に追加される。しかしながら、親オブジェクトに対して、特定の階層レベルより上の各階層レベルにおけるこの変更の集合を表すためには、一つの新たなドメインコンフィギュレーションオブジェクトのみを追加する必要がある。このように、この新たな二次階層編成は、製品102の新たな変形を表すことに関連するデータフットプリントを削減するために最適化される。
これらの実施例では、任意の数の二次階層編成150の少なくとも2つの二次階層編成は、同じ数のドメインコンフィギュレーションオブジェクトを共有する。さらに、任意の数の二次階層編成150の異なる二次階層編成の間で、ドメインコンフィギュレーションオブジェクト130のグループの任意の数のドメインコンフィギュレーションオブジェクトが共有される。
この結果、複数の一次階層編成を使用することと比較して、任意の数の二次階層編成150を使用することにより、製品102の製品構成112の異なる変更の相互との、及び製品102の標準構成との関連付けがよりしやすくなり、必要とされるデータも削減される。任意の数の二次階層編成150は、任意の数の最適化された製品の変形構成151と呼ばれる。
別の実施例では、ドメインマスターオブジェクト(128)のグループのうちの一つのドメインマスターオブジェクトは、ドメイン定義オブジェクト、ドメイン使用オブジェクト、及びドメインオカレンスオブジェクトのうちの一つから選択される。別の変形において、任意の数の最適化された製品(102)の変形構成(151)のうちの少なくとも2つの最適化された製品(102)の変形構成(151)は、同じ数のドメインコンフィギュレーションオブジェクト(130)を共有する。さらなる実施例では、ドメインコンフィギュレーションオブジェクト(130)のグループのドメインコンフィギュレーションオブジェクトは、ドメイン定義コンフィギュレーションオブジェクト、ドメイン使用コンフィギュレーションオブジェクト、及びドメインオカレンスコンフィギュレーションオブジェクトのうちの一つから選択される。
さらに有用な変更例では、一部においてモデル(114)を含む、ある製品の製品構成(112)の変更を管理する装置が考えられる。モデル(114)は、ドメインマスターオブジェクト(128)のグループのドメインマスターオブジェクトが対応する基本クラスから派生したドメインマスタークラスに属するドメインマスターオブジェクト(128)のグループを有する一次階層編成(144)を含む。また、ドメインコンフィギュレーションオブジェクト(130)のグループのドメインコンフィギュレーションオブジェクトが対応する基本クラスから派生したドメインコンフィギュレーションクラスに属するドメインコンフィギュレーションオブジェクト(130)のグループを各々有する任意の数の最適化された製品(102)の変形構成(151)も含まれ、ドメインコンフィギュレーションオブジェクト(130)のグループの各ドメインコンフィギュレーションオブジェクトは、ドメインマスターオブジェクト(128)のグループの対応するドメインマスターオブジェクトによって表わされるコンポーネントのコンフィギュレーションを表す。
製品の製品構成(112)の変更を管理するために考慮される装置はさらに任意に、モデル(114)を使用して製品構成(112)の変更を管理し、一次階層編成(144)に関連付けられたモデル(114)の新たな最適化された製品(102)の変形構成を作成することによってモデル(114)の製品(102)の変形を表すように構成されたデータマネージャ(116)を含む。製品(102)の変形には、製品(102)の製品構成(112)に対する任意の数の変更が含まれ、新たな最適化された製品(102)の変形構成は、任意の数の最適化された製品(102)の変形構成(151)の別の最適化された製品(102)の変形構成と、少なくとも一つのコンフィギュレーションオブジェクトを共有する。
ある実施例では、モデル114は、補助クラス123のセットに属する補助オブジェクト127のセットを含む。補助クラス123のセットは、ドメインクラス119に対する補助である。つまり、補助オブジェクト127のセットは補足的なものであり、製品102の基礎構成の表現には不必要である。このように、補助オブジェクト127のセットは、製品102の製品構成112についての補足情報を提供する。
補助オブジェクト127のセットは、ドメインクラス119から派生した補助クラスに属するドメイン補助オブジェクト129のセットと、基本クラス121から派生した補助クラスに属する独立補助オブジェクト131のセットを含む。
ドメイン補助オブジェクト129のセットは、ドメイン補助マスターオブジェクト133のセットと、ドメイン補助コンフィギュレーションオブジェクト135のセットを含む。ドメイン補助マスターオブジェクト133のセットは、ドメインマスタークラスから派生した補助クラスに属する補助オブジェクトであり、ドメインマスタ―クラスはマスタークラス124から派生したものである。同様に、ドメイン補助コンフィギュレーションオブジェクト135のセットは、ドメインコンフィギュレーションクラスから派生した補助クラスに属する補助オブジェクトであり、ドメインコンフィギュレーションクラスはコンフィギュレーションクラス126から派生したものである。
独立補助オブジェクト131のセットは、独立補助マスターオブジェクト137のセットと、補助コンフィギュレーションオブジェクト139のセットを含む。独立補助マスターオブジェクト137のセットは、マスタークラス124から派生した補助クラスに属する補助オブジェクトである。独立補助コンフィギュレーションオブジェクト139のセットは、コンフィギュレーションクラス126から派生した補助クラスに属する補助オブジェクトである。
補助クラス123のセットは、たとえば非限定的に、ポートクラス158と関連クラス160を含む。ポートクラス158に属するポートオブジェクトは、ポートマスターオブジェクトまたはポートコンフィギュレーションオブジェクトのいずれかである。さらに、関連クラス160の一つに属する関連オブジェクトは、関連マスターオブジェクトまたは関連コンフィギュレーションオブジェクトのいずれかである。
ポートマスターオブジェクトは、製品102の接続点、または製品102のコンポーネントを表す。この接続点は、物理的な接続点または論理的な接続点である。例えば、ポートマスターオブジェクトは、物理的インターフェース、物理的接続要素、出口、プラグ差し込み口、コネクタ、論理インターフェース、データインターフェース、仮想データ接続、またはその他何らかの種類の接続点を表す。ポートコンフィギュレーションオブジェクトは、特定のポートマスターオブジェクトに対応する。ポートコンフィギュレーションオブジェクトは、特定のポートマスターオブジェクトによって表わされる接続点の特定のコンフィギュレーションを表す。
関連マスターオブジェクトは、2つのオブジェクト間の関係を表す。具体的には、関連マスターオブジェクトは、基本クラス121に属するオブジェクト間の階層関係、及びインスタンス化の関係によって明確には表わされていない任意の種類の関連付けを表す。関連コンフィギュレーションオブジェクトは、特定の関連マスターオブジェクトに対応する。関連コンフィギュレーションオブジェクトは、特定の関連マスターオブジェクトによって表わされる関係に対して特定のコンフィギュレーションを表す。
関連クラス160は、例えば非限定的に、昇格クラス162と接続クラス164を含む。これら種々の補助クラスは各々、ドメインクラス119のうちの一つまたは基本クラス121のうちの一つのいずれかから派生したものである。
具体的に、補助オブジェクトは、補助オブジェクトが属する補助クラスと、補助クラス、及び/又は補助クラスが派生した基本クラス及び/又はドメインクラスの両方にしたがって機能する。補助オブジェクトが属する補助クラスは、補助オブジェクトに対し一又は複数の制約を課す、及び/又は一又は複数の特性を付与し、これはモデル114内の補助オブジェクトの働きによって変化する。
これらの実施例では、補助オブジェクト127のセットは、一次階層編成144のパーツ、及び/又は任意の数の二次階層編成150のパーツと見なされる。例えば、補助オブジェクトは、一次階層編成144のあるオブジェクトの子オブジェクト、または任意の数の二次階層編成150のうちの一つである。しかしながら、ある場合には、補助オブジェクトは、主要構成146のパーツ、または一次階層編成144の任意の数のインスタンス化構成148のパーツ、または主要構成154のパーツ、または任意の数の二次階層編成150のうちの一つの任意の数のインスタンス化構成156のパーツとして見なされない。
たとえば、一又は複数の補助オブジェクト127のセットは、一次階層編成144内の任意の数の補助インスタンス化構成165に属する。さらに、一又は複数の補助オブジェクト127のセットは、たとえば二次階層編成152の補助インスタンス化構成167のセットなどの任意の数の二次階層編成150のうちの一つの中の補助インスタンス化構成のセットに属する。
補助インスタンス化構成は、主要構成146に接続されたサブ構成として、又は一次階層編成144の任意の数のインスタンス化構成148のうちの一つとしてインスタンス化される階層構成である。ある場合には、補助インスタンス化構成は、主要構成154に接続されたサブ構成、又は二次階層編成152の任意の数のインスタンス化構成156のうちの一つとしてインスタンス化される階層構成である。
ある実施例では、任意の数の二次階層編成150のうちの少なくとも2つの二次階層編成は、同じ数の補助コンフィギュレーションオブジェクトを共有する。さらに、補助オブジェクト127のセットの任意の数の補助コンフィギュレーションオブジェクトは、任意の数の二次階層編成150の異なる二次階層編成間において共有される。
これらの実施例では、製品管理システム100はデータマネージャ116に加えてビジュアライザ166を含む。図示したように、ビジュアライザ166はコンピュータシステム118で実行される。ビジュアライザ166は、モデル114において表わされる製品構成112についての情報を視覚的に表示するように構成されている。具体的には、ビジュアライザ166は、ユーザが理解しやすいように、モデル114で表される製品102の製品構成112についての情報を視覚的に表示する。
ビジュアライザ166は、グラフィカルユーザインターフェース168において製品102の製品構成112についてのこの情報を視覚的に表示する。グラフィカルユーザインターフェース168は、表示システム170での表示用に構成されている。
さらに、グラフィカルユーザインターフェース168は、任意の数のユーザ入力デバイス174を通してユーザ入力172を受信するように構成されている。このように、ユーザは任意の数のユーザ入力デバイス174を通してユーザ入力172をすることによって、グラフィカルユーザインターフェース168と交信することができる。
任意の数のユーザ入力デバイス174には、ユーザがグラフィカルユーザインターフェース168と交流することを可能にするように構成されたすべてのデバイスが含まれる。任意の数のユーザ入力デバイス174には、たとえば非限定的に、キーボード、マウス、ジョイスティック、タッチスクリーン、タッチパッド、ペン、ポインタ、マイクロホン、及び/又はその他何らかの好適な種類のユーザ入力デバイスが含まれる。
グラフィカルユーザインターフェース168により、ユーザがモデル114に修正を加えて製品102の製品構成112を修正することが可能になる。例えば、非限定的に、グラフィカルユーザインターフェース168により、ユーザが製品構成112へ変更を追加し、また製品構成112から変更を除去する、製品構成112へ一又は複数のコンポーネントを追加する、また製品構成112から一又は複数のコンポーネントを除去する、製品構成112のコンポーネント間の一又は複数の関係を追加する、また除去する、及び/又はモデル114を修正することによって、何らかの他の好適な方法で製品構成112を修正することが可能になる。
このように、製品管理システム100は、製品102の製品構成112のモデル114を管理し、またグラフィカルユーザインターフェース168において製品構成112についての情報を視覚的に表示するために使用される。さらに、ユーザはグラフィカルユーザインターフェース168と交流して、モデル114を修正して、製品102の製品構成112の変更を表示することができる。
たとえば、非限定的に、ビジュアライザ166は、多層カラム表示装置を使用して、グラフィカルユーザインターフェース168においてモデル114のオブジェクトについての情報を表示するように構成される。オブジェクトがマスターオブジェクトである場合、この多層カラム表示装置の第1カラムはマスターオブジェクトと、マスターオブジェクトに属するすべての子オブジェクトを認識することができる。
さらに、多層カラム表示装置の他のカラムは、マスターオブジェクトによって表わされるコンポーネントの一又は複数の選択されたコンフィギュレーションについての情報を表示する。例えば、特定のカラムはマスターオブジェクトに対応するコンフィギュレーションオブジェクトと、このコンフィギュレーションオブジェクトに属する全ての子オブジェクトを認識する。加えて、多層カラム表示装置の他のカラムは、たとえば非限定的に、オブジェクトの種類、オブジェクトが属する階層編成に対するオブジェクトのレベル等の情報、及び/又は他の種類の情報を含む。
このように、ユーザは隣同士のマスターオブジェクトによって表わされるコンポーネントの異なる構成を比較することができる。さらに、ビジュアライザ166は、ユーザがコンポーネントの異なるコンフィギュレーション間の特定の変更を簡単に認識できるような方法で、マスターオブジェクトについての情報を視覚的に表示する。例えば、この情報は任意の数のグラフィカルインジケータを使用して表示される。使用されるグラフィカルインジケータの例は限定しないが、強調表示、着色、太字、イタリック体、アイコン、点滅文字、テキスト記述、陰影、シャドーイング、及び/又は他の種類の文字効果及び視覚効果を含む。
ある場合には、データマネージャ116及び/又はビジュアライザ166は、モデル114によって表わされる製品102の製品構成112の異なる変更を比較したレポートを生成するように構成される。このレポートには、表、スプレッドシート、スライド表示、グラフ、チャート、文字レポート、任意の数の画像、映像、アニメレポート、及び/又は他の何らかの好適な種類のレポートが含まれる。
ある実施例では、データマネージャ116はグラフィカルユーザインターフェース168を通してユーザ入力を受信し、このユーザ入力に基づいてモデル114に変更を加えるように構成されている。例えば、データマネージャ116はモデル114にオブジェクトを追加する、モデル114からオブジェクトを除去する、モデル114のオブジェクト間の関係を変更する、及び/又は他の何らかの方法でモデル114を変更する。ある実施例では、ユーザ入力により、製品102の一又は複数のコンポーネントに新たな可能な変形が識別される。データマネージャ116は、これらの新たな変更をキャプチャーするためにモデル114に追加する必要があるオブジェクトの数および種類を決定する。
加えて、データマネージャ116は、複数のドメインの複数のモデルを管理するように構成される。データマネージャ116は、一つのドメインのモデルのオブジェクトの、別のドメインのモデルのオブジェクトへのマッピングを管理する。
データマネージャ116はまた、モデル114に記憶されたデータを、たとえば他の種類の製品管理システムによって管理されるデータと同期化するように構成することもできる。ある場合には、データマネージャ116は、モデル114に記憶されたデータを、コンピュータ支援設計(CAD)モデルと同期化し、これによりコンピュータ支援設計ソフトのツールを使用したコンピュータ支援設計モデルのアイテムへの変更を、追加のユーザ入力を要さずにモデル114において表すことができる。
これらの実施例では、データマネージャ116は製品102のモデル114を管理し、ある場合には、製品102のライフサイクル全体にわたって製品102の他のモデルを管理する。ある実施例では、データマネージャ116は、モデル114の各オブジェクト120に対応するタイムスタンプを記憶するように構成されている。このように、モデル114の作成履歴及び製品102の耐用期間にわたるモデル114に対するすべての変更が記録される。
図1の製品管理システム100の図解は、実施形態が実装されうる方法に対する物理的又はアーキテクチャ的な制限を示唆することを意図していない。図示したコンポーネントに加えて又は代えて、他のコンポーネントを使用することができる。幾つかのコンポーネントは任意選択になることもある。またブロックは、幾つかの機能的なコンポーネントを示すために表示されている。実施形態において実装される場合、一又は複数のこれらのブロックは結合、分割、又は異なるブロックに結合及び分割される。
ある実施例では、データマネージャ116及びビジュアライザ166は、2つの異なるコンピュータシステムにおいて実装される。ビジュアライザ166は、データマネージャ116から離れた場所にある。他の実施例では、データマネージャ116及びビジュアライザ166は、コンピュータシステム118内の同じモジュールの一部として実装することができる。ある場合には、ビジュアライザ166はデータマネージャ116の一部として実装される。
図2〜9は、一実施形態によるモデルに使用される異なる種類のオブジェクトのブロック図である。具体的には、図2〜5は、図1のブロック図の形態のマスタークラス124に属する異なる種類のマスターオブジェクトの図である。図6〜9は、ブロック図の形態の図1のコンフィギュレーションクラス126に属する異なる種類のコンフィギュレーションオブジェクトの図である。
図2〜6に示すマスターオブジェクトと、図6〜9に示すコンフィギュレーションオブジェクトをそれぞれ、ドメインマスターオブジェクト及びドメインコンフィギュレーションオブジェクトにおいて説明する。しかしながら、補助マスターオブジェクトと補助コンフィギュレーションオブジェクトは図2〜5に示すマスターオブジェクト、及び図6〜9に示すコンフィギュレーションオブジェクトに対してそれぞれ同じように機能する。
ここで図2〜5を参照すると、図2は、一実施形態によるブロック図形式の再利用可能な定義オブジェクトを示している。これらの実施例では、再利用可能な定義オブジェクト200は、図1のマスタークラス124の定義クラス132から派生したドメインマスタークラスに属する定義オブジェクトの一例である。
本明細書で示すすべての再利用可能な定義オブジェクトは、再利用可能な定義オブジェクト200と同様の方法で実装される。再利用可能な定義オブジェクト200は、図1の製品102のコンポーネント108のリーフコンポーネント又はアセンブリコンポーネントを表す。ある実施例では、再利用可能な定義オブジェクト200は、図1のモデル114の製品102を表す。
図示したように、再利用可能な定義オブジェクト200はいかなる親オブジェクトも持たない。つまり、再利用可能な定義オブジェクト200は、図1の一次階層編成144の他のいかなるマスターオブジェクトの子オブジェクトではない。この結果、再利用可能な定義オブジェクト200は、ルートオブジェクト、具体的にはルート定義オブジェクトと呼ばれる。
これらの実施例では、再利用可能な定義オブジェクト200は、図1の一次階層編成144の主要構成146のルートオブジェクト、又は一次階層編成144の任意の数のインスタンス化構成148のインスタンス化構成のルートオブジェクトである。つまり、再利用可能な定義オブジェクト200は、主要構成146の最上レベルのオブジェクト、又は任意の数のインスタンス化構成148のインスタンス化構成の最上レベルのオブジェクトである。
再利用可能な定義オブジェクト、例えば再利用可能な定義オブジェクト200は、主要構成146の最上レベル、又は任意の数のインスタンス化構成148のインスタンス化構成の最上レベルを下回るいかなるレベルのモデル114においても使用されない。このように、図1の一次階層編成144の主要構成146には再利用可能な定義オブジェクトが一つだけ存在する。さらに、一次階層編成144の任意の数のインスタンス化構成148のインスタンス化構成には再利用可能な定義オブジェクトが一つだけ存在する。
しかしながら、再利用可能な定義オブジェクト200は、製品102において任意の回数使用可能な製品102のコンポーネント108のうちの一つのコンポーネントを表すものである。より具体的には、再利用可能な定義オブジェクト200は、製品102においてこの種の複数のコンポーネントが使用できるコンポーネントの種類を表すものである。
これらの実施例では、再利用可能な定義オブジェクト200によって表されるコンポーネントの使用は、一次階層編成144において再利用可能な定義オブジェクト200の使用として表される。再利用可能な定義オブジェクト200の各使用は、これらの実施例では再利用可能な定義オブジェクト200の「インスタンス化」又は「インスタンス」と呼ばれる。再利用可能な定義オブジェクト200の各インスタンス化は、図1のマスタークラス124の使用クラス134に属する使用オブジェクトの形態である。
ある実施例では、製品102が航空機の翼である場合、再利用可能な定義オブジェクト200は、翼において使用するように構成される特定の種類のファスナーを表す。この特定の種類の複数のファスナーは、翼において使用される。モデル114において再利用可能な定義オブジェクト200は、翼においてその特定の種類のファスナーが使用される回数と同じ回数だけインスタンス化される。
これらの実施例では、再利用可能な定義オブジェクト200は、子オブジェクト202のセットに対する親オブジェクトである。子オブジェクト202のセットには、n個の子オブジェクトが含まれる。本明細書で使用するアイテム「のセット」は、ゼロ又は一以上のアイテムを意味する。このように、子オブジェクト202のセットは例えば、空集合又はゼロ集合である。
再利用可能な定義オブジェクト200の子オブジェクト202のセットが空集合である場合、再利用可能な定義オブジェクト200は製品102のコンポーネント108のうちのリーフコンポーネントを表す。つまり、再利用可能な定義オブジェクト200は、製品102内の分割できないコンポーネントを表す。再利用可能な定義オブジェクト200の子オブジェクト202のセットが一又は複数の子オブジェクトを含む場合、再利用可能な定義オブジェクト200はコンポーネント108のうちのあるアセンブリコンポーネントを表す。
これらの実施例では、子オブジェクト202のセットが非空集合である場合、子オブジェクト202のセットは一又は複数のインプレイス定義オブジェクト及び/又は一又は複数の使用オブジェクトを含む。インプレイス定義オブジェクト204及び使用オブジェクト206は、子オブジェクト202のセットである子オブジェクトの例である。インプレイス定義オブジェクトを下記図3においてさらに詳しく説明する。さらに、使用オブジェクトを下記図4においてより詳しく説明する。
図3は、一実施形態によるブロック図形式でのインプレイス定義オブジェクトを示す。これらの実施例では、インプレイス定義オブジェクト300は、図1のマスタークラス124の定義クラス132から派生したドメインマスタークラスに属する定義オブジェクトの一例である。
本明細書で説明するすべてのインプレイス定義オブジェクトは、インプレイス定義オブジェクト300と同様の方法で実装される。さらに、例えば図2の再利用可能な定義オブジェクト200等の再利用可能な定義オブジェクトの子オブジェクトであるインプレイス定義オブジェクトは、インプレイス定義オブジェクト300と同様の方法で実装される。
インプレイス定義オブジェクト300は、図1の一次階層編成144のパーツである。インプレイス定義オブジェクト300によって表わされるコンポーネントは、リーフコンポーネント又はアセンブリコンポーネントである。
これらの実施例で示すように、インプレイス定義オブジェクト300は、ポテンシャル親オブジェクト302のうちの一つの子オブジェクトである。ポテンシャル親オブジェクト302は、マスタークラス124の定義クラス132に属する定義オブジェクトである。例えば、インプレイス定義オブジェクト300のポテンシャル親オブジェクト302には、再利用可能な定義オブジェクト304とインプレイス定義オブジェクト306が含まれる。
これらの実施例では、インプレイス定義オブジェクト300は、定義オブジェクトの子オブジェクトとして1回だけ使用される。インプレイス定義オブジェクト300は、この定義オブジェクト以外の他のすべてのオブジェクトの子オブジェクトとしてはインスタンス化されない。つまり、インプレイス定義オブジェクト300は、その定義オブジェクト固有の子オブジェクトである。
このように、インプレイス定義オブジェクト300は、図1の製品102のアセンブリコンポーネントにおいて1回だけ使用される製品102のコンポーネントを表す。つまり、インプレイス定義オブジェクト300は、製品102のアセンブリコンポーネント固有であり、製品102の他のすべてのアセンブリコンポーネントにおいては使用されないコンポーネントを表す。
一実施例では、再利用可能な定義オブジェクト304は、インプレイス定義オブジェクト300の親オブジェクトである。再利用可能な定義オブジェクト304は製品102を表す。製品102は、例えば、航空機の胴体である。インプレイス定義オブジェクト300は、外板が胴体の特定の接地位置向けであることを示す特定のラベルを有する航空機の胴体の外板を表す。
加えて、インプレイス定義オブジェクト300は、子オブジェクト308のセットの親オブジェクトである。子オブジェクト308のセットには、n個の子オブジェクトが含まれる。子オブジェクト308のセットが非空集合である場合、子オブジェクト308のセットには一又は複数のインプレイス定義オブジェクト及び/又は一又は複数の使用オブジェクトが含まれる。インプレイス定義オブジェクト310及び使用オブジェクト312は、子オブジェクト308のセットにある子オブジェクトの例である。使用オブジェクトを下記図4においてさらに詳しく説明する。
図4は、一実施形態によるブロック図形式での使用オブジェクトを示す。この実施例では、使用オブジェクト400は、図1のマスタークラス124の使用クラス134から派生したドメインマスタークラスに属する使用オブジェクトの一実装態様の例である。本明細書で説明したすべての使用オブジェクトは、使用オブジェクト400と同様の方法で実装される。
例えば再利用可能な定義オブジェクト200等の再利用可能な定義オブジェクト、又は例えばインプレイス定義オブジェクト300等のインプレイス定義オブジェクトの子オブジェクトである使用オブジェクトは、使用オブジェクト400と同様の方法で実装される。使用オブジェクト400は、図1の一次階層編成144のパーツである。
使用オブジェクト400は、対応する再利用可能な定義オブジェクトのインスタンス化である。例えば、使用オブジェクト400は、再利用可能な定義オブジェクト402のインスタンス化である。このように、使用オブジェクト400は、図1の製品102の再利用可能な定義オブジェクト402によって表わされるコンポーネントの使用である。
図示したように、使用オブジェクト400は、ポテンシャル親オブジェクト404のうちの一つの子オブジェクトである。使用オブジェクト400のポテンシャル親オブジェクト404は、再利用可能な定義オブジェクト406及びインプレイス定義オブジェクト408を含む。
再利用可能な定義オブジェクト406又はインプレイス定義オブジェクト408の子オブジェクトが、再利用可能な定義オブジェクト402によって表わされるコンポーネントを表す必要がある場合、使用オブジェクト400は、再利用可能な定義オブジェクト402の代わりに子オブジェクトとして使用される。このように、再利用可能な定義オブジェクト402は、再利用可能な定義オブジェクト402を特定の階層構成に結びつけることなく、使用オブジェクトとして複数回インスタンス化される。
図示したように、使用オブジェクト400は子オブジェクト410のセットを有する。子オブジェクト410のセットには、n個のオブジェクトが含まれる。具体的には、子オブジェクト410のセットには、図1のマスタークラス124のオカレンスクラス136に属する任意の数のオカレンスオブジェクトが含まれる。
再利用可能な定義オブジェクト402がアセンブリコンポーネントを表す場合、再利用可能な定義オブジェクト402はそのアセンブリコンポーネントの階層構成のルートオブジェクトである。使用オブジェクト400が再利用可能な定義オブジェクト402をインスタンス化したものとして作成された場合、再利用可能な定義オブジェクト402のすべての子オブジェクトはオカレンスオブジェクトとしてインスタンス化され、このオカレンスオブジェクトは使用オブジェクト400の子オブジェクトとなる。
このように、再利用可能な定義オブジェクト402がリーフコンポーネントを表す場合、子オブジェクト410のセットは空集合である。再利用可能な定義オブジェクト402がアセンブリコンポーネントを表す場合、子オブジェクト410のセットは一又は複数のオカレンスオブジェクトを含む。オカレンスオブジェクト412は、子オブジェクト410のセットのオカレンスオブジェクトの一例である。オカレンスオブジェクトを下記の図5においてさらに詳しく説明する。
図5は、一実施形態によるブロック図形式でのオカレンスオブジェクトを示す。この実施例では、オカレンスオブジェクト500は、図1のマスタークラス124のオカレンスクラス136から派生したドメインマスタークラスに属するオカレンスオブジェクトの一実装態様の例である。本明細書で説明したすべてのオカレンスオブジェクトは、オカレンスオブジェクト500と同様の方法で実装される。
例えば図4の使用オブジェクト400等の使用オブジェクトの子オブジェクトであるオカレンスオブジェクトは、オカレンスオブジェクト500と同様の方法で実装される。オカレンスオブジェクト500は、図1の一次階層編成144のパーツである。
オカレンスオブジェクト500は、ポテンシャルオブジェクト502の一つをインスタンス化したものである。ポテンシャルオブジェクト502は、インプレイス定義オブジェクト504、使用オブジェクト506、及びオカレンスオブジェクト508を含む。オカレンスオブジェクト500によってインスタンス化されるポテンシャルオブジェクト502のうちの特定のオブジェクトは、どのポテンシャル親オブジェクト510がオカレンスオブジェクト500の親オブジェクトであるかによって変化する。
例えば、ポテンシャル親オブジェクト510は使用オブジェクト512及びオカレンスオブジェクト514を含む。使用オブジェクト512がオカレンスオブジェクト500の親オブジェクトである場合、オカレンスオブジェクト500は、使用オブジェクト512によってインスタンス化される再利用可能な定義オブジェクトの子オブジェクトのインスタンス化である。例えば、使用オブジェクト512がオカレンスオブジェクト500の親オブジェクトである場合、オカレンスオブジェクト500はインプレイス定義オブジェクト504又は使用オブジェクト506をインスタンス化したものである。
さらに、オカレンスオブジェクト514がオカレンスオブジェクト500の親オブジェクトである場合、オカレンスオブジェクト500は、オカレンスオブジェクト514によってインスタンス化されるオブジェクトの子オブジェクトをインスタンス化したものである。具体的には、オカレンスオブジェクト514がオカレンスオブジェクト500の親オブジェクトである場合、オカレンスオブジェクト514は使用オブジェクトの子オブジェクトであり、オカレンスオブジェクト500はインプレイス定義オブジェクトの子オブジェクトをインスタンス化したもの、又は使用オブジェクトの子オブジェクトをインスタンス化したものである。
オカレンスオブジェクト500は、オカレンスオブジェクト508をインスタンス化したものである。例えば、オカレンスオブジェクト514は、使用オブジェクトをインスタンス化したものであり、オカレンスオブジェクト500は、この使用オブジェクトの子オブジェクトであるオカレンスオブジェクトをインスタンス化したものである。
これらの実施例では、オカレンスオブジェクト500は子オブジェクト516のセットを有する。子オブジェクト516のセットには、n個の子オブジェクトが含まれる。具体的には、子オブジェクト516のセットには、任意の数のオカレンスオブジェクトが含まれる。子オブジェクト516のセットのうちのオカレンスオブジェクトの数は、オカレンスオブジェクト500によってインスタンス化されたポテンシャルオブジェクト502のオブジェクトの子オブジェクトの数と等しい。オカレンスオブジェクト518は、子オブジェクト516のセットのうちの一つのオカレンスオブジェクトの一例である。
ここで図6〜9を参照する。図6は、一実施形態によるブロック図形式の再利用可能な定義コンフィギュレーションオブジェクトを示している。これらの実施例では、再利用可能な定義コンフィギュレーションオブジェクト600は、図1のコンフィギュレーションクラス126の定義コンフィギュレーションクラス138から派生したドメインコンフィギュレーションクラスに属する定義コンフィギュレーションオブジェクトの一例である。
本明細書で説明したすべての再利用可能な定義コンフィギュレーションオブジェクトは、再利用可能な定義コンフィギュレーションオブジェクト600と同様の方法で実装される。
再利用可能な定義コンフィギュレーションオブジェクト600は、例えば再利用可能な定義オブジェクト601等の再利用可能な定義オブジェクトに対応する。再利用可能な定義コンフィギュレーションオブジェクト600は、再利用可能な定義オブジェクト601によって表されるコンポーネントのコンフィギュレーションを表す。
このように、再利用可能な定義コンフィギュレーションオブジェクト600は、一つの再利用可能な定義オブジェクトにのみ対応する。しかしながら、任意の数の再利用可能な定義コンフィギュレーションオブジェクトは、同じ再利用可能な定義オブジェクトに対応する。つまり、再利用可能な定義オブジェクト601によって表されるコンポーネントは複数のコンフィギュレーションを有し、複数のコンフィギュレーションは、複数の再利用可能な定義コンフィギュレーションオブジェクトによって表される。
図示したように、再利用可能な定義コンフィギュレーションオブジェクト600は、いかなる親オブジェクトも有さない。つまり、再利用可能な定義コンフィギュレーションオブジェクト600は、図1のモデル114の他のいかなるコンフィギュレーションオブジェクトの子オブジェクトでもない。この結果、再利用可能な定義コンフィギュレーションオブジェクト600は、ルートコンフィギュレーションオブジェクト、また具体的にはルート定義コンフィギュレーションオブジェクトと呼ばれる。
再利用可能な定義コンフィギュレーションオブジェクト600は、例えば図1の二次階層編成152等の任意の数の二次階層編成150のうちの一つの二次階層編成の一部である。例えば、再利用可能な定義コンフィギュレーションオブジェクト600は、二次階層編成152の主要構成154のルートコンフィギュレーションオブジェクト、又は図1の二次階層編成152の任意の数のインスタンス化構成156のインスタンス化構成のルートコンフィギュレーションオブジェクトである。
つまり、再利用可能な定義コンフィギュレーションオブジェクト600は、主要構成154の最上レベルのコンフィギュレーションオブジェクトである、又は任意の数のインスタンス化構成156のインスタンス化構成の最上レベルのコンフィギュレーションオブジェクトである。図1の二次階層編成152の主要構成154には、一つの再利用可能な定義コンフィギュレーションオブジェクトのみが存在する。さらに、二次階層編成152の任意の数のインスタンス化構成156の各インスタンス化構成には、一つの再利用可能な定義コンフィギュレーションオブジェクトのみが存在する。
しかしながら、再利用可能な定義コンフィギュレーションオブジェクト600は、図1の製品102において何回でも使用できるコンポーネントのコンフィギュレーションを表す。これらの実施例では、再利用可能な定義コンフィギュレーションオブジェクト600によって表わされるコンフィギュレーションの使用は、二次階層編成152の再利用可能な定義コンフィギュレーションオブジェクト600をインスタンス化したものとして表される。再利用可能な定義コンフィギュレーションオブジェクト600の各インスタンス化は、図1のコンフィギュレーションクラス126の使用コンフィギュレーションクラス140に属する使用コンフィギュレーションオブジェクトの形態である。
ある実施例として、再利用可能な定義オブジェクト601が油圧ポンプのファミリーを表す場合、再利用可能な定義コンフィギュレーションオブジェクト600はこのポンプのファミリーの一つのコンフィギュレーション又はメンバーを表す。このコンフィギュレーションは例えば、重質ポンプ対軽量ポンプである。
これらの実施例では、再利用可能な定義コンフィギュレーションオブジェクト600は、子オブジェクト602のセットの親オブジェクトである。子オブジェクト602のセットには、n個の子オブジェクトが含まれる。具体的には、再利用可能な定義オブジェクト601が一又は複数の子オブジェクトを有する場合、再利用可能な定義コンフィギュレーションオブジェクト600は一又は複数の対応する子オブジェクトを有する。このように、再利用可能な定義オブジェクト601の各子オブジェクトは、再利用可能な定義コンフィギュレーションオブジェクト600の子オブジェクト602のセットのうちの対応する子オブジェクトを有する。
例えば、再利用可能な定義オブジェクト601の子オブジェクトがインプレイス定義オブジェクトである場合、子オブジェクト602のセットは、例えばインプレイス定義コンフィギュレーションオブジェクト604等のインプレイス定義コンフィギュレーションオブジェクトを含む。再利用可能な定義オブジェクト601の子オブジェクトが使用オブジェクトである場合、子オブジェクト602のセットは、例えば使用コンフィギュレーションオブジェクト606等の使用コンフィギュレーションオブジェクトを含む。
インプレイス定義コンフィギュレーションオブジェクトを下記の図7においてさらに詳しく説明する。加えて、使用コンフィギュレーションオブジェクトを下記の図8においてさらに詳しく説明する。
図7は、一実施形態によるブロック図形式でのインプレイス定義コンフィギュレーションオブジェクトを示す。これらの実施例では、インプレイス定義コンフィギュレーションオブジェクト700は、図1のコンフィギュレーションクラス126の定義コンフィギュレーションクラス138から派生したドメインコンフィギュレーションクラスに属する定義コンフィギュレーションオブジェクトの一例である。
本明細書に記載したすべてのインプレイス定義コンフィギュレーションオブジェクトは、インプレイス定義コンフィギュレーションオブジェクト700と同様の方法で実装される。例えば図6の再利用可能な定義コンフィギュレーションオブジェクト600等の再利用可能な定義コンフィギュレーションオブジェクトの子オブジェクトであるインプレイス定義コンフィギュレーションオブジェクトは、インプレイス定義コンフィギュレーションオブジェクト700と同様の方法で実装される。
さらに、インプレイス定義コンフィギュレーションオブジェクト700は、例えば図1の二次階層編成152等の任意の数の二次階層編成150のうちの二次階層編成のパーツである。インプレイス定義コンフィギュレーションオブジェクト700は、例えばインプレイス定義オブジェクト701等のインプレイス定義オブジェクトに対応する。例えば、インプレイス定義コンフィギュレーションオブジェクト700は、インプレイス定義オブジェクト701によって表されるコンポーネントのコンフィギュレーションを表す。
これらの実施例では、インプレイス定義コンフィギュレーションオブジェクト700は、一つのインプレイス定義オブジェクトにのみ対応する。しかしながら、任意の数のインプレイス定義コンフィギュレーションオブジェクトは、同じインプレイス定義オブジェクトに対応する。
これらの実施例で示すように、インプレイス定義コンフィギュレーションオブジェクト700は、ポテンシャル親オブジェクト702の一又は複数のコンフィギュレーションオブジェクトの子オブジェクトである。インプレイス定義コンフィギュレーションオブジェクト700のポテンシャル親オブジェクト702は、図1のコンフィギュレーションクラス126の定義コンフィギュレーションクラス138に属する任意の数の定義コンフィギュレーションオブジェクトを含む。
例えば、インプレイス定義コンフィギュレーションオブジェクト700のポテンシャル親オブジェクト702は、再利用可能な定義コンフィギュレーションオブジェクト704及びインプレイス定義コンフィギュレーションオブジェクト706を含む。一実施例では、インプレイス定義コンフィギュレーションオブジェクト700は、いずれも同じ再利用可能な定義オブジェクトに対応する再利用可能な定義コンフィギュレーションオブジェクトである2つの親オブジェクトを有する。このように、これら2つの再利用可能な定義コンフィギュレーションオブジェクトは、インプレイス定義コンフィギュレーションオブジェクト700を子オブジェクトとして共有する。
さらに、図示したように、インプレイス定義コンフィギュレーションオブジェクト700は、子オブジェクト708のセットの親オブジェクトである。子オブジェクト708のセットにはn個の子オブジェクトが含まれる。子オブジェクト708のセットが空集合でない場合、子オブジェクト708のセットは、一又は複数のインプレイス定義コンフィギュレーションオブジェクト及び/又は一又は複数の使用コンフィギュレーションオブジェクトを含む。インプレイス定義コンフィギュレーションオブジェクト710及び使用コンフィギュレーションオブジェクト712は、子オブジェクト708のセットの子オブジェクトの例である。使用コンフィギュレーションオブジェクトを、下記の図8においてさらに詳しく説明する。
図8は、一実施形態による使用コンフィギュレーションオブジェクトのブロック図である。この実施例では、使用コンフィギュレーションオブジェクト800は、図1のコンフィギュレーションクラス126の使用コンフィギュレーションクラス140から派生したドメインコンフィギュレーションクラスに属する使用コンフィギュレーションオブジェクトの一実装態様の一例である。本明細書に記載したすべての使用コンフィギュレーションオブジェクトは、使用コンフィギュレーションオブジェクト800と同様の方法で実装される。
例えば図6の再利用可能な定義コンフィギュレーションオブジェクト600等の再利用可能な定義コンフィギュレーションオブジェクトの子オブジェクトである使用コンフィギュレーションオブジェクト、又は例えば図7のインプレイス定義コンフィギュレーションオブジェクト700等のインプレイス定義コンフィギュレーションオブジェクトの子オブジェクトは、使用コンフィギュレーションオブジェクト800と同様の方法で実装される。使用コンフィギュレーションオブジェクト800は、例えば図1の二次階層編成152等の任意の数の二次階層編成150のうちの二次階層編成のパーツである。
使用コンフィギュレーションオブジェクト800は、例えば使用オブジェクト801等の使用オブジェクトに対応する。使用オブジェクト801は、対応する再利用可能な定義オブジェクトをインスタンス化したものである。結果的に、使用コンフィギュレーションオブジェクト800は、使用オブジェクト801によってインスタンス化された再利用可能な定義オブジェクトに対応する再利用可能な定義コンフィギュレーションオブジェクトをインスタンス化したものである。
例えば、再利用可能な定義コンフィギュレーションオブジェクト802は、使用オブジェクト801によってインスタンス化された再利用可能な定義オブジェクトに対応する。使用コンフィギュレーションオブジェクト800は、再利用可能な定義コンフィギュレーションオブジェクト802をインスタンス化したものである。
図示したように、使用コンフィギュレーションオブジェクト800は、一又は複数のポテンシャル親オブジェクト804の子オブジェクトである。使用コンフィギュレーションオブジェクト800のポテンシャル親オブジェクト804には、再利用可能な定義コンフィギュレーションオブジェクト806とインプレイス定義コンフィギュレーションオブジェクト808が含まれる。
これらの実施例では、ポテンシャル親オブジェクト804のうちの一を超える親オブジェクトは、親オブジェクトが同じ定義オブジェクトに対応する場合に使用コンフィギュレーションオブジェクト800を共有する。例えば、同じ再利用可能な定義オブジェクトに対応する3つの再利用可能な定義コンフィギュレーションオブジェクトは、使用コンフィギュレーションオブジェクト800を子オブジェクトとして共有する。
図示したように、使用コンフィギュレーションオブジェクト800は、子オブジェクト810のセットの親オブジェクトである。子オブジェクト810のセットにはn個の子オブジェクトが含まれる。具体的には、子オブジェクト810のセットには、図1のコンフィギュレーションクラス126のオカレンスコンフィギュレーションクラス142に属する任意の数のオカレンスコンフィギュレーションオブジェクトが含まれる。
これらの実施例では、使用オブジェクト801が一又は複数の子オブジェクトを有する場合、使用コンフィギュレーションオブジェクト800は一又は複数の対応する子オブジェクトを有する。つまり、使用オブジェクト801の各子オブジェクトは、使用コンフィギュレーションオブジェクト800の子オブジェクト810のセットのうちの対応する子オブジェクトを有する。
このように、子オブジェクト810のセットのうちのすべての子オブジェクトは、オカレンスコンフィギュレーションオブジェクトである。オカレンスコンフィギュレーションオブジェクト812は、子オブジェクト810のセットのオカレンスコンフィギュレーションオブジェクトの一例である。オカレンスコンフィギュレーションオブジェクトを、下記の図9においてさらに詳しく説明する。
図9は、一実施形態によるブロック図形式でのオカレンスコンフィギュレーションオブジェクトを示す。この実施例では、オカレンスコンフィギュレーションオブジェクト900は、図1のコンフィギュレーションクラス126のオカレンスコンフィギュレーションクラス142から派生したドメインコンフィギュレーションクラスに属するオカレンスコンフィギュレーションオブジェクトの一実装態様の一例である。本明細書に記載したすべてのオカレンスコンフィギュレーションオブジェクトは、オカレンスコンフィギュレーションオブジェクト900と同様の方法で実装される。
例えば図8の使用コンフィギュレーションオブジェクト800等の使用コンフィギュレーションオブジェクトの子オブジェクトであるオカレンスコンフィギュレーションオブジェクトは、オカレンスコンフィギュレーションオブジェクト900と同様の方法で実装される。図8のオカレンスコンフィギュレーションオブジェクト812は、例えば二次階層編成152等の、図1の任意の数の二次階層編成150のうちの一つの二次階層編成の一部である。
図示したように、オカレンスコンフィギュレーションオブジェクト900は、例えばオカレンスオブジェクト901等のオカレンスオブジェクトに対応する。オカレンスオブジェクト901は、使用オブジェクトの子オブジェクトをインスタンス化したものである。この結果、オカレンスコンフィギュレーションオブジェクト900は、オカレンスオブジェクト901によってインスタンス化された使用オブジェクトの子オブジェクトに対応するコンフィギュレーションオブジェクトをインスタンス化したものである。
例えば、オカレンスコンフィギュレーションオブジェクト900は、ポテンシャルコンフィギュレーションオブジェクト902の一つをインスタンス化したものである。ポテンシャルコンフィギュレーションオブジェクト902には、インプレイス定義コンフィギュレーションオブジェクト904、使用コンフィギュレーションオブジェクト906、及びオカレンスコンフィギュレーションオブジェクト908が含まれる。
図示したように、オカレンスコンフィギュレーションオブジェクト900は、一又は複数のポテンシャル親オブジェクト910の子オブジェクトである。オカレンスコンフィギュレーションオブジェクト900のポテンシャル親オブジェクト910には、使用コンフィギュレーションオブジェクト912とオカレンスコンフィギュレーションオブジェクト914が含まれる。
これらの実施例では、ポテンシャル親オブジェクト910のうちの一を超える親オブジェクトは、親オブジェクトが同じ使用オブジェクト又は同じオカレンスオブジェクトに対応する場合に、オカレンスコンフィギュレーションオブジェクト900を共有する。例えば、同じ使用オブジェクトに対応する3つの使用コンフィギュレーションオブジェクトは、オカレンスコンフィギュレーションオブジェクト900を子オブジェクトとして共有する。
図示したように、オカレンスコンフィギュレーションオブジェクト900は、子オブジェクト916のセットの親オブジェクトである。子オブジェクト916のセットには、n個の子オブジェクトが含まれる。子オブジェクト916のセットのうちの子オブジェクトの数は、オカレンスコンフィギュレーションオブジェクト900によってインスタンス化されたポテンシャルコンフィギュレーションオブジェクト902のそのオブジェクトの子オブジェクトの数と等しく対応している。具体的には、子オブジェクト916のセットには、図1のコンフィギュレーションクラス126のオカレンスコンフィギュレーションクラス142に属する任意の数のオカレンスコンフィギュレーションオブジェクトが含まれる。
これらの実施例では、オカレンスオブジェクト901が一又は複数の子オブジェクトを有する場合、オカレンスコンフィギュレーションオブジェクト900は一又は複数の対応する子オブジェクトを有する。つまり、オカレンスオブジェクト901の各子オブジェクトは、オカレンスコンフィギュレーションオブジェクト900の子オブジェクト916のセットのうちの対応する子オブジェクトを有する。
このように、子オブジェクト916のセットのうちのすべての子オブジェクトは、オカレンスコンフィギュレーションオブジェクトである。オカレンスコンフィギュレーションオブジェクト918は、子オブジェクト916のセットのうちのオカレンスコンフィギュレーションオブジェクトの一例である。
図10〜15は、一実施形態によるモデルにおいて使用される異なる種類の補助オブジェクトのブロック図である。具体的には、図10〜15は、ブロック図の形態の、図1のモデル114の補助オブジェクト127のセットに存在する異なる種類の補助オブジェクトの図である。
図10は、一実施形態によるポートオブジェクトのブロック図である。ポートオブジェクト1000は、図1の補助オブジェクト127のセットに含まれる補助オブジェクトの例である。具体的には、ポートオブジェクト1000は、図1のポートクラス158に属するオブジェクトの例である。
ポートオブジェクト1000には、ポートマスターオブジェクト1001とポートコンフィギュレーションオブジェクト1003が含まれる。ポートマスターオブジェクト1001は、ドメインポートオブジェクト1005又は独立したポートオブジェクト1007のいずれかに見なされる。さらに、ポートコンフィギュレーションオブジェクト1003は、ドメインポートオブジェクト1005又は独立ポートオブジェクト1007のいずれかと見なされる。
ドメインポートオブジェクト1005は、ポートクラス158が図1のドメインクラス119のうちの一つから派生している、すなわち、ドメインクラスが派生した基本クラスから派生したものである場合、図1のポートクラス158に属するポートオブジェクトである。このように、ドメインポートオブジェクト1005は、図1のドメインクラス119によって表わされる選択ドメイン115固有のものである。独立ポートオブジェクト1007は、ポートクラス158が図1の基本クラス121のうちの一つから派生した場合、ポートクラス158に属するポートオブジェクトである。このように、独立ポートオブジェクト1007は、選択ドメイン115とは無関係である。
各ポートマスターオブジェクト1001は、製品または製品のコンポーネント上の接続点を表す。この接続点は、物理的接続点または論理的接続点である。例えば、ポートマスターオブジェクトは物理的インターフェース、物理的接続要素、出口、プラグ差し込み口、コネクタ、論理インターフェース、データインターフェース、仮想データ接続、またはその他何らかの種類の接続点を表す。モデル内でのポートマスターオブジェクトの機能は、ポートマスターオブジェクトが派生した基本クラスに基づく。
ポートマスターオブジェクト1001には、再利用可能なポート定義オブジェクト1002、インプレイスポート定義オブジェクト1004、ポート使用オブジェクト1006、及びポートオカレンスオブジェクト1008が含まれる。再利用可能なポート定義オブジェクト1002は、たとえば図2の再利用可能な定義オブジェクト200と同様に機能する。インプレイスポート定義オブジェクト1004は、たとえば図3のインプレイス定義オブジェクト300と同様に機能する。ポート使用オブジェクト1006は、たとえば図4の使用オブジェクト400と同様に機能する。ポートオカレンスオブジェクト1008は、たとえば図5のオカレンスオブジェクト500と同様に機能する。
各ポートコンフィギュレーションオブジェクト1003は、ポートマスターオブジェクトに対応する。ポートコンフィギュレーションオブジェクトは、特定のポートマスターオブジェクトによって表わされる接続点の特定のコンフィギュレーションを表す。
図示したように、ポートコンフィギュレーションオブジェクト1003には、再利用可能なポート定義コンフィギュレーションオブジェクト1010、インプレイスポート定義コンフィギュレーションオブジェクト1012、ポート使用コンフィギュレーションオブジェクト1014、及びポートオカレンスコンフィギュレーションオブジェクト1016が含まれる。再利用可能なポート定義コンフィギュレーションオブジェクト1010、インプレイスポート定義コンフィギュレーションオブジェクト1012、ポート使用コンフィギュレーションオブジェクト1014、及びポートオカレンスコンフィギュレーションオブジェクト1016は、再利用可能なポート定義オブジェクト1002、インプレイスポート定義オブジェクト1004、ポート使用オブジェクト1006、及びポートオカレンスオブジェクト1008にそれぞれ対応する。
再利用可能なポート定義コンフィギュレーションオブジェクト1010は、例えば図6の再利用可能な定義コンフィギュレーションオブジェクト600と同様に機能する。インプレイスポート定義コンフィギュレーションオブジェクト1012は、例えば図7のインプレイス定義コンフィギュレーションオブジェクト700と同様に機能する。ポート使用コンフィギュレーションオブジェクト1014は、例えば図8の使用コンフィギュレーションオブジェクト800と同様に機能する。ポートオカレンスコンフィギュレーションオブジェクト1016は、例えば図9のオカレンスコンフィギュレーションオブジェクト900と同様に機能する。
例えば図1のモデル114などのモデルにおいて使用する場合、ポートオブジェクト1000の一部は特定のカテゴリに属するものと見なされる。つまり、モデルの一つ、いくつか、あるいはすべてのポートオブジェクトは、複数のカテゴリのうちの一つに属する。ポートオブジェクトのモデルにおける機能は、そのポートオブジェクトが属するカテゴリによっても変化する。ポートマスターオブジェクトに対応するポートマスターオブジェクト及びポートコンフィギュレーションオブジェクトは、同じカテゴリに属する。
ポートオブジェクトが属するポテンシャルカテゴリには、再利用可能なカテゴリ、インターフェースカテゴリ、及び接続可能なカテゴリが含まれる。ポートオブジェクトが属する特定のカテゴリは、モデルの編成内のポートオブジェクトの位置と、ポートオブジェクトの親オブジェクトによって変化する。これらのカテゴリを図11〜13においてさらに詳しく説明する。
図11は、一実施形態によるポートオブジェクトの再利用可能なカテゴリのブロック図である。再利用可能なカテゴリ1100は、ポートオブジェクトが属するカテゴリの一例である。再利用可能なカテゴリ1100に属するポートオブジェクトは、ある場合には再利用可能なポート定義オブジェクトとも呼ばれる。
図示したように、再利用可能なポート定義オブジェクト1102は、再利用可能なカテゴリ1100に属する。再利用可能なポート定義オブジェクトは、再利用可能なカテゴリ1100に属することができる唯一の種類のポートマスターオブジェクトである。さらに、再利用可能なポート定義コンフィギュレーションオブジェクト1104は、再利用可能なポート定義オブジェクト1102に対応する。この結果、再利用可能なポート定義コンフィギュレーションオブジェクト1104は、再利用可能なカテゴリ1100に属するとも見なされる。再利用可能なポート定義コンフィギュレーションオブジェクトは、再利用可能なカテゴリ1100に属する唯一の種類のポートコンフィギュレーションオブジェクトである。
再利用可能なカテゴリ1100に属するポートオブジェクトは再利用可能である。つまり、再利用可能なカテゴリ1100に属するポートオブジェクトは、モデル内でインスタンス化される。これらの実施例では、再利用可能なカテゴリ1100に属するポートオブジェクトはルートオブジェクトである必要がある。このように、再利用可能なカテゴリ1100に属するルートオブジェクトは、他のいかなるオブジェクトの子オブジェクトにもならない。このルートオブジェクトは、例えば図1の任意の数の補助インスタンス化構成165のうちの一つなどの補助インスタンス化構成のルートオブジェクトである。
例えば、再利用可能なポート定義オブジェクト1102は、モデルの補助インスタンス化構成のルートオブジェクトである。再利用可能なポート定義オブジェクト1102は、モデルの一次階層編成内においてあるオブジェクトの子オブジェクトであるポート使用オブジェクトとしてインスタンス化される。この結果、再利用可能なポート定義オブジェクト1102に対応する再利用可能なポート定義コンフィギュレーションオブジェクト1104は、ポート使用オブジェクトに対応するポート使用コンフィギュレーションオブジェクトとしてインスタンス化される。
図示したように、再利用可能なポート定義オブジェクト1102は、子オブジェクト1106のセットを有する。子オブジェクト1106のセットには、n個の子オブジェクトが含まれる。再利用可能なポート定義オブジェクト1102に属する子オブジェクト1106のセットは、再利用可能なカテゴリ1100に属するとは見なされない。
図12は、一実施形態によるブロック図形式でのポートオブジェクトのインターフェースカテゴリを示す。インターフェースカテゴリ1200は、ポートオブジェクトが属するカテゴリの一例である。インターフェースカテゴリ1200に属するポートオブジェクトはある場合には、インターフェースポートオブジェクトとも呼ばれる。
インターフェースカテゴリ1200に属するポートオブジェクトは再利用可能ではない。つまり、インターフェースカテゴリ1200に属するポートオブジェクトは、モデル内の使用によってインスタンス化されない。さらに、インターフェースカテゴリ1200に属するポートオブジェクトは他の何らかのポートオブジェクトに接続可能ではない。代わりに、接続可能な別のポートオブジェクトを使用して、インターフェースカテゴリ1200に属するポートオブジェクトが実行される。この接続可能なポートオブジェクトは次に、同じ階層内にある別の接続可能なポートオブジェクトに接続可能なポートオブジェクトとして接続される。
この実施例では、たとえば再利用可能な定義オブジェクト1202等の再利用可能な定義オブジェクトの子オブジェクトであるすべてのポートマスターオブジェクトはインターフェースカテゴリ1200に属する。つまり、一次階層編成のルートオブジェクトの子オブジェクトであるすべてのポートマスターオブジェクトは、インターフェースカテゴリ1200に属する。
たとえば、インプレイスポート定義オブジェクト1204及びポート使用オブジェクト1206は再利用可能な定義オブジェクト1202の子オブジェクトである。再利用可能な定義オブジェクト1202は、一次階層編成のルートオブジェクトである。
さらに、インターフェースカテゴリ1200に属するポートマスターオブジェクトに対応するすべてのポートコンフィギュレーションオブジェクトは、インターフェースカテゴリ1200にも属する。例えば、インプレイスポート定義コンフィギュレーションオブジェクト1208及びポート使用コンフィギュレーションオブジェクト1210はそれぞれ、インプレイスポート定義オブジェクト1204及びポート使用オブジェクト1206に対応する。この結果、インプレイスポート定義コンフィギュレーションオブジェクト1208及びポート使用コンフィギュレーションオブジェクト1210はインターフェースカテゴリ1200にも属する。
これらの実施例では、インターフェースカテゴリ1200に属するポートオブジェクトに属するすべての子オブジェクトと、このポートオブジェクトによって形成されるポートサブ構成内のすべての子オブジェクトは、インターフェースカテゴリ1200に属すると見なされる。例えば、インプレイスポート定義オブジェクト1204は子オブジェクト1212のセットを有し、ポート使用オブジェクト1206は子オブジェクト1214のセットを有する。子オブジェクト1212のセットにはn個の子オブジェクトが含まれ、子オブジェクト1214のセットにはm個の子オブジェクトが含まれる。
これらの実施例では、子オブジェクト1212のセット及び子オブジェクト1214のセットはいずれも、インターフェースカテゴリ1200の一部と見なされる。さらに、これらの子オブジェクトのすべての子オブジェクトも、インターフェースカテゴリ1200の一部と見なされる。
図13は、一実施形態によるポートオブジェクトの接続可能なカテゴリのブロック図である。接続可能なカテゴリ1300は、ポートオブジェクトが属するカテゴリの一例である。接続可能なカテゴリ1300に属するポートオブジェクトも、ある場合には接続可能なポートオブジェクトと呼ばれる。
接続可能なカテゴリ1300に属するポートオブジェクトは、接続可能なカテゴリ1300に属する別のポートオブジェクトに接続される。さらに、接続可能なカテゴリ1300に属するポートオブジェクトを使用して、図12のインターフェースカテゴリ1200に属するポートオブジェクトが実装される。
これらの実施例では、ルートオブジェクトではないマスターオブジェクトの子オブジェクトであるすべてのポートマスターオブジェクトは接続可能なカテゴリ1300に属する。例えば、一次階層編成内のインプレイス定義オブジェクト1302、使用オブジェクト1304、またはオカレンスオブジェクト1306の子オブジェクトであるすべてのポートマスターオブジェクトは、接続可能なカテゴリ1300に属する。
たとえば、インプレイスポート定義オブジェクト1308及びポート使用オブジェクト1310は、インプレイス定義オブジェクト1302の子オブジェクトである。ポートオカレンスオブジェクト1312は、使用オブジェクト1304又はオカレンスオブジェクト1306のいずれかの子オブジェクトである。図示したように、インプレイスポート定義オブジェクト1308、ポート使用オブジェクト1310、及びポートオカレンスオブジェクト1312はすべて、接続可能なカテゴリ1300に属する。
さらに、接続可能なカテゴリ1300に属するポートマスターオブジェクトに対応するすべてのポートコンフィギュレーションオブジェクトも、接続可能なカテゴリ1300に属する。このように、インプレイスポート定義オブジェクト1308に対応するインプレイスポート定義コンフィギュレーションオブジェクト1314、ポート使用オブジェクト1310に対応するポート使用コンフィギュレーションオブジェクト1316、及びポートオカレンスオブジェクト1312に対応するポートオカレンスコンフィギュレーションオブジェクト1318はすべて、接続可能なカテゴリ1300に属する。
加えて、接続可能なカテゴリ1300に属するポートオブジェクトのすべての子オブジェクトも、接続可能なカテゴリ1300に属するものと見なされる。例えば、インプレイスポート定義オブジェクト1308は子オブジェクト1320のセットを有し、ポート使用オブジェクト1310は子オブジェクト1322のセットを有し、ポートオカレンスオブジェクト1312は子オブジェクト1324のセットを有する。子オブジェクト1320のセットはn個の子オブジェクトを含み、子オブジェクト1322のセットはm個の子オブジェクトを含み、子オブジェクト1324のセットはl個の子オブジェクトを含む。
子オブジェクト1320のセット、子オブジェクト1322のセット、及び子オブジェクト1324のセットはすべて、接続可能なカテゴリ1300に属する。さらに、これら子オブジェクトのすべての子オブジェクトも、接続可能なカテゴリ1300に属する。
図13の接続可能なカテゴリ1300、図12のインターフェースカテゴリ1200、及び図11の再利用可能なカテゴリ1100は、ポートオブジェクトのカテゴリの例である。しかしながら、ある実施例では、すべてのポートオブジェクトがこれらカテゴリのうちの一つに属するわけではない。他の実施例では、他のカテゴリが存在する。
図14は、一実施形態による昇格オブジェクトのブロック図である。これらの実施例では、昇格オブジェクト1400は、図1の昇格クラス162に属するあるオブジェクトの一例である。
昇格オブジェクト1400は、モデルにおいて、接続可能なカテゴリ1300に属する接続可能なポートオブジェクトを使用してインターフェースカテゴリ1200に属するインターフェースポートオブジェクトを実行することを示すために使用される。例えば、昇格オブジェクト1400は、接続可能なカテゴリ1300に属するポートマスターオブジェクト1402と、インターフェースカテゴリ1200に属するポートマスターオブジェクト1404の両方に接続される。昇格オブジェクト1400は、ポートマスターオブジェクト1402がポートマスターオブジェクト1404を実行することを示すために使用される。すなわち、昇格オブジェクト1400は、ポートマスターオブジェクト1402をポートマスターオブジェクト1404に昇格させる。
図15は、一実施形態による接続オブジェクトのブロック図である。これらの実施例では、接続オブジェクト1500は、図1の接続クラス164に属するあるオブジェクトの一例である。
接続オブジェクト1500は、モデルにおいて、接続可能なカテゴリ1300に属する接続可能なポートオブジェクトを、接続可能なカテゴリ1300に属する別のポートオブジェクトに接続させるために使用される。例えば、接続オブジェクト1500は、接続可能なカテゴリ1300に属するポートマスターオブジェクト1502と、接続可能なカテゴリ1300に属するポートマスターオブジェクト1504の両方に接続される。接続オブジェクト1500は、ポートマスターオブジェクト1502をポートマスターオブジェクト1504に接続させる。
図2の再利用可能な定義オブジェクト200、図3のインプレイス定義オブジェクト300、図4の使用オブジェクト400、図5のオカレンスオブジェクト500、図6の再利用可能な定義コンフィギュレーションオブジェクト600、図7のインプレイス定義コンフィギュレーションオブジェクト700、図8の使用コンフィギュレーションオブジェクト800、図9のオカレンスコンフィギュレーションオブジェクト900、図10のポートオブジェクト1000、図2のポートオブジェクトの再利用可能なカテゴリ1100、図12のポートオブジェクトのインターフェースカテゴリ1200、図13のポートオブジェクトの接続可能なカテゴリ1300、図14の昇格オブジェクト1400、図15の接続オブジェクト1500は、図示した実施形態が実行される方法に対して物理的、またはアーキテクチャ的な制限を意味するものではない。図示したコンポーネントに加えて又は代えて、他のコンポーネントを使用することができる。幾つかのコンポーネントは任意選択になることもある。
図16は、一実施形態によるオブジェクトの凡例を示すものである。図16において、凡例1600は、下記図17〜32のモデルの図に示されるドメインオブジェクト1602、補助オブジェクト1604、及びリンク1606のリストを含む。図17〜32に示すモデルは、図1のモデル114の実装態様の例である。
これらの実施例では、図17〜18のモデル1703、図20〜21、図23、及び図25のモデル2000、図25のモデル2501のオブジェクトはすべてドメインオブジェクトである。さらに、ポートオブジェクト、昇格オブジェクト、または接続オブジェクトではない、図26〜28のモデル2600、及び図29〜30のモデル2900のすべてのオブジェクトは、ドメインマスターオブジェクト及びドメインコンフィギュレーションオブジェクトのうちの一つである。
図17は、一実施形態による一次階層編成を示す。この実施例では、一次階層編成1700は、図1の一次階層編成144の一実装態様の一例である。
一次階層編成1700はマスターオブジェクト1701によって形成される。マスターオブジェクト1701は、この実施例ではドメインマスターオブジェクトである。具体的には、マスターオブジェクト1701は、図1のドメインマスターオブジェクト128のグループのオブジェクトの例である。マスターオブジェクト1701を有する一次階層編成1700は、モデル1703の一部である。モデル1703は、図1のモデル114の一実装態様の一例である。
図示したように、一次階層編成1700は、主要構成1702、インスタンス化構成1704、インスタンス化構成1706、インスタンス化構成1707、及びインスタンス化構成1708を含む。主要構成1702は、図1の一次階層編成144の主要構成146の一実装態様の一例である。インスタンス化構成1704、インスタンス化構成1706、インスタンス化構成1707、及びインスタンス化構成1708は、図1の一次階層編成144の任意の数のインスタンス化構成148の一実装態様の例である。
この実施例では、主要構成1702には、再利用可能な定義オブジェクト1710、使用オブジェクト1712、インプレイス定義オブジェクト1714、オカレンスオブジェクト1716、オカレンスオブジェクト1718、オカレンスオブジェクト1720、オカレンスオブジェクト1721、オカレンスオブジェクト1722、オカレンスオブジェクト1723、使用オブジェクト1724、及び使用オブジェクト1726が含まれる。再利用可能な定義オブジェクト1710は、主要構成1702のルートオブジェクトである。
再利用可能な定義オブジェクト1710は、たとえば図1の製品102等の製品を表す。この実施例では、製品102はアセンブリコンポーネントである。図示したように、再利用可能な定義オブジェクト1710は、使用オブジェクト1712及びインプレイス定義オブジェクト1714の親オブジェクトである。
この実施例では、使用オブジェクト1712は再利用可能な定義オブジェクト1728をインスタンス化したものである。再利用可能な定義オブジェクト1728は、アセンブリコンポーネントを表す。使用オブジェクト1712は、再利用可能な定義オブジェクト1710によって表わされる製品のこのアセンブリコンポーネントの使用を表す。再利用可能な定義オブジェクト1728は、インスタンス化構成1704のルートオブジェクトである。
インスタンス化構成1704は、主要構成1702から独立している。インスタンス化構成1704には、再利用可能な定義オブジェクト1728、インプレイス定義オブジェクト1730、使用オブジェクト1732、使用オブジェクト1733、使用オブジェクト1734、オカレンスオブジェクト1735、及びオカレンスオブジェクト1736が含まれる。
図示したように、再利用可能な定義オブジェクト1728は、インプレイス定義オブジェクト1730及び使用オブジェクト1732の親オブジェクトである。使用オブジェクト1732は、再利用可能な定義オブジェクト1738をインスタンス化したものである。再利用可能な定義オブジェクト1738はアセンブリコンポーネントを表し、使用オブジェクト1732は、再利用可能な定義オブジェクト1710によって表わされる製品のこのアセンブリコンポーネントの使用を表す。
再利用可能な定義オブジェクト1738は、インスタンス化構成1706のルートオブジェクトである。インスタンス化構成1706は、インスタンス化構成1704から分離している。インスタンス化構成1706には、再利用可能な定義オブジェクト1738、使用オブジェクト1740、及び使用オブジェクト1742が含まれる。
使用オブジェクト1740及び使用オブジェクト1742はいずれも、再利用可能な定義オブジェクト1738の子オブジェクトである。さらに、使用オブジェクト1740及び使用オブジェクト1742はいずれも、再利用可能な定義オブジェクト1744をインスタンス化したものである。再利用可能な定義オブジェクト1744は、インスタンス化構成1707のルートオブジェクトである。
インスタンス化構成1707は、インスタンス化構成1706と分離している。図示したように、インスタンス化構成1707は、この実施例では一つの階層レベルのみを含む。つまり、再利用可能な定義オブジェクト1744はリーフコンポーネントを表す。使用オブジェクト1740と使用オブジェクト1742は、再利用可能な定義オブジェクト1710によって表わされる製品において、このリーフコンポーネントの2通りの使用を表す。
インスタンス化構成1706の再利用可能な定義オブジェクト1738がインスタンス化構成1704の使用オブジェクト1732としてインスタンス化されると、再利用可能な定義オブジェクト1738の中のインスタンス化構成1706のすべてのオブジェクトは、インスタンス化構成1704の使用オブジェクト1732の中でオカレンスオブジェクトとしてインスタンス化される。例えば、使用オブジェクト1732が作成された場合、使用オブジェクト1740はオカレンスオブジェクト1735としてインスタンス化され、使用オブジェクト1742はオカレンスオブジェクト1736としてインスタンス化される。
さらに、この実施例では、インプレイス定義オブジェクト1730は使用オブジェクト1733と使用オブジェクト1734の親オブジェクトである。使用オブジェクト1733及び使用オブジェクト1734はいずれも、再利用可能な定義オブジェクト1744をインスタンス化したものである。
主要構成1702の使用オブジェクト1712が作成されると、再利用可能な定義オブジェクト1728の中のインスタンス化構成1704内のすべてのオブジェクトが、使用オブジェクト1712の中でオカレンスオブジェクトとしてインスタンス化される。例えば、使用オブジェクト1712はオカレンスオブジェクト1716及びオカレンスオブジェクト1718の親オブジェクトである。
インプレイス定義オブジェクト1730は、オカレンスオブジェクト1716としてインスタンス化される。オカレンスオブジェクト1716は、オカレンスオブジェクト1720とオカレンスオブジェクト1721の親オブジェクトである。オカレンスオブジェクト1720は、使用オブジェクト1733をインスタンス化したものである。オカレンスオブジェクト1721は、使用オブジェクト1734をインスタンス化したものである。
さらに、使用オブジェクト1732は、使用オブジェクト1712の中のオカレンスオブジェクト1718としてインスタンス化される。オカレンスオブジェクト1718は、オカレンスオブジェクト1735をインスタンス化したものである、オカレンスオブジェクト1722の親オブジェクトである。オカレンスオブジェクト1723は、オカレンスオブジェクト1736をインスタンス化したものである。
この実施例では、インプレイス定義オブジェクト1714は、使用オブジェクト1724及び使用オブジェクト1726の親オブジェクトである。使用オブジェクト1724と使用オブジェクト1726はいずれも、再利用可能な定義オブジェクト1746をインスタンス化したものである。再利用可能な定義オブジェクト1746は、インスタンス化構成1708のルートオブジェクトである。図示したように、インスタンス化構成1708は、一つの階層レベルのみを含む。このように、再利用可能な定義オブジェクト1746はリーフコンポーネントを表す。使用オブジェクト1724と使用オブジェクト1726は、再利用可能な定義オブジェクト1710によって表わされる製品のこのリーフコンポーネントの2通りの使用を表す。
これらの実施例では、一次階層編成1700を形成する種々のマスターオブジェクトは、一次構成リンク1750によって互いに接続される。具体的には、特定の階層構成に属するコンポーネントは、一又は複数の一次構成リンク1750によってその階層構成において相互に接続される。
本明細書で使用する「構成リンク」とは、オブジェクトのうちの一つが他のオブジェクトの子オブジェクトを示す2つのオブジェクト間のリンクである。「一次構成リンク」とは、一次階層編成の2つのマスターオブジェクト間のリンクである。これらの実施例では、一次構成リンクは、一つの階層構成のマスターオブジェクトを一次階層編成内の別の階層構成の別のマスターオブジェクトに接続しない。
さらに、一次インスタンスリンク1752も一次階層編成1700において使用される。本明細書で使用する「インスタンスリンク」は、一つのオブジェクトが別のオブジェクトのインスタンス化であることを示す2つのオブジェクト間のリンクである。「一次インスタンスリンク」は、一次階層編成の2つのマスターオブジェクト間のリンクである。
通常、一次インスタンスリンクは、使用オブジェクトまたはオカレンスオブジェクトにおいて開始し、使用オブジェクトまたはオカレンスオブジェクトによってインスタンス化されるマスターオブジェクトにおいて終了する。一次インスタンスリンクは、一次階層編成内において一つの階層構成から別の階層構成へまたがっている。
たとえば、一次インスタンスリンクは、主要構成のマスターオブジェクトにおいて開始し、インスタンス化構成のマスターオブジェクトにおいて終了する。さらに、一次インスタンスリンクも、インスタンス化構成が主要構成においてインスタンス化されている、または表示されていることを示す。このように、一次インスタンスリンクによって示される、主要構成のマスターオブジェクトによるインスタンス化構成のルートオブジェクトのインスタンス化は、そのインスタンス化構成のすべてのオブジェクトが主要構成において表示されることを意味するものである。一次インスタンスリンクは、同じ階層構成内で開始し終了しない。
図18は、一実施形態による一次階層編成の一部に関連付けられる二次階層編成の一部の図である。この実施例では、二次階層編成1800は、図17の一次階層編成1700に関連付けられる。二次階層編成1800もモデル1703のパーツである。
図17の一次階層編成1700の一部のみをこの実施例で示す。具体的には、主要構成1702、インスタンス化構成1704、及びインスタンス化構成1708を示す。さらに、二次階層編成1800の一部のみをこの実施例で示す。
この実施例では、二次階層編成1800はコンフィギュレーションオブジェクト1801によって形成される。コンフィギューションオブジェクト1801は、ドメインコンフィギュレーションオブジェクトの例である。具体的には、コンフィギュレーションオブジェクト1801は、図1のドメインコンフィギュレーションオブジェクト130のグループのオブジェクトの例である。各コンフィギュレーションオブジェクト1801は、コンフィギュレーションオブジェクトが位置するマスターオブジェクトに対応する。
図示したように、二次階層編成1800には、主要構成1802及びインスタンス化構成1804が含まれる。主要構成1802は、一次階層編成1700の主要構成1702に関連付けられる。インスタンス化構成1804は、一次階層編成1700のインスタンス化構成1704に関連づけられる。インスタンス化構成1808は、一次階層編成1700のインスタンス化構成1708に関連付けられる。加えて、二次階層編成1800には、図17のインスタンス化構成1706に関連付けられるインスタンス化構成(図示せず)と、図17のインスタンス化構成1707に関連付けられるインスタンス化構成(図示せず)が含まれる。
この実施例では、主要構成1802には、利用可能な定義コンフィギュレーションオブジェクト1810、使用コンフィギュレーションオブジェクト1812、インプレイス定義コンフィギュレーションオブジェクト1814、オカレンスコンフィギュレーションオブジェクト1816、オカレンスコンフィギュレーションオブジェクト1818、オカレンスコンフィギュレーションオブジェクト1820、オカレンスコンフィギュレーションオブジェクト1821、オカレンスコンフィギュレーションオブジェクト1822、オカレンスコンフィギュレーションオブジェクト1823、使用コンフィギュレーションオブジェクト1824、及び使用コンフィギュレーションオブジェクト1826が含まれる。再利用可能な定義コンフィギュレーションオブジェクト1810は、主要構成1802のルートオブジェクトである。
利用可能な定義コンフィギュレーションオブジェクト1810は、再利用可能な定義オブジェクト1710に対応する。再利用可能な定義コンフィギュレーションオブジェクト1810は、再利用可能な定義オブジェクト1710によって表わされる製品のコンフィギュレーションを表す。図示したように、再利用可能な定義コンフィギュレーションオブジェクト1810は、子オブジェクトとして使用コンフィギュレーションオブジェクト1812とインプレイス定義コンフィギュレーションオブジェクト1814を有する。
この実施例では、使用コンフィギュレーションオブジェクト1812は、再利用可能な定義オブジェクト1728に対応する再利用可能な定義コンフィギュレーションオブジェクト1828をインスタンス化したものである。再利用可能な定義コンフィギュレーションオブジェクト1828は、再利可能な定義オブジェクト1728によって表わされるコンポーネントの特定のコンフィギュレーションを表す。
再利用可能な定義コンフィギュレーションオブジェクト1828は、インスタンス化構成1804のルートオブジェクトである。インスタンス化構成1804には、再利用可能な定義コンフィギュレーションオブジェクト1828、インプレイス定義コンフィギュレーションオブジェクト1830、使用コンフィギュレーションオブジェクト1832、使用コンフィギュレーションオブジェクト1833、使用コンフィギュレーションオブジェクト1834、オカレンスコンフィギュレーションオブジェクト1835、及びオカレンスコンフィギュレーションオブジェクト1836が含まれる。
図示したように、インプレイス定義コンフィギュレーションオブジェクト1830及び使用コンフィギュレーションオブジェクト1832は、再利用可能な定義コンフィギュレーションオブジェクト1828の子オブジェクトである。このように、再利用可能な定義オブジェクト1728によって表わされるコンポーネントの再利用可能な定義コンフィギュレーションオブジェクト1828によって表わされる特定のコンフィギュレーションは、インプレイス定義オブジェクト1730によって表わされる、インプレイス定義コンフィギュレーションオブジェクト1830によって表わされるコンフィギュレーションを有するコンポーネントを含む。
図示したように、使用コンフィギュレーションオブジェクト1833及び使用コンフィギュレーションオブジェクト1834は、インプレイス定義コンフィギュレーションオブジェクト1830の子オブジェクトである。使用コンフィギュレーションオブジェクト1833及び使用コンフィギュレーションオブジェクト1834はいずれも、図17の再利用可能な定義オブジェクト1744の再利用可能な定義コンフィギュレーションオブジェクト(図示せず)をインスタンス化したものである。
使用コンフィギュレーションオブジェクト1832は、図17の再利用可能な定義オブジェクト1738に対応する再利用可能な定義コンフィギュレーションオブジェクト(図示せず)をインスタンス化したものである。オカレンスコンフィギュレーションオブジェクト1835とオカレンスコンフィギュレーションオブジェクト1836は、使用コンフィギュレーションオブジェクト1832の子オブジェクトである。使用コンフィギュレーションオブジェクト1832が作成されると、オカレンスコンフィギュレーションオブジェクト1835とオカレンスコンフィギュレーションオブジェクト1836も作成される。
オカレンスコンフィギュレーションオブジェクト1835は、図17の使用オブジェクト1740の使用コンフィギュレーションオブジェクト(図示せず)をインスタンス化したものである。オカレンスコンフィギュレーションオブジェクト1836は、図17の使用オブジェクト1742の使用コンフィギュレーションオブジェクト(図示せず)をインスタンス化したものである。
さらに、再利用可能な定義コンフィギュレーションオブジェクト1828が使用コンフィギュレーションオブジェクト1812としてインスタンス化されると、インスタンス化構成1804内の再利用可能な定義コンフィギュレーションオブジェクト1828の中のすべてのコンフィギュレーションオブジェクトが、使用コンフィギュレーションオブジェクト1812の中でインスタンス化される。例えば、オカレンスコンフィギュレーションオブジェクト1816は、インプレイス定義コンフィギュレーションオブジェクト1830をインスタンス化したものである。オカレンスコンフィギュレーションオブジェクト1818は、使用コンフィギュレーションオブジェクト1832をインスタンス化したものである。
加えて、オカレンスコンフィギュレーションオブジェクト1820は、使用コンフィギュレーションオブジェクト1833をインスタンス化したものである。オカレンスコンフィギュレーションオブジェクト1821は、使用コンフィギュレーションオブジェクト1834をインスタンス化したものである。オカレンスコンフィギュレーションオブジェクト1822は、オカレンスコンフィギュレーションオブジェクト1835をインスタンス化したものである。オカレンスコンフィギュレーションオブジェクト1823は、オカレンスコンフィギュレーションオブジェクト1836をインスタンス化したものである。
この実施例では、使用コンフィギュレーションオブジェクト1824と使用コンフィギュレーションオブジェクト1826は、インプレイス定義コンフィギュレーションオブジェクト1814の子オブジェクトである。使用コンフィギュレーションオブジェクト1824と使用コンフィギュレーションオブジェクト1826はいずれも、再利用可能な定義オブジェクト1746に対応する再利用可能な定義コンフィギュレーションオブジェクト1846をインスタンス化したものである。
図示したように、二次階層編成1800の種々のコンフィギュレーションオブジェクトは、二次構造リンク1850を使用して相互に接続される。本明細書で使用する「二次構造リンク」とは、2つのコンフィギュレーションオブジェクト間のリンクであり、このリンクにおいて、コンフィギュレーションオブジェクトのうちの一つは他のコンフィギュレーションオブジェクトの親オブジェクトである。これらの実施例では、二次構造リンクは、二次階層編成内において、ひとつの階層構成のコンフィギュレーションオブジェクトを別の階層構成の別のコンフィギュレーションオブジェクトに接続しない。
さらに、二次インスタンスリンク1852も二次階層編成1800に存在する。本明細書で使用する「二次インスタンスリンク」とは、2つのコンフィギュレーションオブジェクト間のリンクであり、このリンクにおいて、コンフィギュレーションオブジェクトのうちの一つは、他のコンフィギュレーションオブジェクトをインスタンス化したものである。
通常、二次インスタンスリンクは、使用コンフィギュレーションオブジェクトまたはオカレンスコンフィギュレーションオブジェクトにおいて開始し、使用コンフィギュレーションオブジェクトまたはオカレンスコンフィギュレーションオブジェクトによってインスタンス化されているコンフィギュレーションオブジェクトにおいて終了する。二次インスタンスリンクは、二次階層編成において、一つの階層構成から別の階層構成までまたがるものである。しかしながら、二次インスタンスリンクは、同じ階層構成において開始し終了しない。
図17の一次階層編成1700及び図18の二次階層編成は、例示的な実施形態が実装される方法に対する物理的又はアーキテクチャ的な制限を示唆するものではない。図示したコンポーネントに加えて又は代えて、他のコンポーネントを使用することができる。幾つかのコンポーネントは任意選択になることもある。
ある実施例では、一つまたは複数の追加の二次階層編成は、図17及び18のモデル1703の一次階層編成1700に関連付けられる。例えば、再利用可能な定義オブジェクト1710によって表わされる製品の変形がモデル1703に追加される場合、追加の再利用可能な定義コンフィギュレーションオブジェクトが再利用可能な定義オブジェクト1710に加えられる。
この再利用可能な定義コンフィギュレーションオブジェクトは、追加の二次階層編成のルートオブジェクトである。追加の再利用可能な定義コンフィギュレーションオブジェクトは、一又は複数の同じ子オブジェクトを再利用可能な定義コンフィギュレーションオブジェクト1810として共有する。
一実施例では、追加の再利用可能な定義コンフィギュレーションオブジェクトは、子オブジェクトとして使用コンフィギュレーションオブジェクト1812の代わりに使用オブジェクト1712に対応する新たな使用コンフィギュレーションオブジェクトを有する。この特定の実施例では、追加の再利用可能な定義コンフィギュレーションオブジェクトもやはり、インプレイス定義コンフィギュレーションオブジェクト1814を子オブジェクトとして有する。
再利用可能な定義オブジェクト1710によって表わされる製品の製品構成内で可能な種々の変更は、種々のコンフィギュレーションオブジェクト及び様々な二次構成リンク及び二次インスタンスリンクを使用してモデル1703に表示される。モデル1703により、所望以上の冗長データなしにモデル1703に表わされる再利用可能な定義オブジェクト1710によって表わされる製品の種々の変形が可能になる。
図19は、一実施形態による6つのブリックからなるアセンブリを示す図である。6つのブリックからなるアセンブリ1900は、図1の製品102の一実装態様の一例である。この実施例では、6つのブリックからなるアセンブリ1900は、図1の有形製品104の一実装態様の一例である。図19に示すように、6つのブリックからなるアセンブリ1900は6つの物理的なブリックでできている。図19〜21に示す実施形態は、図1〜9に対して記載した実施形態を明示するために使用される。つまり、図19〜21に示す実施形態には、モデルの形態の物理的オブジェクトの比較的単純なアセンブリを表すために本明細書に記載された表示スキームの使用方法の一例である。
図19〜21に示す実施形態は、図示した6つのブリックの単純な説明よりもさらに複雑な形で6つのブリックからなるアセンブリ1900を表示しているように見えるが、この実施形態により、6つのブリックからなるアセンブリ1900のすべての可能な変更を記憶するのに要するデータの量が最小限に抑えられる。例えば、6つのブリックからなるアセンブリ1900の所定のブリックいずれかのサイズまたは位置が変化した場合、この実施形態は、6つのブリックからなるアセンブリ1900のすべての可能な変更を記憶するのに要するデータの量を最小限に抑えることができる。
6つのブリックからなるアセンブリ1900を、異なる個々の航空機モデルにおいて各々変化する50万のコンポーネントからなる航空機のモデルに置き換えた場合、この実施形態により、上記すべての表現を記憶するための記憶スペースと、上記の異なる表現を処理するのに使用される処理オーバーヘッドのいずれをもかなり大幅に節約することができる。図19〜21に示す実施形態は、本発明の請求の範囲を限定するものではない。
この実施例では、6つのブリックからなるアセンブリ1900は、下部の2つのブリックからなるアセンブリ1902、中央の2つのブリックからなるアセンブリ1904、及び上部の2つのブリックからなるアセンブリ1906を含む。下部の2つのブリックからなるアセンブリ1902は、ブリック1908及びブリック1910を含む。中央の2つのブリックからなるアセンブリ1904は、ブリック1912及びブリック1914を含む。上部の2つのブリックからなるアセンブリ1906は、ブリック1916及びブリック1918を含む。ブリック1908、1910、1912、1914、1916、1918は、特定の種類のブリックの種々の使用方法である。
図20は、一実施形態による6つのブリックからなるアセンブリのモデルを示す図である。モデル2000は、図19の6つのブリックからなるアセンブリ1900の製品構成をモデル化する一つの方法の一例である。モデル2000は、図1のモデル114の一実装形態の一例である。これらの実施例では、6つのブリックからなるアセンブリ1900のモデル2000は、幾何学的ドメインに対して6つのブリックからなるアセンブリ1900の製品構成のモデルである。
図示したように、モデル2000は一次階層編成2001を含む。一次階層編成2001を形成するオブジェクトは、ドメインマスターオブジェクトである。一次階層編成2001は、主要構成2002、インスタンス化構成2004、及びインスタンス化構成2006を含む。図示したように、再利用可能な定義オブジェクト2008は、図19の6つのブリックからなるアセンブリ1900を表す。使用オブジェクト2010、使用オブジェクト2012、及びインプレイス定義オブジェクト2014は、一次構成リンク2016、一次構成リンク2017、および一次構成リンク2018によってそれぞれ示されるように、再利用可能な定義オブジェクト2008の子オブジェクトである。
使用オブジェクト2010は、一次インスタンスリンク2022によって示されるように再利用可能な定義オブジェクト2020をインスタンス化したものである。再利用可能な定義オブジェクト2020は、2つのブリックからなるアセンブリを表す。
この実施例では、使用オブジェクト2024及び使用オブジェクト2026は、一次構成リンク2028及び一次構成リンク2030によってそれぞれ示されるように、再利用可能な定義オブジェクト2020の子オブジェクトである。モデル2000において、再利用可能な定義オブジェクト2020のインスタンス化のために使用オブジェクト2010が作成された場合、使用オブジェクト2024は、一次インスタンスリンク2034によって示されるように、オカレンスオブジェクト2032としてインスタンス化される。オカレンスオブジェクト2032は、一次構成リンク2036によって示されるように、使用オブジェクト2010の子オブジェクトである。オカレンスオブジェクト2032は、図19の中央の2つのブロック形アセンブリ1904のブロック形1912を表す。
さらに、使用オブジェクト2026は、一次インスタンスリンク2040によって示されるように、オカレンスオブジェクト2038としてインスタンス化される。オカレンスオブジェクト2038は、一次構成リンク2042によって示されるように、使用オブジェクト2010の子オブジェクトである。オカレンスオブジェクト2038は、図19の中央の2つのブリックからなるアセンブリ1904のブリック1914を表す。このように、再利用可能な定義オブジェクト2020の子オブジェクトはすべて、使用オブジェクト2010が作成されると、使用オブジェクト2010の子オブジェクトであるオカレンスオブジェクトとしてインスタンス化される。
使用オブジェクト2024及び使用オブジェクト2026はいずれも、一次インスタンスリンク2046及び一次インスタンスリンク2048によってそれぞれ示されるように、再利用可能な定義オブジェクト2044をインスタンス化したものである。再利用可能な定義オブジェクト2044はブリックを表す。使用オブジェクト2024は、2つのブリックからなるアセンブリの左のブリックを表し、使用オブジェクト2026は2つのブリックからなるアセンブリの右のブリックを表す。さらに、使用オブジェクト2010は、図2の中央の2つのブリックからなるアセンブリ1904を表す。
同様に、使用オブジェクト2012も、一次インスタンスリンク2050で示されるように、再利用可能な定義オブジェクト2020をインスタンス化したものである。使用オブジェクト2012は、図2の下部の2つのブリックからなるアセンブリ1902を表す。図示したように、オカレンスオブジェクト2052及びオカレンスオブジェクト2054は、一次構成リンク2056及び一次構成リンク2058によってそれぞれ示されるように、使用オブジェクト2012の子オブジェクトである。
オカレンスオブジェクト2052は、一次インスタンスリンク2060によって示されるように、使用オブジェクト2024をインスタンス化したものである。さらに、オカレンスオブジェクト2052は、図19の下部の2つのブリックからなるアセンブリ1902のブリック1908を表す。オカレンスオブジェクト2054は、一次インスタンスリンク2062によって示されるように、使用オブジェクト2026をインスタンス化したものである。さらに、オカレンスオブジェクト2054は、図19の下部の2つのブロック形アセンブリ1902のブリック1910を表す。
この実施例では、インプレイス定義オブジェクト2014は、図19の上部の2つのブロック形アセンブリ1906を表す。使用オブジェクト2064及び使用オブジェクト2066は、一次構成リンク2068及び一次構成リンク2070によってそれぞれ示されるインプレイス定義オブジェクト2014の子オブジェクトである。
使用オブジェクト2064及び使用オブジェクト2066はいずれも、一次インスタンスリンク2072及び一次インスタンスリンク2074によってそれぞれ示されるように、再利用可能な定義オブジェクト2044をインスタンス化したものである。使用オブジェクト2064は、図19の上部の2つのブリックからなるアセンブリ1906のブリック1916を表す。使用オブジェクト2066は、図19の上部の2つのブリックからなるアセンブリ1906のブリック1918を表す。
このように、インスタンス化構成2006は、再利用可能な定義オブジェクト2044を含む。インスタンス化構成2004は、再利用可能な定義オブジェクト2020、使用オブジェクト2024、及び使用オブジェクト2026を含む。さらに、主要構成2002は、再利用可能な定義オブジェクト2008、使用オブジェクト2010、使用オブジェクト2012、インプレイス定義オブジェクト2014、オカレンスオブジェクト2032、オカレンスオブジェクト2038、オカレンスオブジェクト2052、オカレンスオブジェクト2054、使用オブジェクト2064、及び使用オブジェクト2066を含む。
図21は、一実施形態による6つのブリックからなるアセンブリのモデルを示す図である。この実施例では、モデル2000に二次階層編成2100が追加されている。二次階層編成2100は、一次階層編成2001に関連付けられる。二次階層編成2100を形成するオブジェクトは、ドメインコンフィギュレーションオブジェクトである。
図19の6つのブリックからなるアセンブリ1900の標準コンフィギュレーションを表すために、二次階層編成2100が追加される。一実施例として、二次階層編成2100は、図19の6つのブリックからなるアセンブリ1900のブリックに全く孔がない6つのブリックからなるアセンブリ1900の標準コンフィギュレーションを表す。
この実施例では、一次階層編成2001に関連付けられる、例えば二次階層編成2100などの最初の二次階層編成は、二次階層編成2100が一次階層編成2001の各マスターオブジェクトに関連付けられる少なくとも一つのコンフィギュレーションオブジェクトを含むような形で作成される。その結果、二次階層編成2100は、一次階層編成2001と同様のものとなる。
二次階層編成2100は、主要構成2101、インスタンス化構成2102、及びインスタンス化構成2103を含む。これらの実施例では、二次階層編成2100の一次階層編成2001への追加と関連付けには、主要構成2101の主要構成2002への追加及び関連付け、インスタンス化構成2004へのインスタンス化構成2102の追加及び関連付け、及びインスタンス化構成2006へのインスタンス化構成2103の追加及び関連付けが含まれる。
ブリックに孔が全くない、図19の6つのブリックからなるアセンブリ1900の標準コンフィギュレーションを表すために、再利用可能な定義コンフィギュレーションオブジェクト2104が再利用可能な定義オブジェクト2008に追加される。再利用可能な定義コンフィギュレーションオブジェクト2104は、二次階層編成2100の主要構成2101のルートオブジェクトである。
使用コンフィギュレーションオブジェクト2106、使用コンフィギュレーションオブジェクト2108、及びインプレイス定義コンフィギュレーションオブジェクト2110は、二次構成リンク2112、二次構成リンク2114、及び二次構成リンク2116によってそれぞれ示される再利用可能な定義コンフィギュレーションオブジェクト2104の子オブジェクトである。
使用コンフィギュレーションオブジェクト2106は、再利用可能な定義オブジェクト2020に対応する再利用可能な定義コンフィギュレーションオブジェクト2118をインスタンス化したものである。図21には、モデル2000に存在する二次インスタンスリンクを示していない。例えば、モデル2000において、二次インスタンスリンク(図示せず)は、使用コンフィギュレーションオブジェクト2106と再利用可能な定義コンフィギュレーションオブジェクト2118との間に存在する。
使用コンフィギュレーションオブジェクト2120及び使用コンフィギュレーションオブジェクト2122は、二次構成リンク2124、及び二次構成リンク2126によってそれぞれ示されるように、再利用可能な定義コンフィギュレーションオブジェクト2118の子オブジェクトである。再利用可能な定義コンフィギュレーションオブジェクト2118は、インスタンス化構成2102のルートオブジェクトである。
さらに、図示したように、使用コンフィギュレーションオブジェクト2120及び使用コンフィギュレーションオブジェクト2122はいずれも、再利用可能な定義コンフィギュレーションオブジェクト2127をインスタンス化したものである。再利用可能な定義コンフィギュレーションオブジェクト2127は、インスタンス化構成2006のルートオブジェクトである。再利用可能な定義コンフィギュレーションオブジェクト2127は、インスタンス化構成2006の唯一のオブジェクトである。
オカレンスコンフィギュレーションオブジェクト2128及びオカレンスコンフィギュレーションオブジェクト2130は、使用コンフィギュレーションオブジェクト2120及び使用コンフィギュレーションオブジェクト2122をそれぞれインスタンス化したものである。オカレンスコンフィギュレーションオブジェクト2128及びオカレンスコンフィギュレーションオブジェクト2130は、二次構成リンク2132及び二次構成リンク2134によってそれぞれ示されるように、使用コンフィギュレーションオブジェクト2106の子オブジェクトである。
使用コンフィギュレーションオブジェクト2108もまた、再利用可能な定義コンフィギュレーションオブジェクト2118をインスタンス化したものである。オカレンスコンフィギュレーションオブジェクト2136及びオカレンスコンフィギュレーションオブジェクト2138は、二次構成リンク2140及び二次構成リンク2142によってそれぞれ示されるように、使用コンフィギュレーションオブジェクト2108の子オブジェクトである。さらに、オカレンスコンフィギュレーションオブジェクト2136及びオカレンスコンフィギュレーションオブジェクト2138は、使用コンフィギュレーションオブジェクト2120及び使用コンフィギュレーションオブジェクト2122をそれぞれインスタンス化したものである。加えて、使用コンフィギュレーションオブジェクト2144及び使用コンフィギュレーションオブジェクト2146は、二次構成リンク2148及び二次構成リンク2150によってそれぞれ示されるように、インプレイス定義コンフィギュレーションオブジェクト2110の子オブジェクトである。
このように、インスタンス化構成2103は、再利用可能な定義コンフィギュレーションオブジェクト2127を含む。インスタンス化構成2102は、再利用可能な定義コンフィギュレーションオブジェクト2118、使用コンフィギュレーションオブジェクト2120、及び使用コンフィギュレーションオブジェクト2122を含む。さらに、主要構成2101は、再利用可能な定義コンフィギュレーションオブジェクト2104、使用コンフィギュレーションオブジェクト2106、使用コンフィギュレーションオブジェクト2108、インプレイス定義コンフィギュレーションオブジェクト2110、オカレンスコンフィギュレーションオブジェクト2128、オカレンスコンフィギュレーションオブジェクト2130、オカレンスコンフィギュレーションオブジェクト2136、オカレンスコンフィギュレーションオブジェクト2138、使用コンフィギュレーションオブジェクト2144、及び使用コンフィギュレーションオブジェクト2146を含む。
このように、モデル2000の二次階層編成2100は、図19の6つのブリックからなるアセンブリ1900の標準のコンフィギュレーションの製品構成を論理的に分解したものを表す。二次階層編成2100を適所に配置することで、この標準のコンフィギュレーションから変化した6つのブリックからなるアセンブリ1900の変形を表すために、追加の二次階層編成をモデル2000に追加することができる。
図22は、一実施形態による6つのブリックからなるアセンブリの変形を示す図である。図22では、6つのブリックからなるアセンブリ1900の変形2200を示す。図22の6つのブリックからなるアセンブリ1900の変形2200は、中央の2つのブリックからなるアセンブリ1904のブリック1912に孔2202があるところが、図19の6つのブリックからなるアセンブリ1900とは異なる。
図23は、一実施形態による6つのブリックからなるアセンブリの2つの変形を表すモデルの図である。この実施例では、図22の6つのブリックからなるアセンブリ1900の変形2200の表示がモデル2000に加えられている。このように、図23のモデル2000は、6つのブリックからなるアセンブリ1900の2つの変形を表す。
具体的には、二次階層編成2300がモデル2000に追加される。二次階層編成2300を形成するオブジェクトは、ドメインコンフィギュレーションオブジェクトである。例えば二次階層編成2100等の最初の二次階層編成がすでに作成された後で、モデル2000に、たとえば二次階層編成2300等の追加の二次階層編成を追加するためには、一次階層編成2001の各マスターオブジェクトに追加のコンフィギュレーションオブジェクトを追加する必要がない。
その代わりに、二次階層編成2300は、任意の数のコンフィギュレーションオブジェクトを二次階層編成2100と共有するように作成される。したがって、二次階層編成2300と一次階層編成2001を両方表示するのに使用するデータ記憶スペースと処理能力が節約できる。
この実施例では、図22の6つのブリックからなるアセンブリ1900の変形2200の表示をモデル2000に追加することには、再利用可能な定義コンフィギュレーションオブジェクト2302を再利用可能な定義オブジェクト2008に追加して、図22の孔2202を有する6つのブリックからなるアセンブリ1900の変形2200を表示することが含まれる。再利用可能な定義コンフィギュレーションオブジェクト2302は、二次階層編成2300の主要構成2304のルートオブジェクトである。
モデル2000に6つのブリックからなるアセンブリ1900の変形2200の表示の追加することにはまた、再利用可能な定義コンフィギュレーションオブジェクト2306を再利用可能な定義オブジェクト2020に追加して、中央の2つのブリックからなるアセンブリ1904の孔2202を表示することも含まれる。再利用可能な定義コンフィギュレーションオブジェクト2306は、二次階層編成2300のインスタンス化構成2308のルートオブジェクトである。
さらに、モデル2000に6つのブリックからなるアセンブリ1900の変形2200の表示を追加することには、再利用可能な定義コンフィギュレーションオブジェクト2310を再利用可能な定義オブジェクト2044に追加して、図22のブリック1912の孔2202を表示することが含まれる。再利用可能な定義コンフィギュレーションオブジェクト2310は、二次階層編成2300のインスタンス化構成2312のルートオブジェクトである。インスタンス化構成2312は、再利用可能な定義コンフィギュレーションオブジェクト2310のみを含む。
使用コンフィギュレーションオブジェクト2314は、再利用可能な定義コンフィギュレーションオブジェクト2310をインスタンス化したものである。図23では、モデル2000に存在する二次インスタンスリンクは示されていない。使用コンフィギュレーションオブジェクト2314は、二次構成リンク2316に示されるように、再利用可能な定義コンフィギュレーションオブジェクト2306の子オブジェクトとして使用オブジェクト2024に追加される。
さらに、二次構成リンク2318は、二次構成リンク2126によって示されるように、再利用可能な定義コンフィギュレーションオブジェクト2306が使用コンフィギュレーションオブジェクト2122を子オブジェクトとして再利用可能な定義コンフィギュレーションオブジェクト2118と共有することを示している。このように、インスタンス化構成2308は、再利用可能な定義コンフィギュレーションオブジェクト2306、使用コンフィギュレーションオブジェクト2314、及び使用コンフィギュレーションオブジェクト2122を含む。
使用コンフィギュレーションオブジェクト2320は、再利用可能な定義コンフィギュレーションオブジェクト2306をインスタンス化したものとして使用オブジェクト2010に追加される。使用コンフィギュレーションオブジェクト2320が作成されると、オカレンスコンフィギュレーションオブジェクト2322は、使用コンフィギュレーションオブジェクト2314をインスタンス化したものとしてオカレンスオブジェクト2032に追加される。
使用コンフィギュレーションオブジェクト2320は、二次構成リンク2324によって示されるように、オカレンスコンフィギュレーションオブジェクト2322の親オブジェクトである。さらに、二次構成リンク2326は、使用コンフィギュレーションオブジェクト2320が、オカレンスコンフィギュレーションオブジェクト2130を子オブジェクトとして使用コンフィギュレーションオブジェクト2106と共有することを示す。
使用コンフィギュレーションオブジェクト2320は、二次構成リンク2328によって示されるように、再利用可能な定義コンフィギュレーションオブジェクト2302の子オブジェクトである。さらに、再利用可能な定義コンフィギュレーションオブジェクト2302は、二次構成リンク2330及び二次構成リンク2332によってそれぞれ示されるように、使用コンフィギュレーションオブジェクト2108とインプレイス定義コンフィギュレーションオブジェクト2110を子オブジェクトとして再利用可能な定義コンフィギュレーションオブジェクト2104と共有する。
このように、主要構成2304は、再利用可能な定義コンフィギュレーションオブジェクト2302、使用コンフィギュレーションオブジェクト2320、使用コンフィギュレーションオブジェクト2108、インプレイス定義コンフィギュレーションオブジェクト2110、オカレンスコンフィギュレーションオブジェクト2128、オカレンスコンフィギュレーションオブジェクト2322、オカレンスコンフィギュレーションオブジェクト2130、オカレンスコンフィギュレーションオブジェクト2136、オカレンスコンフィギュレーションオブジェクト2138、使用コンフィギュレーションオブジェクト2144、及び使用コンフィギュレーションオブジェクト2146を含む。6つのブリックからなるアセンブリ1900の中央の2つのブリックからなるアセンブリ1904のブリック1912の孔2202は、主要構成2304のオカレンスコンフィギュレーションオブジェクト2322によって表示される。
図19に示す6つのブリックからなるアセンブリ1900、図22に示す6つのブリックからなるアセンブリ1900の変形2200、及び図20、21、及び23に示すモデル2000は、例示的な実施形態を実施可能な方式を物理的又はアーキテクチャ的に限定するものではない。図示したコンポーネントに加えて又は代えて、他のコンポーネントを使用することができる。幾つかのコンポーネントは任意選択になることもある。
図24は、一実施形態による6つのブリックからなるアセンブリの組み立てシーケンスを分解したものである。図示したように、6つのブリックからなるアセンブリ1900は、シーケンス2400、シーケンス2402、及びシーケンス2404を使用して製造される。これらのシーケンスは製造シーケンスである。シーケンス2400は、ブリック1912とブリック1916の組み立てを含む。シーケンス2402は、ブリック1914とブリック1918の組み立てを含む。さらに、シーケンス2404は、ブリック1908及びブリック1910のシーケンスを含む。
図25は、一実施形態による2つのドメインのモデル間のマッピングを示したものである。図示したように、図20のモデル2000は、6つのブリックからなるアセンブリ1900の幾何学的ドメイン2500に対して作成された6つのブリックからなるアセンブリ1900のモデルである。図25において、モデル2501は、製造ドメイン2502に対して作成された6つのブリックからなるアセンブリ1900のモデルである。モデル2501は、図1のモデル114の一実装態様の別の例である。モデル2501のオブジェクトは、ドメインマスターオブジェクトである。
製造ドメイン2502及び幾何学的ドメイン2500は、図1のドメイン117のグループに含まれるドメインの例である。モデル2000内の定義オブジェクトは、図19の6つのブリックからなるアセンブリ1900のパーツおよびパーツのアセンブリを表示する。さらに、モデル2501内の定義オブジェクトは、パーツのアセンブリを形成して、図24の6つのブリックからなるアセンブリ1900を形成するのに使用される製造シーケンスを表示する。図25では、モデル2000及びモデル2501の一又は複数の構成リンク及びインスタンスリンクは示されていない。
種々のドメインのモデルは、ある場合にはこれらドメイン全体にマッピングされる。例えば、モデル2501はモデル2000にマッピングされる。境界線2503は、幾何学的ドメイン2500及び製造ドメイン2502との間の境界を示す。モデル2501は、一次階層編成2504を含む。一次階層編成2504は、主要構成2506、インスタンス化構成2508、及びインスタンス化構成2510を含む。
図示したように、再利用可能な定義オブジェクト2512は、主要構成2506のルートオブジェクトである。再利用可能な定義オブジェクト2512は、図19の6つのブリックからなるアセンブリ1900を形成するために使用される全体的な製造シーケンスを表示する。モデル2501の再利用可能な定義オブジェクト2512は、マッピングリンク2514によって示されるように、モデル2000の再利用可能な定義オブジェクト2008にマッピングされる。
本明細書で使用する「マッピングリンク」とは、2つの異なるモデルの2つのオブジェクト間のリンクである。マッピングリンクは、一つのモデルのオブジェクトを別のモデルのオブジェクトにマッピングする。通常、マッピングリンクは、同じ種類の2つのオブジェクトをマッピングする。例えば、マッピングリンクは、再利用可能な定義オブジェクトを再利用可能な定義オブジェクトに、オカレンスオブジェクトをオカレンスオブジェクトに、そして使用オブジェクトを使用オブジェクトにマッピングする。
製造ドメイン2502にある再利用可能な定義オブジェクト2512は、再利用可能なシーケンス定義オブジェクトとも呼ばれる。幾何学ドメイン2500にある再利用可能な定義オブジェクト2008は、再利用可能なパーツ定義オブジェクトと呼ばれる。この結果、これら2つの定義オブジェクト間のマッピングにより、再利用可能なシーケンス定義オブジェクトによって表示されるシーケンスは、再利用可能なパーツ定義オブジェクトによって表示されるパーツを形成するのに使用されることが示される。
さらに、使用オブジェクト2516、使用オブジェクト2518、及び使用オブジェクト2520は、一次構成リンク2522、一次構成リンク2524、一次構成リンク2526によってそれぞれ示されるように、再利用可能な定義オブジェクト2512の子オブジェクトである。この実施例では、使用オブジェクト2516は図24のシーケンス2404を表示する。使用オブジェクト2518は、図24のシーケンス2400を表示し、使用オブジェクト2520は図24のシーケンス2402を表示する。
モデル2501の使用オブジェクト2516は、マッピングリンク2528によって示されるように、モデル2000の使用オブジェクト2012にマッピングされる。つまり、使用オブジェクト2516によって表示されるシーケンス2404は、使用オブジェクト2012によって表示される下方の2つのブリックからなるアセンブリ1902を形成するために使用される。
使用オブジェクト2516は、一次インスタンスリンク2532によって示されるように、再利用可能な定義オブジェクト2530をインスタンス化したものである。再利用可能な定義オブジェクト2530は、インスタンス化構成2508のルートオブジェクトである。この実施例では、再利用可能な定義オブジェクト2530は、左のブリックと右のブリックを組み立てて2つのブリックからなるアセンブリを形成する製造シーケンスを表示する。モデル2501の再利用可能な定義オブジェクト2530は、マッピングリンク2531によって示されるように、モデル2000の再利用可能な定義オブジェクト2020をマッピングする。
さらに、使用オブジェクト2534及び使用オブジェクト2536は、一次構成リンク2538及び一次構成リンク2540によってそれぞれ示されるように、再利用可能な定義オブジェクト2530の子オブジェクトである。モデル2501の使用オブジェクト2534及び使用オブジェクト2536は、マッピングリンク2542及びマッピングリンク2544によってそれぞれ示されるように、モデル2000の使用オブジェクト2024及び使用オブジェクト2026のそれぞれにマッピングされる。このように、モデル2501のインスタンス化構成2508は、モデル2000のインスタンス化構成2004にマッピングされ、これは、モデル2501の再利用可能な定義オブジェクト2530によって表示されるシーケンスが、モデル2000の再利用可能な定義オブジェクト2020によって表示される2つのブリックからなるアセンブリを形成するために使用されることを示す。
さらに、使用オブジェクト2024及び使用オブジェクト2026は、モデル2000の再利用可能な定義オブジェクト2044をインスタンス化したものである。このように、単一のブリックを表示する再利用可能な定義オブジェクト2044は、一よりも多いドメインの一よりも多いモデルにおいて使用される。具体的には、再利用可能な定義オブジェクト2044は幾何学的ドメイン2500の境界線2503側に図示されているが、幾何学的ドメイン2500のモデル2000において使用される再利用可能な定義オブジェクト2044は、製造ドメイン2502のモデル2501においても使用される。
この実施例では、使用オブジェクト2518及び使用オブジェクト2520は、一次インスタンスリンク2545及び一次インスタンスリンク2547によってそれぞれ示されるように、再利用可能な定義オブジェクト2546をインスタンス化したものである。再利用可能な定義オブジェクト2546は、垂直のブリック及び水平のブリックを組み立てて2つのブリックからなるアセンブリを形成するシーケンスを表示する。
使用オブジェクト2548及び使用オブジェクト2550は、一次構成リンク2552及び一次構成リンク2554によってそれぞれ示されるように、再利用可能な定義オブジェクト2546の子オブジェクトである。使用オブジェクト2548及び使用オブジェクト2550は、一次インスタンスリンク2556及び一次インスタンスリンク2558によってそれぞれ示されるように、再利用可能な定義オブジェクト2044をインスタンス化したものである。
オカレンスオブジェクト2560及びオカレンスオブジェクト2562は、一次構成リンク2564及び一次構成リンク2566によってそれぞれ示されるように、使用オブジェクト2518の子オブジェクトである。具体的には、オカレンスオブジェクト2560及びオカレンスオブジェクト2562は、使用オブジェクト2548及び使用オブジェクト2550をそれぞれインスタンス化したものである。
加えて、オカレンスオブジェクト2568及びオカレンスオブジェクト2570は、一次構成リンク2572及び2574によってそれぞれ示されるように、使用オブジェクト2520の子オブジェクトである。具体的には、オカレンスオブジェクト2568及びオカレンスオブジェクト2570は、使用オブジェクト2548及び使用オブジェクト2550をそれぞれインスタンス化したものである。
この実施例では、オカレンスオブジェクト2560は、マッピングリンク2576によって示されるように使用オブジェクト2064にマッピングされ、その一方でオカレンスオブジェクト2562は、マッピングリンク2578によって示されるようにオカレンスオブジェクト2032にマッピングされる。このように、使用オブジェクト2518によって表示されるシーケンスは、使用オブジェクト2064によって表示されるブリック1916と、オカレンスオブジェクト2032によって表示されるブリック1912をともに組み立てるために使用するシーケンスである。
同様に、オカレンスオブジェクト2568は、マッピングリンク2580によって示されるように使用オブジェクト2066にマッピングされ、その一方でオカレンスオブジェクト2570は、マッピングリンク2582によって示されるように使用オブジェクト2038にマッピングされる。このように、使用オブジェクト2520によって表示されるシーケンスは、使用オブジェクト2066によって表示されるブリック1918と、使用オブジェクト2038によって表示されるブリック1914を組み立てるために使用されるシーケンスである。
図26は、一実施形態によるジェネレータシステムのモデルを示す図である。この実施例では、モデル2600は、ジェネレータシステムの製品構成のモデルである。モデル2600は、図1のモデル114の一実装態様の一例である。モデル2600には、再利用可能な定義オブジェクト2601が含まれる。
再利用可能な定義オブジェクト2601は、ジェネレータシステムを表示する。再利用可能な定義オブジェクト2601は、モデル2600の一次階層編成2605の主要構成2607のルートオブジェクトである。
インプレイスポート定義オブジェクト2602は、一次ポート構成リンク2604によって示されるように、再利用可能な定義オブジェクト2601の子オブジェクトである。インプレイスポート定義オブジェクト2602は、再利用可能な定義オブジェクト2601によって表示されるジェネレータシステム上の物理的ポートを表示する。この実施例では、インプレイスポート定義オブジェクト2602は、図12のインターフェースカテゴリ1200に属する。つまり、インプレイスポート定義オブジェクト2602は、別のポートマスターオブジェクトには接続可能ではない。
本明細書で使用する「ポート構成リンク」とは、モデルのポートオブジェクト及び別のオブジェクトの間のリンクである。「一次ポート構成リンク」とは、モデルのポートマスターオブジェクトと別のポートマスターオブジェクトまたは異なるマスターオブジェクトの間のリンクである。
インプレイスポート定義オブジェクト2602は再利用可能な定義オブジェクト2601に接続されているが、インプレイスポート定義オブジェクト2602は、一次階層編成2605のパーツとは見なされない。インプレイスポート定義オブジェクト2606、インプレイスポート定義オブジェクト2608、及びインプレイスポート定義オブジェクト2610は、一次ポート構成リンク2612、一次ポート構成リンク2614、及び一次ポート構成リンク2616によってそれぞれ示されるように、インプレイスポート定義オブジェクト2602の子オブジェクトである。
この結果、インプレイスポート定義オブジェクト2606、インプレイスポート定義オブジェクト2608、及びインプレイスポート定義オブジェクト2610はまた、図12のインターフェースカテゴリ1200にも属する。このように、これらインプレイスポート定義オブジェクトは、別のポートマスターオブジェクトには接続可能ではない。
この実施例では、インプレイスポート定義オブジェクト2606、インプレイスポート定義オブジェクト2608、及びインプレイスポート定義オブジェクト2610は、再利用可能な定義オブジェクト2601によって表示されるジェネレータシステム上の制御ポート、第1電力ポート、及び第2電力ポートをそれぞれ表示する。これらのポートは、ジェネレータシステム上の物理的ポートまたは物理的接続点である。
インプレイスポート定義オブジェクト2602、インプレイスポート定義オブジェクト2606、インプレイスポート定義オブジェクト2608、及びインプレイスポート定義オブジェクト2610は、モデル2600のポートサブ構成2603を形成する。ポートサブ構成2603は、一次階層編成2605に接続されていると見なされるが、一次階層編成2605のパーツではない。
図27は、一実施形態によるジェネレータシステムのモデルを示す。この実施例では、二次階層編成2701及び二次階層編成2703が図26のモデル2600に追加されている。再利用可能な定義コンフィギュレーションオブジェクト2700は、二次階層編成2701の主要構成2705のルートオブジェクトである。再利用可能な定義コンフィギュレーションオブジェクト2702は、二次階層編成2703の主要構成2707のルートオブジェクトである。
再利用可能な定義コンフィギュレーションオブジェクト2700及び再利用可能な定義コンフィギュレーションオブジェクト2702は、再利用可能な定義オブジェクト2601に対応する。具体的には、再利用可能な定義コンフィギュレーションオブジェクト2700と再利用可能な定義コンフィギュレーションオブジェクト2702は各々、再利用可能な定義オブジェクト2601によって表示されるジェネレータシステムの特定のコンフィギュレーションを表示する。
インプレイスポート定義コンフィギュレーションオブジェクト2704及びインプレイスポート定義コンフィギュレーションオブジェクト2706は、インプレイスポート定義オブジェクト2602に対応する。これらポートコンフィギュレーションオブジェクトは各々、インプレイスポート定義オブジェクト2602によって表示されるポートの特定のコンフィギュレーションを表す。
インプレイスポート定義コンフィギュレーションオブジェクト2704及びインプレイスポート定義コンフィギュレーションオブジェクト2706は、二次ポート構成リンク2708及び二次ポート構成リンク2710によってそれぞれ示されるように、再利用可能な定義コンフィギュレーションオブジェクト2700及び再利用可能な定義コンフィギュレーションオブジェクト2702それぞれの子オブジェクトである。本明細書で使用する「二次ポート構成リンク」は、モデルのポートコンフィギュレーションオブジェクト及び別のポートコンフィギュレーションオブジェクトまたは異なるコンフィギュレーションオブジェクトの間のリンクである。
インプレイスポート定義コンフィギュレーションオブジェクト2712は、インプレイスポート定義オブジェクト2606に対応する。インプレイスポート定義コンフィギュレーションオブジェクト2714は、インプレイスポート定義オブジェクト2608に対応する。インプレイスポート定義コンフィギュレーションオブジェクト2712及びインプレイスポート定義コンフィギュレーションオブジェクト2714は、二次ポート構成リンク2716及び二次ポート構成リンク2718によってそれぞれ示されるように、インプレイスポート定義コンフィギュレーションオブジェクト2704の子オブジェクトである。
さらに、インプレイスポート定義コンフィギュレーションオブジェクト2720は、インプレイスポート定義オブジェクト2610に対応する。排他リンク2722は、インプレイスポート定義コンフィギュレーションオブジェクト2704には、インプレイスポート定義オブジェクト2610のいかなるコンフィギュレーションも含まれないことを示している。
インプレイスポート定義コンフィギュレーションオブジェクト2712、インプレイスポート定義コンフィギュレーションオブジェクト2714、及びインプレイスポート定義コンフィギュレーションオブジェクト2720はすべて、二次ポート構成リンク2724、二次ポート構成リンク2726、及び二次ポート構成リンク2728によってそれぞれ示されるように、インプレイスポート定義オブジェクト2706の子オブジェクトである。このように、インプレイスポート定義オブジェクト2704によって表示されるポートのコンフィギュレーションは、制御ポートおよび第1電力ポートのみを含む。しかしながら、インプレイスポート定義コンフィギュレーションオブジェクト2706によって表示されるポートのコンフィギュレーションは、制御ポート、第1電力ポート、及び第2電力ポートを含む。
図28は、一実施形態によるジェネレータシステムのモデルを示す別の図である。この実施例では、図27のモデル2600を簡略化した形式で示す。具体的には、二次ポート構成リンク2716、二次ポート構成リンク2718、及び二次ポート構成リンク2724、二次ポート構成リンク2726、及び二次ポート構成リンク2728は除外されている。
インプレイスポート定義コンフィギュレーションオブジェクト2706によって表示されるコンフィギュレーションには、インプレイスポート定義オブジェクト2606、インプレイスポート定義オブジェクト2608、及びインプレイスポート定義オブジェクト2610によって表示されるすべてのポートが含まれ、対応する二次ポート構成リンクは省略されている。インプレイスポート定義コンフィギュレーションオブジェクト2706によって表示されるコンフィギュレーションは、インプレイスポート定義オブジェクト2610によって表示されるポートのみを除外するため、この除外を示すのに排他リンク2722が使用されており、他のポートの対応する二次ポート構成リンクは省略されている。これら異なる二次ポート構成リンクを省略することによって、モデル2600の図が単純化される。
図29は、一実施形態によるエンジンシステムのモデルを示す。この実施例では、モデル2900は、エンジンシステムの製品構成のモデルである。具体的には、モデル2900は、任意の数のリンク及びオブジェクトを省略して単純化されたモデルである。モデル2900は、図1のモデル114の一つの実装態様の一例である。
図示したように、モデル2900は、一次階層編成2902、二次階層編成2904、及び二次階層編成2906を含む。一次階層編成2902は、主要構成2908及びインスタンス化構成2910を含む。この実施例において、インスタンス化構成2910は、図28のモデル2600の一次階層編成2605の主要構成2607である。
再利用可能な定義オブジェクト2912は、一次階層編成2902の主要構成2908のルートオブジェクトである。再利用可能な定義オブジェクト2912は、エンジンシステムを表示する。使用オブジェクト2914及び使用オブジェクト2916は、一次構成リンク2918及び一次構成リンク2920によってそれぞれ示されるように、再利用可能な定義オブジェクト2912の子オブジェクトである。
使用オブジェクト2914及び使用オブジェクト2916はいずれも、一次インスタンスリンク2922及び一次インスタンスリンク2924によってそれぞれ示されるように、再利用可能な定義オブジェクト2601をインスタンス化したものである。具体的には、使用オブジェクト2914は、エンジンシステムの左側のジェネレータシステムを表示し、使用オブジェクト2916は、エンジンシステムの右側のジェネレータシステムを表示する。
二次階層編成2904は、主要構成2926及び二次インスタンス化構成2927を含む。二次インスタンス化構成2927は、二次階層編成2701の主要構成2705である。さらに、二次階層編成2904は、主要構成2928及び二次インスタンス化構成2929を含む。二次インスタンス化構成2929は、二次階層編成2703の主要構成2707である。
再利用可能な定義コンフィギュレーションオブジェクト2930は、二次階層編成2904のルートオブジェクトである。使用コンフィギュレーションオブジェクト2932及び使用コンフィギュレーションオブジェクト2934は、二次構成リンク2935及び二次構成リンク2936によってそれぞれ示されるように、再利用可能な定義コンフィギュレーションオブジェクト2930の子オブジェクトである。
使用コンフィギュレーションオブジェクト2932は、二次インスタンスリンク2933によって示されるように、再利用可能な定義コンフィギュレーションオブジェクト2702をインスタンス化したものである。使用コンフィギュレーションオブジェクト2934は、二次インスタンスリンク2939によって示されるように、再利用可能な定義コンフィギュレーションオブジェクト2700をインスタンス化したものである。
再利用可能な定義コンフィギュレーションオブジェクト2931は、二次階層編成2904のルートオブジェクトである。使用コンフィギュレーションオブジェクト2938と使用コンフィギュレーションオブジェクト2934は、二次構成リンク2940及び二次構成リンク2942によってそれぞれ示されるように、再利用可能な定義コンフィギュレーションオブジェクト2931の子オブジェクトである。使用コンフィギュレーションオブジェクト2938は、二次インスタンスリンク2937によって示されるように、再利用可能な定義コンフィギュレーションオブジェクト2700をインスタンス化したものである。
図30は、一実施形態によるエンジンシステムのより詳細なモデルの図である。図30に、モデル2900を、図29のモデル2900と比べてさらに詳細に示す。この実施例では、ポートサブ構成3000は、一次階層編成2902の主要構成2908の使用オブジェクト2914に接続される。さらに、ポートサブ構成3001は、一次階層編成2902の主要構成2908の使用オブジェクト2916に接続される。
しかしながら、ポートサブ構成3000も、ポートサブ構成3001も一次階層編成2902のパーツとは見なされない。ポートサブ構成3000とポートサブ構成3001は、一次階層編成2605の主要構成2607に接続されるポートサブ構成2603をインスタンス化したものである。
この実施例では、ポートサブ構成3000とポートサブ構成3001の各ポートマスターオブジェクトは、図13の接続可能なカテゴリ1300に属する。つまり、ポートサブ構成3000とポートサブ構成3001の各ポートマスターオブジェクトは、別のポートマスターオブジェクトに接続可能である。
ポートサブ構成3000には、ポートオカレンスオブジェクト3002、ポートオカレンスオブジェクト3006、ポートオカレンスオブジェクト3008、及びポートオカレンスオブジェクト3010が含まれる。ポートオカレンスオブジェクト3002は、一次ポート構成リンク3004によって示されるように、使用オブジェクト2914の子オブジェクトである。ポートオカレンスオブジェクト3002は、インプレイスポート定義オブジェクト2602をインスタンス化したものである。この関係を示す一次ポートインスタンスリンクは、この実施例では省略されている。
さらに、ポートオカレンスオブジェクト3006、ポートオカレンスオブジェクト3008、及びポートオカレンスオブジェクト3010は、一次ポート構成リンク3012、一次ポート構成リンク3014、及び一次ポート構成リンク3016によって示されるように、ポートオカレンスオブジェクト3002の子オブジェクトである。ポートオカレンスオブジェクト3006、ポートオカレンスオブジェクト3008、及びポートオカレンスオブジェクト3010は、インプレイスポート定義オブジェクト2606、インプレイスポート定義オブジェクト2608、及びインプレイスポート定義オブジェクト2610をそれぞれインスタンス化したものである。一次ポートインスタンスリンクは、これらの関係がこの実施例から省略されていることを示している。
この実施例では、ポートオカレンスコンフィギュレーションオブジェクト3018と、ポートオカレンスコンフィギュレーションオブジェクト3020は、ポートオカレンスオブジェクト3002に対応する。ポートオカレンスコンフィギュレーションオブジェクト3018と、ポートオカレンスコンフィギュレーションオブジェクト3020は、インプレイスポート定義コンフィギュレーションオブジェクト2704及びインプレイスポート定義コンフィギュレーションオブジェクト2706をそれぞれインスタンス化したものである。二次ポートインスタンスリンクは、これらの関係が省略されていることを示している。
ポートオカレンスコンフィギュレーションオブジェクト3018と、ポートオカレンスコンフィギュレーションオブジェクト3020は、二次ポート構成リンク3021及び二次ポート構成リンク3023によってそれぞれ示されるように、使用コンフィギュレーションオブジェクト2932と使用コンフィギュレーションオブジェクト2938それぞれの子オブジェクトである。排他リンク3022は、ポートオカレンスコンフィギュレーションオブジェクト3018によって表示されるコンフィギュレーションには、ポートオカレンスオブジェクト3010によって表示されるポートは含まれないことを示している。
ポートサブ構成3001には、ポートオカレンスオブジェクト3024、ポートオカレンスオブジェクト3028、ポートオカレンスオブジェクト3030、及びポートオカレンスオブジェクト3032が含まれる。ポートオカレンスオブジェクト3024は、一次ポート構成リンク3026によって示されるように、使用オブジェクト2916の子オブジェクトである。ポートオカレンスオブジェクト3024は、インプレイスポート定義オブジェクト2602をインスタンス化したものである。一次ポートインスタンスリンクは、この関係がこの実施例において省略されていることを示している。
さらに、ポートオカレンスオブジェクト3028、ポートオカレンスオブジェクト3030、及びポートオカレンスオブジェクト3032は、一次ポート構成リンク3034、一次ポート構成リンク3036、及び一次ポート構成リンク3038によって示されるように、ポートオカレンスオブジェクト3024の子オブジェクトである。ポートオカレンスオブジェクト3028、ポートオカレンスオブジェクト3030、及びポートオカレンスオブジェクト3032は、インプレイスポート定義オブジェクト2606、インプレイスポート定義オブジェクト2608、及びインプレイスポート定義オブジェクト2610をそれぞれインスタンス化したものである。一次ポートインスタンスリンクは、これらの関係がこの実施例において省略されていることを示している。
この実施例では、ポートオカレンスコンフィギュレーションオブジェクト3040は、ポートオカレンスオブジェクト3024に対応する。ポートオカレンスコンフィギュレーションオブジェクト3040は、インプレイスポート定義コンフィギュレーションオブジェクト2704をインスタンス化したものである。二次ポートインスタンスリンクは、この関係が省略されていることを示している。
ポートオカレンスコンフィギュレーションオブジェクト3040は、二次ポート構成リンク3043によって示されるように、使用コンフィギュレーションオブジェクト2934の子オブジェクトである。排他リンク3042は、ポートオカレンスコンフィギュレーションオブジェクト3040によって表示されるコンフィギュレーションには、ポートオカレンスオブジェクト3032によって表示されるポートが含まれないことを示している。
加えて、この実施例において、インプレイスポート定義オブジェクト3044、インプレイスポート定義オブジェクト3046、及びインプレイスポート定義オブジェクト3048は、一次ポート構成リンク3050、一次ポート構成リンク3052、及び一次ポート構成リンク3054によってそれぞれ示されるように、再利用可能な定義オブジェクト2912の子オブジェクトである。しかしながら、インプレイスポート定義オブジェクト3044、インプレイスポート定義オブジェクト3046、及びインプレイスポート定義オブジェクト3048は、一次階層編成2902のパーツとは見なされない。
インプレイスポート定義オブジェクト3044、インプレイスポート定義オブジェクト3046、及びインプレイスポート定義オブジェクト3048は、図12のインターフェースカテゴリ1200に属する。つまり、これらインプレイスポート定義コンフィギュレーションオブジェクトは、他のポートマスターオブジェクトに接続可能ではなく、接続可能なポートマスターオブジェクトによって実行される必要がある。
排他リンク3056は、再利用可能な定義コンフィギュレーションオブジェクト2930によって表示されるエンジンシステムのコンフィギュレーションには、インプレイスポート定義オブジェクト3046によって表示されるポートが含まれないことを示している。しかしながら、再利用可能な定義コンフィギュレーションオブジェクト2931によって表示されるエンジンシステムのコンフィギュレーションには、インプレイスポート定義オブジェクト3044、インプレイスポート定義オブジェクト3046、及びインプレイスポート定義オブジェクト3048によって表示される3つのポートすべてが含まれる。
この実施例において、昇格オブジェクト3058は、ポートオカレンスオブジェクト3008によって表示されるポートを使用して、インプレイスポート定義オブジェクト3044によって表示されるポートの役割を実行することを示すために使用される。つまり、昇格オブジェクト3058は、接続可能なポートオブジェクトをインターフェースポートオブジェクトの役割に昇格させる。
具体的には、昇格オブジェクト3058とインプレイスポート定義オブジェクト3044との間の昇格リンク3060は、昇格オブジェクト3058によって一つのオブジェクトがインプレイスポート定義オブジェクト3044の役割に昇格したことを示している。さらに、昇格オブジェクト3058及びポートオカレンスオブジェクト3008との間の昇格リンク3062は、ポートオカレンスオブジェクト3008がインプレイスポート定義オブジェクト3044の役割に昇格されるオブジェクトであることを示している。
昇格オブジェクト3058は、補助構成リンク3064によって示されるように、再利用可能な定義オブジェクト2912の子オブジェクトである。本明細書で使用する「補助構成リンク」とは、補助オブジェクトとドメインオブジェクトとの間のリンクである。しかしながら、昇格オブジェクト3058は、一次階層編成2902のパーツとして見なされない。
同様に、昇格オブジェクト3066は、ポートオカレンスオブジェクト3030によって表示されるポートを使用してインプレイスポート定義オブジェクト3048によって表示されるポートの役割を実行することを示すのに使用される。昇格リンク3068は、接続可能なポートオブジェクトがインプレイスポート定義オブジェクト3048の役割に昇格されていることを示している。さらに、昇格リンク3070は、ポートオカレンスオブジェクト3030が昇格される接続可能なポートオブジェクトであることを示している。
さらに、昇格オブジェクト3066は、補助構成リンク3072によって示されるように、再利用可能な定義オブジェクト2912の子オブジェクトでもある。しかしながら、昇格オブジェクト3066は、一次階層編成2902のパーツと見なされない。
さらに、昇格オブジェクト3074は、ポートオカレンスオブジェクト3010によって表示されるポートを使用してインプレイスポート定義オブジェクト3046によって表示されるポートの役割を実行することを示すのに使用される。昇格リンク3076は、接続可能なポートオブジェクトがインプレイスポート定義オブジェクト3046の役割に昇格されていることを示している。さらに、昇格リンク3078は、ポートオカレンスオブジェクト3010が昇格される接続可能なポートオブジェクトであることを示している。
昇格オブジェクト3074は、補助構成リンク3080によって示されるように、再利用可能な定義オブジェクト2912の子オブジェクトでもある。しかしながら、昇格オブジェクト3074は、一次階層編成2902のパーツとは見なされない。さらに、排他リンク3082は、再利用可能な定義コンフィギュレーションオブジェクト2930には昇格オブジェクト3074が子オブジェクトとして含まれないことを示している。
この実施例では、インプレイス定義オブジェクト3083は、一次構成リンク3084によって示されるように、再利用可能な定義オブジェクト2912の子オブジェクトである。インプレイス定義オブジェクト3083は、この実施例において一次階層編成2902の一部と見なされる。
インプレイス定義オブジェクト3083は、例えば非限定的に、ネット、ワイヤ、チューブ、ロジカルトランスポートネット、又は2つの端部を有する他のなんらかの種類の物理的又は論理的接続部材等の接続部材を表す。これら端部は各々、接続点、又はポートと見なされる。
このように、インプレイス定義オブジェクト3083は、一次ポート構成リンク3087及び一次ポート構成リンク3088によってそれぞれ示されるように、インプレイスポート定義オブジェクト3085及びインプレイスポート定義オブジェクト3086を子オブジェクトとして有する。インプレイスポート定義オブジェクト3085とインプレイスポート定義オブジェクト3086は、一次階層編成2902のパーツとしては見なされない。インプレイスポート定義オブジェクト3085とインプレイスポート定義オブジェクト3086は、図13の接続可能なカテゴリ1300に属する。
図示したように、接続オブジェクト3090と接続オブジェクト3093は、補助構成リンク3096及び補助構成リンク3097によってそれぞれ示されるように、再利用可能な定義オブジェクト2912の子オブジェクトである。しかしながら、これら接続オブジェクトは、一次階層編成2902のパーツとしては見なされない。
接続オブジェクト3090は、接続リンク3091と接続リンク3092とともに、インプレイスポート定義オブジェクト3085によって表示されるポートが、ポートオカレンスオブジェクト3006によって表示されるポートに接続されることを示すのに使用される。さらに、接続オブジェクト3093は、接続リンク3094と接続リンク3095とともに、インプレイスポート定義オブジェクト3086によって表示されるポートが、ポートオカレンスオブジェクト3028によって表示されるポートに接続されることを示すのに使用される。
図31は、一実施形態によるエンジンシステムのコンフィギュレーションのプロジェクションの図である。この実施例では、プロジェクション3100は、再利用可能な定義コンフィギュレーションオブジェクト2930によって表示されるエンジンシステムのコンフィギュレーションのプロジェクションである。図示したように、二次階層編成2906は、コンフィギュレーションのパーツである様々な補助オブジェクトとともに示されている。
図32は、一実施形態によるエンジンシステムのコンフィギュレーションのプロジェクションの図である。この実施例では、プロジェクション3200は、再利用可能な定義コンフィギュレーションオブジェクト2931によって表示されるエンジンシステムのコンフィギュレーションのプロジェクションである。図示したように、二次階層編成2906は、コンフィギュレーションのパーツである様々な補助オブジェクトとともに示されている。
図17〜18のモデル1703、図19、22及び24の6つのブリックからなるアセンブリ1900、図20、21、23、及び25のモデル2000、図25のモデル2501、図26〜28のモデル2600、図29〜30のモデル2900、図31のプロジェクション3100、及び図32のプロジェクション3200の図は、実施形態を実行可能な方法に対して物理的又はアーキテクチャ的な制限を暗示するものではない。図示したコンポーネントに加えて又は代えて、他のコンポーネントを使用することができる。幾つかのコンポーネントは任意選択になることもある。
図33は、一実施形態によるデータモデルを示す図である。この実施例では、データモデル3300は、統一モデリング言語(UML)を使用して図1のモデル114を実行可能な方法の一例である。
図34は、一実施形態によるフローチャート形式での製品構成の変更を管理するプロセスを示す。図34に示すプロセスは、図1のデータマネージャ116及びビジュアライザ166を使用して実行される。
さらに、図34に示すプロセスは、たとえば、限定しないが、下記図36のデータ処理システム3600など、おそらくネットワーク化された環境又は分散環境で、一又は複数のプロセッサを使用して、実施することができる。本明細書で使用する「データマネージャ」及び「ビジュアライザ」という用語は、図1のデータマネージャ116又はビジュアライザ166に限定しないが、本明細書で述べる工程を実施するために、コンピュータ可読媒体とともに使用される任意のプロセッサ又は一組のプロセッサを備えることもできる。図34に示すプロセスは、ソフトウェア、ハードウェア、又はこれらの組み合わせを使用して実装可能である。
このプロセスは、マスタードメインオブジェクトのグループを使用して、製品の製品構成のモデルの一次階層編成を作成することによって開始される(工程3400)。工程3400で作成されたモデルは、例えば図1のモデル114である。この一次階層編成は、図1の一次階層編成144である。
その後、ドメインコンフィギュレーションオブジェクトのグループを使用して、モデルの任意の数の二次階層編成を作成し(工程3402)、その後プロセスは終了する。任意の数の二次階層編成の各二次階層編成は、一次階層編成に関連付けられる。さらに、各二次階層編成は、製品の変形を表示するように構成される。各二次階層編成の任意の数のコンフィギュレーションオブジェクトは、製品の製品構成の任意の数の変更を表示する。
この実施例において、製品の新たな変形の表示がモデルに追加されると、新たな二次階層編成がモデルに追加される。新たな二次階層編成は一次階層編成に関連付けられており、モデルの任意の数の二次階層編成において別の二次階層編成と少なくとも1つのコンフィギュレーションオブジェクトを共有する。このように、新たな二次階層編成が最適化される。具体的には、新たな二次階層編成は、最適化された製品の変形構成である。
図示した異なる実施形態でのフロー図及びブロック図は、実例となる実施形態で実装可能な装置及び方法の構造、機能、及び作業を示している。その際、フロー図又はブロック図の各ブロックは、工程又はステップのモジュール、セグメント、機能及び/又は部分を表わしている。例えば、一又は複数のブロックは、プログラムコードとして、ハードウェアにおいて、又はプログラムコードとハードウェアの組合せとして実施可能である。ハードウェアにおいて実施されるとき、ハードウェアは、例えば、フロー図又はブロック図の一又は複数の工程を実施するように製造又は構成された集積回路の形態をとることができる。
例示的な一実施形態の幾つかの代替的な実装態様では、ブロックに記載された1つ又は複数の機能は、図中に記載の順序を逸脱して現れることがある。例えば、場合によっては、連続して示されている二つのブロックがほぼ同時に実行されること、又は時には含まれる機能によってはブロックが逆順に実施されることもありうる。また、フロー図又はブロック図に示されているブロックに加えて他のブロックが追加されてもよい。
図35A、図35B、及び図35Cは、一実施形態による用語の表と、これらの用語の説明である。この実施例では、表3500には、用語3502及び説明3504が含まれる。用語3502は、上記図1〜32において説明した異なる実施形態に関連する用語を含む。さらに、説明3504は、図1〜32のこれらの用語の使用による、用語3502に含まれる用語の定義の例である。
図36は、一実施形態によるデータ処理システムのブロック図である。この例示的な実施例では、データ処理システム3600を使用して、図1のコンピュータシステム118に一又は複数のコンピュータを実装することができる。具体的には、図1のデータマネージャ116は、データ処理システム3600において実行される。図示したように、データ処理システム3600は、通信構造3602を備え、プロセッサユニット3604、メモリ3606、永続記憶装置3608、通信ユニット3610、入力/出力(I/O)ユニット3612、及びディスプレイ3614の間で通信を提供する。
プロセッサユニット3604は、メモリ3606に読み込まれるソフトウェアの命令を実行する役割を果たす。プロセッサユニット3604は、特定の実行形態に応じて、任意の数のプロセッサ、マルチプロセッサコア、又は他の形式のプロセッサであってもよい。
メモリ3606及び固定記憶装置3608は、記憶デバイス3616の例である。記憶デバイスは、例えば、限定しないが、データ、機能的な形態のプログラムコード、及び/又は他の適切な情報などの情報を、一時的に及び/又は永続的に記憶することができる任意の個数のハードウェアである。記憶デバイス3616は、これらの実施例ではコンピュータで読取可能な記憶デバイス又は固定記憶デバイスと呼ばれることもある。
これらの実施例では、メモリ3606は例えば、ランダムアクセスメモリ又は他の何らかの適切な揮発性又は不揮発性の記憶デバイスであってもよい。幾つかの事例では、メモリ3606はアソシエーティブメモリの形態をとることがある。実行形態により、図1のモデル114はメモリ3606に記憶される。
固定記憶装置3608は具体的な実装に応じて様々な形態をとりうる。例えば、固定記憶装置3608は、一又は複数のコンポーネント又はデバイスを含みうる。例えば、固定記憶装置3608は、ハードドライブ、フラッシュメモリ、書換え型光ディスク、書換え可能磁気テープ、又はそれらの何らかの組み合わせである。
通信ユニット3610はこれらの例では、他のデータ処理システム又はデバイスとの通信を行う。これらの実施例では、通信ユニット3610は、物理的及び/又は無線通信リンクの使用を通して通信を可能にするネットワークインターフェースカードである。
入出力ユニット3612により、データ処理システム3600と他のデバイスとの間のデータの入出力が可能になる。例えば、入出力ユニット3612は、キーボード、マウス、プリンタ及び/又は他のなんらかの好適な入力デバイスを介してユーザ入力への接続を提供することができる。ディスプレイ3614はユーザに情報を表示する機構を提供する。
オペレーティングシステム、アプリケーション、及び/又はプログラムに対する命令は、通信構造3602を介してプロセッサユニット3604と通信する記憶デバイス3616内に位置付けされる。これらの実施例では、命令は、固定記憶装置3608の機能形態である。これらの命令は、プロセッサユニット3604によって実行するため、メモリ3606に読み込まれうる。異なる実施形態のプロセスは、メモリ3606などのメモリに配置可能なコンピュータによって実行される命令を使用して、プロセッサユニット3604によって実行することができる。
これらの命令は、プログラムコード、コンピュータで使用可能なプログラムコード、又はコンピュータで読取可能なプログラムコードと呼ばれ、プロセッサユニット3604内のプロセッサによって読取及び実行することができる。異なる実施形態のプログラムコードは、メモリ3606又は固定記憶装置3608など、異なる物理的な又はコンピュータで読取可能な記憶媒体上に具現化しうる。
例えば、図1のデータマネージャ116はプログラムコードとして実行される。ある場合には、データマネージャ116は、メモリ3606又は固定記憶装置3608に記憶された既存のデータベース構成上部のソフトウェアレイヤとして実行される。さらに、図1のデータマネージャ116は、例えば非限定的に、オーサリングソフト、テキストベースのソフト、データベース管理ソフト、人工知能ソフト、及び/又は他の種類のソフト等のソフトウェアツールの形態のプログラムコードにおいて実行される。
プログラムコード3618は、選択的に着脱可能なコンピュータ可読媒体3620上に機能的な形式で配置され、プロセッサユニット3604での実行用のデータ処理システム3600に読込み又は転送することができる。プログラムコード3618及びコンピュータ可読媒体3620は、これらの実施例ではコンピュータプログラム製品3622を形成する。1つの実施例では、コンピュータで読取可能な媒体3620は、コンピュータで読取可能な記憶媒体3624又はコンピュータで読取可能な信号媒体3626であってもよい。
コンピュータ可読記憶媒体3624は、例えば、固定記憶装置3608のパーツであるハードディスクなどのように、記憶デバイス上に転送するための固定記憶装置3608のパーツであるドライブ又は他のデバイスに挿入又は配置される光ディスク又は磁気ディスクなどを含みうる。また、コンピュータ可読記憶媒体3624は、データ処理システム3600に接続されているハードドライブ、サムドライブ、又はフラッシュメモリなどの固定記憶装置の形態をとることができる。
これらの実施例では、コンピュータで読取可能な記憶媒体3624は、プログラムコード3618を伝搬又は転送する媒体よりはむしろプログラムコード3618を記憶するために使用される物理的な又は有形の記憶デバイスである。代替的には、プログラムコード3618は、コンピュータ可読信号媒体3626を使用してデータ処理システム3600に転送することができる。コンピュータで読み取り可能な信号媒体3626は、例えば、プログラムコード3618を含む伝播データ信号である。例えば、コンピュータ可読信号媒体3626は、電磁信号、光信号、及び/又は他の任意の適切な形式の信号である。
データ処理システム3600に例示されている種々のコンポーネントは、種々の実施形態が実行可能な方法に対してアーキテクチャ的な制限を課すものではない。異なる例示的実施形態は、データ処理システム3600に対して図解されているコンポーネントに対して追加的又は代替的なコンポーネントを含むデータ処理システム内に実装しうる。図36に示した他のコンポーネントは、例示的な実施例と異なることがある。種々の実施形態は、プログラムコードを実行できる任意のハードウェアデバイス又はシステムを用いて実施することができる。
別の例示的な実施例では、プロセッサユニット3604は、特定の用途のために製造又は構成された回路を有するハードウェアユニットの形態をとってもよい。この種のハードウェアは、工程を実行するように構成された記憶デバイスからメモリにプログラムコードをローディングする必要なく、工程を実施することができる。
例えば、プロセッサユニット3604がハードウェアユニットの形態をとる場合、プロセッサユニット3604は回路システム、特定用途向け集積回路(ASIC)、プログラム可能論理デバイス、又は任意の数の工程を実施するために構成された他の適切な形式のハードウェアであってもよい。プログラム可能論理デバイスにより、デバイスは任意の数の工程を実施するように構成されている。デバイスは、後で再構成することができるか、又は任意の数の工程を実行するように恒久的に構成することができる。プログラマブルロジックデバイスの例には、例えば、プログラマブルロジックアレイ、フィールドプログラマブルロジックアレイ、フィールドプログラマブルゲートアレイ、及び他の適切なハードウェアデバイスが含まれる。この種の実装態様では、プログラムコード3618を省略できる。
さらに別の例示的な実施例では、プロセッサユニット3604は、コンピュータ及びハードウェアユニットの中に見られるプロセッサの組み合わせを使用して実装可能である。プロセッサユニット3604は、プログラムコード3618を実行するように構成されている任意の数のハードウェアユニット及び任意の数のプロセッサを有していてもよい。ここに描かれている実施例では、プロセスの一部は任意の数のハードウェアユニットで実行することが可能であるが、一方、他のプロセスは任意の数のプロセッサで実行可能である。ある場合には、プロセッサユニット3604は、人工知能システムのパーツである。
このため、異なる実施形態により、製品構成のモデルを使用して、製品の製品構成の変更を管理する方法及び装置が提供される。ある実施形態において、製品の製品構成の変更を管理する製品管理システムは、モデル及びデータマネージャを備える。このモデルは、一次階層編成、及び任意の数の最適化された製品の変形構成を含む。一次階層編成は、ドメインマスターオブジェクトのグループを含む。任意の数の最適化された製品の変形構成は、ドメインコンフィギュレーションオブジェクトのグループを含み、ドメインコンフィギュレーションオブジェクトのグループの各ドメインコンフィギュレーションオブジェクトは、ドメインマスターオブジェクトのグループの対応するドメインマスターオブジェクトによって表示されるコンポーネントのコンフィギュレーションを表示する。データマネージャは、モデルを使用して、製品構成の変更を管理するように構成される。
異なる実施形態により、図1の基本クラス121等の基本クラスから派生したクラスに属するオブジェクトを含むモデルの使用を削減する、製品の異なる可能な変更を管理する方法及び装置が提供される。具体的には、製品の種々の変形は、単一のモデル内で表示される。ある実施例では、モデル内で最適化された製品の変形構成を使用して、例えばギガバイトから例えばキロバイトまで、製品の製品構成の種々の変更をキャプチャーするのに必要なデータの記憶量が削減される。ある場合には、必要なデータの記憶量はテラバイトからメガバイト又はキロバイトまで削減される。
この種のモデルを使用すれば、数十億、又は数十兆ものコンポーネントを含む製品のいくつかのコンポーネントへのわずかな変更を、モデル又はモデルの一部を複製する必要なく表示することができる。製品の新たな変更を形成する製品の製品構成への新たな変更は、新たな最適化された製品の変形構成を使用して、モデルにキャプチャーされる。新たな最適化された製品の変形構成には、製品構成への種々の変更、及び任意の数の共有コンフィギュレーションオブジェクトを表示する任意の数の新たなコンフィギュレーションオブジェクトが含まれる。任意の数の共有コンフィギュレーションオブジェクトは、モデルの他の最適化された製品の変形構成のうちの少なくとも1つと共有される。このように、モデルの全体的なデータのメモリ使用量が最適化される。
種々の実施形態の説明は、例示及び説明を目的として提供されているものであり、網羅的な説明であること、又は開示された形態に実施形態を限定することを意図していない。当業者には、多数の修正例及び変形例が明らかであろう。さらに、異なる実施形態は、他の実施形態とは異なる利点を提供することができる。選択された一又は複数の実施形態は、実施形態の原理、実際の用途を最もよく説明するため、及び他の当業者に対し、様々な実施形態の開示内容と、考慮される特定の用途に適した様々な修正との理解を促すために選択及び記述されている。