| Application module: Layered interconnect simple template | ISO/TS 10303-1718:2018-11(E) © ISO | 
         (*
ISO/TC 184/SC 4/WG 12 N9457 - ISO/TS 10303-1718 Layered interconnect simple template - EXPRESS ARM
Supersedes 
         ISO/TC 184/SC 4/WG 12 N8176
*)
         
SCHEMA Layered_interconnect_simple_template_arm;
         USE FROM
         Layered_2d_shape_arm;
            -- ISO/TS 10303-1693
         USE FROM
         Fill_area_style_arm;
            -- ISO/TS 10303-1672
         USE FROM
         Fabrication_technology_arm;
            -- ISO/TS 10303-1670
         USE FROM
         Text_representation_arm;
            -- ISO/TS 10303-1750
         USE FROM
         Part_template_shape_with_parameters_arm;
            -- ISO/TS 10303-1720
         REFERENCE FROM 
         Requirement_decomposition_arm   -- ISO/TS 10303-1740
  (get_rvd);
         
         REFERENCE FROM 
         Support_resource_arm   -- ISO/TS 10303-1800
  (bag_to_set);
         
TYPE land_connection_zone_class =
         
         ENUMERATION
         
         OF
         
            
         (surface_point_class,
    edge_area_class,
    edge_curve_class,
    edge_point_class,
    surface_area_class);
         END_TYPE; 
         
TYPE land_template_terminal_class =
         
         ENUMERATION
         
         OF
         
            
         (surface_point_class,
    edge_area_class,
    edge_curve_class,
    edge_point_class,
    surface_area_class);
         END_TYPE; 
         
TYPE list_external_identification_item =
         
         
         SELECT
         BASED_ON
         external_identification_item
         WITH 
         
            (Land_physical_template);
         END_TYPE; 
         
TYPE list_requirement_assignment_item =
         
         
         SELECT
         BASED_ON
         requirement_assignment_item
         WITH 
         
            (Electrical_isolation_removal_template);
         END_TYPE; 
         
TYPE list_usage_concept =
         
         
         SELECT
         BASED_ON
         usage_concept
         WITH 
         
            (Land_template_terminal);
         END_TYPE; 
         
TYPE measure_orientation =
         
         ENUMERATION
         
         OF
         
            
         (reversed,
    normal);
         END_TYPE; 
         
TYPE ptswp_ptsm_definition =
         
         
         SELECT
            (Via_template, 
    Component_termination_passage_template);
         END_TYPE; 
         
TYPE ptswp_template_shape_model_context =
         
         ENUMERATION
         
         OF
         
            
         (drilled_passage_context,
    finished_passage_context,
    unknown_context);
         END_TYPE; 
         
ENTITY Blind_passage_template
           SUBTYPE OF (Unsupported_passage_template);
           bottom_distance_from_datum_reference : Dimensional_location;
           datum_reference_layer : Stratum_technology_occurrence;
           datum_reference_side : Stratum_technology_occurrence_link;
           of_measure_orientation : measure_orientation;
         
         END_ENTITY;
ENTITY Closed_path_area_with_parameters
           SUBTYPE OF (Path_area_with_parameters);
           SELF\Path_area_with_parameters.centreline : closed_curve;
           SELF\Path_area_with_parameters.parameters : Closed_curve_style_parameters;
         
         END_ENTITY;
ENTITY Component_termination_passage_template
           SUBTYPE OF (Continuous_template, Inter_stratum_feature_template);
           SELF\Inter_stratum_feature_template.of_passage_technology : Default_component_termination_passage_definition;
INVERSE
           access_mechanisms : SET[2:?] OF Component_termination_passage_template_terminal FOR associated_definition;
         
         END_ENTITY;
ENTITY Component_termination_passage_template_interface_terminal
           SUBTYPE OF (Component_termination_passage_template_terminal);
         
         END_ENTITY;
ENTITY Component_termination_passage_template_join_terminal
           SUBTYPE OF (Component_termination_passage_template_terminal);
           disallowed_inter_stratum_extent : 
         OPTIONAL 
         SET[1:?] OF Stratum_technology_occurrence_link;
         
         END_ENTITY;
ENTITY Component_termination_passage_template_terminal
           ABSTRACT SUPERTYPE
         
         OF (ONEOF (Component_termination_passage_template_interface_terminal,
                                Component_termination_passage_template_join_terminal))
           SUBTYPE OF (General_part_feature);
           SELF\Shape_element.associated_definition : Component_termination_passage_template;
           connection_area : 
         OPTIONAL 
         SET[1:?] OF Connection_zone_in_layout_template;
