Application module: Physical connectivity definition | ISO/TS 10303-1755:2018-11(E) © ISO |
This clause specifies the information requirements for the Physical connectivity definition 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_connectivity_definition_arm schema and identifies the necessary external references.
EXPRESS specification:
*)
SCHEMA Physical_connectivity_definition_arm;
(*
The following EXPRESS interface statements specify the elements imported from the ARMs of other application modules.
EXPRESS specification:
*)
USE FROM
Part_external_reference_arm;
--
ISO/TS 10303-1711
USE FROM
Physical_component_feature_arm;
--
ISO/TS 10303-1721
USE FROM
Physical_connectivity_layout_topology_requirement_arm;
--
ISO/TS 10303-1826
USE FROM
Physical_unit_design_view_arm;
--
ISO/TS 10303-1728
USE FROM
Requirement_decomposition_arm;
--
ISO/TS 10303-1740
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:
Part_external_reference_arm ISO/TS 10303-1711 Physical_component_feature_arm ISO/TS 10303-1721 Physical_connectivity_layout_topology_requirement_arm ISO/TS 10303-1826 Physical_unit_design_view_arm ISO/TS 10303-1728 Requirement_decomposition_arm ISO/TS 10303-1740 Requirement_decomposition_arm ISO/TS 10303-1740 Support_resource_arm ISO/TS 10303-1800
NOTE 2 See Annex C, Figures C.1and C.2 for a graphical representation of this schema.
This subclause specifies the ARM types for this application module. The ARM types and definitions are specified below.
The pcd_documented_element_select type is an extension of the documented_element_select type. It adds the data types Physical_connectivity_element, and Physical_connectivity_definition to the list of alternate data types.
EXPRESS specification:
*)
TYPE
pcd_documented_element_select =
SELECT
BASED_ON
documented_element_select
WITH
(Physical_connectivity_element,
Physical_connectivity_definition);
END_TYPE;
(*
The pcd_groupable_item type is an extension of the groupable_item type. It adds the data types Physical_connectivity_definition, and Group_relationship to the list of alternate data types.
EXPRESS specification:
*)
TYPE
pcd_groupable_item =
SELECT
BASED_ON
groupable_item
WITH
(Physical_connectivity_definition,
Group_relationship);
END_TYPE;
(*
The pcd_requirement_assignment_item type is an extension of the requirement_assignment_item type. It adds the data types Physical_connectivity_element, Physical_connectivity_definition, and Physical_connectivity_definition_relationship to the list of alternate data types.
EXPRESS specification:
*)
TYPE
pcd_requirement_assignment_item =
SELECT
BASED_ON
requirement_assignment_item
WITH
(Physical_connectivity_element,
Physical_connectivity_definition,
Physical_connectivity_definition_relationship);
END_TYPE;
(*
EXPRESS specification:
*)
TYPE
physical_connectivity_definition_domain_enumeration =
EXTENSIBLE
ENUMERATION
OF
(electrical,
thermal,
optical,
magnetic);
END_TYPE;
(*
Enumerated item definitions:
electrical: specifies the domain type is electrical;
thermal: specifies the domain type is thermal;
optical: specifies the domain type is optical;
magnetic: specifies the domain type is magnetic.
The termination_or_junction type is an extensible list of alternate data types that allows for the designation of the data types Component_terminal, and Topological_junction.
NOTE The list of entity data types may be extended in application modules that use the constructs of this module.
EXPRESS specification:
*)
TYPE
termination_or_junction =
EXTENSIBLE
GENERIC_ENTITY
SELECT
(Component_terminal,
Topological_junction);
END_TYPE;
(*
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.
A Physical_connectivity_definition is a type of Shape_element. A Physical_connectivity_definition is the root node in the classification hierarchy of connectivity in the physical domain. All types of connectivity in this domain contain additional information to that of the base type. A Physical_connectivity_definition may be a Physical_connectivity_structure_definition. A Physical_connectivity_definition is a definition of one node, in an electrical or other domain network, consisting of physical terminals.
NOTE 1 The default domain for Physical_connectivity_definition is electrical. Explicit domain specification is supported by the Application Object Physical_connectivity_definition_domain.
NOTE 2 It is possible for a Physical_component_terminal to participate in multiple Physical_connectivity_definition as long as the domains are disjoint.
EXPRESS specification:
*)
ENTITY Physical_connectivity_definition
SUPERTYPE OF (Physical_connectivity_structure_definition)
SUBTYPE OF (Shape_element);
associated_terminals : SET[2:?] OF Physical_component_terminal;
SELF\Shape_element.associated_definition : Physical_unit_network_definition;
INVERSE
domain : SET[0:1] OF Physical_connectivity_definition_domain FOR associated_definition;
UNIQUE
UR1: SELF\Shape_element.element_name, associated_definition;
END_ENTITY;
(*
Attribute definitions:
associated_terminals: specifies the Physical_component_terminal for the Physical_connectivity_definition. There shall be two or more Physical_component_terminals for a Physical_connectivity_definition.
associated_definition: specifies the Physical_unit_network_definition for the Physical_connectivity_definition.
domain: an inverse relationship that specifies that the existence of the Physical_connectivity_definition is dependent on the existence of the Physical_connectivity_definition_domain that specifies the Physical_connectivity_definition as its associated_definition. There shall exist at most one Physical_connectivity_definition_domain for the Physical_connectivity_definition. The lack of a domain attribute shall be interpreted as 'electrical'.
Formal propositions:
UR1: The combination of element_name and associated_definition shall be unique within a population of Physical_connectivity_definitions.
A Physical_connectivity_definition_domain is the application of a domain name to a Physical_connectivity_definition to support cases where domains other than pure electrical are required. If a Physical_connectivity_definition_domain is not applied to a Physical_connectivity_definition, the domain of the Physical_connectivity_definition shall be interpreted to be electrical.
NOTE This part of ISO 10303 provides no domain constraints on the application of domains to Physical_connectivity_definition. Parties intending to use this capability may wish to form implementation agreements.
EXPRESS specification:
*)
ENTITY Physical_connectivity_definition_domain;
domain_type : physical_connectivity_definition_domain_enumeration;
associated_definition : Physical_connectivity_definition;
END_ENTITY;
(*
Attribute definitions:
domain_type: specifies a role of the physical_connectivity_definition_domain_enumeration for the Physical_connectivity_definition_domain.
associated_definition: specifies a role of the Physical_connectivity_definition for the Physical_connectivity_definition_domain.
A Physical_connectivity_definition_relationship is the association between Physical_connectivity_definition that exists because of a Predefined_requirement_view_definition.
NOTE The purpose of the Physical_connectivity_definition_relationship is documented in the Predefined_requirement_view_definition, and is typically life-cycle dependent, based on design iterations, or variations.
EXPRESS specification:
*)
ENTITY Physical_connectivity_definition_relationship;
first_definition : Physical_connectivity_definition;
second_definition : Physical_connectivity_definition;
purpose : STRING;
INVERSE
requirement : SET[1:1] OF Requirement_assignment FOR assigned_to;
END_ENTITY;
(*
Attribute definitions:
first_definition: specifies one role of the Physical_connectivity_definition for the Physical_connectivity_definition_relationship.
second_definition: specifies a role of the Physical_connectivity_definition for the Physical_connectivity_definition_relationship.
purpose: specifies the purpose text description for the Physical_connectivity_definition_relationship.
requirement: an inverse relationship that specifies that the existence of the Physical_connectivity_definition_relationship is dependent on the existence of the Requirement_assignment that specifies the Physical_connectivity_definition_relationship as its assigned_to.
EXPRESS specification:
*)
ENTITY Physical_connectivity_element;
name : STRING;
start_terminus : termination_or_junction;
end_terminus : termination_or_junction;
connectivity_context : Physical_connectivity_structure_definition;
UNIQUE
UR1: name, connectivity_context;
WHERE
WR1: start_terminus <> end_terminus;
END_ENTITY;
(*
Attribute definitions:
name: the words by which the Physical_connectivity_element is known. It identifies the member of Physical_connectivity_element within the context of the Physical_connectivity_structure_definition.
start_terminus: specifies the termination_or_junction as the beginning of the Physical_connectivity_element.
end_terminus: specifies the termination_or_junction as the end of the Physical_connectivity_element.
connectivity_context: specifies a role of the Physical_connectivity_structure_definition for the Physical_connectivity_element. The connectivity_context contains all the link elements of the graph, of which a Physical_connectivity_element is one.
Formal propositions:
UR1: The combination of name and connectivity_context shall be unique within a population of Physical_connectivity_elements.
WR1: The start_terminus shall not be the end_terminus;
EXPRESS specification:
*)
ENTITY Physical_connectivity_layout_topology_requirement_assignment
SUBTYPE OF (Requirement_assignment);
SELF\Requirement_assignment.assigned_requirement : Physical_connectivity_layout_topology_requirement;
SELF\Requirement_assignment.assigned_to : Physical_connectivity_definition;
END_ENTITY;
(*
Attribute definitions:
assigned_requirement: an inherited attribute shall be of type Physical_connectivity_layout_topology_requirement for the Physical_connectivity_layout_topology_requirement_assignment.
assigned_to: an inherited attribute shall be of type Physical_connectivity_definition for the Physical_connectivity_layout_topology_requirement_assignment.
EXPRESS specification:
*)
ENTITY Physical_connectivity_make_from_relationship;
reusable_definition : Physical_connectivity_definition;
resultant_definition : Physical_connectivity_definition;
END_ENTITY;
(*
Attribute definitions:
reusable_definition: specifies the Physical_connectivity_definition for the basis for modification into the resultant_definition in the Physical_connectivity_make_from_relationship.
resultant_definition: specifies the Physical_connectivity_definition that results from modification of the reusable_definition of the Physical_connectivity_make_from_relationship.
A Physical_connectivity_structure_definition is a type of Physical_connectivity_definition that has a structure. Structure included supports assignment of path based properties to a Physical_connectivity_definition for routing or validation purposes. The structure is a graph and may be a tree if there are no redundant arcs, but that is not a requirement. The arcs in the graph are the Physical_connectivity_element referenced by the structural_element attribute. The nodes in the graph may be either a Component_terminal or a Topological_junction.
NOTE This Application Object, when used in conjunction with Physical_connectivity_abstraction_map, may be used to represent the topological structure of a Generic_physical_network.
EXPRESS specification:
*)
ENTITY Physical_connectivity_structure_definition
SUBTYPE OF (Physical_connectivity_definition);
DERIVE
structural_terminal_nodes : SET[0:?] OF Physical_component_terminal := get_pct(structural_element);
structural_junction_nodes : SET[0:?] OF Topological_junction := get_tj(structural_element);
tree_structure : LOGICAL := ((SIZEOF(structural_terminal_nodes) + SIZEOF(structural_junction_nodes)) = (SIZEOF(structural_element) + 1));
INVERSE
structural_element : SET[1:?] OF Physical_connectivity_element FOR connectivity_context;
WHERE
WR1: SIZEOF(QUERY(stn <* structural_terminal_nodes |
NOT(stn IN SELF\Physical_connectivity_definition.associated_terminals)
)) = 0;
WR2: SIZEOF(structural_terminal_nodes) =
SIZEOF(SELF\Physical_connectivity_definition.associated_terminals);
END_ENTITY;
(*
Attribute definitions:
structural_terminal_nodes: specifies a role of the Physical_component_terminal for the Physical_connectivity_structure_definition. There shall be zero or more Physical_component_terminals for a Physical_connectivity_structure_definition.
structural_junction_nodes: specifies a role of the Topological_junction for the Physical_connectivity_structure_definition.There shall be zero or more Topological_junctions for a Physical_connectivity_structure_definition.
tree_structure: specifies TRUE if the structure is a tree class of graph; otherwise it is FALSE.
structural_element: an inverse relationship that specifies that the existence of the Physical_connectivity_structure_definition is dependent on the existence of the Physical_connectivity_element that specifies the Physical_connectivity_structure_definition as its connectivity_context. There shall be one or more Physical_connectivity_element for a Physical_connectivity_structure_definition.
Formal propositions:
WR1: Each member of structural_terminal_nodes shall be in the set of associated_terminals inherited from Physical_connectivity_definition.
WR2: The size of the set of structural_terminal_nodes shall be the size of the set of associated_terminals inherited from Physical_connectivity_definition.
A Physical_unit_network_definition is a type of Part_design_view. A Physical_unit_network_definition specifies a network of physical nodes, each of which references several physical terminals. Each node in the network is isolated from the other nodes in the network and is separately identifiable. A Physical_unit_network_definition may be a Part_design_view when the network definition is created at the same transaction as the design view and for the same version of the product.
NOTE This Application object corresponds to the Functional_unit_network_definition but the nodes and terminals in that AO are abstract.
EXAMPLE A Physical_unit_network_definition is referenced by members of Physical_connectivity_definition that correspond to the connectivity input to a design process for interconnect design.
EXPRESS specification:
*)
ENTITY Physical_unit_network_definition
SUBTYPE OF (Part_design_view);
DERIVE
terminals : SET[0:?] OF Component_terminal := get_terminals(bag_to_set(USEDIN(SELF,'PHYSICAL_CONNECTIVITY_DEFINITION_ARM.PHYSICAL_CONNECTIVITY_DEFINITION.ASSOCIATED_DEFINITION')));
assembly : SET[0:?] OF Product_view_definition := pcd_get_assemblies(terminals);
WHERE
WR1: NOT (SIZEOF(terminals) > 1) OR
(SIZEOF(QUERY(t <* terminals | NOT(SIZEOF(USEDIN(t, 'PHYSICAL_CONNECTIVITY_DEFINITION_ARM.' +
'PHYSICAL_CONNECTIVITY_DEFINITION.ASSOCIATED_TERMINALS')) = 1))) = 0);
WR2: SIZEOF(QUERY( ass <* assembly |
(ass\Product_view_definition.defined_version = SELF\Product_view_definition.defined_version)
)) > 0;
END_ENTITY;
(*
Attribute definitions:
terminals: specifies the set of Component_terminals that consists of all members of associated_terminals of all members of Physical_connectivity_definitions.
assembly: specifies the set of Product_view_definitions that are assemblies associated with the terminals.
Formal propositions:
WR1: Each terminal in a Physical_unit_network_definition shall be referenced by exactly one Physical_connectivity_definition.
WR2: At least one assembly associated with the terminals shall be for the same version of the Product as the Physical_unit_network_definition.
EXPRESS specification:
*)
ENTITY Topological_junction;
name : STRING;
scope : Physical_connectivity_structure_definition;
UNIQUE
UR1: name, scope;
END_ENTITY;
(*
Attribute definitions:
name: the words by which the Topological_junction is known.
scope: specifies a role of the Physical_connectivity_structure_definition for the Topological_junction.
Formal propositions:
UR1: The combination of the name and the scope shall be unique within a population of Topological_junctions.
This subclause specifies the ARM functions for this module. The ARM functions and definitions are specified below.
EXPRESS specification:
*)
FUNCTION get_pct (input : SET[0:?] OF Physical_connectivity_element) : SET[0:?] OF Physical_component_terminal;
LOCAL pct : SET OF Physical_component_terminal := []; i : INTEGER := 0; END_LOCAL; REPEAT i := 1 TO SIZEOF(input) BY 1; IF ('PHYSICAL_COMPONENT_FEATURE_ARM.PHYSICAL_COMPONENT_TERMINAL' IN TYPEOF(input[i].start_terminus)) THEN pct := pct + input[i].start_terminus; END_IF; IF ('PHYSICAL_COMPONENT_FEATURE_ARM.PHYSICAL_COMPONENT_TERMINAL' IN TYPEOF(input[i].end_terminus)) THEN pct := pct + input[i].end_terminus; END_IF; END_REPEAT; RETURN(pct);
END_FUNCTION;
(*
Argument definitions:
input: the specified set of Physical_connectivity_elements.
EXPRESS specification:
*)
FUNCTION get_terminals (input : SET[0:?] OF Physical_connectivity_definition) : SET[0:?] OF Component_terminal;
LOCAL ct : SET OF Component_terminal := []; i : INTEGER := 0; END_LOCAL; REPEAT i := 1 TO SIZEOF(input) BY 1; ct := ct + input[i].associated_terminals; END_REPEAT; RETURN(ct);
END_FUNCTION;
(*
Argument definitions:
input: the specified set of Physical_connectivity_definitions
EXPRESS specification:
*)
FUNCTION get_tj (input : SET[0:?] OF Physical_connectivity_element) : SET[0:?] OF Topological_junction;
LOCAL tj : SET OF Topological_junction := []; i : INTEGER := 0; END_LOCAL; REPEAT i := 1 TO SIZEOF(input) BY 1; IF ('PHYSICAL_CONNECTIVITY_DEFINITION_ARM.TOPOLOGICAL_JUNCTION' IN TYPEOF(input[i].start_terminus)) THEN tj := tj + input[i].start_terminus; END_IF; IF ('PHYSICAL_CONNECTIVITY_DEFINITION_ARM.TOPOLOGICAL_JUNCTION' IN TYPEOF(input[i].end_terminus)) THEN tj := tj + input[i].end_terminus; END_IF; END_REPEAT; RETURN(tj);
END_FUNCTION;
(*
Argument definitions:
input: the specified set of Physical_connectivity_elements.
EXPRESS specification:
*)
FUNCTION pcd_get_assemblies (input : SET[0:?] OF Component_terminal) : SET[0:?] OF Product_view_definition;
LOCAL ac : SET OF Assembly_component := []; pvd : SET OF Product_view_definition := []; END_LOCAL; REPEAT i := 1 TO HIINDEX(input) BY 1; ac := ac + input[i]\Component_feature.associated_definition; END_REPEAT; REPEAT i := 1 to HIINDEX(ac) BY 1; pvd := pvd + ac[i]\Assembly_component.assemblies; END_REPEAT; RETURN(pvd);
END_FUNCTION;
(*
Argument definitions:
input: the specified set of Component_terminals.
*)
END_SCHEMA; -- Physical_connectivity_definition_arm
(*
© ISO 2018 — All rights reserved