| Application module: Layered interconnect module design | ISO/TS 10303-1698:2018-11(E)  © ISO  | 
         
This clause specifies the EXPRESS schema derived from the mapping table. It uses elements from the common resources or from other application modules and defines the EXPRESS constructs that are specific to this part of ISO 10303.
This clause constitutes the Module Interpreted Module (MIM) of the application module.
This clause also specifies the modifications that apply to the constructs imported from the common resources.
The following restrictions apply to the use, in this schema, of constructs defined in common resources or in application modules:
Short names of entities defined in this schema are described in Annex A. Unambiguous identification of this schema is defined in Annex B.
EXPRESS specification:
         *)
            SCHEMA Layered_interconnect_module_design_mim;
            USE FROM
            Component_grouping_mim;
               -- 
            ISO/TS 10303-1656
            USE FROM
            Edge_shape_feature_mim;
               -- 
            ISO/TS 10303-1673
            USE FROM
            Footprint_definition_mim;
               -- 
            ISO/TS 10303-1646
            USE FROM
            Assembly_component_placement_requirements_mim;
               -- 
            ISO/TS 10303-1634
            USE FROM
            Land_mim;
               -- 
            ISO/TS 10303-1692
            USE FROM
            Layered_interconnect_module_with_printed_component_design_mim;
               -- 
            ISO/TS 10303-1700
(*
NOTE 1 The schemas referenced above are specified in the following part of ISO 10303:
Component_grouping_mim ISO/TS 10303-1656 Edge_shape_feature_mim ISO/TS 10303-1673 Footprint_definition_mim ISO/TS 10303-1646 Assembly_component_placement_requirements_mim ISO/TS 10303-1634 Land_mim ISO/TS 10303-1692 Layered_interconnect_module_with_printed_component_design_mim ISO/TS 10303-1700 
NOTE 2 See Annex D, Figures D.1, D.2, D.3, D.4, D.5, D.6and D.7 for a graphical representation of this schema.
This subclause specifies the MIM types for this application module. The MIM types and definitions are specified below.

The limd_document_reference_item type is an extension of the document_reference_item type. It adds the data types inter_stratum_feature, stratum, stratum_feature, stratum_surface, and structured_layout_component to the list of alternate data types.
NOTE The list of entity data types may be extended in application modules that use the constructs of this module.
EXPRESS specification:
            *)
            TYPE 
            limd_document_reference_item =
            
            EXTENSIBLE
            
            GENERIC_ENTITY
            
            
            SELECT
            BASED_ON 
            document_reference_item
            WITH 
            
               (inter_stratum_feature, 
    stratum, 
    stratum_feature, 
    stratum_surface, 
    structured_layout_component);
            END_TYPE; 
            (*
            

The limd_external_identification_item type is an extension of the external_identification_item type. It adds the data types assembly_component, externally_defined_physical_network_group, externally_defined_physical_network_group_element_relationship, stratum_feature_based_derived_pattern, and stratum to the list of alternate data types.
NOTE The list of entity data types may be extended in application modules that use the constructs of this module.
EXPRESS specification:
            *)
            TYPE 
            limd_external_identification_item =
            
            EXTENSIBLE
            
            GENERIC_ENTITY
            
            
            SELECT
            BASED_ON 
            external_identification_item
            WITH 
            
               (assembly_component, 
    externally_defined_physical_network_group, 
    externally_defined_physical_network_group_element_relationship, 
    stratum_feature_based_derived_pattern, 
    stratum);
            END_TYPE; 
            (*
            

The limd_groupable_item type is an extension of the groupable_item type. It adds the data types physical_network, and stratum to the list of alternate data types.
EXPRESS specification:
            *)
            TYPE 
            limd_groupable_item =
            
            
            SELECT
            BASED_ON 
            groupable_item
            WITH 
            
               (physical_network, 
    stratum);
            END_TYPE; 
            (*
            

The limd_requirement_assigned_item type is an extension of the requirement_assigned_item type. It adds the data type layered_interconnect_module_design_view to the list of alternate data types.
NOTE The list of entity data types may be extended in application modules that use the constructs of this module.
EXPRESS specification:
            *)
            TYPE 
            limd_requirement_assigned_item =
            
            EXTENSIBLE
            
            GENERIC_ENTITY
            
            
            SELECT
            BASED_ON 
            requirement_assigned_item
            WITH 
            
               (layered_interconnect_module_design_view);
            END_TYPE; 
            (*
            
This subclause specifies the MIM entities for this module. The MIM entities and definitions are specified below.

EXPRESS specification:
            *)
            ENTITY additive_laminate_text_component
              SUBTYPE OF (generic_laminate_text_component);
            END_ENTITY;
