Application module: Layered interconnect simple template ISO/TS 10303-1718:2018-11(E)
© ISO

Cover page
Table of contents
Copyright
Foreword
Introduction
1 Scope
2 Normative references
3 Terms, definitions and abbreviated terms
    3.1 Terms and definitions
    3.2 Abbreviated terms

4 Information requirements
   4.1 Required AM ARMs
   4.2 ARM type definitions
   4.3 ARM entity definitions
   4.4 ARM subtype constraint definitions
   4.5 ARM function definition
   4.6 ARM rule definition
5 Module interpreted model
   5.1 Mapping specification
   5.2 MIM EXPRESS short listing
     5.2.1 MIM type definition
     5.2.2 MIM entity definitions
     5.2.3 MIM subtype constraint definition

A MIM short names
B Information object registration
C ARM EXPRESS-G   EXPRESS-G
D MIM EXPRESS-G   EXPRESS-G
E Computer interpretable listings
F Change history
Bibliography
Index

(*
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