Application module: Assembly component placement requirements ISO/TS 10303-1634: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 definition
   4.5 ARM function definition
5 Module interpreted model
   5.1 Mapping specification
   5.2 MIM EXPRESS short listing
     5.2.1 MIM type definitions
     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

4 Information requirements

This clause specifies the information requirements for the Assembly component placement requirements application module. The information requirements are specified as the Application Reference Model (ARM) of this application module.

NOTE 1  A graphical representation of the information requirements is given in Annex C.

NOTE 2  The mapping specification is specified in 5.1. It shows how the information requirements are met by using common resources and constructs defined or imported in the MIM schema of this application module.

This clause defines the information requirements to which implementations shall conform using the EXPRESS language as defined in ISO 10303-11. The following begins the Assembly_component_placement_requirements_arm schema and identifies the necessary external references.

EXPRESS specification:

*)
SCHEMA Assembly_component_placement_requirements_arm;
(*

4.1 Required AM ARMs

The following EXPRESS interface statements specify the elements imported from the ARMs of other application modules.

EXPRESS specification:

*)
USE FROM Assembly_module_with_interconnect_component_arm;    --  ISO/TS 10303-1643

REFERENCE FROM Requirement_decomposition_arm    --  ISO/TS 10303-1740
  (get_rvd);

REFERENCE FROM Support_resource_arm    --  ISO/TS 10303-1800
  (bag_to_set);
(*

NOTE 1   The schemas referenced above are specified in the following part of ISO 10303:

Assembly_module_with_interconnect_component_arm ISO/TS 10303-1643
Requirement_decomposition_arm ISO/TS 10303-1740
Support_resource_arm ISO/TS 10303-1800

NOTE 2   See Annex C, Figures C.1, C.2and C.3 for a graphical representation of this schema.

4.2 ARM type definitions

This subclause specifies the ARM types for this application module. The ARM types and definitions are specified below.

4.2.1 acpr_requirement_assignment_item   EXPRESS-G

The acpr_requirement_assignment_item type is an extension of the requirement_assignment_item type. It adds the data types restriction_basis_item, and Placement_group_requirement_definition to the list of alternate data types.

EXPRESS specification:

*)
TYPE acpr_requirement_assignment_item = SELECT BASED_ON requirement_assignment_item WITH
   (restriction_basis_item,
    Placement_group_requirement_definition);
END_TYPE;
(*

4.2.2 assembly_component_or_component_feature   EXPRESS-G

The assembly_component_or_component_feature type allows for the designation of the data types Assembly_component, and Component_feature.

EXPRESS specification:

*)
TYPE assembly_component_or_component_feature = SELECT
   (Assembly_component,
    Component_feature);
END_TYPE;
(*

4.2.3 assembly_product_design_object_category   EXPRESS-G

An assembly_product_design_object_category lists the categories of the assembly product design object.

EXPRESS specification:

*)
TYPE assembly_product_design_object_category = EXTENSIBLE ENUMERATION OF
   (assembly_component_category,
    assembly_module_component_category,
    assembly_module_component_terminal_category,
    assembly_module_macro_component_category,
    assembly_module_macro_component_join_terminal_category,
    bare_die_component_category,
    bare_die_component_terminal_category,
    buried_via_category,
    cable_component_category,
    component_feature_category,
    component_termination_passage_category,
    conductive_interconnect_element_with_pre_defined_transitions_category,
    cutout_category,
    cutout_edge_segment_category,
    dielectric_material_passage_category,
    embedded_physical_component_terminal_category,
    fiducial_category,
    fill_area_category,
    inter_stratum_feature_category,
    interconnect_component_interface_terminal_category,
    interconnect_component_join_terminal_category,
    interconnect_module_component_category,
    interconnect_module_component_stratum_based_terminal_category,
    interconnect_module_component_surface_feature_category,
    interconnect_module_component_terminal_category,
    interconnect_module_edge_category,
    interconnect_module_edge_segment_category,
    interconnect_module_macro_component_category,
    interconnect_module_macro_component_join_terminal_category,
    interface_access_material_removal_laminate_component_category,
    interface_access_stratum_feature_template_component_category,
    interface_component_category,
    interfacial_connection_category,
    internal_probe_access_area_category,
    laminate_component_category,
    minimally_defined_component_terminal_category,
    packaged_component_category,
    packaged_component_join_terminal_category,
    packaged_connector_component_category,
    packaged_connector_component_interface_terminal_category,
    physical_component_category,
    plated_passage_or_unsupported_passage_category,
    routed_interconnect_component_category,
    routed_physical_component_category,
    stratum_feature_category,
    via_category);