(*
            

EXPRESS specification:
            *)
            ENTITY area_component
              SUPERTYPE OF (connected_area_component)
              SUBTYPE OF (stratum_feature_template_component);
            END_ENTITY;
(*
            

EXPRESS specification:
            *)
            ENTITY breakout_occurrence
              SUBTYPE OF (footprint_occurrence);
            END_ENTITY;
(*
            

EXPRESS specification:
            *)
            ENTITY component_termination_passage
              SUBTYPE OF (plated_passage);
            END_ENTITY;
(*
            

EXPRESS specification:
            *)
            ENTITY conductive_interconnect_element
              ABSTRACT SUPERTYPE
            
            OF (ONEOF (unrouted_conductive_interconnect_element,
                                conductive_interconnect_element_with_pre_defined_transitions))
              SUBTYPE OF (stratum_feature_template_component);
            END_ENTITY;
(*
            

EXPRESS specification:
            *)
            ENTITY conductive_interconnect_element_terminal_link
              SUBTYPE OF (shape_aspect, shape_aspect_relationship);
            
            
            
              SELF\shape_aspect_relationship.relating_shape_aspect : laminate_component_feature;
            
            
            
              SELF\shape_aspect_relationship.related_shape_aspect : laminate_component_feature;
WHERE
 
              WR1: SELF\shape_aspect_relationship.related_shape_aspect :<>:
            SELF\shape_aspect_relationship.relating_shape_aspect;
            END_ENTITY;
(*
            
Attribute definitions:
relating_shape_aspect: specifies a role of the laminate_component_feature for the conductive_interconnect_element_terminal_link.
related_shape_aspect: specifies a role of the laminate_component_feature for the conductive_interconnect_element_terminal_link.
Formal propositions:
WR1: The related point shall not be the relating point.

EXPRESS specification:
            *)
            ENTITY conductive_interconnect_element_with_pre_defined_transitions
              SUBTYPE OF (conductive_interconnect_element, item_identified_representation_usage);
DERIVE
              SELF\item_identified_representation_usage.definition : property_definition := SELF;
            END_ENTITY;
(*
            
Attribute definitions:
definition: an attribute inherited from the item_identified_representation_usage shall be redeclared as the property_definition for the conductive_interconnect_element_with_pre_defined_transitions.

A connected_area_component is a type of area_component that implements the ARM concept of Connected_area_component
EXPRESS specification:
            *)
            ENTITY connected_area_component
              SUBTYPE OF (area_component);
            END_ENTITY;
(*
            

EXPRESS specification:
            *)
            ENTITY cutout
              SUPERTYPE OF (ONEOF (physical_connectivity_interrupting_cutout,
                       plated_cutout,
                       partially_plated_cutout))
              SUBTYPE OF (inter_stratum_feature);
            END_ENTITY;
(*
            

A cutout_edge_segment is a type of inter_stratum_feature and a shape_aspect_relationship that implements the ARM concept of Cutout_edge_segment. A cutout_edge_segment may be a plated_cutout_edge_segment.
EXPRESS specification:
            *)
            ENTITY cutout_edge_segment
              SUPERTYPE OF (plated_cutout_edge_segment)
              SUBTYPE OF (inter_stratum_feature, shape_aspect_relationship);
            
            
            
              SELF\shape_aspect_relationship.relating_shape_aspect : edge_segment_vertex;
            
            
            
              SELF\shape_aspect_relationship.related_shape_aspect : edge_segment_vertex;
WHERE
 
              WR1: SELF\shape_aspect_relationship.relating_shape_aspect :<>:
            SELF\shape_aspect_relationship.related_shape_aspect;
            END_ENTITY;
(*
            
Attribute definitions:
relating_shape_aspect: specifies a role of the edge_segment_vertex for the cutout_edge_segment
related_shape_aspect: specifies a role of the edge_segment_vertex for the cutout_edge_segment
Formal propositions:
WR1: related_shape_aspect shall not be equal to relating_shape_aspect.

EXPRESS specification:
            *)
            ENTITY derived_stratum
              SUBTYPE OF (stratum);
            END_ENTITY;
(*
            

EXPRESS specification:
            *)
            ENTITY design_layer_stratum
              SUBTYPE OF (stratum);
            END_ENTITY;
(*
            

EXPRESS specification:
            *)
            ENTITY dielectric_material_passage
              SUBTYPE OF (inter_stratum_feature);
            END_ENTITY;
(*
            

EXPRESS specification:
            *)
            ENTITY documentation_layer_stratum
              SUBTYPE OF (stratum);
            END_ENTITY;
