107. アクションを深読み ~ データフロー
はじめに
そういえば前回、アクションを描いていくときに概念情報モデルについていくつか問題点があると言及しっぱなしだったので、まず、アクションを考えていきながらのレビューを反映して修正した概念情報モデルを示し、アクションの実行セマンティクスを解説していくことにします。
修正後の概念情報モデル
修正後の概念情報モデルは以下の通りです。
前回のアクションはすべてこの修正後のモデルをもとに記述していました。
前回の冒頭の図とこの図を比較して何が変わったか見比べてみてください。
変わっているのは、R9の多重度と地方担当行政部局の識別子の添え字です。
なぜ変えたかそれぞれ考えてみてください。一応答えはこの投稿の後のほうで書いておくことにします。
アクション = データフロー
前回紹介したアクションを以下に示します。
SELECT ANY lpd FROM INSTANCES OF HC_LGD
WHERE SELECTED.部局名 == param.部局名 AND SELECTED.所在地 == param.部局所在地 ;
SELECT ANY mcd FROM INSTANCES OF HC_MCD
WHERE SELECTED.管理用シリアル番号 == param.管理シリアル番号 ;
IF NOT_EMPTY lpd AND NOT_EMPTY mcd
SELECT ANY mplc RELATED BY lpd->HC_MPLC[R3.'運営する']
WHERE SELECTED.会場名 == param.会場名 ;
IF EMPTY mplc
CREATE OBJECT INSTANCE mplc OF HC_MPLC ;
mplc.会場名 = param.会場名 ;
mplc.所在地 = param.会場所在地 ;
mplc.責任者氏名 = param.責任者氏名 ;
RELATE mplc TO lpd ACROSS R3;
RELATE mplc TO mcd ACROSS R4;
END IF;
END IF ;
これ、一見すると、一般的なプログラミング言語で書いたコードと同じように、上から順番に実行されていくように思えますが、概念モデリングのアクションは、違います。詳細は、”Art of Conceptual Modeling”や”7. 現実世界のダイナミクスと概念振舞モデルに関する考察|Knowledge & Experience (note.com)” を見てほしいのですが、本来はデータフロー的な実行の流れを、無理やりテキストで書いています。実際には、
のようなデータフロー図が正確な表現です。OAL によるテキスト表現では、
ここから先は
2,860字
Azure の最新機能で IoT を改めてやってみる
¥200 / 月
初月無料
2022年3月にマイクロソフトの中の人から外の人になった Embedded D. George が、現時点で持っている知識に加えて、頻繁に…
この記事が気に入ったらチップで応援してみませんか?