UNIQUE
           UR1: SELF\Shape_element.element_name, associated_definition;
WHERE
           WR1: NOT EXISTS(SELF\Shape_element.description);
         
         END_ENTITY;
ENTITY Connection_zone_in_layout_template
           SUBTYPE OF (Connection_zone, Instanced_feature);
           SELF\Shape_element.associated_definition : Template_definition;
           connection_zone_category : 
         OPTIONAL 
         SET[1:?] OF land_connection_zone_class;
         
         END_ENTITY;
ENTITY Continuous_template
           SUBTYPE OF (Geometric_template);
WHERE
           WR1: SIZEOF(QUERY(s <* SELF\Geometric_template.shapes |
            NOT 
            (SIZEOF(['CONSTRUCTIVE_SOLID_GEOMETRY_2D_ARM.SINGLE_AREA_CSG_2D_MODEL'] * TYPEOF(s))
            = 1)
            )) = 0;
         
         END_ENTITY;
ENTITY Counterbore_passage_template
           SUBTYPE OF (Unsupported_passage_template);
           smaller_passage : Unsupported_passage_template;
           larger_passage : Blind_passage_template;
         
         END_ENTITY;
ENTITY Countersunk_passage_template
           SUBTYPE OF (Unsupported_passage_template);
           constant_diameter_passage : Unsupported_passage_template;
           tapered_passage : Blind_passage_template;
         
         END_ENTITY;
ENTITY Default_attachment_size_based_land_physical_template
           SUBTYPE OF (Land_physical_template, Shape_element);
DERIVE
           SELF\Shape_element.associated_definition : Default_attachment_size_based_land_physical_template := SELF;
           SELF\Shape_element.element_name : STRING := '';
           SELF\Shape_element.product_definitional : BOOLEAN := TRUE;
INVERSE
           interface_access_mechanisms : SET[1:?] OF Land_template_interface_terminal FOR associated_definition;
WHERE
           WR1: NOT (SIZEOF(interface_access_mechanisms[1].connection_area) > 0) OR 
            ('minimum attachment region size' IN 
            list_get_zone_name(interface_access_mechanisms[1].connection_area));
           WR2: NOT (SIZEOF(interface_access_mechanisms[1].connection_area) > 1) OR 
            (SIZEOF(['maximum attachment region size','heel area', 'toe area'] * 
            list_get_zone_name(interface_access_mechanisms[1].connection_area)) = 1);
           WR3: NOT (SIZEOF(interface_access_mechanisms[1].connection_area) > 2) OR 
            (SIZEOF(['maximum attachment region size','heel area', 'toe area'] * 
            list_get_zone_name(interface_access_mechanisms[1].connection_area)) = 2);
           WR4: NOT (SIZEOF(interface_access_mechanisms[1].connection_area) > 3) OR 
            (SIZEOF(['maximum attachment region size','heel area', 'toe area'] * 
            list_get_zone_name(interface_access_mechanisms[1].connection_area)) = 3);
           WR5: SIZEOF(interface_access_mechanisms) = 1;
         
         END_ENTITY;
ENTITY Default_passage_based_land_physical_template
           ABSTRACT SUPERTYPE
         
         OF (ONEOF (Default_plated_passage_based_land_physical_template,
                                Default_unsupported_passage_based_land_physical_template))
           SUBTYPE OF (Land_physical_template);
           of_passage_technology : Passage_technology;
         
         END_ENTITY;
ENTITY Default_plated_passage_based_land_physical_template
           SUBTYPE OF (Default_passage_based_land_physical_template);
WHERE
           WR1: SELF\Default_passage_based_land_physical_template.of_passage_technology.plated_passage = TRUE;
           WR2: NOT('FABRICATION_TECHNOLOGY_ARM.DEFAULT_VIA_DEFINITION' IN TYPEOF(SELF\Default_passage_based_land_physical_template.of_passage_technology))
            OR
            	        (SIZEOF(QUERY(ltjt <* SELF\Land_physical_template.access_mechanisms | NOT('LAYERED_INTERCONNECT_SIMPLE_TEMPLATE_ARM.LAND_TEMPLATE_JOIN_TERMINAL'
            IN TYPEOF(ltjt)))) = 0);
         
         END_ENTITY;