(*
            

EXPRESS specification:
            *)
            ENTITY electrical_isolation_laminate_component
              SUBTYPE OF (material_removal_laminate_component);
            END_ENTITY;
(*
            

EXPRESS specification:
            *)
            ENTITY externally_defined_physical_network_group
              SUBTYPE OF (physical_network_group);
            END_ENTITY;
(*
            

EXPRESS specification:
            *)
            ENTITY externally_defined_physical_network_group_element_relationship
              SUBTYPE OF (physical_network_group_element_relationship);
            END_ENTITY;
(*
            

EXPRESS specification:
            *)
            ENTITY fiducial
              SUBTYPE OF (laminate_component);
            END_ENTITY;
(*
            

A fiducial_stratum_feature is a type of stratum_feature that implements the ARM concept of Fiducial_stratum_feature.
EXPRESS specification:
            *)
            ENTITY fiducial_stratum_feature
              SUBTYPE OF (stratum_feature);
            END_ENTITY;
(*
            

EXPRESS specification:
            *)
            ENTITY filled_via
              SUBTYPE OF (via);
            END_ENTITY;
(*
            

EXPRESS specification:
            *)
            ENTITY footprint_occurrence
              SUBTYPE OF (structured_layout_component);
            END_ENTITY;
(*
            

EXPRESS specification:
            *)
            ENTITY footprint_occurrence_product_definition_relationship
              SUBTYPE OF (structured_layout_component_sub_assembly_relationship);
            END_ENTITY;
(*
            

A generic_laminate_text_component is a type of laminate_component that implements the ARM concept of Generic_laminate_text_component. A generic_laminate_text_component is either an additive_laminate_text_component or a material_removal_laminate_text_component.
EXPRESS specification:
            *)
            ENTITY generic_laminate_text_component
              ABSTRACT SUPERTYPE
            
            OF (ONEOF (additive_laminate_text_component,
                                material_removal_laminate_text_component))
              SUBTYPE OF (laminate_component);
            END_ENTITY;
(*
            

An inter_stratum_feature is a type of laminate_component that implements the ARM concepts of:
EXPRESS specification:
            *)
            ENTITY inter_stratum_feature
              SUBTYPE OF (laminate_component);
            END_ENTITY;
(*
            

An interconnect_module_design_view is a type of physical_unit that implement the ARM concept of Interconnect_module_design_view. An interconnect_module_design_view may be a layered_interconnect_module_design_view.
EXPRESS specification:
            *)
            ENTITY interconnect_module_design_view
              SUPERTYPE OF (layered_interconnect_module_design_view)
              SUBTYPE OF (physical_unit);
            END_ENTITY;
(*
            

EXPRESS specification:
            *)
            ENTITY interconnect_module_edge
              SUPERTYPE OF (ONEOF (partially_plated_interconnect_module_edge,
                       plated_interconnect_module_edge))
              SUBTYPE OF (inter_stratum_feature);
            END_ENTITY;
(*
            

An interconnect_module_edge_segment is a type of inter_stratum_feature and shape_aspect_relationship that implements the ARM concept of Interconnect_module_edge_segment. An interconnect_module_edge_segment may be either a plated_interconnect_module_edge_segment or an unplated_interconnect_module_edge_segment.
EXPRESS specification:
            *)
            ENTITY interconnect_module_edge_segment
              SUPERTYPE OF (ONEOF (plated_interconnect_module_edge_segment,
                       unplated_interconnect_module_edge_segment))
              SUBTYPE OF (inter_stratum_feature, shape_aspect_relationship);
            
            
            
              SELF\shape_aspect_relationship.relating_shape_aspect : edge_segment_vertex;
            
            
            
              SELF\shape_aspect_relationship.related_shape_aspect : edge_segment_vertex;
WHERE
 
              WR1: SELF\shape_aspect_relationship.relating_shape_aspect :<>:
            SELF\shape_aspect_relationship.related_shape_aspect;
            END_ENTITY;
(*
            
Attribute definitions:
relating_shape_aspect: specifies a role of the edge_segment_vertex for the interconnect_module_edge_segment.
related_shape_aspect: specifies a role of the edge_segment_vertex for the interconnect_module_edge_segment.
Formal propositions:
WR1: related_shape_aspect shall not be equal to relating_shape_aspect.

An interconnect_module_macro_terminal is a type of interconnect_module_terminal.
EXPRESS specification:
            *)
            ENTITY interconnect_module_macro_terminal
              SUBTYPE OF (interconnect_module_terminal);
            END_ENTITY;
