RULE restrict_applied_action_assignment

(* SCHEMA step_merged_ap_schema; *)
-- IN AP214
RULE restrict_applied_action_assignment FOR (applied_action_assignment, object_role );
   WHERE
      wr1:
         SIZEOF(QUERY (aaa <* applied_action_assignment| (aaa.role.description = 'activity element') AND NOT ('STEP_MERGED_AP_SCHEMA.' + 'EXECUTED_ACTION' IN TYPEOF(aaa.assigned_action)))) = 0;
      wr2:
         SIZEOF(QUERY (aaa <* applied_action_assignment| (aaa.role.description = 'activity element') AND NOT item_correlation(aaa.items, [ 'ACTION', 'ACTION_METHOD', 'ACTION_PROPERTY', 'ASSEMBLY_COMPONENT_USAGE_SUBSTITUTE', 'CONFIGURATION_ITEM', 'CONFIGURATION_EFFECTIVITY', 'CONFIGURED_EFFECTIVITY_ASSIGNMENT', 'DOCUMENT_FILE', 'DRAUGHTING_MODEL', 'DRAWING_REVISION', 'GENERAL_PROPERTY', 'MATERIAL_DESIGNATION', 'MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION', 'PRESENTATION_AREA', 'PRODUCT', 'PRODUCT_CONCEPT', 'PRODUCT_CONCEPT_FEATURE', 'PRODUCT_CONCEPT_FEATURE_ASSOCIATION', 'PRODUCT_CONCEPT_FEATURE_CATEGORY', 'PRODUCT_CONCEPT_FEATURE_CATEGORY_USAGE', 'PRODUCT_DEFINITION', 'PRODUCT_DEFINITION_FORMATION', 'PRODUCT_DEFINITION_RELATIONSHIP', 'PRODUCT_DEFINITION_SUBSTITUTE', 'PROPERTY_DEFINITION', 'RESOURCE_PROPERTY', 'SHAPE_ASPECT', 'SHAPE_REPRESENTATION' ]))) = 0;
      wr3:
         SIZEOF(QUERY (aaa <* applied_action_assignment| (NOT EXISTS(aaa.role) OR (aaa.role.description = 'activity element')) AND (SIZEOF(QUERY (i <* aaa.items| ('STEP_MERGED_AP_SCHEMA.' + 'APPLIED_ACTION_ASSIGNMENT' IN TYPEOF(i)))) > 0))) = 0;
      wr4:
         SIZEOF(QUERY (aaa <* applied_action_assignment| (aaa.role.name = 'deliverable element') AND ((NOT ('STEP_MERGED_AP_SCHEMA.' + 'ELEMENT_DELIVERY' IN TYPEOF(aaa.assigned_action)) OR (SIZEOF(QUERY (i <* aaa.items| ('STEP_MERGED_AP_SCHEMA.' + 'APPLIED_ACTION_ASSIGNMENT' IN TYPEOF(i)))) > 1)) OR (SIZEOF(QUERY (i <* aaa.items| ('STEP_MERGED_AP_SCHEMA.' + 'APPLIED_ACTION_ASSIGNMENT' IN TYPEOF(i)) AND (i\action_assignment.role.description <> 'activity element'))) > 0)))) = 0;
      wr5:
         SIZEOF(QUERY (aaa <* applied_action_assignment| (aaa.role.name = 'retention') AND NOT ('STEP_MERGED_AP_SCHEMA.' + 'RETENTION' IN TYPEOF(aaa.assigned_action)))) = 0;
      wr6:
         SIZEOF(QUERY (aaa <* applied_action_assignment| (aaa.role.name = 'retention') AND NOT item_correlation(aaa.items, [ 'ACTION', 'ACTION_DIRECTIVE', 'ACTION_PROPERTY', 'ACTION_RELATIONSHIP', 'APPLIED_ACTION_ASSIGNMENT', 'APPLIED_CLASSIFICATION_ASSIGNMENT', 'ASSEMBLY_COMPONENT_USAGE_SUBSTITUTE', 'CERTIFICATION', 'CLASS_SYSTEM', 'CONFIGURATION_EFFECTIVITY', 'CONFIGURATION_ITEM', 'CONFIGURED_EFFECTIVITY_ASSIGNMENT', 'DOCUMENT_FILE', 'DRAUGHTING_MODEL', 'DRAWING_REVISION', 'GENERAL_PROPERTY', 'MATERIAL_DESIGNATION', 'MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION', 'ORGANIZATIONAL_PROJECT', 'PRESENTATION_AREA', 'PRODUCT', 'PRODUCT_CONCEPT', 'PRODUCT_CONCEPT_FEATURE', 'PRODUCT_CONCEPT_FEATURE_ASSOCIATION', 'PRODUCT_CONCEPT_FEATURE_CATEGORY', 'PRODUCT_CONCEPT_FEATURE_CATEGORY_USAGE', 'PRODUCT_DEFINITION', 'PRODUCT_DEFINITION_FORMATION', 'PRODUCT_DEFINITION_RELATIONSHIP', 'PRODUCT_DEFINITION_SUBSTITUTE', 'PROPERTY_DEFINITION', 'RESOURCE_PROPERTY', 'SHAPE_REPRESENTATION', 'VERSIONED_ACTION_REQUEST' ]))) = 0;
      wr7:
         SIZEOF(QUERY (aaa <* applied_action_assignment| (aaa.role.name = 'test activity') AND NOT item_correlation(aaa.items, [ 'PROPERTY_DEFINITION' ]))) = 0;
END_RULE;

[Top Level Definitions] [Exit]

Generated by STEP Tools® EXPRESS to HTML Converter
2020-07-28T17:02:20-04:00