Source : ISO 10303-44
SCHEMA configuration_management_schema;
REFERENCE FROM
basic_attribute_schema -- ISO 10303-41
(description_attribute_select,
get_description_value,
get_name_value,
name_attribute_select);
REFERENCE FROM
effectivity_schema -- ISO 10303-41
(effectivity);
REFERENCE FROM
product_concept_schema -- ISO 10303-44
(product_concept,
product_concept_feature_association);
REFERENCE FROM
product_definition_schema -- ISO 10303-41
(product_definition,
product_definition_effectivity,
product_definition_formation);
REFERENCE FROM
product_structure_schema -- ISO 10303-44
(product_definition_occurrence,
product_definition_usage);
REFERENCE FROM
support_resource_schema -- ISO 10303-41
(bag_to_set,
identifier,
label,
text);
TYPE cms_description_attribute_select =
SELECT
BASED_ON
description_attribute_select
WITH
(configuration_design);
END_TYPE;
TYPE cms_name_attribute_select =
SELECT
BASED_ON
name_attribute_select
WITH
(configuration_design);
END_TYPE;
TYPE configuration_design_item =
SELECT
(product_definition,
product_definition_formation,
product_definition_occurrence);
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, SELF\product_definition_effectivity.usage, SELF\effectivity.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