Source : ISO 10303-41
SCHEMA application_context_schema;
REFERENCE FROM
basic_attribute_schema -- ISO 10303-41
(description_attribute,
description_attribute_select,
get_description_value,
get_id_value,
id_attribute,
id_attribute_select);
REFERENCE FROM
date_time_schema -- ISO 10303-41
(year_number);
REFERENCE FROM
language_schema -- ISO 10303-41
(language);
REFERENCE FROM
management_resources_schema -- ISO 10303-41
(identification_assignment);
REFERENCE FROM
person_organization_schema -- ISO 10303-41
(organization);
REFERENCE FROM
support_resource_schema -- ISO 10303-41
(identifier,
label,
text);
TYPE acs_description_attribute_select =
SELECT
BASED_ON
description_attribute_select
WITH
(application_context);
END_TYPE;
TYPE acs_id_attribute_select =
SELECT
BASED_ON
id_attribute_select
WITH
(application_context);
END_TYPE;
TYPE exchange_identification_context_select =
SELECT
(identification_assignment,
organization);
END_TYPE;
ENTITY application_context;
application : label;
DERIVE
description : text := get_description_value(SELF);
id : identifier := get_id_value(SELF);
INVERSE
context_elements : SET[1:?] OF application_context_element FOR frame_of_reference;
WHERE
WR1: SIZEOF(USEDIN(SELF, 'BASIC_ATTRIBUTE_SCHEMA.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1;
WR2: SIZEOF(USEDIN(SELF, 'BASIC_ATTRIBUTE_SCHEMA.' + 'ID_ATTRIBUTE.IDENTIFIED_ITEM')) <= 1;
END_ENTITY;
ENTITY application_context_element
SUPERTYPE OF
(ONEOF (library_context,
product_concept_context,
product_context,
product_definition_context));
name : label;
frame_of_reference : application_context;
END_ENTITY;
ENTITY application_context_relationship;
name : label;
description :
OPTIONAL
text;
relating_context : application_context;
related_context : application_context;
END_ENTITY;
ENTITY application_protocol_definition;
status : label;
application_interpreted_model_schema_name : label;
application_protocol_year : year_number;
application : application_context;
END_ENTITY;
ENTITY dependent_product_definition_exchange_context
ABSTRACT SUPERTYPE
SUBTYPE OF (product_definition_context);
WHERE
WR1: SIZEOF (TYPEOF(SELF) * ['APPLICATION_CONTEXT_SCHEMA.INDENTIFICATION_DEPENDENT_PRODUCT_DEFINITION_EXCHANGE_CONTEXT','APPLICATION_CONTEXT_SCHEMA.LANGUAGE_DEPENDENT_PRODUCT_DEFINITION_EXCHANGE_CONTEXT'])
> 0;
END_ENTITY;
ENTITY identification_dependent_product_definition_exchange_context
SUBTYPE OF (dependent_product_definition_exchange_context);
identification_context : exchange_identification_context_select;
END_ENTITY;
ENTITY language_dependent_product_definition_exchange_context
SUBTYPE OF (dependent_product_definition_exchange_context);
language : language;
END_ENTITY;
ENTITY library_context
SUBTYPE OF (application_context_element);
library_reference : label;
END_ENTITY;
ENTITY product_concept_context
SUBTYPE OF (application_context_element);
market_segment_type : label;
END_ENTITY;
ENTITY product_context
SUBTYPE OF (application_context_element);
discipline_type : label;
END_ENTITY;
ENTITY product_definition_context
SUBTYPE OF (application_context_element);
life_cycle_stage : label;
END_ENTITY;
END_SCHEMA; -- application_context_schema