Application module: Physical connectivity definition ISO/TS 10303-1755: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 function definitions
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

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

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 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.

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 pcd_documented_element_select   EXPRESS-G

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

4.2.2 pcd_groupable_item   EXPRESS-G

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

4.2.3 pcd_requirement_assignment_item   EXPRESS-G

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

4.2.4 physical_connectivity_definition_domain_enumeration   EXPRESS-G

A physical_connectivity_definition_domain_enumeration lists the values of domain types for the Physical_connectivity_definition_domain

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.

4.2.5 termination_or_junction   EXPRESS-G

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

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 Physical_connectivity_definition   EXPRESS-GMapping table

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.

4.3.2 Physical_connectivity_definition_domain   EXPRESS-GMapping table

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.

4.3.3 Physical_connectivity_definition_relationship   EXPRESS-GMapping table

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.

4.3.4 Physical_connectivity_element   EXPRESS-GMapping table

A Physical_connectivity_element is the object that describes a link between two nodes for the graph representation. A node may be referenced by more than one link. A node may be either a Component_terminal or a Topological_junction.

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;

4.3.5 Physical_connectivity_layout_topology_requirement_assignment   EXPRESS-GMapping table

A Physical_connectivity_layout_topology_requirement_assignment is a type of Requirement_assignment.

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.

4.3.6 Physical_connectivity_make_from_relationship   EXPRESS-GMapping table

A Physical_connectivity_make_from_relationship is an association between one Physical_connectivity_definition that is used as a basis for modification into another Physical_connectivity_definition and the modified Physical_connectivity_definition that results from the modification.

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.

4.3.7 Physical_connectivity_structure_definition   EXPRESS-GMapping table

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.

4.3.8 Physical_unit_network_definition   EXPRESS-GMapping table

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.

4.3.9 Topological_junction   EXPRESS-GMapping table

A Topological_junction is used when at least three Component_terminal are connected and the explicit topology must be stated.

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.

4.4 ARM function definitions

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

4.4.1 get_pct

The get_pct function returns the set of Physical_component_terminal referenced by the set of Physical_connectivity_element input to the function.

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.

4.4.2 get_terminals

The get_terminals function returns the set of Component_terminals composed of associated_terminals of all Physical_connectivity_definitions specified by the input.

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

4.4.3 get_tj

The get_tj function returns the set of Topological_junction referenced by the set of Physical_connectivity_element input to the function.

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.

4.4.4 pcd_get_assemblies

The pcd_get_assemblies function returns the set of Product_view_definition that are assembly definitions for the terminals input to the function.

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