Application module: Functional assignment to part ISO/TS 10303-1674: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 Functional assignment to part 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 Functional_assignment_to_part_arm schema and identifies the necessary external references.

EXPRESS specification:

*)
SCHEMA Functional_assignment_to_part_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 Functional_usage_view_arm;    --  ISO/TS 10303-1705

USE FROM Physical_connectivity_layout_topology_requirement_arm;    --  ISO/TS 10303-1826

USE FROM Physical_unit_usage_view_arm;    --  ISO/TS 10303-1732
(*

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

Functional_usage_view_arm ISO/TS 10303-1705
Physical_connectivity_layout_topology_requirement_arm ISO/TS 10303-1826
Physical_unit_usage_view_arm ISO/TS 10303-1732

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

The fatp_groupable_item type is an extension of the groupable_item type. It adds the data type Part_connected_terminals_definition to the list of alternate data types.

EXPRESS specification:

*)
TYPE fatp_groupable_item = SELECT BASED_ON groupable_item WITH
   (Part_connected_terminals_definition);
END_TYPE;
(*

4.2.2 fatp_part_connected_terminals_definition_domain_enumeration   EXPRESS-G

A fatp_part_connected_terminals_definition_domain_enumeration lists the values of domain types for a Part_terminal.

EXPRESS specification:

*)
TYPE fatp_part_connected_terminals_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.3 fatp_requirement_assignment_item   EXPRESS-G

The fatp_requirement_assignment_item type is an extension of the requirement_assignment_item type. It adds the data types Part_connected_terminals_element, and Part_connected_terminals_definition to the list of alternate data types.

EXPRESS specification:

*)
TYPE fatp_requirement_assignment_item = SELECT BASED_ON requirement_assignment_item WITH
   (Part_connected_terminals_element,
    Part_connected_terminals_definition);
END_TYPE;
(*

4.2.4 fatp_termination_or_junction   EXPRESS-G

The fatp_termination_or_junction type allows for the designation of the data types Part_terminal, and Part_connected_terminals_topological_junction.

EXPRESS specification:

*)
TYPE fatp_termination_or_junction = SELECT
   (Part_terminal,
    Part_connected_terminals_topological_junction);
END_TYPE;
(*

4.2.5 interface_or_join_terminal_enumeration   EXPRESS-G

An interface_or_join_terminal_enumeration defines the possible connection types for a Part_terminal.

EXPRESS specification:

*)
TYPE interface_or_join_terminal_enumeration = ENUMERATION OF
   (join_terminal,
    interface_terminal);
END_TYPE;
(*

Enumerated item definitions:

join_terminal: specifies the connection type is to join at the same immediate assembly level.

interface_terminal: specifies the connection type is to interface to the next-higher-assembly level.

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

A Functional_usage_view_to_part_terminal_assignment is the association between a Scalar_terminal_definition and a Part_terminal. This is the fundamental mechanism for mapping between the functional view and the physical view of a design or library item.

EXPRESS specification:

*)
ENTITY Functional_usage_view_to_part_terminal_assignment;
  physical_usage_view_terminal : Part_terminal;
  functional_usage_view_terminal : Scalar_terminal_definition;
UNIQUE
  UR1: functional_usage_view_terminal, physical_usage_view_terminal;
