(* SCHEMA integrated_cnc_schema; *)
RULE nc_variable_compatible_initial_value FOR
(expression_representation_item,
representation_item_relationship);
WHERE
-- each nc_variable has at most one one initial value
WR1: (0 = SIZEOF (QUERY (nv <* expression_representation_item |
('INTEGRATED_CNC_SCHEMA.NUMERIC_VARIABLE'
IN TYPEOF (nv)) AND NOT
(1 >= SIZEOF (QUERY (rir <* representation_item_relationship |
(rir.description = 'initial value') AND
(rir.relating_representation_item :=: nv)
))))));
-- the types on either side of the initial value relationship must match
-- each nc_variable has at most one one initial value
WR2: (0 = SIZEOF (QUERY (rir <* representation_item_relationship |
(rir.description = 'initial value') AND
('INTEGRATED_CNC_SCHEMA.NUMERIC_VARIABLE'
IN TYPEOF (rir.relating_representation_item))
AND NOT
((('INTEGRATED_CNC_SCHEMA.INT_NUMERIC_VARIABLE'
IN TYPEOF (rir.relating_representation_item)) AND
('INTEGRATED_CNC_SCHEMA.INT_LITERAL'
IN TYPEOF (rir.related_representation_item)))
OR
((('INTEGRATED_CNC_SCHEMA.REAL_NUMERIC_VARIABLE'
IN TYPEOF (rir.relating_representation_item)) AND
('INTEGRATED_CNC_SCHEMA.REAL_LITERAL'
IN TYPEOF (rir.related_representation_item)
)))))));
END_RULE; -- 10303-238: integrated_cnc_schema
Generated by STEP ToolsTM EXPRESS to HTML Converter
on 2010-01-12T10:42:25-02:00