『科学的モデリング』による高階述語を利用した複雑なクラス図の考え方
UMLで関連を検討する科学的なアプローチをちょっと紹介。
ケースとして:
各官庁が補助金を出す大学を選ぶ時、まず候補大学を選んで、その中なら最終的に補助金を出す大学を選出する
場合を考える。
関連は命題表現(関係述語)であり、これは同時に「演繹」であり「写像」であるから、最初の関連は論理表現では:
『 候補に選出する(官庁 , 大学) 』
と記述できる。
最終的に求めたい関連(写像)は
『 選定する(官庁、大学) 』
であるが、定義域に気を付ける必要がある。
まずこの関連(写像)の定義域は、官庁、大学は最初の述語と同じ変数を指すので、『 候補に選出する(官庁 , 大学) 』を満たす大学から選ばなければならない。
結局:
『 選定する(候補に選出する(官庁 , 大学))』
と引数が、最初の関連(写像)になる高階述語となる。ここがポイント。
UMLによるクラス図では、これは関連クラスと関連クラスを繋ぐことで表現できる。
この方法は「論理による問題解法」と言う方法でキチンとした学問体系がある。*でも奥は深く専門性は高い。
Prolog(やLisp)でプログラムを組むエンジニアは良く知っていると思う。
どんな複雑で面倒な制約を持つクラス図もサクサクと描けます。
| 固定リンク
「パソコン・インターネット」カテゴリの記事
- 6つのテーマを同時並行作業(2019.07.05)
- すっかりご無沙汰してしましました(2018.05.27)
- CCCC(C AND C++CODE COUNTER)GUIランチャーの公開(2017.04.13)
- 作成したYicesのGUIからオプションを変えSMTを行う(2017.01.19)
- 『Yices』によるSMTソルバ(2017.01.18)
最近のコメント