Integrated generic resource: Fundamentals of product description and support ISO 10303-41:2021(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 Action
   4.1 General
   4.2 Fundamental concepts and assumptions
   4.3 Action type definitions
   4.4 Action entity definitions
   4.5 Action function definitions
5 Application context
   5.1 General
   5.2 Fundamental concepts and assumptions
   5.3 Application context type definitions
   5.4 Application context entity definitions
6 Approval
   6.1 General
   6.2 Fundamental concepts and assumptions
   6.3 Approval type definitions
   6.4 Approval entity definitions
   6.5 Approval function definitions
7 Basic attribute
   7.1 General
   7.2 Fundamental concepts and assumptions
   7.3 Basic attribute type definitions
   7.4 Basic attribute entity definitions
   7.5 Basic attribute function definitions
8 Certification
   8.1 General
   8.2 Fundamental concepts and assumptions
   8.3 Certification entity definitions
9 Contract
   9.1 General
   9.2 Fundamental concepts and assumptions
   9.3 Contract entity definitions
   9.4 Contract function definitions
10 Date time
   10.1 General
   10.2 Fundamental concepts and assumptions
   10.3 Date time type definitions
   10.4 Date time entity definitions
   10.5 Date time function definitions

11 Document
   11.1 General
   11.2 Fundamental concepts and assumptions
   11.3 Document type definition
   11.4 Document entity definitions
   11.5 Document function definitions
12 Effectivity
   12.1 General
   12.2 Fundamental concepts and assumptions
   12.3 Effectivity type definitions
   12.4 Effectivity entity definitions
   12.5 Effectivity function definitions
13 Experience
   13.1 General
   13.2 Fundamental concepts and assumptions
   13.3 Experience entity definitions
   13.4 Experience function definitions
14 External reference
   14.1 General
   14.2 Fundamental concepts and assumptions
   14.3 External reference type definitions
   14.4 External reference entity definitions
   14.5 External reference function definitions
15 Group
   15.1 General
   15.2 Fundamental concepts and assumptions
   15.3 Group type definition
   15.4 Group entity definitions
   15.5 Group function definitions
16 Language
   16.1 General
   16.2 Fundamental concepts and assumptions
   16.3 Language entity definition
17 Location
   17.1 General
   17.2 Fundamental concepts and assumptions
   17.3 Location entity definitions
   17.4 Location function definitions
18 Management resources
   18.1 General
   18.2 Fundamental concepts and assumptions
   18.3 Management resources type definitions
   18.4 Management resources entity definitions
   18.5 Management resources function definitions

19 Measure
   19.1 General
   19.2 Fundamental concepts and assumptions
   19.3 Measure type definitions
   19.4 Measure entity definitions
   19.5 Measure function definitions
20 Person organization
   20.1 General
   20.2 Fundamental concepts and assumptions
   20.3 Person organization type definitions
   20.4 Person organization entity definitions
   20.5 Person organization function definitions
21 Product definition
   21.1 General
   21.2 Fundamental concepts and assumptions
   21.3 Product definition type definitions
   21.4 Product definition entity definitions
   21.5 Product definition function definitions
22 Product property definition
   22.1 General
   22.2 Fundamental concepts and assumptions
   22.3 Product property definition type definitions
   22.4 Product property definition entity definitions
   22.5 Product property definition function definitions
23 Product property representation
   23.1 General
   23.2 Fundamental concepts and assumptions
   23.3 Product property representation type definitions
   23.4 Product property representation entity definitions
   23.5 Product property representation function definitions
24 Qualifications
   24.1 General
   24.2 Fundamental concepts and assumptions
   24.3 Qualifications entity definitions
   24.4 Qualifications function definitions
25 Security classification
   25.1 General
   25.2 Fundamental concepts and assumptions
   25.3 Security classification entity definitions
26 Support resource
   26.1 General
   26.2 Fundamental concepts and assumptions
   26.3 Support resource type definitions
   26.4 Support resource function definitions
A Short names of entities
B Information object registration
C Computer interpretable listings
D EXPRESS-G diagrams
E Technical discussion
F Examples
G Change history
Bibliography
Index

14 External reference schema

14.1 General

The subject of the external_reference_schema is the means of identifying information that is not explicitly represented in a given exchange. This clause defines the information requirements to which implementations shall conform using the EXPRESS language as defined in ISO 10303-11. The following EXPRESS declaration begins the external_reference_schema and identifies the necessary external references.

Each implementation of an AP that uses this schema and that encodes entity names shall use the encoding specified in Annex A. Each reference to this schema in an open system shall use the identifier encoding specified in Annex B. This schema is illustrated in Annex D using the EXPRESS-G notation.

EXPRESS specification:

*)
SCHEMA external_reference_schema;