END_ENTITY;
(*

Attribute definitions:

physical_usage_view_terminal: specifies a role of the Part_terminal for the Functional_usage_view_to_part_terminal_assignment.

functional_usage_view_terminal: specifies a role of the Scalar_terminal_definition for the Functional_usage_view_to_part_terminal_assignment.

Formal propositions:

UR1: The combination of functional_usage_view_terminal and physical_usage_view_terminal shall be unique within a population of Functional_usage_view_to_part_terminal_assignment.

4.3.2 Part_connected_terminals_definition   EXPRESS-GMapping table

A Part_connected_terminals_definition is the association between two or more Part_terminal that are connected internally to the part. This object serves as a formal requirement statement for connections implemented by a product. It is a topological abstraction in that it does not provide any information stating the variation of properties with respect to product or environmental variability.

NOTE    This object is included to support the case where multiple terminals of a part are connected internally. It provides a more compact model structure by permitting an application to populate one instance of Part_connected_terminals_definition instead of multiple instances of Functional_usage_view_to_part_terminal_assignment.

EXAMPLE 1   A Part_connected_terminals_definition for a signal name of 'GND' specifies that J1-11, J2-1, J3-12, and J4 terminals 8 through 20 are all internally connected and that the interface control document specifies a common name of 'GND' for the specified Part_terminals.

EXAMPLE 2   A Part_connected_terminals_definition for a signal name of '28VDC' specifies that J11-11, J21-1, J31-12, and J14 terminals 8 through 20 are all internally connected and that the interface control document specifies a common name of '28VDC'' for the specified Part_terminals.

EXPRESS specification:

*)
ENTITY Part_connected_terminals_definition;
  name : STRING;
  associated_definition : Part_view_definition;
  connected_terminals : SET[2:?] OF Part_terminal;
INVERSE
  domain : SET[0:1] OF Part_connected_terminals_definition_domain FOR associated_definition;
UNIQUE
  UR1: name, associated_definition;
WHERE
  WR1: SIZEOF(QUERY(ct <* connected_terminals | NOT (associated_definition = ct\Shape_element.associated_definition))) = 0;
END_ENTITY;
(*

Attribute definitions:

name: the words by which the Part_connected_terminals_definition is known.

associated_definition: specifies the Part_usage_view that is the product definition for the Part_connected_terminals_definition.

connected_terminals: specifies a role of the Part_terminal for the Part_connected_terminals_definition. There shall be two or more Part_terminal for a Part_connected_terminals_definition.

domain: specifies an inverse relationship that specifies that the existence of the Part_connected_terminals_definition is dependent on the existence of the Part_connected_terminals_definition_domain that specifies the Part_connected_terminals_definition as its associated_definition. There shall be no more than one Part_connected_terminals_definition_domain for a particular Part_connected_terminals_definition.

Formal propositions:

UR1: The combination of name and associated_definition shall be unique within a population of Part_connected_terminals_definitions.

WR1: All terminals specified by the connected_terminals shall be on the associated_definition.

4.3.3 Part_connected_terminals_definition_domain   EXPRESS-GMapping table

A Part_connected_terminals_definition_domain is is the application of a domain name to a Part_connected_terminals_definition to support cases where domains other than pure electrical are required. If a Part_connected_terminals_definition_domain is not applied to a Part_connected_terminals_definition, the domain of the Part_connected_terminals_definition shall be interpreted to be electrical.

EXPRESS specification:

*)
ENTITY Part_connected_terminals_definition_domain;
  domain_type : fatp_part_connected_terminals_definition_domain_enumeration;
  associated_definition : Part_connected_terminals_definition;
END_ENTITY;
(*

Attribute definitions:

domain_type: specifies the role of the fatp_part_connected_terminals_definition_domain_enumeration for the Part_connected_terminals_definition_domain.

associated_definition: specifies the role of the Part_connected_terminals_definition for the Part_connected_terminals_definition_domain.

4.3.4 Part_connected_terminals_element   EXPRESS-GMapping table

A Part_connected_terminals_element is a 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 terminal or a topological junction.

EXPRESS specification:

*)
ENTITY Part_connected_terminals_element;
  name : STRING;
  start_terminus : fatp_termination_or_junction;
  end_terminus : fatp_termination_or_junction;
  connectivity_context : Part_connected_terminals_structure_definition;
UNIQUE
  UR1: name, connectivity_context;
WHERE
  WR1: start_terminus <> end_terminus;
