Application module: Assembly structure ISO/TS 10303-1026:2019(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

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 Assembly structure 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 Assembly_structure_arm schema and identifies the necessary external references.

EXPRESS specification:

*)
SCHEMA Assembly_structure_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 Product_view_definition_arm;    --  ISO/TS 10303-1019

USE FROM Product_view_definition_reference_arm;    --  ISO/TS 10303-1823

USE FROM Value_with_unit_arm;    --  ISO/TS 10303-1054
(*

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

Product_view_definition_arm ISO/TS 10303-1019
Product_view_definition_reference_arm ISO/TS 10303-1823
Value_with_unit_arm ISO/TS 10303-1054

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

The product_view_definition_or_reference type allows for the designation of the data types Product_view_definition and Generic_product_view_definition_reference.

EXPRESS specification:

*)
TYPE product_view_definition_or_reference = SELECT
   (Product_view_definition,
    Generic_product_view_definition_reference);
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 Assembly_component_relationship   EXPRESS-GMapping table

An Assembly_component_relationship is a type of Product_occurrence_definition_relationship. It identifies a possibly quantified usage of a product version as a component of another product version.

The relationship is established between two Product_view_definitions

The inherited attribute relating_view identifies the Product_view_definition of the assembly.

The inherited attribute related_view identifies the Product_view_definition of the product version that plays the role of component.

The Assembly_component_relationship specifies that, in the initial_context of the Product_view_definition that is referred to as relating_view, it is considered that the product version that is indirectly identified with the related_view attribute, is a component of the product version that is indirectly identified with the relating_view attribute.

NOTE 1   In another context, the structure of the assembly may be described differently, adding, for example, an intermediate level between the products.

NOTE 2   This entity data type may be used to establish assembly relationships during design or to represent the composition of an assembly existing in the real world.

An Assembly_component_relationship is either a Multi_level_reference_designator, a Next_assembly_usage, a Promissory_usage or a Component_upper_level_identification.

EXPRESS specification:

*)
ENTITY Assembly_component_relationship
  ABSTRACT SUPERTYPE OF (ONEOF (Multi_level_reference_designator,
                                Next_assembly_usage,
                                Promissory_usage,
                                Component_upper_level_identification))
  SUBTYPE OF (Product_occurrence_definition_relationship);
  location_indicator : OPTIONAL STRING;
  quantity : OPTIONAL Value_with_unit;
WHERE
  WR1: NOT(EXISTS(quantity)) OR ((NOT ('NUMBER' IN TYPEOF(quantity.value_component))) XOR (quantity.value_component > 0));
END_ENTITY;
(*

Attribute definitions:

location_indicator: the text that identifies this usage of the component in the assembly in a diagram, list, chart, or on a physical piece of equipment. The value of this attribute need not be specified.

quantity: the Value_with_unit that defines the amount of this usage of the component in the assembly. The value of this attribute need not be specified.

Formal propositions:

WR1: If it is specified and if its value is expressed with a number, the quantity value shall be greater than zero.

4.3.2 Component_upper_level_identification   EXPRESS-GMapping table

A Component_upper_level_identification is a type of Assembly_component_relationship. It identifies a component of an assembly with respect to an upper level in the assembly structure.

NOTE    A Component_upper_level_identification does not add a component in an assembly; it provides a means to further characterize a component with respect to an upper level assembly.

EXAMPLE    A Component_upper_level_identification may be used to assign a property to a component that applies in the context of a particular upper level assembly.

The identified component is the version of product, indirectly referred to as the related_view of the sub_assembly_relationship.

The upper level assembly is the version of product, indirectly referred to as the relating_view of the upper_assembly_relationship.

EXPRESS specification:

*)
ENTITY Component_upper_level_identification
  SUBTYPE OF (Assembly_component_relationship);
  upper_assembly_relationship : Assembly_component_relationship;
  sub_assembly_relationship : Next_assembly_usage;
UNIQUE
  UR1: upper_assembly_relationship, sub_assembly_relationship;
WHERE
  WR1: SELF :<>: upper_assembly_relationship;
  WR2: SELF\Product_occurrence_definition_relationship.relating_view :=: upper_assembly_relationship\Product_occurrence_definition_relationship.relating_view;
  WR3: SELF\Product_occurrence_definition_relationship.related_view :=: sub_assembly_relationship\Product_occurrence_definition_relationship.related_view;
  WR4: (upper_assembly_relationship\Product_occurrence_definition_relationship.related_view :=: sub_assembly_relationship\Product_occurrence_definition_relationship.relating_view) OR (SIZEOF (QUERY (pdr <* USEDIN (upper_assembly_relationship\Product_occurrence_definition_relationship.related_view , 'ASSEMBLY_STRUCTURE_ARM.PRODUCT_OCCURRENCE_DEFINITION_RELATIONSHIP.RELATED_VIEW') | pdr.relating_view :=: sub_assembly_relationship\Product_occurrence_definition_relationship.relating_view)) = 1);
  WR5: SIZEOF (['ASSEMBLY_STRUCTURE_ARM.NEXT_ASSEMBLY_USAGE', 'ASSEMBLY_STRUCTURE_ARM.COMPONENT_UPPER_LEVEL_IDENTIFICATION'] * TYPEOF(upper_assembly_relationship)) = 1;