END_TYPE;
(*

Enumerated item definitions:

assembly_component_category: specifies that an instance that in this category is an implementation of the assembly component;

assembly_module_component_category: specifies that an instance that in this category is an implementation of the assembly module component;

assembly_module_component_terminal_category: specifies that an instance that is in this category is an implementation of the assembly module component terminal;

assembly_module_macro_component_category: specifies that an instance that is in this category is an implementation of the assembly module macro component;

assembly_module_macro_component_join_terminal_category: specifies that an instance that is in this category is an implementation of the assembly module macro component join terminal;

bare_die_component_category: specifies that an instance that is in this category is an implementation of the bare die component;

bare_die_component_terminal_category: specifies that an instance that is in this category is an implementation of the bare die component terminal;

buried_via_category: specifies that an instance that is in this category is an implementation of the buried via;

cable_component_category: specifies that an instance that is in this category is an implementation of the cable component;

component_feature_category: specifies that an instance that is in this category is an implementation of the component feature;

component_termination_passage_category: specifies that an instance that is in this category is an implementation of the component termination passage;

conductive_interconnect_element_with_pre_defined_transitions_category: specifies that an instance that is in this category is an implementation of the conductive interconnect element with pre defined transitions;

cutout_category: specifies that an instance that is in this category is an implementation of the cutout;

cutout_edge_segment_category: specifies that an instance that is in this category is an implementation of the cutout edge segment;

dielectric_material_passage_category: specifies that an instance that is in this category is an implementation of the dielectric material passage;

embedded_physical_component_terminal_category: specifies that an instance that is in this category is an implementation of the embedded physical component terminal;

fiducial_category: specifies that an instance that is in this category is an implementation of the fiducial;

fill_area_category: specifies that an instance that is in this category is an implementation of the fill area;

inter_stratum_feature_category: specifies that an instance that is in this category is an implementation of the inter stratum feature;

interconnect_component_interface_terminal_category: specifies that an instance that is in this category is an implementation of the interconnect component interface terminal;

interconnect_component_join_terminal_category: specifies that an instance that is in this category is an implementation of the interconnect component join terminal;

interconnect_module_component_category: specifies that an instance that is in this category is an implementation of the interconnect module component;

interconnect_module_component_stratum_based_terminal_category: specifies that an instance that is in this category is an implementation of the interconnect module component stratum based terminal;

interconnect_module_component_surface_feature_category: specifies that an instance that is in this category is an implementation of the interconnect module component surface feature;

interconnect_module_component_terminal_category: specifies that an instance that is in this category is an implementation of the interconnect module component terminal;

interconnect_module_edge_category: specifies that an instance that is in this category is an implementation of the interconnect module edge;

interconnect_module_edge_segment_category: specifies that an instance that is in this category is an implementation of the interconnect module edge segment;

interconnect_module_macro_component_category: specifies that an instance that is in this category is an implementation of the interconnect module macro component;

interconnect_module_macro_component_join_terminal_category: specifies that an instance that is in this category is an implementation of the interconnect module macro component join terminal;

interface_access_material_removal_laminate_component_category: specifies that an instance that is in this category is an implementation of the interface access material removal feature;

interface_access_stratum_feature_template_component_category: specifies that an instance that is in this category is an implementation of the interface access stratum feature template component;

interface_component_category: specifies that an instance that is in this category is an implementation of the interface component;

interfacial_connection_category: specifies that an instance that is in this category is an implementation of the interfacial connection;

internal_probe_access_area_category: specifies that an instance that is in this category is an implementation of the internal probe access area;

laminate_component_category: specifies that an instance that is in this category is an implementation of the laminate component;

minimally_defined_component_terminal_category: specifies that an instance that is in this category is an implementation of the minimally defined component terminal;

packaged_component_category: specifies that an instance that is in this category is an implementation of the packaged component;

packaged_component_join_terminal_category: specifies that an instance that is in this category is an implementation of the packaged component join terminal;

packaged_connector_component_category: specifies that an instance that is in this category is an implementation of the packaged connector component;

packaged_connector_component_interface_terminal_category: specifies that an instance that is in this category is an implementation of the packaged connector component interface terminal;

physical_component_category: specifies that an instance that is in this category is an implementation of the physical component;

plated_passage_or_unsupported_passage_category: specifies that an instance that is in this category is an implementation of the plated passage or unsupported passage;

routed_interconnect_component_category: specifies that an instance that is in this category is an implementation of the routed interconnect component;

routed_physical_component_category: specifies that an instance that is in this category is an implementation of the routed physical component;

stratum_feature_category: specifies that an instance that is in this category is an implementation of the stratum feature;

via_category: specifies that an instance that is in this category is an implementation of the via;

4.2.4 assembly_product_design_object_category_or_group   EXPRESS-G

The assembly_product_design_object_category_or_group type allows for the designation of the data types assembly_product_design_object_category, and Group.

EXPRESS specification:

*)
TYPE assembly_product_design_object_category_or_group = SELECT
   (assembly_product_design_object_category,
    Group);