ENTITY Default_trace_template
           SUBTYPE OF (Trace_template);
           of_stratum_technology : Stratum_technology;
         
         END_ENTITY;
ENTITY Default_unsupported_passage_based_land_physical_template
           SUBTYPE OF (Default_passage_based_land_physical_template);
           SELF\Default_passage_based_land_physical_template.of_passage_technology : Default_unsupported_passage_definition;
         
         END_ENTITY;
ENTITY Electrical_isolation_removal_template
           SUBTYPE OF (Material_removal_feature_template);
DERIVE
           electrical_isolation_spacing_requirement : SET[0:?] OF Requirement_view_definition := get_rvd(SELF, 'electrical requirement');
WHERE
           WR1: SIZEOF(QUERY(eisr <* electrical_isolation_spacing_requirement |
            NOT('INTERCONNECT_PHYSICAL_REQUIREMENT_ALLOCATION_ARM.ELECTRICAL_ISOLATION_REQUIREMENT'
            IN TYPEOF(eisr)) )) =0;
           WR2: SIZEOF(QUERY(s <* SELF\Geometric_template.shapes |
            ('LAYERED_INTERCONNECT_SIMPLE_TEMPLATE_ARM.PLANAR_CLOSED_PATH_SHAPE_MODEL_WITH_PARAMETERS' IN TYPEOF(s)))) = 0;
           WR3: SIZEOF(QUERY(s <* SELF\Geometric_template.shapes |
            NOT ('CONSTRUCTIVE_SOLID_GEOMETRY_2D_ARM.SINGLE_BOUNDARY_CSG_2D_MODEL' IN TYPEOF(s)))) = 0;
         
         END_ENTITY;
ENTITY Fill_area_template
           SUBTYPE OF (Parametric_template);
           outer_boundary_style : Closed_curve_style_parameters;
           inner_boundary_style : Closed_curve_style_parameters;
         
         END_ENTITY;
ENTITY Hatch_area_template
           SUBTYPE OF (Fill_area_template);
           fill_boundary_style : Curve_style_parameters_with_ends;
           hatch_pattern : SET[1:4] OF Hatch_line_element;
           min_feature : 
         OPTIONAL 
         Length_data_element;
         
         END_ENTITY;
ENTITY Hatch_line_element
           SUBTYPE OF (Detailed_geometric_model_element);
           hatch_line : Line;
           offset : Length_data_element;
         
         END_ENTITY;
ENTITY Inter_stratum_feature_edge_segment_template
           SUBTYPE OF (Inter_stratum_feature_template);
           composed_edge : Inter_stratum_feature_edge_template;
           start_vertex : Edge_segment_vertex;
           end_vertex : Edge_segment_vertex;
           reference_path : Trimmed_curve;
WHERE
           WR1: EXISTS(reference_path.start_point) AND 
            EXISTS(reference_path.end_point);
           WR2: start_vertex :<>: end_vertex;
         
         END_ENTITY;
ENTITY Inter_stratum_feature_edge_template
           SUBTYPE OF (Inter_stratum_feature_template);
INVERSE
           edges : SET[2:?] OF Inter_stratum_feature_edge_segment_template FOR composed_edge;
         
         END_ENTITY;
ENTITY Inter_stratum_feature_template
           SUPERTYPE OF 
         (ONEOF (Component_termination_passage_template,
                       Via_template,
                       Unsupported_passage_template,
                       Inter_stratum_feature_edge_segment_template,
                       Inter_stratum_feature_edge_template))
           SUBTYPE OF (Geometric_template);
           of_passage_technology : Passage_technology;
WHERE
           WR1: NOT EXISTS(SELF\Product_view_definition.name);
         
         END_ENTITY;
ENTITY Land_physical_template
           SUPERTYPE OF 
         (ONEOF (Default_passage_based_land_physical_template,
                       Default_attachment_size_based_land_physical_template))
           SUBTYPE OF (Stratum_feature_template);
INVERSE
           access_mechanisms : SET[1:?] OF Land_template_terminal FOR associated_definition;
           pre_defined_classification_code : SET[0:1] OF External_source_identification FOR item;