REFERENCE FROM basic_attribute_schema    --  ISO 10303-41
  (description_attribute,
   description_attribute_select,
   get_description_value);

REFERENCE FROM support_resource_schema    --  ISO 10303-41
  (label,
   text,
   identifier,
   bag_to_set);
(*

NOTE 1   The schemas referenced above are specified in the following parts:

basic_attribute_schema ISO 10303-41
support_resource_schema ISO 10303-41

NOTE 2   See Annex D for a graphical representation of this schema.

14.2 Fundamental concepts and assumptions

Product data may refer to information that is not explicitly represented in a given exchange. This information is either predefined, in the annotated EXPRESS schema to which the exchange conforms, or is defined elsewhere. If the information is defined in the annotated EXPRESS schema to which the exchange conforms, this requirement is satisfied by a reference that identifies the entity data type definitions in the annotated EXPRESS schema. Otherwise, this requirement is satisfied by a reference that identifies the record type definitions and exchange format.

14.3 external_reference_schema type definitions

14.3.1 ers_description_attribute_select   EXPRESS-G

The ers_description_attribute_select type is an extension of the description_attribute_select type. It adds the data type external_source to the list of alternate data types.

EXPRESS specification:

*)
TYPE ers_description_attribute_select = SELECT BASED_ON description_attribute_select WITH
   (external_source);
END_TYPE;
(*

14.3.2 message   EXPRESS-G

A message is a communication that is addressed to a system in order to trigger some action. The result of such an action is an external item or identification.

NOTE    The role of message can be defined in the annotated EXPRESS schemas that use or specialize this entity, or by default, in an agreement of common understanding between the partners sharing this information.

EXPRESS specification:

*)
TYPE message = STRING;
END_TYPE;
(*

14.3.3 source_item   EXPRESS-G

The source_item type is a list of alternate data types. It provides a mechanism to refer to an instance of one of these data types. A source_item type allows for the designation of an identifier or a message.

EXPRESS specification:

*)
TYPE source_item = SELECT
   (identifier,
    message);
END_TYPE;
(*

14.4 external_reference_schema entity definitions

14.4.1 external_source   EXPRESS-G

An external_source is the identification of a source of product data that is not the EXPRESS schema to which the exchange conforms.

NOTE 1   The product data may conform to some other part of this International Standard.

EXPRESS specification:

*)
ENTITY external_source;
  source_id : source_item;
DERIVE
  description : text := get_description_value(SELF);
