Application module: Functional decomposition to design ISO/TS 10303-1676: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 definition
   4.3 ARM entity definitions
   4.4 ARM subtype constraint definition
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 decomposition to design 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_decomposition_to_design_arm schema and identifies the necessary external references.

EXPRESS specification:

*)
SCHEMA Functional_decomposition_to_design_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 Change_management_arm;    --  ISO/TS 10303-1824

USE FROM Physical_unit_design_view_arm;    --  ISO/TS 10303-1728

USE FROM Network_functional_design_view_arm;    --  ISO/TS 10303-1704
(*

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

Change_management_arm ISO/TS 10303-1824
Physical_unit_design_view_arm ISO/TS 10303-1728
Network_functional_design_view_arm ISO/TS 10303-1704

NOTE 2   See Annex C, Figures C.1and C.2 for a graphical representation of this schema.

4.2 ARM type definition

This subclause specifies the ARM type for this application module. The ARM type and definition is specified below.

4.2.1 fdtd_change_management_object   EXPRESS-G

The fdtd_change_management_object type is an extension of the change_management_object type. It adds the data types Design_functional_unit_allocation_to_assembly_component, and Design_functional_unit_allocation_to_reference_functional_unit to the list of alternate data types.

NOTE  The list of entity data types may be extended in application modules that use the constructs of this module.

EXPRESS specification:

*)
TYPE fdtd_change_management_object = EXTENSIBLE GENERIC_ENTITY SELECT BASED_ON change_management_object WITH
   (Design_functional_unit_allocation_to_assembly_component,
    Design_functional_unit_allocation_to_reference_functional_unit);
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 Component_swap_specification   EXPRESS-GMapping table

A Component_swap_specification is a type of Modify_single_element. The Component_swap_specification specifies which component has been swapped for which other component in a design; both the swapped-out and the swapped-in components are specified.

NOTE    The Component_swap_specification supports the component identification portion of the gate swap specification. It is necessary when components, such as the microcircuits known as U1, U2, etc. are being swapped.

EXPRESS specification:

*)
ENTITY Component_swap_specification
  SUBTYPE OF (Modify_single_element);
  SELF\Modify_single_element.current_design_object : Design_functional_unit_allocation_to_assembly_component;
  SELF\Modify_single_element.previous_design_object : Design_functional_unit_allocation_to_assembly_component;
END_ENTITY;
(*

Attribute definitions:

current_design_object: specifies the Design_functional_unit_allocation_to_assembly_component for the resulting design object after swapping, for the Component_swap_specification.

previous_design_object: specifies the Design_functional_unit_allocation_to_assembly_component for the original design object before swapping, for the Component_swap_specification.

4.3.2 Design_composition_path   EXPRESS-GMapping table

A Design_composition_path is a collection of Functional_unit that together compose one path through the complete functional definition that has the design_functional_unit as a reference to the Functional_unit_definition that is the leaf node. The functional definition has a root node that is a Functional_unit_network_definition. The path is then established by starting at the leaf element and traversing the collection of path_element in the sequence in which they exist in the functional definition between the leaf element and the root element. Each member of path_element establishes a link in the sequence. The Design_composition_path is a mapping source for a packaging application to use to map between a hierarchical description and a flattened description of a network.

NOTE    The types of node elements that are composing a directed acyclic graph must be consistent. This part of ISO 10303 uses Functional_unit_definition as the node elements.

EXPRESS specification:

*)
ENTITY Design_composition_path;
  path_element : SET[1:?] OF Functional_unit;
  design_functional_unit : Functional_unit;
END_ENTITY;
(*

Attribute definitions:

path_element: specifies the Functional_unit for the Design_composition_path. There shall be one or more Functional_unit for a Design_composition_path.

design_functional_unit: specifies the Functional_unit for the leaf element for the Design_composition_path.

4.3.3 Design_functional_unit_allocation_to_assembly_component   EXPRESS-GMapping table

A Design_functional_unit_allocation_to_assembly_component is the relationship between the Design_composition_path and the Assembly_component that performs the required function.

EXPRESS specification:

*)
ENTITY Design_functional_unit_allocation_to_assembly_component;
  functional_design_definition_path : Design_composition_path;
  implementation : Assembly_component;
  global_swappable : BOOLEAN;
  local_swappable : BOOLEAN;
  of_property : OPTIONAL SET[1:?] OF Property_value_representation;
  path_alias : STRING;
  swap_code : STRING;
UNIQUE
  UR1: implementation, path_alias;
