Application module: Physical node requirement to implementing component allocation ISO/TS 10303-1723: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 entity definitions
   4.3 ARM function definitions
5 Module interpreted model
   5.1 Mapping specification
   5.2 MIM EXPRESS short listing
     5.2.1 MIM entity definitions

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 Physical node requirement to implementing component allocation 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 Physical_node_requirement_to_implementing_component_allocation_arm schema and identifies the necessary external references.

EXPRESS specification:

*)
SCHEMA Physical_node_requirement_to_implementing_component_allocation_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_packaged_connector_component_arm;    --  ISO/TS 10303-1645

USE FROM Assembly_technology_arm;    --  ISO/TS 10303-1649

USE FROM Physical_connectivity_definition_arm;    --  ISO/TS 10303-1755
(*

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

Assembly_module_with_packaged_connector_component_arm ISO/TS 10303-1645
Assembly_technology_arm ISO/TS 10303-1649
Physical_connectivity_definition_arm ISO/TS 10303-1755

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

4.2 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.2.1 Assembly_to_part_connectivity_structure_allocation   EXPRESS-GMapping table

An Assembly_to_part_connectivity_structure_allocation is an ..

EXPRESS specification:

*)
ENTITY Assembly_to_part_connectivity_structure_allocation;
  name : STRING;
  assembly_element : Physical_connectivity_element;
  part_element : Part_connected_terminals_element;
  assembly_context : Physical_connectivity_definition;
UNIQUE
  UR1: name, assembly_context;
END_ENTITY;
(*

Attribute definitions:

name: a word or group of words by which the Assembly_to_part_connectivity_structure_allocation is known.

assembly_element: specifies the role of the Physical_connectivity_element for the Assembly_to_part_connectivity_structure_allocation.

part_element: specifies the role of the Part_connected_terminals_element for the Assembly_to_part_connectivity_structure_allocation.

assembly_context: specifies the role of the Physical_connectivity_definition for the Assembly_to_part_connectivity_structure_allocation.

Formal propositions:

UR1: The combination of name and assembly_context shall be unique within a population of Assembly_to_part_connectivity_structure_allocations.

4.2.2 Physical_node_branch_requirement_to_implementing_component_allocation   EXPRESS-GMapping table

A Physical_node_branch_requirement_to_implementing_component_allocation is an ..

EXPRESS specification:

*)
ENTITY Physical_node_branch_requirement_to_implementing_component_allocation;
  name : STRING;
  physical_node_branch_requirement : Physical_connectivity_element;
  implementation_component : Assembly_component;
  part_element : Part_connected_terminals_element;
  implementation_interface_joint_set : OPTIONAL SET[1:?] OF Interface_mounted_join;
  implementation_joint_set : OPTIONAL SET[1:?] OF Assembly_joint;
UNIQUE
  UR1: name, implementation_component;
END_ENTITY;
(*

Attribute definitions:

name: a word or group of words by which the Physical_node_branch_requirement_to_implementing_component_allocation is known.

physical_node_branch_requirement: specifies the role of the Physical_connectivity_element for the Physical_node_branch_requirement_to_implementing_component_allocation.

implementation_component: specifies the role of the Assembly_component for the Physical_node_branch_requirement_to_implementing_component_allocation.

part_element: specifies the role of the Part_connected_terminals_element for the Physical_node_branch_requirement_to_implementing_component_allocation.

implementation_interface_joint_set: specifies the role of the Interface_mounted_join for the Physical_node_branch_requirement_to_implementing_component_allocation. There shall exist one or more Interface_mounted_joins for the Physical_node_branch_requirement_to_implementing_component_allocation. The value of this attribute need not be specified.

implementation_joint_set: specifies the role of the Assembly_joint for the Physical_node_branch_requirement_to_implementing_component_allocation. There shall exist one or more Assembly_joints for the Physical_node_branch_requirement_to_implementing_component_allocation. The value of this attribute need not be specified.

Formal propositions:

UR1: The combination of name and implementation_component shall be unique within a population of Physical_node_branch_requirement_to_implementing_component_allocations.

4.2.3 Physical_node_requirement_to_implementing_component_allocation   EXPRESS-GMapping table

A Physical_node_requirement_to_implementing_component_allocation is the association between the connectivity requirements and the component and joints that provide that connectivity. The component specified by implementation_component participate in an assembly relationship with the components whose terminals are specified by the physical_node_requirement in order for the total connectivity specified by physical_node_requirement to be achieved. There may be more than one member of Physical_node_requirement_to_implementing_component_allocation for a member of Physical_connectivity_definition if the nodal implementation is split among more than one component.

NOTE    The Physical_node_requirement_to_implementing_component_allocation is a link in the traceability path between the functional definition and the geometric representation of the interconnect substrate conductive patterns.

EXPRESS specification:

*)
ENTITY Physical_node_requirement_to_implementing_component_allocation;
  physical_node_requirement : Physical_connectivity_definition;
  implementation_component : Assembly_component;
  implementation_interface_joint_set : OPTIONAL SET[1:?] OF Interface_mounted_join;
  implementation_joint_set : OPTIONAL SET[1:?] OF Assembly_joint;
