Schema: Product_group_mim



SCHEMA Product_group_mim;

USE FROM basic_attribute_schema   -- ISO 10303-41
  (id_attribute);

USE FROM Classification_assignment_mim;    -- ISO/TS 10303-1114

USE FROM Effectivity_application_mim;    -- ISO/TS 10303-1059

USE FROM group_schema   -- ISO 10303-41
  (group,
   group_relationship);

USE FROM management_resources_schema   -- ISO 10303-41
  (group_assignment);

USE FROM Product_as_individual_mim;    -- ISO/TS 10303-1164

USE FROM Product_concept_identification_mim;    -- ISO/TS 10303-1060

USE FROM product_concept_schema   -- ISO 10303-44
  (product_concept);

USE FROM product_definition_schema   -- ISO 10303-41
  (product,
   product_definition_formation);

USE FROM Product_identification_mim;    -- ISO/TS 10303-1017

USE FROM product_property_definition_schema   -- ISO 10303-41
  (characterized_object);

USE FROM Product_version_mim;    -- ISO/TS 10303-1018

USE FROM Property_assignment_mim;    -- ISO/TS 10303-1030

USE FROM qualified_measure_schema   -- ISO 10303-45
  (descriptive_representation_item);


TYPE attribute_select = SELECT
   (product_group_context,
    product_group_purpose);
END_TYPE;

TYPE product_group_classification_item = SELECT BASED_ON classification_item WITH
   (product_group,
    product_group_relationship);
END_TYPE;

TYPE product_group_effectivity_item = SELECT BASED_ON effectivity_item WITH
   (product_group,
    product_group_membership,
    product_group_relationship);
END_TYPE;

TYPE product_select = EXTENSIBLE GENERIC_ENTITY SELECT
   (product,
    product_as_individual,
    product_concept,
    product_definition_formation,
    product_group);
END_TYPE;

ENTITY product_group
  SUBTYPE OF (group);
END_ENTITY;

ENTITY product_group_attribute_assignment
  SUBTYPE OF (group_assignment);
  SELF\group_assignment.assigned_group : product_group_attributes;
  attributes : SET[1:1] OF attribute_select;
END_ENTITY;

ENTITY product_group_attribute_set
  SUBTYPE OF (group_assignment);
  SELF\group_assignment.assigned_group : product_group;
  product_group_attributes : SET[1:1] OF product_group_attributes;
END_ENTITY;

ENTITY product_group_attributes
  SUBTYPE OF (group);
END_ENTITY;

ENTITY product_group_context
  SUBTYPE OF (descriptive_representation_item);
END_ENTITY;

ENTITY product_group_membership
  SUBTYPE OF (characterized_object, group_assignment);
  member : product_select;
END_ENTITY;

ENTITY product_group_membership_rules
  SUBTYPE OF (group_assignment);
  SELF\group_assignment.assigned_group : product_group;
  product_group_rules : SET[1:1] OF product_group_rules;
END_ENTITY;

ENTITY product_group_purpose
  SUBTYPE OF (descriptive_representation_item);
END_ENTITY;

ENTITY product_group_relationship
  SUBTYPE OF (group_relationship);
END_ENTITY;

ENTITY product_group_rule
  SUBTYPE OF (descriptive_representation_item);
END_ENTITY;

ENTITY product_group_rule_assignment
  SUBTYPE OF (group_assignment);
  SELF\group_assignment.assigned_group : product_group_rules;
  product_group_rules : SET[1:?] OF product_group_rule;
END_ENTITY;

ENTITY product_group_rules
  SUBTYPE OF (group);
END_ENTITY;

END_SCHEMA;  -- Product_group_mim