Application module: Physical connectivity layout topology requirement | ISO/TS 10303-1826:2018-11(E) © ISO |
This clause specifies the information requirements for the Physical connectivity layout topology requirement 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_layout_topology_requirement_arm schema and identifies the necessary external references.
EXPRESS specification:
*)
SCHEMA Physical_connectivity_layout_topology_requirement_arm;
(*
The following EXPRESS interface statements specify the elements imported from the ARMs of other application modules.
EXPRESS specification:
*)
USE FROM
Requirement_decomposition_arm;
--
ISO/TS 10303-1740
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:
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 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 Physical_connectivity_layout_topology_link;
subsequent_node : Physical_connectivity_layout_topology_node;
precedent_node : Physical_connectivity_layout_topology_node;
WHERE
WR1: acyclic_physical_connectivity_layout_topology_link(SELF, [subsequent_node],
'PHYSICAL_CONNECTIVITY_DEFINITION_ARM.PHYSICAL_CONNECTIVITY_LAYOUT_TOPOLOGY_LINK');
END_ENTITY;
(*
Attribute definitions:
subsequent_node: specifies a role of the Physical_connectivity_layout_topology_node for the Physical_connectivity_layout_topology_link.
precedent_node: specifies a role of the Physical_connectivity_layout_topology_node for the Physical_connectivity_layout_topology_link.
Formal propositions:
WR1: The graph of instances of the Application Object Physical_connectivity_layout_topology_link shall not contain a cycle.
EXPRESS specification:
*)
ENTITY Physical_connectivity_layout_topology_node;
terminal_type : STRING;
END_ENTITY;
(*
Attribute definitions:
terminal_type: the text that provides further information about terminal type for the Physical_connectivity_layout_topology_node.
A Physical_connectivity_layout_topology_requirement is a type of Predefined_requirement_view_definition that specifies a single rooted tree for support of topologically sensitive layouts.
NOTE High speed design uses topologically sensitive layouts to correctly distribute delays among the signal path elements.
EXPRESS specification:
*)
ENTITY Physical_connectivity_layout_topology_requirement
SUBTYPE OF (Predefined_requirement_view_definition);
elements : SET[1:?] OF Physical_connectivity_layout_topology_link;
DERIVE
nodes : SET[1:?] OF Physical_connectivity_layout_topology_node := pcd_get_pcltn(elements);
tree_structure : LOGICAL := (SIZEOF(nodes) = (SIZEOF(elements) + 1));
WHERE
WR1: (tree_structure = TRUE);
END_ENTITY;
(*
Attribute definitions:
elements: an inherited attribute shall be of type Physical_connectivity_layout_topology_link for the Physical_connectivity_layout_topology_requirement. The elements specify the links between nodes in the tree.
nodes: specifies the role of the Physical_connectivity_layout_topology_node for the Physical_connectivity_layout_topology_requirement. The nodes specifies the nodes that are contained in the tree and that are linked by the elements. There shall exist at least one Physical_connectivity_layout_topology_node for the Physical_connectivity_layout_topology_requirement.
tree_structure: specifies a LOGICAL value for the Physical_connectivity_layout_topology_requirement. The tree_structure is TRUE when the Physical_connectivity_layout_topology_requirement satisfies the definition for being a tree.
Formal propositions:
WR1: A Physical_connectivity_layout_topology_requirement shall exhibit the graph theory properties of a tree.
This subclause specifies the ARM functions for this module. The ARM functions and definitions are specified below.
EXPRESS specification:
*)
FUNCTION acyclic_physical_connectivity_layout_topology_link (relation : Physical_connectivity_layout_topology_link; relatives : SET[1:?] OF Physical_connectivity_layout_topology_node; specific_relation : STRING) : BOOLEAN;
LOCAL x : SET OF Physical_connectivity_layout_topology_link := []; END_LOCAL; IF relation.precedent_node IN relatives THEN RETURN (FALSE); END_IF; x := QUERY(pd <* bag_to_set(USEDIN(relation.precedent_node, 'PHYSICAL_CONNECTIVITY_DEFINITION_ARM.' + 'PHYSICAL_CONNECTIVITY_LAYOUT_TOPOLOGY_LINK.' + 'SUBSEQUENT_NODE')) | specific_relation IN TYPEOF(pd)); REPEAT i := 1 TO HIINDEX(x); IF NOT acyclic_physical_connectivity_layout_topology_link(x[i], relatives + relation.precedent_node, specific_relation) THEN RETURN (FALSE); END_IF; END_REPEAT; RETURN (TRUE);
END_FUNCTION;
(*
Argument definitions:
relation: the specified Physical_connectivity_layout_topology_link.
relatives: the specified set of Physical_connectivity_layout_topology_nodes.
specific_relation: the specified STRING.
EXPRESS specification:
*)
FUNCTION pcd_get_pcltn (input : SET[0:?] OF Physical_connectivity_layout_topology_link) : SET[0:?] OF Physical_connectivity_layout_topology_node;
LOCAL pcltn : SET OF Physical_connectivity_layout_topology_node := []; i : INTEGER := 0; END_LOCAL; REPEAT i := 1 TO SIZEOF(input) BY 1; pcltn := pcltn + input[i].precedent_node + input[i].subsequent_node; END_REPEAT; RETURN(pcltn);
END_FUNCTION;
(*
Argument definitions:
input: the specified set of Physical_connectivity_layout_topology_links.
*)
END_SCHEMA; -- Physical_connectivity_layout_topology_requirement_arm
(*
© ISO 2018 — All rights reserved