|Lemon Home Page|

PIML について

PIML (Pattern Information Markup Language) は パターンを構造をもつテキストファイルとして保存し, 表示やコード生成に利用できるように 我々が設計を行なってきた SGML のインスタンスである. 現時点までに,クラス間の構造情報(担当:大月), 説明文,表示のための配置情報(担当:瀬川) の組み込みの設計が終了し,実装がほぼ終了した. 構造情報については,現在複数化の拡張を検討中である.

PIML を設計・提案する理由

背景と目的 でも述べたが, 従来のデザインパターンの記述は 論文や本などのオフライン文書か オンライン文書にしても平文と図からなっており, 意味構造を反映してはいない. このような方式では, デザインパターンを計算機で管理・処理することが難しい. このため, デザインパターンを説明文や構造情報を統合的に意味を反映させて 記述するために SGML を採用し,PIML として提案するものである.

この PIML の提案によって, SGML データベースなどによる管理, ネットワーク上での流通の促進, 設計支援環境での利用などが期待される.


PIML の構成

PIML の構成の概略は,次のようになる.
  1. そのパターンについての記述

    目的,動機,特徴など (「デザインパターン」に準拠)

  2. クラス間の構成情報

    クラスの役割と関係,メソッド,振舞い

    従来は図.PIML では構成情報として再構成する.

  3. 他のパターンとの関わり

特に構成情報に関しては 従来図で示されていたものであるが,

という理由から, 構造情報をタグなどで再構成し直して記述することにした. この部分の設計については, コード生成についての構造情報と疑似コードの節 で詳しく述べる.

しかし,逆にタグとして展開してしまうために, 図として理解しやすい形に再構成する必要がある. また,パターンの各項目についても分割して 一般的な形式で表示を行なえることが 望ましい. このために閲覧表示機構を用意し, 一般的な閲覧形態である Web ブラウザで閲覧が行なえるように HTML および OMT 図の生成を行なうこととした. これについては, 表示について で詳しく説明を行なう.

これから,デザインパターンの項目と PIML 対応関係は下図のようになる.

PIML は解析されて抽象構文木になる. 詳細については PIML の内部表現 にて説明を行なう. また,文法を PIML の文法 に 示す.


PIML の記述例を Iterator.pimlに示す. この例は 「デザインパターン」の Iterator パターンのものである. これは DTD の表記を含んでる.
Mika Ohtsuki <mika@db.is.kyushu-u.ac.jp>
Last modified: Wed Dec 10 15:05:06 JST 1997