(*
            

EXPRESS specification:
            *)
            ENTITY interface_access_component_definition
              SUBTYPE OF (laminate_component);
            END_ENTITY;
(*
            

An interface_access_material_removal_laminate_component is a type of material_removal_laminate_component. that implements the ARM concept of Interface_access_material_removal_laminate_component.
EXPRESS specification:
            *)
            ENTITY interface_access_material_removal_laminate_component
              SUBTYPE OF (material_removal_laminate_component);
            END_ENTITY;
(*
            

An interface_access_stratum_feature_template_component is a type of stratum_feature_template_component. that implements the ARM concept of Interface_access_stratum_feature_template_component.
EXPRESS specification:
            *)
            ENTITY interface_access_stratum_feature_template_component
              SUBTYPE OF (stratum_feature_template_component);
            END_ENTITY;
(*
            

EXPRESS specification:
            *)
            ENTITY internal_probe_access_area
              SUBTYPE OF (probe_access_area);
            END_ENTITY;
(*
            

A join_shape_aspect is a type of shape_aspect that implements the ARM concepts of:
EXPRESS specification:
            *)
            ENTITY join_shape_aspect
              SUBTYPE OF (shape_aspect);
            END_ENTITY;
(*
            

EXPRESS specification:
            *)
            ENTITY laminate_component
              SUPERTYPE OF (ONEOF (material_removal_laminate_component, (
                       stratum_feature_template_component
               ANDOR probe_access_area),
                    inter_stratum_feature,
                    generic_laminate_text_component,
                    laminate_text_string_component)
              ANDOR fiducial)
              SUBTYPE OF (assembly_component);
            END_ENTITY;
(*
            

EXPRESS specification:
            *)
            ENTITY laminate_component_feature
              SUPERTYPE OF (ONEOF (laminate_component_interface_terminal,
                       laminate_component_join_terminal))
              SUBTYPE OF (component_feature);
            END_ENTITY;
(*
            

A laminate_component_interface_terminal is a type of laminate_component_feature. A laminate_component_interface_terminal implements the ARM concepts of:
EXPRESS specification:
            *)
            ENTITY laminate_component_interface_terminal
              SUBTYPE OF (laminate_component_feature);
            END_ENTITY;
(*
            

A laminate_component_join_terminal is a type of component_terminal and a type of laminate_component_feature that implements the ARM concept of:
EXPRESS specification:
            *)
            ENTITY laminate_component_join_terminal
              SUBTYPE OF (laminate_component_feature, component_terminal);
            END_ENTITY;
(*
            

A laminate_group_component_make_from_relationship is a type of make_from_usage_option that implements the ARM concept of Laminate_group_component_make_from_relationship.
EXPRESS specification:
            *)
            ENTITY laminate_group_component_make_from_relationship
              SUBTYPE OF (make_from_usage_option);
            
            
            
              SELF\product_definition_relationship.relating_product_definition : assembly_group_component;
            
            
            
              SELF\product_definition_relationship.related_product_definition : assembly_group_component;
            END_ENTITY;
(*
            
Attribute definitions:
relating_product_definition: specifies a role of the assembly_group_component for the laminate_group_component_make_from_relationship.
related_product_definition: specifies a role of the assembly_group_component for the laminate_group_component_make_from_relationship.

A laminate_text_string_component is a type of array_placement_group and a type of laminate_component that implements the ARM concept of Laminate_text_string_component.
EXPRESS specification:
            *)
            ENTITY laminate_text_string_component
              SUBTYPE OF (array_placement_group, laminate_component);
            END_ENTITY;
(*
            

A layer_connection_point is a type of shape_aspect that implements the ARM concepts of:
EXPRESS specification:
            *)
            ENTITY layer_connection_point
              SUBTYPE OF (shape_aspect);
UNIQUE
              UR1: SELF\shape_aspect.name, SELF\shape_aspect.of_shape;
            END_ENTITY;
(*
            
Formal propositions:
UR1: The name shall be unique within the stratum that is the product_definition for this layer_connection_point.

EXPRESS specification:
            *)
            ENTITY layer_stack_region
              SUBTYPE OF (instanced_feature);
            END_ENTITY;
(*
            

EXPRESS specification:
            *)
            ENTITY layered_interconnect_module_design_view
              SUPERTYPE OF (layered_interconnect_panel_design_view)
              SUBTYPE OF (interconnect_module_design_view);
            END_ENTITY;
(*
            

EXPRESS specification:
            *)
            ENTITY layered_interconnect_panel_design_view
              SUBTYPE OF (layered_interconnect_module_design_view);
            END_ENTITY;
