(* SCHEMA Ship_arrangement_schema; *)
RULE property_definition_for_class_compartment_requirement_definition FOR (applied_classification_assignment );
LOCAL
c_a_set : SET OF applied_classification_assignment := [];
t1_set : SET OF property_definition := [];
t2_set : SET OF property_definition_representation := [];
violation : LOGICAL := FALSE;
END_LOCAL;
c_a_set := QUERY (i <* applied_classification_assignment| i.assigned_class.NAME = 'class compartment requirement definition');
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;
t2_set := bag_to_set(USEDIN(t1_set[i], 'SHIP_ARRANGEMENT_SCHEMA.' + 'PROPERTY_DEFINITION_REPRESENTATION.DEFINITION'));
violation := NOT (SIZEOF(QUERY (t2_inst <* t2_set| (t2_inst.name = 'class compartment requirement definition parameters'))) = 1);
END_REPEAT;
WHERE
WR1:
NOT violation;
END_RULE;
Generated by STEP Tools® EXPRESS to HTML Converter
2012-03-27T17:16:37-04:00