Schema: method_definition_schema

Source : ISO 10303-49



SCHEMA method_definition_schema;

REFERENCE FROM action_schema   -- ISO 10303-41
  (action_method,
   action_method_relationship,
   action_relationship);

REFERENCE FROM document_schema   -- ISO 10303-41
  (document,
   document_usage_constraint);

REFERENCE FROM effectivity_schema   -- ISO 10303-41
  (effectivity);

REFERENCE FROM measure_schema   -- ISO 10303-41
  (count_measure);

REFERENCE FROM support_resource_schema   -- ISO 10303-41
  (label,
   text);

REFERENCE FROM process_property_schema   -- ISO 10303-49
  (product_definition_process,
   property_process);


TYPE relationship_with_condition = SELECT
   (action_method_relationship,
    action_relationship,
    context_dependent_action_method_relationship,
    context_dependent_action_relationship);
END_TYPE;

TYPE process_or_process_relationship = SELECT
   (product_definition_process,
    property_process,
    relationship_with_condition);
END_TYPE;

ENTITY action_method_with_associated_documents
  SUBTYPE OF (action_method);
  documents : SET[1:?] OF document;
END_ENTITY;

ENTITY action_method_with_associated_documents_constrained
  SUBTYPE OF (action_method_with_associated_documents);
  usage_constraints : SET[1:?] OF document_usage_constraint;
WHERE
  WR1: SIZEOF (QUERY (item <* usage_constraints | NOT (item.source IN SELF\action_method_with_associated_documents.documents))) = 0;
END_ENTITY;

ENTITY action_method_to_select_from
  SUBTYPE OF (action_method);
  number_of_elements : count_measure;
WHERE
  WR1: number_of_elements >=1;
  WR2: SIZEOF (USEDIN (SELF, 'ACTION_SCHEMA.ACTION_METHOD_RELATIONSHIP.RELATING_METHOD')) >= number_of_elements;
END_ENTITY;

ENTITY process_or_process_relationship_effectivity
  SUBTYPE OF (effectivity);
  effective_process_or_process_relationship : process_or_process_relationship;
END_ENTITY;

ENTITY serial_action_method
  SUBTYPE OF (action_method_relationship);
END_ENTITY;

ENTITY sequential_method
  SUBTYPE OF (serial_action_method);
  sequence_position : count_measure;
END_ENTITY;

ENTITY concurrent_action_method
  SUBTYPE OF (action_method_relationship);
END_ENTITY;

ENTITY context_dependent_action_method_relationship;
  name : label;
  relating_relationship : action_method_relationship;
  related_relationship : action_method_relationship;
UNIQUE
  UR1: relating_relationship, related_relationship;
WHERE
  WR1: relating_relationship.relating_method :=: related_relationship.relating_method;
END_ENTITY;

ENTITY context_dependent_action_relationship;
  name : label;
  relating_relationship : action_relationship;
  related_relationship : action_relationship;
UNIQUE
  UR1: relating_relationship, related_relationship;
WHERE
  WR1: relating_relationship.relating_action :=: related_relationship.relating_action;
END_ENTITY;

ENTITY relationship_condition;
  name : label;
  applicable_relationships : SET[1:?] OF relationship_with_condition;
  condition_description : text;
END_ENTITY;

END_SCHEMA;  -- method_definition_schema