(57)【要約】【課題】閲覧性、操作性を向上させることができる部分ライブラリ構築装置を提供する。【解決手段】下位クラスが上位クラスのプロパティを継承する階層型分類辞書とプロパティの属性値であるインスタンスとを有する階層型のライブラリの階層型分類辞書のプロパティの中から１または複数のプロパティを検索条件として設定させ、設定された検索条件に従ってライブラリから当該検索条件を満たすインスタンスを検索し、検索されたインスタンスと当該インスタンスを含むクラス及びその上位クラスとを用いて、階層型分類辞書の一部分である部分辞書９０２と当該部分辞書の前記プロパティの属性値であるインスタンス９０１とを有する部分ライブラリの構築を行う。【選択図】        図７
2008234429.tif 000002
【特許請求の範囲】
【請求項１】
階層構造を定義するクラス及びクラスを規定するプロパティにより構成されていて下位クラスが上位クラスの前記プロパティを継承する階層型分類辞書と、前記階層型分類辞書の前記プロパティの属性値であるインスタンスとを有する階層型のライブラリを格納するライブラリ格納手段と、
前記階層型分類辞書の前記プロパティの中から１または複数の前記プロパティを検索条件として設定させる検索設定手段と、
この検索設定手段により設定された検索条件に従って前記ライブラリから当該検索条件を満たす前記インスタンスを検索する検索手段と、
この検索手段により検索された前記インスタンスと当該インスタンスを含む前記クラス及びその上位クラスとを用いて、前記階層型分類辞書の一部分である部分辞書と前記部分辞書の前記プロパティの属性値であるインスタンスとを有する部分ライブラリの構築を行う部分ライブラリ構築手段と、
を備えることを特徴とする部分ライブラリ構築装置。
【請求項２】
前記部分ライブラリ構築手段は、前記検索手段により検索された前記インスタンスを含む前記クラス及びその上位クラスを規定する前記プロパティの中から１または複数の前記プロパティを指定可能であって、前記プロパティが指定された場合には、指定した前記プロパティと前記検索手段により検索された前記インスタンスと当該インスタンスを含む前記クラス及びその上位クラスとを用いて、前記部分ライブラリを構築する、
ことを特徴とする請求項１記載の部分ライブラリ構築装置。
【請求項３】
前記部分ライブラリ構築手段における前記部分ライブラリの構築方法を設定する構築方法設定手段を備えることを特徴とする請求項１または２記載の部分ライブラリ構築装置。
【請求項４】
前記構築方法設定手段は、前記部分ライブラリの構築の際に特定のユーザもしくは特定のユーザグループを区別する識別子を付与しておき、前記ユーザもしくは前記ユーザグループが指定された場合には、指定された前記ユーザもしくは前記ユーザグループに合致した前記部分ライブラリを構築する旨を前記部分ライブラリ構築手段に指示する、
ことを特徴とする請求項３記載の部分ライブラリ構築装置。
【請求項５】
前記構築方法設定手段は、前記部分ライブラリの構築の際にタイムスタンプを設定しておき、時間が指定された場合には、指定された時間に合致した前記部分ライブラリを構築する旨を前記部分ライブラリ構築手段に指示する、
ことを特徴とする請求項３記載の部分ライブラリ構築装置。
【請求項６】
前記構築方法設定手段は、前記部分ライブラリの構築の際にクラスが指定された場合には、指定された前記クラス及びその下位クラスを検索範囲とした前記部分ライブラリを構築する旨を前記部分ライブラリ構築手段に指示する、
ことを特徴とする請求項３記載の部分ライブラリ構築装置。
【請求項７】
前記構築方法設定手段は、複数の構築方法をＡＮＤ又はＯＲの関係を有する組み合わせとして設定することが可能である、
ことを特徴とする請求項３記載の部分ライブラリ構築装置。
【請求項８】
前記ライブラリで前記階層型分類辞書が更新された場合には、前記部分ライブラリにその旨を通知し、当該部分ライブラリの前記部分辞書を再構築する辞書再構築手段を備える、
ことを特徴とする請求項１記載の部分ライブラリ構築装置。
【請求項９】
前記ライブラリでインスタンスが更新された場合には、前記部分ライブラリにその旨を通知し、当該部分ライブラリのインスタンスを再構築するインスタンス再構築手段を備える、
ことを特徴とする請求項１記載の部分ライブラリ構築装置。
【請求項１０】
前記部分ライブラリの前記部分辞書の更新があった場合には、その旨を前記ライブラリに通知し、当該ライブラリの前記階層型分類辞書を更新する辞書更新手段を備える、
ことを特徴とする請求項１記載の部分ライブラリ構築装置。
【請求項１１】
前記部分ライブラリの前記インスタンスの更新があった場合には、その旨を前記ライブラリに通知し、当該ライブラリの前記インスタンスを更新するインスタンス更新手段を備える、
ことを特徴とする請求項１記載の部分ライブラリ構築装置。
【請求項１２】
前記部分ライブラリ構築手段は、ISO13584規格に定義されるＣａｓｅ Ｏｆによる辞書間におけるプロパティの定義の輸入がある場合には、その定義を輸出したクラスとその上位クラスも含めて前記部分辞書として切り出す、
ことを特徴とする請求項１記載の部分ライブラリ構築装置。
【請求項１３】
前記検索設定手段は、構築した前記部分ライブラリの前記部分辞書の前記プロパティの中から１または複数の前記プロパティを検索条件として設定させ、
前記検索手段は、設定された検索条件に従って前記部分ライブラリから当該検索条件を満たす前記インスタンスを検索し、
前記部分ライブラリ構築手段は、検索された前記インスタンスと当該インスタンスを含む前記クラス及びその上位クラスとを用いて、構築した前記部分ライブラリの前記部分辞書の一部分である新たな部分辞書と前記新たな部分辞書の前記プロパティの属性値であるインスタンスとを有する新たな部分ライブラリの構築を行う、
ことを特徴とする請求項１記載の部分ライブラリ構築装置。
【請求項１４】
上位の前記部分ライブラリで前記部分辞書が更新された場合には、下位の前記部分ライブラリにその旨を通知し、下位の前記部分ライブラリの前記部分辞書を再構築する辞書再構築手段を備える、
ことを特徴とする請求項１３記載の部分ライブラリ構築装置。
【請求項１５】
上位の前記部分ライブラリでインスタンスが更新された場合には、下位の前記部分ライブラリにその旨を通知し、下位の前記部分ライブラリのインスタンスを再構築するインスタンス再構築手段を備える、
ことを特徴とする請求項１３記載の部分ライブラリ構築装置。
【請求項１６】
階層構造を定義するクラス及びクラスを規定するプロパティにより構成されていて下位クラスが上位クラスの前記プロパティを継承する階層型分類辞書と、前記階層型分類辞書の前記プロパティの属性値であるインスタンスとを有する階層型のライブラリを格納する機能と、
前記階層型分類辞書の前記プロパティの中から１または複数の前記プロパティを検索条件として設定させる検索設定機能と、
この検索設定機能により設定された検索条件に従って前記ライブラリから当該検索条件を満たす前記インスタンスを検索する検索機能と、
この検索機能により検索された前記インスタンスと当該インスタンスを含む前記クラス及びその上位クラスとを用いて、前記階層型分類辞書の一部分である部分辞書と前記部分辞書の前記プロパティの属性値であるインスタンスとを有する部分ライブラリの構築を行う部分ライブラリ構築機能と、
をコンピュータに実行させることを特徴とするプログラム。
【請求項１７】
階層構造を定義するクラス及びクラスを規定するプロパティにより構成されていて下位クラスが上位クラスの前記プロパティを継承する階層型分類辞書と、前記階層型分類辞書の前記プロパティの属性値であるインスタンスとを有する階層型のライブラリの前記階層型分類辞書の前記プロパティの中から１または複数の前記プロパティを検索条件として設定させる検索設定工程と、
この検索設定工程により設定された検索条件に従って前記ライブラリから当該検索条件を満たす前記インスタンスを検索する検索工程と、
この検索工程により検索された前記インスタンスと当該インスタンスを含む前記クラス及びその上位クラスとを用いて、前記階層型分類辞書の一部分である部分辞書と前記部分辞書の前記プロパティの属性値であるインスタンスとを有する部分ライブラリの構築を行う部分ライブラリ構築工程と、
を含むことを特徴とする部分ライブラリ構築方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、部分ライブラリ構築装置、プログラムおよび部分ライブラリ構築方法に関する。
【背景技術】
【０００２】
オブジェクト指向データベース（ＯＯＤＢ）やオブジェクト・リレーショナル型データベース（ＯＲＤＢ）を代表とする階層型データベースでは、下位が上位分類の属性（プロパティ）を継承する階層構造を持つ。この階層型データベースにおいては、継承に従って下位の分類では属性が累増する。この上位分類の属性を下位に継承することは、通常「インヘリタンス」と呼ばれている。
【０００３】
また、オブジェクト指向データベースにおいては、階層中の分類は「クラス」と呼ばれることが多い。一方、オブジェクト・リレーショナル型データベース（ＯＲＤＢ）においては、継承を許したテーブルがこれに相当し、上下関係をもつテーブル間において、上位のテーブルから下位のテーブルへ属性、すなわち上位テーブルを構成するコラムのヘッダ情報が下位テーブルへ継承される。各階層の分類に属する同じ属性種を持つデータを「インスタンス」と呼び、その集合をデータの「ポピュレーション」と呼ぶ。データのポピュレーションは、関係データベース（ＲＤＢ）あるいはＯＲＤＢにおいては、テーブルと呼ばれる構造に格納されるのが普通である。テーブルにおいてそれを構成する属性の並びをテーブルのヘッダと呼ぶ。
【０００４】
階層型データベースの一つとしては、製品情報を電子的に提供する電子カタログシステムを実装するための国際規格であるISO13584 Parts Library規格（以下、「PLIB」規格という）がある。この「PLIB」規格は、複数の“Part"（通常、「分冊」と訳される）からなる製品あるいは部品ライブラリデータに関するオブジェクト指向的な記述の方法とその交換ファイル形式のセマンティックス、すなわち、どのような用語や記述方式およびデータ型を用いるかを定める国際規格である。「PLIB」規格のPart42（分冊第４２）はIEC61360-2（分冊第２）と内容が共通している。この規格は、オブジェクト指向的に製品を分類し、個々の分類を特徴付ける属性群を明らかにし、分類に対するコンテンツをファイル交換する仕組みであるので、勿論、属性の継承の概念はこの中に含まれている。また、この規格はISO6523"Structure for Identification of organizations and organization parts"を引用して作られており、特に、ISO6523の定めるICD（International Code Designator）を活用して属性に対して世界的に一意な識別子を割り振ることが可能である。
【０００５】
上述したような「PLIB」規格においては、階層型ライブラリが用いられている。階層型ライブラリは、複数の階層に分かれている階層型分類辞書と、コンテンツとで構成されている。階層型分類辞書の各階層は、１又は２以上のクラスを有しており、下位が上位のプロパティを継承する性質を持つ。したがって、下位の階層のクラスのプロパティは、上位の階層のクラスのプロパティを継承する。コンテンツは、例えば実際の製品データであり、プロパティの属性値（インスタンス）である。
【０００６】
今日、「PLIB」規格に準拠したシステムがいくつか提案されている。特許文献１には、階層型ライブラリにおいて、インスタンスが存在するクラスと存在しないクラスとを区別して表示し、ユーザが階層構造内のいずれかのクラスを検索開始ポイントとして指定することで検索対象となるクラスの範囲の指定をできるようにした技術が提案されている。
【０００７】
また、近年においては、階層型ライブラリの辞書にはユーザが自分の興味を持つ分野だけの辞書を指定でき、指定した分野の分類辞書だけを配布する技術も実現されている。
【０００８】
【特許文献１】特開２００４−１７８０１５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
ところが、上述した特許文献１においては、検索結果がインスタンスを含まないクラスは部分ライブラリとして構築されない為、必要な上位クラスの情報が提示されずに階層構造が不明瞭となることがあり、閲覧性・操作性が悪いという問題がある。また、特許文献１では、検索開始ポイントとして所定のクラスを指定して検索条件に合致したインスタンス内容を表示する事ができるが、それでも検索結果が存在しないクラスまで閲覧することができてしまうことがあり、閲覧性・操作性が悪いという問題がある。
【００１０】
また、指定した分野の分類辞書だけを配布する技術によれば、辞書を分野に分けて配布する事ができるが、多数の異なる階層の分野を指定して一つの辞書として配布する事ができない。さらに、分けられた分野辞書には、インスタンスが含まれず、分野辞書のインスタンスは、別途で格納しておく必要がある。
【００１１】
本発明は、上記に鑑みてなされたものであって、閲覧性、操作性を向上させることができる部分ライブラリ構築装置、プログラムおよび部分ライブラリ構築方法を提供することを目的とする。
【課題を解決するための手段】
【００１２】
上述した課題を解決し、目的を達成するために、本発明の部分ライブラリ構築装置は、階層構造を定義するクラス及びクラスを規定するプロパティにより構成されていて下位クラスが上位クラスの前記プロパティを継承する階層型分類辞書と、前記階層型分類辞書の前記プロパティの属性値であるインスタンスとを有する階層型のライブラリを格納するライブラリ格納手段と、前記階層型分類辞書の前記プロパティの中から１または複数の前記プロパティを検索条件として設定させる検索設定手段と、この検索設定手段により設定された検索条件に従って前記ライブラリから当該検索条件を満たす前記インスタンスを検索する検索手段と、この検索手段により検索された前記インスタンスと当該インスタンスを含む前記クラス及びその上位クラスとを用いて、前記階層型分類辞書の一部分である部分辞書と前記部分辞書の前記プロパティの属性値であるインスタンスとを有する部分ライブラリの構築を行う部分ライブラリ構築手段と、を備えることを特徴とする。
【００１３】
また、本発明のプログラムは、階層構造を定義するクラス及びクラスを規定するプロパティにより構成されていて下位クラスが上位クラスの前記プロパティを継承する階層型分類辞書と、前記階層型分類辞書の前記プロパティの属性値であるインスタンスとを有する階層型のライブラリを格納する機能と、前記階層型分類辞書の前記プロパティの中から１または複数の前記プロパティを検索条件として設定させる検索設定機能と、この検索設定機能により設定された検索条件に従って前記ライブラリから当該検索条件を満たす前記インスタンスを検索する検索機能と、この検索機能により検索された前記インスタンスと当該インスタンスを含む前記クラス及びその上位クラスとを用いて、前記階層型分類辞書の一部分である部分辞書と前記部分辞書の前記プロパティの属性値であるインスタンスとを有する部分ライブラリの構築を行う部分ライブラリ構築機能と、をコンピュータに実行させることを特徴とする。
【００１４】
また、本発明の部分ライブラリ構築方法は、階層構造を定義するクラス及びクラスを規定するプロパティにより構成されていて下位クラスが上位クラスの前記プロパティを継承する階層型分類辞書と、前記階層型分類辞書の前記プロパティの属性値であるインスタンスとを有する階層型のライブラリの前記階層型分類辞書の前記プロパティの中から１または複数の前記プロパティを検索条件として設定させる検索設定工程と、この検索設定工程により設定された検索条件に従って前記ライブラリから当該検索条件を満たす前記インスタンスを検索する検索工程と、この検索工程により検索された前記インスタンスと当該インスタンスを含む前記クラス及びその上位クラスとを用いて、前記階層型分類辞書の一部分である部分辞書と前記部分辞書の前記プロパティの属性値であるインスタンスとを有する部分ライブラリの構築を行う部分ライブラリ構築工程と、を含むことを特徴とする。
【発明の効果】
【００１５】
本発明によれば、既存の階層型のライブラリからユーザが指定した検索条件（１または複数のプロパティ）に合致する必要なプロパティ、インスタンス及びその階層クラスだけを持つ部分ライブラリを構築することができることにより、階層化された必要なクラスの構造が明確になることから、簡単に自分が必要なクラス、プロパティ及びインスタンスにアクセスできるようになり、有効情報へのアクセス効率が上がるので、閲覧性、操作性を向上させることができる、という効果を奏する。
【発明を実施するための最良の形態】
【００１６】
以下に添付図面を参照して、この発明にかかる部分ライブラリ構築装置、プログラムおよび部分ライブラリ構築方法の最良な実施の形態を詳細に説明する。
【００１７】
［１．階層型ライブラリについて］
最初に、本実施の形態の前提となる、製品情報を電子的に提供する電子カタログシステムに用いられる階層型ライブラリについて説明する。
【００１８】
図１は、階層型ライブラリの構成の一例を示す説明図である。図１に示す階層型ライブラリ１０００は、複数の階層に分かれている階層型分類辞書１００１と、コンテンツ１００２とで構成されている。階層型分類辞書１００１の各階層は、１又は２以上の分類項目を有しており、下位が上位の属性（プロパティ）を継承する性質を持つ。したがって、下位の階層の分類項目の属性は、上位の階層の分類項目の属性を継承する。ここで、階層型の分類項目はクラスと呼ばれ、各クラスは属性を持つ。図１に示す階層型分類辞書１００１は、多重継承を含む一般的なクラス間の属性継承関係を示している。クラスはＡ０、Ｂ０、Ｂ１、Ｃ０、Ｃ１、Ｃ２、Ｃ３、Ｄ１で示され、属性はＰ０〜Ｐ７で示される。クラスＣ３においては、その親クラスＢ１から属性Ｐ０とＰ４を継承し、別の親クラスＤ１から属性Ｐ７を継承する。属性Ｐ６は、クラスＣ３において独自に定義された属性である。クラスＡ０とクラスＤ１は、独立したクラスである。ユニバーサルルート（Universal Root）は、全てのルートクラスを仮想的に含む全体クラスである。これは通常数学で言う「全体集合」に相当するものと考えられる。すなわち、全体クラスでは、継承すべき属性を特に含んでおらず、属性を持たないため、全てのルートクラスの親クラスとして扱うことが可能になる。
【００１９】
製品情報を電子的に提供する電子カタログシステムを実装するための国際規格であるPLIB規格(ＩＳＯ13584 parts Library）は、製品分類やその属性に用いる階層構造は単純木構造である。したがって、上位クラス（親クラス）は１つしか存在しない。親クラス以外の属性を継承する場合には、Case Of（「ケースオブ」）という属性の輸入（引用）のための特別な構造が用いられる。この構造は、図１の多重継承を、例えば番号の一番若い親クラスを主系列とするなどにより主系列と副系列に適宜分け、副系列に対してCase Ofという別名を与えた例とみなすことができる。図１の例は、クラスＣ３はクラスＤ１に継承せずに、クラスＣ３はCase Ofクラスとして定義している。ここで、引用先のクラスはＤ１に設定し、引用プロパティはＰ７に設定すると、多重継承と同じ構造を果たす。また、ＯＲＤＢや一般的なオブジェクト指向データベースにおいては、全てのテーブルやクラスに親テーブル及び親クラスがあるわけではない。しかし、独立に存在するテーブルやクラスについても、図１に示すように、仮想的な「ユニバーサルルート」を設定することにより、全てのクラスをただ一つのルートからたどることが可能になり、単純木と変わらなくなる。
【００２０】
図２は、単純木を用いたＰＬＩＢ規格の階層型ライブラリ２０００の構成の一例を示す説明図である。図２に示すＰＬＩＢ規格の階層型辞書２００１は、ユニバーサルルートを持たない。図２において、Ｃ０、Ｃ１、Ｃ２、Ｃ３、Ｃ４、Ｃ５の木構造の部分は、分類階層を含む情報を表現する。本実施の形態では木は単純木であり、クラスには一つの上位クラスしかない。
【００２１】
図２において、クラスＣ０は下位クラスＣ１、Ｃ２、Ｃ３を持つ。クラスＣ１は、下位クラスＣ４及びＣ５を持ち。それぞれの製品クラスはプロパティ項目を持ち、上位クラスのプロパティは下位クラスに継承される。図２中、インスタンス２００２及び２００３は実際の製品データである。例えば、インスタンス２００２は、Ｃ４という種類の製品データである。このインスタンス２００２は、６種類分のインスタンスである。すなわち、インスタンス２００２は、プロパティ項目Ｐ１〜Ｐ６の属性値として｛ｘ１１、ｘ２１、ｘ３１、ｘ４１、ｘ５１、ｘ６１｝と、｛ｘ１２、ｘ２２、ｘ３２、ｘ４２、ｘ５２、ｘ６２｝を持つ。
【００２２】
上述したような階層型ライブラリ（以下、ライブラリという）は、本実施形態の処理対象として後述するライブラリＤＢ６（図５参照）に格納される。
【００２３】
［２．システムの構成］
図３は、本実施の形態に係る部分ライブラリ構築装置を含むシステムのシステム構築例を示す模式図である。本システムは、図３に示すように、部分ライブラリ構築装置であるサーバコンピュータ（以下、サーバという）１にＬＡＮ（Local Area Network）等のネットワーク２を介して端末装置であるクライアントコンピュータ（以下、クライアントという）３が複数台接続されたサーバクライアントシステムを想定する。
【００２４】
クライアント３は、一般的なパーソナルコンピュータ等であり、辞書ＷＥＢブラウザ３０と、表示装置３１と、入力装置３２とを備えている（図５参照）。このようなクライアント３は、辞書ＷＥＢブラウザ３０を用いることにより、ネットワーク２を介してサーバ１が備えるライブラリＤＢ６（図５参照）に対する、部分ライブラリを構築することが可能になっている。
【００２５】
図４は、サーバ１のモジュール構成図である。サーバ１は、情報処理を行うＣＰＵ（Central Processing Unit）１０１、ＢＩＯＳなどを記憶した読出し専用メモリであるＲＯＭ（Read Only Memory）１０２、各種データを書換え可能に記憶するＲＡＭ（Random Access Memory）１０３、各種データベースとして機能するとともに各種のプログラムを格納するＨＤＤ（Hard Disk Drive）１０４、記憶媒体１１０を用いて情報を保管したり外部に情報を配布したり外部から情報を入手するためのＣＤ−ＲＯＭドライブ等の媒体駆動装置１０５、ネットワーク２を介して外部の他のコンピュータと通信により情報を伝達するための通信制御装置１０６、処理経過や結果等を操作者に表示するＣＲＴ（Cathode Ray Tube）やＬＣＤ（Liquid Crystal Display）等の表示装置１０７、並びに操作者がＣＰＵ１０１に命令や情報等を入力するためのキーボードやマウス等の入力装置１０８等から構成されており、これらの各部間で送受信されるデータをバスコントローラ１０９が調停して動作する。
【００２６】
このようなサーバ１では、ユーザが電源を投入するとＣＰＵ１０１がＲＯＭ１０２内のローダーというプログラムを起動させ、ＨＤＤ１０４よりＯＳ（Operating System）というコンピュータのハードウェアとソフトウェアとを管理するプログラムをＲＡＭ１０３に読み込み、このＯＳを起動させる。このようなＯＳは、ユーザの操作に応じてプログラムを起動したり、情報を読み込んだり、保存を行ったりする。ＯＳのうち代表的なものとしては、Ｗｉｎｄｏｗｓ（登録商標）、ＵＮＩＸ（登録商標）等が知られている。これらのＯＳ上で走る動作プログラムをアプリケーションプログラムと呼んでいる。なお、アプリケーションプログラムは、所定のＯＳ上で動作するものに限らず、後述の各種処理の一部の実行をＯＳに肩代わりさせるものであってもよいし、所定のアプリケーションソフトやＯＳなどを構成する一群のプログラムファイルの一部として含まれているものであってもよい。
【００２７】
ここで、サーバ１は、アプリケーションプログラムとして、部分ライブラリ構築プログラムをＨＤＤ１０４に記憶している。この意味で、ＨＤＤ１０４は、部分ライブラリ構築プログラムを記憶する記憶媒体として機能する。
【００２８】
また、一般的には、サーバ１のＨＤＤ１０４にインストールされる動作プログラムは、ＣＤ−ＲＯＭやＤＶＤなどの各種の光ディスク、各種光磁気ディスク、フレキシブルディスクなどの各種磁気ディスク、半導体メモリ等の各種方式のメディア等の記憶媒体１１０に記録され、この記憶媒体１１０に記録された動作プログラムがＨＤＤ１０４にインストールされる。このため、ＣＤ−ＲＯＭ等の光情報記録メディアやＦＤ等の磁気メディア等の可搬性を有する記憶媒体１１０も、部分ライブラリ構築プログラムを記憶する記憶媒体となり得る。さらには、部分ライブラリ構築プログラムは、例えば通信制御装置１０６を介して外部から取り込まれ、ＨＤＤ１０４にインストールされても良い。
【００２９】
サーバ１は、ＯＳ上で動作する部分ライブラリ構築プログラムが起動すると、この部分ライブラリ構築プログラムに従い、ＣＰＵ１０１が各種の演算処理を実行して各部を集中的に制御する。サーバ１のＣＰＵ１０１が実行する各種の演算処理のうち、本実施の形態の特長的な処理について以下に説明する。
【００３０】
図５は、サーバ１を含むシステムの概略構成を示すブロック図である。図５に示すように、サーバ１は、部分ライブラリ構築プログラムに従うことにより、ネットワーク通信部４と、ライブラリ表示部５と、ライブラリ格納手段として機能するライブラリＤＢ６と、検索設定手段として機能する検索設定部７と、検索手段として機能する検索部８と、構築方法設定手段として機能する構築方法設定部９と、構築方法記録部１０と、候補集合保存部１１と、候補集合生成部１２と、部分ライブラリ構築手段として機能する部分ライブラリ設定構築部１３と、部分ライブラリ登録部１４と、部分ライブラリＤＢ１５と、部分ライブラリ表示部１６と、部分ライブラリ出力部１７と、部分ライブラリ変更受信部１８と、部分ライブラリ変更内容提案部１９と、ライブラリ更新部２０と、ライブラリ変更受信部２１と、部分ライブラリ検出部２２と、部分ライブラリ変更選択部２３と、部分ライブラリ変更部２４と、を備える。以下、この各機能について説明する。
【００３１】
サーバ１は、ライブラリＤＢ６に格納されている階層型ライブラリを、ライブラリ表示部５およびネットワーク通信部４を介してクライアント３に出力する。これにより、ユーザは、ライブラリＤＢ６に格納されている階層型ライブラリを閲覧することができる。
【００３２】
また、ネットワーク通信部４を介してクライアント３から検索条件を受け取ったサーバ１は、検索設定部７に検索条件を設定し、設定された検索条件に従って検索部８がライブラリＤＢ６から検索条件を満たすインスタンスを検索する。候補集合生成部１２は、検索部８により検索されたインスタンスと、そのインスタンスを含むクラス及びその上位クラスを集計した候補集合（＝部分ライブラリ）を、候補集合保存部１１によって保存する。
【００３３】
ここで、図６は検索設定部７での検索条件を設定する画面例である。検索設定部７は、図６に示す画面をネットワーク通信部４を介してクライアント３に出力する。ユーザは、ライブラリＤＢ６に格納されているプロパティリストを選定し、夫々プロパティの値、又は範囲を設定する。設定された各プロパティ及びその値の条件は、ユーザは、ＡＮＤ（全ての条件を満たす）またはＯＲ（いずれの条件を満たす）の設定をし、検索条件の設定を行う。図６に示す例では、ライブラリＤＢ６のプロパティリストからプロパティＰ４を選択し、“Ｐ４＝Ｘ４１”の条件（条件１と称する）を設定している。また、ライブラリＤ
Ｂ６のプロパティリストからプロパティＰ２を選択し、“Ｐ２＝Ｘ２２ ｏｒ Ｐ２＝Ｘ
２１”の条件（条件２と称する）を設定している。このようにして設定した条件１と条件２とに対して、ユーザがＡＮＤ（全ての条件を満たす）またはＯＲ（いずれの条件を満たす）の指定をすることにより、検索部８は検索を実行する。
【００３４】
図７に示す９０１は、図２に示したような階層型ライブラリに基づいて、図６に示した検索条件“Ｐ４＝Ｘ４１ ＡＮＤ （Ｐ２＝Ｘ２２ ｏｒ Ｐ２＝Ｘ２１）”の検索結果
のインスタンス｛ｉ｝を示す。
【００３５】
候補集合生成部１２は、図７に示す検索結果であるインスタンス｛ｉ｝９０１を用いて、ライブラリＤＢ６に格納されている階層型ライブラリのクラス情報を検出する。図８は、候補集合生成部１２および候補集合保存部１１における処理の流れを示すフローチャートである。図８に示すように、候補集合生成部１２は、まず、検索結果のインスタンス｛ｉ｝を含むクラスリスト｛Ｃｎ｝を抽出する（ステップＳ１）。図７に示した例では、検索結果のインスタンスを含むクラスは、｛Ｃｎ｝＝｛Ｃ４，Ｃ５｝である。
【００３６】
次いで、｛Ｃｎ｝の上位クラス｛Ｃｍ｝を抽出する（ステップＳ２）。図７に示す例では、Ｃ４の上位クラスは｛Ｃ１，Ｃ０｝であり。Ｃ５の上位クラスは｛Ｃ１，Ｃ０｝である。すなわち、｛Ｃｍ｝＝｛Ｃ１、Ｃ０｝を抽出する。
【００３７】
候補集合保存部１１は、上記結果（インスタンス｛ｉ｝、クラスリスト｛Ｃｎ｝、｛Ｃｎ｝の上位クラス｛Ｃｍ｝）を候補集合（＝部分ライブラリ）として保存する（ステップＳ３）。必要に応じて、該候補集合を得るための検索条件（Ｐ４＝Ｘ４１ ＡＮＤ （Ｐ
２＝Ｘ２２ ｏｒ Ｐ２＝Ｘ２１）も一緒に保存することが可能である。
【００３８】
部分ライブラリ設定構築部１３は、候補集合保存部１１で保存された候補集合（＝部分ライブラリ）を用いて、部分ライブラリの構築を行う。より詳細には、部分ライブラリ設定構築部１３は、部分ライブラリの構築に必要なプロパティリストを指定し、部分ライブラリの構築を行う。
【００３９】
部分ライブラリ設定構築部１３で構築された部分ライブラリは、部分ライブラリ登録部１４を経由して、部分ライブラリＤＢ１５に識別子付けで登録される。サーバ１は、登録された部分ライブラリを、部分ライブラリ表示部１６およびネットワーク通信部４を介してクライアント３に出力する。これにより、ユーザは、部分ライブラリＤＢ１５に登録されている部分ライブラリを閲覧することができる。なお、ユーザは部分ライブラリの識別子の指定によって、指定した部分ライブラリを閲覧する事が可能である。また、部分ライブラリ出力部１７は、指定した部分ライブラリをユーザ指定のフォーマット（例えば、ＣＳＶ，Ｐａｒｔ２１，Ｅｘｃｅｌ等）でクライアント３、又はサーバ１のファイルに出力することも可能である。
【００４０】
ここで、図９は部分ライブラリ設定構築部１３での部分ライブラリ用のプロパティを選定する画面例である。部分ライブラリ設定構築部１３は、図９に示す画面をネットワーク通信部４を介してクライアント３に出力する。図９に示すように、候補集合保存部１１で保存された候補集合（＝部分ライブラリ）にあるプロパティが、この画面で選択できるプロパティリストになる。図７に示す例では、プロパティリストは｛Ｐ１，Ｐ２，Ｐ３，Ｐ４，Ｐ５，Ｐ６，Ｐ７｝である。クライアント３に表示された図９に示す画面上においてユーザがプロパティの指定をしない場合には、候補集合保存部１１で保存された候補集合（＝部分ライブラリ）にあるプロパティ（検索結果のプロパティリスト｛Ｐ＿ｏｒｉｇ｝）がデフォルトに選択される状況になっており、上記全てのプロパティを用いて部分ライブラリを構築することになる。一方、クライアント３に表示された図９に示す画面上においてユーザが部分ライブラリのプロパティを指定した場合には、選択したプロパティリスト｛Ｐ＿ｓｕｂ｝を用いて、部分ライブラリを構築することになる。図９では、検索条件に使われたプロパティＰ２，Ｐ４が、選択された状態になっている。
【００４１】
図１０は、部分ライブラリ設定構築部１３における処理の流れを示すフローチャートである。図１０に示すように、部分ライブラリ設定構築部１３は、まず、部分ライブラリのプロパティが選択されているか否かを判定する（ステップＳ１１）。部分ライブラリのプロパティが選択されていない場合には（ステップＳ１１のＮｏ）、インスタンス｛ｉ｝、クラスリスト｛Ｃｎ｝、｛Ｃｎ｝の上位クラス｛Ｃｍ｝、デフォルトに選択された検索結果のプロパティリスト｛Ｐ＿ｏｒｉｇ｝を用いて、部分ライブラリを構築する（ステップＳ１２）。図７は、｛Ｐ＿ｏｒｉｇ｝を用いた部分ライブラリの例である。図７に示す部分ライブラリにおいて、９０１はインスタンス、９０２は階層型分類辞書の一部分である部分辞書である。
【００４２】
一方、クライアント３に表示された図９に示す画面上においてユーザによって部分ライブラリのプロパティが選択されている場合には（ステップＳ１１のＹｅｓ）、ライブラリのプロパティリスト｛Ｐ＿ｏｒｉｇ｝から選択したプロパティリスト｛Ｐ＿ｓｕｂ｝を選定し（ステップＳ１３）、インスタンス｛ｉ｝、クラスリスト｛Ｃｎ｝、｛Ｃｎ｝の上位クラス｛Ｃｍ｝、選定したプロパティリスト｛Ｐ＿ｓｕｂ｝を用いて、部分ライブラリを構築する（ステップＳ１４）。
【００４３】
なお、クライアント３に表示された図９に示す画面上においては、ライブラリＤＢ６で“キー”に指定したプロパティを部分ライブラリに自動的に含めるかどうかについて、“キープロパティ選択”の項目２００のＯＮ／ＯＦＦにより、指定することができる。キープロパティは、省略できないプロパティである。
【００４４】
図１１は、構築された部分ライブラリの一例を示す模式図である。例えば、検索結果では、プロパティ｛Ｐ＿ｏｒｉｇ｝＝｛Ｐ１，Ｐ２，Ｐ３，Ｐ４，Ｐ５，Ｐ６，Ｐ７｝であるとする。ユーザがクライアント３に表示された図９に示す画面上において｛Ｐ＿ｓｕｂ｝＝｛Ｐ１，Ｐ２，Ｐ３，Ｐ４，Ｐ５｝のプロパティを指定した場合においては、図１１示すように、部分ライブラリには選択されていないＰ６，Ｐ７は含まれておらず（図１１ではグレイアウトされている部分）、Ｐ６，Ｐ７のインスタンス値も含まれない（図１１ではグレイアウトされている部分）。
【００４５】
上述したようにして検索条件に従う部分ライブラリが構築される。部分ライブラリ設定構築部１３で構築された部分ライブラリの内容は、部分ライブラリ登録部１４を経由して、部分ライブラリＤＢ１５に識別子付けで登録される。サーバ１は、登録された部分ライブラリを、部分ライブラリ表示部１６およびネットワーク通信部４を介してクライアント３に出力する。これにより、ユーザは、部分ライブラリＤＢ１５に登録されている部分ライブラリを閲覧することができる。
【００４６】
ところで、サーバ１は、構築方法設定部９によって部分ライブラリの構築方法を設定し、設定した部分ライブラリの構築方法を構築方法記録部１０によって記録することができる。
【００４７】
図１２は、構築方法設定部９での部分ライブラリの構築方法を設定する画面例である。構築方法設定部９は、図１２に示す画面をネットワーク通信部４を介してクライアント３に出力する。
【００４８】
図１２に示す画面の（１）においては、部分ライブラリを構築するため、予め多数のユーザ、又は多数のユーザグループをユーザに指定させ、識別子（例えば、構築方法Ａ）を付与して構築方法記録部１０に記録する。これにより、指定した構築方法Ａのユーザ、又はユーザグループと合致する集合を候補集合生成部１２で生成した候補集合（＝部分ライブラリ）から抽出し、候補集合保存部１１に該構築方法の識別子と一致する名前で保存する（例えば：集合Ａ）。ところで、時間の経過により、例えば集合Ａ１，集合Ａ２，集合Ａ３，・・・集合Ａｎというように、構築方法記録部１０に複数の集合が記録される場合がある。このような場合、構築方法Ａを用いた部分ライブラリを生成しようとする際には、候補集合保存部１１に保存された集合Ａｎの和集合を取る。具体的には、部分ライブラリの内容Ａ＝Ａ１∪Ａ２∪Ａ３∪Ａｎの集合を生成し、上述した部分ライブラリ構築方法を用いて、設定した構築方法Ａに合致する部分ライブラリを構築する旨を部分ライブラリ設定構築部１３に指示する。
【００４９】
図１２に示す画面の（２）においては、部分ライブラリを構築するため、“タイムスタンプ”を設定させ、識別子（例えば、構築方法Ｂ）を付与して構築方法記録部１０に記録する。これにより、設定した構築方法Ｂの“タイムスタンプ”と合致する集合を候補集合生成部１２で生成した候補集合（＝部分ライブラリ）から抽出し、候補集合保存部１１に該構築方法の識別子と一致する名前で保存する（例えば：集合Ｂ）。タイムスタンプが付与された集合においては、時間が分かるような時間識別子を有している。一例として、集合の識別子に、タイムスタンプを付ける方法がある。例えば、集合B20060516＿23は、２００６年５月１６日２３時のタイムスタンプを持つ。すなわち、該設定を行うと、候補集合生成部１２に生成した候補集合（＝部分ライブラリ）を、識別子であるタイムスタンプ（例：２００６年５月１６日）付けて候補集合保存部１１に保存する。部分ライブラリの構築方法Ｂを利用して部分ライブラリを構築する際には、候補集合保存部１１に保存されたタイムスタンプ付けの候補集合（＝部分ライブラリ）Ｂ１，Ｂ２，・・・Ｂｎから、自分に必要な内容を時間により選択し、例えば２００５年１２月から２００６年２月までの内容や、２００５年１２月と２００６年４月の内容等、時間の指定をする。指定した時間に合致した候補集合（＝部分ライブラリ）の和集合からＢ＿timestampの集合を生成し、上述した部分ライブラリ構築方法を用いて、設定した構築方法Ｂに合致する部分ライブラリを構築する旨を部分ライブラリ設定構築部１３に指示する。
【００５０】
図１２に示す画面の（３）においては、部分ライブラリを構築するため、“検索範囲”、すなわちクラス又はクラスリストを設定させ、識別子（例えば、構築方法Ｃ）を付与して構築方法記録部１０に記録する。これにより、検索部８は、指定したクラス又はクラスリスト、及びそれらの下位クラスの範囲で検索を行う。例えば、図２に示したライブラリに対して“検索範囲”をＣ１に設定すると、検索範囲はＣ１及びその下位クラスのＣ４、Ｃ５になる。すなわち、“検索範囲”をＣ１に設定した場合、部分ライブラリを構築するための最も上位のクラスはＣ０ではなく、Ｃ１になる。複数のクラス範囲を指定した場合は、指定したクラスの共通上位クラスが最も上位のクラスになる。このようにして指定したクラス範囲の検索結果集合を用いて、上述する部分ライブラリの構築方法を用いて、設定した構築方法Ｃに合致する部分ライブラリを構築する旨を部分ライブラリ設定構築部１３に指示する。
【００５１】
また、図１２に示す画面の（１）〜（３）に示す構築方法Ａ〜Ｃは、ユーザ毎に自由に組み合わせることが可能である。すなわち、各構築方法Ａ〜Ｃは、ＡＮＤ又はＯＲの関係を持つことが可能になっている。例えば、構築方法Ａのユーザ・ユーザグループ指定方法と、構築方法Ｂのタイムスタンプを設定する方法を、両方ＡＮＤに設定された場合は、指定したユーザ・ユーザグループの検索結果に対して、タイムスタンプを付けるようになる。また、構築方法Ａと構築方法ＢとがＯＲに設定された場合は、全ての検索結果にタイムスタンプを付けると、指定したユーザ・ユーザグループに該当する検索結果に、さらに、ユーザ・ユーザグループの識別子も付けられる。所謂、ユーザ・ユーザグループの識別子とタイムスタンプ識別子の二つの識別子を持つ検索結果があり得る。なお、構築方法は上述した構築方法Ａ，Ｂ，Ｃに限るものではなく、ユーザが構築方法Ａ〜Ｃ以外の他の構築方法を新たに登録することが可能である。その際は、新規登録された構築方法は、上記構築方法Ａ，Ｂ，Ｃと組み合わせて利用することが可能である。
【００５２】
上述したように、部分ライブラリ設定構築部１３で構築された部分ライブラリは、部分ライブラリ登録部１４を経由して、部分ライブラリＤＢ１５に識別子付けで登録される。この点について、以下において詳述する。
【００５３】
図１３は、部分ライブラリとライブラリの辞書関連を示す例である。図１３において、コラム２０１はライブラリのクラス識別子を示し、コラム２０２はライブラリのプロパティ識別子を示し、コラム２０３は登録された部分ライブラリの識別子を示す。コラム２０４は、ライブラリのクラス識別子２０１に対応する部分ライブラリのクラス識別子を示す。また、コラム２０５は、ライブラリのプロパティ識別子２０２に対応する部分ライブラリのプロパティ識別子を示す。すなわち、図１３に示すように、部分ライブラリ登録部１４を通じて部分ライブラリ設定構築部１３で構築された部分ライブラリを登録する毎に、部分ライブラリに利用する全てのクラス及びプロパティ内容を追加する。
【００５４】
なお、場合によっては、部分ライブラリとライブラリとの関連は、部分ライブラリＤＢ１５と別の保存先を持つ事も可能である。
【００５５】
このように本実施の形態によれば、下位クラスが上位クラスのプロパティを継承する階層型分類辞書とプロパティの属性値であるインスタンスとを有する階層型のライブラリの階層型分類辞書のプロパティの中から１または複数のプロパティを検索条件として設定させ、設定された検索条件に従ってライブラリから当該検索条件を満たすインスタンスを検索し、検索されたインスタンスと当該インスタンスを含むクラス及びその上位クラスとを用いて、階層型分類辞書の一部分である部分辞書と当該部分辞書の前記プロパティの属性値であるインスタンスとを有する部分ライブラリの構築を行う。これにより、既存の階層型のライブラリからユーザが指定した検索条件（１または複数のプロパティ）に合致する必要なプロパティ、インスタンス及びその階層クラスだけを持つ部分ライブラリを構築することができることにより、階層化された必要なクラスの構造が明確になることから、簡単に自分が必要なクラス、プロパティ及びインスタンスにアクセスできるようになり、有効情報へのアクセス効率が上がるので、閲覧性、操作性を向上させることができる。
【００５６】
ところで、本実施の形態においては、ライブラリＤＢ６に格納されているライブラリにおいてクラス等の元辞書情報やインスタンスが更新された場合に、部分ライブラリにその旨を通知し、部分ライブラリの辞書やインスタンスを自動／半自動的に再構築する。より詳細には、ライブラリＤＢ６に格納されているライブラリの辞書（クラス、プロパティ）更新やインスタンス更新があった場合、ライブラリ変更受信部２１はライブラリの変更情報（ライブラリの変更があった内容（クラス、プロパティ、インスタンスを含む）及びその変更形態（追加、修正、削除）の情報）を受信する。ライブラリ変更受信部２１は、ライブラリの変更情報を受信した場合、ライブラリの変更情報を部分ライブラリ検出部２２に渡す。部分ライブラリ検出部２２は、部分ライブラリ検出部２２から渡されたライブラリの変更情報について、ライブラリと部分ライブラリの関連情報を用いてライブラリの変更内容に影響される部分ライブラリを部分ライブラリＤＢ１５から変更候補として検出し、部分ライブラリ変更選択部２３で変更候補から変更が必要な内容を選択して、部分ライブラリ変更部２４で対応する部分ライブラリの部分の変更を行う。すなわち、ライブラリ変更受信部２１、部分ライブラリ検出部２２、部分ライブラリ変更選択部２３で、部分ライブラリ変更部２４により辞書再構築手段およびインスタンス再構築手段が実現される。
【００５７】
まず、ライブラリの辞書変更が行われた場合についての部分ライブラリ検出部２２における処理を図１４のフローチャートを参照して説明する。
【００５８】
図１４に示すように、ライブラリの辞書変更が行われた場合、部分ライブラリ検出部２２は、辞書変更が追加なのか、修正なのか、削除なのかを判定する（ステップＳ２１〜Ｓ２３）。
【００５９】
辞書変更が追加であって（ステップＳ２１のＹｅｓ）、クラスＣｘの追加である場合には（ステップＳ２４のＹｅｓ）、ステップＳ２５に進みＣｘの追加先クラス（例えば、Ｃ１）を検出し、部分ライブラリでの対応するクラス（例えば、Ｃ１'）を検出する（ステップＳ２６）。図１３に示したライブラリと部分ライブラリの関連情報によれば、クラスＣ１に対応するクラスは、部分ライブラリＬ１ならばＣ１'であることが分かる。
【００６０】
部分ライブラリでの対応するクラス（例えば、Ｃ１'）を検出することができた場合には（ステップＳ２６のＹｅｓ）、検出したクラス（例えば、部分ライブラリＬ１のクラスＣ１'）を、クラスＣｘを追加する変更候補とする（ステップＳ２７）。
【００６１】
部分ライブラリでの対応するクラス（例えば、Ｃ１'）を検出することができない場合、すなわちクラスＣ１に対する部分ライブラリの情報が関連情報テーブルに登録されていない場合は、クラスＣｘの追加は部分ライブラリに影響がないと判断し、クラスＣｘを破棄して該変更への対応を終了する（ステップＳ２８）。
【００６２】
一方、プロパティＰｘの追加である場合には（ステップＳ２４のＮｏ）、ステップＳ２９に進みＰｘの追加先クラスＣｚを検出し、部分ライブラリでの対応するクラス（例えば、Ｃｚ'）を検出する（ステップＳ２６）。
【００６３】
部分ライブラリでの対応するクラス（例えば、Ｃｚ'）を検出することができた場合には（ステップＳ３０のＹｅｓ）、検出したクラス（例えば、クラスＣｚ'）を、クラスＰｘを追加する変更候補とする（ステップＳ３１）。
【００６４】
部分ライブラリでの対応するクラス（例えば、Ｃｚ'）を検出することができない場合、すなわちクラスＰｘに対する部分ライブラリの情報が関連情報テーブルに登録されていない場合は（ステップＳ３０のＮｏ）、クラスＰｘの追加は部分ライブラリに影響がないと判断し、クラスＰｘを破棄して該変更への対応を終了する（ステップＳ３２）。
【００６５】
辞書変更が修正であって（ステップＳ２２のＹｅｓ）、クラスＣｙの修正である場合には（ステップＳ３３のＹｅｓ）、図１３に示すライブラリと部分ライブラリの関連情報からクラスＣｙに対応する部分ライブラリ及びクラスＣｙ'を検出する（ステップＳ３４）。
【００６６】
クラスＣｙに対応する部分ライブラリ及びクラスＣｙ'を検出することができた場合には（ステップＳ３４のＹｅｓ）、検出したクラス（例えば、クラスＣｙ'）を、クラスＣｙと同様な修正を行なうように、変更候補とする（ステップＳ３５）。
【００６７】
部分ライブラリではクラスＣｙに対応するクラスを検出することができなかった場合には（ステップＳ３４のＮｏ）、クラスＣｙの修正は部分ライブラリに影響がないと判断し、クラスＣｙの修正を破棄して該変更への対応を終了する（ステップＳ３６）。
【００６８】
一方、プロパティＰｙの修正である場合には（ステップＳ３３のＮｏ）、図１３に示すライブラリと部分ライブラリの関連情報からプロパティＰｙに対応するプロパティＰｙ'を検出する（ステップＳ３７）。
【００６９】
プロパティＰｙに対応するプロパティＰｙ'を検出することができた場合には（ステップＳ３７のＹｅｓ）、検出したプロパティＰｙ'を、プロパティＰｙと同様な修正を行なうように、変更候補とする（ステップＳ３８）。
【００７０】
プロパティＰｙに対応するプロパティＰｙ'を検出することができない場合は（ステップＳ３７のＮｏ）、プロパティＰｙの修正は部分ライブラリに影響がないと判断し、プロパティＰｙの修正を破棄して該変更への対応を終了する（ステップＳ３９）。
【００７１】
最後に、クラス／プロパティの削除である場合には（ステップＳ２３のＹｅｓ）、図１３に示すライブラリと部分ライブラリの関連情報から対応するクラス／プロパティを検出する（ステップＳ４０）。
【００７２】
対応するクラス／プロパティを検出することができた場合には（ステップＳ４０のＹｅｓ）、検出したクラス／プロパティを削除するように、変更候補とする（ステップＳ４１）。
【００７３】
対応するクラス／プロパティを検出することができない場合は（ステップＳ４０のＮｏ）、クラス／プロパティの削除は部分ライブラリに影響がないと判断し、クラス／プロパティの削除を破棄して該変更への対応を終了する（ステップＳ４２）。
【００７４】
なお、実運用上では、クラスまたはプロパティの削除を許されていない場合もあるので、部分ライブラリのユーザは対応する部分の削除可否を判断する。
【００７５】
ライブラリの全ての変更内容に対して上記操作を繰り返して行うことにより作成された部分ライブラリへの変更候補、すなわちステップＳ２７，Ｓ３１，Ｓ３５，Ｓ３８，Ｓ４１の変更候補を一時保存して（ステップＳ４３）、処理を終了する。
【００７６】
次に、ライブラリのインスタンス変更が行われた場合についての部分ライブラリ検出部２２における処理を図１５のフローチャートを参照して説明する。
【００７７】
図１５に示すように、ライブラリの辞書変更が行われた場合、部分ライブラリ検出部２２は、インスタンス変更が追加なのか、修正なのか、削除なのかを判定する（ステップＳ５１〜Ｓ５３）。
【００７８】
インスタンスＩｘが追加された場合には（ステップＳ５１のＹｅｓ）、図１３に示すライブラリと部分ライブラリの関連情報からインスタンスＩｘを含むクラスＣｉを検出し、さらに、部分ライブラリに対応するクラスＣｉ'を検出する（ステップＳ５４）。
【００７９】
対応するクラスＣｉ'を検出することができた場合には（ステップＳ５４のＹｅｓ）、追加したインスタンスＩｘが、部分ライブラリを構築するために使われた検索条件及び構築条件を満たすかどうかのチェックを行う（ステップＳ５５）。
【００８０】
追加したインスタンスＩｘが検索条件及び構築条件を満たす場合は（ステップＳ５５のＹｅｓ）、さらに、クラスＣｉのプロパティ｛Ｐｉ｝に対応する、部分ライブラリのＣｉ'のプロパティ｛Ｐｉ'｝を検出し（ステップＳ５６）、追加したインスタンスＩｘの該当する｛Ｐｉ'｝の内容をＣｉ'に追加するように、変更候補とする（ステップＳ５７）。
【００８１】
一方、対応するクラスＣｉ'を検出することができない場合（ステップＳ５４のＮｏ）、追加したインスタンスＩｘが検索条件及び構築条件を満たさない場合は（ステップＳ５５のＮｏ）、部分ライブラリへの追加を行わずに、追加したインスタンスＩｘを廃棄して終了する（ステップＳ５８）。
【００８２】
インスタンスＩｙが修正された場合には（ステップＳ５２のＹｅｓ）、図１３に示すライブラリと部分ライブラリの関連情報からインスタンスＩｙと同じインスタンスＩＤを持つ部分ライブラリのインスタンスＩｙ'を検出する（ステップＳ５９）。
【００８３】
修正したインスタンスＩｙと同じインスタンスＩＤを持つ部分ライブラリのインスタンスＩｙ'を検出することができた場合には（ステップＳ５９のＹｅｓ）、さらに、修正したインスタンスＩｙが、部分ライブラリを構築するために使われた条件を満たすかどうかのチェックを行う（ステップＳ６０）。
【００８４】
修正したインスタンスＩｙが部分ライブラリを構築するために使われた条件を満たす場合は（ステップＳ６０のＹｅｓ）、さらに、修正したインスタンスＩｙが利用するプロパティ｛Ｐｙ｝に対応する部分ライブラリのプロパティ｛Ｐｙ'｝を検出し（ステップＳ６１）、Ｉｙ'がＩｙの対応部分と同様に修正行うように、変更候補とする（ステップＳ６２）。
【００８５】
一方、修正したインスタンスＩｙと同じインスタンスＩＤを持つ部分ライブラリのインスタンスＩｙ'を検出することができない場合（ステップＳ５９のＮｏ）、または修正したインスタンスＩｙが部分ライブラリを構築するために使われた条件を満たさない場合は（ステップＳ６０のＮｏ）、部分ライブラリへの修正を行わずに、修正したインスタンスＩｙを廃棄して終了する（ステップＳ６３）。
【００８６】
インスタンスＩｚが削除された場合には（ステップＳ５３のＹｅｓ）、削除するインスタンスＩＤと同様なインスタンスＩＤを持つ部分ライブラリのインスタンスＩｚ'を検出する（ステップＳ６４のＹｅｓ）。
【００８７】
インスタンスＩｚ'が存在する場合は（ステップＳ６４のＹｅｓ）、インスタンスＩｚ'を削除するよう、変更候補とする（ステップＳ６５）。なお、実運用上では、インスタンスの削除によりユーザに不便を与える事を考えられるので、削除を許されない場合もある。
【００８８】
インスタンスＩｚ'が存在しない場合は（ステップＳ６４のＮｏ）、該削除操作に対する部分ライブラリでの操作が行う必要がないので、インスタンスＩｚを廃棄して終了する（ステップＳ６６）。
【００８９】
ライブラリの全ての変更内容に対して上記操作を繰り返して行うことにより作成された部分ライブラリへの変更候補、すなわちステップＳ５７，Ｓ６２，Ｓ６５の変更候補を一時保存して（ステップＳ６７）、処理を終了する。
【００９０】
部分ライブラリ変更選択部２３は、部分ライブラリ検出部２２で保存された部分ライブラリ変更候補に対して、実際に更新するかどうか、又は更新する内容の選択を、部分ライブラリの管理者の指示に従って実行する。デフォルトは、部分ライブラリ変更選択部２３からの全ての変更候補を選択された状態になっている。すなわち、部分ライブラリの管理者の指示がない場合は、デフォルトの選択、いわゆる、部分ライブラリ変更選択部２３から全ての変更候補が選択される。
【００９１】
部分ライブラリ変更部２４は、部分ライブラリ変更選択部２３で選択された変更候補の内容に従って部分ライブラリの部分の変更を行う。
【００９２】
なお、ライブラリ変更受信部２１がライブラリの変更情報を受信する毎に、一つの部分ライブラリに対して部分ライブラリを更新するようにしても良いし、ライブラリ変更受信部２１が受信したライブラリの変更情報を一時期保存しておき、部分ライブラリのユーザが指定した時間になったら、部分ライブラリの更新を行うことも可能である。
【００９３】
加えて、本実施の形態においては、部分ライブラリＤＢ１５の部分ライブラリの辞書／インスタンスの更新があった場合に、その旨をライブラリＤＢ６に通知し、ライブラリＤＢ６に格納されているライブラリの辞書／インスタンスを自動／半自動的に更新することが可能となっている。より詳細には、部分ライブラリＤＢ１５の部分ライブラリの辞書／インスタンスの更新があった場合、部分ライブラリ変更受信部１８は更新があったことと変更内容とを受信する。変更内容は、部分ライブラリで変更した内容（クラス、プロパティ、インスタンス）と、編集形態（追加・修正・削除）を含む。部分ライブラリ変更受信部１８は、部分ライブラリの変更情報を受信した場合、部分ライブラリの変更内容を部分ライブラリ変更内容提案部１９に渡す。部分ライブラリ変更内容提案部１９は、部分ライブラリ変更受信部１８から得た変更内容に対して、図１３に示すライブラリと部分ライブラリの関連情報を用いてライブラリとの関連を検出し、検出したライブラリの情報を用いて部分ライブラリからの変更内容を元に、ライブラリへの提案を作成する。ライブラリ更新部２０は、ライブラリへの提案を集計し、集計した部分ライブラリの修正情報に対して、修正を行う内容をユーザに選択させる。そして、ライブラリ更新部２０は、選択された内容に基づいてライブラリの更新を行うとともに、対応した部分ライブラリの登録情報を更新する。すなわち、部分ライブラリ変更受信部１８、部分ライブラリ変更内容提案部１９、ライブラリ更新部２０により、辞書更新手段およびインスタンス更新手段が実現される。
【００９４】
まず、部分ライブラリの辞書変更によるライブラリの辞書変更について説明する。
【００９５】
ここで、図１６は部分ライブラリの一例を示す模式図である。図１６に示す部分ライブラリＬ１は、ライブラリＬ（例えば、図２参照）に対して検索条件（例えば：Ｐ７！=ｎｕｌｌ）が合致する部分である。部分ライブラリＬ１とライブラリＬとは、図１３に示すような関連を持つ。部分ライブラリＬ１は、クラスＣ０‘，Ｃ１’，Ｃ５'と、プロパティＰ１‘，Ｐ２’，Ｐ３‘，Ｐ４’，Ｐ７'を持つ。図１６の背景がグレーになっている部分は、ライブラリＬに存在する内容であるが、本部分ライブラリＬ１に存在しない内容である。以下における部分ライブラリは、図１６に示す部分ライブラリＬ１を例とする。
【００９６】
部分ライブラリの辞書修正は、辞書クラス・プロパティの追加・変更・削除、併せて６種類の操作が可能である。いずれの操作とも、部分ライブラリの変更内容をライブラリの変更内容にマッピングし、ライブラリに対して変更内容及び変更形態を含む修正提案として提出する。
【００９７】
図１６に示す部分ライブラリＬ１に新規クラスが追加された場合、例えばクラスＣ５'に新規クラスＣ６'が追加された場合は、図１７に示す部分ライブラリ辞書変更フォーマットの３０１に示すように、Ｃ５'に新規クラスＣ６'を追加した事と内容を一時保存する。次いで、部分ライブラリ変更内容提案部１９は、ライブラリに該新規クラスＣ６'が追加された事を通知するため、新規クラスＣ６'の親クラスＣ５'を検出し、図１３に示すライブラリと部分ライブラリの関連情報により、ライブラリＬ１のＣ５'に対応するライブラリのクラスはＣ５である事を取得する。そして、部分ライブラリ変更内容提案部１９は、ライブラリのクラスＣ５に新しいクラスＣ６'を追加するように、クラスの追加提案をライブラリに提出する。これにより、クラスの追加提案は、図１８に示すライブラリ側の変更内容フォーマットに保存される。図１８に示すライブラリ側の変更内容フォーマットの４０１は、図１７に示す部分ライブラリ辞書変更フォーマットの３０１に示す部分ライブラリＬ１に対する新規クラスＣ６'の追加に対して、ライブラリへのクラス変更提案（追加）例である。追加された新規クラスＣ６'の内容は、部分ライブラリＬ１に保存してある。
【００９８】
部分ライブラリＬ１にクラスが変更された場合、例えば、図１７の３０２に示すように部分ライブラリＬ１のクラスＣ１'が修正された場合は、クラスＣ１'及びその修正内容・変更形態（＝修正）を、部分ライブラリ辞書変更フォーマットに一時保存する。次いで、部分ライブラリ変更内容提案部１９は、変更されたＣ１'と対応するライブラリのクラスＣ１を図１３に示すライブラリと部分ライブラリの関連情報により検出する。そして、部分ライブラリ変更内容提案部１９は、検出されたクラスＣ１に対して、部分ライブラリＬ１で行ったＣ１'の変更と同様な変更をするよう、ライブラリの変更提案（修正）を提出する。これにより、ライブラリの変更提案（修正）は、図１８に示すライブラリ側の変更内容フォーマットに一時保存される。図１８に示すライブラリ側の変更内容フォーマットの３０２の変更に対して、ライブラリ側に提出された変更提案（修正）例を４０２で示す。
【００９９】
部分ライブラリＬ１に新規プロパティが追加された場合、例えば部分ライブラリＬ１のクラスＣ５'にプロパティＰ８'が追加された場合は、図１７に示す部分ライブラリ辞書変更フォーマットの３０３に示すように、部分ライブラリＬ１での変更フォーマットに一時保存する。次に、部分ライブラリ変更内容提案部１９は、新規プロパティＰ８'の追加先Ｃ５'に対応するライブラリのクラスを図１３に示すライブラリと部分ライブラリの関連情報から検出する。これにより、クラスＣ５'と対応するライブラリのクラスはＣ５である事が分かる。従って、部分ライブラリ変更内容提案部１９は、ライブラリのクラスＣ５に、新しいプロパティＰ８'を追加するように、変更提案（追加）を提出する。これにより、変更提案（追加）は、図１８に示すライブラリ側の変更内容フォーマットに保存される。図１８に示すライブラリ側の変更内容フォーマットの４０３は、作成されたライブラリへの変更提案（追加）例を示すものである。追加されたプロパティＰ８'の実際の内容は、部分ライブラリに保存されている。
【０１００】
部分ライブラリＬ１のプロパティが修正された場合、例えば部分ライブラリＬ１のプロパティＰ７'の修正があった場合は、図１７に示す部分ライブラリ辞書変更フォーマットに該修正が一時保存される。図１７の３０４はその一例を示す。次に、図１３に示すライブラリと部分ライブラリの関連情報により、修正があったＰ７'に対応するライブラリのプロパティを検出する。これにより、修正があったＰ７'に対応するライブラリのプロパティは、Ｐ７である事が分かる。従って、部分ライブラリ変更内容提案部１９は、部分ライブラリＬ１におけるプロパティＰ７'の修正後内容を、ライブラリＬのプロパティＰ７に反映するように、変更提案（修正）として提出する。これにより、変更提案（追加）は、図１８に示すライブラリ側の変更内容フォーマットに保存される。図１８の４０４はその一例を示す。ライブラリＬのプロパティＰ７は、部分ライブラリＬ１のプロパティＰ７'と同様の修正が行うように提案される。
【０１０１】
部分ライブラリＬ１でクラスまたはプロパティが削除された場合は、図１７に示す部分ライブラリ辞書変更フォーマットに該削除操作を一時保存する。図１７の３０５は、プロパティＰ４'を削除した一例を示す。次に、図１３に示すライブラリと部分ライブラリの関連情報により、削除されるクラスまたはプロパティに対して、ライブラリでの対応クラス／プロパティを検出する。これにより、本例では、プロパティＰ４'に対応するプロパティはＰ４である事が分かる。従って、部分ライブラリ変更内容提案部１９は、ライブラリＬに対して、プロパティＰ４を削除するように、変更提案として提出する。これにより、変更提案は、図１８に示すライブラリ側の変更内容フォーマットに保存される。図１８の４０５はその例を示す。
【０１０２】
以上のような処理の後、ライブラリ更新部２０は、部分ライブラリからの辞書修正提案を集計し、ライブラリの管理者による実際にライブラリでの反映を行うかどうかの選択に従って、ライブラリでの更新を行うとともに、ライブラリの修正と対応する部分ライブラリの登録情報を変更する。
【０１０３】
次に、部分ライブラリのインスタンス変更によるライブラリのインスタンス変更について説明する。
【０１０４】
ここで、図１９はインスタンスの一例を示す模式図である。図１９に示す５０１は、ライブラリＬのクラスＣ１のインスタンス例であって、図１９に示す５０２は、部分ライブラリＬ１のライブラリＬから得たインスタンス例を示す。図１９に示す５０３は、部分ライブラリＬ１で追加されたインスタンス例を示す。部分ライブラリＬのインスタンスには、ライブラリＬ１から得たインスタンスと、その他のインスタンスと、区別できる仕組みを持つ。例えば、ライブラリＬのインスタンスにインスタンスＩＤを付けておいて、図１９に示すように、部分ライブラリＬ１のライブラリＬから得たインスタンスは、ライブラリＬと同じインスタンスＩＤを持つようにすることができる。また、本実施の形態においては、後述するように、部分ライブラリＬ１に追加されたインスタンスは、仮のインスタンスＩＤを発行され、ライブラリＬに追加された後、ライブラリＬで発行されたインスタンスＩＤと同様なＩＤを付けられる。
【０１０５】
部分ライブラリのインスタンス修正は、インスタンスの追加・変更・削除の３種類の操作がある。以下、夫々の操作詳細について説明する。
【０１０６】
図１６に示す部分ライブラリＬ１に新しいインスタンスが追加された場合は、例えば図２０に示す部分ライブラリ辞書変更フォーマットの６０１に示すように、追加された情報を図２０に示す部分ライブラリ辞書変更フォーマットに一時保存する。追加されたインスタンスは、追加先のクラス識別子を仮のインスタンスＩＤとする。次いで、部分ライブラリ変更内容提案部１９は、追加先のクラス及び利用するプロパティを用いて、ライブラリの対応内容を検出する。本実施の形態では、インスタンスの追加先クラスはＣ１'と、プロパティＰ１'，Ｐ２'，Ｐ３'，Ｐ４'に対応するライブラリ情報を、図１３に示すライブラリと部分ライブラリの関連情報から検出する。部分ライブラリＬ１の上記クラス及びプロパティに対応するライブラリＬの情報は、クラスＣ１であって、プロパティはＰ１，Ｐ２，Ｐ３，Ｐ４である事が分かる。また、部分ライブラリ変更内容提案部１９は、検出したライブラリの情報を用いて変更提案を作成し、ライブラリに提出する。これにより、変更提案は、図２１に示すライブラリ側のインスタンス変更内容フォーマットに保存される。図２１の７０１は、ライブラリに提出された変更（追加）提案例を示す。
【０１０７】
図１６に示す部分ライブラリＬ１においてインスタンスの修正が行われた場合は、例えば図２０に示す部分ライブラリ辞書変更フォーマットの６０２に示すように、修正された情報を図２０に示す部分ライブラリ辞書変更フォーマットに一時保存する。ここでは、修正が行われたインスタンスのＩＤ及びその修正後の内容が保存される。次いで、部分ライブラリ変更内容提案部１９は、修正したインスタンスに関する部分ライブラリのクラス及びプロパティ情報に対して、図１３に示すライブラリと部分ライブラリの関連情報を用いて、ライブラリの対応情報を検出する。本実施の形態では、インスタンスの修正が行われたクラスＣ１'に対応するライブラリのクラスはＣ１であって、プロパティはＰ１，Ｐ２，Ｐ３，Ｐ４である事が分かる。また、部分ライブラリ変更内容提案部１９は、ライブラリへの修正提案を作成し、ライブラリに提出する。すなわち、部分ライブラリ変更内容提案部１９は、６０２の部分ライブラリのインスタンス修正に対する、ライブラリへの変更（修正）提案を提出する。これにより、変更（修正）提案は、図２１に示すライブラリ側のインスタンス変更内容フォーマットに保存される。図２１の７０２は、ライブラリに提出された変更（修正）提案例を示す。図２１に示すように、部分ライブラリにおいて修正したインスタンスのＩＤと同じインスタンスＩＤを持つライブラリのインスタンスに対して、修正が行われる。
【０１０８】
図１６に示す部分ライブラリＬ１においてインスタンスの削除が行われた場合は、例えば図２０に示す部分ライブラリ辞書変更フォーマットの６０３に示すように、削除された情報を図２０に示す部分ライブラリ辞書変更フォーマットに一時保存する。ここでは、削除されるインスタンスＩＤが保存される。次いで、部分ライブラリ変更内容提案部１９は、削除するインスタンスが所在する部分ライブラリのクラス（Ｃ１'）に対応するライブラリクラス（Ｃ１）を図１３に示すライブラリと部分ライブラリの関連情報を用いて検出する。また、部分ライブラリ変更内容提案部１９は、検出したライブラリのクラスに対して、削除するインスタンスと同じインスタンスＩＤを持つインスタンスを削除するように提案を提出する。これにより、変更（削除）提案は、図２１に示すライブラリ側のインスタンス変更内容フォーマットに保存される。図２１の７０３は、変更（削除）提案の一例を示す。
【０１０９】
以上のような処理の後、ライブラリ更新部２０は、部分ライブラリからの提案を集計し、ライブラリの管理者による実際にライブラリでの反映を行うかどうかの選択に従って、ライブラリでの更新を行うとともに、ライブラリの修正と対応する部分ライブラリの登録情報を変更する。例えば、追加したインスタンスがライブラリで認められた場合は、ライブラリで新規インスタンスＩＤを発行し、対応する部分ライブラリでのインスタンスも同じＩＤを持つように修正を行う。また、ライブラリでの辞書が更新した場合、辞書のバージョン等が異なる可能性があるので、対応する部分ライブラリの更新も行う必要な場合がある。
【０１１０】
実運用上では、部分ライブラリの辞書またはインスタンスの修正は、ある一定期間について部分ライブラリ側に保存しておいて纏めてライブラリへ提案をする方法と、部分ライブラリ側での修正が起こった度にライブラリへの提案を行う方法がある。
【０１１１】
一方、ライブラリが受け取った修正提案についてある一定期間内に保存しておいて纏めて処理する方法と、提案毎に処理する方法がある。実際にどのような方法を採用するのは、部分ライブラリのユーザとライブラリのユーザによって、夫々決められる。
【０１１２】
また、実運用上では、部分ライブラリのインスタンスの変更によるライブラリのインスタンス変更は、主にインスタンスの追加と考える。部分ライブラリのインスタンス削除・変更する事は可能であるが、実際には、ライブラリのインスタンス変更は、ライブラリの他のユーザに影響を及ぶため、他のユーザの意見を収集し、変更判断を必要になる。
【０１１３】
さらに、部分ライブラリは、ライブラリの一部のプロパティしか設定していない場合がある。上記の例では、Ｃ１'のプロパティは、ライブラリＣ１のプロパティの一部である。Ｃ１'には、Ｃ１のプロパティＰ５に対応するプロパティが存在していない。従って、ライブラリでキーに設定されたプロパティ内容は、部分ライブラリに存在しない可能性がある。その場合は、部分ライブラリのインスタンス内容も、ライブラリに対して“キー”の値が存在しない。従って、部分ライブラリのインスタンス変更は、ライブラリに影響しない。なお、部分ライブラリを生成する際に、上述の通り、ユーザがキーに設定されたプロパティを選択し、自動的にそれらのプロパティが部分ライブラリに含まれた場合は、キープロパティが存在しない問題を解消できる。
【０１１４】
このように本実施の形態によれば、部分ライブラリとライブラリ間の双方通信及び更新が行えるようになり、構築した部分ライブラリの更新とライブラリの更新を同期化できるようにすることにより、ライブラリ構築に定義重複する問題等を抑え、ライブラリの構築の効率を向上させることができる。
【０１１５】
なお、候補集合（＝部分ライブラリ）に、ISO13584規格に定義されるＣａｓｅ Ｏｆクラスが存在する場合は、その引用先のクラス及び引用されたプロパティも、上述部分ライブラリの候補集合（＝部分ライブラリ）に追加するようにすることができる。図２２は、Ｃａｓｅ Ｏｆを例示的に示す模式図である。図２２では、二つの階層型ライブラリの辞書８０１と８０２を示してある。階層型ライブラリ辞書８０２のクラスＣ３が、階層型ライブラリ辞書８０１のクラスＤ３のＣａｓｅ Ｏｆクラスとして定義している。ここで、クラスＣ３は、“Ｃａｓｅ ＯｆクラスＤ３”のように定義する。クラスＤ３は、クラスＣ３の引用クラスと称する。Ｃ３にインポートするプロパティは、例えば、｛Ｐ１３，Ｐ１４｝を定義する。｛Ｐ１３，Ｐ１４｝は、クラスＣ３の引用プロパティと称する。階層型ライブラリ８０２から構築する部分ライブラリに、クラスＣ３を含んでいる場合は、Ｃ３での引用クラスＤ３、及びＣ３の引用プロパティ｛Ｐ１３，Ｐ１４｝も、候補集合（＝部分ライブラリ）に集計される。
【０１１６】
また、本実施の形態においては、生成した部分ライブラリに対して、更に、部分ライブラリを生成する事も可能である。その場合は、図２３に示すような多段ライブラリ構成ツリーを用いてライブラリ間の構成を表すと、多段ライブラリに対して、図１３に示すライブラリと部分ライブラリの関連情報を持つことになる。図２３の例は、ライブラリＬと、その部分ライブラリＬ１，Ｌ２があり、部分ライブラリＬ１に対して、更に、部分ライブラリＬ１１，Ｌ１２が構築されている。また、部分ライブラリＬ２に対して、更に部分ライブラリＬ２１が構築されている。このような多段ライブラリ構成ツリーは、部分ライブラリＤＢ１５に保存しておく。
【０１１７】
また、ライブラリＬの辞書変更があった際に、部分ライブラリＬ１，Ｌ２の変更を行うと、さらに、部分ライブラリＬ１をライブラリとして部分ライブラリＬ１１と部分ライブラリＬ１２の対応する変更が行える。部分ライブラリＬ２に対しても、部分ライブラリＬ２をライブラリとして部分ライブラリＬ２１の対応する変更が行える。部分ライブラリは多段に渡り構築された場合は、上記のように多段ライブラリ構成ツリーを用いて、ライブラリの辞書の変更から、部分ライブラリの変更を行うことになる。
【０１１８】
また、上述したように多段に渡り構築された部分ライブラリに対して、ライブラリのインスタンスに変更があった際には、図２３に示す多段ライブラリ構成ツリーを用いて、前述した方法と同様に、ライブラリのインスタンスの変更に対して、部分ライブラリの変更が行われる。
【図面の簡単な説明】
【０１１９】
【図１】階層型ライブラリの構成の一例を示す説明図である。
【図２】単純木を用いたＰＬＩＢ規格の階層型ライブラリの構成の一例を示す説明図である。
【図３】本実施の形態に係る部分ライブラリ構築装置を含むシステムのシステム構築例を示す模式図である。
【図４】サーバのモジュール構成図である。
【図５】サーバを含むシステムの概略構成を示すブロック図である。
【図６】検索設定部での検索条件を設定する画面例を示す図である。
【図７】候補集合（部分ライブラリ）の一例を示す模式図である。
【図８】候補集合生成部および候補集合保存部における処理の流れを示すフローチャートである。
【図９】部分ライブラリ設定構築部での部分ライブラリ用のプロパティを選定する画面例を示す図である。
【図１０】部分ライブラリ設定構築部における処理の流れを示すフローチャートである。
【図１１】部分ライブラリの一例を示す模式図である。
【図１２】構築方法設定部での部分ライブラリの構築方法を設定する画面例を示す図である。
【図１３】部分ライブラリとライブラリの辞書関連の例を示す図である。
【図１４】ライブラリの辞書変更が行われた場合の処理の流れを示すフローチャートである。
【図１５】ライブラリのインスタンス変更が行われた場合の処理の流れを示すフローチャートである。
【図１６】部分ライブラリの一例を示す模式図である。
【図１７】部分ライブラリ辞書変更フォーマットの一例を示す模式図である。
【図１８】ライブラリ側の変更内容フォーマットの一例を示す模式図である。
【図１９】インスタンスの一例を示す模式図である。
【図２０】部分ライブラリ辞書変更フォーマットの一例を示す模式図である。
【図２１】ライブラリ側のインスタンス変更内容フォーマットの一例を示す模式図である。
【図２２】Ｃａｓｅ Ｏｆを例示的に示す模式図である。
【図２３】多段ライブラリ構成ツリーの一例を示す模式図である。
【符号の説明】
【０１２０】
１      部分ライブラリ構築装置
６      ライブラリ格納手段
７      検索設定手段
８      検索手段
９      構築方法設定手段
１３    部分ライブラリ構築手段
１８，１９，２０    辞書更新手段、インスタンス更新手段
２１，２２，２３，２４    辞書再構築手段、インスタンス再構築手段
【図１】
2008234429.tif 000003
【図２】
2008234429.tif 000004
【図３】
2008234429.tif 000005
【図４】
2008234429.tif 000006
【図５】
2008234429.tif 000007
【図６】
2008234429.tif 000008
【図７】
2008234429.tif 000009
【図８】
2008234429.tif 000010
【図９】
2008234429.tif 000011
【図１０】
2008234429.tif 000012
【図１１】
2008234429.tif 000013
【図１２】
2008234429.tif 000014
【図１３】
2008234429.tif 000015
【図１４】
2008234429.tif 000016
【図１５】
2008234429.tif 000017
【図１６】
2008234429.tif 000018
【図１７】
2008234429.tif 000019
【図１８】
2008234429.tif 000020
【図１９】
2008234429.tif 000021
【図２０】
2008234429.tif 000022
【図２１】
2008234429.tif 000023
【図２２】
2008234429.tif 000024
【図２３】
2008234429.tif 000025