DERIVE
  implementation_connection_definition_1 : SET[0:1] OF Part_connected_terminals_definition := get_pctd(implementation_component, implementation_joint_set);
  implementation_connection_definition_2 : SET[0:1] OF Packaged_connector_terminal_relationship := get_pctr(implementation_component, implementation_interface_joint_set);
WHERE
  WR1: EXISTS(implementation_interface_joint_set) XOR EXISTS(implementation_joint_set);
  WR2: (SIZEOF(implementation_connection_definition_1) + SIZEOF(implementation_connection_definition_2) = 1) OR (('PHYSICAL_NODE_REQUIREMENT_TO_IMPLEMENTING_COMPONENT_ALLOCATION_ARM.INTERFACE_COMPONENT' IN TYPEOF(implementation_component)) AND ('PHYSICAL_NODE_REQUIREMENT_TO_IMPLEMENTING_COMPONENT_ALLOCATION_ARM.PHYSICAL_COMPONENT_INTERFACE_TERMINAL' IN TYPEOF(get_cit(implementation_component,implementation_joint_set)))) OR ('PHYSICAL_NODE_REQUIREMENT_TO_IMPLEMENTING_COMPONENT_ALLOCATION_ARM.ROUTED_INTERCONNECT_COMPONENT' IN TYPEOF(implementation_component));
  WR3: SIZEOF(QUERY(pct <* physical_node_requirement.associated_terminals | pct\Component_feature.associated_definition = implementation_component)) = 0;
END_ENTITY;
(*

Attribute definitions:

physical_node_requirement: specifies the role of the Physical_connectivity_definition for the Physical_node_requirement_to_implementing_component_allocation.

implementation_component: specifies the role of the Assembly_component for the Physical_node_requirement_to_implementing_component_allocation. The implementation_component is the component physically providing the implementation of connectivity stated by the requirements.

implementation_interface_joint_set: specifies the role of the Interface_mounted_join for the Physical_node_requirement_to_implementing_component_allocation. The implementation_interface_joint_set identifies the joints that attach the terminals specified by the connectivity requirement to the interface features of the component that is implementing that requirement. There shall exist one or more Interface_mounted_joins for the Physical_node_requirement_to_implementing_component_allocation. The value of this attribute need not be specified.

implementation_joint_set: specifies the role of the Assembly_joint for the Physical_node_requirement_to_implementing_component_allocation. The implementation_joint_set identifies the joints that attach the terminals specified by the connectivity requirement to the features of the component that is implementing that requirement. The implementation_joint_set identifies the joints that attach the terminals of interface components to the features of the component that is implementing that requirement. There shall exist more than one Assembly_joint for the Physical_node_requirement_to_implementing_component_allocation. The value of this attribute need not be specified.

implementation_connection_definition_1: specifies the role of the Part_connected_terminals_definition for the Physical_node_requirement_to_implementing_component_allocation.

implementation_connection_definition_2: specifies the role of the Packaged_connector_terminal_relationship for the Physical_node_requirement_to_implementing_component_allocation.

Formal propositions:

WR1: Either implementation_interface_joint_set shall be provided or implementation_joint_set shall be provided, but both shall not be provided.

WR2: If there is an implementation_connection_definition_1 or an implementation_connection_definition_2 then the implementation_component shall be either an Interface_component or a Routed_interconnect_component. If the implementation_component is an Interface_component then only members of Physical_component_interface_terminal shall be referenced by the members of implementation_joint_set.

WR3: An implementation_component shall not also be in the role of associated_definition for a member of Physical_component_terminal that is in the role of associated_terminals for a member of physical_node_requirement.

4.3 ARM function definitions

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

4.3.1 get_cit

The purpose of the function is to return the Physical_component_interface_terminal that represents the Assembly_joint of the Assembly_component.

EXPRESS specification:

*)
FUNCTION get_cit (ac : Assembly_component; ajb : SET[0:?] OF Assembly_joint) : Physical_component_interface_terminal;
LOCAL
      cf  : LIST[1:2] OF component_feature := [ajb[1].assembly_feature_1,
                                               ajb[1].assembly_feature_2];
      cit : Physical_component_interface_terminal;
    END_LOCAL;

    REPEAT i := 1 TO 2 BY 1;
      IF ac :=: cf[i].associated_definition THEN
        IF ('PHYSICAL_NODE_REQUIREMENT_TO_IMPLEMENTING_COMPONENT_ALLOCATION_ARM.INTERFACE_COMPONENT' IN TYPEOF(cf[i].associated_definition)) THEN
          RETURN(cf[i]);
        ELSE
          RETURN(?);
        END_IF;
      ELSE
        RETURN(?);
      END_IF;
    END_REPEAT;
    RETURN(?);
