(* SCHEMA ship_structures_schema; *)
RULE hull_cross_section_design_has_at_least_one_revision_with_context FOR (
group, applied_classification_assignment);
LOCAL
gr_ass_set : SET OF applied_group_assignment := [];
violation : LOGICAL := FALSE;
t1_set : SET OF product_definition_shape := [];
c_a_set : SET OF applied_classification_assignment := [];
END_LOCAL;
c_a_set := QUERY ( i <* applied_classification_assignment | (i.
assigned_class.name = 'hull cross section design definition') );
REPEAT i := 1 TO HIINDEX(c_a_set) BY 1;
REPEAT j := 1 TO HIINDEX(c_a_set[i].items) BY 1;
t1_set := t1_set + c_a_set[i].items[j];
END_REPEAT;
END_REPEAT;
REPEAT i := 1 TO HIINDEX(t1_set) BY 1 WHILE NOT violation;
gr_ass_set := bag_to_set(USEDIN(t1_set[i],
'SHIP_STRUCTURES_SCHEMA.APPLIED_GROUP_ASSIGNMENT.ITEMS'));
violation := SIZEOF(QUERY ( aga <* gr_ass_set | ((aga.role.name =
'members') AND ('revision with context' IN which_class(aga.
assigned_group))) )) < 1;
END_REPEAT;
WHERE
wr1: (NOT violation);
END_RULE; -- hull_cross_section_design_has_at_least_one_revision_with_context
Generated by STEP Tools® EXPRESS to HTML Converter
2012-03-27T17:17:03-04:00