Schema: configuration_management_schema

Source : ISO 10303-44



SCHEMA configuration_management_schema;

REFERENCE FROM product_definition_schema   -- ISO 10303-41
  (product_definition,
   product_definition_formation,
   product_definition_effectivity);

REFERENCE FROM product_structure_schema   -- ISO 10303-44
  (product_definition_usage);

REFERENCE FROM product_concept_schema   -- ISO 10303-44
  (product_concept,
   product_concept_feature_association);

REFERENCE FROM basic_attribute_schema   -- ISO 10303-41
  (get_description_value,
   get_name_value);

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


TYPE configuration_design_item = SELECT
   (product_definition,
    product_definition_formation);
END_TYPE;

ENTITY configurable_item
  SUBTYPE OF (configuration_item);
  item_concept_feature : SET[1:?] OF product_concept_feature_association;
END_ENTITY;

ENTITY configuration_design;
  configuration : configuration_item;
  design : configuration_design_item;
DERIVE
  name : label := get_name_value (SELF);
  description : text := get_description_value (SELF);
UNIQUE
  UR1: configuration, design;
WHERE
  WR1: SIZEOF (USEDIN (SELF, 'BASIC_ATTRIBUTE_SCHEMA.' + 'NAME_ATTRIBUTE.NAMED_ITEM')) <= 1;
  WR2: SIZEOF (USEDIN (SELF, 'BASIC_ATTRIBUTE_SCHEMA.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1;
END_ENTITY;

ENTITY configuration_effectivity
  SUBTYPE OF (product_definition_effectivity);
  configuration : configuration_design;
UNIQUE
  UR1: configuration, usage, id;
WHERE
  WR1: 'PRODUCT_STRUCTURE_SCHEMA.PRODUCT_DEFINITION_USAGE' IN TYPEOF (SELF\product_definition_effectivity.usage);
END_ENTITY;

ENTITY configuration_item;
  id : identifier;
  name : label;
  description : OPTIONAL text;
  item_concept : product_concept;
  purpose : OPTIONAL label;
END_ENTITY;

ENTITY configuration_item_relationship;
  name : label;
  description : OPTIONAL text;
  relating_configuration_item : configuration_item;
  related_configuration_item : configuration_item;
END_ENTITY;

END_SCHEMA;  -- configuration_management_schema