第1章 実世界のモデル化と形式化 2.一般地物モデルと応用スキーマ 2011-02-15 第1章 実世界のモデル化と形式化 2.一般地物モデルと応用スキーマ 太田守重 morishige_ota@kkc.co.jp
ここで学ぶこと UMLクラス図の対象は実世界に生起する地理的な現象に限らない.地物及びその間の関係を記述するためには,さらに特有のルールが求められる.このルールを記述するスキーマを,一般地物モデル(General feature Model)と呼ぶ. ここでは一般地物モデルの概要を紹介し,そのルールに従って作られるUMLクラス図である,応用スキーマについて解説する.
一般地物モデル 実世界の現象の抽象概念を地物という。 地物型の定義と構造を記述するためのメタモデルを一般地物モデル (General Feature Model)という。 その記述にはスキーマ言語 (UML)を使う。 ISO 19109はISOの専門委員会211の中で審議され,2005年に国際標準になった.日本では,これを翻訳して,JIS X 7109:2009として日本工業規格になっている.さらに,この標準に準拠して応用スキーマを作成することが,国土地理院の地理情報標準プロファイル(JPGIS)でうたわれている.プロファイルとは,ある目的に沿って作られた標準のサブセットのことである.JPGISは日本の当面の需要を考慮して作られた,地理情報標準のプロファイルである.従って,多くの公的機関が,この標準を参考にして応用スキーマを作成し,それに基づいた地理情報の実装を行っている. ここで解説する一般地物モデルは、初学者のためにさらに単純化したモデルである。より詳細な内容を学びたい向きは、参考資料や規格そのものを参照するとよい。また、第2章で解説する内容は、地理情報に関する規格を元にしているが、完全に準拠するものではない。内容を単純化し、短い講義期間の中で、モデルの形式表現について理解してもらうことを目的にしているからである。
一般地物モデル(GFM)の骨格 ここでは,一般地物モデルの中で最も中心に位置する部分のみを紹介する.このクラス図は以下のことを示している. 地物型は複数のプロパティをもつことができる.プロパティとは属性,操作及び関連役割である. 属性は属性名(メンバー名)と定義をもつのみならず,そのデータ型の型名及び基数(個数)の下限と上限を,多重度としてもつ. 操作は操作名(メンバー名)と定義をもつのみならず,そのシグネチャをもつ.シグネチャとは,この操作に入力されるパラメータ(引数)の名前とデータ型,及び操作の結果として出力される戻り値の型のことをさす. 関連役割は,役割名(メンバー名)と定義のみならず,その基数をもつ.例えば,自動車の車輪は通常4つであるが,3つ以上,8つまでとすれば,車輪という地物型の役割名は自動車用タイヤ,その基数は[3..8]となるであろう. 地物型は継承関係及び関連によって,互いに関係をもつことができる.継承関係は特化(抽象度の低い下位型への関係)及び汎化(抽象殿高い上位型への関係)からなる.一方関連について,例えば「道」と「建物」は関連をもつことができるが,前面道路という役割で道と,沿道建物という役割で建物とが結ばれる.
継承関係 建物 校舎 駅舎 型名:建物 定義:壁と屋根をもつ人工構造物 抽象:true 下位:校舎、駅舎 型名:校舎 定義:学校の建物 抽象:false 上位:建物 型名:駅舎 定義:駅の建物 建物 校舎 駅舎 ここでは継承関係を具体的に示している.校舎や駅舎は建物を特化した型,つまり下位型である.これらに対して建物は上位型という.この例では二つの継承関係,つまり建物と校舎,建物と駅舎の継承関係がある.
プロパティ プロパティは地物固有の性質を説明する抽象クラス。プロパティは実際には、属性型、操作型及び関連役割型として使用される。 前頁の例で、建物が名称と面積という属性をもつとすると、クラス図及びその記述は以下のようになる。 型名:建物 定義:壁と屋根をもつ人工構造物 抽象:true 特化:継承1、継承2 特性:属性1、属性2 属性1: メンバー名:名称 定義:対象物を識別する文字列 型名:String 基数:1 属性2: メンバー名:面積 定義:幾何形状の大きさ 型名:Real 建物 名称:String 面積:Number プロパティは,地物固有の性質のことであるが,継承は,上位の地物がもつプロパティを下位の地物がもつ(受け継ぐ)ことを示す. メンバー名と定義はプロパティ型から継承
地物属性 その地物であればおしなべて持つ普遍的かつ静的な特性を地物属性という. 地物属性は,空間属性,時間属性,場所属性,及び主題属性に分かれる. 空間属性:形状及び、地物同士の空間関係 時間属性:瞬間と期間、及び、地物同士の時間関係 場所属性:間接的に位置を示す属性 主題属性:その他のテーマ別の属性 空間属性は形状及び、形状同士の空間的な関係を表現する. 時間属性は瞬間や期間及び、それらの順序関係を表現する. 場所属性はその地物が存在する場所(住所や郵便番号など)を表現する。 主題属性はその他の属性,例えば名称,写真,設計図などを表現する。 それぞれの属性は,空間スキーマ,時間スキーマ,地理識別子のためのスキーマで示す型をもつ。 ちなみに,操作は動的な特性と言われる.特性が条件によって変動する可能性がある場合に,操作が使用されるからである。
地物関連 地物型は、関連型を通じて その種類(関連、集成、合成)、相手の地物型の役割名、及び多重度を指定することができる。 関連型は地物型の下位型である.従って,地物型がもつ属性は継承できる.ただし,関連そのものが名称をもつ必然性がない場合には,型名を省略することができる.次のスライドを参照.
地物関連の表現 地物型 関連型 このGFMに準拠した関連の表記例 0..* 1 建物 道路 プロパティ型 役割名 関連役割型 地物型:建物 沿道建物 前面道路 役割名 関連役割型 1..* 地物型:建物 関連: 関連種類:関連 役割: メンバー名:前面道路 定義:建物が面している道路 基数: 下限:1 上限:1 地物型:道路 関連: 関連種類:集成 役割: メンバー名:沿道建物 定義:道路の沿う建物 基数: 下限:0 上限:なし 関連の表記は3種類の中から選ぶことができる.上の例が最もフォーマルな記述例であるが,真ん中の例はその省略表現,下の例は関連の型名がない場合に使われる表記法である.この講義では、主に最後の表記法が使われる。
操作 シグネチャ(signature) メンバー名(member) 引数(argument) 戻り値 (return value) 操作型: メンバー名:日陰 定義:与えられた条件下の、建物の 日陰形状を求める 入力: 引数: 名前:形状 データ型:立体 名前:日付 データ型:グレゴリオ暦 名前:時刻 データ型:時計 出力:多角形 操作 シグネチャ(signature) シグネチャとは、本来は手紙の署名のことであるが、ここでは、操作を呼び出すために必要なパラメータ及びそのデータ型の記述を指す。シグネチャには、操作の名前(メンバー名)、与えるパラメータ(引数)とそのデータ型、及び戻り値のデータ型が含まれる。 操作で使用されるパラメータは引数(argument)と呼ばれる.戻り値は文字列や数値になることが多いが,上記の例のように,幾何学的な図形や,時間など,複雑な構造をもつデータ型を取ることもある. メンバー名(member) 引数(argument) 戻り値 (return value) シグネチャの表現 日陰(形状:立体、 日付:グレゴリオ暦、 時刻:時計):多角形
応用スキーマ 応用スキーマ:GFMが示すルールに従って、それぞれの領域ごとに作られるスキーマ 実世界:現象 論議領域 モデリングに必要な地物を論議領域から抽出する 地物の抽出 抽出した地物の定義と構造を、GFMに従って記述する。 一般地物モデルは,想定されている応用分野で使われるUMLクラス図(これを応用スキーマという)の記述規則である.その記述は,実世界の観察から始まり,応用分野で求められる地物の抽出,定義,構造検討を経て,合意形成が行われ,関係者の間で,地物のインスタンス集合である地物データセットを作成するために使われる.応用スキーマが共有されていれば,データセットの相互理解が可能になる. 応用スキーマ 応用スキーマに準拠する地物インスタンスの集合を作成する。 データセット
論議領域 論議領域 (Universe of discourse) 興味を引くものすべてを含んだ、実世界又は仮想世界の景色 (view) 論議領域: 自宅から小学校までの経路 論議領域は,問題を共有する人々が設定する.例えば小学校において,生徒に「自宅から学校までの案内図」を書きましょうという課題を出すとすると,これが先生と生徒の論議領域になる.
地物の抽出 マンション 居酒屋 公園 K病院 印刷会社 絵画教室 オフィスビル 喫茶店 小学校 道路 信号 小学校の生徒たちは,自分の通学経路を思い出したり,実際に観察して,どのようなモノが沿道にあるか列挙するであろう.
地物型と関係の検討 マンション 居酒屋 公園 建物(種類、位置) K病院 公共建物 印刷会社 民間建物 絵画教室 オフィスビル 公園(位置) 喫茶店 小学校 道路 信号 建物(種類、位置) 公共建物 民間建物 公園(位置) 道路ネットワーク 中心線(形状、始点、終点) 交差点(位置、信号の有無、出る中心線、入る中心線) 次に,列挙したそれぞれのものがどのような種類のものか,分類するであろう.
UMLクラス図の設計 建物(種類、位置) 公共建物 民間建物 公園(位置) 道路ネットワーク 中心線(形状、始点、終点) 交差点(位置、信号の有無、 出る中心線、入る中心線) 分類された類概念を指す言葉は,地物型になる.そして,その間に発見された相互関係は関連や継承になり,クラス図の設計が行われる。 この講義では、全ての地物クラスは、「地物」という抽象クラスの下位クラスとして定義する。抽象クラス「地物」は識別子idをもつ。地物インスタンスはこれによって、他と区別できる。
まとめ 実世界に生起する現象についての知識を共有するためには、 合意されたメタモデルを使って、 モデルの形式表現としてのスキーマを作成し、 このスキーマに準拠するインスタンス集合としての データセットを交換する。 地球上の位置と関連する地物については、 一般地物モデル (GFM) がISO標準として合意されており、 これに準拠するUMLクラス図を含む応用スキーマを作成し、 そのスキーマに従って、地物インスタンスの集合としての
参考文献 有川正俊、太田守重監修(2007)『GISのためのモデリング入門』ソフトバンククリエイティブ (財)日本規格協会、JIS X 7109:2009 地理情報-応用スキーマのための規則