END_ENTITY;
(*

Attribute definitions:

upper_assembly_relationship: the Assembly_component_relationship that identifies indirectly the upper level assembly in the context of which the component is identified.

sub_assembly_relationship: the Next_assembly_usage that identifies indirectly the component that is further characterized by the Component_upper_level_identification.

Formal propositions:

UR1: The couple of the upper_assembly_relationship and sub_assembly_relationship attributes shall be unique within a population of the Component_upper_level_identification.

WR1: The upper_assembly_relationship shall not refer to the Component_upper_level_identification.

WR2: The relating_view attribute of the Component_upper_level_identification shall reference the same instance of Product_view_definition as the relating_view of the upper_assembly_relationship.

WR3: The related_view of the Component_upper_level_identification shall reference the same instance of Product_view_definition as the related_view for the sub_assembly_relationship.

WR4: The related_view of the upper_assembly_relationship shall refer to, or be transitively related to, the same instance of Product_view_definition as the relating_view for the sub_assembly_relationship.

WR5: The upper_assembly_relationship shall be an instance of either Next_assembly_usage or of Component_upper_level_identification.

4.3.3 Multi_level_reference_designator   EXPRESS-GMapping table

A Multi_level_reference_designator is a type of Assembly_component_relationship that specifies the relationship between an assembly and a constituent if the assembly is not the immediate parent for the constituent and there are several hierarchical levels between the assembly and the constituent. The hierarchical levels are defined by a list of Next_assembly_usage that identifies a connected path in the assembly structure.

NOTE    The Multi_level_reference_designator is used to identify a specific instance of a component within a multi-level assembly structure for which certain properties are to be associated.

EXPRESS specification:

*)
ENTITY Multi_level_reference_designator
  SUBTYPE OF (Assembly_component_relationship);
  location : LIST[1:?] OF UNIQUE Next_assembly_usage;
DERIVE
  SELF\Product_occurrence_definition_relationship.relating_view RENAMED root_node : Product_view_definition := location[1]\Product_occurrence_definition_relationship.relating_view;
  SELF\Product_occurrence_definition_relationship.related_view RENAMED leaf_node : product_view_definition_or_reference := location[HIINDEX(location)]\Product_occurrence_definition_relationship.related_view;
UNIQUE
  UR1: location;
END_ENTITY;
(*

Attribute definitions:

location: specifies the ordered list of connected Next_assembly_usage that defines an unambiguous path from the assembly to the constituent.

root_node: specifies the node in the assembly structure where the path starts.

leaf_node: specifies the node in the assembly structure where the path ends.

Formal propositions:

UR1: The location shall be unique across all instances of Multi_level_reference_designator.

4.3.4 Next_assembly_usage   EXPRESS-GMapping table

A Next_assembly_usage is a type of Assembly_component_relationship. It establishes a relationship between a component and its immediate parent assembly in a product structure.

EXPRESS specification:

*)
ENTITY Next_assembly_usage
  SUBTYPE OF (Assembly_component_relationship);
END_ENTITY;
(*

4.3.5 Product_occurrence_definition_relationship   EXPRESS-GMapping table

A Product_occurrence_definition_relationship is an occurrence relationship between two instances of Product_view_definition.

EXPRESS specification:

*)
ENTITY Product_occurrence_definition_relationship
  ABSTRACT SUPERTYPE ;
  relating_view : product_view_definition_or_reference;
  related_view : product_view_definition_or_reference;
  shape_type : OPTIONAL contextual_shape_type_enumeration;
  primary_shape_representation : OPTIONAL shape_model;
  auxiliary_shape_representations : OPTIONAL SET[1:?] OF shape_model;
WHERE
  WR1: NOT (EXISTS(auxiliary_shape_representations)) OR EXISTS(primary_shape_representation);
END_ENTITY;
(*

Attribute definitions:

relating_view: one of the instances of Product_view_definition that is a part of the relationship.

related_view: the other instance of Product_view_definition that is part of the relationship. If one element of the relationship is dependent upon the other, this attribute shall be the dependent one.

shape_type: specified the kind of shape. The value of this attribute need not be specified.

primary_shape_representation: specifies the primary shape_model that represents the shape of the Product_occurrence_definition_relationship. The value of this attribute need not be specified.

auxiliary_shape_representations: specifies additional shape_models that represents the shape of the Product_occurrence_definition_relationship for auxiliary purposes. The value of this attribute need not be specified.

Formal propositions:

WR1: If auxiliary_shape_representations is provided then primary_shape_representation shall be provided.

4.3.6 Promissory_usage   EXPRESS-GMapping table

A Promissory_usage is a type of Assembly_component_relationship. It establishes a relationship between an assembly and a component, regardless of the number of intermediate levels between them, which may be established with instances of Next_assembly_usage.

NOTE    A Promissory_usage may be used when the product structure is not completely defined, to capture the intent that the constituent will be used in that assembly.

EXPRESS specification:

*)
ENTITY Promissory_usage
  SUBTYPE OF (Assembly_component_relationship);
END_ENTITY;
(*

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

The assembly_component_relationship_constraint constraint specifies a constraint that applies to instances of subtypes of Assembly_component_relationship. If the Assembly_component_relationship is used, it must be one of the subtypes Component_upper_level_identification, Next_assembly_usage, Promissory_usage.

EXPRESS specification:

*)
SUBTYPE_CONSTRAINT assembly_component_relationship_constraint FOR Assembly_component_relationship;
  ABSTRACT SUPERTYPE;
  TOTAL_OVER (Component_upper_level_identification,
              Multi_level_reference_designator,
              Next_assembly_usage,
              Promissory_usage);
END_SUBTYPE_CONSTRAINT;
(*



*)
END_SCHEMA;  -- Assembly_structure_arm
(*


© ISO 2019 — All rights reserved