END_TYPE;
(*

4.2.5 assembly_spacing_type   EXPRESS-G

An assembly_spacing_type lists the types of the spacing.

EXPRESS specification:

*)
TYPE assembly_spacing_type = EXTENSIBLE ENUMERATION OF
   (nearest_boundary,
    centroid,
    furthest_boundary);
END_TYPE;
(*

Enumerated item definitions:

nearest_boundary: specifies that spacing is measured between nearest boundaries of the design items indicated;

centroid: specifies that spacing is measured between centroids of the design items indicated;

furthest_boundary: specifies that spacing is measured between furthest boundaries of the design items indicated;

4.2.6 restriction_basis_item   EXPRESS-G

The restriction_basis_item type is an extensible list of alternate data types that allows for the designation of the data types Predefined_requirement_view_definition, and Part_feature.

NOTE   The list of entity data types may be extended in application modules that use the constructs of this module.

EXPRESS specification:

*)
TYPE restriction_basis_item = EXTENSIBLE GENERIC_ENTITY SELECT
   (Predefined_requirement_view_definition,
    Part_feature);
END_TYPE;
(*

4.3 ARM entity definitions

This subclause specifies the ARM entities for this module. Each ARM application entity is an atomic element that embodies a unique application concept and contains attributes specifying the data elements of the entity. The ARM entities and definitions are specified below.

4.3.1 Assembly_group_spacing_requirement   EXPRESS-GMapping table

An Assembly_group_spacing_requirement is a type of Predefined_requirement_view_definition. An Assembly_group_spacing_requirement specifies the spacing between groups of components in an assembly rather than between individual components.

EXPRESS specification:

*)
ENTITY Assembly_group_spacing_requirement
  SUBTYPE OF (Predefined_requirement_view_definition);
  dependent_group : Placement_group_requirement_definition;
  of_spacing_type : assembly_spacing_type;
  reference_group : Placement_group_requirement_definition;
  SELF\Predefined_requirement_view_definition.required_characteristic : Length_tolerance_characteristic;
END_ENTITY;
(*

Attribute definitions:

dependent_group: specifies one role of the Placement_group_requirement_definition for the Assembly_group_spacing_requirement.

of_spacing_type: specifies the assembly_spacing_type for the Assembly_group_spacing_requirement. The of_spacing_type is either a centroid, a nearest_boundary, or a furthest_boundary for the Assembly_group_spacing_requirement.

reference_group: specifies one role of the Placement_group_requirement_definition for the Assembly_group_spacing_requirement.

required_characteristic: an attribute inherited from the Predefined_requirement_view_definition supertype that specifies the role of the Length_tolerance_characteristic for the Assembly_group_spacing_requirement.

4.3.2 Assembly_spacing_requirement   EXPRESS-GMapping table

An Assembly_spacing_requirement is a type of Predefined_requirement_view_definition that describes the physical spacing between categories of design objects assembly_module_assembly_component, an assembly_module_component_feature, an interconnect_module_cutout, an interconnect_module_fill_area, an interconnect_module_design_intent_modification, an interconnect_module_inter_stratum_feature, an interconnect_module_cutout_edge_segment, an interconnect_module_interconnect_module_edge, an interconnect_module_interconnect_module_edge_segment, an interconnect_module_plated_cutout, an interconnect_module_plated_cutout_edge_segment, an interconnect_module_plated_interconnect_module_edge, an interconnect_module_plated_interconnect_module_edge_segment, an interconnect_module_plated_passage, a category consisting of the union of an interconnect_module_plated_passage category and an interconnect_module_plated_unsupported_passage category, an interconnect_module_unsupported_passage, an interconnect_module_stratum_feature, or an interconnect_module_via, and another of these categories of design objects or additionally a group. Members of Application objects are considered to be in the category associated with the Application object. A group is provided to support the case where finer granularity is required than just the complete category.

EXAMPLE 1   The category assembly_module_component_feature is a category that all members of Component_feature in the context of assembly design shall belong to.

EXAMPLE 2   If only some of the Component_features are to be constrained, a group would be established against which the spacing requirements would be levied, and members of the Application object would be explicitly assigned to the group.

EXPRESS specification:

*)
ENTITY Assembly_spacing_requirement
  SUBTYPE OF (Predefined_requirement_view_definition);
  reference_design_object_category : assembly_product_design_object_category_or_group;
  dependent_design_object_category : assembly_product_design_object_category_or_group;
  SELF\Predefined_requirement_view_definition.required_characteristic : Length_tolerance_characteristic;
  of_spacing_type : assembly_spacing_type;