WHERE
           WR1: SIZEOF(QUERY(ltjt <* access_mechanisms | ('LAYERED_INTERCONNECT_SIMPLE_TEMPLATE_ARM.LAND_TEMPLATE_JOIN_TERMINAL' IN TYPEOF(ltjt))))
            > 0;
           WR2: SIZEOF(QUERY(s <* SELF\Geometric_template.shapes |
            NOT ('CONSTRUCTIVE_SOLID_GEOMETRY_2D_ARM.SINGLE_AREA_CSG_2D_MODEL' IN TYPEOF(s)))) = 0;
           WR3: SIZEOF(SELF\Geometric_template.shapes) > 0;
         
         END_ENTITY;
ENTITY Land_template_interface_terminal
           SUBTYPE OF (Land_template_terminal);
           SELF\Shape_element.associated_definition : Default_attachment_size_based_land_physical_template;
         
         END_ENTITY;
ENTITY Land_template_join_terminal
           SUBTYPE OF (Land_template_terminal);
         
         END_ENTITY;
ENTITY Land_template_terminal
           ABSTRACT SUPERTYPE
         
         OF (ONEOF (Land_template_join_terminal,
                                Land_template_interface_terminal))
           SUBTYPE OF (General_part_feature);
           SELF\Shape_element.associated_definition : Land_physical_template;
           connection_area : 
         OPTIONAL 
         SET[1:?] OF Connection_zone_in_layout_template;
           terminal_category : 
         OPTIONAL 
         land_template_terminal_class;
UNIQUE
           UR1: SELF\Shape_element.element_name, associated_definition;
WHERE
           WR1: NOT (EXISTS(connection_area)) OR NOT EXISTS(terminal_category);
           WR2: NOT EXISTS(SELF\Shape_element.description);
           WR3: SIZEOF(QUERY(ca <* connection_area |
            NOT(associated_definition = ca\Shape_element.associated_definition)
            )) = 0;
         
         END_ENTITY;
ENTITY Material_removal_feature_template
           SUBTYPE OF (Single_stratum_continuous_template);
WHERE
           WR1: NOT EXISTS(SELF\Product_view_definition.name);
           WR2: SIZEOF(SELF\Geometric_template.shapes) > 0;
         
         END_ENTITY;
ENTITY Parametric_template
           ABSTRACT SUPERTYPE
         
         OF (ONEOF (Fill_area_template,
                                Teardrop_template,
                                Trace_template))
           SUBTYPE OF (Template_definition);
         
         END_ENTITY;
ENTITY Part_string_template
           SUBTYPE OF (Template_definition);
           string_alignment : text_alignment;
         
         END_ENTITY;
ENTITY Part_text_template
           SUBTYPE OF (Template_definition);
           of_character : Character_glyph_symbol;
WHERE
           WR1: SIZEOF(['CONSTRUCTIVE_SOLID_GEOMETRY_3D_ARM.CSG_MODEL', 'LAYERED_INTERCONNECT_SIMPLE_TEMPLATE_ARM.SOLID_CHARACTER_GLYPH_2D_SYMBOL']
            *
            TYPEOF(of_character)) = 1;
         
         END_ENTITY;
ENTITY Planar_closed_path_shape_model_with_parameters
           SUBTYPE OF (Planar_path_shape_model_with_parameters);
WHERE
           WR1: SIZEOF(QUERY(it <* SELF\Representation.items |   
            ('LAYERED_INTERCONNECT_SIMPLE_TEMPLATE_ARM.CLOSED_PATH_AREA_WITH_PARAMETERS' IN TYPEOF(it))
            )) = 1;
         
         END_ENTITY;
ENTITY Planar_path_shape_model_with_parameters
           SUBTYPE OF (Single_area_csg_2d_model);
WHERE
           WR1: SIZEOF(QUERY(it <* SELF\Representation.items |
            ('EXTENDED_BASIC_GEOMETRY_ARM.AXIS_PLACEMENT_2D' IN TYPEOF(it))
            )) = 1;
           WR2: SIZEOF(QUERY(it <* SELF\Representation.items |   
            ('CONSTRUCTIVE_SOLID_GEOMETRY_2D_ARM.PATH_AREA_WITH_PARAMETERS' IN TYPEOF(it))
            )) = 1;
           WR3: SIZEOF(SELF\Representation.items) = 2;
         
         END_ENTITY;
ENTITY Plated_passage_template_shape_model
           SUBTYPE OF (Part_template_shape_model);
           SELF\Part_template_shape_model.shape_characterized_definition : SET[1:?] OF ptswp_ptsm_definition;
           data_qualification : ptswp_template_shape_model_context;
DERIVE
           template : Geometric_template := shape_characterized_definition[1];