END_ENTITY;
(*

Attribute definitions:

functional_design_definition_path: specifies the Design_composition_path for the Design_functional_unit_allocation_to_assembly_component.

implementation: specifies the Assembly_component for the Design_functional_unit_allocation_to_assembly_component.

global_swappable: specifies a boolean value that indicates if occurrences of the associated path can be exchanged within the context of an Product being designed.

local_swappable: specifies a boolean value that indicates if occurrences of the associated path can be exchanged within the context of an Assembly_component.

of_property: specifies the Property_value_representation for the Design_functional_unit_allocation_to_assembly_component. There may be more than one of_property for a Design_functional_unit_allocation_to_assembly_component. The value of this attribute need not be specified.

path_alias: specifies the label that is the identifier in the context of the implementation for the Design_functional_unit_allocation_to_assembly_component.

EXAMPLE    "A", "B", "C", "D", are typical path_alias for a quad NAND gate part.

swap_code: specifies the text that is the type of replacement that is valid.

Formal propositions:

UR1: The combination of implementation and path_alias shall be unique within a population of Design_functional_unit_allocation_to_assembly_component.

4.3.4 Design_functional_unit_allocation_to_reference_functional_unit   EXPRESS-GMapping table

A Design_functional_unit_allocation_to_reference_functional_unit is an assignment of a Functional_unit in a Design_composition_path to a Functional_unit in a Reference_composition_path for the functional definition of a product.

NOTE 1   This provides the capability to exchange a functional decomposition that an enterprise reuses in multiple designs.

NOTE 2   The library functional hierarchy, if provided, is required to be a network definition with the constraint that only external references on the root node of the network structure will be mapped to physical terminals of the reused product design.

NOTE 3   The allocation relationship in this Application Object is critical in mapping between a functional design and a physical implementation of that design, because this part of ISO 10303 relies on the reference mapping between a functional definition in a library and the physical implementation of that functional definition in that library, usually in a packaged part, to identify the necessary definitions that need to be instantiated in the physical design.

EXPRESS specification:

*)
ENTITY Design_functional_unit_allocation_to_reference_functional_unit;
  reference_definition_path : Reference_composition_path;
  design_definition_path : Design_composition_path;
END_ENTITY;
(*

Attribute definitions:

reference_definition_path: specifies the Reference_composition_path for the Design_functional_unit_allocation_to_reference_functional_unit.

design_definition_path: specifies the Design_composition_path for the Design_functional_unit_allocation_to_reference_functional_unit.

4.3.5 Gate_path_swap_specification   EXPRESS-GMapping table

A Gate_path_swap_specification is a type of Modify_single_element. This entity explicitly states that a path to a functional unit in a design shall be changed to a new path in the library of functional unit definitions.

NOTE    Normally the new path is based on the same root functional unit definition in the library, leading to a different path in the same technology, but there is no restriction in the standard that prohibits switching to a different functional unit definition in the library. If there is a new functional unit definition as root, other design changes will likely need to occur, but the mapping to identify those explicitly and relate them to this entity is not standardized, except through the use of the requirement occurrence concept. Specifically, this entity needs to be used in conjunction with the component swap specification to swap between components if the path in the library is also changing.

EXAMPLE    An example is in the case where a change is being made from one microcircuit and its terminal, U1-A, to another microcircuit and terminal, U2-C.

EXPRESS specification:

*)
ENTITY Gate_path_swap_specification
  SUBTYPE OF (Modify_single_element);
  SELF\Modify_single_element.current_design_object : Design_functional_unit_allocation_to_reference_functional_unit;
  SELF\Modify_single_element.previous_design_object : Design_functional_unit_allocation_to_reference_functional_unit;
END_ENTITY;
(*

Attribute definitions:

current_design_object: specifies the Design_functional_unit_allocation_to_reference_functional_unit that results from the swap in the Gate_path_swap_specification.

previous_design_object: specifies the Design_functional_unit_allocation_to_reference_functional_unit from which the swap was made in the Gate_path_swap_specification.

4.3.6 Reference_composition_path   EXPRESS-GMapping table

A Reference_composition_path is one path through the function reference network graph.

EXPRESS specification:

*)
ENTITY Reference_composition_path;
  path_element : SET[1:?] OF Functional_unit;
  reference_functional_unit : Functional_unit;
END_ENTITY;
(*

Attribute definitions:

path_element: specifies a role of the Functional_unit for the Reference_composition_path. There shall be one or more Functional_unit for a Reference_composition_path.

reference_functional_unit: specifies the Functional_unit that participates as a link to the leaf node in the functional decomposition hierarchical definition in the Reference_composition_path.

4.3.7 Reference_functional_unit_assignment_to_part   EXPRESS-GMapping table

A Reference_functional_unit_assignment_to_part is a means to assign one specific path in the function reference network graph to an implementation. A Reference_functional_unit_assignment_to_part provides support for exchange of information needed to determine swappability of functions assigned to devices.

EXPRESS specification:

*)
ENTITY Reference_functional_unit_assignment_to_part;
  functional_design_definition_path : Reference_composition_path;
  implementation : Part_view_definition;
  of_property : OPTIONAL SET[1:?] OF Property_value_representation;
  path_alias : STRING;
  swap_code : OPTIONAL STRING;