END_ENTITY;
(*

Attribute definitions:

reference_design_object_category: specifies the role of the assembly_product_design_object_category_or_group for the Assembly_spacing_requirement.

dependent_design_object_category: specifies the role of the assembly_product_design_object_category_or_group for the Assembly_spacing_requirement.

required_characteristic: an attribute inherited from the Predefined_requirement_view_definition supertype that specifies the role of the Length_tolerance_characteristic for the Assembly_spacing_requirement.

of_spacing_type: specifies the role of the assembly_spacing_type for the Assembly_spacing_requirement. The of_spacing_type is either a centroid, a nearest_boundary, or a furthest_boundary for the Assembly_spacing_requirement.

4.3.3 Component_group_assignment   EXPRESS-GMapping table

A Component_group_assignment is the relationship between an Assembly_component and the Placement_group_requirement_definition to which it is assigned. A Component_group_assignment is an incomplete concept by itself and is intended for use with a Placement_group_area_assignment or a Component_placement_restriction_assignment.

EXPRESS specification:

*)
ENTITY Component_group_assignment;
  associated_group : Placement_group_requirement_definition;
  assigned_component : assembly_component_or_component_feature;
END_ENTITY;
(*

Attribute definitions:

associated_group: specifies the role of the Placement_group_requirement_definition for the Component_group_assignment.

assigned_component: specifies the assembly_component_or_component_feature for the Component_group_assignment.

4.3.4 Component_placement_restriction_assignment   EXPRESS-GMapping table

A Component_placement_restriction_assignment is the relationship between the area or volume of an entire Interconnect_module_component or a portion thereof and restrictions to placement of other components in that area or volume due to an item in the design. The context of a Component_placement_restriction_assignment is the design of the assembly within which both the Interconnect_module_component and associated components are identified. The inclusion of this Application Object in a design model is a statement that a specific requirement exists for a specific subset of the point domain in the geometric context in the physical design. If there are unrestricted regions in the design, there is no need to populate a Component_placement_restriction_assignment to specify that. Industry practice is common to include one overall Component_placement_restriction_assignment to indicate the extent of the interconnect design but this standard does not require that.

EXPRESS specification:

*)
ENTITY Component_placement_restriction_assignment;
  maximum_negative_component_height : OPTIONAL Length_tolerance_characteristic;
  maximum_positive_component_height : OPTIONAL Length_tolerance_characteristic;
  area : OPTIONAL Mounting_restriction_area;
  volume : OPTIONAL Mounting_restriction_volume;
  requirement : Item_restricted_requirement;
  components_permitted : BOOLEAN;
  mounting_clearance : OPTIONAL Length_tolerance_characteristic;
WHERE
  WR1: EXISTS(area) OR EXISTS(volume);