WHERE
           WR1: SIZEOF(QUERY(scd <* shape_characterized_definition |  
            NOT(scd\Inter_stratum_feature_template.of_passage_technology\Passage_technology.plated_passage)
            )) = 0;
           WR2: SIZEOF(QUERY(scd <* shape_characterized_definition |
            NOT(TYPEOF(scd) = TYPEOF(template))
            )) = 0;
         
         END_ENTITY;
ENTITY Single_stratum_continuous_template
           ABSTRACT SUPERTYPE
         
         OF (ONEOF (Stratum_feature_template,
                                Material_removal_feature_template))
           SUBTYPE OF (Continuous_template, Single_stratum_template);
         
         END_ENTITY;
ENTITY Single_stratum_template
           ABSTRACT SUPERTYPE
         
           SUBTYPE OF (Template_definition);
         
         END_ENTITY;
ENTITY Snowball_template
           SUBTYPE OF (Teardrop_template);
           snowball_start_distance : Length_data_element;
           snowball_end_distance : 
         OPTIONAL 
         Length_data_element;
           snowball_initial_spacing : 
         OPTIONAL 
         Length_data_element;
           snowball_end_spacing : 
         OPTIONAL 
         Length_data_element;
           snowball_initial_radius : Length_data_element;
           snowball_end_radius : 
         OPTIONAL 
         Length_data_element;
           snowball_quantity_per_trace : INTEGER;
WHERE
           WR1: NOT (snowball_quantity_per_trace > 1) OR (EXISTS(snowball_initial_spacing) AND EXISTS(snowball_end_spacing) AND EXISTS(snowball_end_distance)
            AND EXISTS(snowball_end_radius));
           WR2: (SIZEOF(USEDIN(SELF,'PART_TEMPLATE_SHAPE_WITH_PARAMETERS_ARM.PART_TEMPLATE_SHAPE_MODEL.' + 'SHAPE_CHARACTERIZED_DEFINITION'))
            = 0);
           WR3: NOT EXISTS(SELF\Product_view_definition.additional_characterization);
         
         END_ENTITY;
ENTITY Solid_character_glyph_2d_symbol
           SUBTYPE OF (Character_glyph_symbol, Csg_2d_model);
         
         END_ENTITY;
ENTITY Stratum_feature_template
           SUPERTYPE OF 
         (Land_physical_template)
           SUBTYPE OF (Single_stratum_continuous_template);
WHERE
           WR1: NOT EXISTS(SELF\Product_view_definition.name);
         
         END_ENTITY;
ENTITY Teardrop_by_angle_template
           SUBTYPE OF (Teardrop_template);
           teardrop_angle : Angle_data_element;
WHERE
           WR1: (SIZEOF(USEDIN(SELF,'PART_TEMPLATE_SHAPE_WITH_PARAMETERS_ARM.PART_TEMPLATE_SHAPE_MODEL.' + 'SHAPE_CHARACTERIZED_DEFINITION'))
            = 0);
           WR2: NOT EXISTS(SELF\Product_view_definition.additional_characterization);
         
         END_ENTITY;
ENTITY Teardrop_by_length_template
           SUBTYPE OF (Teardrop_template);
           teardrop_taper_start_distance : Length_data_element;
           teardrop_taper_end_distance : Length_data_element;
WHERE
           WR1: (SIZEOF(USEDIN(SELF,'PART_TEMPLATE_SHAPE_WITH_PARAMETERS_ARM.PART_TEMPLATE_SHAPE_MODEL.' + 'SHAPE_CHARACTERIZED_DEFINITION'))
            = 0);
           WR2: NOT EXISTS(SELF\Product_view_definition.additional_characterization);
         
         END_ENTITY;
ENTITY Teardrop_template
           SUPERTYPE OF 
         (ONEOF (Snowball_template,
                       Teardrop_by_angle_template,
                       Teardrop_by_length_template))
           SUBTYPE OF (Parametric_template, Single_stratum_template);
WHERE
           WR1: (SIZEOF(['LAYERED_INTERCONNECT_SIMPLE_TEMPLATE_ARM.SNOWBALL_TEMPLATE',
            'LAYERED_INTERCONNECT_SIMPLE_TEMPLATE_ARM.TEARDROP_BY_ANGLE_TEMPLATE',
            'LAYERED_INTERCONNECT_SIMPLE_TEMPLATE_ARM.TEARDROP_BY_LENGTH_TEMPLATE'] * TYPEOF(SELF)) = 1) XOR
            ('PRODUCT_VIEW_DEFINITION_REFERENCE_ARM.PRODUCT_VIEW_DEFINITION_REFERENCE' IN TYPEOF(SELF));
         
         END_ENTITY;
