(* SCHEMA Ship_arrangement_schema; *)
RULE stability_properties_for_floating_position_has_class FOR (applied_classification_assignment );
LOCAL
c_a_set : SET OF applied_classification_assignment := [];
c_a_set2 : SET OF applied_classification_assignment := [];
t1_set : SET OF compound_representation_item := [];
t2_set : SET OF compound_representation_item := [];
t3_set : SET OF representation_item := [];
l_rep_item : list_representation_item;
violation : LOGICAL := FALSE;
END_LOCAL;
c_a_set := QUERY (i <* applied_classification_assignment| i.assigned_class.NAME = 'stability properties for one floating position');
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;
c_a_set2 := QUERY (i <* applied_classification_assignment| i.assigned_class.NAME = 'stability property');
REPEAT i := 1 TO HIINDEX(c_a_set2);
REPEAT j := 1 TO HIINDEX(c_a_set2[i].items);
t2_set := t2_set + c_a_set2[i].items[j];
END_REPEAT;
END_REPEAT;
REPEAT i := 1 TO HIINDEX(t1_set) WHILE NOT violation;
REPEAT j := 1 TO HIINDEX(t1_set[i].item_element);
l_rep_item := t1_set[i].item_element;
t3_set := t3_set + l_rep_item[j];
END_REPEAT;
violation := SIZEOF(t3_set * t2_set) < 1;
t3_set := [];
END_REPEAT;
WHERE
WR1:
NOT violation;
END_RULE;
Generated by STEP Tools® EXPRESS to HTML Converter
2012-03-27T17:16:37-04:00