END_ENTITY;
(*

Attribute definitions:

maximum_negative_component_height: specifies the largest Length_tolerance_characteristic in the negative direction from that Datum, for which the Component_placement_restriction_assignment is made. The value of this attribute need not be specified.

EXAMPLE 1   An example of the maximum_negative_component_height attribute is a printed circuit assembly with through-hole components, where the maximum lead protrusion dimension is given. That dimension is the maximum_negative_component_height. Another example of the maximum_negative_component_height attribute is a printed circuit assembly with surface mounted components on both sides. The maximum_negative_component_height attribute is the distance between the established datum and the maximum material condition of the vertical dimension of the highest surface mount component on the secondary side of the printed circuit assembly.

maximum_positive_component_height: specifies the largest Length_tolerance_characteristic in the positive direction from the Datum, for which the Component_placement_restriction_assignment is made. The value of this attribute need not be specified.

EXAMPLE 2   An example of the maximum_positive_component_height attribute is a printed circuit assembly where the maximum component height in the positive direction relative to a datum is given. This dimension pertains to the fit of the printed circuit assembly in its next assembly. That dimension is the maximum_positive_component_height.

area: specifies the role of the Mounting_restriction_area for the Component_placement_restriction_assignment. The area is an area on an Interconnect_module_component. The value of this attribute need not be specified.

volume: specifies the role of the Mounting_restriction_volume for the Component_placement_restriction_assignment. The volume is in the context of the assembly. The value of this attribute need not be specified.

requirement: specifies the role of the Item_restricted_requirement for the Component_placement_restriction_assignment.

components_permitted: specifies whether or not there is a restriction upon placement of components in an area or volume for the Component_placement_restriction_assignment. The value of TRUE states that components are permitted only within the equivalent volume specified either by the volume directly or by the area and associated parameters; the value of FALSE states that components are not permitted to be placed in the defined area or volume. The inclusion of this Application Object in a design model is a statement that a specific requirement exists for a specific subset of the point domain in the geometric context in the physical design. The components_permitted shall cause the Component_placement_restriction_assignment to be in the role of keepin when the value is TRUE and Component_placement_restriction_assignment to be in the role of keepout when the value is FALSE.

mounting_clearance: specifies the Length_tolerance_characteristic for which the Component_placement_restriction_assignment is made. The value of this attribute need not be specified.

NOTE    The mounting_clearance relates to the distance between the bottom of the component body and the substrate onto which the component is assembled. It does not refer to the component terminals.

Formal propositions:

WR1: At least one of area or volume shall be provided.

Informal propositions:

IP1: The direction of negative measurement is antiparallel to the normal of the surface of the Interconnect_module_component specified by area.mounting_surface.

IP2: The direction of positive measurement is parallel to the normal of the surface of the Interconnect_module_component specified by area.mounting_surface.

IP3: The location of the Datum for the mounting_clearance shall be on the same side of the Interconnect_module_component as that specified by area.mounting_surface.

4.3.5 Item_restricted_requirement   EXPRESS-GMapping table

An Item_restricted_requirement is a type of Predefined_requirement_view_definition. The Item_restricted_requirement provides the ability for a design organization to track the dependency of a requirement on a specific design object.

EXAMPLE    Thermal requirements may, for example, be dependent on the processor module or the drive motor.

EXPRESS specification:

*)
ENTITY Item_restricted_requirement
  SUBTYPE OF (Predefined_requirement_view_definition);
  basis : restriction_basis_item;
WHERE
  WR1: SELF :<>: basis;
END_ENTITY;
(*

Attribute definitions:

basis: specifies the role of the restriction_basis_item for the Item_restricted_requirement. The basis is the reference design object for the requirement.

Formal propositions:

WR1: A member of Item_restricted_requirement shall not reference itself with the basis attribute.

4.3.6 Mounting_restriction_area   EXPRESS-GMapping table

A Mounting_restriction_area is a type of Non_feature_shape_element. A Mounting_restriction_area is the region on an Interconnect_module_component where mounting restrictions for components exist. The shape representing the mounting restriction region shall have an origin that is congruent with the origin of the shape representing the Interconnect_module_component. This congruency shall be accomplished using concepts equivalent to the Application objects Component_2d_location or Component_3d_location. The shape representing the Mounting_restriction_area is itself in the shape of the assembly, as is the shape of the Interconnect_module_component. The congruency requirement is established so that an application interface can unambiguously import the Mounting_restriction_area into a CAD layout tool. Mounting_restriction_area is part of a design requirement for an interconnect that is established in the assembly or assemblies in which the interconnect is used.

EXPRESS specification:

*)
ENTITY Mounting_restriction_area
  SUBTYPE OF (Non_feature_shape_element);
  mounting_surface : Interconnect_module_component_surface_feature;
  SELF\Non_feature_shape_element.associated_definition : Assembly_module_design_view;