UNIQUE
  UR1: implementation, path_alias;
END_ENTITY;
(*

Attribute definitions:

functional_design_definition_path: specifies a role of the Reference_composition_path for the Reference_functional_unit_assignment_to_part.

implementation: specifies a role of the Part_view_definition for the Reference_functional_unit_assignment_to_part.

of_property: specifies a role of the Property_value_representation for the Reference_functional_unit_assignment_to_part. There may be more than one of_property for a Reference_functional_unit_assignment_to_part. The value of this attribute need not be specified.

path_alias: specifies a string that is the identifier for the Reference_functional_unit_assignment_to_part.

swap_code: specifies the string that is the type of exchange that is valid. The value of this attribute need not be specified.

Formal propositions:

UR1: The combination of implementation and path_alias shall be unique within a population of Reference_functional_unit_assignment_to_part.

4.3.8 Reference_functional_unit_assignment_to_template   EXPRESS-GMapping table

A Functional_decomposition_to_design_arm.Reference_functional_unit_assignment_to_template is a means to assign one specific path in the function reference network graph to an implementation. A Functional_decomposition_to_design_arm.Reference_functional_unit_assignment_to_template provides support for exchange of information needed to determine swappability of functions assigned to templates.

EXPRESS specification:

*)
ENTITY Reference_functional_unit_assignment_to_template;
  functional_design_definition_path : Reference_composition_path;
  implementation : Template_definition;
  of_property : OPTIONAL SET[1:?] OF Property_value_representation;
  path_alias : STRING;
  swap_code : OPTIONAL STRING;
UNIQUE
  UR1: implementation, path_alias;
END_ENTITY;
(*

Attribute definitions:

functional_design_definition_path: specifies a role of the Reference_composition_path for the Reference_functional_unit_assignment_to_template.

implementation: specifies a role of the Template_definition for the Reference_functional_unit_assignment_to_template.

of_property: specifies a set of one or more Property_value_representation for the Reference_functional_unit_assignment_to_template. The value of this attribute need not be specified.

path_alias: specifies alternate text for the path for Reference_functional_unit_assignment_to_template.

swap_code: specifies a string for the Reference_functional_unit_assignment_to_template. The value of this attribute need not be specified.

Formal propositions:

UR1: The combination of implementation and path_alias shall be unique within a population of the Reference_functional_unit_assignment_to_template.

4.3.9 Terminal_swap_specification   EXPRESS-GMapping table

A Terminal_swap_specification is a type of Modify_single_element. The Terminal_swap_specification is part of the swapping specification from the previous design definition to the current design definition. It identifies the terminal in the previous design that was connected to a node, and the terminal in the current design that is connected to that node instead.

NOTE    With the pin mapping between the functional and physical representations in the library, this is sufficient information to derive the swapping at the component terminal; however, note that this is in the previous and present design definitions and not in the library functional definition.

EXPRESS specification:

*)
ENTITY Terminal_swap_specification
  SUBTYPE OF (Modify_single_element);
  SELF\Modify_single_element.previous_design_object : Functional_unit_terminal_node_assignment;
  SELF\Modify_single_element.current_design_object : Functional_unit_terminal_node_assignment;
END_ENTITY;
(*

Attribute definitions:

previous_design_object: specifies the Functional_unit_terminal_node_assignment of the terminal node before the swap for the Terminal_swap_specification.

current_design_object: specifies the Functional_unit_terminal_node_assignment of the terminal node after the swap for the Terminal_swap_specification.

4.4 ARM subtype constraint definition

This subclause specifies the ARM subtype constraint for this module. The subtype constraint places a constraint on the possible super-type / subtype instantiations. The ARM subtype constraint and definition is specified below.

4.4.1 change_design_object_management_relationship_subtypes   EXPRESS-GMapping table

The change_design_object_management_relationship_subtypes constraint specifies a constraint that applies to instances of Modify_single_element and enforces the rule that its subtypes Terminal_swap_specification, Gate_path_swap_specification and Component_swap_specification are exclusive.

EXPRESS specification:

*)
SUBTYPE_CONSTRAINT change_design_object_management_relationship_subtypes FOR Modify_single_element;
  ONEOF (Terminal_swap_specification,
         Gate_path_swap_specification,
         Component_swap_specification);
END_SUBTYPE_CONSTRAINT;
(*



*)
END_SCHEMA;  -- Functional_decomposition_to_design_arm
(*


© ISO 2018 — All rights reserved