AP scope  |  AP module  |  AP contents  |  AP index
Application module: Assembly structure ISO/TS 10303-1026:2004(E)
© ISO

Cover page
Table of contents
Copyright
Foreword
Introduction
1 Scope
2 Normative references
3 Terms, definitions and abbreviations

4 Information requirements
   4.1 Required AM ARMs
   4.2 ARM entity definitions
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
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.

The following EXPRESS specification 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_relationship_arm;    --  ISO/TS 10303-1041

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_relationship_arm ISO/TS 10303-1041
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 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.2.1 Assembly_component_relationship   EXPRESS-GMapping table

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

The relationship is established between two instances of Product_view_definition.

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.

NOTE 3   An Assembly_component_relationship identifies an item in a parts list. Should the quantity be zero, the component would still be listed in the parts list.

In case the component is a part, the following additional specifications apply:

In case the component is a non-countable material, the following additional specifications apply:

EXAMPLE    An assembly may require inclusion of ten grams of grease.

NOTE 4   This version of the Assembly structure module does not enable to represent the fact that the quantity of a fluid component is, for example 'at most 10 grams' or 'between 5 or 20 grams'. However, some ISO 10303 application protocols, for example ISO 10303-214, provide a representation for those requirements.

An Assembly_component_relationship shall be either a Next_assembly_usage, a or a Component_upper_level_identification.

EXPRESS specification:

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

Attribute definitions:

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.

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.

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.2.2 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.2.3 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.2.4 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\View_definition_relationship.relating_view :=: upper_assembly_relationship\View_definition_relationship.relating_view;
  WR3: SELF\View_definition_relationship.related_view :=: sub_assembly_relationship\View_definition_relationship.related_view;
  WR4: (upper_assembly_relationship\View_definition_relationship.related_view :=: sub_assembly_relationship\View_definition_relationship.relating_view) OR (SIZEOF (QUERY (pdr <* USEDIN (upper_assembly_relationship\View_definition_relationship.related_view , 'PRODUCT_VIEW_DEFINITION_RELATIONSHIP_ARM.VIEW_DEFINITION_RELATIONSHIP.RELATED_VIEW') | pdr.relating_view :=: sub_assembly_relationship\View_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.

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.



*)
END_SCHEMA;  -- Assembly_structure_arm
(*


© ISO 2004 — All rights reserved