【ぴーえすえむ】
PSM(プラットフォーム依存モデル) とは?
公開:
💡 選んだ技術で、どう作るかをモデルにする
PSMは、システムの構造や振る舞いに、選んだ実装基盤の詳細を反映したモデル。MDAでPIMから具体的な実装へつなぐために使われ、プログラミング言語やミドルウェアなどに合わせた設計を表します。
📌 このページのポイント
- PSMはPlatform Specific Modelの略で、特定基盤の事情を反映する
- PIMで表した構造や振る舞いを、基盤に合う要素へ対応づける
- PSMは実装に近いモデルで、生成されたコードそのものとは区別する
- 変換は手作業・自動・その組み合わせがあり、結果の確認も必要
PSMになると、何が具体的になるの?
例えばPIM(プラットフォーム非依存モデル)の「注文は複数の明細を持つ」という関係を、選んだ基盤でどう表すかを決めるよ。Javaを使う設計なら、注文と明細をクラスへ対応づけ、関連をコレクションで表す、といった詳細を反映できるんだ。
PSMは完成したソースコード?
実装に近いけれど、モデルとコードは区別するよ。MDAではPSMからコードや設定ファイルへつなぐ考え方がある。どこまで生成できるかはモデル、変換規則、ツールによるので、PSMがあれば完成したアプリが必ず出てくるわけではないんだ。
一つのPIMに、一つのPSMしか作れない?
PIMからPSMへの変換は全部自動なの?
全部自動とは限らないよ。OMGの説明には手作業の変換、規則に沿った変換、ツールの結果を人が補う方法もある。注文の関係や計算ルールを保てているかを確認し、生成した実装もテストすることが大切なんだ。
もっと詳しく知りたい人へ
PSMのプラットフォームはOSだけを指す?
OSだけではありません。OMGのMDAではミドルウェアなども対象とし、モデルをコードへつなぐ際には言語やアプリケーションサーバーの選択も扱います。「特定のOS用の図」と決めつけず、そのモデルがどの実装基盤の詳細を表すかを確認します。
まとめ:ざっくりこれだけ覚えればOK!
「PSM」って出てきたら「選んだ実装技術に合わせて、システムの作り方を表すモデル」と思えばだいたいOK!
📖 おまけ:英語の意味
「Platform Specific Model」 = プラットフォーム依存モデル
💬 Specificは「特定の」という意味。モデルに選んだ実装基盤の具体的な事情を取り込むので、この名前なんだよ。