(*
            

EXPRESS specification:
            *)
            ENTITY layout_junction
              SUBTYPE OF (shape_aspect);
            END_ENTITY;
(*
            

EXPRESS specification:
            *)
            ENTITY material_removal_laminate_component
              SUBTYPE OF (laminate_component);
            END_ENTITY;
(*
            

EXPRESS specification:
            *)
            ENTITY material_removal_laminate_text_component
              SUBTYPE OF (generic_laminate_text_component);
            END_ENTITY;
(*
            

EXPRESS specification:
            *)
            ENTITY material_removal_structured_component
              SUBTYPE OF (structured_layout_component);
            END_ENTITY;
(*
            

A multi_layer_component_definition is a type of laminate_component that implements the ARM concept of Multi_layer_stratum_feature_template_component.
EXPRESS specification:
            *)
            ENTITY multi_layer_component_definition
              SUBTYPE OF (laminate_component);
            END_ENTITY;
(*
            

A multi_layer_material_removal_laminate_component is a type of material_removal_laminate_component that implements the ARM concept of Multi_layer_material_removal_laminate_component.
EXPRESS specification:
            *)
            ENTITY multi_layer_material_removal_laminate_component
              SUBTYPE OF (material_removal_laminate_component);
            END_ENTITY;
(*
            

A multi_layer_stratum_feature_template_component is a type of stratum_feature_template_component that implements the ARM concept of Multi_layer_stratum_feature_template_component.
EXPRESS specification:
            *)
            ENTITY multi_layer_stratum_feature_template_component
              SUBTYPE OF (stratum_feature_template_component);
            END_ENTITY;
(*
            

EXPRESS specification:
            *)
            ENTITY multi_stratum_special_symbol_component
              SUBTYPE OF (structured_layout_component);
            END_ENTITY;
(*
            

EXPRESS specification:
            *)
            ENTITY padstack_occurrence
              SUBTYPE OF (structured_layout_component);
            END_ENTITY;
(*
            

EXPRESS specification:
            *)
            ENTITY padstack_occurrence_product_definition_relationship
              SUBTYPE OF (property_definition, next_assembly_usage_occurrence_relationship);
WHERE
 
              WR1: SELF\product_definition_relationship.related_product_definition :<>:
            SELF\product_definition_relationship.relating_product_definition;
            END_ENTITY;
(*
            
Formal propositions:
WR1: related_product_definition shall not be relating_product_definition.

EXPRESS specification:
            *)
            ENTITY partially_plated_cutout
              SUBTYPE OF (cutout);
            END_ENTITY;
(*
            

EXPRESS specification:
            *)
            ENTITY partially_plated_interconnect_module_edge
              SUBTYPE OF (interconnect_module_edge);
            END_ENTITY;
(*
            

EXPRESS specification:
            *)
            ENTITY physical_connectivity_interrupting_cutout
              SUBTYPE OF (cutout);
            END_ENTITY;
(*
            

A physical_network is a type of shape_aspect that implements the ARM concept of Generic_physical_network.
NOTE A physical_network should not be confused with the like sounding term physical_unit_network_definition.
EXPRESS specification:
            *)
            ENTITY physical_network
              SUBTYPE OF (shape_aspect);
            END_ENTITY;
(*
            

EXPRESS specification:
            *)
            ENTITY physical_network_group
              ABSTRACT SUPERTYPE
            
            OF (ONEOF (pre_defined_physical_network_group,
                                externally_defined_physical_network_group))
              SUBTYPE OF (group);
            END_ENTITY;
(*
            

EXPRESS specification:
            *)
            ENTITY physical_network_group_element_relationship
              ABSTRACT SUPERTYPE
            
            OF (ONEOF (pre_defined_physical_network_group_element_relationship,
                                externally_defined_physical_network_group_element_relationship))
              SUBTYPE OF (group_relationship);
            END_ENTITY;
(*
            

EXPRESS specification:
            *)
            ENTITY physical_network_supporting_inter_stratum_feature
              SUBTYPE OF (plated_inter_stratum_feature);
            END_ENTITY;
(*
            

EXPRESS specification:
            *)
            ENTITY plated_cutout
              SUBTYPE OF (cutout, plated_inter_stratum_feature);
            END_ENTITY;
(*
            

A plated_cutout_edge_segment is a type of cutout_edge_segment and plated_inter_stratum_feature that implements the ARM concept of Plated_cutout_edge_segment.
EXPRESS specification:
            *)
            ENTITY plated_cutout_edge_segment
              SUBTYPE OF (cutout_edge_segment, plated_inter_stratum_feature);
            END_ENTITY;