END_ENTITY;
(*

Attribute definitions:

name: the words by which the Part_connected_terminals_element is known.

start_terminus: specifies a role of the fatp_termination_or_junction for the Part_connected_terminals_element.

end_terminus: specifies a role of the fatp_termination_or_junction for the Part_connected_terminals_element.

connectivity_context: specifies a role of the Part_connected_terminals_definition for the Part_connected_terminals_element.

Formal propositions:

UR1: The combination of name and connectivity_context shall be unique within a population of Part_connected_terminals_element.

WR1: The start_terminus shall not be equal to the end_terminus.

4.3.5 Part_connected_terminals_layout_topology_requirement_assignment   EXPRESS-GMapping table

A Part_connected_terminals_layout_topology_requirement_assignment is a type of Requirement_assignment.

EXPRESS specification:

*)
ENTITY Part_connected_terminals_layout_topology_requirement_assignment
  SUBTYPE OF (Requirement_assignment);
  SELF\Requirement_assignment.assigned_requirement : Physical_connectivity_layout_topology_requirement;
  SELF\Requirement_assignment.assigned_to : Part_connected_terminals_definition;
END_ENTITY;
(*

Attribute definitions:

assigned_requirement: an attribute inherited from the Requirement_assignment shall be redeclared as the Physical_connectivity_layout_topology_requirement for the Part_connected_terminals_layout_topology_requirement_assignment.

assigned_to: an attribute inherited from the Requirement_assignment shall be redeclared as the Part_connected_terminals_definition for the Part_connected_terminals_layout_topology_requirement_assignment.

4.3.6 Part_connected_terminals_structure_definition   EXPRESS-GMapping table

A Part_connected_terminals_structure_definition is a type of Part_connected_terminals_definition that has a structure. Structure included supports assignment of path based properties to a Part_connected_terminals_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 Part_connected_terminals_element referenced by the structural_element attribute. The nodes in the graph may be either a terminal or a topological junction.

EXPRESS specification:

*)
ENTITY Part_connected_terminals_structure_definition
  SUBTYPE OF (Part_connected_terminals_definition);
DERIVE
  structural_terminal_nodes : SET[0:?] OF Part_terminal := fatp_get_pt(structural_element);
  structural_junction_nodes : SET[0:?] OF Part_connected_terminals_topological_junction := fatp_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 Part_connected_terminals_element FOR connectivity_context;
WHERE
  WR1: SIZEOF(QUERY(stn <* structural_terminal_nodes | NOT(stn IN SELF\Part_connected_terminals_definition.connected_terminals) )) = 0;
  WR2: SIZEOF(structural_terminal_nodes) = SIZEOF(SELF\Part_connected_terminals_definition.connected_terminals);
END_ENTITY;
(*

Attribute definitions:

structural_terminal_nodes: specifies a role of the Part_terminal for the Part_connected_terminals_structure_definition. There shall exist zero or more Part_terminals for the Part_connected_terminals_structure_definition.

structural_junction_nodes: specifies a role of the Part_connected_terminals_topological_junction for the Part_connected_terminals_structure_definition. There shall exist zero or more Part_connected_terminals_topological_junctions for the Part_connected_terminals_structure_definition.

tree_structure: specifies a LOGICAL value.

structural_element: specifies an inverse relationship that specifies that the existence of the Part_connected_terminals_structure_definition is dependent on the existence of the Part_connected_terminals_element that specifies the Part_connected_terminals_structure_definition as its connectivity_context. There shall be no more than one Part_connected_terminals_element for a particular Part_connected_terminals_structure_definition.

Formal propositions:

WR1: Each member of structural_terminal_nodes shall be in the set of associated_terminals inherited from P Physical_connectivity_definition.

WR2: The size of the set of structural_terminal_nodes shall be the size of the set of connected_terminals inherited from Part_connected_terminals_definition.

4.3.7 Part_connected_terminals_topological_junction   EXPRESS-GMapping table

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

EXPRESS specification:

*)
ENTITY Part_connected_terminals_topological_junction;
  name : STRING;
  scope : Part_connected_terminals_structure_definition;
UNIQUE
  UR1: name, scope;