ENTITY Tile_area_template
           SUBTYPE OF (Fill_area_template);
           fill_template : Single_stratum_template;
           start_placement : Axis_placement_2d;
           first_repeat_factor : Vector;
           second_repeat_factor : Vector;
         
         END_ENTITY;
ENTITY Trace_template
           SUPERTYPE OF 
         (Default_trace_template)
           SUBTYPE OF (Parametric_template);
           trace_style : Curve_style_parameters;
WHERE
           WR1: NOT EXISTS(SELF\Product_view_definition.name);
         
         END_ENTITY;
ENTITY Unsupported_passage_template
           SUPERTYPE OF 
         (ONEOF (Counterbore_passage_template,
                       Countersunk_passage_template,
                       Blind_passage_template))
           SUBTYPE OF (Continuous_template, Inter_stratum_feature_template);
           SELF\Inter_stratum_feature_template.of_passage_technology : Default_unsupported_passage_definition;
         
         END_ENTITY;
ENTITY Via_template
           SUBTYPE OF (Continuous_template, Inter_stratum_feature_template);
           SELF\Inter_stratum_feature_template.of_passage_technology : Default_via_definition;
INVERSE
           access_mechanisms : SET[0:?] OF Via_template_terminal FOR associated_definition;
         
         END_ENTITY;
ENTITY Via_template_terminal
           SUBTYPE OF (General_part_feature);
           SELF\Shape_element.associated_definition : Via_template;
           disallowed_inter_stratum_extent : 
         OPTIONAL 
         SET[1:?] OF Stratum_technology_occurrence_link;
           connection_area : 
         OPTIONAL 
         SET[1:?] OF Connection_zone_in_layout_template;
UNIQUE
           UR1: SELF\Shape_element.element_name, associated_definition;
WHERE
           WR1: NOT EXISTS(SELF\Shape_element.description);
         
         END_ENTITY;
SUBTYPE_CONSTRAINT lisp_shape_element_subtypes FOR Shape_element;
           ONEOF (Non_feature_shape_element,
         Edge_segment_vertex);
      
         END_SUBTYPE_CONSTRAINT;
SUBTYPE_CONSTRAINT list_shape_feature_subtypes FOR General_part_feature;
           ONEOF (Via_template_terminal,
         Component_termination_passage_template_terminal,
         Land_template_terminal);
      
         END_SUBTYPE_CONSTRAINT;
SUBTYPE_CONSTRAINT list_template_definition_subtypes FOR Template_definition;
           ONEOF (Geometric_template,
         Parametric_template,
         Part_string_template,
         Part_text_template,
         Single_stratum_template,
         Stratum_stack_model);
      
         END_SUBTYPE_CONSTRAINT;
RULE unique_land_physical_template FOR 
         (Land_physical_template);
LOCAL
      esi : BAG OF External_source_identification := [];
      iid : BAG OF String := [];
      itype : BAG OF String := [];
    END_LOCAL;
    REPEAT i := 1 to SIZEOF(Land_physical_template) by 1;
      esi  := esi + Land_physical_template[i].pre_defined_classification_code[1];
      iid := iid + Land_physical_template[i].pre_defined_classification_code[1]\External_source_identification.source_id;
      itype := itype + Land_physical_template[i].pre_defined_classification_code[1]\External_source_identification.source_type;
    END_REPEAT;WHERE
           WR1: (SIZEOF(esi) = SIZEOF(bag_to_set(esi))) AND
            (SIZEOF(iid) = SIZEOF(bag_to_set(iid))) AND
            (1 = SIZEOF(bag_to_set(itype)));
         END_RULE;
         
FUNCTION list_get_zone_name
 (input : SET[0:?] OF Connection_zone_in_layout_template) : SET[0:?] OF STRING;
         LOCAL
      s : SET OF STRING := [];
    END_LOCAL;
    REPEAT  i := 1 TO SIZEOF(input) BY 1;
      s := s + input[i]\Characterizable_object.name;
    END_REPEAT;
    RETURN(s);
         END_FUNCTION;
         
         END_SCHEMA;  -- Layered_interconnect_simple_template_arm
© ISO 2018 — All rights reserved