WHERE
  WR1: (SIZEOF(SELF\Non_feature_shape_element.element_shape) = 0) OR (SIZEOF(QUERY(es <* SELF\Non_feature_shape_element.element_shape | NOT ('CONSTRUCTION_GEOMETRY_ARM.CONSTRUCTIVE_GEOMETRY' IN TYPEOF(es)) )) = 0);
END_ENTITY;
(*

Attribute definitions:

mounting_surface: specifies the role of the Interconnect_module_component_surface_feature for the Mounting_restriction_area. The type of surface is determined by the definition of the Interconnect_module_component_surface_feature specified by mounting_surface. The mounting_surface conveys design intent to identify the component that implements the connectivity prescribed by the relevant member of Physical_connectivity_definition.

associated_definition: specifies the role of the Assembly_module_design_view for the Mounting_restriction_area.

Formal propositions:

WR1: If element_shape inherited from Non_feature_shape_element is provided, then it shall be a Constructive_geometry.

4.3.7 Mounting_restriction_volume   EXPRESS-GMapping table

A Mounting_restriction_volume is a type of Non_feature_shape_element. A Mounting_restriction_volume is the region on an Interconnect_module_component where mounting restrictions for components exist. The shape representing the mounting restriction region shall have an origin that is congruent with the origin of the shape representing the Interconnect_module_component. This congruency shall be accomplished using concepts equivalent to the Application objects Component_2d_location or Component_3d_location. The shape representing the Mounting_restriction_volume is itself in the shape of the assembly, as is the shape of the Interconnect_module_component. The congruency requirement is established so that an application interface can unambiguously import the Mounting_restriction_volume into a CAD layout tool. Mounting_restriction_volume is part of a design requirement for an interconnect that is established in the assembly or assemblies in which the interconnect is used.

EXPRESS specification:

*)
ENTITY Mounting_restriction_volume
  SUBTYPE OF (Non_feature_shape_element);
  mounting_surface : Interconnect_module_component_surface_feature;
  SELF\Non_feature_shape_element.associated_definition : Assembly_module_design_view;
INVERSE
  volume : Non_feature_shape_model FOR associated_element;
END_ENTITY;
(*

Attribute definitions:

mounting_surface: specifies the role of the Interconnect_module_component_surface_feature for the Mounting_restriction_volume. The type of surface is determined by the definition of the Interconnect_module_component_surface_feature specified by mounting_surface. The mounting_surface conveys design intent to identify the component that implements the connectivity prescribed by the relevant member of Physical_connectivity_definition.

associated_definition: specifies the role of the Assembly_module_design_view for the Mounting_restriction_volume.

volume: specifies an inverse relationship that specifies that the existence of the Mounting_restriction_volume is dependent on the existence of the Non_feature_shape_model that specifies the Mounting_restriction_volume as its associated_element.

4.3.8 Placement_group_area_assignment   EXPRESS-GMapping table

A Placement_group_area_assignment is the relationship between a Placement_group_area_assignment and the Mounting_restriction_area on the interconnect substrate instance to which it is restricted.

EXPRESS specification:

*)
ENTITY Placement_group_area_assignment;
  placed_group : Placement_group_requirement_definition;
  area : Mounting_restriction_area;
END_ENTITY;
(*

Attribute definitions:

placed_group: specifies the role of the Placement_group_requirement_definition for the Placement_group_area_assignment.

area: specifies the role of the Mounting_restriction_area for the Placement_group_area_assignment.

4.3.9 Placement_group_requirement_definition   EXPRESS-GMapping table

A Placement_group_requirement_definition is a type of Requirement_view_definition. A Placement_group_requirement_definition is a group composed of Assembly_component that are associated with each other for this purpose by the Component_group_assignment, in order to meet some specific placement requirement. The placement is assigned through the Placement_group_area_assignment object, and does not indicate the explicit geometric relationship of the Assembly_components to each other, only that they are all to be placed within an area.

EXAMPLE 1   An example of a Placement_group_requirement_definition is the collection of Assembly_components necessary to satisfy the functional requirement for a power supply.

EXAMPLE 2   An example of a Placement_group_requirement_definition is the collection of Assembly_components necessary to satisfy the functional requirement for a digital signal processor.

EXAMPLE 3   An example of a Placement_group_requirement_definition is the collection of Assembly_components with a case temperature greater than 55 degrees Centigrade. The associated area would be a rectangle all of whose inner points are within 6 cm of the cooling unit.

EXPRESS specification:

*)
ENTITY Placement_group_requirement_definition
  SUBTYPE OF (Requirement_view_definition);
  design_specific_usage : STRING;
