"階層型のクラスおよびクラスの詳細を記述する属性がグループ化されたパッケージを用いて、あるパッケージに属するクラスと他のパッケージに属するクラスとに関係がある場合に、該他のパッケージを更新参照パッケージとして関連付ける更新参照関係を生成する生成部と、任意の第1クラスに更新がある場合、該第1クラスおよび該第1クラスが属する第1パッケージを更新する更新部と、前記更新参照関係を用いて、更新した前記第1パッケージの更新参照パッケージのうち、更新した前記第1クラスと関連する更新対象パッケージが存在するかどうかを検出する検出部と、前記更新対象パッケージが存在する場合、前記更新対象パッケージを更新する必要があることを示す更新通知を生成する通知部と、を具備することを特徴とするオントロジ更新装置。前記検出部は、前記更新対象パッケージとして、更新した前記第1パッケージと異なりかつ前記第1クラスの下位層のクラスが属するパッケージ、または、更新した前記第1クラスのプロパティの少なくとも一部を利用する引用関係を有するクラスが属するパッケージ、または、更新した前記第1クラスのプロパティをサブセットとする包含関係を有するクラスが属するパッケージが存在するかどうかを検出することを特徴とする請求項1に記載のオントロジ更新装置。前記生成部は、注目したクラスAが属する注目パッケージAと、該注目したクラスAの親クラスB、または該注目したクラスAと引用関係にあるクラスB、または該注目したクラスAと包含関係にあるクラスBのいずれかが属するパッケージBと、が異なる場合、前記注目パッケージAをパッケージBの更新参照パッケージとして、前記クラスBが属するパッケージBに、クラスAと属するパッケージAとの更新参照関係を生成することを特徴とする請求項1に記載のオントロジ更新装置。階層型のクラスおよびクラスの詳細を記述する属性がグループ化されたパッケージを用いて、あるパッケージに属するクラスと他のパッケージに属するクラスに関係がある場合に、該他のパッケージを更新参照パッケージとして関連付ける更新参照関係を生成し、任意の第1クラスに更新がある場合、該第1クラスおよび該第1クラスが属する第1パッケージを更新し、前記更新参照関係を用いて、更新した前記第1パッケージの更新参照パッケージのうち、更新した前記第1クラスと関連する更新対象パッケージが存在するかどうかを検出し、前記更新対象パッケージが存在する場合、前記更新対象パッケージを更新する必要があることを示す更新通知を生成することを具備することを特徴とするオントロジ更新方法。サーバと、該サーバにネットワークを介して接続されるアプリケーション装置とを含む更新システムであって、前記サーバは、階層型のクラスおよびクラスの詳細を記述する属性がグループ化されたパッケージを用いて、あるパッケージに属するクラスと他のパッケージに属するクラスとに関係がある場合に、該他のパッケージを更新参照パッケージとして関連付ける更新参照関係を生成する生成部を具備し、前記アプリケーション装置は、複数のパッケージのうちの特定のパッケージ、該特定のパッケージに含まれるクラス、および前記更新参照関係を格納する部分格納部と、前記特定のパッケージのうち任意の第1クラスに更新がある場合は、前記更新参照関係を用いて、前記第1クラスが属する第1パッケージの更新参照パッケージのうち、更新した前記第1クラスと関連する更新対象パッケージが存在するかどうかを検出する検出部と、前記更新対象パッケージが存在する場合、前記更新対象パッケージを更新する必要があることを示す更新通知を生成する通知部と、前記第1クラスに更新がある場合は、該第1クラスおよび前記第1パッケージを更新し、前記更新通知を受け取った場合は、前記更新対象パッケージを更新する更新部とを具備することを特徴とするオントロジ更新システム。しかしながら、CIMパッケージは業務分野の密接性から決められるため、パッケージ間にはクラス階層に従う継承関係はない。また、パッケージ間の関係は、UMLUnifiedModelingLanguageのパッケージ関係の定義に従って定められるため、どの要素クラス、プロパティなどによって成立するのかは不明確であり、1つのクラスまたはそのプロパティの変更によって、更新すべきパッケージが不明確である。更に、CIM全体はひとつのファイルとして、ひとつのバージョンを付与して管理を行っているため、CIM要素に更新があった場合は、更新が不要なパッケージを含めて全体的に更新を行っている。しかし、CIMを用いる各アプリケーションは、複数存在するパッケージのうち、一部のパッケージを利用することが多い。従って、他のパッケージの更新があった場合に、アプリケーションごとに、自身のパッケージを更新するかどうかを判定することはできない。本開示は、効率的な更新処理を行うことができるオントロジ更新装置、方法、および更新システムを提供することを目的とする。本実施形態に係るオントロジ更新装置は、生成部、更新部、検出部、および通知部を含む。生成部は、階層型のクラスおよびクラスの詳細を記述する属性がグループ化されたパッケージを用いて、あるパッケージに属するクラスと他のパッケージに属するクラスとに関係がある場合に、該他のパッケージを更新参照パッケージとして関連付ける更新参照関係を生成する。更新部は任意の第1クラスに更新がある場合、該第1クラスおよび該第1クラスが属する第1パッケージを更新する。検出部は、前記更新参照関係を用いて、更新した前記第1パッケージの更新参照パッケージのうち、更新した前記第1クラスと関連する更新対象パッケージが存在するかどうかを検出する。通知部は、前記更新対象パッケージが存在する場合、前記更新対象パッケージを更新する必要があることを示す更新通知を生成する。以下、図面を参照しながら本実施形態に係るオントロジ更新装置、方法、および更新システムについて詳細に説明する。なお、以下の実施形態では、同一の参照符号を付した部分は同様の動作を行うものとして、重複する説明を適宜省略する。本実施形態に係るオントロジ更新システムについて図1のブロック図を参照して説明する。本実施形態に係るオントロジ更新システム100は、オントロジ更新装置101、アプリケーション装置102を含む。また、オントロジ更新装置101とアプリケーション装置102とは、ネットワーク103を介して相互通信が可能である。さらに、アプリケーション装置102-1から102-4までは、それぞれ異なるパッケージを1つまたは複数ずつ有し、それぞれがネットワーク103を介して通信可能である。図1の例では、1つまたは複数のパッケージを有するアプリケーション装置102を4つ示しているが、これに限らず、アプリケーション装置102の数は1つまたは複数あればよい。さらに、各アプリケーション装置102が複数のパッケージを有してもよい。オントロジ更新装置101は、例えばサーバであり、CIMCommonInformationModelに基づくクラスおよびその階層関係、属性プロパティともいう、データタイプ、パッケージ、および本実施形態で作成されたパッケージ間の更新参照関係を保存する。クラスは、CIMに基づくオブジェクトを定義したものである。プロパティは、クラスの詳細を記述したものである。パッケージは、目的に合わせてクラスをグループ化した集合である。パッケージの詳細については図4および図5を参照して後述する。更新参照関係は、あるパッケージAに属するクラスによって、他のパッケージに属するクラス間の継承関係、または引用関係、または包含関係を用いた、他のパッケージとの参照関係を示す。更新参照関係については、図9から図11までを参照して後述する。オントロジ更新装置101は、クラスまたはプロパティに更新があった場合、クラスが属するパッケージの他に、他のパッケージについても更新するかどうかを判定する。更新する必要がある場合、更新通知を生成する。更新通知は、パッケージを更新する必要があること、および更新に必要な内容を含む通知であり、具体的には例えば、更新するパッケージとその更新内容とを含む。アプリケーション装置102は、オントロジ更新装置101から更新通知を受け取り、アプリケーション装置102に格納されるパッケージを更新する。次に、オントロジ更新装置101のブロック図について図2を参照して説明する。本実施形態に係るオントロジ更新装置101は、CIM格納部201、更新参照関係生成部202単に生成部ともいう、更新参照関係保存部203、パッケージ更新部204単に更新部ともいう、パッケージ更新検出部205単に検出部ともいうおよびパッケージ更新通知部206単に通知部ともいうを含む。CIM格納部201は、CIM情報、すなわちCIMのクラス、プロパティ、データタイプ、パッケージ等、CIM関連情報を格納し、さらに後述する更新参照関係生成部202によって生成される更新参照関係を格納する。更新参照関係生成部202は、CIM格納部201からクラスおよびその関係、プロパティ、パッケージを受け取り、クラスの階層構造を用いて更新参照関係を生成する。更新参照関係の生成については図9を参照して後述する。更新参照関係保存部203は、更新参照関係生成部202から更新参照関係を受け取り、CIM格納部201に保存する。パッケージ更新部204は、パッケージに属するクラスに更新の必要性が生じた場合に、CIM格納部201に格納されるクラスおよびパッケージの更新を行う。パッケージ更新検出部205は、パッケージ更新部204から更新したクラスおよびパッケージの情報を、CIM格納部201から更新参照関係をそれぞれ受け取る。パッケージ更新検出部205は、更新参照関係に基づいて、更新したパッケージの他に更新するべきパッケージである更新対象パッケージを検出する。パッケージ更新検出部205の動作については、図12を参照して後述する。パッケージ更新通知部206は、パッケージ更新検出部205から更新対象パッケージの情報を受け取り、更新対象パッケージの更新通知を生成し、必要に応じて外部へ送信する。次に、本実施形態に係るアプリケーション装置102について図3を参照して説明する。本実施形態に係るアプリケーション装置102は、通信部301、更新部302、およびCIM部分格納部303を含む。通信部301は、オントロジ更新装置101と相互通信を行う。具体的には、オントロジ更新装置101から更新通知を受け取る。更新部302は、通信部301から更新通知を受け取り、CIM部分格納部303に格納されるパッケージを更新する。CIM部分格納部303は、CIMに基づく特定のパッケージと、該当パッケージに属するクラス、属性および他の情報を格納する。また、更新部302からの更新があった場合は、更新されたパッケージを格納する。次に、本実施形態で採用するCIMモデルの概念について図4を参照して説明する。図4は、CIMに用いるパッケージのリスト例を示す。CIMは、UMLを用いてモデルが記述され、クラス、プロパティ、データタイプなどの要素が定義される。また、CIMを定めるIEC61970CDV版、57/1032/CDV、committeedraftforvoteと、IEC61968FDIS版、finaldraftinternationalstandardとを用いて、利用分野によってパッケージに分類し、管理を行う。本実施形態では、CIMとして、IEC61970のパッケージとIEC61968のパッケージとのうち、必要なパッケージを選択するか、または全て採用する。次に、一般的なIEC61970のパッケージの一例を図5に示す。図5にはパッケージ間の依存関係が示され、各ブロックはパッケージを表す。例えばTopologyパッケージは、Wires、MeasおよびCoresとUMLが定義する依存関係を有する。しかし、CIMではクラスの階層構造により継承関係が成立するため、パッケージ間の依存関係のみでは、パッケージ間の関係は、どのクラス、または複数のクラス、属性によって成立するのかは不明である。次に、パッケージのクラス階層構造の一例について図6を参照して説明する。図6は、一例としてCIMで定義されるWireパッケージのクラス階層構造例を示す。各ブロックはクラスを表し、矢印によりそれぞれの階層関係を表現する。矢印の先のクラスが親クラスを表す。また、クラス601のCore:idetifiedObjectは、Coreがパッケージ名であり、identifiedObjectはクラス名である。このように、クラスが属するパッケージが記述される。また、パッケージ名がないブロックは、階層構造により表現されるパッケージに属するクラスである。例えば、クラス602のTapChangerは、Wireのパッケージに定義されることとなり、クラス602の属するパッケージはWireパッケージである。このように、あるパッケージの階層構造として、別のパッケージに属するクラスを用いて階層構造を形成してもよい。なお、WireパッケージとCoreパッケージとは依存関係を有するが、2つのパッケージ間に階層関係は存在せず、WireパッケージとCoreパッケージとの間の依存関係は、複数のクラスによって成立するが、あるWireパッケージのクラスが更新した際に、Coreパッケージの更新を行うかどうかは不明確である。ここで、本実施形態における定義されるクラス構造の一例を図7に示す。図7の例では、CIMにより定義されるクラス構造は、名称Name701、種類Type702、注釈Note703から構成される。本実施形態では、クラス構造に、バージョンVersion704のフィールドを付与する。また、各クラスには、自分が定義するnativeattribute自定義プロパティ、上位クラスから継承するプロパティのinheritattributeがある。次に、本実施形態におけるプロパティ構造の一例について図8を参照して説明する。クラスの場合と同様に、CIMが定義するプロパティは、名称Name、データタイプType、注釈noteのフィールドがあり、本実施形態はバージョンVersionのフィールドを付与する。例えば、図8の例では、名称801mRID、タイプ802String、注釈803Inheritedfrom:IdentifiedObject、およびバージョン8041.1は本実施形態が付与する。上述のinheritattributeの場合は、注釈803において自分を定義したクラスを記述する。従来のCIM記述によるクラスおよびプロパティにはバージョン情報の定義がなく、CIMの更新が行われた際に、各クラスまたは各プロパティに更新があったかどうかは、定義されたテキストの内容を相互に比較しなければわからない。一方、本実施形態では、各クラスまたは各プロパティにバージョンのフィールドを追加しているため、各要素に更新があった場合に、バージョンを参照することで更新が必要なクラスまたはプロパティを検出することができる。ここで、更新参照関係生成部202の動作について図9のフローチャートを参照して説明する。ステップS901では、CIM格納部201から、全クラスと、各クラスの親クラス情報と、各クラスが属するパッケージ情報とを抽出し、クラスリストを作成する。ステップS902では、クラスリストから、1つのクラスを抽出する。ステップS903では、抽出したクラスが属するパッケージと、抽出したクラスの上位層である親クラスが属するパッケージとが異なるかどうかを判定する。パッケージが異なる場合は、ステップS904へ進み、パッケージが同一である場合は、ステップS909へ進む。ステップS904では、生成された更新参照関係に親クラスが属するパッケージが存在するかどうかを判定する。親クラスが属するパッケージが存在する場合は、ステップS906へ進み、親クラスが属するパッケージが存在しない場合は、ステップS905へ進む。ステップS905では、親クラスが属するパッケージを追加する。ステップS906では、親クラスが属するパッケージと抽出したクラスが属するパッケージとが既に関連付いているかどうかを判定する。関連付いている場合はステップS907へ進み、関連付いていない場合は、ステップS908へ進む。ステップS907では、親クラスが属するパッケージと抽出したクラスが属するパッケージとの関連付けに、親クラスを追加する。こうすることで、パッケージ間の関連付けにおいて、どのクラスによってパッケージ間の更新参照関係が成立しているかを示すことができる。なお、抽出したクラスが属するパッケージを更新参照パッケージという。ステップS908では、更新参照関係として、親クラスが属するパッケージと、更新参照パッケージと、クラスとの関連付けをテーブルに追加する。このように、ステップS907またはステップS908の処理によって、親クラスが属するパッケージに、親クラスと更新参照パッケージとの情報を関連付けることができる。ステップS909では、クラスリストに未抽出のクラスがあるかどうかを判定する。未抽出のクラスがあれば、ステップS902へ戻り、ステップS902からステップS909までの同様の処理を繰り返す。未抽出のクラスがなければ、処理を終了する。以上の処理によって、更新参照関係生成部202においてパッケージごとの更新参照関係を生成される。次に、更新参照関係生成部202の動作の具体例について、図10および図11を参照して説明する。図10は、CIMクラス階層構造による継承関係の一例である。クラス1は、1番上位層のクラスであり、パッケージCに属する。クラス1は、下位層のクラス子クラスとして、パッケージAに属するクラス2とパッケージBに属するクラス3とを有する。また、クラス3の子クラスとして、パッケージBに属するクラス4とパッケージAに属するクラス5とがあり、さらに、クラス4の子クラスとして、パッケージAに属するクラスAがある。また、上述の継承関係では、上位層のクラス親クラスのプロパティを継承する。図10の例では、クラス3はクラス5の親クラスであり、クラス5はクラス3のプロパティを全て継承する。さらに、クラス3には、引用関係case-ofとして、パッケージDに属するクラス100が関連付いている。引用関係は、あるクラスが、階層継承関係を持たない他のクラスから、少なくとも一部の定義プロパティを引用する場合を指す。具体的には、図10の場合はクラス3とクラス100とが引用関係を有し、クラス100は、クラス3のプロパティの少なくとも一部の定義プロパティを継承する。この引用関係も更新参照関係に含めてもよい。また、包含関係part-wholeを更新参照関係に含めてもよい。包含関係は、あるクラスの属性が、他のクラスのサブセットである場合を指す。図11は、図10のクラス階層構造に基づいて更新参照関係生成部202によって生成された、更新参照関係のテーブルである。本実施形態では、パッケージごとに、パッケージ名1101、パッケージコード1102、パッケージ説明1103、パッケージバージョン1104、作成日1105、更新参照パッケージリストDependent_by1106、および更新参照パッケージ{クラス名}Package{related_class}1107が関連付けられ、ひとつのパッケージに関する更新参照関係は、一列に格納される。例えば、更新参照関係1108は、パッケージAの更新参照関係を示す。なお、本実施形態では、更新参照関係として、全ての要素を含めているが、少なくともパッケージ名1101、パッケージバージョン1104、更新参照パッケージリスト1106、および更新参照パッケージ{クラス名}1107を含めばよい。パッケージ名1101は、CIM規格で定められたパッケージの名前である。パッケージコード1102は、パッケージを識別するための識別子である。パッケージ説明1103は、CIM規格で定義したパッケージの説明文またはその他パッケージ利用説明である。パッケージバージョン1104は、パッケージのバージョン番号であり、実施形態により付与する。例えば、初期値は1とする。作成日1105は、更新参照関係を作成した日付である。更新参照パッケージリスト1106は、パッケージ名と関連付く更新参照パッケージ名を列挙したリストである。なお、更新参照パッケージと更新参照関係のタイプ引用関係、包含関係などとを記述してもよい。更新参照パッケージ{クラス名}1107は、パッケージごとの更新参照パッケージ名と、更新参照パッケージの依存関係を成立させるクラスを記述する。ここで、更新参照関係生成部202の動作の具体例について図12のフローチャートを参照して説明する。ステップS1201では、CIM格納部201に格納されるCIM情報既存CIM情報から、全クラスと、各クラスの親クラス情報と、各クラスが属するパッケージ情報とを検出し、クラスリストを作成する。ステップS1202では、クラスリストから、1つのクラス、ここではクラスXPackage1を抽出する。ステップS1203では、抽出したクラスXが属するパッケージPackage1と、抽出したクラスの上位層である親クラスYが属するパッケージPackage2とが異なるかどうか違うかどうかを判定する。パッケージが異なる場合YESは、ステップS1204へ進み、パッケージが同一である場合NOは、ステップS1209へ進む。ステップS1204では、生成された更新参照関係図11に示すテーブルに親クラスYが属するパッケージPackage2の列が存在するかどうかを判定する。親クラスが属するパッケージPackage2が存在する場合YESは、ステップS1206へ進み、親クラスが属するパッケージPackage2が存在しない場合NOは、ステップS1205へ進む。ステップS1205では、親クラスYが属するパッケージPackage2の列を追加する。ステップS1206では、親クラスYが属するパッケージPackage2と抽出したクラスXが属するパッケージPackage1とが既に関連付いているかどうかを判定する。具体的には、Package2の列のDependent_Byコラムに、Package1の記述があるかどうかを判定する。記述がある場合はステップS1207へ進み、記述がない場合は、ステップS1208へ進む。ステップS1207では、親クラスYが属するパッケージPackage2と抽出したクラスXが属するパッケージPackage1との関連付けコラムDependent_byに、親クラスYを追加する。ステップS1208では、更新参照関係に、親クラスYが属するパッケージPackage2と、更新参照パッケージPackage1と、クラスXとの更新参照関連を生成する。ステップS1209では、クラスリストに未抽出未処理のクラスがあるかどうかを判定する。未抽出のクラスがあれば、ステップS1202へ戻り、ステップS1202からステップS1209までの同様の処理を繰り返す。未抽出のクラスがなければ、処理を終了する。さらに、図11を参照して更新参照関係生成の具体例を説明する。パッケージBの更新参照関係は、まず、パッケージBの更新参照先の更新参照パッケージリスト1106にパッケージAが追加される。続いて、パッケージAとパッケージBとの更新参照関係は、パッケージBに属するクラス3によって成立するため、更新参照パッケージ{クラス名}1107コラムにパッケージA{クラス3}が追加される。同様に、パッケージAに属するクラス6も、パッケージBに属するクラス4を親クラスとする階層関係となるので、更新参照パッケージ{クラス}1107にパッケージA{クラス4}が追加され、パッケージA{クラス3,クラス4}の形式となる。このように、更新参照関係生成部202がパッケージごとに処理を行うことで、パッケージごとの更新参照関係を生成することができる。なお、パッケージBの更新参照パッケージ1106に示すパッケージDは、引用関係であり、更新参照パッケージとして引用関係または包含関係を有するパッケージも更新参照関係に含める。次に、オントロジ更新装置101の動作について図13のフローチャートを参照して説明する。ステップS1301では、パッケージ更新部204が、更新通知によりクラスのバージョンを更新する。ステップS1302では、パッケージ更新部204が、更新されたクラスが属するパッケージを更新する。ステップS1303では、パッケージ更新検出部205が、更新されたパッケージに更新参照パッケージリストがあるかどうかを判定する。更新参照パッケージリスト1106がある場合、ステップS1304に進み、更新参照パッケージがない場合、処理を終了する。ステップS1304では、パッケージ更新検出部205が、更新されたパッケージの更新参照パッケージのうちで、更新されたクラスと関連する更新参照パッケージ1107があるかどうかを判定する。更新されたクラスと関係する更新参照パッケージ1107がなければ、更新されたクラスが属するパッケージのみ更新すれば良い。以下、更新されたクラスと関連する更新参照パッケージを更新対象パッケージという。更新対象パッケージがある場合、ステップS1305へ進み、更新対象パッケージがなければ、処理を終了する。ステップS1305では、パッケージ更新通知部206が、更新対象パッケージの更新通知を生成する。その後、ステップS1303へ戻り、更新対象パッケージがなくなるまで、ステップS1303からステップS1305までの処理を繰り返す。具体的に図11を参照して、クラス4が更新される場合を想定して説明する。はじめに、クラス4のバージョンを更新し、クラス4が属するパッケージBを更新する。続いて図11の更新参照パッケージリスト1106を参照すると、パッケージBには、更新参照パッケージとしてパッケージAとパッケージDとが関連付いている。さらに、更新参照パッケージ{クラス}1107を参照すると、パッケージAがパッケージBのクラス3およびクラス4に依存し、パッケージDはパッケージBのクラス3に依存する。従って、クラス4の更新によって、パッケージDは更新の影響を受けず、パッケージAだけが更新の影響を受けることが判定できる。すなわち、更新対象パッケージであるパッケージAの利用アプリケーションのみに更新通知を行えばよい。よって他のパッケージを無駄に更新することなく、必要最低限の更新を行うことができる。なお、パッケージAの更新を行った後に、パッケージAを図13に示すステップS1302の入力として処理を繰り返し行うことにより、更新すべき全てのパッケージを検出することが望ましい。実施形態の変形例図1のオントロジ更新システム100では、オントロジ更新装置101サーバが個々のアプリケーション装置102に更新通知を行っていたが、本変形例では、個々のアプリケーション装置102に、生成したパッケージ間の更新参照関係を保存する。本変形例に係るアプリケーション装置のブロック図を図14に示す。本変形例に係るアプリケーション装置1400は、パッケージ更新部204、パッケージ更新検出部205、パッケージ更新通知部206、通信部301、更新部302、およびCIM部分格納部303を示す。なお、アプリケーション装置1400の各ブロックは、図2および図3に示す各ブロックと同様の動作を行うためここでの説明は省略する。次に、本変形例に係るアプリケーション装置1400の動作を説明する。はじめに、パッケージ間の更新参照関係をCIM部分格納部303に格納しておく。個々のアプリケーション装置1400が利用する情報を更新した際、パッケージ更新部204が更新すべきパッケージを更新する。CIM部分格納部303に格納した更新参照関係から、図13に示す処理により、パッケージ更新検出部205が検出した更新参照パッケージリストのうち、更新対象パッケージを検出して、更新対象パッケージを有するアプリケーションに、パッケージ更新通知部206が更新対象パッケージに関する更新通知を送信する。また、他のアプリケーションの更新によって、更新の影響を受ける場合もある。その場合は、通信部301が更新通知を受信し、更新部302がCIM部分格納部303に格納される更新対象パッケージを更新する。ここで、本実施形態で用いるHas-aおよびIs-aの関係について図15を参照して説明する。クラス1、クラス2およびクラス3による階層構造は、Is-a関係1501を有し、継承関係を有する。一方、本実施形態にかかるパッケージ構造は、パッケージA1がクラス1とクラス3とを有し、パッケージB1がクラス2を有するHas-a関係1502となる。なお、通常、パッケージA1とパッケージB1とは継承関係はない。比較例として、従来のUMLによるCIMパッケージの依存関係を図16に示す。従来のパッケージ間の依存関係は、パッケージ間に、要素間の関係を有することで形成される。しかしパッケージ間の依存関係だけでは、どの要素と、どの関係を有するのかが不明確であるため、例えば、パッケージBが更新されると、パッケージBに依存するパッケージAとパッケージDとが更新されることとなり、パッケージDに関する更新作業が余分に発生してしまう。本実施形態では、どのクラスにより、パッケージ間の依存関係が成立するかということがわかるので、必要なパッケージのみ更新することができる。以上に示した実施形態によれば、パッケージ間の更新参照関係を生成することで、クラスの更新があった場合に、更新の必要がないパッケージを更新せずに、必要なパッケージのみ更新することができ、効率的な更新処理を行うことができる。本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。"