| Application module: System structure | ISO/TS 10303-1450:2011-10(E) © ISO |
(*
ISO TC184/SC4/WG3 N2773 - ISO/TS 10303-1450 System structure - EXPRESS ARM Long form
Supersedes
ISO TC184/SC4/WG3 N2706
*)
SCHEMA System_structure_arm_LF;
CONSTANT
pre_defined_type_qualifiers : SET OF STRING :=
['minimum',
'maximum',
'nominal',
'specified',
'typical',
'calculated',
'designed',
'estimated',
'measured',
'required',
'set point',
'basic',
'lower deviation',
'upper deviation'];
END_CONSTANT;
TYPE activity_item =
SELECT
(Activity,
Activity_method,
Activity_property,
Applied_activity_assignment,
Approval,
Assembly_component_relationship,
Assigned_property,
Certification,
Contract,
Contract_relationship,
Descriptive_document_property,
Effectivity,
Event,
File,
Independent_property,
Interface_connection,
Interface_connector_occurrence,
Interface_definition_connection,
Item_usage_effectivity,
Numerical_document_property,
Organization,
Person,
Person_in_organization,
Product,
Product_concept,
Product_configuration,
Product_version,
Product_version_relationship,
Product_view_definition,
Project,
View_definition_relationship,
Work_order,
Work_request);
END_TYPE;
TYPE affected_item_select =
SELECT
(Activity,
Activity_method,
Activity_property,
Approval_assignment,
Assembly_component_relationship,
Assigned_property,
Certification_assignment,
Contract,
Contract_relationship,
Document_assignment,
Event_assignment,
File,
Interface_connection,
Interface_connector_occurrence,
Interface_definition_connection,
Organization,
Person,
Person_in_organization,
Product,
Product_configuration,
Product_version,
Product_view_definition,
Project_assignment,
View_definition_relationship,
Work_request);
END_TYPE;
TYPE alias_identification_item =
identification_item
;
WHERE
wr1: NOT ('ALIAS_IDENTIFICATION_ARM.ACTIVITY' IN TYPEOF(SELF));
wr2: NOT ('ALIAS_IDENTIFICATION_ARM.ACTIVITY_METHOD' IN TYPEOF(SELF));
wr3: NOT ('ALIAS_IDENTIFICATION_ARM.ACTIVITY_PROPERTY' IN TYPEOF(SELF));
wr4: NOT ('ALIAS_IDENTIFICATION_ARM.ADDRESS' IN TYPEOF(SELF));
wr5: NOT ('ALIAS_IDENTIFICATION_ARM.AFFECTED_ITEMS_ASSIGNMENT' IN TYPEOF(SELF));
wr6: NOT ('ALIAS_IDENTIFICATION_ARM.APPLIED_ACTIVITY_ASSIGNMENT' IN TYPEOF(SELF));
wr7: NOT ('ALIAS_IDENTIFICATION_ARM.APPROVAL' IN TYPEOF(SELF));
wr8: NOT ('ALIAS_IDENTIFICATION_ARM.ASSEMBLY_COMPONENT_RELATIONSHIP' IN TYPEOF(SELF));
wr9: NOT ('ALIAS_IDENTIFICATION_ARM.ASSEMBLY_RELATIONSHIP_SUBSTITUTION' IN TYPEOF(SELF));
wr10: NOT ('ALIAS_IDENTIFICATION_ARM.ASSIGNED_PROPERTY' IN TYPEOF(SELF));
wr11: NOT ('ALIAS_IDENTIFICATION_ARM.CERTIFICATION' IN TYPEOF(SELF));
wr12: NOT ('ALIAS_IDENTIFICATION_ARM.CLASS' IN TYPEOF(SELF));
wr13: NOT ('ALIAS_IDENTIFICATION_ARM.CONTRACT_RELATIONSHIP' IN TYPEOF(SELF));
wr14: NOT ('ALIAS_IDENTIFICATION_ARM.DESCRIPTIVE_DOCUMENT_PROPERTY' IN TYPEOF(SELF));
wr15: NOT ('ALIAS_IDENTIFICATION_ARM.DOCUMENT_ASSIGNMENT' IN TYPEOF(SELF));
wr16: NOT ('ALIAS_IDENTIFICATION_ARM.EFFECTIVITY' IN TYPEOF(SELF));
wr17: NOT ('ALIAS_IDENTIFICATION_ARM.ENVIRONMENT_ASSIGNMENT' IN TYPEOF(SELF));
wr18: NOT ('ALIAS_IDENTIFICATION_ARM.ENVIRONMENT_DEFINITION' IN TYPEOF(SELF));
wr19: NOT ('ALIAS_IDENTIFICATION_ARM.ENVIRONMENT_DEFINITION_VERSION' IN TYPEOF(SELF));
wr20: NOT ('ALIAS_IDENTIFICATION_ARM.ENVIRONMENT_VIEW_DEFINITION_RELATIONSHIP' IN TYPEOF(SELF));
wr21: NOT ('ALIAS_IDENTIFICATION_ARM.EVENT' IN TYPEOF(SELF));
wr22: NOT ('ALIAS_IDENTIFICATION_ARM.EXTERNAL_CLASS_LIBRARY' IN TYPEOF(SELF));
wr23: NOT ('ALIAS_IDENTIFICATION_ARM.EXTERNAL_SOURCE_IDENTIFICATION' IN TYPEOF(SELF));
wr24: NOT ('ALIAS_IDENTIFICATION_ARM.FILE' IN TYPEOF(SELF));
wr25: NOT ('ALIAS_IDENTIFICATION_ARM.INDEPENDENT_PROPERTY' IN TYPEOF(SELF));
wr26: NOT ('ALIAS_IDENTIFICATION_ARM.INDEPENDENT_PROPERTY_RELATIONSHIP' IN TYPEOF(SELF));
wr27: NOT ('ALIAS_IDENTIFICATION_ARM.INTERFACE_CONNECTION' IN TYPEOF(SELF));
wr28: NOT ('ALIAS_IDENTIFICATION_ARM.INTERFACE_CONNECTOR_OCCURRENCE' IN TYPEOF(SELF));
wr29: NOT ('ALIAS_IDENTIFICATION_ARM.INTERFACE_DEFINITION_CONNECTION' IN TYPEOF(SELF));
wr30: NOT ('ALIAS_IDENTIFICATION_ARM.INTERFACE_DEFINITION_FOR' IN TYPEOF(SELF));
wr31: NOT ('ALIAS_IDENTIFICATION_ARM.ITEM_SHAPE' IN TYPEOF(SELF));
wr32: NOT ('ALIAS_IDENTIFICATION_ARM.MARKET' IN TYPEOF(SELF));
wr33: NOT ('ALIAS_IDENTIFICATION_ARM.NUMERICAL_DOCUMENT_PROPERTY' IN TYPEOF(SELF));
wr34: NOT ('ALIAS_IDENTIFICATION_ARM.OBSERVED_ENVIRONMENT' IN TYPEOF(SELF));
wr35: NOT ('ALIAS_IDENTIFICATION_ARM.OBSERVED_ENVIRONMENT_ASSIGNMENT' IN TYPEOF(SELF));
wr36: NOT ('ALIAS_IDENTIFICATION_ARM.OBSERVED_ENVIRONMENT_VERSION' IN TYPEOF(SELF));
wr37: NOT ('ALIAS_IDENTIFICATION_ARM.OBSERVED_ENVIRONMENT_VIEW_DEFINITION_RELATIONSHIP' IN TYPEOF(SELF));
wr38: NOT ('ALIAS_IDENTIFICATION_ARM.ORGANIZATION_OR_PERSON_IN_ORGANIZATION_ASSIGNMENT' IN TYPEOF(SELF));
wr39: NOT ('ALIAS_IDENTIFICATION_ARM.PERSON' IN TYPEOF(SELF));
wr40: NOT ('ALIAS_IDENTIFICATION_ARM.PERSON_IN_ORGANIZATION' IN TYPEOF(SELF));
wr41: NOT ('ALIAS_IDENTIFICATION_ARM.PRODUCT' IN TYPEOF(SELF));
wr42: NOT ('ALIAS_IDENTIFICATION_ARM.PRODUCT_AS_INDIVIDUAL' IN TYPEOF(SELF));
wr43: NOT ('ALIAS_IDENTIFICATION_ARM.PRODUCT_AS_INDIVIDUAL_VERSION' IN TYPEOF(SELF));
wr44: NOT ('ALIAS_IDENTIFICATION_ARM.PRODUCT_CONCEPT' IN TYPEOF(SELF));
wr45: NOT ('ALIAS_IDENTIFICATION_ARM.PRODUCT_CONFIGURATION' IN TYPEOF(SELF));
wr46: NOT ('ALIAS_IDENTIFICATION_ARM.PRODUCT_VERSION' IN TYPEOF(SELF));
wr47: NOT ('ALIAS_IDENTIFICATION_ARM.PRODUCT_VIEW_DEFINITION' IN TYPEOF(SELF));
wr48: NOT ('ALIAS_IDENTIFICATION_ARM.PROJECT' IN TYPEOF(SELF));
wr49: NOT ('ALIAS_IDENTIFICATION_ARM.REPRESENTATION' IN TYPEOF(SELF));
wr50: NOT ('ALIAS_IDENTIFICATION_ARM.SECURITY_CLASSIFICATION_ASSIGNMENT' IN TYPEOF(SELF));
wr51: NOT ('ALIAS_IDENTIFICATION_ARM.SHAPE_ELEMENT_RELATIONSHIP' IN TYPEOF(SELF));
wr52: NOT ('ALIAS_IDENTIFICATION_ARM.SYSTEM' IN TYPEOF(SELF));
wr53: NOT ('ALIAS_IDENTIFICATION_ARM.SYSTEM_VERSION' IN TYPEOF(SELF));
wr54: NOT ('ALIAS_IDENTIFICATION_ARM.VIEW_DEFINITION_CONTEXT' IN TYPEOF(SELF));
wr55: NOT ('ALIAS_IDENTIFICATION_ARM.VIEW_DEFINITION_RELATIONSHIP' IN TYPEOF(SELF));
wr56: NOT ('ALIAS_IDENTIFICATION_ARM.WORK_ORDER' IN TYPEOF(SELF));
wr57: NOT ('ALIAS_IDENTIFICATION_ARM.WORK_REQUEST' IN TYPEOF(SELF));
END_TYPE;
TYPE any_number_value =
NUMBER;
END_TYPE;
TYPE any_string_value =
STRING;
END_TYPE;
TYPE approval_item =
SELECT
(Activity,
Activity_method,
Activity_method_assignment,
Activity_property,
Address_assignment,
Affected_items_assignment,
Alternate_product_relationship,
Applied_activity_assignment,
Assembly_component_relationship,
Assembly_relationship_substitution,
Assigned_property,
Certification,
Classification_assignment,
Contract,
Contract_assignment,
Contract_relationship,
Date_or_date_time_assignment,
Digital_document_definition,
Document_assignment,
Document_definition_relationship,
Document_version,
Effectivity,
Effectivity_assignment,
Event,
Event_assignment,
Identification_assignment,
In_zone,
Independent_property,
Independent_property_relationship,
Interface_connection,
Interface_connector_occurrence,
Interface_definition_connection,
Interface_definition_for,
Item_usage_effectivity,
Organization_or_person_in_organization_assignment,
Organization_relationship,
Person_in_organization,
Physical_document_definition,
Product,
Product_concept,
Product_configuration,
Product_definition_element_relationship,
Product_design_to_individual,
Product_design_version_to_individual,
Product_planned_to_realized,
Product_version,
Product_version_relationship,
Product_view_definition,
Project,
Project_assignment,
Security_classification,
Security_classification_assignment,
View_definition_context,
View_definition_relationship,
Work_order,
Work_request);
END_TYPE;
TYPE assigned_document_select =
SELECT
(Document,
Document_definition,
Document_version,
File);
END_TYPE;
TYPE assigned_name_select =
SELECT
(Breakdown_element_realization,
Event,
External_class_library,
Product,
Product_view_definition);
END_TYPE;
TYPE breakdown_item =
SELECT
(Breakdown_element_definition,
Breakdown_element_usage);
END_TYPE;
TYPE cartesian_transformation =
SELECT
(Cartesian_transformation_2d,
Cartesian_transformation_3d);
END_TYPE;
TYPE certification_item =
SELECT
(Activity,
Activity_method,
Alternate_product_relationship,
Approving_person_organization,
Assembly_component_relationship,
Assembly_relationship_substitution,
Assigned_property,
Interface_connection,
Interface_definition_connection,
Product,
Product_configuration,
Product_version,
Product_version_relationship,
Project,
View_definition_relationship);
END_TYPE;
TYPE chained_geometric_model_link =
SELECT
(Geometric_coordinate_space,
Geometric_model_relationship,
Geometric_placement_operation);
END_TYPE;
TYPE characterized_activity_definition =
SELECT
(Activity,
Activity_method);
END_TYPE;
TYPE classification_item =
SELECT
(Activity,
Activity_method,
Activity_method_assignment,
Activity_property,
Activity_property_representation,
Activity_relationship,
Activity_status,
Address,
Address_assignment,
Affected_items_assignment,
Alternate_product_relationship,
Applied_activity_assignment,
Approval,
Approval_assignment,
Approval_relationship,
Approval_status,
Approving_person_organization,
Assembly_component_relationship,
Assembly_relationship_substitution,
Assigned_property,
Attribute_translation_assignment,
Breakdown_context,
Breakdown_element_realization,
Breakdown_of,
Calendar_date,
Certification,
Certification_assignment,
Class,
Collection_assignment,
Collection_membership,
Condition,
Condition_assignment,
Condition_parameter,
Condition_relationship,
Context_dependent_unit,
Contract,
Contract_assignment,
Conversion_based_unit,
Date_or_date_time_assignment,
Date_time,
Derived_unit,
Digital_document_definition,
Digital_file,
Directed_activity,
Document_assignment,
Effectivity,
Effectivity_assignment,
Effectivity_relationship,
Environment_assignment,
Environment_definition,
Environment_definition_version,
Environment_view_definition_relationship,
Event,
Event_assignment,
Event_relationship,
External_class_library,
External_source_identification,
File,
File_relationship,
Identification_assignment,
In_zone,
Independent_property,
Independent_property_relationship,
Independent_property_representation,
Interface_connection,
Interface_connector_occurrence,
Interface_definition_connection,
Interface_definition_for,
Item_design_association,
Item_shape,
Item_usage_effectivity,
Language,
Language_indication,
Local_time,
Location,
Location_relationship,
Market,
Numerical_item_with_unit,
Observed_environment,
Observed_environment_assignment,
Observed_environment_version,
Observed_environment_view_definition_relationship,
Organization,
Organization_or_person_in_organization_assignment,
Organization_relationship,
Part_view_definition,
Person,
Person_in_organization,
Product,
Product_concept,
Product_configuration,
Product_design_to_individual,
Product_design_version_to_individual,
Product_group,
Product_group_relationship,
Product_planned_to_realized,
Product_version,
Product_version_relationship,
Product_view_definition,
Project,
Project_assignment,
Project_relationship,
Property_representation,
Representation,
Representation_context,
Representation_item,
Security_classification,
Security_classification_assignment,
String_representation_item,
Time_interval_relationship,
Uncertainty_with_unit,
Unit,
Value_with_unit,
View_definition_context,
View_definition_relationship,
Work_order,
Work_request,
Work_request_status);
END_TYPE;
TYPE collection_assignment_select =
SELECT
(Product,
Product_version,
Product_view_definition);
END_TYPE;
TYPE collection_member_select =
SELECT
(Activity,
Activity_method,
Activity_method_assignment,
Activity_property,
Activity_property_representation,
Activity_relationship,
Activity_status,
Address,
Address_assignment,
Affected_items_assignment,
Alternate_product_relationship,
Applied_activity_assignment,
Approval,
Approval_assignment,
Approval_relationship,
Approval_status,
Approving_person_organization,
Assembly_relationship_substitution,
Assigned_property,
Attribute_translation_assignment,
Axis_placement_mapping,
Breakdown_context,
Breakdown_of,
Calendar_date,
Certification,
Certification_assignment,
Class,
Classification_assignment,
Collection_assignment,
Collection_membership,
Condition,
Condition_assignment,
Condition_parameter,
Condition_relationship,
Contextual_shape_representation,
Contract,
Contract_assignment,
Contract_relationship,
Date_or_date_time_assignment,
Date_time,
Derived_unit_element,
Document_assignment,
Document_definition_relationship,
Effectivity,
Effectivity_assignment,
Effectivity_relationship,
Environment_assignment,
Event,
Event_assignment,
Event_relationship,
External_source,
External_source_identification,
File,
File_relationship,
Geometric_item_specific_usage,
Identification_assignment,
Identification_relationship,
In_zone,
Independent_property,
Independent_property_relationship,
Interface_connection,
Interface_connector_occurrence,
Interface_definition_connection,
Interface_definition_for,
Item_design_association,
Item_shape,
Item_usage_effectivity,
Language,
Language_indication,
Local_time,
Location,
Location_assignment,
Location_relationship,
Location_representation,
Market,
Measure_qualification,
Name_assignment,
Observed_environment_assignment,
Observed_environment_to_definition,
Observed_environment_to_definition_version,
Observed_environment_to_definition_view,
Organization,
Organization_or_person_in_organization_assignment,
Organization_relationship,
Organizational_location_identification,
Person,
Person_in_organization,
Precision_qualifier,
Product,
Product_concept,
Product_configuration,
Product_configuration_relationship,
Product_definition_element_relationship,
Product_design_to_individual,
Product_design_version_to_individual,
Product_design_view_to_individual,
Product_group,
Product_group_membership,
Product_group_relationship,
Product_occurrence_definition_relationship,
Product_planned_to_realized,
Product_relationship,
Product_version,
Product_version_relationship,
Product_view_definition,
Project,
Project_assignment,
Project_relationship,
Property_definition_representation,
Regional_coordinate,
Representation,
Representation_context,
Representation_item,
Representation_relationship,
Same_as_external_item,
Security_classification,
Security_classification_assignment,
Shape_dependent_property_representation,
Shape_description_association,
Shape_element,
Shape_element_relationship,
Time_interval,
Time_interval_relationship,
Time_offset,
Type_qualifier,
Uncertainty_qualifier,
Unit,
Value_with_unit,
View_definition_context,
View_definition_relationship,
Work_order,
Work_request,
Work_request_status);
END_TYPE;
TYPE condition_item =
SELECT
(Activity,
Activity_property,
Applied_activity_assignment,
Approval,
Approval_assignment,
Assembly_component_relationship,
Assigned_property,
Certification_assignment,
Contract_assignment,
Date_or_date_time_assignment,
Document_assignment,
Effectivity,
Event_assignment,
Interface_connection,
Interface_definition_connection,
Location_assignment,
Product_definition_element_relationship,
Product_group,
Product_group_membership,
Product_group_relationship,
Project_assignment,
Security_classification_assignment,
View_definition_relationship,
Work_order,
Work_request);
END_TYPE;
TYPE condition_parameter_item =
SELECT
(Condition_relationship);
END_TYPE;
TYPE connection_definition_items =
SELECT
(Interface_connector_definition,
Product_view_definition);
END_TYPE;
TYPE connection_items =
SELECT
(Assembly_component_relationship,
connection_definition_items,
Interface_connector_occurrence,
View_definition_relationship);
END_TYPE;
TYPE connector_on_item =
SELECT
(Assembly_component_relationship,
Product_view_definition,
View_definition_relationship);
END_TYPE;
TYPE contract_item =
SELECT
(Activity_method,
Document_version,
organization_or_person_in_organization_item);
END_TYPE;
TYPE date_or_date_time_item =
SELECT
(Activity,
Activity_method,
Activity_method_assignment,
Activity_property,
Activity_property_representation,
Activity_relationship,
Address_assignment,
Affected_items_assignment,
Alternate_product_relationship,
Applied_activity_assignment,
Approval,
Approving_person_organization,
Assembly_component_relationship,
Assembly_relationship_substitution,
Assigned_property,
Breakdown,
Breakdown_element,
Breakdown_element_realization,
Breakdown_element_usage,
Certification,
Certification_assignment,
Contract,
Contract_assignment,
Contract_relationship,
Date_or_date_time_assignment,
Digital_document_definition,
Digital_file,
Document,
Document_assignment,
Document_definition_relationship,
Document_version,
Effectivity,
Effectivity_assignment,
Event_assignment,
Hardcopy,
Identification_assignment,
Independent_property,
Independent_property_relationship,
Independent_property_representation,
Interface_connection,
Interface_connector_occurrence,
Interface_definition_connection,
Interface_definition_for,
Organization_or_person_in_organization_assignment,
Organization_relationship,
Part,
Person,
Person_in_organization,
Physical_document_definition,
Product_concept,
Product_configuration,
Product_design_to_individual,
Product_design_version_to_individual,
Product_planned_to_realized,
Product_version,
Product_version_relationship,
Product_view_definition,
Project,
Project_assignment,
Property_representation,
Representation,
Security_classification_assignment,
View_definition_context,
Work_order,
Work_request);
END_TYPE;
TYPE date_or_date_time_select =
SELECT
(Calendar_date,
Date_time);
END_TYPE;
TYPE date_or_event =
SELECT
(Calendar_date,
Date_time,
Event);
END_TYPE;
TYPE day_in_month_number =
INTEGER
;
WHERE
WR1: {1 <= SELF <= 31};
END_TYPE;
TYPE described_element_select =
SELECT
(Product_occurrence_definition_relationship,
View_definition_usage);
END_TYPE;
TYPE descriptive_or_numerical =
SELECT
(Descriptive_document_property,
Numerical_document_property);
END_TYPE;
TYPE document_property_item =
property_assignment_select
;
WHERE
wr1: NOT ('DOCUMENT_PROPERTIES_ARM.ADDRESS' IN TYPEOF(SELF));
wr2: NOT ('DOCUMENT_PROPERTIES_ARM.ALTERNATE_PRODUCT_RELATIONSHIP' IN TYPEOF(SELF));
wr3: NOT ('DOCUMENT_PROPERTIES_ARM.APPLIED_ACTIVITY_ASSIGNMENT' IN TYPEOF(SELF));
wr4: NOT ('DOCUMENT_PROPERTIES_ARM.ASSEMBLY_COMPONENT_RELATIONSHIP' IN TYPEOF(SELF));
wr5: NOT ('DOCUMENT_PROPERTIES_ARM.BREAKDOWN_ELEMENT_REALIZATION' IN TYPEOF(SELF));
wr6: NOT ('DOCUMENT_PROPERTIES_ARM.BREAKDOWN_ELEMENT_USAGE' IN TYPEOF(SELF));
wr7: NOT ('DOCUMENT_PROPERTIES_ARM.DOCUMENT_ASSIGNMENT' IN TYPEOF(SELF));
wr8: NOT ('DOCUMENT_PROPERTIES_ARM.IN_ZONE' IN TYPEOF(SELF));
wr9: NOT ('DOCUMENT_PROPERTIES_ARM.INDEPENDENT_PROPERTY_RELATIONSHIP' IN TYPEOF(SELF));
wr10: NOT ('DOCUMENT_PROPERTIES_ARM.INTERFACE_CONNECTION' IN TYPEOF(SELF));
wr11: NOT ('DOCUMENT_PROPERTIES_ARM.INTERFACE_CONNECTOR_OCCURRENCE' IN TYPEOF(SELF));
wr12: NOT ('DOCUMENT_PROPERTIES_ARM.INTERFACE_DEFINITION_CONNECTION' IN TYPEOF(SELF));
wr13: NOT ('DOCUMENT_PROPERTIES_ARM.ORGANIZATION_OR_PERSON_IN_ORGANIZATION_ASSIGNMENT' IN TYPEOF(SELF));
wr14: NOT ('DOCUMENT_PROPERTIES_ARM.PART_VIEW_DEFINITION' IN TYPEOF(SELF));
wr15: NOT ('DOCUMENT_PROPERTIES_ARM.PERSON' IN TYPEOF(SELF));
wr16: NOT ('DOCUMENT_PROPERTIES_ARM.PERSON_IN_ORGANIZATION' IN TYPEOF(SELF));
wr17: NOT ('DOCUMENT_PROPERTIES_ARM.PRODUCT' IN TYPEOF(SELF));
wr18: NOT ('DOCUMENT_PROPERTIES_ARM.PRODUCT_CONCEPT' IN TYPEOF(SELF));
wr19: NOT ('DOCUMENT_PROPERTIES_ARM.PRODUCT_CONFIGURATION' IN TYPEOF(SELF));
wr20: NOT ('DOCUMENT_PROPERTIES_ARM.PRODUCT_GROUP_MEMBERSHIP' IN TYPEOF(SELF));
wr21: NOT ('DOCUMENT_PROPERTIES_ARM.PRODUCT_VERSION' IN TYPEOF(SELF));
wr22: NOT ('DOCUMENT_PROPERTIES_ARM.PRODUCT_VERSION_RELATIONSHIP' IN TYPEOF(SELF));
wr23: NOT ('DOCUMENT_PROPERTIES_ARM.PRODUCT_VIEW_DEFINITION' IN TYPEOF(SELF));
wr24: NOT ('DOCUMENT_PROPERTIES_ARM.PROJECT' IN TYPEOF(SELF));
wr25: NOT ('DOCUMENT_PROPERTIES_ARM.PROPERTY_DEFINITION_REPRESENTATION' IN TYPEOF(SELF));
wr26: NOT ('DOCUMENT_PROPERTIES_ARM.REPRESENTATION' IN TYPEOF(SELF));
wr27: NOT ('DOCUMENT_PROPERTIES_ARM.REPRESENTATION_CONTEXT' IN TYPEOF(SELF));
wr28: NOT ('DOCUMENT_PROPERTIES_ARM.REPRESENTATION_ITEM' IN TYPEOF(SELF));
wr29: NOT ('DOCUMENT_PROPERTIES_ARM.SECURITY_CLASSIFICATION' IN TYPEOF(SELF));
wr30: NOT ('DOCUMENT_PROPERTIES_ARM.VIEW_DEFINITION_RELATIONSHIP' IN TYPEOF(SELF));
wr31: NOT ('DOCUMENT_PROPERTIES_ARM.WORK_ORDER' IN TYPEOF(SELF));
wr32: NOT ('DOCUMENT_PROPERTIES_ARM.WORK_REQUEST' IN TYPEOF(SELF));
END_TYPE;
TYPE documented_element_select =
SELECT
(Activity,
Activity_method,
Activity_property,
Activity_property_representation,
Alternate_product_relationship,
Applied_activity_assignment,
Approval,
Approval_assignment,
Assembly_component_relationship,
Assembly_relationship_substitution,
Assigned_property,
Breakdown_context,
Breakdown_element_realization,
Certification,
Certification_assignment,
Class,
Contract,
Contract_assignment,
Contract_relationship,
Document_assignment,
Effectivity,
Effectivity_assignment,
External_item_identification,
Identification_assignment,
Independent_property,
Independent_property_relationship,
Independent_property_representation,
Interface_connection,
Interface_connector_occurrence,
Interface_definition_connection,
Market,
Organization,
Organization_or_person_in_organization_assignment,
Part,
Part_version,
Part_view_definition,
Person,
Product,
Product_concept,
Product_configuration,
Product_design_to_individual,
Product_design_version_to_individual,
Product_planned_to_realized,
Product_version,
Product_version_relationship,
Product_view_definition,
Project,
Property_representation,
Representation,
Representation_item,
Security_classification,
Security_classification_assignment,
Shape_element,
Shape_element_relationship,
View_definition_relationship,
Work_order,
Work_request);
END_TYPE;
TYPE effectivity_item =
SELECT
(Activity,
Activity_method,
Activity_method_assignment,
Activity_property,
Activity_property_representation,
Address_assignment,
Alternate_product_relationship,
Applied_activity_assignment,
Approval_assignment,
Assembly_component_relationship,
Assembly_relationship_substitution,
Assigned_property,
Attribute_translation_assignment,
Breakdown_element_realization,
Breakdown_of,
Certification_assignment,
Classification_assignment,
Contract_assignment,
Date_or_date_time_assignment,
Document_assignment,
Document_definition_relationship,
Effectivity_assignment,
Event,
Event_assignment,
External_source_identification,
File,
File_relationship,
Identification_assignment,
Independent_property_representation,
Interface_connection,
Interface_connector_occurrence,
Interface_definition_for,
Organization_or_person_in_organization_assignment,
Organization_relationship,
Person_in_organization,
Product,
Product_configuration,
Product_design_to_individual,
Product_design_version_to_individual,
Product_group,
Product_group_membership,
Product_group_relationship,
Product_planned_to_realized,
Product_version,
Product_version_relationship,
Product_view_definition,
Project_assignment,
Security_classification_assignment,
View_definition_relationship,
Work_order);
END_TYPE;
TYPE environment_item =
SELECT
(Activity,
Activity_method,
Environment_definition_view,
Location,
Organization,
Person,
Product,
Product_concept,
Product_group,
Product_version);
END_TYPE;
TYPE event_item =
SELECT
(Activity,
Approval,
Certification,
Contract,
Contract_relationship,
Product,
Project,
Work_request);
END_TYPE;
TYPE external_identification_item =
SELECT
(Document_definition,
File,
Person_in_organization,
Product,
Project);
END_TYPE;
TYPE geometric_item_specific_usage_select =
SELECT
(Shape_element,
Shape_element_relationship);
END_TYPE;
TYPE hour_in_day =
INTEGER
;
WHERE
WR1: {0 <= SELF < 24};
END_TYPE;
TYPE identification_item =
SELECT
(Activity,
Activity_method,
Activity_property,
Address,
Affected_items_assignment,
Applied_activity_assignment,
Approval,
Approval_status,
Assembly_component_relationship,
Assembly_relationship_substitution,
Assigned_property,
Certification,
Class,
Contract,
Contract_relationship,
Descriptive_document_property,
Digital_document_definition,
Digital_file,
Document,
Document_assignment,
Document_version,
Effectivity,
Environment_assignment,
Environment_definition,
Environment_definition_version,
Environment_view_definition_relationship,
Event,
External_class_library,
External_source_identification,
File,
Hardcopy,
Independent_property,
Independent_property_relationship,
Interface_connection,
Interface_connector_occurrence,
Interface_definition_connection,
Interface_definition_for,
Item_shape,
Market,
Numerical_document_property,
Observed_environment,
Observed_environment_assignment,
Observed_environment_version,
Observed_environment_view_definition_relationship,
Organization,
Organization_or_person_in_organization_assignment,
Person,
Person_in_organization,
Physical_document_definition,
Product,
Product_as_individual,
Product_as_individual_version,
Product_concept,
Product_configuration,
Product_version,
Product_view_definition,
Project,
Representation,
Security_classification,
Security_classification_assignment,
Shape_element_relationship,
System,
System_version,
View_definition_context,
View_definition_relationship,
Work_order,
Work_request);
END_TYPE;
TYPE identifier =
STRING;
END_TYPE;
TYPE in_zone_item =
SELECT
(Interface_connection,
Interface_connector_occurrence,
Interface_definition_connection,
Product_view_definition);
END_TYPE;
TYPE interface_definition_item =
SELECT
(Interface_connection,
Interface_connector_occurrence,
Product_view_definition);
END_TYPE;
TYPE item_usage_relationship_item =
SELECT
(Assembly_component_relationship,
View_definition_usage);
END_TYPE;
TYPE label =
STRING;
END_TYPE;
TYPE length_measure =
REAL;
END_TYPE;
TYPE location_assignment_select =
SELECT
(Activity,
Activity_method_assignment,
Applied_activity_assignment,
Assembly_component_relationship,
Event,
File,
Interface_connection,
Interface_connector_occurrence,
Interface_definition_connection,
Organization,
Person,
Person_in_organization,
Product,
Product_group,
Product_version,
Product_view_definition,
Project,
View_definition_relationship);
END_TYPE;
TYPE measure_value =
SELECT
(any_number_value,
any_string_value,
length_measure,
plane_angle_measure);
END_TYPE;
TYPE minute_in_hour =
INTEGER
;
WHERE
WR1: {0 <= SELF <= 59};
END_TYPE;
TYPE month_in_year_number =
INTEGER
;
WHERE
WR1: {1 <= SELF <= 12};
END_TYPE;
TYPE observed_environment_item =
SELECT
(Activity,
Activity_method,
Environment_definition_view,
Location,
Organization,
Person,
Product,
Product_concept,
Product_group,
Product_version);
END_TYPE;
TYPE offset_orientation =
ENUMERATION
OF
(ahead,
exact,
behind);
END_TYPE;
TYPE organization_or_person_in_organization_item =
SELECT
(Activity,
Activity_property,
Activity_property_representation,
Address,
Affected_items_assignment,
Alternate_product_relationship,
Applied_activity_assignment,
Approval,
Approval_status,
Assembly_component_relationship,
Assembly_relationship_substitution,
Assigned_property,
Breakdown_element_realization,
Certification,
Contract,
Digital_document_definition,
Digital_file,
Directed_activity,
Document,
Document_assignment,
Document_definition,
Document_version,
Effectivity,
Event,
Hardcopy,
Identification_assignment,
Independent_property_representation,
Interface_connection,
Interface_connector_occurrence,
Interface_definition_connection,
Interface_definition_for,
Organization,
Organization_or_person_in_organization_assignment,
Part,
Part_version,
Part_view_definition,
Person,
Person_in_organization,
Physical_document_definition,
Product,
Product_configuration,
Product_version,
Product_view_definition,
Project,
Security_classification,
Security_classification_assignment,
Shape_element_relationship,
Supplied_part_relationship,
View_definition_relationship,
Work_order,
Work_request);
END_TYPE;
TYPE organization_or_person_in_organization_select =
SELECT
(Organization,
Person_in_organization);
END_TYPE;
TYPE plane_angle_measure =
REAL;
END_TYPE;
TYPE product_based_location_representation =
SELECT
(Product,
Product_version);
END_TYPE;
TYPE product_design_view_or_configuration =
SELECT
(Product_configuration,
Product_view_definition);
END_TYPE;
TYPE product_item =
SELECT
(Assembly_component_relationship,
Interface_connector_occurrence,
Product_view_definition,
View_definition_usage);
END_TYPE;
TYPE product_select =
SELECT
(Product,
Product_as_individual,
Product_concept,
Product_group,
Product_version);
END_TYPE;
TYPE product_version_or_configuration =
SELECT
(Product_configuration,
Product_version);
END_TYPE;
TYPE project_item =
SELECT
(Activity,
Activity_method,
Alternate_product_relationship,
Applied_activity_assignment,
Assembly_component_relationship,
Assembly_relationship_substitution,
Independent_property,
Interface_connection,
Interface_definition_connection,
Product,
Product_concept,
Product_configuration,
Product_view_definition,
Representation,
View_definition_relationship);
END_TYPE;
TYPE property_assignment_select =
SELECT
(Address,
Alternate_product_relationship,
Applied_activity_assignment,
Assembly_component_relationship,
Breakdown_element_realization,
Breakdown_element_usage,
Document_assignment,
Document_definition,
File,
In_zone,
Independent_property_relationship,
Interface_connection,
Interface_connector_occurrence,
Interface_definition_connection,
Organization_or_person_in_organization_assignment,
Part_view_definition,
Person,
Person_in_organization,
Product,
Product_concept,
Product_configuration,
Product_group_membership,
Product_version,
Product_version_relationship,
Product_view_definition,
Project,
Property_definition_representation,
Representation,
Representation_context,
Representation_item,
Security_classification,
View_definition_relationship,
Work_order,
Work_request);
END_TYPE;
TYPE represented_definition =
SELECT
(Assigned_property,
Independent_property);
END_TYPE;
TYPE same_as_item =
SELECT
(Product,
Product_version,
Product_view_definition);
END_TYPE;
TYPE second_in_minute =
REAL
;
WHERE
WR1: {0 <= SELF <= 60.000000};
END_TYPE;
TYPE security_classification_item =
SELECT
(Activity,
Activity_method,
Activity_method_assignment,
Activity_property,
Affected_items_assignment,
Alternate_product_relationship,
Applied_activity_assignment,
Assembly_component_relationship,
Assembly_relationship_substitution,
Assigned_property,
Breakdown_element_realization,
Breakdown_element_usage,
Digital_document_definition,
Digital_file,
Document,
Document_assignment,
Document_version,
Event,
Hardcopy,
In_zone,
Interface_connection,
Interface_connector_occurrence,
Interface_definition_connection,
Interface_definition_for,
Physical_document_definition,
Product,
Product_configuration,
Product_design_to_individual,
Product_design_version_to_individual,
Product_version,
Product_view_definition,
Project_relationship,
Work_order,
Work_request,
Work_request_status);
END_TYPE;
TYPE shape_dependent_select =
SELECT
(Item_shape,
Shape_element);
END_TYPE;
TYPE shape_model =
SELECT
(External_geometric_model,
Geometric_model);
END_TYPE;
TYPE shape_select =
SELECT
(Item_shape,
Shape_element,
Shape_element_relationship);
END_TYPE;
TYPE shapeable_item =
SELECT
(Product_occurrence_definition_relationship,
Product_view_definition,
View_definition_usage);
END_TYPE;
TYPE string_select =
SELECT
(Activity,
Activity_method,
Activity_method_assignment,
Activity_property,
Activity_relationship,
Alternate_part_relationship,
Applied_activity_assignment,
Approval,
Approval_relationship,
Approval_status,
Assembly_component_relationship,
Assembly_relationship_substitution,
Assigned_property,
Breakdown_element_realization,
Certification,
Contract,
Date_or_date_time_assignment,
Digital_document_definition,
Document,
Document_assignment,
Document_definition_relationship,
Document_version,
Event,
External_item_identification,
External_source_identification,
File_relationship,
Identification_assignment,
Independent_property,
Independent_property_relationship,
Interface_connection,
Interface_connector_occurrence,
Interface_definition_connection,
Interface_definition_for,
Organization_relationship,
Person_in_organization,
Physical_document_definition,
Product,
Product_configuration,
Product_version,
Product_view_definition,
Project,
Project_assignment,
Project_relationship,
Representation_item,
View_definition_relationship,
Work_order,
Work_request);
END_TYPE;
TYPE template_definition_select =
SELECT
(Geometric_model);
END_TYPE;
TYPE text =
STRING;
END_TYPE;
TYPE time_interval_item =
SELECT
(Activity,
Activity_method_assignment,
Affected_items_assignment,
Directed_activity,
Work_order,
Work_request);
END_TYPE;
TYPE value_qualifier =
SELECT
(Precision_qualifier,
Type_qualifier,
Uncertainty_qualifier);
END_TYPE;
TYPE version_or_definition =
SELECT
(Product_version,
Product_view_definition);
END_TYPE;
TYPE year_number =
INTEGER;
END_TYPE;
ENTITY Activity;
id : STRING;
name : STRING;
description :
OPTIONAL
STRING;
chosen_method : Activity_method;
END_ENTITY;
ENTITY Activity_method;
name : STRING;
description :
OPTIONAL
STRING;
consequence :
OPTIONAL
STRING;
purpose : STRING;
END_ENTITY;
ENTITY Activity_method_assignment;
relation_type : STRING;
assigned_method : Activity_method;
associated_request : Work_request;
END_ENTITY;
ENTITY Activity_property;
name : STRING;
description : STRING;
described_element : characterized_activity_definition;
END_ENTITY;
ENTITY Activity_property_representation;
description :
OPTIONAL
STRING;
property : Activity_property;
rep : Representation;
role : STRING;
END_ENTITY;
ENTITY Activity_relationship;
name : STRING;
description :
OPTIONAL
STRING;
relating_activity : Activity;
related_activity : Activity;
END_ENTITY;
ENTITY Activity_status;
assigned_activity : Activity;
status : STRING;
END_ENTITY;
ENTITY Address;
name :
OPTIONAL
STRING;
street_number :
OPTIONAL
STRING;
street :
OPTIONAL
STRING;
postal_box :
OPTIONAL
STRING;
town :
OPTIONAL
STRING;
region :
OPTIONAL
STRING;
postal_code :
OPTIONAL
STRING;
country :
OPTIONAL
STRING;
internal_location :
OPTIONAL
STRING;
facsimile_number :
OPTIONAL
STRING;
telephone_number :
OPTIONAL
STRING;
electronic_mail_address :
OPTIONAL
STRING;
telex_number :
OPTIONAL
STRING;
url :
OPTIONAL
STRING;
WHERE
WR1: (EXISTS(street_number) OR EXISTS(street) OR EXISTS(postal_box) OR EXISTS(town) OR EXISTS(region) OR EXISTS(postal_code)
OR EXISTS(country) OR EXISTS(internal_location) OR EXISTS(facsimile_number) OR EXISTS(telephone_number) OR EXISTS(electronic_mail_address)
OR EXISTS(telex_number));
END_ENTITY;
ENTITY Address_assignment;
address_type :
OPTIONAL
STRING;
assigned_address : Address;
located_person_organizations : SET[1:?] OF organization_or_person_in_organization_select;
END_ENTITY;
ENTITY Address_based_location_representation
SUBTYPE OF (Location_representation);
postal_address : Address;
END_ENTITY;
ENTITY Affected_items_assignment;
assigned_work_request : Work_request;
items : SET[1:?] OF affected_item_select;
END_ENTITY;
ENTITY Alias_identification
SUBTYPE OF (Identification_assignment);
SELF\Identification_assignment.items : SET[1:?] OF alias_identification_item;
DERIVE
SELF\Identification_assignment.role : STRING := 'alias';
END_ENTITY;
ENTITY Alternate_part_relationship
SUBTYPE OF (Alternate_product_relationship);
SELF\Alternate_product_relationship.alternate_product : Part;
SELF\Alternate_product_relationship.base_product : Part;
END_ENTITY;
ENTITY Alternate_product_relationship;
name :
OPTIONAL
STRING;
description :
OPTIONAL
STRING;
alternate_product : Product;
base_product : Product;
criteria :
OPTIONAL
STRING;
UNIQUE
UR1: alternate_product, base_product;
WHERE
WR1: alternate_product :<>: base_product;
WR2: EXISTS(criteria) OR (TYPEOF(SELF\Alternate_product_relationship) <> TYPEOF(SELF));
END_ENTITY;
ENTITY Amount_of_substance_unit
SUBTYPE OF (Unit);
END_ENTITY;
ENTITY Applied_activity_assignment;
assigned_activity : Activity;
items : SET[1:?] OF activity_item;
role : STRING;
END_ENTITY;
ENTITY Applied_independent_activity_property
SUBTYPE OF (Activity_property);
base_element_property : Independent_property;
DERIVE
SELF\Activity_property.name : STRING := base_element_property.property_type;
END_ENTITY;
ENTITY Applied_independent_property
SUBTYPE OF (Assigned_property);
base_independent_property : Independent_property;
DERIVE
SELF\Assigned_property.name : STRING := base_independent_property.property_type;
END_ENTITY;
ENTITY Approval;
status : Approval_status;
purpose : STRING;
planned_date :
OPTIONAL
date_or_date_time_select;
actual_date :
OPTIONAL
date_or_date_time_select;
END_ENTITY;
ENTITY Approval_assignment;
assigned_approval : Approval;
items : SET[1:?] OF approval_item;
role :
OPTIONAL
STRING;
END_ENTITY;
ENTITY Approval_relationship;
relation_type : STRING;
description :
OPTIONAL
STRING;
relating_approval : Approval;
related_approval : Approval;
END_ENTITY;
ENTITY Approval_status;
status_name : STRING;
END_ENTITY;
ENTITY Approving_person_organization;
person_organization : organization_or_person_in_organization_select;
approval_date :
OPTIONAL
date_or_date_time_select;
authorized_approval : Approval;
role :
OPTIONAL
STRING;
END_ENTITY;
ENTITY Assembly_component_relationship
ABSTRACT SUPERTYPE
OF (ONEOF (Next_assembly_usage,
Promissory_usage,
Component_upper_level_identification))
SUBTYPE OF (Product_occurrence_definition_relationship);
location_indicator :
OPTIONAL
STRING;
quantity :
OPTIONAL
Value_with_unit;
WHERE
WR1: NOT (EXISTS(quantity)) OR ((NOT ('NUMBER' IN TYPEOF(quantity.value_component))) XOR (quantity.value_component > 0));
END_ENTITY;
ENTITY Assembly_relationship_substitution;
name :
OPTIONAL
STRING;
description :
OPTIONAL
STRING;
base_relationship : Assembly_component_relationship;
substitute_relationship : Assembly_component_relationship;
UNIQUE
UR1: base_relationship, substitute_relationship;
WHERE
WR1: base_relationship.relating_view :=: substitute_relationship.relating_view;
WR2: base_relationship :<>: substitute_relationship;
END_ENTITY;
ENTITY Assigned_document_property
SUBTYPE OF (Assigned_property);
SELF\Assigned_property.described_element : document_property_item;
DERIVE
SELF\Assigned_property.name : STRING := 'document property';
WHERE
WR1: SIZEOF(['SYSTEM_STRUCTURE_ARM_LF.DOCUMENT_DEFINITION', 'SYSTEM_STRUCTURE_ARM_LF.FILE'] * TYPEOF(SELF\Assigned_property.described_element))
= 1;
END_ENTITY;
ENTITY Assigned_property;
id :
OPTIONAL
STRING;
name : STRING;
description :
OPTIONAL
STRING;
described_element : property_assignment_select;
END_ENTITY;
ENTITY Attribute_translation_assignment;
considered_instance : string_select;
considered_attribute : STRING;
translation_text : STRING;
translation_language : Language;
UNIQUE
UR1: considered_instance, considered_attribute, translation_language;
END_ENTITY;
ENTITY Axis_placement
SUPERTYPE OF
(ONEOF (Axis_placement_2d,
Axis_placement_3d))
SUBTYPE OF (Detailed_geometric_model_element);
origin : Cartesian_point;
x_axis : Direction;
y_axis : Direction;
DERIVE
dim : INTEGER := SIZEOF(origin.coordinates);
WHERE
WR1: dim > 1;
WR2: dim = SIZEOF(x_axis.coordinates);
WR3: dim = SIZEOF(y_axis.coordinates);
END_ENTITY;
ENTITY Axis_placement_2d
SUBTYPE OF (Axis_placement);
END_ENTITY;
ENTITY Axis_placement_3d
SUBTYPE OF (Axis_placement);
END_ENTITY;
ENTITY Axis_placement_mapping;
source : Axis_placement;
target : Axis_placement;
WHERE
WR1: source\Axis_placement.dim = target\Axis_placement.dim;
END_ENTITY;
ENTITY Breakdown
SUBTYPE OF (Product);
END_ENTITY;
ENTITY Breakdown_context;
id : STRING;
name : STRING;
description :
OPTIONAL
STRING;
breakdown : Breakdown_version;
breakdown_element : Breakdown_element_definition;
END_ENTITY;
ENTITY Breakdown_element
SUBTYPE OF (Product);
END_ENTITY;
ENTITY Breakdown_element_definition
SUBTYPE OF (Product_view_definition);
SELF\Product_view_definition.defined_version : Breakdown_element_version;
END_ENTITY;
ENTITY Breakdown_element_realization
SUBTYPE OF (Product_definition_element_relationship);
END_ENTITY;
ENTITY Breakdown_element_usage
SUBTYPE OF (View_definition_usage);
name : STRING;
SELF\View_definition_relationship.relating_view : Breakdown_element_definition;
SELF\View_definition_relationship.related_view : Breakdown_element_definition;
DERIVE
child_element : Breakdown_element_definition := SELF\View_definition_relationship.related_view;
parent_element : Breakdown_element_definition := SELF\View_definition_relationship.relating_view;
END_ENTITY;
ENTITY Breakdown_element_version
SUBTYPE OF (Product_version);
SELF\Product_version.of_product : Breakdown_element;
END_ENTITY;
ENTITY Breakdown_of;
id : STRING;
name : STRING;
description :
OPTIONAL
STRING;
breakdown : Breakdown_version;
of_view : Product_view_definition;
END_ENTITY;
ENTITY Breakdown_version
SUBTYPE OF (Product_version);
SELF\Product_version.of_product : Breakdown;
INVERSE
breakdown_of : SET[1:?] OF Breakdown_of FOR breakdown;
END_ENTITY;
ENTITY Calendar_date;
year_component : year_number;
month_component : month_in_year_number;
day_component : day_in_month_number;
END_ENTITY;
ENTITY Cartesian_point
SUBTYPE OF (Detailed_geometric_model_element);
coordinates : LIST[1:3] OF length_measure;
END_ENTITY;
ENTITY Cartesian_transformation_2d
SUBTYPE OF (Detailed_geometric_model_element);
multiplication_matrix : ARRAY[1:2] OF Direction;
translation : Cartesian_point;
WHERE
WR1: SIZEOF(multiplication_matrix[1]\Direction.coordinates) = 2;
WR2: SIZEOF(multiplication_matrix[2]\Direction.coordinates) = 2;
WR3: SIZEOF(translation.coordinates) = 2;
END_ENTITY;
ENTITY Cartesian_transformation_3d
SUBTYPE OF (Detailed_geometric_model_element);
multiplication_matrix : ARRAY[1:3] OF Direction;
translation : Cartesian_point;
WHERE
WR1: SIZEOF(multiplication_matrix[1]\Direction.coordinates) = 3;
WR2: SIZEOF(multiplication_matrix[2]\Direction.coordinates) = 3;
WR3: SIZEOF(multiplication_matrix[3]\Direction.coordinates) = 3;
WR4: SIZEOF(translation.coordinates) = 3;
END_ENTITY;
ENTITY Certification;
name : STRING;
description :
OPTIONAL
STRING;
kind : STRING;
END_ENTITY;
ENTITY Certification_assignment;
assigned_certification : Certification;
items : SET[1:?] OF certification_item;
role : STRING;
END_ENTITY;
ENTITY Chain_based_geometric_item_specific_usage
SUBTYPE OF (Geometric_item_specific_usage);
nodes : LIST[2:?] OF
UNIQUE
Geometric_model;
undirected_link : LIST[1:?] OF
UNIQUE
chained_geometric_model_link;
END_ENTITY;
ENTITY Class
SUPERTYPE OF
(ONEOF (Class_by_extension,
Class_by_intension));
id : STRING;
name : STRING;
description :
OPTIONAL
STRING;
END_ENTITY;
ENTITY Class_by_extension
SUBTYPE OF (Class);
END_ENTITY;
ENTITY Class_by_intension
SUBTYPE OF (Class);
END_ENTITY;
ENTITY Classification_assignment;
assigned_class : Class;
items : SET[1:?] OF classification_item;
role :
OPTIONAL
STRING;
END_ENTITY;
ENTITY Collection
SUBTYPE OF (Product);
END_ENTITY;
ENTITY Collection_assignment;
collection : Collection_view_definition;
is_assigned_to : collection_assignment_select;
END_ENTITY;
ENTITY Collection_membership;
member : collection_member_select;
of_collection : Collection_view_definition;
END_ENTITY;
ENTITY Collection_relationship
SUBTYPE OF (Product_relationship);
SELF\Product_relationship.relating_product : Collection;
SELF\Product_relationship.related_product : Collection;
DERIVE
related_collection : Collection := SELF\Product_relationship.related_product;
relating_collection : Collection := SELF\Product_relationship.relating_product;
END_ENTITY;
ENTITY Collection_version
SUBTYPE OF (Product_version);
SELF\Product_version.of_product : Collection;
DERIVE
of_collection : Collection := SELF\Product_version.of_product;
END_ENTITY;
ENTITY Collection_version_relationship
SUBTYPE OF (Product_version_relationship);
SELF\Product_version_relationship.relating_version : Collection_version;
SELF\Product_version_relationship.related_version : Collection_version;
END_ENTITY;
ENTITY Collection_version_sequence_relationship
SUBTYPE OF (Collection_version_relationship);
DERIVE
predecessor : Collection_version := SELF\Product_version_relationship.relating_version;
successor : Collection_version := SELF\Product_version_relationship.related_version;
END_ENTITY;
ENTITY Collection_view_definition
SUBTYPE OF (Product_view_definition);
SELF\Product_view_definition.defined_version : Collection_version;
END_ENTITY;
ENTITY Component_upper_level_identification
SUBTYPE OF (Assembly_component_relationship);
upper_assembly_relationship : Assembly_component_relationship;
sub_assembly_relationship : Next_assembly_usage;
UNIQUE
UR1: upper_assembly_relationship, sub_assembly_relationship;
WHERE
WR1: SELF :<>: upper_assembly_relationship;
WR2: SELF\Product_occurrence_definition_relationship.relating_view :=: upper_assembly_relationship\Product_occurrence_definition_relationship.relating_view;
WR3: SELF\Product_occurrence_definition_relationship.related_view :=: sub_assembly_relationship\Product_occurrence_definition_relationship.related_view;
WR4: (upper_assembly_relationship\Product_occurrence_definition_relationship.related_view :=: sub_assembly_relationship\Product_occurrence_definition_relationship.relating_view)
OR (SIZEOF(QUERY(pdr <* USEDIN(upper_assembly_relationship\Product_occurrence_definition_relationship.related_view, 'SYSTEM_STRUCTURE_ARM_LF.PRODUCT_OCCURRENCE_DEFINITION_RELATIONSHIP.RELATED_VIEW')
| pdr.relating_view :=: sub_assembly_relationship\Product_occurrence_definition_relationship.relating_view)) = 1);
WR5: SIZEOF(['SYSTEM_STRUCTURE_ARM_LF.NEXT_ASSEMBLY_USAGE', 'SYSTEM_STRUCTURE_ARM_LF.COMPONENT_UPPER_LEVEL_IDENTIFICATION']
* TYPEOF(upper_assembly_relationship)) = 1;
END_ENTITY;
ENTITY Condition;
name : STRING;
description :
OPTIONAL
STRING;
END_ENTITY;
ENTITY Condition_assignment;
assigned_condition : Condition;
item : condition_item;
END_ENTITY;
ENTITY Condition_parameter;
name : STRING;
description :
OPTIONAL
STRING;
condition : Condition;
parameter :
OPTIONAL
condition_parameter_item;
END_ENTITY;
ENTITY Condition_relationship;
name : STRING;
description :
OPTIONAL
STRING;
relating_condition : Condition;
related_condition : Condition;
END_ENTITY;
ENTITY Conditional_effectivity
SUBTYPE OF (Effectivity);
condition : Condition;
END_ENTITY;
ENTITY Context_dependent_unit
SUBTYPE OF (Unit);
WHERE
WR1: EXISTS(SELF\Unit.name);
END_ENTITY;
ENTITY Contextual_item_shape
SUBTYPE OF (Item_shape);
SELF\Item_shape.described_element : described_element_select;
DERIVE
shaped_product : Product_view_definition := spa_get_definition(SELF);
END_ENTITY;
ENTITY Contextual_shape_representation;
contextual_shape : Contextual_item_shape;
representing_relationship : Geometric_model_relationship;
DERIVE
context_representation : Geometric_model := representing_relationship.rep_2;
positioned_representation : Geometric_model := representing_relationship.rep_1;
END_ENTITY;
ENTITY Contract;
id : STRING;
purpose : STRING;
kind : STRING;
END_ENTITY;
ENTITY Contract_assignment;
assigned_contract : Contract;
items : SET[1:?] OF contract_item;
END_ENTITY;
ENTITY Contract_relationship;
relating_contract : Contract;
related_contract : Contract;
END_ENTITY;
ENTITY Conversion_based_unit
SUBTYPE OF (Unit);
conversion_factor : Value_with_unit;
WHERE
WR1: EXISTS(SELF\Unit.name);
END_ENTITY;
ENTITY Date_or_date_time_assignment;
assigned_date : date_or_date_time_select;
role : STRING;
items : SET[1:?] OF date_or_date_time_item;
END_ENTITY;
ENTITY Date_time;
date_component : Calendar_date;
time_component : Local_time;
END_ENTITY;
ENTITY Dated_effectivity
SUBTYPE OF (Effectivity);
start_bound : date_or_event;
end_bound :
OPTIONAL
date_or_event;
END_ENTITY;
ENTITY Definitional_representation_relationship
SUBTYPE OF (Representation_relationship);
WHERE
WR1: acyclic_representation_relationship(SELF, [SELF\Representation_relationship.rep_2], 'SYSTEM_STRUCTURE_ARM_LF.' + 'REPRESENTATION');
END_ENTITY;
ENTITY Derived_unit
SUBTYPE OF (Unit);
elements : SET[1:?] OF Derived_unit_element;
END_ENTITY;
ENTITY Derived_unit_element;
base_unit : Unit;
exponent : REAL;
END_ENTITY;
ENTITY Descriptive_document_property
SUBTYPE OF (String_representation_item);
INVERSE
valued_characteristic : SET[1:1] OF Document_property_representation FOR items;
END_ENTITY;
ENTITY Detailed_geometric_model_element
ABSTRACT SUPERTYPE
OF (ONEOF (Cartesian_point,
Direction,
Axis_placement,
Cartesian_transformation_2d,
Cartesian_transformation_3d,
Geometric_placement_operation))
SUBTYPE OF (Representation_item);
END_ENTITY;
ENTITY Digital_document_definition
SUBTYPE OF (Document_definition);
files : SET[0:?] OF Digital_file;
END_ENTITY;
ENTITY Digital_file
SUBTYPE OF (File);
END_ENTITY;
ENTITY Directed_activity
SUBTYPE OF (Activity);
directive : Work_order;
END_ENTITY;
ENTITY Direction
SUBTYPE OF (Detailed_geometric_model_element);
coordinates : LIST[2:3] OF length_measure;
END_ENTITY;
ENTITY Document
SUBTYPE OF (Product);
END_ENTITY;
ENTITY Document_assignment;
assigned_document : assigned_document_select;
is_assigned_to : documented_element_select;
role : STRING;
END_ENTITY;
ENTITY Document_definition
SUPERTYPE OF
(ONEOF (Digital_document_definition,
Physical_document_definition))
SUBTYPE OF (Product_view_definition);
SELF\Product_view_definition.defined_version : Document_version;
DERIVE
associated_document_version : Document_version := SELF\Product_view_definition.defined_version;
description : STRING := SELF\Product_view_definition.name;
END_ENTITY;
ENTITY Document_definition_relationship;
relation_type : STRING;
description :
OPTIONAL
STRING;
relating_document_definition : Document_definition;
related_document_definition : Document_definition;
WHERE
WR1: relating_document_definition :<>: related_document_definition;
END_ENTITY;
ENTITY Document_location_identification
SUBTYPE OF (External_source_identification);
WHERE
WR1: 'SYSTEM_STRUCTURE_ARM_LF.DOCUMENT_DEFINITION' IN TYPEOF(SELF\External_source_identification.item);
END_ENTITY;
ENTITY Document_property_representation
SUBTYPE OF (Representation);
SELF\Representation.items : SET[1:?] OF descriptive_or_numerical;
WHERE
WR1: SIZEOF(QUERY(pr <* USEDIN(SELF, 'SYSTEM_STRUCTURE_ARM_LF.PROPERTY_DEFINITION_REPRESENTATION.REP') | 'SYSTEM_STRUCTURE_ARM_LF.ASSIGNED_PROPERTY'
IN TYPEOF(pr\Property_representation.property))) > 0;
WR2: SELF\Representation.context_of_items.kind = 'document parameters';
WR3: SIZEOF(QUERY(it1 <* SELF\Representation.items | SIZEOF(QUERY(it2 <* SELF\Representation.items | it1.name = it2.name))
> 1)) = 0;
END_ENTITY;
ENTITY Document_version
SUBTYPE OF (Product_version);
SELF\Product_version.of_product : Document;
END_ENTITY;
ENTITY Duration
SUBTYPE OF (Value_with_unit);
WHERE
WR1: 'SYSTEM_STRUCTURE_ARM_LF.' + 'TIME_UNIT' IN TYPEOF(SELF\Value_with_unit.unit);
END_ENTITY;
ENTITY Effectivity
SUPERTYPE OF
((ONEOF (Serial_effectivity,
Dated_effectivity,
Lot_effectivity,
Time_interval_effectivity))
ANDOR (ONEOF (Conditional_effectivity,
Dated_effectivity,
Lot_effectivity,
Serial_effectivity,
Time_interval_effectivity)));
id : STRING;
name : STRING;
description :
OPTIONAL
STRING;
END_ENTITY;
ENTITY Effectivity_assignment;
assigned_effectivity : Effectivity;
role : STRING;
items : SET[1:?] OF effectivity_item;
END_ENTITY;
ENTITY Effectivity_relationship;
relation_type : STRING;
description :
OPTIONAL
STRING;
relating_effectivity : Effectivity;
related_effectivity : Effectivity;
END_ENTITY;
ENTITY Electric_current_unit
SUBTYPE OF (Unit);
END_ENTITY;
ENTITY Environment_assignment;
environment : Environment_definition_view;
item : environment_item;
END_ENTITY;
ENTITY Environment_definition
SUBTYPE OF (Product);
END_ENTITY;
ENTITY Environment_definition_version
SUBTYPE OF (Product_version);
of_environment : Environment_definition;
END_ENTITY;
ENTITY Environment_definition_view
SUBTYPE OF (Product_view_definition);
defined_environment_version : Environment_definition_version;
END_ENTITY;
ENTITY Environment_view_definition_relationship
SUBTYPE OF (View_definition_relationship);
SELF\View_definition_relationship.relating_view : Environment_definition_view;
SELF\View_definition_relationship.related_view : Environment_definition_view;
DERIVE
related_environment : Environment_definition_view := SELF\View_definition_relationship.related_view;
relating_environment : Environment_definition_view := SELF\View_definition_relationship.relating_view;
END_ENTITY;
ENTITY Event;
id : STRING;
name : STRING;
description :
OPTIONAL
STRING;
actual_start_date :
OPTIONAL
date_or_date_time_select;
planned_start_date :
OPTIONAL
date_or_date_time_select;
END_ENTITY;
ENTITY Event_assignment;
assigned_event : Event;
items : SET[1:?] OF event_item;
role : STRING;
END_ENTITY;
ENTITY Event_relationship;
relation_type : STRING;
description :
OPTIONAL
STRING;
relating_event : Event;
related_event : Event;
END_ENTITY;
ENTITY Expanded_uncertainty
SUBTYPE OF (Standard_uncertainty);
coverage_factor : REAL;
END_ENTITY;
ENTITY External_class
SUBTYPE OF (Class);
external_source : External_class_library;
END_ENTITY;
ENTITY External_class_library
SUBTYPE OF (External_source);
END_ENTITY;
ENTITY External_geometric_model
SUBTYPE OF (Geometric_model);
SELF\Representation.items : SET[1:1] OF Axis_placement;
external_file : Digital_file;
WHERE
WR1: SELF\Representation.context_of_items.dimension_count = 3;
WR2: SELF\Representation.context_of_items.kind = 'external';
END_ENTITY;
ENTITY External_item_identification
SUBTYPE OF (External_source_identification);
external_id : STRING;
END_ENTITY;
ENTITY External_source;
id : STRING;
description :
OPTIONAL
STRING;
END_ENTITY;
ENTITY External_source_identification;
source_id : STRING;
source_type : STRING;
item : external_identification_item;
description :
OPTIONAL
STRING;
END_ENTITY;
ENTITY File
ABSTRACT SUPERTYPE
OF (ONEOF (Digital_file,
Hardcopy));
id : STRING;
version :
OPTIONAL
STRING;
contained_data_type :
OPTIONAL
STRING;
END_ENTITY;
ENTITY File_location_identification
SUBTYPE OF (External_item_identification);
WHERE
WR1: 'SYSTEM_STRUCTURE_ARM_LF.FILE' IN TYPEOF(SELF\External_source_identification.item);
END_ENTITY;
ENTITY File_relationship;
relation_type : STRING;
description :
OPTIONAL
STRING;
relating_document_file : File;
related_document_file : File;
WHERE
WR1: relating_document_file :<>: related_document_file;
END_ENTITY;
ENTITY Geometric_composition_with_operator_transformation
SUBTYPE OF (Definitional_representation_relationship, Geometric_relationship_with_operator_transformation);
END_ENTITY;
ENTITY Geometric_composition_with_placement_transformation
SUBTYPE OF (Definitional_representation_relationship, Geometric_relationship_with_placement_transformation);
END_ENTITY;
ENTITY Geometric_coordinate_space
SUBTYPE OF (Numerical_representation_context);
dimension_count : INTEGER;
WHERE
WR1: dimension_count > 0;
END_ENTITY;
ENTITY Geometric_item_specific_usage;
name : STRING;
description :
OPTIONAL
STRING;
definition : geometric_item_specific_usage_select;
identified_item : Detailed_geometric_model_element;
used_model : shape_model;
END_ENTITY;
ENTITY Geometric_model
SUBTYPE OF (Representation);
version_id :
OPTIONAL
STRING;
model_extent :
OPTIONAL
length_measure;
SELF\Representation.context_of_items : Geometric_coordinate_space;
SELF\Representation.items : SET[1:?] OF Detailed_geometric_model_element;
END_ENTITY;
ENTITY Geometric_model_relationship
SUBTYPE OF (Representation_relationship);
SELF\Representation_relationship.rep_1 : Geometric_model;
SELF\Representation_relationship.rep_2 : Geometric_model;
WHERE
WR1: rep_1 <> rep_2;
END_ENTITY;
ENTITY Geometric_model_relationship_with_transformation
ABSTRACT SUPERTYPE
OF (ONEOF (Geometric_relationship_with_placement_transformation,
Geometric_relationship_with_operator_transformation))
SUBTYPE OF (Geometric_model_relationship);
WHERE
WR1: rep_1.context_of_items :<>: rep_2.context_of_items;
END_ENTITY;
ENTITY Geometric_operator_transformation
SUBTYPE OF (Geometric_placement_operation);
target : cartesian_transformation;
END_ENTITY;
ENTITY Geometric_placement
SUBTYPE OF (Geometric_placement_operation);
target : Axis_placement;
END_ENTITY;
ENTITY Geometric_placement_model
SUBTYPE OF (Geometric_model);
SELF\Representation.items : SET[1:1] OF Geometric_placement_operation;
END_ENTITY;
ENTITY Geometric_placement_operation
ABSTRACT SUPERTYPE
OF (ONEOF (Geometric_placement,
Geometric_operator_transformation))
SUBTYPE OF (Detailed_geometric_model_element);
source : Axis_placement;
template_definition : template_definition_select;
END_ENTITY;
ENTITY Geometric_relationship_with_operator_transformation
SUBTYPE OF (Geometric_model_relationship_with_transformation);
transformation : cartesian_transformation;
WHERE
WR1: rep_1.context_of_items\Geometric_coordinate_space.dimension_count :=: rep_2.context_of_items\Geometric_coordinate_space.dimension_count;
END_ENTITY;
ENTITY Geometric_relationship_with_placement_transformation
SUBTYPE OF (Geometric_model_relationship_with_transformation);
transformation : Axis_placement_mapping;
WHERE
WR1: rep_1.context_of_items\Geometric_coordinate_space.dimension_count :=: rep_2.context_of_items\Geometric_coordinate_space.dimension_count;
END_ENTITY;
ENTITY Global_location_representation
SUBTYPE OF (Location_representation);
altitude :
OPTIONAL
Value_with_unit;
geographical_area :
OPTIONAL
STRING;
latitude : Value_with_unit;
longitude : Value_with_unit;
END_ENTITY;
ENTITY Hardcopy
SUBTYPE OF (File);
END_ENTITY;
ENTITY Hierarchical_interface_connection
SUBTYPE OF (Interface_connection);
END_ENTITY;
ENTITY Identification_assignment;
identifier : STRING;
role : STRING;
description :
OPTIONAL
STRING;
items : SET[1:?] OF identification_item;
END_ENTITY;
ENTITY Identification_relationship;
relating_identification_assignment : Identification_assignment;
related_identification_assignment : Identification_assignment;
END_ENTITY;
ENTITY In_zone;
id : STRING;
name : STRING;
description :
OPTIONAL
STRING;
located_item : in_zone_item;
zone : Zone_element_definition;
END_ENTITY;
ENTITY Incomplete_reference_marking
SUBTYPE OF (Classification_assignment);
WHERE
WR1: SIZEOF(QUERY(item <* SELF\Classification_assignment.items | NOT ('SYSTEM_STRUCTURE_ARM_LF.IDRM_MARKED_ITEM' IN TYPEOF(item))))
= 0;
WR2: SELF\Classification_assignment.assigned_class.id = 'reference';
END_ENTITY;
ENTITY Independent_property;
id : STRING;
property_type : STRING;
description :
OPTIONAL
STRING;
END_ENTITY;
ENTITY Independent_property_relationship;
relation_type : STRING;
description :
OPTIONAL
STRING;
relating : Independent_property;
related : Independent_property;
END_ENTITY;
ENTITY Independent_property_representation
SUBTYPE OF (Property_definition_representation);
SELF\Property_definition_representation.definition : Independent_property;
DERIVE
property : Independent_property := SELF\Property_definition_representation.definition;
END_ENTITY;
ENTITY Interface_connection;
id : STRING;
description :
OPTIONAL
STRING;
connection_type : STRING;
connecting : connection_items;
connected : connection_items;
END_ENTITY;
ENTITY Interface_connector
SUBTYPE OF (Product);
END_ENTITY;
ENTITY Interface_connector_definition
SUBTYPE OF (Product_view_definition);
connector_on : Product_view_definition;
SELF\Product_view_definition.defined_version : Interface_connector_version;
END_ENTITY;
ENTITY Interface_connector_occurrence;
id : STRING;
name : STRING;
description :
OPTIONAL
STRING;
occurrence_of : Interface_connector_definition;
connector_on : connector_on_item;
END_ENTITY;
ENTITY Interface_connector_version
SUBTYPE OF (Product_version);
SELF\Product_version.of_product : Interface_connector;
END_ENTITY;
ENTITY Interface_definition_connection;
id : STRING;
description :
OPTIONAL
STRING;
connection_type : STRING;
connecting : connection_definition_items;
connected : connection_definition_items;
END_ENTITY;
ENTITY Interface_definition_for;
id : STRING;
name : STRING;
description :
OPTIONAL
STRING;
interface : Interface_specification_definition;
interface_component : interface_definition_item;
END_ENTITY;
ENTITY Interface_specification
SUBTYPE OF (Product);
END_ENTITY;
ENTITY Interface_specification_definition
SUBTYPE OF (Product_view_definition);
SELF\Product_view_definition.defined_version : Interface_specification_version;
END_ENTITY;
ENTITY Interface_specification_version
SUBTYPE OF (Product_version);
SELF\Product_version.of_product : Interface_specification;
END_ENTITY;
ENTITY Item_design_association;
configuration : Product_configuration;
design : version_or_definition;
UNIQUE
UR1: configuration, design;
END_ENTITY;
ENTITY Item_shape;
id :
OPTIONAL
STRING;
description :
OPTIONAL
STRING;
described_element : shapeable_item;
END_ENTITY;
ENTITY Item_usage_effectivity;
effectivity_domain : Effectivity;
item_usage_relationship : item_usage_relationship_item;
resolved_configuration : Item_design_association;
END_ENTITY;
ENTITY Language;
language_code : STRING;
country_code :
OPTIONAL
STRING;
UNIQUE
UR1: language_code;
END_ENTITY;
ENTITY Language_indication;
considered_instance : string_select;
considered_attribute : STRING;
used_language : Language;
END_ENTITY;
ENTITY Length_unit
SUBTYPE OF (Unit);
END_ENTITY;
ENTITY Local_time;
hour_component : hour_in_day;
minute_component :
OPTIONAL
minute_in_hour;
second_component :
OPTIONAL
second_in_minute;
zone : Time_offset;
END_ENTITY;
ENTITY Location;
name : STRING;
description :
OPTIONAL
STRING;
alternative_location_representations : SET[0:?] OF Location_representation;
END_ENTITY;
ENTITY Location_assignment;
description :
OPTIONAL
STRING;
role :
OPTIONAL
STRING;
entity_for_location : location_assignment_select;
location_for_assignment : Location;
END_ENTITY;
ENTITY Location_relationship;
name : STRING;
description :
OPTIONAL
STRING;
relating : Location;
related : Location;
END_ENTITY;
ENTITY Location_representation
ABSTRACT SUPERTYPE
OF (ONEOF (Address_based_location_representation,
Global_location_representation,
Organization_based_location_representation,
Product_based_location_identification,
Regional_grid_location_representation));
END_ENTITY;
ENTITY Lot_effectivity
SUBTYPE OF (Effectivity);
lot_id : STRING;
lot_size : Value_with_unit;
END_ENTITY;
ENTITY Luminous_intensity_unit
SUBTYPE OF (Unit);
END_ENTITY;
ENTITY Make_from_relationship
SUBTYPE OF (View_definition_usage);
SELF\View_definition_relationship.relating_view : Part_view_definition;
SELF\View_definition_relationship.related_view : Part_view_definition;
quantity :
OPTIONAL
Value_with_unit;
priority :
OPTIONAL
INTEGER;
WHERE
WR1: SELF\View_definition_relationship.relating_view :<>: SELF\View_definition_relationship.related_view;
WR2: NOT (EXISTS(quantity)) XOR ((NOT ('NUMBER' IN TYPEOF(quantity.value_component))) XOR (quantity.value_component > 0));
END_ENTITY;
ENTITY Market;
name : STRING;
market_segment_type :
OPTIONAL
STRING;
END_ENTITY;
ENTITY Mass_unit
SUBTYPE OF (Unit);
END_ENTITY;
ENTITY Measure_item
ABSTRACT SUPERTYPE
OF (ONEOF (Measure_item_with_precision,
Numerical_item_with_global_unit,
Numerical_item_with_unit,
Value_list,
Value_range,
Value_range_with_global_unit,
Value_set,
Value_with_tolerances))
SUBTYPE OF (Representation_item);
WHERE
WR1: SIZEOF(USEDIN(SELF, 'SYSTEM_STRUCTURE_ARM_LF.REPRESENTATION.ITEMS')) > 0;
END_ENTITY;
ENTITY Measure_item_with_precision
SUBTYPE OF (Measure_item);
significant_digits : INTEGER;
END_ENTITY;
ENTITY Measure_qualification;
name : STRING;
description : STRING;
qualified_measure : Value_with_unit;
qualifiers : SET[1:?] OF value_qualifier;
WHERE
WR1: NOT ('SYSTEM_STRUCTURE_ARM_LF.' + 'NUMERICAL_ITEM_WITH_UNIT' IN TYPEOF(qualified_measure));
WR2: SIZEOF(QUERY(temp <* qualifiers | 'SYSTEM_STRUCTURE_ARM_LF.PRECISION_QUALIFIER' IN TYPEOF(temp))) < 2;
END_ENTITY;
ENTITY Name_assignment;
name : STRING;
role : STRING;
items : assigned_name_select;
END_ENTITY;
ENTITY Next_assembly_usage
SUBTYPE OF (Assembly_component_relationship);
END_ENTITY;
ENTITY Numerical_document_property
SUBTYPE OF (Numerical_item_with_unit);
INVERSE
valued_characteristic : SET[1:1] OF Document_property_representation FOR items;
END_ENTITY;
ENTITY Numerical_item_with_global_unit
SUBTYPE OF (Measure_item);
value_component : measure_value;
WHERE
WR1: SIZEOF(QUERY(pvr <* QUERY(r <* USEDIN(SELF, 'SYSTEM_STRUCTURE_ARM_LF.REPRESENTATION.ITEMS') | 'SYSTEM_STRUCTURE_ARM_LF.PROPERTY_VALUE_REPRESENTATION'
IN TYPEOF(r)) | EXISTS(pvr.context_of_items.units))) > 0;
END_ENTITY;
ENTITY Numerical_item_with_unit
SUBTYPE OF (Measure_item, Value_with_unit);
END_ENTITY;
ENTITY Numerical_representation_context
SUBTYPE OF (Representation_context);
units :
OPTIONAL
SET[1:?] OF Unit;
accuracies :
OPTIONAL
SET[1:?] OF Uncertainty_with_unit;
END_ENTITY;
ENTITY Observed_environment
SUBTYPE OF (Product);
END_ENTITY;
ENTITY Observed_environment_assignment;
environment : Observed_environment_view;
item : observed_environment_item;
END_ENTITY;
ENTITY Observed_environment_to_definition;
defined_environment : Environment_definition;
observed_environment : Observed_environment;
END_ENTITY;
ENTITY Observed_environment_to_definition_version;
defined_environment_version : Environment_definition_version;
observed_environment_version : Observed_environment_version;
END_ENTITY;
ENTITY Observed_environment_to_definition_view;
defined_environment_view : Observed_environment_view;
observed_environment_view : Environment_definition_view;
END_ENTITY;
ENTITY Observed_environment_version
SUBTYPE OF (Product_version);
of_environment : Observed_environment;
END_ENTITY;
ENTITY Observed_environment_view
SUBTYPE OF (Product_view_definition);
observed_environment_version : Observed_environment_version;
END_ENTITY;
ENTITY Observed_environment_view_definition_relationship
SUBTYPE OF (View_definition_relationship);
SELF\View_definition_relationship.relating_view : Observed_environment_view;
SELF\View_definition_relationship.related_view : Observed_environment_view;
DERIVE
related_environment : Observed_environment_view := SELF\View_definition_relationship.related_view;
relating_environment : Observed_environment_view := SELF\View_definition_relationship.relating_view;
END_ENTITY;
ENTITY Organization;
id :
OPTIONAL
STRING;
name : STRING;
END_ENTITY;
ENTITY Organization_based_location_representation
SUBTYPE OF (Location_representation);
location_identifications : LIST[0:?] OF Organizational_location_identification;
organization_for_location : Organization;
END_ENTITY;
ENTITY Organization_or_person_in_organization_assignment;
assigned_entity : organization_or_person_in_organization_select;
role : STRING;
items : SET[1:?] OF organization_or_person_in_organization_item;
END_ENTITY;
ENTITY Organization_relationship;
relation_type : STRING;
description :
OPTIONAL
STRING;
relating_organization : Organization;
related_organization : Organization;
END_ENTITY;
ENTITY Organizational_location_identification;
identification_type : STRING;
location_value : STRING;
END_ENTITY;
ENTITY Part
SUBTYPE OF (Product);
END_ENTITY;
ENTITY Part_version
SUBTYPE OF (Product_version);
SELF\Product_version.of_product : Part;
END_ENTITY;
ENTITY Part_view_definition
SUBTYPE OF (Product_view_definition);
SELF\Product_view_definition.defined_version : Part_version;
END_ENTITY;
ENTITY Partial_document_assignment
SUBTYPE OF (Document_assignment);
document_portion : STRING;
END_ENTITY;
ENTITY Person;
last_name : STRING;
first_name :
OPTIONAL
STRING;
middle_names :
OPTIONAL
LIST[1:?] OF STRING;
prefix_titles :
OPTIONAL
LIST[1:?] OF STRING;
suffix_titles :
OPTIONAL
LIST[1:?] OF STRING;
END_ENTITY;
ENTITY Person_in_organization;
concerned_person : Person;
containing_organization : Organization;
role : STRING;
END_ENTITY;
ENTITY Physical_breakdown
SUBTYPE OF (Breakdown);
END_ENTITY;
ENTITY Physical_breakdown_context
SUBTYPE OF (Breakdown_context);
SELF\Breakdown_context.breakdown : Physical_breakdown_version;
SELF\Breakdown_context.breakdown_element : Physical_element_definition;
END_ENTITY;
ENTITY Physical_breakdown_version
SUBTYPE OF (Breakdown_version);
SELF\Breakdown_version.of_product : Physical_breakdown;
END_ENTITY;
ENTITY Physical_document_definition
SUBTYPE OF (Document_definition);
components : SET[0:?] OF Hardcopy;
END_ENTITY;
ENTITY Physical_element
SUBTYPE OF (Breakdown_element);
END_ENTITY;
ENTITY Physical_element_definition
SUBTYPE OF (Breakdown_element_definition);
SELF\Breakdown_element_definition.defined_version : Physical_element_version;
END_ENTITY;
ENTITY Physical_element_usage
SUBTYPE OF (Breakdown_element_usage);
SELF\View_definition_relationship.relating_view : Physical_element_definition;
SELF\View_definition_relationship.related_view : Physical_element_definition;
END_ENTITY;
ENTITY Physical_element_version
SUBTYPE OF (Breakdown_element_version);
SELF\Breakdown_element_version.of_product : Physical_element;
END_ENTITY;
ENTITY Plane_angle_unit
SUBTYPE OF (Unit);
END_ENTITY;
ENTITY Pre_defined_type_qualifier
SUBTYPE OF (Type_qualifier);
WHERE
WR1: SELF\Type_qualifier.name IN pre_defined_type_qualifiers;
END_ENTITY;
ENTITY Precision_qualifier;
precision_value : INTEGER;
END_ENTITY;
ENTITY Product;
id : STRING;
name : STRING;
description :
OPTIONAL
STRING;
END_ENTITY;
ENTITY Product_as_individual
SUBTYPE OF (Product);
END_ENTITY;
ENTITY Product_as_individual_version
ABSTRACT SUPERTYPE
OF (ONEOF (Product_as_planned,
Product_as_realized))
SUBTYPE OF (Product_version);
SELF\Product_version.of_product : Product_as_individual;
END_ENTITY;
ENTITY Product_as_individual_view
SUBTYPE OF (Product_view_definition);
SELF\Product_view_definition.defined_version : Product_as_individual_version;
END_ENTITY;
ENTITY Product_as_planned
SUBTYPE OF (Product_as_individual_version);
END_ENTITY;
ENTITY Product_as_realized
SUBTYPE OF (Product_as_individual_version);
END_ENTITY;
ENTITY Product_based_location_identification
SUBTYPE OF (Location_representation);
location_identification : STRING;
location_name :
OPTIONAL
STRING;
referenced_product : product_based_location_representation;
END_ENTITY;
ENTITY Product_concept;
id : STRING;
name : STRING;
description :
OPTIONAL
STRING;
target_market :
OPTIONAL
Market;
UNIQUE
UR1: id;
END_ENTITY;
ENTITY Product_configuration;
id : STRING;
name : STRING;
description :
OPTIONAL
STRING;
item_context : Product_concept;
INVERSE
corresponding_design : SET[0:1] OF Item_design_association FOR configuration;
END_ENTITY;
ENTITY Product_configuration_hierarchical_relationship
SUBTYPE OF (Product_configuration_relationship);
DERIVE
child : Product_configuration := SELF\Product_configuration_relationship.related_product_configuration;
parent : Product_configuration := SELF\Product_configuration_relationship.relating_product_configuration;
END_ENTITY;
ENTITY Product_configuration_relationship
SUPERTYPE OF
(ONEOF (Product_configuration_hierarchical_relationship,
Product_configuration_revision_sequence));
relating_product_configuration : Product_configuration;
related_product_configuration : Product_configuration;
END_ENTITY;
ENTITY Product_configuration_revision_sequence
SUBTYPE OF (Product_configuration_relationship);
DERIVE
predecessor : Product_configuration := SELF\Product_configuration_relationship.relating_product_configuration;
successor : Product_configuration := SELF\Product_configuration_relationship.related_product_configuration;
END_ENTITY;
ENTITY Product_definition_element_relationship;
id : STRING;
name : STRING;
description :
OPTIONAL
STRING;
breakdown : breakdown_item;
product : product_item;
END_ENTITY;
ENTITY Product_design_to_individual;
product_design : Product;
individual_product : Product_as_individual;
END_ENTITY;
ENTITY Product_design_version_to_individual;
product_design_version : product_version_or_configuration;
individual_product : Product_as_individual_version;
END_ENTITY;
ENTITY Product_design_view_to_individual;
product_as_individual_view : Product_as_individual_view;
product_view_definition : product_design_view_or_configuration;
END_ENTITY;
ENTITY Product_group;
id : STRING;
description :
OPTIONAL
STRING;
purpose : STRING;
membership_rule :
OPTIONAL
STRING;
product_group_context :
OPTIONAL
STRING;
END_ENTITY;
ENTITY Product_group_membership;
member : product_select;
of_group : Product_group;
END_ENTITY;
ENTITY Product_group_relationship;
description :
OPTIONAL
STRING;
relating : Product_group;
related : Product_group;
role :
OPTIONAL
STRING;
END_ENTITY;
ENTITY Product_occurrence_definition_relationship
ABSTRACT SUPERTYPE
;
relating_view : Product_view_definition;
related_view : Product_view_definition;
END_ENTITY;
ENTITY Product_planned_to_realized;
planned_product : Product_as_planned;
realized_product : Product_as_realized;
END_ENTITY;
ENTITY Product_relationship;
relation_type : STRING;
description :
OPTIONAL
STRING;
relating_product : Product;
related_product : Product;
END_ENTITY;
ENTITY Product_version;
id : STRING;
description :
OPTIONAL
STRING;
of_product : Product;
END_ENTITY;
ENTITY Product_version_relationship;
relation_type :
OPTIONAL
STRING;
description :
OPTIONAL
STRING;
relating_version : Product_version;
related_version : Product_version;
WHERE
WR1: relating_version :<>: related_version;
WR2: EXISTS(relation_type) OR (TYPEOF(SELF\Product_version_relationship) <> TYPEOF(SELF));
END_ENTITY;
ENTITY Product_view_definition;
id :
OPTIONAL
STRING;
name :
OPTIONAL
STRING;
additional_characterization :
OPTIONAL
STRING;
initial_context : View_definition_context;
additional_contexts : SET[0:?] OF View_definition_context;
defined_version : Product_version;
WHERE
WR1: NOT (initial_context IN additional_contexts);
WR2: EXISTS(id) OR (TYPEOF(SELF\Product_view_definition) <> TYPEOF(SELF));
END_ENTITY;
ENTITY Project;
id : STRING;
name : STRING;
description :
OPTIONAL
STRING;
responsible_organizations : SET[0:?] OF Organization;
planned_start_date :
OPTIONAL
date_or_event;
planned_end_date :
OPTIONAL
date_or_event;
actual_start_date :
OPTIONAL
date_or_date_time_select;
actual_end_date :
OPTIONAL
date_or_date_time_select;
END_ENTITY;
ENTITY Project_assignment;
assigned_project : Project;
role : STRING;
items : SET[1:?] OF project_item;
END_ENTITY;
ENTITY Project_relationship;
relation_type : STRING;
description :
OPTIONAL
STRING;
relating_project : Project;
related_project : Project;
END_ENTITY;
ENTITY Promissory_usage
SUBTYPE OF (Assembly_component_relationship);
END_ENTITY;
ENTITY Property_definition_representation
ABSTRACT SUPERTYPE
;
description :
OPTIONAL
STRING;
definition : represented_definition;
rep : Representation;
role :
OPTIONAL
STRING;
END_ENTITY;
ENTITY Property_representation
SUBTYPE OF (Property_definition_representation);
SELF\Property_definition_representation.definition : Assigned_property;
DERIVE
property : Assigned_property := SELF\Property_definition_representation.definition;
END_ENTITY;
ENTITY Property_value_representation
SUBTYPE OF (Representation);
SELF\Representation.context_of_items : Numerical_representation_context;
END_ENTITY;
ENTITY Qualified_numerical_item_with_unit
SUBTYPE OF (Numerical_item_with_unit, Qualified_representation_item);
END_ENTITY;
ENTITY Qualified_representation_item
ABSTRACT SUPERTYPE
SUBTYPE OF (Representation_item);
qualifiers : SET[1:?] OF value_qualifier;
WHERE
WR1: SIZEOF(QUERY(temp <* qualifiers | 'SYSTEM_STRUCTURE_ARM_LF.PRECISION_QUALIFIER' IN TYPEOF(temp))) < 2;
END_ENTITY;
ENTITY Qualitative_uncertainty
SUBTYPE OF (Uncertainty_qualifier);
uncertainty_value : STRING;
END_ENTITY;
ENTITY Ratio_unit
SUBTYPE OF (Unit);
END_ENTITY;
ENTITY Regional_coordinate;
name : STRING;
coordinate_value : Value_with_unit;
grid_system : Regional_grid_location_representation;
END_ENTITY;
ENTITY Regional_grid_location_representation
SUBTYPE OF (Location_representation);
name : STRING;
description :
OPTIONAL
STRING;
END_ENTITY;
ENTITY Relative_event
SUBTYPE OF (Event);
base_event : Event;
offset : Duration;
END_ENTITY;
ENTITY Representation;
id :
OPTIONAL
identifier;
name :
OPTIONAL
label;
description :
OPTIONAL
text;
context_of_items : Representation_context;
items : SET[1:?] OF Representation_item;
WHERE
WR1: EXISTS(name) OR (TYPEOF(SELF\Representation) <> TYPEOF(SELF));
END_ENTITY;
ENTITY Representation_context;
id : identifier;
kind : text;
INVERSE
representations_in_context : SET[1:?] OF Representation FOR context_of_items;
END_ENTITY;
ENTITY Representation_item
ABSTRACT SUPERTYPE
;
name :
OPTIONAL
label;
END_ENTITY;
ENTITY Representation_relationship;
relation_type :
OPTIONAL
label;
description :
OPTIONAL
text;
rep_1 : Representation;
rep_2 : Representation;
WHERE
WR1: EXISTS(relation_type) OR (TYPEOF(SELF\Representation_relationship) <> TYPEOF(SELF));
WR2: EXISTS(description) OR (TYPEOF(SELF\Representation_relationship) <> TYPEOF(SELF));
END_ENTITY;
ENTITY Same_as_external_item;
external_item_id : STRING;
description :
OPTIONAL
STRING;
role : STRING;
external_source : External_source;
items : SET[0:?] OF same_as_item;
END_ENTITY;
ENTITY Security_classification;
classification_level : STRING;
description :
OPTIONAL
STRING;
END_ENTITY;
ENTITY Security_classification_assignment;
classification : Security_classification;
items : SET[1:?] OF security_classification_item;
END_ENTITY;
ENTITY Serial_effectivity
SUBTYPE OF (Effectivity);
start_id : STRING;
end_id :
OPTIONAL
STRING;
END_ENTITY;
ENTITY Shape_dependent_property_representation;
characteristic_type : STRING;
description :
OPTIONAL
STRING;
described_element : shape_dependent_select;
property_representation : Representation;
END_ENTITY;
ENTITY Shape_description_association;
represented_characteristic : shape_select;
representation : shape_model;
role :
OPTIONAL
STRING;
description :
OPTIONAL
STRING;
END_ENTITY;
ENTITY Shape_element;
id :
OPTIONAL
STRING;
element_name :
OPTIONAL
STRING;
description :
OPTIONAL
STRING;
containing_shape : Item_shape;
WHERE
WR1: EXISTS(element_name) OR (TYPEOF(SELF\Shape_element) <> TYPEOF(SELF));
END_ENTITY;
ENTITY Shape_element_relationship;
relation_type :
OPTIONAL
STRING;
description :
OPTIONAL
STRING;
relating : Shape_element;
related : Shape_element;
WHERE
WR1: EXISTS(relation_type) OR (TYPEOF(SELF\Shape_element_relationship) <> TYPEOF(SELF));
END_ENTITY;
ENTITY Shape_placement_association
SUBTYPE OF (Shape_description_association);
SELF\Shape_description_association.representation : Geometric_placement_model;
SELF\Shape_description_association.represented_characteristic : Contextual_item_shape;
END_ENTITY;
ENTITY Solid_angle_unit
SUBTYPE OF (Unit);
END_ENTITY;
ENTITY Standard_uncertainty
SUPERTYPE OF
(Expanded_uncertainty)
SUBTYPE OF (Uncertainty_qualifier);
uncertainty_value : REAL;
END_ENTITY;
ENTITY String_representation_item
SUBTYPE OF (Representation_item);
string_value : STRING;
END_ENTITY;
ENTITY Supplied_part_relationship
SUBTYPE OF (Product_version_relationship);
WHERE
WR1: SELF\Product_version_relationship.relation_type IN ['supplied item', 'supplied document'];
END_ENTITY;
ENTITY System
SUBTYPE OF (Product);
END_ENTITY;
ENTITY System_breakdown
SUBTYPE OF (Breakdown);
END_ENTITY;
ENTITY System_breakdown_context
SUBTYPE OF (Breakdown_context);
SELF\Breakdown_context.breakdown : System_breakdown_version;
SELF\Breakdown_context.breakdown_element : System_element_definition;
END_ENTITY;
ENTITY System_breakdown_version
SUBTYPE OF (Breakdown_version);
SELF\Breakdown_version.of_product : System_breakdown;
END_ENTITY;
ENTITY System_element
SUBTYPE OF (Breakdown_element);
END_ENTITY;
ENTITY System_element_definition
SUBTYPE OF (Breakdown_element_definition);
SELF\Breakdown_element_definition.defined_version : System_element_version;
END_ENTITY;
ENTITY System_element_usage
SUBTYPE OF (Breakdown_element_usage);
SELF\View_definition_relationship.relating_view : System_element_definition;
SELF\View_definition_relationship.related_view : System_element_definition;
END_ENTITY;
ENTITY System_element_version
SUBTYPE OF (Breakdown_element_version);
SELF\Breakdown_element_version.of_product : System_element;
END_ENTITY;
ENTITY System_version
SUBTYPE OF (Product_version);
SELF\Product_version.of_product : System;
DERIVE
of_system : System := SELF\Product_version.of_product;
END_ENTITY;
ENTITY System_version_relationship
SUBTYPE OF (Product_version_relationship);
SELF\Product_version_relationship.relating_version : System_version;
SELF\Product_version_relationship.related_version : System_version;
END_ENTITY;
ENTITY System_version_sequence
SUBTYPE OF (System_version_relationship);
DERIVE
predecessor : System_version := SELF\System_version_relationship.relating_version;
successor : System_version := SELF\System_version_relationship.related_version;
END_ENTITY;
ENTITY System_view_definition
SUBTYPE OF (Product_view_definition);
SELF\Product_view_definition.defined_version : System_version;
END_ENTITY;
ENTITY Thermodynamic_temperature_unit
SUBTYPE OF (Unit);
END_ENTITY;
ENTITY Time_interval;
id : STRING;
name : STRING;
description :
OPTIONAL
STRING;
END_ENTITY;
ENTITY Time_interval_assignment;
assigned_time_interval : Time_interval;
role : Time_interval_role;
items : SET[1:?] OF time_interval_item;
END_ENTITY;
ENTITY Time_interval_effectivity
SUBTYPE OF (Effectivity);
effectivity_period : Time_interval;
END_ENTITY;
ENTITY Time_interval_relationship;
relation_type : STRING;
description : STRING;
relating_time_interval : Time_interval;
related_time_interval : Time_interval;
END_ENTITY;
ENTITY Time_interval_role;
name : STRING;
description : STRING;
END_ENTITY;
ENTITY Time_interval_with_bounds
SUBTYPE OF (Time_interval);
primary_bound :
OPTIONAL
date_or_event;
secondary_bound :
OPTIONAL
date_or_event;
duration_from_primary_bound :
OPTIONAL
Duration;
WHERE
WR1: NOT (EXISTS(secondary_bound) AND EXISTS(duration_from_primary_bound));
WR2: EXISTS(primary_bound) OR EXISTS(secondary_bound);
END_ENTITY;
ENTITY Time_offset;
hour_offset : INTEGER;
minute_offset :
OPTIONAL
INTEGER;
sense : offset_orientation;
DERIVE
actual_minute_offset : INTEGER := NVL(minute_offset, 0);
WHERE
WR1: {0 <= hour_offset < 24};
WR2: {0 <= actual_minute_offset <= 59};
WR3: NOT (((hour_offset <> 0) OR (actual_minute_offset <> 0)) AND (sense = exact));
END_ENTITY;
ENTITY Time_unit
SUBTYPE OF (Unit);
END_ENTITY;
ENTITY Type_qualifier
ABSTRACT SUPERTYPE
OF (Pre_defined_type_qualifier);
name : STRING;
END_ENTITY;
ENTITY Uncertainty_qualifier
SUPERTYPE OF
(ONEOF (Standard_uncertainty,
Qualitative_uncertainty));
measure_name : STRING;
description : STRING;
END_ENTITY;
ENTITY Uncertainty_with_unit
SUBTYPE OF (Value_with_unit);
name : STRING;
description :
OPTIONAL
STRING;
END_ENTITY;
ENTITY Unit
SUPERTYPE OF
(ONEOF (Amount_of_substance_unit,
Electric_current_unit,
Length_unit,
Luminous_intensity_unit,
Mass_unit,
Plane_angle_unit,
Ratio_unit,
Solid_angle_unit,
Thermodynamic_temperature_unit,
Time_unit));
name : STRING;
si_unit : BOOLEAN;
END_ENTITY;
ENTITY Value_limit
SUBTYPE OF (Numerical_item_with_unit, Qualified_representation_item);
SELF\Qualified_representation_item.qualifiers : SET[1:1] OF Pre_defined_type_qualifier;
WHERE
WR1: SELF\Qualified_representation_item.qualifiers[1]\Type_qualifier.name IN ['minimum', 'maximum'];
END_ENTITY;
ENTITY Value_list
SUBTYPE OF (Measure_item);
values : LIST[1:?] OF Measure_item;
END_ENTITY;
ENTITY Value_range
SUBTYPE OF (Measure_item);
lower_limit : Numerical_item_with_unit;
upper_limit : Numerical_item_with_unit;
END_ENTITY;
ENTITY Value_range_with_global_unit
SUBTYPE OF (Measure_item);
lower_limit : Numerical_item_with_global_unit;
upper_limit : Numerical_item_with_global_unit;
END_ENTITY;
ENTITY Value_set
SUBTYPE OF (Measure_item);
values : SET[1:?] OF Measure_item;
END_ENTITY;
ENTITY Value_with_tolerances
SUBTYPE OF (Measure_item);
item_value : Numerical_item_with_unit;
lower_limit : REAL;
upper_limit : REAL;
END_ENTITY;
ENTITY Value_with_unit;
unit : Unit;
value_component : measure_value;
END_ENTITY;
ENTITY View_definition_context;
application_domain : STRING;
life_cycle_stage : STRING;
description :
OPTIONAL
STRING;
WHERE
WR1: (SIZEOF(USEDIN(SELF, 'SYSTEM_STRUCTURE_ARM_LF.' + 'PRODUCT_VIEW_DEFINITION.INITIAL_CONTEXT')) > 0) OR (SIZEOF(USEDIN(SELF,
'SYSTEM_STRUCTURE_ARM_LF.' + 'PRODUCT_VIEW_DEFINITION.ADDITIONAL_CONTEXTS')) > 0);
END_ENTITY;
ENTITY View_definition_relationship;
id :
OPTIONAL
STRING;
relation_type :
OPTIONAL
STRING;
description :
OPTIONAL
STRING;
relating_view : Product_view_definition;
related_view : Product_view_definition;
END_ENTITY;
ENTITY View_definition_usage
SUBTYPE OF (View_definition_relationship);
END_ENTITY;
ENTITY Work_order;
name : STRING;
description :
OPTIONAL
STRING;
in_response_to : SET[0:?] OF Work_request;
END_ENTITY;
ENTITY Work_request;
request_id : STRING;
version_id : STRING;
description :
OPTIONAL
STRING;
purpose : STRING;
END_ENTITY;
ENTITY Work_request_status;
status : STRING;
work_request : Work_request;
END_ENTITY;
ENTITY Zone_breakdown
SUBTYPE OF (Breakdown);
END_ENTITY;
ENTITY Zone_breakdown_context
SUBTYPE OF (Breakdown_context);
SELF\Breakdown_context.breakdown : Zone_breakdown_version;
SELF\Breakdown_context.breakdown_element : Zone_element_definition;
END_ENTITY;
ENTITY Zone_breakdown_version
SUBTYPE OF (Breakdown_version);
SELF\Breakdown_version.of_product : Zone_breakdown;
END_ENTITY;
ENTITY Zone_element
SUBTYPE OF (Breakdown_element);
END_ENTITY;
ENTITY Zone_element_definition
SUBTYPE OF (Breakdown_element_definition);
SELF\Breakdown_element_definition.defined_version : Zone_element_version;
END_ENTITY;
ENTITY Zone_element_usage
SUBTYPE OF (Breakdown_element_usage);
SELF\View_definition_relationship.relating_view : Zone_element_definition;
SELF\View_definition_relationship.related_view : Zone_element_definition;
END_ENTITY;
ENTITY Zone_element_version
SUBTYPE OF (Breakdown_element_version);
SELF\Breakdown_element_version.of_product : Zone_element;
END_ENTITY;
RULE document_definition_constraint FOR
(Product_view_definition);
WHERE
WR1: SIZEOF(QUERY(dd <* Product_view_definition | (NOT ('SYSTEM_STRUCTURE_ARM_LF.' + 'DOCUMENT_DEFINITION' IN TYPEOF(dd)))
AND ('SYSTEM_STRUCTURE_ARM_LF.' + 'DOCUMENT_VERSION' IN TYPEOF(dd.defined_version)))) = 0;
END_RULE;
RULE document_version_constraint FOR
(Product_version);
WHERE
WR1: SIZEOF(QUERY(pv <* Product_version | (NOT ('SYSTEM_STRUCTURE_ARM_LF.' + 'DOCUMENT_VERSION' IN TYPEOF(pv))) AND ('SYSTEM_STRUCTURE_ARM_LF.'
+ 'DOCUMENT' IN TYPEOF(pv.of_product)))) = 0;
END_RULE;
RULE part_view_definition_constraint FOR
(Product_view_definition);
WHERE
WR1: SIZEOF(QUERY(pvd <* Product_view_definition | (NOT ('SYSTEM_STRUCTURE_ARM_LF.' + 'PART_VIEW_DEFINITION' IN TYPEOF(pvd)))
AND ('SYSTEM_STRUCTURE_ARM_LF.' + 'PART_VERSION' IN TYPEOF(pvd.defined_version)))) = 0;
END_RULE;
RULE total_over_assembly_component_relationship_constraint FOR
(Assembly_component_relationship);
WHERE
wr1: SIZEOF(QUERY(p <* Assembly_component_relationship | SIZEOF(['System_structure_arm.COMPONENT_UPPER_LEVEL_IDENTIFICATION']
* TYPEOF(p)) = 0)) = 0;
wr2: SIZEOF(QUERY(p <* Assembly_component_relationship | SIZEOF(['System_structure_arm.NEXT_ASSEMBLY_USAGE'] * TYPEOF(p))
= 0)) = 0;
wr3: SIZEOF(QUERY(p <* Assembly_component_relationship | SIZEOF(['System_structure_arm.PROMISSORY_USAGE'] * TYPEOF(p)) = 0))
= 0;
END_RULE;
FUNCTION acyclic_representation_relationship
(relation : Representation_relationship; relatives : SET[1:?] OF Representation; specific_relation : STRING) : BOOLEAN;
LOCAL
x : SET OF Representation_relationship;
END_LOCAL;
IF relation.rep_1 IN relatives THEN
RETURN (FALSE);
END_IF;
x := QUERY(r <* bag_to_set(USEDIN(relation.rep_1, 'SYSTEM_STRUCTURE_ARM_LF.' + 'REPRESENTATION_RELATIONSHIP.' + 'REP_2')) | specific_relation IN TYPEOF(r));
REPEAT i := 1 TO HIINDEX(x);
IF NOT acyclic_representation_relationship(x[i], relatives + relation.rep_1, specific_relation) THEN
RETURN (FALSE);
END_IF;
END_REPEAT;
RETURN (TRUE);
END_FUNCTION;
FUNCTION bag_to_set
(the_bag : BAG[0:?] OF GENERIC : intype) : SET[0:?] OF GENERIC : intype;
LOCAL
the_set : SET OF GENERIC:intype := [];
i : INTEGER;
END_LOCAL;
IF SIZEOF(the_bag) > 0 THEN
REPEAT i := 1 TO HIINDEX(the_bag);
the_set := the_set + the_bag[i];
END_REPEAT;
END_IF;
RETURN (the_set);
END_FUNCTION;
FUNCTION spa_get_definition
(input : Contextual_item_shape) : Product_view_definition;
IF ('SYSTEM_STRUCTURE_ARM_LF.VIEW_DEFINITION_USAGE' IN TYPEOF(input\Item_shape.described_element)) THEN
RETURN (input\Item_shape.described_element\View_definition_relationship.related_view);
END_IF;
IF ('SYSTEM_STRUCTURE_ARM_LF.PRODUCT_OCCURRENCE_DEFINITION_RELATIONSHIP' IN TYPEOF(input\Item_shape.described_element)) THEN
RETURN (input\Item_shape.described_element\Product_occurrence_definition_relationship.related_view);
END_IF;
RETURN (?);
END_FUNCTION;
END_SCHEMA; -- System_structure_arm_LF
© ISO 2011 — All rights reserved