Application module: Physical node requirement to implementing component allocation | ISO/TS 10303-1723:2018-11(E) © ISO |
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;
(*
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.
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.
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.
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.
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.
This subclause specifies the ARM functions for this module. The ARM functions and definitions are specified below.
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.
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.
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