END_FUNCTION;
(*

Argument definitions:

ac: the specified Assembly_component.

ajb: the specified Assembly_joint.

4.3.2 get_pctd

The purpose of the function is to return the Part_connected_terminals_definition that represents the connectivity being implemented by the component referenced by Assembly_component and also by Assembly_joint set.

EXPRESS specification:

*)
FUNCTION get_pctd (ac : Assembly_component; ajb : SET[0:?] OF Assembly_joint) : SET[0:?] OF Part_connected_terminals_definition;
LOCAL
      cf  : LIST[1:2] OF Component_feature := [ajb[1].assembly_feature_1,
                                               ajb[1].assembly_feature_2];
      pctd : SET OF Part_connected_terminals_definition := [];
    END_LOCAL;

    REPEAT i := 1 TO 2 BY 1;
      IF ac :=: cf[i].associated_definition THEN
        IF ('PHYSICAL_NODE_REQUIREMENT_TO_IMPLEMENTING_COMPONENT_ALLOCATION_ARM.PART_TERMINAL' IN TYPEOF(cf[i]\Component_feature.definition)) THEN
          pctd := cf[i]\Component_feature.definition\Part_terminal.connection_requirement;
          RETURN(pctd);
        ELSE
          RETURN(pctd);
        END_IF;
      ELSE
        RETURN(pctd);
      END_IF;
    END_REPEAT;
    RETURN(?);
END_FUNCTION;
(*

Argument definitions:

ac: the specified Assembly_component.

ajb: the specified Assembly_joint.

4.3.3 get_pctr

The purpose of the function is to return the Packaged_connector_terminal_relationship that is associated with the Interface_mounted_join that references the Assembly_component.

EXPRESS specification:

*)
FUNCTION get_pctr (ac : Assembly_component; imjb : SET[0:?] OF Interface_mounted_join) : SET[0:?] OF Packaged_connector_terminal_relationship;
LOCAL
      cf   : Component_feature;
      pctr : SET OF packaged_connector_terminal_relationship := [];
    END_LOCAL;

    cf := imjb[1]\Interface_mounted_join.connection_to_interconnect_module_component;
    IF ac :=: cf\Component_feature.associated_definition THEN
      IF ('PHYSICAL_NODE_REQUIREMENT_TO_IMPLEMENTING_COMPONENT_ALLOCATION_ARM.PACKAGED_PART_INTERFACE_TERMINAL' IN TYPEOF(cf\Component_feature.definition)) THEN
        pctr := cf\Component_feature.definition\Packaged_part_interface_terminal.external_connector_function;
        RETURN(pctr);
      ELSE
        RETURN(pctr);
      END_IF;
    ELSE
      RETURN(pctr);
    END_IF;
END_FUNCTION;
(*

Argument definitions:

ac: the specified Assembly_component.

imjb: the specified Interface_mounted_join.



*)
END_SCHEMA;  -- Physical_node_requirement_to_implementing_component_allocation_arm
(*


© ISO 2018 — All rights reserved