JP5852361B2 - 部品表を展開する装置及び方法 - Google Patents

部品表を展開する装置及び方法 Download PDF

Info

Publication number
JP5852361B2
JP5852361B2 JP2011180999A JP2011180999A JP5852361B2 JP 5852361 B2 JP5852361 B2 JP 5852361B2 JP 2011180999 A JP2011180999 A JP 2011180999A JP 2011180999 A JP2011180999 A JP 2011180999A JP 5852361 B2 JP5852361 B2 JP 5852361B2
Authority
JP
Japan
Prior art keywords
parts
information
specific
list
expansion
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2011180999A
Other languages
English (en)
Other versions
JP2013045186A (ja
Inventor
泰之 蔭山
泰之 蔭山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP2011180999A priority Critical patent/JP5852361B2/ja
Priority to US13/554,353 priority patent/US8965797B2/en
Publication of JP2013045186A publication Critical patent/JP2013045186A/ja
Application granted granted Critical
Publication of JP5852361B2 publication Critical patent/JP5852361B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • G06Q10/087Inventory or stock management, e.g. order filling, procurement or balancing against orders
    • G06Q10/0875Itemisation or classification of parts, supplies or services, e.g. bill of materials
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • G06Q10/087Inventory or stock management, e.g. order filling, procurement or balancing against orders
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/20Point-of-sale [POS] network systems
    • G06Q20/202Interconnection or interaction of plural electronic cash registers [ECR] or to host computer, e.g. network details, transfer of information from host to ECR or from ECR to ECR
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/20Point-of-sale [POS] network systems
    • G06Q20/203Inventory monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/04Billing or invoicing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/10Tax strategies

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Economics (AREA)
  • Accounting & Taxation (AREA)
  • Strategic Management (AREA)
  • Development Economics (AREA)
  • Physics & Mathematics (AREA)
  • Finance (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Human Resources & Organizations (AREA)
  • Tourism & Hospitality (AREA)
  • Quality & Reliability (AREA)
  • Operations Research (AREA)
  • Game Theory and Decision Science (AREA)
  • Educational Administration (AREA)
  • Technology Law (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • General Factory Administration (AREA)

Description

本発明は、部品表を展開する装置及び方法に関する。特に、本発明は、複数の製品の部品表を、その複数の製品の各々を構成する各部品の員数が各部品に対応する位置に配置されるように並列に展開する装置及び方法に関する。
オプション装備やバリエーションが豊富な自動車のような組み立て加工の工業製品は、基本的な構造は殆ど同じだが、部分的な仕様の差異によって部分的に異なるだけの類似製品を多く含んでいる。設計及び開発の効率の向上のため、部品の共通化を推し進めるには、業務上このような類似製品の部品構成を比較して、どの部分が同じでどの部分が異なるかをできるだけ効率よく把握できるようにする必要がある。
部品表展開では、部品表ツリーの頂点である最終製品から正展開した結果をリストで表現したものがよく利用されるが、個々の部品表ツリーを正展開した結果を単に複数横に並べただけでは、複数の部品表ツリーの同一部分と相違部分を読み取ることは難しく、比較検討に適していない。そこで、部品構成が同じ部分は一箇所にマージし、部品構成が異なる部分はその部分の違いを表した並列化された表に展開する第1の並列展開方法が用いられる。このときのマージロジックは業務によって異なるが、全体の展開結果は、通常、各行を展開結果の部品に対応させ、各列を最終製品又はその1レベル下の組み立て部品に対応させた態様で表示される。
但し、この部品表を並列に展開するロジックを全てSQL(Structured Query Language)で実装すると、処理に要する時間が長くなり、同じデータに繰り返しアクセスがなされるため、処理の無駄も多い。そこで、以下の第2の並列展開方法を用いることも考えられる。即ち、まず、DBにある部品及び部品構成に関するデータから必要なものだけを読み込み、メモリ上に、隣接リスト構造を基本とした部品表ツリーのグラフデータ構造を、並列化する全ての部品表ツリーについて構築する。次いで、このデータ構造を利用して部品表ツリーを展開し、1つ目の部品表ツリーを展開したときの展開結果リストを基軸リストとする。そして、2つ目以降の部品表ツリーを展開したときの展開結果における部品と同じ部品を、1つ目の部品表ツリーそのものではなく、それを展開した基軸リスト中に探索し、その部品の情報も基軸リストに保持する。基軸リストには並列化のための同じ部品及び異なる部品の情報が全て登録されているので、ここから必要な態様で結果を出力することができる。
尚、公報記載の技術としては、共用部品及び非共用部品に着目した技術として、例えば特許文献1の技術がある。
特許文献1の技術では、製品群を構成する各製品の部品を機能と属性に分析し、共用部品と非共用部品に分類し、非共用部品の機能を共用機能と非共用機能に分類し、属性を満足する材料と工法から、部材費を最小にする構造を創出する改善指針を生成する。
また、部品表の管理に関する技術として、例えば特許文献2〜4の技術がある。
特許文献2の技術では、製品の構成情報を格納した記憶部の構成情報表から、構成情報取得部が製品モデルの構成情報を取得し、取得した前記類似した複数の製品モデルの構成情報を、構成情報組立部で1つの複数モデル部品表にまとめ、さらに部品情報編集部で編集し、部品情報編集部で編集された前記複数モデル部品表は、構成情報分解部に渡されると、数量の欄を基準に各モデルごとに分解され、親品名、品名、数量の列を持つレコードにそれぞれ分解され、部品の構成を構成情報表に格納する形式に変換され、複数モデル間で重複するレコードが省かれて構成情報表にデータが登録される。
特許文献3の技術では、部品情報システムは、部品表データベースと、ワークフロー管理機能と、スケジュール管理機能と、部品表展開機能を有している。部品表データベースには、製品開発の各工程(デザイン工程、コンセプト企画工程、エンジニアリング工程、生産工程)で作成される部品表データが相互に関連付けられて一体として管理されており、さらにこれらに関連付けられてCADデータやドキュメントデータや部品カタログデータが保持されている。ワークフロー管理機能は、上記複数の各工程が同時並行的に実行されるように、各工程の作業支援のための開発機能部を制御する。ある工程での変更は部品表データベースを介して他工程に速やかに伝播される。
特許文献4の技術では、部品表作成部とレイアウト表作成部とレイアウト部とを具備する電子パーツリストシステムを用いる。部品表作成部は、設計参照情報を参考にした設計者の入力に基づき、自動車の設計に用いる部品に関する部品情報を含む部品表としての電子パーツリストを生成する。レイアウト表作成部は、部品情報に基づいて、部品のレイアウトに必要なレイアウト必要情報を含む表としてのレイアウトリストを生成する。レイアウト部は、設計参照情報と、部品情報と、レイアウト必要情報とに基づき、部品の配置状態としてのレイアウト情報を生成する。そして、電子パーツリストとレイアウトリストとレイアウト情報とは、相互に関連付けられる。
更に、技術部品表や図面、部品特性表で用いられる関連性のある情報の適性を調べる技術として、例えば特許文献5の技術がある。
特許文献5の技術では、部番ルールデータベースと品目チェック部とを含む総合検査システムを用いる。部番ルールデータベースは、部番のルールを格納する。品目チェック部は、ルールに従う電子パーツリストの第1部品の第1部番と、部品特性表の第2部品の第2部番とに基づいて、第2部番と適合する第1部番としての特定第1部番を検出し、特定第1部番を有する特定第1部品の、電子パーツリストにおける階層を検出し、その階層と予め設定された第2部品の階層との一致を確認する。ここで電子パーツリストは、第1部番と第1部品に関する第1部品情報とを関連付け、第1部品の各々を階層構造で管理する。部品特性表は、第2部品の仕様の差を決める複数の装備と装備の組み合わせと第2部番とを関連付ける。
特開2009−265706号公報 特開平11−203327号公報 特開2002−73708号公報 特開2003−281199号公報 特開2003−281203号公報
ところで、上述した第2の並列展開方法では、列、つまり最終製品が少なければ、行、つまり部品表ツリーに含まれる部品が多くても、高速に処理可能である。しかしながら、列が多い場合には、行が少なかったとしても実行性能が出ないことがある。これは、各列に対応する部品表ツリー中の部品をマージする際の比較処理等に時間がかかってしまうためである。並列展開の結果の表の列が最終製品を表す場合、列の数は、少なくとも数百、多いときには数千になることがあるが、こうなると、DBアクセスの時間を短縮できたとしても、展開自体に何時間もかかることになる。
尚、公報記載の技術は、何れも、複数の製品の部品表をその複数の製品の各々を構成する各部品の員数が各部品に対応する位置に配置されるように並列に展開する処理におけるこのような課題を解決する手法を提案するものではない。
本発明の目的は、複数の製品の部品表をその複数の製品の各々を構成する各部品の員数が各部品に対応する位置に配置されるように並列に展開する処理を、製品の数が多くても高速に実行することにある。
かかる目的のもと、本発明は、複数の製品の部品表を、複数の製品の各々を構成する各部品の員数が各部品に対応する位置に配置されるように並列に展開する装置であって、複数の製品のうちの特定の製品を直接構成する特定の部品を選択する選択部と、選択部により選択された特定の部品の部品表が展開済みであるかどうかを判定する判定部と、特定の部品の部品表が展開済みでないと判定部により判定された場合に、特定の部品の部品表を、特定の部品を構成する各部品に対応する位置で特定の製品に対応する位置に各部品の員数が格納された並列展開情報と、各部品の員数と並列展開情報における各部品に対応する位置を特定する情報とを含む部品表展開情報とに展開する展開部と、特定の部品の部品表が展開済みであると判定部により判定された場合に、部品表展開情報に含まれる各部品の員数を、並列展開情報における位置であって、部品表展開情報に含まれる情報で特定される各部品に対応する位置で特定の製品に対応する位置に格納された員数に加算する加算部とを含む、装置を提供する。
ここで、展開部は、特定の部品を構成する各部品に対応する位置として、その員数が並列展開情報に格納されていない部品については、予め定められた規則によって決まる位置を用い、その員数が並列展開情報に格納されている部品については、員数が格納された位置を用いる、ものであってよい。
また、展開部は、特定の部品の部品表を、特定の部品に対応する位置で特定の製品に対応する位置に特定の部品の員数が更に格納された並列展開情報と、特定の部品の員数と並列展開情報における特定の部品に対応する位置を特定する情報とを更に含む部品表展開情報とに展開し、加算部は、部品表展開情報に含まれる特定の部品の員数を、並列展開情報における位置であって、部品表展開情報に含まれる情報で特定される特定の部品に対応する位置で特定の製品に対応する位置に格納された員数に加算する、ものであってよい。
この場合、展開部は、特定の部品に対応する位置として、その員数が並列展開情報に格納されていなければ、予め定められた規則によって決まる位置を用い、その員数が並列展開情報に格納されていれば、員数が格納された位置を用いる、ものであってよい。
また、本発明は、複数の製品の部品表を、複数の製品の各々を構成する各部品の員数が各部品に対応する位置に配置されるように並列に展開する装置であって、複数の製品のうちの特定の製品を直接構成する特定の部品を選択する選択部と、選択部により選択された特定の部品の部品表が展開済みであるかどうかを判定する判定部と、特定の部品の部品表が展開済みでないと判定部により判定された場合に、特定の部品の部品表を、複数の製品を構成する複数の部品をそれぞれ表す複数のノードを持ち、複数のノードの各部品を表すノードに対応する配列の特定の製品に対応する位置に各部品の員数が格納された並列展開リストと、特定の部品を構成する複数の部品をそれぞれ表す複数のノードを持ち、複数のノードの各部品を表すノードに各部品の員数と並列展開リストにおける各部品を表すノードを特定する情報とが登録された部品表展開リストとに展開する展開部と、特定の部品の部品表が展開済みであると判定部により判定された場合に、部品表展開リストが持つ各ノードに登録された各部品の員数を、並列展開リストにおけるノードであって、部品表展開リストが持つ各ノードに登録された情報で特定される各部品を表すノードに対応する配列の特定の製品に対応する位置に格納された員数に加算する加算部とを含む、装置も提供する。
ここで、この装置は、複数の製品の部品表を記憶するデータベースと、複数の製品の部品表に基づいて生成された隣接リストであって、複数の製品と、複数の製品を構成する複数の部品とを表す複数のノードを持つ隣接リストを記憶するメモリとを更に備え、選択部は、隣接リストが持つ複数のノードのうち、特定の製品を表すノードが持つリストに登録された情報で特定されるノードが表す部品を、特定の部品として選択する、ものであってよい。
更に、本発明は、複数の製品の部品表を、複数の製品の各々を構成する各部品の員数が各部品に対応する位置に配置されるように並列に展開する方法であって、複数の製品のうちの特定の製品を直接構成する特定の部品を選択するステップと、選択された特定の部品の部品表が展開済みであるかどうかを判定するステップと、特定の部品の部品表が展開済みでないと判定された場合に、特定の部品の部品表を、特定の部品を構成する各部品に対応する位置で特定の製品に対応する位置に各部品の員数が格納された並列展開情報と、各部品の員数と並列展開情報における各部品に対応する位置を特定する情報とを含む部品表展開情報とに展開するステップと、特定の部品の部品表が展開済みであると判定された場合に、部品表展開情報に含まれる各部品の員数を、並列展開情報における位置であって、部品表展開情報に含まれる情報で特定される各部品に対応する位置で特定の製品に対応する位置に格納された員数に加算するステップとを含む、方法も提供する。
更にまた、本発明は、複数の製品の部品表を、複数の製品の各々を構成する各部品の員数が各部品に対応する位置に配置されるように並列に展開する装置として、コンピュータを機能させるプログラムであって、コンピュータを、複数の製品のうちの特定の製品を直接構成する特定の部品を選択する選択部と、選択部により選択された特定の部品の部品表が展開済みであるかどうかを判定する判定部と、特定の部品の部品表が展開済みでないと判定部により判定された場合に、特定の部品の部品表を、特定の部品を構成する各部品に対応する位置で特定の製品に対応する位置に各部品の員数が格納された並列展開情報と、各部品の員数と並列展開情報における各部品に対応する位置を特定する情報とを含む部品表展開情報とに展開する展開部と、特定の部品の部品表が展開済みであると判定部により判定された場合に、部品表展開情報に含まれる各部品の員数を、並列展開情報における位置であって、部品表展開情報に含まれる情報で特定される各部品に対応する位置で特定の製品に対応する位置に格納された員数に加算する加算部として機能させる、プログラムも提供する。
本発明によれば、複数の製品の部品表をその複数の製品の各々を構成する各部品の員数が各部品に対応する位置に配置されるように並列に展開する処理を、製品の数が多くても高速に実行することができる。
並列展開の対象となる部品表ツリーの例を示した図である。 部品表ツリーから生成された隣接リスト構造の例を示した図である。 部品表ツリーを並列展開した結果を表示する態様を示した図である。 部品表ツリーから生成された展開結果リストの例を示した図である。 部品表ツリーから生成された展開結果リストの例を示した図である。 第1の実装例について説明するための図である。 第2の実装例について説明するために用いる部品表ツリーを示した図である。 第2の実装例について説明するために用いる部品表ツリーから生成された隣接リスト構造の例を示した図である。 第2の実装例で展開済みの列内の全ての員数をコピーしたときの展開結果を示した図である。 第2の実装例で展開済みの列内の必要な員数のみをコピーしたときの展開結果を示した図である。 第2の実装例で幅優先展開を行う場合の並列展開用データ構造の例を示した図である。 第2の実装例で深さ優先展開を行う場合の並列展開用データ構造の例を示した図である。 本発明の実施の形態における並列展開装置の機能構成例を示したブロック図である。 本発明の実施の形態における並列展開部の動作例を示したフローチャートである。 本発明の実施の形態を適用可能なコンピュータのハードウェア構成を示した図である。
以下、添付図面を参照して、本発明の実施の形態について詳細に説明する。
[本実施の形態のベースとなる設計法]
本実施の形態では、DB(データベース)に格納された部品表ツリーを、メモリ上に隣接リスト構造として構築されているグラフ構造上で展開し、展開結果を、連結リストと、その個々のノードに対する員数が格納された員数配列とで表す。また、並列化対象の別の部品表ツリーも同様にこのグラフ構造上で展開し、マージ対象の部品のノードをこの連結リスト上で探索する。マージ対象の部品のノードが見つかれば、見つかったノードに対する員数配列に員数を書き込む。マージ対象のノードが見つからなければ、連結リストに新しいノードを挿入する。この操作を並列化対象の最終製品の配下にある全ての部品表ツリーについて繰り返す。
本実施の形態における並列展開の高速化のベースになるのは、グラフ理論に基づく汎用的なデータ構造を採用した設計案である。DBアクセスは全て最初に行うので、I/Oを最小化できる。また、展開結果は、配列の代わりに、連結リストで表すので、データの挿入及び削除が効率よく行える。更に、メモリ上にグラフ構造の部品表ツリーを持っているので、深さ優先展開(深さ優先探索に基づく展開)も幅優先展開(幅優先探索に基づく展開)も必要に応じて何度でも繰り返し実行でき、しかも展開する際にはメモリ上のポインタを辿るだけでよいので、極めて効率がよい。
図1は、本実施の形態で並列展開の対象とする部品表ツリーの例を示したものである。
(a)は最終製品Aの部品表ツリーを示し、(b)は最終製品Bの部品表ツリーを示している。尚、図中、部品の後ろの記号は、部品の品番である。また、各部品表ツリーの左側の太字の数字は展開レベルを表す。ここでは、最終製品の1つ下の部品(組み立て部品)P1,P1’の展開レベルを0としている。更に、部品をつなぐ線に付した数字は員数を表す。実際には最終製品を構成する組み立て部品が1つだけということはあり得ないが、ここでは便宜上、簡略化した例を示している。
また、図2は、図1の部品表ツリーに対する隣接リスト構造の例を示したものである。
例えば、図1(a),(b)の部品表ツリーに対応する構成データをDBから再帰SQL等で読み込み、メモリ上の隣接リスト構造に展開したときの状態である。尚、ここでは、各部品表ツリーの展開レベルが0以下の部分を展開している。また、矢印はポインタを表しており、部品表ツリーの並列展開はこのポインタを辿るだけで再帰的に高速に行えるようになっている。
図3は、図1の部品表ツリーを並列展開した結果を表示する態様を示したものである。
(a)では、部品表ツリーの展開結果が、品番をその展開レベルに応じた量だけインデントさせた形式で表示されている。
(b)では、(a)の表示に加え、計算された員数がマトリックス内に表示されている。このマトリックスにおいて、ある最終製品の部品表ツリーに含まれる部品は、その最終製品の列における員数が0でない部品である。また、ある最終製品の部品表ツリー内のある部品の直接の親部品は、その最終製品の列をその部品から上に辿っていって、その部品よりも展開レベルが1つ小さく、員数が0でない部品のうち、最初に遭遇したものである。
[並列展開のデータ構造と作成ロジック]
図3(a),(b)の何れの態様で表示する場合も、その元となるデータは同様のデータ構造で表すことができる。
図4は、図1(a)の部品表ツリーに対応するデータ構造(展開結果リスト)を示したものである。
まず、図1(a)の部品表ツリーを深さ優先探索で展開し、展開結果を連結リストに保持しておく。同時に、連結リストに含まれる部品のノードに対して、マトリックスの列数をサイズとする動的配列を作っておく。そして、動的配列の1列目に、対応する部品の員数を格納し、これを員数配列とする。
その後、この展開結果リストを基軸リストとして、図1(b)の部品表ツリーを深さ優先探索で展開し、展開結果をこの基軸リストに当てる。このとき、次のマージルールを適用する。
即ち、現在展開中の部品と同じ展開レベルに同じ部品があれば、員数配列の2列目のその部品に対応する位置に員数の計算結果を書き込む。一方、現在展開中の部品と同じ展開レベルに同じ部品がなければ、その展開レベルの末尾に現在の部品を追加する。但し、このマージルールは、具体的な業務要件の一例であって、マージの方法や部品の追加位置は業務によって様々に変わり得る。しかし、この部分のロジックはデータ構造から独立しているので、後で修正することも容易である。
ここで、マージの基本的な考え方は、これから展開する部品表ツリーの部品を同じ展開レベルで探索し、マッチする部品が基軸リストになければ行を挿入し、マッチする部品が基軸リストにあれば基軸リストのそのマッチした行の員数配列に今展開している部品の員数を書き込む、というものである。
図5は、このロジックによるマージの結果を示したものである。
即ち、図4の基軸リストに対してこのロジックにより図1(b)の部品表ツリーの展開結果をマージしていったときの結果を示している。
このマージの後、展開結果を表す連結リストとその各ノードに対する員数配列の値とは、図3(a),(b)の何れの形式でも出力できる。
ところで、この例では、部品表ツリーは2つ、つまり展開結果の表における列は2列としたが、展開結果の表における列が何百列、何千列になる場合もある。その場合、部品表ツリーの展開自体はポインタを辿ることで高速に行えたとしても、マージのための部品の比較処理の繰り返し数が多くなり、処理に要する時間が長くなってしまう。
[本実施の形態における具体的な実装方法]
先に述べたように、最終製品は様々なオプションを反映しているために多数存在したとしても、その1レベル下の組み立て部品は、共通化されており、その種類は限られている。上記の例では、最終製品A、Bに全く同じ組み立て部品が含まれていれば、その組み立て部品を頂点とする部品表ツリーは全く同じなので、最終製品Aを展開した結果、つまり展開した品番及び員数をその順序通りに最終製品Bの列にコピーすればよい。即ち、展開を終えた組み立て部品の列を記録しておき、その後、別の最終製品から辿った組み立て部品に展開済みの列が含まれていれば、その列の員数を現在の最終製品の列にコピーしてくるだけでよい。
(第1の実装例)
図6は、本実施の形態における第1の実装例を示したものである。
ここでは、(a)に示すように、極端な例として、全ての最終製品が同じ組み立て部品を構成部品として使っている場合を考える。この場合、どの最終製品の列でも展開結果は全く同じであり、同じ部品は全てマージされるので、列ごとに部品表ツリーを展開するのは無駄である。
そこで、(b)に示すように、最初の展開結果の員数を員数配列の各列にコピーすることが考えられる。
しかしながら、この方法では問題が生じる。というのは、異なる最終製品が全く同じ組み立て部品のみから構成されることはないからである。つまり、最終製品が異なるのは組み立て部品に違いがあるためであり、この違いのために、単純に展開結果の員数をコピーするだけでは済まない。展開結果の列は、その列の最終製品にぶら下がっている組み立て部品配下の部品表ツリーにおける全ての部品を含んでいる。従って、最終製品が複数の組み立て部品から構成されていれば、1つの組み立て部品だけの展開結果ではなくなってしまう。
(第2の実装例)
そこで、本実施の形態では、この第2の実装例を提案する。
図7は、この第2の実装例について説明するための部品表ツリーの例を示したものである。
(a)は最終製品Aの部品表ツリーを示し、(b)は最終製品Bの部品表ツリーを示し、(c)は最終製品Cの部品表ツリーを示している。この例では、最終製品A,Cは、共通の組み立て部品M1から構成されており、最終製品A,Bは、共通の組み立て部品M2から構成されており、最終製品B,Cは、共通の組み立て部品M3から構成されている。
また、図8は、図7の部品表ツリーに対する隣接リスト構造の例を示したものである。
即ち、図7の並列展開対象の部品表ツリーのデータをDBから全て読み込んでメモリ上の隣接リスト構造に展開すると、図のようになる。
ディクショナリには、部品表ツリーに含まれる部品に対応する部品データが重複を排除して登録されている。
また、各部品データは、その1レベル下の部品のリスト(部品リスト)を持っている。
更に、部品リストの各部品のノードは、その部品に対応する部品データへの位置情報を持っている。
このような隣接リスト構造を用いると、頂点の部品データから部品リストを辿り、その部品リストの各部品のノードからその部品に対応する部品データを辿ることによって、部品表ツリーの展開が実現できる。
この場合において、単純に展開結果の列における員数をコピーしたとする。
図9は、このときの展開結果の表を示したものである。但し、図7の(a),(b)の部品表ツリーについてのみ示している。
まず、(a)に示すように、最終製品Aにおける組み立て部品M1が展開される。最終製品Bには組み立て部品M1はぶら下がっていないので、(b)に示すように、最終製品Bの列には員数0が格納される。
次に、(c)に示すように、最終製品Aにおける組み立て部品M2が展開される。最終製品Bには組み立て部品M2がぶら下がっており、最終製品Aの列で展開済みなので、(d)に示すように、最終製品Aの列に格納された員数を最終製品Bの列にコピーする。
また、最終製品Bには組み立て部品M3がぶら下がっているので、(e)に示すように、最終製品Bにおける組み立て部品M3が展開される。
しかしながら、このように単純に員数をコピーしたのでは、結果が正しくなくなってしまう。単に員数をコピーした場合、最終製品Aの列の組み立て部品M1の員数もついてきてしまって、最終製品Bの列の員数が、実際よりも増えてしまうからである。
図10は、正しい展開結果の表を示したものである。
本来、最終的な展開結果はこのようにならなければならない。
図9で員数が正しくならないのは、単純に展開結果の列における員数をコピーしただけでは、複数の組み立て部品の展開結果の違いが判別できないからである。
そこで、この第2の実装例では、組み立て部品ごとの部品表ツリーの展開結果をツリー固有リストとして個別に保持し、そのツリー固有リストのノードに、展開結果リストの対応する行をポイントさせておく。また、組み立て部品以下の部品表ツリーごとの展開結果が必要なので、コピー元となる情報も、組み立て部品以下の部品表ツリーごとに持っておく。
図11は、この第2の実装例で幅優先展開を行う場合の並列展開用データ構造を示したものである。尚、幅優先展開では、最終製品Aの部品表ツリーは、M1,M2,P1,P2,P1,P3の順に展開され、最終製品Bの部品表ツリーは、M2,M3,P1,P3,P2,P4の順に展開され、最終製品Cの部品表ツリーは、M1,M3,P1,P2,P2,P4の順に展開される。
ところで、この並列展開用データ構造において、各組み立て部品には、その組み立て部品の配下の部品表ツリーのみを展開して員数を計算した結果を保持するツリー固有リストがぶら下がっている。ツリー固有リストにおける[]内の数値が、計算された員数を表す。尚、このツリー固有リストは、最終的に複数の部品表ツリーがマージされた展開結果リストとは異なる。組み立て部品を頂点とする部品表ツリーが最初に展開されるときに1回だけ作成されるものである。そして、そのタイミングで、ツリー固有リストの各部品が展開結果リストのどの部品に当たるか分かるので、後で検索しないで済むようにポインタでその部品の場所を記憶しておく。このため、ツリー固有リストにおいては展開の順序を気にする必要がない。
その後、その組み立て部品を頂点とする部品表ツリーが再び現れると、その組み立て部品にぶら下がっているツリー固有リストから展開結果と各部品の展開結果リストでの位置とを取り出し、その位置に展開結果をマージ(コピー)する。
例えば、最終製品A,B,Cの順に部品表ツリーが展開されるとすると、組み立て部品M2のツリー固有リストは、最終製品Aの部品表ツリーを展開する際に初めて作成される。その後、最終製品Bの部品表ツリーを展開する際に組み立て部品M2が現れると、組み立て部品M2のツリー固有リストは既に存在する。そこで、そのツリー固有リストの部品から展開結果リストの対応する部品をポインタで辿り、その展開結果リストの対応する部品に対する員数配列の最終製品Bの列に、ツリー固有リストが保持する員数を加算する。
ここで、この場合の部品表ツリーの展開動作の概要を説明する。
まず、最終製品Aの1レベル下の組み立て部品M1を処理する場合を考える。この場合は、まず、組み立て部品M1を頂点とするツリー固有リストに部品P1,P2の員数が記録される。また、展開結果リストに組み立て部品M1、部品P1,P2のノードが登録され、それぞれのノードに対する員数配列の最終製品Aの列の員数にそれぞれの員数が加算される。その後、組み立て部品M1を頂点とするツリー固有リストに、展開結果リストにおける組み立て部品M1、部品P1,P2の登録位置が記録される。
次に、最終製品Aの1レベル下の組み立て部品M2を処理する場合を考える。この場合は、まず、組み立て部品M2を頂点とするツリー固有リストに部品P1,P3の員数が記録される。また、展開結果リストに部品P1のノードが見つかり、組み立て部品M2、部品P3のノードが登録され、それぞれのノードに対する員数配列の最終製品Aの列にそれぞれの員数が加算される。その後、組み立て部品M2を頂点とするツリー固有リストに、展開結果リストにおける組み立て部品M2、部品P1,P3の登録位置が記録される。
次に、最終製品Bの1レベル下の組み立て部品M2を処理する場合を考える。この場合は、組み立て部品M2を頂点とするツリー固有リストに記録された組み立て部品M2、部品P1,P3の員数のコピー先が、このツリー固有リストに記録された登録位置によって決定され、展開結果リストの組み立て部品M2,部品P1,P3のノードに対する員数配列の最終製品Bの列にそれぞれの員数が加算される。
次に、最終製品Bの1レベル下の組み立て部品M3を処理する場合を考える。この場合は、まず、組み立て部品M3を頂点とするツリー固有リストに部品P2,P4の員数が記録される。また、展開結果リストに部品P2のノードが見つかり、組み立て部品M3、部品P4のノードが登録され、それぞれのノードに対する員数配列の最終製品Bの列の員数にそれぞれの員数が加算される。その後、組み立て部品M3を頂点とするツリー固有リストに、展開結果リストにおける組み立て部品M3、部品P2,P4の登録位置が記録される。
次に、最終製品Cの1レベル下の組み立て部品M1を処理する場合を考える。この場合は、組み立て部品M1を頂点とするツリー固有リストに記録された組み立て部品M1、部品P1,P2の員数のコピー先が、このツリー固有リストに記録された登録位置によって決定され、展開結果リストの組み立て部品M1,部品P1,P2のノードに対する員数配列の最終製品Cの列にそれぞれの員数が加算される。
最後に、最終製品Cの1レベル下の組み立て部品M3を処理する場合を考える。この場合は、組み立て部品M3を頂点とするツリー固有リストに記録された組み立て部品M3、部品P2,P4の員数のコピー先が、このツリー固有リストに記録された登録位置によって決定され、展開結果リストの組み立て部品M3,部品P2,P4のノードに対する員数配列の最終製品Cの列にそれぞれの員数が加算される。
また、図12は、この第2の実装例で深さ優先展開を行う場合の並列展開用データ構造を示したものである。尚、深さ優先展開では、最終製品Aの部品表ツリーは、M1,P1,P2,M2,P1,P3の順に展開され、最終製品Bの部品表ツリーは、M2,P1,P3,M3,P2,P4の順に展開され、最終製品Cの部品表ツリーは、M1,P1,P2,M3,P2,P4の順に展開される。
深さ優先展開を行う場合のデータ構造及び展開動作は、展開結果リストにおける部品の順序が深さ優先展開に応じた順序になっている以外は、幅優先展開を行う場合のデータ構造と同様であるので、ここでの説明は省略する。
このように、第2の実装例では、ツリー固有リストの各部品に展開結果リストにおけるその部品の位置を記憶しておくことで、マージのための無駄な比較処理を省くことができ、並列展開のパフォーマンスが飛躍的に向上する。
[本実施の形態における実装方法を実現する並列展開装置]
次に、本実施の形態で提案する第2の実装例を実現する並列展開装置について説明する。
(並列展開装置の機能構成)
図13は、このような並列展開装置の機能構成例を示したものである。
図示するように、並列展開装置は、部品表ツリー記憶部10と、部品表ツリー展開部20と、隣接リスト記憶部30と、並列展開部40と、展開結果リスト記憶部50と、展開結果出力部60とを備えている。
部品表ツリー記憶部10は、複数の製品の部品表ツリーを記憶するDBである。この部品表ツリー記憶部10は、例えば、磁気ディスク装置90g(図15参照)によって実現される。
部品表ツリー展開部20は、部品表ツリー記憶部10に記憶された複数の製品の部品表ツリーを隣接リスト構造に展開する。この部品表ツリー展開部20は、例えば、CPU90a(図15参照)が磁気ディスク装置90g(図15参照)に記憶されたプログラムをメインメモリ90c(図15参照)に読み込んで実行することによって実現される。
隣接リスト記憶部30は、部品表ツリー展開部20が部品表ツリーを展開することによって生成した隣接リスト構造のデータを記憶する。この隣接リスト記憶部30は、例えば、メインメモリ90c(図15参照)によって実現される。本実施の形態では、隣接リストを記憶するメモリの一例として、隣接リスト記憶部30を設けている。
並列展開部40は、隣接リスト記憶部30に記憶された隣接リスト構造のデータのポインタを辿ることにより、複数の製品の部品表ツリーを並列に展開し、展開結果リストを生成する。この並列展開部40は、例えば、CPU90a(図15参照)が磁気ディスク装置90g(図15参照)に記憶されたプログラムをメインメモリ90c(図15参照)に読み込んで実行することによって実現される。
展開結果リスト記憶部50は、並列展開部40により生成された展開結果リストを記憶する。ここで、展開結果リストは、既に述べた通り、並列展開対象の複数の製品を構成する各部品を表すノードを連結した連結リストと、ノードごとにそのノードが表す部品の各製品における員数を格納する員数配列とを含んでいる。この隣接リスト記憶部30は、例えば、メインメモリ90c(図15参照)によって実現される。本実施の形態では、並列展開情報、並列展開リストの一例として、展開結果リストを用いている。
展開結果出力部60は、展開結果リスト記憶部50に記憶された展開結果リストに保持された情報を例えば表示機構90d(図15参照)に出力する。この展開結果出力部60は、例えば、CPU90a(図15参照)が磁気ディスク装置90g(図15参照)に記憶されたプログラムをメインメモリ90c(図15参照)に読み込んで実行することによって実現される。
ここで、並列展開部40について更に詳しく説明する。
図示するように、並列展開部40は、最終製品抽出部41と、組み立て部品抽出部42と、展開判定部43と、隣接リスト展開部44と、ツリー固有リスト記憶部45と、員数加算部46とを備えている。
最終製品抽出部41は、隣接リスト記憶部30に記憶された隣接リスト構造のデータから、最終製品を抽出する。本実施の形態では、製品の一例として、最終製品を用いている。
組み立て部品抽出部42は、隣接リスト記憶部30に記憶された隣接リスト構造のデータから、最終製品抽出部41により抽出された最終製品を直接構成する組み立て部品を抽出する。具体的には、隣接リスト構造のデータにおいて最終製品のデータからポインタを辿ることにより、組み立て部品を抽出する。本実施の形態では、特定の製品を直接構成する特定の部品の一例として、組み立て部品を用いており、特定の部品を選択する選択部の一例として、組み立て部品抽出部42を設けている。
展開判定部43は、組み立て部品抽出部42により抽出された組み立て部品を頂点とする部品表ツリーが展開済みであるかどうかを判定する。本実施の形態では、特定の部品の部品表が展開済みであるかどうかを判定する判定部の一例として、展開判定部43を設けている。
隣接リスト展開部44は、組み立て部品抽出部42により抽出された組み立て部品を頂点とする部品表ツリーが展開済みでないと展開判定部43で判定された場合に、隣接リスト記憶部30に記憶された隣接リスト構造のデータを参照して、その組み立て部品を頂点とする部品表ツリーを展開する。具体的には、隣接リスト構造のデータにおいてその組み立て部品のデータからポインタを辿ることにより、部品表ツリーを展開する。そして、部品表ツリーを展開することで、ツリー固有リスト及び展開結果リストを生成する。本実施の形態では、特定の部品の部品表が展開済みでないと判定された場合にその特定の部品の部品表を展開する展開部の一例として、隣接リスト展開部44を設けている。
ツリー固有リスト記憶部45は、隣接リスト展開部44が部品表ツリーを展開することで生成されたツリー固有リストを記憶する。ここで、ツリー固有リストは、既に述べた通り、組み立て部品を表すノードにその組み立て部品を頂点とする部品表ツリー内の各部品を表すノードが連結された連結リストであり、各ノードにはそのノードが表す部品の員数及び展開結果リストにおけるそのノードが表す部品の行を示す情報が登録されている。本実施の形態では、部品表展開情報、部品表展開リストの一例として、ツリー固有リストを用いている。
員数加算部46は、組み立て部品抽出部42により抽出された組み立て部品を頂点とする部品表ツリーが展開済みであると展開判定部43で判定された場合に、ツリー固有リスト記憶部45に記憶されたその組み立て部品にぶら下がったツリー固有リストの各ノードに登録された員数を、そのノードに登録された情報で特定される展開結果リストの行の員数配列における対象の最終製品の列に格納された員数に加算する。本実施の形態では、特定の部品の部品表が展開済みであると判定された場合に部品表展開情報に含まれる各部品の員数を並列展開情報における員数に加算する加算部の一例として、員数加算部46を設けている。
(並列展開装置の動作)
この並列展開装置では、まず、部品表ツリー展開部20が、並列展開すべき部品表データを全て部品表ツリー記憶部10から読み込んで隣接リスト構造に展開し、この隣接リスト構造のデータを隣接リスト記憶部30に記憶しておく。次いで、展開すべき最終製品の展開順序を決めて、その1レベル下の組み立て部品を順次取り出せるようにしておく。これは、例えば、隣接リスト構造のデータにおける最終製品のデータに展開順序を示すデータを持たせることによって実現可能である。
このような処理が行われていることを前提として、並列展開部40は動作を開始する。
図14は、並列展開部40の動作例を示したフローチャートである。
並列展開部40では、まず、最終製品抽出部41が、展開すべき最終製品がまだあるかどうかを判定する(ステップ401)。そして、展開すべき最終製品がまだあると判定されれば、隣接リスト記憶部30に記憶された隣接リスト構造のデータから最終製品を取り出す(ステップ402)。
最終製品抽出部41により最終製品が取り出されると、次に、組み立て部品抽出部42が、最終製品の1レベル下の組み立て部品がまだあるかどうかを判定する(ステップ403)。そして、組み立て部品がまだあると判定されれば、隣接リスト記憶部30に記憶された隣接リスト構造のデータから組み立て部品を取り出す(ステップ404)。
組み立て部品抽出部42により組み立て部品が取り出されると、展開判定部43は、取り出された組み立て部品を頂点とする部品表ツリーが展開済みであるかどうかを判定する(ステップ405)。これは、例えば、隣接リスト構造のデータにおける組み立て部品のデータにその組み立て部品を頂点とする部品表ツリーが展開済みであるかどうかを示すフラグを持たせることによって実現可能である。
その結果、部品表ツリーが展開済みでないと判定されれば、隣接リスト展開部44が、隣接リスト記憶部30に記憶された隣接リスト構造のデータを参照することにより、ステップ404で取り出された組み立て部品を頂点とする部品表ツリーを展開する。
即ち、隣接リスト展開部44は、まず、その部品表ツリー内に展開すべき部品がまだあるかどうかを判定する(ステップ406)。そして、その部品表ツリー内に展開すべき部品がまだあると判定されれば、隣接リスト記憶部30に記憶された隣接リスト構造のデータから部品を取り出す(ステップ407)。尚、図7〜12の例では、組み立て部品もツリー固有リスト及び展開結果リストに登録しているので、ここで組み立て部品も取り出すことになるが、組み立て部品は取り出さずに、組み立て部品を構成する部品のみを取り出すようにしてもよい。また、このときの部品を取り出す順序としては、図11に示した幅優先探索に基づく順序であってもよいし、図12に示した深さ優先探索に基づく順序であってもよい。
次に、隣接リスト展開部44は、ステップ404で取り出された組み立て部品を頂点とするツリー固有リストに、ステップ407で取り出した部品を登録する(ステップ408)。具体的には、ツリー固有リストにその部品を表すノードを設定し、そのノードに部品の員数を記録する。そして、このツリー固有リストは、ツリー固有リスト記憶部45に記憶される。
また、隣接リスト展開部44は、展開結果リスト記憶部50に記憶された展開結果リストにおいて、ステップ407で取り出した部品をマージ又は挿入できる位置を探索する(ステップ409)。具体的には、ステップ407で取り出した部品が展開結果リストに登録されていれば、その登録された位置を、部品をマージできる位置とし、ステップ407で取り出した部品が展開結果リストに登録されていなければ、予め定めた規則に従って決まる位置を、部品を挿入できる位置とする。そして、この探索の結果見つかった展開結果リストにおける位置にその部品を登録する(ステップ410)。
その後、隣接リスト展開部44は、ツリー固有リスト記憶部45に記憶されたツリー固有リストにおけるその部品を表すノードに、展開結果リスト記憶部50に記憶された展開結果リストにおけるその部品の登録位置を記録し(ステップ411)、ステップ406へ戻る。
また、ステップ406で部品表ツリー内に展開すべき部品がないと判定されれば、隣接リスト展開部44は、ステップ404で取り出された組み立て部品を頂点とする部品表ツリーを展開済みとする(ステップ412)。これは、例えば、隣接リスト構造のデータにおける組み立て部品のデータが持つフラグに、その組み立て部品を頂点とする部品表ツリーが展開済みであることを示す情報を設定することによって行う。そして、処理はステップ403へ戻り、他の組み立て部品についての処理が引き続き行われる。
一方、ステップ405で部品表ツリーが展開済みであると判定されれば、員数加算部46が、ツリー固有リスト記憶部45に記憶されたツリー固有リストを参照し、ステップ404で取り出された組み立て部品を頂点とするツリー固有リストに記録された員数を、展開結果リスト記憶部50に記憶された展開結果リストに格納された員数に加算する。
即ち、員数加算部46は、まず、そのツリー固有リスト内に処理すべき部品がまだあるかどうかを判定する(ステップ413)。そして、そのツリー固有リスト内に処理すべき部品がまだあると判定されれば、そのツリー固有リストから部品を取り出す(ステップ414)。尚、図7〜12の例では、組み立て部品の員数も展開結果リストに格納しているので、ここで組み立て部品も取り出すことになるが、組み立て部品は取り出さずに、組み立て部品を構成する部品のみを取り出すようにしてもよい。
次に、員数加算部46は、この取り出した部品から、展開結果リストのその部品が登録された位置を示す情報を取り出す(ステップ415)。
その後、員数加算部46は、この取り出した情報によって特定される展開結果リストの位置に関連付けられた員数配列において、ステップ402で取り出された最終製品に対応する列に格納された員数に、この取り出した部品に記録された員数を加算し(ステップ416)、ステップ413へ戻る。
また、ステップ413でツリー固有リスト内に処理すべき部品がないと判定されれば、処理はステップ403へ戻り、他の組み立て部品についての処理が引き続き行われる。
尚、ステップ403で最終製品の1レベル下の組み立て部品がないと判定されれば、処理はステップ401へ戻り、他の最終製品についての処理が引き続き行われる。
また、ステップ401で展開すべき最終製品がないと判定されれば、処理は終了する。
このようにして、並列展開部40により生成された展開結果リストが展開結果リスト記憶部50に記憶されると、展開結果出力部60が、展開結果リストの内容を例えば表示機構90d(図15参照)に出力する。
[まとめ]
通常、部品表展開は、部品表ツリーの頂点ごとに行なうため、従来は、最終製品を頂点とし、その最終製品ごとに行っていた。そのため、部品表ツリーの内部に全く同じ部分ツリーがある場合は、同じ展開が繰り返されていた。ここに並列展開のための同じ部品のマージ処理が加わると、全く同じ展開結果になるにも関わらず、同じマージのための比較処理が繰り返され、この無駄な繰り返し処理が実行性能を落としていた。
普通は、最終製品のバリエーションが多くても、その1レベル下の組み立て部品は、部品の共通化が図られているため、その種類はそれほど多くない。そこで、最終製品を頂点として最終製品ごとに部品表ツリーを展開するのではなく、組み立て部品から部品表ツリーを展開し、その展開結果を保持しておく。そして、複数の最終製品の間で同じ組み立て部品を構成部品として利用している場合には、既に展開済みで保持されてある展開結果をコピーするようにする。
こうすることによって、列が多い場合に何時間もかかっていた展開処理が分単位で完了することとなる。
[本実施の形態を適用するのに好適なコンピュータのハードウェア構成]
図15は、このようなコンピュータのハードウェア構成の一例を示した図である。図示するように、コンピュータは、演算手段であるCPU(Central Processing Unit)90aと、M/B(マザーボード)チップセット90bを介してCPU90aに接続されたメインメモリ90cと、同じくM/Bチップセット90bを介してCPU90aに接続された表示機構90dとを備える。また、M/Bチップセット90bには、ブリッジ回路90eを介して、ネットワークインターフェイス90fと、磁気ディスク装置(HDD)90gと、音声機構90hと、キーボード/マウス90iと、フレキシブルディスクドライブ90jとが接続されている。
尚、図15において、各構成要素は、バスを介して接続される。例えば、CPU90aとM/Bチップセット90bの間や、M/Bチップセット90bとメインメモリ90cの間は、CPUバスを介して接続される。また、M/Bチップセット90bと表示機構90dとの間は、AGP(Accelerated Graphics Port)を介して接続されてもよいが、表示機構90dがPCI Express対応のビデオカードを含む場合、M/Bチップセット90bとこのビデオカードの間は、PCI Express(PCIe)バスを介して接続される。また、ブリッジ回路90eと接続する場合、ネットワークインターフェイス90fについては、例えば、PCI Expressを用いることができる。また、磁気ディスク装置90gについては、例えば、シリアルATA(AT Attachment)、パラレル転送のATA、PCI(Peripheral Components Interconnect)を用いることができる。更に、キーボード/マウス90i、及び、フレキシブルディスクドライブ90jについては、USB(Universal Serial Bus)を用いることができる。
ここで、本発明は、全てハードウェアで実現してもよいし、全てソフトウェアで実現してもよい。また、ハードウェア及びソフトウェアの両方により実現することも可能である。また、本発明は、コンピュータ、データ処理システム、コンピュータプログラムとして実現することができる。このコンピュータプログラムは、コンピュータにより読取り可能な媒体に記憶され、提供され得る。ここで、媒体としては、電子的、磁気的、光学的、電磁的、赤外線又は半導体システム(装置又は機器)、或いは、伝搬媒体が考えられる。また、コンピュータにより読取り可能な媒体としては、半導体、ソリッドステート記憶装置、磁気テープ、取り外し可能なコンピュータディスケット、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、リジッド磁気ディスク、及び光ディスクが例示される。現時点における光ディスクの例には、コンパクトディスク−リードオンリーメモリ(CD−ROM)、コンパクトディスク−リード/ライト(CD−R/W)及びDVDが含まれる。
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態には限定されない。本発明の精神及び範囲から逸脱することなく様々に変更したり代替態様を採用したりすることが可能なことは、当業者に明らかである。
10…部品表ツリー記憶部、20…部品表ツリー展開部、30…隣接リスト記憶部、40…並列展開部、41…最終製品抽出部、42…組み立て部品抽出部、43…展開判定部、44…隣接リスト展開部、45…ツリー固有リスト記憶部、46…員数加算部、50…展開結果リスト記憶部、60…展開結果出力部

Claims (8)

  1. 複数の製品の部品表を、当該複数の製品の各々を構成する各部品の員数が当該各部品に対応する位置に配置されるように並列に展開する装置であって、
    前記複数の製品のうちの特定の製品を直接構成する特定の部品を選択する選択部と、
    前記選択部により選択された前記特定の部品の部品表が展開済みであるかどうかを判定する判定部と、
    前記特定の部品の部品表が展開済みでないと前記判定部により判定された場合に、当該特定の部品の部品表を、当該特定の部品を構成する各部品に対応する位置で前記特定の製品に対応する位置に当該各部品の員数が格納された並列展開情報と、当該各部品の員数と当該並列展開情報における当該各部品に対応する位置を特定する情報とを含む部品表展開情報とに展開する展開部と、
    前記特定の部品の部品表が展開済みであると前記判定部により判定された場合に、前記部品表展開情報に含まれる各部品の員数を、前記並列展開情報における位置であって、前記部品表展開情報に含まれる情報で特定される当該各部品に対応する位置で前記特定の製品に対応する位置に格納された員数に加算する加算部と
    を含む、装置。
  2. 前記展開部は、前記特定の部品を構成する各部品に対応する位置として、その員数が前記並列展開情報に格納されていない部品については、予め定められた規則によって決まる位置を用い、その員数が前記並列展開情報に格納されている部品については、当該員数が格納された位置を用いる、請求項1の装置。
  3. 前記展開部は、前記特定の部品の部品表を、当該特定の部品に対応する位置で前記特定の製品に対応する位置に当該特定の部品の員数が更に格納された前記並列展開情報と、当該特定の部品の員数と当該並列展開情報における当該特定の部品に対応する位置を特定する情報とを更に含む前記部品表展開情報とに展開し、
    前記加算部は、前記部品表展開情報に含まれる前記特定の部品の員数を、前記並列展開情報における位置であって、前記部品表展開情報に含まれる情報で特定される当該特定の部品に対応する位置で前記特定の製品に対応する位置に格納された員数に加算する、請求項1又は請求項2の装置。
  4. 前記展開部は、前記特定の部品に対応する位置として、その員数が前記並列展開情報に格納されていなければ、予め定められた規則によって決まる位置を用い、その員数が前記並列展開情報に格納されていれば、当該員数が格納された位置を用いる、請求項3の装置。
  5. 複数の製品の部品表を、当該複数の製品の各々を構成する各部品の員数が当該各部品に対応する位置に配置されるように並列に展開する装置であって、
    前記複数の製品のうちの特定の製品を直接構成する特定の部品を選択する選択部と、
    前記選択部により選択された前記特定の部品の部品表が展開済みであるかどうかを判定する判定部と、
    前記特定の部品の部品表が展開済みでないと前記判定部により判定された場合に、当該特定の部品の部品表を、当該複数の製品を構成する複数の部品をそれぞれ表す複数のノードを持ち、当該複数のノードの各部品を表すノードに対応する配列の前記特定の製品に対応する位置に当該各部品の員数が格納された並列展開リストと、当該特定の部品を構成する複数の部品をそれぞれ表す複数のノードを持ち、当該複数のノードの各部品を表すノードに当該各部品の員数と当該並列展開リストにおける当該各部品を表すノードを特定する情報とが登録された部品表展開リストとに展開する展開部と、
    前記特定の部品の部品表が展開済みであると前記判定部により判定された場合に、前記部品表展開リストが持つ各ノードに登録された各部品の員数を、前記並列展開リストにおけるノードであって、前記部品表展開リストが持つ当該各ノードに登録された情報で特定される当該各部品を表すノードに対応する配列の前記特定の製品に対応する位置に格納された員数に加算する加算部と
    を含む、装置。
  6. 前記複数の製品の部品表を記憶するデータベースと、
    前記複数の製品の部品表に基づいて生成された隣接リストであって、当該複数の製品と、当該複数の製品を構成する複数の部品とを表す複数のノードを持つ隣接リストを記憶するメモリと
    を更に備え、
    前記選択部は、前記隣接リストが持つ前記複数のノードのうち、前記特定の製品を表すノードが持つリストに登録された情報で特定されるノードが表す部品を、前記特定の部品として選択する、請求項5の装置。
  7. コンピュータが、複数の製品の部品表を、当該複数の製品の各々を構成する各部品の員数が当該各部品に対応する位置に配置されるように並列に展開する方法であって、
    前記コンピュータの選択部が、前記複数の製品のうちの特定の製品を直接構成する特定の部品を選択するステップと、
    前記コンピュータの判定部が、選択された前記特定の部品の部品表が展開済みであるかどうかを判定するステップと、
    前記コンピュータの展開部が、前記特定の部品の部品表が展開済みでないと判定された場合に、当該特定の部品の部品表を、当該特定の部品を構成する各部品に対応する位置で前記特定の製品に対応する位置に当該各部品の員数が格納された並列展開情報と、当該各部品の員数と当該並列展開情報における当該各部品に対応する位置を特定する情報とを含む部品表展開情報とに展開するステップと、
    前記コンピュータの加算部が、前記特定の部品の部品表が展開済みであると判定された場合に、前記部品表展開情報に含まれる各部品の員数を、前記並列展開情報における位置であって、前記部品表展開情報に含まれる情報で特定される当該各部品に対応する位置で前記特定の製品に対応する位置に格納された員数に加算するステップと
    を含む、方法。
  8. 複数の製品の部品表を、当該複数の製品の各々を構成する各部品の員数が当該各部品に対応する位置に配置されるように並列に展開する装置として、コンピュータを機能させるプログラムであって、
    前記コンピュータを、
    前記複数の製品のうちの特定の製品を直接構成する特定の部品を選択する選択部と、
    前記選択部により選択された前記特定の部品の部品表が展開済みであるかどうかを判定する判定部と、
    前記特定の部品の部品表が展開済みでないと前記判定部により判定された場合に、当該特定の部品の部品表を、当該特定の部品を構成する各部品に対応する位置で前記特定の製品に対応する位置に当該各部品の員数が格納された並列展開情報と、当該各部品の員数と当該並列展開情報における当該各部品に対応する位置を特定する情報とを含む部品表展開情報とに展開する展開部と、
    前記特定の部品の部品表が展開済みであると前記判定部により判定された場合に、前記部品表展開情報に含まれる各部品の員数を、前記並列展開情報における位置であって、前記部品表展開情報に含まれる情報で特定される当該各部品に対応する位置で前記特定の製品に対応する位置に格納された員数に加算する加算部と
    して機能させる、プログラム。
JP2011180999A 2011-08-22 2011-08-22 部品表を展開する装置及び方法 Expired - Fee Related JP5852361B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2011180999A JP5852361B2 (ja) 2011-08-22 2011-08-22 部品表を展開する装置及び方法
US13/554,353 US8965797B2 (en) 2011-08-22 2012-07-20 Explosions of bill-of-materials lists

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011180999A JP5852361B2 (ja) 2011-08-22 2011-08-22 部品表を展開する装置及び方法

Publications (2)

Publication Number Publication Date
JP2013045186A JP2013045186A (ja) 2013-03-04
JP5852361B2 true JP5852361B2 (ja) 2016-02-03

Family

ID=47745019

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011180999A Expired - Fee Related JP5852361B2 (ja) 2011-08-22 2011-08-22 部品表を展開する装置及び方法

Country Status (2)

Country Link
US (1) US8965797B2 (ja)
JP (1) JP5852361B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3411034A (en) * 1965-06-11 1968-11-12 Sfd Lab Inc Microwave amplifier tube having capacitive loading means for the slow wave circuit
JP5852361B2 (ja) * 2011-08-22 2016-02-03 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 部品表を展開する装置及び方法
US20150113388A1 (en) * 2013-10-22 2015-04-23 Qualcomm Incorporated Method and apparatus for performing topic-relevance highlighting of electronic text
US11410206B2 (en) * 2014-06-12 2022-08-09 Truecar, Inc. Systems and methods for transformation of raw data to actionable data
CN110727687B (zh) * 2019-10-23 2023-06-27 京东方科技集团股份有限公司 一种物料清单转换方法及其系统
CN114385865A (zh) * 2021-12-30 2022-04-22 智昌科技集团股份有限公司 一种面向产品的可复用bom结构及其快速存取方法
CN116739483A (zh) * 2022-09-16 2023-09-12 荣耀终端有限公司 数据处理方法、装置、计算机设备及可读存储介质

Family Cites Families (70)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5197001A (en) * 1990-05-14 1993-03-23 International Business Machines Corp. Bill of material and project network processing
US5307261A (en) * 1991-06-28 1994-04-26 International Business Machines Corporation Method and system for product configuration management in a computer based manufacturing system
US5434791A (en) * 1993-06-29 1995-07-18 Electronic Data Systems Corporation Product structure management
US5970465A (en) * 1994-10-05 1999-10-19 International Business Machines Corporation Method for part procurement in a production system with constrained resources
JPH0950459A (ja) 1995-08-10 1997-02-18 Fujitsu Ltd 部品管理システム
JP3470248B2 (ja) 1995-09-29 2003-11-25 富士通株式会社 部品展開処理システム
JP3497348B2 (ja) * 1997-06-20 2004-02-16 株式会社日立製作所 生産計画システム
JPH11203327A (ja) * 1998-01-16 1999-07-30 Nec Corp 部品表管理方法および装置
JPH11213007A (ja) 1998-01-23 1999-08-06 Canon Inc 製品の部品構成情報の表示方法及び該表示装置
KR100311454B1 (ko) * 1998-06-27 2002-02-28 전주범 인쇄회로기판의부품리스트변환방법
US6516301B1 (en) * 1999-05-03 2003-02-04 Lucent Technologies Inc. Order-based material management system
JP2001142929A (ja) 1999-11-16 2001-05-25 Mitsubishi Electric Corp ファミリーツリー編集設計システム
JP2001154722A (ja) * 1999-11-29 2001-06-08 Hitachi Ltd 生産計画システム
EP1299832A2 (en) * 2000-03-31 2003-04-09 Sap Ag Matrix methods and systems for supply chain management
US6983278B1 (en) * 2001-04-10 2006-01-03 Arena Solutions, Inc. System and method for access control and for supply chain management via a shared bill of material
US7558793B1 (en) * 2000-04-10 2009-07-07 Arena Solutions, Inc. System and method for managing data in multiple bills of material over a network
US6970841B1 (en) * 2000-04-17 2005-11-29 International Business Machines Corporation Large inventory-service optimization in configure-to-order systems
US7096173B1 (en) * 2000-08-04 2006-08-22 Motorola, Inc. Method and system for designing or deploying a communications network which allows simultaneous selection of multiple components
US6625454B1 (en) * 2000-08-04 2003-09-23 Wireless Valley Communications, Inc. Method and system for designing or deploying a communications network which considers frequency dependent effects
JP2002073708A (ja) 2000-09-01 2002-03-12 Oracle Corp Japan 部品情報システム
US7593885B2 (en) * 2000-09-04 2009-09-22 Ozb2B Pty Ltd Materials supply contract system and method
US7047215B2 (en) * 2000-12-06 2006-05-16 International Business Machines Corporation Parts requirement planning system and method across an extended supply chain
US7085825B1 (en) * 2001-03-26 2006-08-01 Freewebs Corp. Apparatus, method and system for improving application performance across a communications network
US7248937B1 (en) * 2001-06-29 2007-07-24 I2 Technologies Us, Inc. Demand breakout for a supply chain
US6885902B2 (en) * 2001-12-27 2005-04-26 Manugistics, Inc. System and method for replenishment by purchase with attribute based planning
CN100476833C (zh) * 2002-02-22 2009-04-08 弗莱克斯特罗尼克斯美国国际公司 电子元件设计、采购和制造协作
JP2003281197A (ja) 2002-03-25 2003-10-03 Honda Motor Co Ltd 電子パーツリストシステム
JP3824152B2 (ja) 2002-03-26 2006-09-20 本田技研工業株式会社 総合検査システム及び総合検査方法
JP3824153B2 (ja) 2002-03-26 2006-09-20 本田技研工業株式会社 電子パーツリストシステム
US6871108B2 (en) * 2002-11-19 2005-03-22 Qssolutions, Inc. System and method for creating a representation of an assembly
TW200417884A (en) * 2003-03-14 2004-09-16 Hon Hai Prec Ind Co Ltd System and method for automatically classifying bill of material
TW200419388A (en) * 2003-03-21 2004-10-01 Hon Hai Prec Ind Co Ltd System and method for automatically comparing and recoding difference between bills of material (BOM)
TW200428249A (en) * 2003-06-06 2004-12-16 Hon Hai Prec Ind Co Ltd System and method for comparing cost with price
EP1515252B1 (en) * 2003-09-09 2006-02-01 Sap Ag Method and computer system for reducing runtimes in material requirements planning
US7512553B2 (en) * 2003-12-05 2009-03-31 International Business Machines Corporation System for automated part-number mapping
JP4319903B2 (ja) * 2003-12-24 2009-08-26 株式会社日立製作所 部品表データ管理装置、管理プログラム及び管理方法
JP4027904B2 (ja) 2004-03-31 2007-12-26 エスアーペー アーゲー 部品表管理システム及び方法ならびにコンピュータプログラム
US20050278296A1 (en) * 2004-06-08 2005-12-15 Peter Bostwick Method and system for creating, sustaining and using a transactional bill of materials (T-BOM ™)
EP1628251A1 (en) * 2004-08-20 2006-02-22 Sap Ag Product availability check at a predetermined time.
US20060190364A1 (en) * 2005-02-07 2006-08-24 International Business Machines Corporation Method and system for improved bill of material creation and maintenance
JP4847030B2 (ja) * 2005-03-08 2011-12-28 株式会社日立製作所 受発注システム及び受発注方法
US8050789B2 (en) * 2006-04-20 2011-11-01 Bini Elhanan System and methods for automatic generation of component data
US7644058B2 (en) * 2006-04-25 2010-01-05 Eugene Haimov Apparatus and process for conjunctive normal form processing
US8190282B2 (en) * 2006-06-09 2012-05-29 Hitachi, Ltd. Work management apparatus, picking carriage, work performance collection system, rework measurement system, workability management system, rework measurement measuring method, work performance collection method, workability management method and workability management program
JP2007334393A (ja) * 2006-06-12 2007-12-27 Hitachi Ltd 部品表データ管理方法およびシステム
US8050986B2 (en) * 2006-07-07 2011-11-01 Siemens Product Lifecycle Management Software Inc. System and method for determining a quantity mismatch report
US7650437B2 (en) * 2006-08-01 2010-01-19 Research In Motion Limited System and method for managing hardware configuration parameters
JP4838676B2 (ja) * 2006-09-20 2011-12-14 富士通株式会社 有害物質保証書取得方法及びシステム、製造方法及びプログラム
US20080114660A1 (en) * 2006-10-31 2008-05-15 Ford Motor Company System and method for translating bill of material information for vehicle components
US20080297504A1 (en) * 2007-03-23 2008-12-04 Adrian Fraser System and method for component scattering from a list
US7840447B2 (en) * 2007-10-30 2010-11-23 Leonard Kleinrock Pricing and auctioning of bundled items among multiple sellers and buyers
JP2009265706A (ja) 2008-04-22 2009-11-12 Hitachi Ltd 設計支援方法およびそのシステム
US8014886B2 (en) * 2008-05-12 2011-09-06 Ford Motor Company Method and system for generating an assembly configuration
US7970667B2 (en) * 2008-08-29 2011-06-28 Siemens Industry, Inc. System, method, and computer program product for a geometric search of a configurable product structure
US8989879B2 (en) * 2008-09-27 2015-03-24 Jda Software Group, Inc. System and method for a demand driven lean production control system
JP5231946B2 (ja) * 2008-11-04 2013-07-10 株式会社日立製作所 製造情報管理方法及び製造情報管理システム
EP2199960A1 (en) * 2008-12-17 2010-06-23 Accenture Global Services GmbH Manufacturing collaboration hub data exchange interface
US9767495B2 (en) * 2008-12-19 2017-09-19 Sap Se Different sales and planning product options
US8190465B2 (en) * 2008-12-19 2012-05-29 Sap Ag Make-to-specification process and data model
US8086337B1 (en) * 2009-08-21 2011-12-27 Honda Motor Co., Ltd. Computerized system and method for generating a delivery bill of materials
WO2011044578A1 (en) * 2009-10-11 2011-04-14 Patrick Walsh Method and system for performing classified document research
US8645233B2 (en) * 2009-11-09 2014-02-04 GM Global Technology Operations LLC Software interface management systems and methods
US9740994B2 (en) * 2010-03-31 2017-08-22 Oracle International Corporation Simulation of supply chain plans using data model
US20110246256A1 (en) * 2010-04-06 2011-10-06 Oracle International Corporation Product lifecycle management techniques
US8479089B2 (en) * 2011-03-08 2013-07-02 Certusoft, Inc. Constructing and applying a constraint-choice-action matrix for decision making
US20120308969A1 (en) * 2011-06-06 2012-12-06 Paramit Corporation Training ensurance method and system for copmuter directed assembly and manufacturing
US8826227B2 (en) * 2011-06-08 2014-09-02 International Business Machines Corporation Computer aided visualization of a business object model lifecycle
JP5852361B2 (ja) * 2011-08-22 2016-02-03 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 部品表を展開する装置及び方法
US9122740B2 (en) * 2012-03-13 2015-09-01 Siemens Product Lifecycle Management Software Inc. Bulk traversal of large data structures
US9652495B2 (en) * 2012-03-13 2017-05-16 Siemens Product Lifecycle Management Software Inc. Traversal-free updates in large data structures

Also Published As

Publication number Publication date
JP2013045186A (ja) 2013-03-04
US8965797B2 (en) 2015-02-24
US20130054427A1 (en) 2013-02-28

Similar Documents

Publication Publication Date Title
JP5852361B2 (ja) 部品表を展開する装置及び方法
JP5705788B2 (ja) アセンブリモデル類似構造検索システム、及びアセンブリモデル類似構造検索方法
US7913220B2 (en) Coordinated-design supporting apparatus, coordinated-design supporting method, computer product, and printed-circuit-board manufacturing method
CN106095767A (zh) 自动生成用户表单界面的方法和系统
JPH03257671A (ja) 設計取り込みシステム
JP5898584B2 (ja) 六面体メッシュ生成装置
JP3828379B2 (ja) テスト仕様生成支援装置、方法、プログラム及び記録媒体
US9881073B2 (en) Method for reconfiguration of database, recording medium, and reconfiguration device
JP2007133624A (ja) 連結関係情報を用いた情報管理方法及び装置
US8392892B2 (en) Method and apparatus for analyzing application
US10241899B2 (en) Test input information search device and method
JP2009245177A (ja) フィーチャーモデル作成支援装置及びプログラム
JP6737063B2 (ja) ソフトウェア資産管理装置、ソフトウェア資産管理方法、および、ソフトウェア資産管理プログラム
JP2007108867A (ja) 文献調査方法、文献調査システムおよび文献調査プログラム
CN113822002A (zh) 数据处理方法、装置、计算机设备及存储介质
KR101141200B1 (ko) 설계파라미터 관리방법, 설계파라미터 관리시스템,프로그램 및 컴퓨터로 독취 가능한 기록매체
JP4448048B2 (ja) 構造解析プログラム
WO2023223424A1 (ja) ドキュメント生成装置、プログラム及びドキュメント生成方法
JP5033135B2 (ja) レイアウト後edaアプリケーションを開発するための方法およびシステム
US20240086179A1 (en) Software component update system, and software component update method
JP6379713B2 (ja) 設計支援プログラム、装置、及び方法
Koch et al. Representation of CityGML instance models in BaseX
Zhang et al. Distributed processing practice of the 3D city model based on HBase
JP3926175B2 (ja) Csg方式三次元cadにおける任意面の編集方法及びコンピュータプログラム
JP2022165851A (ja) 業務プロセス推定装置および方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140402

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150317

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150324

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150528

TRDD Decision of grant or rejection written
RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20151110

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20151110

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20151204

R150 Certificate of patent or registration of utility model

Ref document number: 5852361

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees