(* SCHEMA step_ship_schema; *)
-- ONLY IN AP215/AP216
RULE stability_property_has_name
FOR (applied_classification_assignment);
LOCAL
c_a_set: SET OF APPLIED_CLASSIFICATION_ASSIGNMENT := [];
t1_set: SET OF Compound_representation_item := [];
t2_set: SET OF representation_item := [];
arg_list: LIST OF STRING := ['angle of heel', 'righting arm',
'centre of buoyancy'];
violation: LOGICAL := FALSE;
END_LOCAL;
c_a_set := QUERY(i <* APPLIED_CLASSIFICATION_ASSIGNMENT |
i.Assigned_class.name = 'stability property');
REPEAT i := 1 TO HIINDEX(c_a_set);
REPEAT j := 1 TO HIINDEX(c_a_set[i].items);
t1_set := t1_set + c_a_set[i].items[j];
END_REPEAT;
END_REPEAT;
REPEAT i:=1 TO HIINDEX(t1_set) WHILE (NOT violation);
REPEAT j:=1 TO HIINDEX(arg_list) WHILE (NOT violation);
t2_set := t1_set[i].item_element;
violation := (SIZEOF(QUERY(items <* t2_set |
items.name = arg_list[j])) <> 1);
END_REPEAT;
END_REPEAT;
WHERE
wr1: NOT violation;
END_RULE;
Generated by STEP ToolsTM EXPRESS to HTML Converter
on 2007-09-24T12:42:22-04:00