DERIVE
  requirement_relationship : SET[0:?] OF Requirement_view_definition_relationship := bag_to_set((QUERY(rvdr <* USEDIN (SELF, 'REQUIREMENT_VIEW_DEFINITION_RELATIONSHIP_ARM.'+ 'REQUIREMENT_VIEW_DEFINITION_RELATIONSHIP.PRIMARY') | (rvdr.relation_type = 'derived_from'))));
  requirement : SET[0:?] OF Requirement_view_definition := get_acpr_rvd(requirement_relationship);
INVERSE
  composition : SET[1:?] OF Component_group_assignment FOR associated_group;
WHERE
  WR1: EXISTS (requirement) AND (SIZEOF(requirement) >= 1);
  WR2: NOT EXISTS (SELF\Product_view_definition.name);
END_ENTITY;
(*

Attribute definitions:

design_specific_usage: specifies the name of the Placement_group_requirement_definition.

requirement_relationship: a derived attribute that collects the associated Requirement_view_definition_relationship in the role primary with the relation_type 'derived from'.

requirement: specifies the role of the Requirement_view_definition for the Placement_group_requirement_definition.

composition: specifies an inverse relationship that specifies that the existence of the Placement_group_requirement_definition is dependent on the existence of the Component_group_assignment that specifies the Placement_group_requirement_definition as its associated_group.

Formal propositions:

WR1: the requirement shall exist and it's size shall be at least one.

WR2: The name shall not be populated.

4.3.10 Placement_group_volume_assignment   EXPRESS-GMapping table

A Placement_group_volume_assignment is the relationship between a Placement_group_requirement_definition and the Mounting_restriction_volume on the interconnect substrate instance to which it is restricted.

EXPRESS specification:

*)
ENTITY Placement_group_volume_assignment;
  placed_group : Placement_group_requirement_definition;
  volume : Mounting_restriction_volume;
END_ENTITY;
(*

Attribute definitions:

placed_group: specifies the role of the Placement_group_requirement_definition for the Placement_group_volume_assignment.

volume: specifies the role of the Mounting_restriction_volume for the Placement_group_volume_assignment.

4.4 ARM subtype constraint definition

This subclause specifies the ARM subtype constraint for this module. The subtype constraint places a constraint on the possible super-type / subtype instantiations. The ARM subtype constraint and definition is specified below.

4.4.1 acpr_predefined_requirement_view_definition_subtypes   EXPRESS-GMapping table

The acpr_predefined_requirement_view_definition_subtypes constraint specifies a constraint that applies to instances of Predefined_requirement_view_definition and enforces the rule that its subtypes Assembly_spacing_requirement, Assembly_group_spacing_requirement and Item_restricted_requirement are exclusive.

EXPRESS specification:

*)
SUBTYPE_CONSTRAINT acpr_predefined_requirement_view_definition_subtypes FOR Predefined_requirement_view_definition;
  ONEOF (Assembly_spacing_requirement,
         Assembly_group_spacing_requirement,
         Item_restricted_requirement);
END_SUBTYPE_CONSTRAINT;
(*

4.5 ARM function definition

This subclause specifies the ARM function for this module. The ARM function and definition is specified below.

4.5.1 get_acpr_rvd

The get_acpr_rvd function returns the set of Requirement_view_definition that are referenced by a given set of Requirement_view_definition_relationships in the role secondary.

EXPRESS specification:

*)
FUNCTION get_acpr_rvd (input : SET[0:?] OF Requirement_view_definition_relationship) : SET[0:?] OF Requirement_view_definition;
LOCAL
	rvd : SET[0:?] OF Requirement_view_definition := [];  --this gives us access to the information base
END_LOCAL;
	-- iterate over input
	REPEAT i := 1 to SIZEOF(input) by 1;
		rvd := rvd + input[i]\requirement_view_definition_relationship.secondary;
	END_REPEAT;

	RETURN(rvd);
END_FUNCTION;
(*

Argument definitions:

input: the specified set of Requirement_view_definition_relationship.



*)
END_SCHEMA;  -- Assembly_component_placement_requirements_arm
(*


© ISO 2018 — All rights reserved