WHERE
  WR1: SIZEOF(USEDIN(SELF, 'BASIC_ATTRIBUTE_SCHEMA.' + 'DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1;
END_ENTITY;
(*

Attribute definitions:

source_id: the identification of the external_source.

description: the text that characterizes the external_source.

NOTE 2   This attribute is an upwardly compatible addition to external_source as specified in ISO 10303-41:1994.

Formal propositions:

WR1: Each external_source shall be the described_item in at most one description_attribute.

NOTE 3   The description_attribute data type is defined in basic_attribute_schema of this part of ISO 10303.

NOTE 4   A template for constraining the population of the entity data types defined in the basic_attribute_schema is described in annex E.

14.4.2 external_source_relationship   EXPRESS-G

An external_source_relationship is a relationship between two instances of the entity data type external_source with a description of their relationship.

NOTE 1   The role of external_source_relationship can be defined in the annotated EXPRESS schemas that use or specialize this entity, or by default, in an agreement of common understanding between the partners sharing this information.

EXAMPLE    One external_source may be a subset of another external_source. This entity may be specialized to specify such a relationship.

NOTE 2   This entity, together with the external_source entity, is based on the relationship template that is described in annex E.3

EXPRESS specification:

*)
ENTITY external_source_relationship;
  name : label;
  description : OPTIONAL text;
  relating_source : external_source;
  related_source : external_source;
END_ENTITY;
(*

Attribute definitions:

name: the label by which the external_source_relationship is known.

description: the text that characterizes the external_source_relationship. The value of the attribute need not be specified.

relating_source: one of the instances of external_source that is a part of the relationship.

NOTE 3   The meaning of this attribute can be defined in the annotated EXPRESS schemas that use or specialize this entity, or in an agreement of common understanding between the partners sharing this information.

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

NOTE 4   The meaning of this attribute can be defined in the annotated EXPRESS schemas that use or specialize this entity, or in an agreement of common understanding between the partners sharing this information.

14.4.3 externally_defined_item   EXPRESS-G

An externally_defined_item is the identification of information that is not explicitly represented in a given exchange and that is not defined in the annotated EXPRESS schema to which the exchange conforms.

EXPRESS specification:

*)
ENTITY externally_defined_item;
  item_id : source_item;
  source : external_source;
END_ENTITY;
(*

Attribute definitions:

item_id: the string that specifies the identification of the referent item.

source: an external_source that contains the referent item.

14.4.4 externally_defined_item_relationship   EXPRESS-G

An externally_defined_item_relationship is a relationship between two instances of the entity data type externally_defined_item with an identification and description of their relationship.

NOTE 1   The role of externally_defined_item_relationship can be defined in the annotated EXPRESS schemas that use or specialize this entity, or by default, in an agreement of common understanding between the partners sharing this information.

NOTE 2   Relationships represented using this entity may be parent child relationship. Annotated EXPRESS schemas that use or specialize this entity specify whether or not the relationship is directed.

NOTE 3   This entity, together with the externally_defined_item entity, is based on the relationship template that is described in annex E.3.

EXPRESS specification:

*)
ENTITY externally_defined_item_relationship;
  name : label;
  description : OPTIONAL text;
  relating_item : externally_defined_item;
  related_item : externally_defined_item;
END_ENTITY;
(*

Attribute definitions:

name: the label by which the externally_defined_item_relationship is known.

description: the text that characterizes the externally_defined_item_relationship. The value of the attribute need not be specified.

relating_item: one of the instance of externally_defined_item that is a part of the relationship.

NOTE 4   The meaning of this attribute can be defined in the annotated EXPRESS schemas that use or specialize this entity, or in an agreement of common understanding between the partners sharing this information.

related_item: the other instance of externally_defined_item that is a part of the relationship. If one element of the relationship is dependent up on the other, this attribute shall be the dependent one.

NOTE 5   The meaning of this attribute can be defined in the annotated EXPRESS schemas that use or specialize this entity, or in an agreement of common understanding between the partners sharing this information.

14.4.5 externally_defined_item_with_multiple_references   EXPRESS-G

An externally_defined_item_with_multiple_references is a type of externally_defined_item that allows to define additional references providing information on the context and location of the target item within the source.

EXPRESS specification:

*)
ENTITY externally_defined_item_with_multiple_references
  SUBTYPE OF (externally_defined_item);
  references : LIST[1:?] OF UNIQUE source_item;
UNIQUE
  UR1: references;
WHERE
  WR1: NOT(SELF\externally_defined_item.item_id IN references);
END_ENTITY;
(*

Attribute definitions:

references: a list of source_items defining a path to the target item_id.

Formal propositions:

UR1: The list of references shall be unique.

WR1: An externally_defined_item_with_multiple_references is a type of item_id that adds a list of references to provide an unambiguous path in the external data. The item_id inherited from the externally_defined_item is the target for the reference list, but is excluded from the list itself. The list ends at a entity data type that explicitly references the target or that is explicitly referenced by the target.

14.4.6 pre_defined_item   EXPRESS-G

A pre_defined_item is the identification of information that is not explicitly represented in a given exchange but that is defined in the annotated EXPRESS schema to which the exchange conforms.

EXAMPLE    A reference to the colour 'red' without any definition of the associated red-green-blue values would be a pre_defined_item if the red-green-blue values of the colour 'red' were specified in the relevant annotated EXPRESS schema.

EXPRESS specification:

*)
ENTITY pre_defined_item;
  name : label;
END_ENTITY;
(*

Attribute definitions:

name: the label by which the pre_defined_item is known.

14.5 external_reference_schema function definitions

14.5.1 acyclic_external_source_relationship

The acyclic_external_source_relationship function determines whether the graph of instances of the entity data type external_source that contains relation as one of its links contains a cycle. This function may be used to evaluate either an external_source_relationship or any of its subtypes.

The function returns TRUE if no cycle has been detected. Otherwise it returns FALSE.

NOTE 1   The algorithm of the function is explained in annex E.2.

NOTE 2   This function is not used in this schema. It is defined here because other ISO 10303 integrated resources and application protocols that use the external_source_relationship entity include rules that use this function.

EXPRESS specification:

*)
FUNCTION acyclic_external_source_relationship (relation : external_source_relationship; relatives : SET[1:?] OF external_source; specific_relation : STRING) : BOOLEAN;
LOCAL
      x : SET OF external_source_relationship;
    END_LOCAL;

    IF relation.relating_source IN relatives THEN
      RETURN (FALSE);
    END_IF;
    x := QUERY(es <* bag_to_set(USEDIN(relation.relating_source, 'EXTERNAL_REFERENCE_SCHEMA.' + 'EXTERNAL_SOURCE_RELATIONSHIP.' + 'RELATED_SOURCE')) | specific_relation IN TYPEOF(es));
    REPEAT i := 1 TO HIINDEX(x);
      IF NOT acyclic_external_source_relationship(x[i], relatives + relation.relating_source, specific_relation) THEN
        RETURN (FALSE);
      END_IF;
    END_REPEAT;
    RETURN (TRUE);
END_FUNCTION;
(*

Argument definitions:

relation: (input) the candidate external_source_relationship to be checked.

relatives: (input) the set of instances of the entity data type external_source for which the function is searching in the relating_source parameter of the relation argument.

specific_relation: (input) the fully qualified name of a subtype of the external_source_relationship entity.

14.5.2 acyclic_externally_defined_item_relationship

The acyclic_externally_defined_item_relationship function determines whether the graph of instances of the entity data type externally_defined_item that contains relation as one of its links contains a cycle. This function may be used to evaluate either an externally_defined_item_relationship or any of its subtypes.

The function returns TRUE if no cycle has been detected. Otherwise it returns FALSE.

NOTE 1   The algorithm of the function is explained in annex E.2.

NOTE 2   This function is not used in this schema. It is defined here because other ISO 10303 integrated resources and application protocols that use the externally_defined_item_relationship entity include rules that use this function.

EXPRESS specification:

*)
FUNCTION acyclic_externally_defined_item_relationship (relation : externally_defined_item_relationship; relatives : SET[1:?] OF externally_defined_item; specific_relation : STRING) : BOOLEAN;
LOCAL
      x : SET OF externally_defined_item_relationship;
    END_LOCAL;

    IF relation.relating_item IN relatives THEN
      RETURN (FALSE);
    END_IF;
    x := QUERY(edi <* bag_to_set(USEDIN(relation.relating_item, 'EXTERNAL_REFERENCE_SCHEMA.' + 'EXTERNALLY_DEFINED_ITEM_RELATIONSHIP.' + 'RELATED_ITEM')) | specific_relation IN TYPEOF(edi));
    REPEAT i := 1 TO HIINDEX(x);
      IF NOT acyclic_externally_defined_item_relationship(x[i], relatives + relation.relating_item, specific_relation) THEN
        RETURN (FALSE);
      END_IF;
    END_REPEAT;
    RETURN (TRUE);
END_FUNCTION;
(*

Argument definitions:

relation: (input) the candidate externally_defined_item_relationship to be checked.

relatives: (input) the set of instances of the entity data type externally_defined_item for which the function is searching in the relating_item parameter of the relation argument.

specific_relation: (input) the fully qualified entity name of a type of externally_defined_item_relationship entity.



*)
END_SCHEMA;  -- external_reference_schema
(*


© ISO 2021 — All rights reserved