(*
            

A plated_inter_stratum_feature is a type of inter_stratum_feature that implements the ARM concepts of:
EXPRESS specification:
            *)
            ENTITY plated_inter_stratum_feature
              SUPERTYPE OF (ONEOF (plated_cutout_edge_segment,
                       plated_interconnect_module_edge_segment,
                       plated_passage))
              SUBTYPE OF (inter_stratum_feature);
            END_ENTITY;
(*
            

A plated_interconnect_module_edge is a type of interconnect_module_edge and a type of plated_inter_stratum_feature that implements the ARM concept of Plated_interconnect_module_edge.
EXPRESS specification:
            *)
            ENTITY plated_interconnect_module_edge
              SUBTYPE OF (interconnect_module_edge, plated_inter_stratum_feature);
            END_ENTITY;
(*
            

A plated_interconnect_module_edge_segment is a type of interconnect_module_edge_segment and a type of plated_inter_stratum_feature that implements the ARM concept of Plated_interconnect_module_edge_segment.
EXPRESS specification:
            *)
            ENTITY plated_interconnect_module_edge_segment
              SUBTYPE OF (interconnect_module_edge_segment, plated_inter_stratum_feature);
            END_ENTITY;
(*
            

A plated_passage is a type of plated_inter_stratum_feature that implements the ARM concepts of:
EXPRESS specification:
            *)
            ENTITY plated_passage
              SUPERTYPE OF (ONEOF (component_termination_passage,
                       via))
              SUBTYPE OF (plated_inter_stratum_feature);
            END_ENTITY;
(*
            

EXPRESS specification:
            *)
            ENTITY pre_defined_physical_network_group
              SUBTYPE OF (physical_network_group);
            END_ENTITY;
(*
            

EXPRESS specification:
            *)
            ENTITY pre_defined_physical_network_group_element_relationship
              SUBTYPE OF (physical_network_group_element_relationship);
            END_ENTITY;
(*
            

EXPRESS specification:
            *)
            ENTITY primary_stratum_indicator_symbol
              SUBTYPE OF (single_stratum_special_symbol_component);
            END_ENTITY;
(*
            

EXPRESS specification:
            *)
            ENTITY probe_access_area
              SUBTYPE OF (laminate_component, shape_aspect);
DERIVE
              SELF\shape_aspect.of_shape : probe_access_area := SELF;
            END_ENTITY;
(*
            
Attribute definitions:
of_shape: an atribute inherited from the shape_aspect shall be redeclared as the probe_access_area for the probe_access_area.

EXPRESS specification:
            *)
            ENTITY region_based_derived_pattern
              SUBTYPE OF (shape_aspect);
            END_ENTITY;
(*
            

EXPRESS specification:
            *)
            ENTITY single_stratum_special_symbol_component
              SUPERTYPE OF (primary_stratum_indicator_symbol)
              SUBTYPE OF (structured_layout_component);
            END_ENTITY;
(*
            

A stratum is a type of product_definition and a type of product_definition_shape that implements the ARM concepts of:
A stratum may be either a documentation_layer_stratum or a design_layer_stratum.EXPRESS specification:
            *)
            ENTITY stratum
              SUPERTYPE OF (ONEOF (documentation_layer_stratum,
                       design_layer_stratum))
              SUBTYPE OF (product_definition, product_definition_shape);
DERIVE
              SELF\property_definition.definition : stratum := SELF;
UNIQUE
              UR1: SELF\product_definition.id, SELF\product_definition.formation;
WHERE
 
              WR1: SIZEOF (USEDIN (SELF, 'BASIC_ATTRIBUTE_SCHEMA.' +'NAME_ATTRIBUTE.NAMED_ITEM')) = 0;
 
              WR2: NOT EXISTS(SELF\property_definition.description);
            END_ENTITY;
(*
            
Attribute definitions:
definition: an attribute inherited from the property_definition shall be redeclared as the stratum for the stratum.
Formal propositions:
UR1: The combination of id and formation shall be unique within a population of stratum.
WR1: No member of entity data type stratum shall be referenced by a member of entity data type name_attribute as a named_item.
WR2: The description shall not be specified for the stratum.

A stratum_feature is a type of shape_aspect that implements the ARM concepts of:
A stratum_feature may be a fiducial_stratum_feature.EXPRESS specification:
            *)
            ENTITY stratum_feature
              SUPERTYPE OF (fiducial_stratum_feature)
              SUBTYPE OF (shape_aspect);
            END_ENTITY;
(*
            

EXPRESS specification:
            *)
            ENTITY stratum_feature_based_derived_pattern
              SUBTYPE OF (characterized_object, property_definition_relationship);
            END_ENTITY;
