« リアルタイム制御系の分析・設計ツール | トップページ | 誰でもできるソフトウエア開発の要件定義&ドメイン分析およびクラス図の科学的アプローチ »

2015年2月24日 (火)

『科学的モデリング』による高階述語を利用した複雑なクラス図の考え方

UMLで関連を検討する科学的なアプローチをちょっと紹介。

 

ケースとして:
 
 各官庁が補助金を出す大学を選ぶ時、まず候補大学を選んで、その中なら最終的に補助金を出す大学を選出する
  

場合を考える。
 
関連は命題表現(関係述語)であり、これは同時に「演繹」であり「写像」であるから、最初の関連は論理表現では:
  
『 候補に選出する(官庁 , 大学) 』
 
と記述できる。
 
最終的に求めたい関連(写像)は
  
『 選定する(官庁、大学) 』
 
であるが、定義域に気を付ける必要がある。
  

まずこの関連(写像)の定義域は、官庁、大学は最初の述語と同じ変数を指すので、『 候補に選出する(官庁 , 大学) 』を満たす大学から選ばなければならない。

 
 
結局:
  
『 選定する(候補に選出する(官庁 , 大学))』
  

と引数が、最初の関連(写像)になる高階述語となる。ここがポイント。

  
UMLによるクラス図では、これは関連クラスと関連クラスを繋ぐことで表現できる。
  
Photo

この方法は「論理による問題解法」と言う方法でキチンとした学問体系がある。*でも奥は深く専門性は高い。
 
Prolog(やLisp)でプログラムを組むエンジニアは良く知っていると思う。

 

どんな複雑で面倒な制約を持つクラス図もサクサクと描けます。

|

« リアルタイム制御系の分析・設計ツール | トップページ | 誰でもできるソフトウエア開発の要件定義&ドメイン分析およびクラス図の科学的アプローチ »

「パソコン・インターネット」カテゴリの記事