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