(*
            

EXPRESS specification:
            *)
            ENTITY stratum_feature_conductive_join
              SUBTYPE OF (product_definition_relationship);
            END_ENTITY;
(*
            

EXPRESS specification:
            *)
            ENTITY stratum_feature_template_component
              SUPERTYPE OF (ONEOF (area_component,
                       conductive_interconnect_element))
              SUBTYPE OF (laminate_component);
            END_ENTITY;
(*
            

EXPRESS specification:
            *)
            ENTITY stratum_feature_template_component_with_stratum_feature
              SUBTYPE OF (stratum_feature_template_component, stratum_feature, shape_aspect_relationship);
DERIVE
              SELF\shape_aspect_relationship.related_shape_aspect : stratum_feature_template_component_with_stratum_feature := SELF;
              SELF\shape_aspect_relationship.relating_shape_aspect : stratum_feature_template_component_with_stratum_feature := SELF;
WHERE
 
              WR1: SELF\shape_aspect_relationship.name = 'implementation';
            END_ENTITY;
(*
            
Attribute definitions:
related_shape_aspect: an attribute inherited from the shape_aspect_relationship shall be redeclared as the stratum_feature_template_component_with_stratum_feature for the stratum_feature_template_component_with_stratum_feature.
relating_shape_aspect: an attribute inherited from the shape_aspect_relationship shall be redeclared as the stratum_feature_template_component_with_stratum_feature for the stratum_feature_template_component_with_stratum_feature.
Formal propositions:
WR1: The attribute name inherited from the shape_aspect_relationship shall be equal to 'implementation'.

A stratum_surface is a type of shape_aspect that implements the ARM concepts of Stratum_surface and Stratum_average_surface.
EXPRESS specification:
            *)
            ENTITY stratum_surface
              SUBTYPE OF (shape_aspect);
            END_ENTITY;
(*
            

A structured_layout_component is a type of assembly_group_component that implements the ARM concept of Structured_layout_component. A structured_layout_component is either a footprint_occurrence or a material_removal_structured_component, or a multi_stratum_special_symbol_component, or a padstack_occurrence, or a single_stratum_special_symbol_component.
EXPRESS specification:
            *)
            ENTITY structured_layout_component
              ABSTRACT SUPERTYPE
            
            OF (ONEOF (footprint_occurrence,
                                material_removal_structured_component,
                                multi_stratum_special_symbol_component,
                                padstack_occurrence,
                                single_stratum_special_symbol_component))
              SUBTYPE OF (assembly_group_component);
            END_ENTITY;
(*
            

A structured_layout_component_sub_assembly_relationship is a type of next_assembly_usage_occurrence_relationship that implements the ARM concept of Structured_layout_component_sub_assembly_relationship. A structured_layout_component_sub_assembly_relationship may be a footprint_occurrence_product_definition_relationship.
EXPRESS specification:
            *)
            ENTITY structured_layout_component_sub_assembly_relationship
              SUPERTYPE OF (footprint_occurrence_product_definition_relationship)
              SUBTYPE OF (next_assembly_usage_occurrence_relationship);
WHERE
 
              WR1: SELF\product_definition_relationship.related_product_definition :<>:
            SELF\product_definition_relationship.relating_product_definition;
            END_ENTITY;
(*
            
Formal propositions:
WR1: The related_product_definition shall not reference same entity instance as one referenced by relating_product_definition.

EXPRESS specification:
            *)
            ENTITY structured_layout_component_sub_assembly_relationship_with_component
              SUBTYPE OF (structured_layout_component_sub_assembly_relationship, assembly_component);
DERIVE
              SELF\product_definition_relationship.related_product_definition : assembly_component := SELF;
            END_ENTITY;
(*
            
Attribute definitions:
related_product_definition: an attribute inherited from the product_definition_relationship shall be redeclared as the assembly_component for the structured_layout_component_sub_assembly_relationship_with_component

EXPRESS specification:
            *)
            ENTITY unplated_cutout_edge_segment
              SUBTYPE OF (cutout_edge_segment);
            END_ENTITY;
(*
            

EXPRESS specification:
            *)
            ENTITY unplated_interconnect_module_edge_segment
              SUBTYPE OF (interconnect_module_edge_segment);
            END_ENTITY;
(*
            

EXPRESS specification:
            *)
            ENTITY unrouted_conductive_interconnect_element
              SUBTYPE OF (conductive_interconnect_element);
            END_ENTITY;
(*
            

EXPRESS specification:
            *)
            ENTITY unsupported_passage
              SUBTYPE OF (inter_stratum_feature);
            END_ENTITY;
