6.2 mapping macroの解説(HZ, SHI)
去る99年6月6〜11日に開催されたリレハンメル会議においてmapping tableの開発でマクロを利用した開発手法が紹介され、紙ベースでの解読が非常に困難であったものがmacroを利用することで非常に理解しやすくなったという紹介がなされた。ただしこのmacroの利用は最終文章であるISOの規格では許されていないため開発段階でのテンポラリーな利用に限定されているが、ここではこの後の項目で紹介を行う"hydrostatics, offset_table_representation"の中で部分的に利用されているため、その中で利用されているmapping macroのreference Pathについて解説を行う。
6.2.1 mapping macro
6.2.1.1 CLASS_ID <T, ID>
classification_item = T
classification_item <-
applied_classification_assignment. items [i]
applied_classification_assignment <=
classification_assignment
{classification_assignment.role ->
classification_role
classification_role. name = 'class membership'}
classification_assignment.assigned_classification ->
group =>
{group.name = ID}
class
T:分類されたinstanceタイプ
ID:class id
classification_itemに値"T"が代入され、それはapplied_classification_assignmentのitems[i]属性によって参照されていて、applied_classification_assignmentはclassification_assignmentを親Entityとしている。
classification_assignmentのrole属性がclassification_roleを参照し、classification_roleのname属性が'class membership'である。
classification_assignmentのassigned_classification属性がgroupを参照し、groupのname属性がIDであると言う制限を満たすとき、classはgroupを親Entityとして持つ事が記述されている。
この関係をEXPRESS-Gで表現すると図6.2-1となる。