(57)【特許請求の範囲】
【請求項１】
親子関係を有する複数の構成物で構成される製品の各構成物を木構造で管理する構成物管理装置であり、
構成物毎に、その構成物の属性を示す属性部と、その構成物の子に当たる構成物を示すリンク部とを有するノードを管理するノード管理部と、
構成物毎に、その構成物のノードに対するアクセス権限を付与するアクセス権限付与部であって、前記属性部と前記リンク部とに対するアクセス権限を別々に付与するアクセス権限付与部と
を備え、
前記ノード管理部は、構成物毎に、その構成物のノードの前記属性部と前記リンク部との両方が編集可能な作業状態と、その構成物のノードの前記リンク部が編集可能な活性状態と、その構成物のノードの前記属性部と前記リンク部との両方が編集不可能な確定状態とのいずれかを示す編集状態を管理し、
前記アクセス権限付与部は、構成物毎に、その構成物のノードについての編集状態に応じて、そのノードの前記属性部と前記リンク部とに対するアクセス権限を付与する
ことを特徴とする構成物管理装置。
【請求項２】
前記構成物管理装置は、さらに、
構成物毎に、その構成物のノードの前記属性部と前記リンク部との両方に対して編集を行うユーザを示す編集者と、その構成物のノードの前記リンク部に対して編集を行うユーザを示す構成者とを示すユーザ情報を管理するユーザ管理部
を備え、
前記アクセス権限付与部は、構成物及びユーザ毎に、その構成物のノードについての編集状態と、その構成物に対するそのユーザについてのユーザ情報とに応じて、そのノードの前記属性部と前記リンク部とに対するアクセス権限を付与する
ことを特徴とする請求項１に記載の構成物管理装置。
【請求項３】
前記ノード管理部は、前記属性部が編集可能な状態になった場合に、その属性部の新しい改定版を作り、前記リンク部が編集可能な状態になった場合に、そのリンク部の新しい改定版を作り、
前記アクセス権限付与部は、
前記編集状態が作業状態で、かつ、前記ユーザ情報が編集者の場合には、その構成物のノードの前記属性部の最新の改定版を編集可能な権限と前記リンク部の最新の改定版を編集可能な権限とをそのユーザに付与し、
前記編集状態が作業状態で、かつ、前記ユーザ情報が構成者の場合には、その構成物のノードの前記属性部の１つ前の改定版を参照可能な権限と、前記リンク部の最新の改定版を編集可能な権限とをそのユーザに付与し、
前記編集状態が活性状態で、かつ、前記ユーザ情報が編集者又は構成者の場合には、その構成物のノードの前記属性部の最新の改定版を参照可能な権限と、前記リンク部の最新の改定版を編集可能な権限とをそのユーザに付与する
ことを特徴とする請求項２に記載の構成物管理装置。
【請求項４】
前記アクセス権限付与部は、構成物及びユーザ毎に、その構成物のノードについての編集状態と、その構成物に対するそのユーザについてのユーザ情報とに応じて、そのノードの編集状態を遷移させる状態遷移権を付与する
ことを特徴とする請求項２に記載の構成物管理装置。
【請求項５】
前記アクセス権限付与部は、
前記編集状態が作業状態で、かつ、前記ユーザ情報が編集者の場合には、確定状態へ遷移させることが可能な状態遷移権を付与し、
前記編集状態が活性状態で、かつ、前記ユーザ情報が編集者の場合には、作業状態へ遷移させることが可能な状態遷移権を付与し、
前記編集状態が確定状態で、かつ、前記ユーザ情報が編集者又は構成者の場合には、活性状態へ遷移させることが可能な状態遷移権を付与する
ことを特徴とする請求項４に記載の構成物管理装置。
【請求項６】
前記ノード管理部は、
前記属性部と前記リンク部とのそれぞれについて、編集可能な状態になった場合に新しい改定版を作り、子に当たる構成物と、その構成物の属性を示す属性部の改定版と毎にリンクを有するリンク部を管理し、
前記リンク部が同一の構成物の複数の改定版についてのリンクを有する場合、前記リンク部が有する複数のリンクのうち最新の改定版についてのリンクを示すトップフラグを管理する
ことを特徴とする請求項１から５までのいずれかに記載の構成物管理装置。
【請求項７】
前記ノード管理部は、前記リンク部が有する同一の構成物の複数の改定版についてのリンクを、最新の改定版のリンクから古い改定版のリンクへ順に関連付けして管理する
ことを特徴とする請求項６に記載の構成物管理装置。
【請求項８】
前記構成物管理装置は、さらに、
前記製品の構成物のノードのうち、編集状態が確定状態である全てのノードの編集状態を活性状態へ遷移させる一斉遷移部
を備えることを特徴とする請求項１から７までのいずれかに記載の構成物管理装置。
【請求項９】
前記構成物管理装置は、さらに、
指定されたノードからリンク部によって接続された親ノードを順次辿ることにより、指定されたノードの上位に当たるノードを抽出するとともに、指定されたノードからリンク部によって接続された子ノードを順次辿ることにより、指定されたノードの下位に当たるノードを抽出するノード抽出部
を備えることを特徴とする請求項１から８までのいずれかに記載の構成物管理装置。
【請求項１０】
親子関係を有する複数の構成物で構成される製品の各構成物を木構造で管理する構成物管理プログラムであり、
構成物毎に、その構成物の属性を示す属性部と、その構成物の子に当たる構成物を示すリンク部とを有するノードを管理するノード管理処理と、
構成物毎に、その構成物のノードに対するアクセス権限を付与するアクセス権限付与処理であって、前記属性部と前記リンク部とに対するアクセス権限を別々に付与するアクセス権限付与処理と
をコンピュータに実行させ、
前記ノード管理処理では、構成物毎に、その構成物のノードの前記属性部と前記リンク部との両方が編集可能な作業状態と、その構成物のノードの前記リンク部が編集可能な活性状態と、その構成物のノードの前記属性部と前記リンク部との両方が編集不可能な確定状態とのいずれかを示す編集状態を管理し、
前記アクセス権限付与処理では、構成物毎に、その構成物のノードについての編集状態に応じて、そのノードの前記属性部と前記リンク部とに対するアクセス権限を付与する
ことを特徴とする構成物管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、木構造を用いて製品の構成物を管理する技術に関する。
【背景技術】
【０００２】
木構造は、頂点と、頂点間を接続する枝とによって表されるデータ構造である。最下位の頂点を除いて、頂点には、１個以上の下位の頂点（子頂点）が枝によって接続される。また、最上位の頂点を除いて、頂点には、ただ１つの上位の頂点（親頂点）が枝によって接続される。
【０００３】
木構造を用いて製品の構成物を管理する場合、構成物毎に、その構成物の属性が設定される頂点と、その頂点と子頂点とを接続する枝とが一体化されたノードが用意される。そして、構成物毎に設計するユーザが異なるため、構成物毎にアクセス権限が設定される。つまり、頂点と、その頂点と子頂点とを接続する枝とを一体としたノード毎にアクセス権限が設定される。
【０００４】
各頂点は版管理されており、変更される度に新しい版が作成される。そして、親頂点の特定の版と、子頂点の特定の版とが枝によって接続される。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平９−１７１５１０号公報
【特許文献２】特開平６−３５９１４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
子頂点を改版する場合や子頂点を追加・削除する場合には、親頂点とその子頂点とを接続する枝を編集する必要がある。上述した通り、親頂点と子頂点とを接続する枝は、親頂点と一体として用意される。そのため、親頂点も改版する必要がある。
つまり、子頂点を改版する場合や子頂点を追加・削除する場合には、親頂点も改版する必要があるという制約がある。
【０００７】
製品の構成物を設計する場合、設計のリードタイムを短縮するために、上位の構成物の設計と下位の構成物の設計とが同時進行する場合や、下位の構成物の設計が上位の構成物の設計よりも先行して行われる場合がある。
そのため、上位の構成物の設計者が設計変更を開始する前に、上位の構成物の次の版で行われる変更に対応した設計を、下位の構成物の設計者が下位の構成物に対して行える必要がある。
【０００８】
しかし、上述した制約があるため、（ａ）下位の構成物の属性（子頂点）の編集を行い改版する場合には、上位の構成物の属性（親頂点）を上位の構成物の設計者の意向に関わらず改版する必要がある。（ｂ）下位の構成物の設計者が上位の構成物の属性（親頂点）を改版するためのアクセス権を持つ必要があるため、下位の構成物の設計中に上位の構成物の設計が並行して行われると、下位の構成物の設計者に編集中の上位の構成物の属性（親頂点）が見えてしまう。
そのため、上位の構成物の設計と下位の構成物の設計とを円滑に同時進行することや、円滑に下位の構成物の設計を上位の構成物の設計に先行して行うことができなかった。
【０００９】
この発明は、上位の構成物の設計と下位の構成物の設計とを円滑に同時進行することや、円滑に下位の構成物の設計を上位の構成物の設計に先行して行うことが可能な、木構造を用いた製品の構成物の管理方法を実現することを目的とする。
【課題を解決するための手段】
【００１０】
この発明に係る構成物管理装置は、
親子関係を有する複数の構成物で構成される製品の各構成物を木構造で管理する構成物管理装置であり、
構成物毎に、その構成物の属性を示す属性部と、その構成物の子に当たる構成物を示すリンク部とを有するノードを管理するノード管理部と、
構成物毎に、その構成物のノードに対するアクセス権限を付与するアクセス権限付与部であって、前記属性部と前記リンク部とに対するアクセス権限を別々に付与するアクセス権限付与部と
を備えることを特徴とする。
【００１１】
前記ノード管理部は、構成物毎に、その構成物のノードの前記属性部と前記リンク部との両方が編集可能な作業状態と、その構成物のノードの前記リンク部が編集可能な活性状態と、その構成物のノードの前記属性部と前記リンク部との両方が編集不可能な確定状態とのいずれかを示す編集状態を管理し、
前記アクセス権限付与部は、構成物毎に、その構成物のノードについての編集状態に応じて、そのノードの前記属性部と前記リンク部とに対するアクセス権限を付与する
ことを特徴とする。
【００１２】
前記構成物管理装置は、さらに、
構成物毎に、その構成物のノードの前記属性部と前記リンク部との両方に対して編集を行うユーザを示す編集者と、その構成物のノードの前記リンク部に対して編集を行うユーザを示す構成者とを示すユーザ情報を管理するユーザ管理部
を備え、
前記アクセス権限付与部は、構成物及びユーザ毎に、その構成物のノードについての編集状態と、その構成物に対するそのユーザについてのユーザ情報とに応じて、そのノードの前記属性部と前記リンク部とに対するアクセス権限を付与する
ことを特徴とする。
【００１３】
前記ノード管理部は、前記属性部が編集可能な状態になった場合に、その属性部の新しい改定版を作り、前記リンク部が編集可能な状態になった場合に、そのリンク部の新しい改定版を作り、
前記アクセス権限付与部は、
前記編集状態が作業状態で、かつ、前記ユーザ情報が編集者の場合には、その構成物のノードの前記属性部の最新の改定版を編集可能な権限と前記リンク部の最新の改定版を編集可能な権限とをそのユーザに付与し、
前記編集状態が作業状態で、かつ、前記ユーザ情報が構成者の場合には、その構成物のノードの前記属性部の１つ前の改定版を参照可能な権限と、前記リンク部の最新の改定版を編集可能な権限とをそのユーザに付与し、
前記編集状態が活性状態で、かつ、前記ユーザ情報が編集者又は構成者の場合には、その構成物のノードの前記属性部の最新の改定版を参照可能な権限と、前記リンク部の最新の改定版を編集可能な権限とをそのユーザに付与する
ことを特徴とする。
【００１４】
前記アクセス権限付与部は、構成物及びユーザ毎に、その構成物のノードについての編集状態と、その構成物に対するそのユーザについてのユーザ情報とに応じて、そのノードの編集状態を遷移させる状態遷移権を付与する
ことを特徴とする。
【００１５】
前記アクセス権限付与部は、
前記編集状態が作業状態で、かつ、前記ユーザ情報が編集者の場合には、確定状態へ遷移させることが可能な状態遷移権を付与し、
前記編集状態が活性状態で、かつ、前記ユーザ情報が編集者の場合には、作業状態へ遷移させることが可能な状態遷移権を付与し、
前記編集状態が確定状態で、かつ、前記ユーザ情報が編集者又は構成者の場合には、活性状態へ遷移させることが可能な状態遷移権を付与する
ことを特徴とする。
【００１６】
前記ノード管理部は、
前記属性部と前記リンク部とのそれぞれについて、編集可能な状態になった場合に新しい改定版を作り、子に当たる構成物と、その構成物の属性を示す属性部の改定版と毎にリンクを有するリンク部を管理し、
前記リンク部が同一の構成物の複数の改定版についてのリンクを有する場合、前記リンク部が有する複数のリンクのうち最新の改定版についてのリンクを示すトップフラグを管理する
ことを特徴とする。
【００１７】
前記ノード管理部は、前記リンク部が有する同一の構成物の複数の改定版についてのリンクを、最新の改定版のリンクから古い改定版のリンクへ順に関連付けして管理する
ことを特徴とする。
【００１８】
前記構成物管理装置は、さらに、
前記製品の構成物のノードのうち、編集状態が確定状態である全てのノードの編集状態を活性状態へ遷移させる一斉遷移部
を備えることを特徴とする。
【００１９】
前記構成物管理装置は、さらに、
指定されたノードからリンク部によって接続された親ノードを順次辿ることにより、指定されたノードの上位に当たるノードを抽出するとともに、指定されたノードからリンク部によって接続された子ノードを順次辿ることにより、指定されたノードの下位に当たるノードを抽出するノード抽出部
を備えることを特徴とする。
【００２０】
この発明に係る構成物管理プログラムは、
親子関係を有する複数の構成物で構成される製品の各構成物を木構造で管理する構成物管理プログラムであり、
構成物毎に、その構成物の属性を示す属性部と、その構成物の子に当たる構成物を示すリンク部とを有するノードを管理するノード管理処理と、
構成物毎に、その構成物のノードに対するアクセス権限を付与するアクセス権限付与処理であって、前記属性部と前記リンク部とに対するアクセス権限を別々に付与するアクセス権限付与処理と
をコンピュータに実行させることを特徴とする。
【発明の効果】
【００２１】
この発明に係る構成物管理装置では、属性部（頂点）と、リンク部（枝）とに別々にアクセス権限を与えるため、上位の構成物の設計と下位の構成物の設計とを円滑に同時進行することや、円滑に下位の構成物の設計を上位の構成物の設計に先行して行うことが可能となる。
【図面の簡単な説明】
【００２２】
【図１】実施の形態１に係る構成物管理装置１０の構成図。
【図２】ノード管理部１１によるノード２０の管理構成の説明図。
【図３】ノード管理部１１によるノード２０の版管理の説明図。
【図４】ノード管理部１１が管理するノード２０の状態管理の説明図。
【図５】ユーザ管理部１２が管理するユーザ情報の説明図。
【図６】アクセス権限付与部１３によるアクセス権限の付与ロジックの説明図。
【図７】ノード２０の編集状態が作業状態の場合にユーザに与えられるアクセス権の説明図。
【図８】ノード２０の編集状態が活性状態の場合にユーザに与えられるアクセス権の説明図。
【図９】編集状態の遷移図。
【図１０】編集状態の遷移図。
【図１１】編集状態の遷移図。
【図１２】トップフラグ２３及びリスト２４の説明図。
【図１３】ノード管理部１１が管理するリレーショナルデータベースにおけるテーブルの一例を示す図。
【図１４】子ノード２０の編集状態が遷移する際の親ノード２０のリンク部２２の変化を示す図。
【図１５】子ノード２０の編集状態が遷移する際の親ノード２０のリンク部２２の変化を示す図。
【図１６】子ノード２０の編集状態が遷移する際の親ノード２０のリンク部２２の変化を示す図。
【図１７】子ノード２０の編集状態が遷移する際の親ノード２０のリンク部２２の変化を示す図。
【図１８】子ノード２０の編集状態が遷移する際の親ノード２０のリンク部２２の変化を示す図。
【図１９】子ノード２０の編集状態が遷移する際の親ノード２０のリンク部２２の変化を示す図。
【図２０】子ノード２０の編集状態が遷移する際の親ノード２０のリンク部２２の変化を示す図。
【図２１】親ノード２０の編集状態が遷移する際の親ノード２０のリンク部２２の変化を示す図。
【図２２】親ノード２０の編集状態が遷移する際の親ノード２０のリンク部２２の変化を示す図。
【図２３】親ノード２０の編集状態が遷移する際の親ノード２０のリンク部２２の変化を示す図。
【図２４】親ノード２０の編集状態が遷移する際の親ノード２０のリンク部２２の変化を示す図。
【図２５】構成物管理装置１０が管理する構成物の一例を示す図。
【図２６】構成物管理装置１０が管理する構成物の一例を示す図。
【図２７】上記実施の形態に係る構成物管理装置１０のハードウェア構成の一例を示す図。
【発明を実施するための形態】
【００２３】
実施の形態１．
実施の形態１では、木構造を用いて製品の構成物を管理する構成物管理装置１０について説明する。
ここで、製品とは、家電製品やソフトウェア製品等の製品や、工場等の施設である。家電製品やソフトウェア製品であれば、構成物とはその製品を構成する部品等であり、工場等の施設であれば、その施設を構成する設備等である。つまり、製品や部品の実体は現実世界にあるものである。
そして、構成物管理装置１０は、製品や部品の実体を表す属性やファイル、製品や部品の組み立て方法や構造をコンピュータ上で論理的に表現して管理する。
【００２４】
以下の説明では、上位の構成物、下位の構成物という言葉を用いるが、例えば、上位の構成物とは、複数の下位の構成物を組み立てて構成されたものである。
【００２５】
図１は、実施の形態１に係る構成物管理装置１０の構成図である。
構成物管理装置１０は、ノード管理部１１、ユーザ管理部１２、アクセス権限付与部１３を備える。
ノード管理部１１は、製品の構成物毎に割り当てられたノード２０を管理する。
ユーザ管理部１２は、構成物毎に編集を行うユーザを示すユーザ情報を管理する。
アクセス権限付与部１３は、ユーザ管理部１２が管理するユーザ情報等に基づき、ノード２０に対するアクセス権限を付与する。
【００２６】
図２は、ノード管理部１１によるノード２０の管理構成の説明図である。
ノード管理部１１は、構成物毎に割り当てられたノード２０（図２において破線で囲まれた各部分）を管理する。各ノード２０は、属性部２１（図２において実線の四角形で表した各部分）、リンク部２２（図２において矢印で表した各部分）を有する。属性部２１は、そのノード２０が割り当てられた構成物の属性を示す。リンク部２２は、そのノード２０が割り当てられた構成物の子に当たる構成物を示す。なお、リンク部２２は、図２における１つの属性部２１から出た矢印を総称した名称であり、各矢印をリンクと呼ぶ。つまり、リンク部２２は、１つ又は複数のリンクから構成される。
つまり、ノード管理部１１は、属性部２１を頂点とし、リンク部２２を枝とする木構造で製品の構成物の情報を管理する。
図２では、製品Ａを最上位の構成物とし、製品Ａの子の構成物として部品Ａ，Ｂがあり、部品Ａの子の構成物として子部品ａ１，ａ２があり、部品Ｂの子の構成物として子部品ｂ１，ｂ２がある。
【００２７】
図３は、ノード管理部１１によるノード２０の版管理の説明図である。図３では、図２に示す子部品ｂ２の属性部２１が改版された場合を示す。
ノード管理部１１は、各構成物を版管理する。ノード２０は構成物が変更される度に改版され、新しい版が生成される。ノード２０には属性部２１とリンク部２２とが含まれるため、新しい版のノード２０が生成されるとは、新しい版の属性部２１及びリンク部２２が生成されるということである。
あるノード２０が改版された場合、新しい版のノード２０の属性部２１と、そのノード２０の親ノード２０の属性部２１とを、親ノード２０のリンク部２２で接続する必要がある。そのため、親ノード２０のリンク部２２を更新する必要がある。つまり、親ノード２０も改版する必要がある。親ノード２０にも、さらに親ノード２０がある場合、その親ノード２０も改版する必要がある。
図３では、子部品ｂ２の属性部２１が改版され第２版になったため、子部品ｂ２の親に当たる部品Ｂも改版され第２版になり、部品Ｂの親に当たる製品Ａも改版され第２版になっている。部品Ｂの第２版では、リンク部２２によって子部品ｂ１の第１版と子部品ｂ２の第２版とが接続されている。また、製品Ａの第２版では、リンク部２２によって部品Ａの第１版と部品Ｂの第２版とが接続されている。
【００２８】
図４は、ノード管理部１１が管理するノード２０の状態管理の説明図である。
ノード２０には、版毎に、作業状態、活性状態、確定状態の３つの編集状態のいずれかが割り当てられる。以下の説明では、作業状態をＷ、活性状態をＡ、確定状態をＳとして示す場合がある。
作業状態とは、そのノード２０の属性部２１及びリンク部２２の両方が編集可能な状態である。活性状態とは、そのノード２０のリンク部２２のみが編集可能であり、属性部２１は編集不可能な状態である。確定状態とは、そのノード２０の属性部２１及びリンク部２２の両方が編集不可能な状態である。
なお、作業状態と活性状態とは、各ノード２０の最新の版のみ取り得る状態であり、最新でない古い版は全て確定状態となる。
【００２９】
図５は、ユーザ管理部１２が管理するユーザ情報の説明図である。図５では、図２に示す製品についてのユーザ情報を示す。
ユーザ情報は、構成物毎に割り当てられ、その構成物に割り当てられたノード２０の属性部２１及びリンク部２２の両方を編集可能な編集者と、その構成物に割り当てられたノード２０の属性部２１を参照可能であり、リンク部２２を編集可能な構成者と、その構成物に割り当てられたノード２０の属性部２１及びリンク部２２の両方を参照可能な参照者とが設定される。
ユーザ情報は、ノード２０が新たに作成された場合に、そのノード２０を作成したユーザ等の指示により割り当てられる。なお、ユーザ情報は、ノード２０が新たに作成された場合には、予め定められたデフォルト値が割り当てられ、後にユーザの指示により変更されてもよい。
【００３０】
図６は、アクセス権限付与部１３によるアクセス権限の付与ロジックの説明図である。
アクセス権限付与部１３は、ノード管理部１１が管理するノード２０の編集状態と、ユーザ管理部１２が管理するユーザ情報とに基づき、各ノード２０に対するアクセス権をユーザに付与する。特に、アクセス権限付与部１３は、各ノード２０について、属性部２１とリンク部２２とに別々にアクセス権を付与する。
アクセス権限付与部１３が付与するアクセス権には、編集及び参照可能な編集権と、編集はできないが参照可能な参照権とがある。
【００３１】
アクセス権限付与部１３は、以下のルールに従い、各ノード２０に対するアクセス権をユーザに付与する。
ノード２０の編集状態が作業状態の場合、ユーザ情報に応じて、以下のＷ１〜Ｗ３のアクセス権が与えられる。編集者であるユーザには、最新版の属性部２１への編集権と、最新版のリンク部２２への編集権とが与えられる（Ｗ１）。構成者であるユーザには、最新の１つ前の版の属性部２１への参照権と、最新版のリンク部２２への編集権とが与えられる（Ｗ２）。参照者であるユーザには、最新の１つ前の版の属性部２１への参照権と、最新の１つ前の版のリンク部２２への参照権とが与えられる（Ｗ３）。
ノード２０の編集状態が活性状態の場合、ユーザ情報に応じて、以下のＡ１〜Ａ３のアクセス権が与えられる。編集者又は構成者であるユーザには、最新版の属性部２１への参照権と、最新版のリンク部２２（最新の属性部２１の次の版用のリンク部２２）への編集権とが与えられる（Ａ１，Ａ２）。参照者であるユーザには、最新版の属性部２１への参照権と、最新の１つ前の版のリンク部２２（最新の属性部２１の版用のリンク部２２）への参照権とが与えられる（Ａ３）。
ノード２０の編集状態が確定状態の場合には、各ユーザに、最新版の属性部２１及びリンク部２２への参照権が与えられる（Ｓ１，Ｓ２，Ｓ３）。
【００３２】
また、アクセス権限付与部１３は、図６に示すように、ノード２０の編集状態とユーザ情報とに基づき、各ノード２０の状態を遷移させる権限である状態遷移権を付与する。
アクセス権限付与部１３は、編集状態が作業状態である場合、編集者であるユーザに、確定状態への遷移権を与える。また、アクセス権限付与部１３は、編集状態が活性状態である場合、編集者であるユーザに、作業状態への遷移権を与える。また、編集状態が確定状態である場合、編集者又は構成者であるユーザに、活性状態への遷移権を与える。
【００３３】
図７は、ノード２０の編集状態が作業状態の場合にユーザに与えられるアクセス権の説明図である。図８は、ノード２０の編集状態が活性状態の場合にユーザに与えられるアクセス権の説明図である。
図７、図８において、ハッチングが入れられた属性部２１及びリンク部２２が編集可能なものであり、ハッチングが入れられていないものは参照のみ可能なものである。また、破線で囲んだ部分が編集者に与えられるアクセス権を示し、一点鎖線で囲んだ部分が構成者に与えられるアクセス権を示し、二点鎖線で囲んだ部分が参照者に与えられるアクセス権を示す。
【００３４】
上記のようにアクセス権を与えることにより、図７においてノード２０の編集状態が作業状態の場合、最新版の属性部２１は、編集者のみ編集可能であり、構成者等の他者は編集及び参照できない。そのため、編集者が編集中の最新版の属性部２１の内容を、他者に見られることがない。また、ノード２０の編集状態が作業状態の場合、構成者は、１つ前の版の属性部２１を参照することができる。そのため、構成者は、編集者がノード２０の編集をしている場合であっても、１つ前の版の属性部２１を参照しながら子ノード２０の編集を行うことができる。また、構成者は、最新版のリンク部２２の編集をすることが可能である。そのため、構成者は、編集者がノード２０の編集をしている場合であっても、子ノード２０の追加、削除を行うことができる。
また、図８においてノード２０の編集状態が活性状態の場合、構成者は、最新版のリンク部２２（最新版の属性部２１の次の版用のリンク部２２）を編集できる。そのため、編集者がノード２０の編集を開始する前に、子ノード２０の編集、追加、削除を行うことができる。
【００３５】
図９は、編集状態の遷移図である。図９では、簡単のため、１つのノード２０（親ノード２０）のみを示している。図９では、ハッチングが入れられた属性部２１及びリンク部２２が編集可能なものであり、ハッチングが入れられていないものは参照のみ可能なものである。
新規にノード２０（これを親ノード２０とする）が作成されると、作業状態の第１版が生成される。そして、編集が完了すると、第１版が確定状態になる。なお、ここでは、説明の簡単のため、“編集が完了すると、第１版が確定状態になる”とした。しかし、正確には、編集が完了すると、状態遷移権を有するユーザ（図６の識別子Ｗ１）の指示によって、第１版の編集状態が確定状態に遷移する。以下の説明においても、説明の簡単のため、編集状態の遷移が状態遷移権を有するユーザの指示に基づくことを省略する場合がある。
その後、リンク部２２によって接続された子ノード２０の編集が先行して開始されると、活性状態になり、リンク部２２のみ第２版が生成される。親ノード２０についての編集も開始されると、作業状態になり、属性部２１の第２版も生成される。そして、編集が完了すると、第２版が確定状態になる。
その後、再び子ノード２０の編集が先行して開始されると、活性状態になり、リンク部２２のみ第３版が生成される。親ノード２０についての編集も開始されると、作業状態になり、属性部２１の第３版も生成される。そして、編集が完了すると、第３版が確定状態になる。
以上のように、子ノード２０（下位の構成物）の設計が親ノード２０（上位の構成物）の設計よりも先行して行われる場合、確定状態、活性状態、作業状態が順に繰り返されて、設計が勧められる。なお、上位の構成物の設計が下位の構成物の設計に先行して行われる場合には、活性状態を飛ばして、確定状態から作業状態へ遷移する。
【００３６】
図１０は、編集状態の遷移図である。図１０では、親ノード２０と子ノード２０との２つのノード２０を示している。図１０では、ハッチングが入れられた属性部２１及びリンク部２２が編集可能なものであり、ハッチングが入れられていないものは参照のみ可能なものである。
まず、新規に親ノード２０が作成されると、作業状態の親ノード２０の第１版が生成される。続いて、新規に子ノード２０が作成されると、作業状態の子ノード２０第１版が生成される。そして、親ノード２０及び子ノード２０の編集が完了すると、親ノード２０及び子ノード２０の第１版が確定状態になる。
その後、子ノード２０の編集が先行して開始されると、子ノード２０は作業状態になり、第２版が生成される。この際、親ノード２０は活性状態になり、リンク部２２のみ第２版が生成される。親ノード２０についての編集も開始されると、親ノード２０も作業状態になり、属性部２１の第２版も生成される。そして、親ノード２０及び子ノード２０の編集が完了すると、第２版が確定状態になる。
【００３７】
図１１は、編集状態の遷移図である。図１１では、図１０と同様に、親ノード２０と子ノード２０との２つのノード２０を示している。特に、図１１では、親ノード２０の１つの版の下で、子ノード２０が複数回改版される場合を示す。図１１では、ハッチングが入れられた属性部２１及びリンク部２２が編集可能なものであり、ハッチングが入れられていないものは参照のみ可能なものである。
親ノード２０及び子ノード２０の第１版が確定状態になっているとする。その後、子ノード２０の編集が開始されると、子ノード２０は作業状態になり、第２版が生成される。この際、親ノード２０は活性状態になり、リンク部２２のみ第２版が生成される。そして、子ノード２０の編集が完了すると、子ノード２０の第２版が確定状態になる。
その後、再び子ノード２０の編集が開始されると、子ノード２０は作業状態になり、第３版が生成される。この際、親ノード２０は活性状態であり、リンク部２２の第２版が編集可能である。そして、子ノード２０の編集が完了すると、子ノード２０の第３版が確定状態になる。
その後、再び子ノード２０の編集が開始されると、子ノード２０は作業状態になり、第４版が生成される。この際、親ノード２０は活性状態であり、リンク部２２の第２版が編集可能である。親ノード２０についての編集も開始されると、親ノード２０も作業状態になり、属性部２１の第２版も生成される。そして、親ノード２０及び子ノード２０の編集が完了すると、親ノード２０の第２版と、子ノード２０の第４版とが確定状態になる。
【００３８】
図１２は、トップフラグ２３及びリスト２４の説明図である。図１２では、図１１に示した親ノード２０及び子ノード２０の構造を示す。
図１１に基づき説明した通り、親ノード２０の１つの版の下で、子ノード２０が複数回改版される場合がある。この場合、図１２に示すように、親ノード２０の１つの版（図１２では第２版）から、同一の子ノード２０の複数の版（図１２では第２版〜第４版）にリンクが張られることになる。
親ノード２０の１つの版からリンクが張られた同一の子ノード２０のうち、最新の版には、トップフラグ２３が立てられる（トップフラグ２３＝ＯＮ）。これにより、親ノード２０のある版からリンクが張られている同一の子ノード２０の最新の版を高速に特定できる。
また、親ノード２０の１つの版からリンクが張られた同一の子ノード２０には、新しい版から古い版へ順にリスト２４で関連付けされる。これにより、例えば、親ノード２０の１つの版からリンクが張られた同一の子ノード２０の全ての版を高速に特定できる。そのため、例えば、親ノード２０からある子ノード２０を切断する場合に、切断する対象のリンクを高速に特定できる。
【００３９】
図１３は、ノード管理部１１が管理するリレーショナルデータベースにおけるテーブルの一例を示す図である。
ノード管理部１１は、ノード２０に関する情報をリレーショナルデータベースにおけるテーブルとして管理する。ノード管理部１１は、属性部２１に関する情報を管理する属性テーブルと、リンク部２２に関する情報を管理するリンクテーブルとを用いて、ノード２０に関する情報を管理する。
【００４０】
属性テーブルは、属性ＩＤ、版番号、版状態、名称、仕様、日時情報、担当情報、アクセス権等の項目を有し、属性ＩＤと版番号とがキーとなる。
属性ＩＤは、属性部２１の識別情報である。版番号は、その属性部２１における版の識別情報である。版状態は、その属性部２１のその版の編集状態である。名称は、その属性部２１のその版に付けられた名称である。仕様は、その属性部２１のその版の仕様である。日時情報は、作成日、改定日、確定日等の日付である。担当情報は、作成者、改定者、確定者等の作業者を示す情報である。アクセス権は、その属性部２１のその版に対する各ユーザのアクセス権である。
【００４１】
リンクテーブルは、リンクＩＤ、親属性ＩＤ、親属性版番号、子属性ＩＤ、子属性版番号、トップフラグ、リンクリスト、活性版フラグ、仕様、子の個数、アクセス権等の項目を有し、リンクＩＤがキーとなる。
リンクＩＤは、そのリンクの識別情報である。親属性ＩＤは、親の属性部２１の属性ＩＤである。親属性版番号は、親の属性部２１の版番号である。子属性ＩＤは、子の属性部２１の属性ＩＤである。子属性版番号は、子の属性部２１の版番号である。トップフラグは、上述したトップフラグ２３であり、最新の版の場合ＯＮとなり、それ以外はＯＦＦとなる。リンクリストは、上述したリスト２４であり、１つ前の（古い）版のリンクＩＤである。活性版フラグは、親の属性部２１の編集状態が活性状態であり、このリンクが最新の次の版であればＯＮとなり、それ以外はＯＦＦとなる。仕様は、そのリンクのその版の組み立て方法等の仕様である。子の個数は、親の属性部２１に接続された子の属性部２１の数である。アクセス権は、そのリンクのその版に対する各ユーザのアクセス権である。
【００４２】
図１４から図２０は、子ノード２０の編集状態が遷移する際の親ノード２０のリンク部２２の変化を示す図である。なお、図１４から図２０では、リンクテーブルについては一部の項目のみ示す。
図１４は、親ノード２０（属性ＩＤ“Ａ”とする）の第１版が確定状態であるときに、新規に子ノード２０（属性ＩＤ“Ｂ”とする）が作成された場合、親ノード２０が活性状態になり、リンク部２２のみ第２版が生成される。また、子ノード２０は、作業状態の第１版が生成される。そして、親ノード２０の第２版のリンク部２２により、子ノード２０の第１版の属性部２１が接続される。
この際、親ノード２０のリンク部２２についてのリンクテーブルは、リンクＩＤに“１”が割り当てられたレコードが生成される。そして、そのレコードに、親属性ＩＤ“Ａ”、親属性版番号“第１版”、子属性ＩＤ“Ｂ”、子属性版番号“第１版”、トップフラグ“ＯＮ”、リンクリスト“なし”、活性版フラグ“ＯＮ”が設定される。
【００４３】
続いて、図１５に示すように、子ノード２０の第１版が確定した場合、子ノード２０が確定状態になる。このとき、親ノード２０のリンク部２２については変更されない。
【００４４】
続いて、図１６に示すように、子ノード２０の下位に孫ノード２０が作成された場合、子ノード２０が活性状態になり、第２版のリンク部２２が生成される。このとき、親ノード２０のリンク部２２については変更されない。
【００４５】
続いて、図１７に示すように、子ノード２０が改定される場合、子ノード２０が作業状態になり、第２版の属性部２１が生成される。そして、親ノード２０の第２版のリンク部２２により、子ノード２０の第２版の属性部２１が接続される。
この際、親ノード２０のリンク部２２についてのリンクテーブルは、リンクＩＤ“１”のレコードが、トップフラグ“ＯＦＦ”に更新される。また、リンクＩＤに“２”が割り当てられたレコードが生成される。そして、そのレコードに、親属性ＩＤ“Ａ”、親属性版番号“第１版”、子属性ＩＤ“Ｂ”、子属性版番号“第２版”、トップフラグ“ＯＮ”、リンクリスト“１”、活性版フラグ“ＯＮ”が設定される。
【００４６】
続いて、図１８に示すように、子ノード２０の第２版が確定した場合、子ノード２０が確定状態になる。このとき、親ノード２０のリンク部２２については変更されない。
【００４７】
続いて、図１９に示すように、子ノード２０の下位に孫ノード２０が作成された場合、子ノード２０が活性状態になり、第３版のリンク部２２が生成される。このとき、親ノード２０のリンク部２２については変更されない。
【００４８】
続いて、図２０に示すように、子ノード２０が改定される場合、子ノード２０が作業状態になり、第３版が生成される。そして、親ノード２０の第２版のリンク部２２により、子ノード２０の第３版の属性部２１が接続される。
この際、親ノード２０のリンク部２２についてのリンクテーブルは、リンクＩＤ“２”のレコードが、トップフラグ“ＯＦＦ”に更新される。また、リンクＩＤに“３”が割り当てられたレコードが生成される。そして、そのレコードに、親属性ＩＤ“Ａ”、親属性版番号“第１版”、子属性ＩＤ“Ｂ”、子属性版番号“第３版”、トップフラグ“ＯＮ”、リンクリスト“２”、活性版フラグ“ＯＮ”が設定される。
【００４９】
図２１から図２４は、親ノード２０の編集状態が遷移する際の親ノード２０のリンク部２２の変化を示す図である。なお、図２１から図２４では、リンクテーブルについては一部の項目のみ示す。
図２１に示すように、親ノード２０（属性ＩＤ“Ａ”とする）の第１版が確定状態であり、親ノード２０の第１版には、子ノード２０として、属性ＩＤ“Ｂ”の第１版から第３版と、属性ＩＤ“Ｃ”の第１版とが接続されているとする。
【００５０】
図２２に示すように、親ノード２０が活性状態になった場合、第２版のリンク部２２が生成される。そして、第２版のリンク部２２により、子ノード２０である、属性ＩＤ“Ｂ”の第１版から第３版、属性ＩＤ“Ｃ”の第１版が接続される。
この際、親ノード２０の第１版のリンク部２２についての各レコード（リンクＩＤ“１”から“４”）の複製（リンクＩＤ“５”から“８”）が作成される。そして、コピーされたリンクＩＤ“５”から“８”のレコードの活性版フラグが“ＯＮ”にされ、リンクＩＤ“５”から“８”のレコードのリンクリストも、リンクＩＤ“５”から“８”内の対応するリンクＩＤを指すように変更される。
【００５１】
図２３に示すように、親ノード２０が作業状態になった場合、属性部２１の第２版が生成される。この際、親ノード２０の第２版の属性部２１が生成されたため、リンクＩＤ“５”から“８”のレコードの親属性版番号が“第２版”に変更され、活性版フラグが“ＯＦＦ”にされる。なお、図２３では、リンクＩＤ“１”から“４”のレコードは省略している。
【００５２】
図２４に示すように、親ノード２０が確定状態になった場合、親ノード２０のリンク部２２については変更されない。
【００５３】
以上のように、実施の形態１に係る構成物管理装置１０では、木構造を用いて製品の構成物を管理する場合に、属性部２１とリンク部２２とについて別々にアクセス権を付与する。特に、実施の形態１に係る構成物管理装置１０では、ノード２０の編集状態とユーザ情報とに基づき、各ユーザにアクセス権を付与する。また、実施の形態１に係る構成物管理装置１０では、属性部２１の新しい版を起こさないまま（つまり属性部２１を作成しないまま）、新しい版用のリンク部２２のみを用意する。
これにより、上位の構成物の設計と、下位の構成物の設計とを円滑に同時進行することや、下位の構成物の設計を上位の構成物の設計に先行して行うことが可能となる。
【００５４】
なお、上記説明では、複数の部品を組み立てて製品が構成される場合に、製品を上位の構成物、各部品を下位の構成物として、製品、各部品に対してノード２０を割り当てた。しかし、上位の構成物とは、下位の構成物の前の工程で設計、製造される構成物であってもよい。
図２５は、構成物管理装置１０が管理する構成物の一例を示す図である。
図２５では、工業製品の設計の例を示す。工業製品の設計では、部品等を設計する設計工程の下流工程として、部品等の製造方法を設計する製造準備工程がある。この場合、設計工程で設計される部品等を親ノード２０とし、製造準備工程で設計される製造方法のデータを子ノード２０としてもよい。
図２６は、構成物管理装置１０が管理する構成物の他の例を示す図である。
図２６では、設備保全の例を示す。設備保全では、設備を設計する設計工程の下流工程として、点検や事故のデータを記録する保守点検工程がある。この場合、設計工程で設計される設備等を親ノード２０とし、保守点検工程で記録されるデータを子ノード２０としてもよい。
【００５５】
また、構成物管理装置１０（一斉遷移部）は、ユーザの指示に基づき、１つの木構造に接続されたノード２０のうち編集状態が確定状態である全てのノード２０を一斉に活性状態へ遷移させることも可能である。この指示ができるのは、木構造の最上位のノードの編集者又は構成者である。
全てのノード２０を一斉に活性状態へ遷移させることにより、各ユーザは自身の有するユーザ情報に応じたアクセス権を得られる。そして、木構造全体の接続関係を参照しながら、ノード２０によって、リンク部２２の編集を行ったり、作業状態へ遷移させて属性部２１の編集を行ったりすることができる。
そして、編集が完了した後、構成物管理装置１０（一斉遷移部）は、ユーザの指示に基づき、全てのノード２０を一斉に確定状態へ遷移させることも可能である。この指示ができるのは、木構造の最上位のノードの編集者である。
【００５６】
また、構成物管理装置１０（ノード抽出部）は、ユーザから構成物が指定されると、その構成物からリンク部２２を辿り、その構成物の上位又は下位に当たる構成物を抽出して、表示装置に表示することも可能である。
例えば、製品のリコール時等に、この機能を利用して、対象となる構成物を抽出することができる。
【００５７】
図２７は、上記実施の形態に係る構成物管理装置１０のハードウェア構成の一例を示す図である。
図２７に示すように、構成物管理装置１０は、プログラムを実行するＣＰＵ９１１（Ｃｅｎｔｒａｌ・Ｐｒｏｃｅｓｓｉｎｇ・Ｕｎｉｔ、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう）を備えている。ＣＰＵ９１１は、バス９１２を介してＲＯＭ９１３、ＲＡＭ９１４、ＬＣＤ９０１（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）、キーボード９０２（Ｋ／Ｂ）、通信ボード９１５、磁気ディスク装置９２０と接続され、これらのハードウェアデバイスを制御する。磁気ディスク装置９２０（固定ディスク装置）の代わりに、光ディスク装置、メモリカード読み書き装置などの記憶装置でもよい。磁気ディスク装置９２０は、所定の固定ディスクインタフェースを介して接続される。
【００５８】
磁気ディスク装置９２０又はＲＯＭ９１３などには、オペレーティングシステム９２１（ＯＳ）、ウィンドウシステム９２２、プログラム群９２３、ファイル群９２４が記憶されている。プログラム群９２３のプログラムは、ＣＰＵ９１１、オペレーティングシステム９２１、ウィンドウシステム９２２により実行される。
【００５９】
プログラム群９２３には、上記の説明において「ノード管理部１１」、「ユーザ管理部１２」、「アクセス権限付与部１３」等として説明した機能を実行するソフトウェアやプログラムやその他のプログラムが記憶されている。プログラムは、ＣＰＵ９１１により読み出され実行される。
ファイル群９２４には、上記の説明において「属性テーブル」、「リンクテーブル」に格納される情報やデータや信号値や変数値やパラメータが、「データベース」の各項目として記憶される。「データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してＣＰＵ９１１によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示などのＣＰＵ９１１の動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示のＣＰＵ９１１の動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
【００６０】
また、上記の説明におけるフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、ＲＡＭ９１４のメモリ、その他光ディスク等の記録媒体やＩＣチップに記録される。また、データや信号は、バス９１２や信号線やケーブルその他の伝送媒体や電波によりオンライン伝送される。
また、上記の説明において「〜部」として説明するものは、「〜回路」、「〜装置」、「〜機器」、「〜手段」、「〜機能」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。また、「〜装置」として説明するものは、「〜回路」、「〜機器」、「〜手段」、「〜機能」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明するものは、ＲＯＭ９１３に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組合せ、さらには、ファームウェアとの組合せで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、ＲＯＭ９１３等の記録媒体に記憶される。プログラムはＣＰＵ９１１により読み出され、ＣＰＵ９１１により実行される。すなわち、プログラムは、上記で述べた「〜部」としてコンピュータ等を機能させるものである。あるいは、上記で述べた「〜部」の手順や方法をコンピュータ等に実行させるものである。
【符号の説明】
【００６１】
１０  構成物管理装置、１１  ノード管理部、１２  ユーザ管理部、１３  アクセス権限付与部、２０  ノード、２１  属性部、２２  リンク部、２３  トップフラグ、２４  リスト。
【図１】
0005603960.tif 000002
【図２】
0005603960.tif 000003
【図３】
0005603960.tif 000004
【図４】
0005603960.tif 000005
【図５】
0005603960.tif 000006
【図６】
0005603960.tif 000007
【図７】
0005603960.tif 000008
【図８】
0005603960.tif 000009
【図９】
0005603960.tif 000010
【図１０】
0005603960.tif 000011
【図１１】
0005603960.tif 000012
【図１２】
0005603960.tif 000013
【図１３】
0005603960.tif 000014
【図１４】
0005603960.tif 000015
【図１５】
0005603960.tif 000016
【図１６】
0005603960.tif 000017
【図１７】
0005603960.tif 000018
【図１８】
0005603960.tif 000019
【図１９】
0005603960.tif 000020
【図２０】
0005603960.tif 000021
【図２１】
0005603960.tif 000022
【図２２】
0005603960.tif 000023
【図２３】
0005603960.tif 000024
【図２４】
0005603960.tif 000025
【図２５】
0005603960.tif 000026
【図２６】
0005603960.tif 000027
【図２７】
0005603960.tif 000028