END_ENTITY;
(*

Attribute definitions:

name: the words by which the Part_connected_terminals_topological_junction is known.

scope: specifies a role of the Part_connected_terminals_structure_definition for the Part_connected_terminals_topological_junction.

Formal propositions:

UR1: The combination of name and scope shall be unique within a population of Part_connected_terminals_topological_junction.

4.3.8 Part_terminal   EXPRESS-GMapping table

A Part_terminal is a type of Part_feature provided to support a specific, identified, feature on a product that may be used to access electrical or other domain functional aspects. A Part_teminal is associated with a specific version of a product. A Part_teminal is an element of the physical aspect of a product.

NOTE    A Part_teminal is often specified in an interface control document or other contractual binding agreement.

EXPRESS specification:

*)
ENTITY Part_terminal
  SUBTYPE OF (Part_feature);
  interface_or_join_terminal : interface_or_join_terminal_enumeration;
INVERSE
  connection_requirement : SET[0:1] OF Part_connected_terminals_definition FOR connected_terminals;
  functional_usage_view_terminal : SET[0:1] OF Functional_usage_view_to_part_terminal_assignment FOR physical_usage_view_terminal;
END_ENTITY;
(*

Attribute definitions:

interface_or_join_terminal: specifies that the Part_terminal is intended to join at the immediate-assembly level, or it is intended to interface to the next-higher-assembly level.

connection_requirement: specifies an inverse relationship that specifies that the existence of the Part_terminal is dependent on the existence of the Part_connected_terminals_definition that specifies the Part_terminal as its connected_terminals. There shall be no more than one Part_connected_terminals_definition for a particular Part_terminal.

functional_usage_view_terminal: specifies an inverse relationship that specifies that the existence of the Part_terminal is dependent on the existence of the Functional_usage_view_to_part_terminal_assignment that specifies the Part_terminal as its physical_usage_view_terminal. There shall be no more than one Functional_usage_view_to_part_terminal_assignment for a particular Part_terminal.

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 fatp_get_pt

The fatp_get_pt function returns the set of Part_terminal referenced by the set of Part_connected_terminals_element input to the function.

EXPRESS specification:

*)
FUNCTION fatp_get_pt (input : SET[0:?] OF Part_connected_terminals_element) : SET[0:?] OF Part_terminal;
LOCAL
   pct : SET OF Part_terminal := [];
	i : INTEGER := 0;
  END_LOCAL;
  REPEAT  i := 1 TO SIZEOF(input) BY 1;
   IF ('FUNCTIONAL_ASSIGNMENT_TO_PART_ARM.PART_TERMINAL' IN TYPEOF(input[i].start_terminus)) THEN
   pct := pct + input[i].start_terminus;
   END_IF;
   IF ('FUNCTIONAL_ASSIGNMENT_TO_PART_ARM.PART_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 Part_connected_terminals_elements.

4.4.2 fatp_get_tj

The fatp_get_tj function returns the set of Part_connected_terminals_topological_junction referenced by the set of Part_connected_terminals_element input to the function.

EXPRESS specification:

*)
FUNCTION fatp_get_tj (input : SET[0:?] OF Part_connected_terminals_element) : SET[0:?] OF Part_connected_terminals_topological_junction;
LOCAL
   tj : SET OF Part_connected_terminals_topological_junction := [];
	i : INTEGER := 0;
  END_LOCAL;
  REPEAT  i := 1 TO SIZEOF(input) BY 1;
   IF ('FUNCTIONAL_ASSIGNMENT_TO_PART_ARM.PART_CONNECTED_TERMINALS_TOPOLOGICAL_JUNCTION' IN TYPEOF(input[i].start_terminus)) THEN
   tj := tj + input[i].start_terminus;
   END_IF;
   IF ('FUNCTIONAL_ASSIGNMENT_TO_PART_ARM.PART_CONNECTED_TERMINALS_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 Part_connected_terminals_elements.



*)
END_SCHEMA;  -- Functional_assignment_to_part_arm
(*


© ISO 2018 — All rights reserved