(*
            

EXPRESS specification:
            *)
            ENTITY via
              ABSTRACT SUPERTYPE
            
            OF (filled_via)
              SUBTYPE OF (plated_passage);
            END_ENTITY;
(*
            
This subclause specifies the MIM subtype constraints for this module. Each subtype constraint places constraints on the possible super-type / subtype instantiations. The MIM subtype constraints and definitions are specified below.

The array_placement_group_subtypes constraint specifies a constraint that applies to instances of array_placement_group and enforces the rule that its subtypes laminate_text_string_component, linear_array_placement_group_component and rectangular_array_placement_group_component are exclusive.
EXPRESS specification:
            *)
SUBTYPE_CONSTRAINT array_placement_group_subtypes FOR array_placement_group;
              ONEOF (laminate_text_string_component,
         linear_array_placement_group_component,
         rectangular_array_placement_group_component);
      
            END_SUBTYPE_CONSTRAINT;
(*
            

The assembly_component_subtypes constraint specifies a constraint that applies to instances of assembly_component and enforces the rule that its subtypes physical_component and laminate_component are exclusive.
EXPRESS specification:
            *)
SUBTYPE_CONSTRAINT assembly_component_subtypes FOR assembly_component;
              ONEOF (physical_component,
         laminate_component);
      
            END_SUBTYPE_CONSTRAINT;
(*
            

The component_feature_subtypes constraint specifies a constraint that applies to instances of component_feature and enforces the rule that its subtypes physical_component_feature and laminate_component_feature are exclusive.
EXPRESS specification:
            *)
SUBTYPE_CONSTRAINT component_feature_subtypes FOR component_feature;
              ONEOF (physical_component_feature,
         laminate_component_feature);
      
            END_SUBTYPE_CONSTRAINT;
(*
            

The limd_component_terminal_subtypes constraint specifies a constraint that applies to instances of component_terminal and enforces the rule that its subtypes physical_component_terminal and laminate_component_join_terminal are exclusive.
EXPRESS specification:
            *)
SUBTYPE_CONSTRAINT limd_component_terminal_subtypes FOR component_terminal;
              ONEOF (physical_component_terminal,
         laminate_component_join_terminal);
      
            END_SUBTYPE_CONSTRAINT;
(*
            

The inter_stratum_feature_subtypes constraint specifies a constraint that applies to instances of inter_stratum_feature and enforces the rule that its subtypes cutout and interconnect_module_edge are exclusive.
EXPRESS specification:
            *)
SUBTYPE_CONSTRAINT inter_stratum_feature_subtypes FOR inter_stratum_feature;
              ONEOF (cutout,
         interconnect_module_edge);
      
            END_SUBTYPE_CONSTRAINT;
(*
            

The interconnect_module_terminal_subtypes constraint specifies a constraint that applies to instances of interconnect_module_terminal and enforces the rule that its subtypes interconnect_module_interface_terminal and interconnect_module_macro_terminal are exclusive.
EXPRESS specification:
            *)
SUBTYPE_CONSTRAINT interconnect_module_terminal_subtypes FOR interconnect_module_terminal;
              ONEOF (interconnect_module_interface_terminal,
         interconnect_module_macro_terminal);
      
            END_SUBTYPE_CONSTRAINT;
(*
            

The limd_product_definition_subtypes constraint specifies a constraint that applies to instances of product_definition and enforces the rule that its subtypes physical_unit and stratum are exclusive.
EXPRESS specification:
            *)
SUBTYPE_CONSTRAINT limd_product_definition_subtypes FOR product_definition;
              ONEOF (physical_unit,
         stratum);
      
            END_SUBTYPE_CONSTRAINT;
(*
            

The limd_part_template_definition_subtypes constraint specifies a constraint that applies to instances of part_template_definition and enforces the rule that its subtypes (ONEOF (printed_part_template, special_symbol_template) ANDOR geometric_template), non_conductive_cross_section_template, part_string_template, parametric_template, part_text_template, stratum_stack_model and stratum_sub_stack are exclusive.
EXPRESS specification:
            *)
SUBTYPE_CONSTRAINT limd_part_template_definition_subtypes FOR part_template_definition;
              ONEOF ((ONEOF (printed_part_template,
        special_symbol_template)
 ANDOR geometric_template),
      non_conductive_cross_section_template,
      part_string_template,
      parametric_template,
      part_text_template,
      stratum_stack_model,
      stratum_sub_stack);
      
            END_SUBTYPE_CONSTRAINT;
(*
            
         *)
         END_SCHEMA;  -- Layered_interconnect_module_design_mim
(*
         © ISO 2018 — All rights reserved