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

6 Approval schema

6.1 General

The subject of the approval_schema is the description of authorization data. Approval information concerns the acceptance of product data.

EXAMPLE    One version of a product may be approved for manufacture whilst another may still be undergoing design.

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 approval_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 approval_schema;

REFERENCE FROM basic_attribute_schema    --  ISO 10303-41
  (description_attribute,
   description_attribute_select,
   get_description_value,
   get_role,
   object_role,
   role_association,
   role_select);

REFERENCE FROM date_time_schema    --  ISO 10303-41
  (date_time_select);

REFERENCE FROM person_organization_schema    --  ISO 10303-41
  (person_organization_select);

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

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

basic_attribute_schema ISO 10303-41
date_time_schema ISO 10303-41
person_organization_schema ISO 10303-41
support_resource_schema ISO 10303-41

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

6.2 Fundamental concepts and assumptions

Approval information can be attached to any aspect of product data.

6.3 approval_schema type definitions

6.3.1 apps_description_attribute_select   EXPRESS-G

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

EXPRESS specification:

*)
TYPE apps_description_attribute_select = SELECT BASED_ON description_attribute_select WITH
   (approval_role);
END_TYPE;
(*

6.3.2 apps_role_select   EXPRESS-G

The apps_role_select type is an extension of the role_select type. It adds the data type approval_date_time to the list of alternate data types.

EXPRESS specification:

*)
TYPE apps_role_select = SELECT BASED_ON role_select WITH
   (approval_date_time);
END_TYPE;
(*

6.4 approval_schema entity definitions

6.4.1 approval   EXPRESS-G

An approval is a confirmation of the product data for its intended use. An approval is an incompletely modeled concept and requires population of related entity data types to form a complete approval.

NOTE 1   The role of approval 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:

*)
ENTITY approval;
  status : approval_status;
  level : label;
END_ENTITY;
(*

Attribute definitions:

status: the type or level of approval in terms of its usage.

EXAMPLE    One possible status is 'released for production'; this explicitly identifies the approved usage. Another possible status is 'preliminary design completed'; this only implies the approved usage that will depend upon company-specific procedures.

level: the label that provides a user interpretable designation for the level of completion of the approval.

6.4.2 approval_date_time   EXPRESS-G

An approval_date_time is an association between an approval and a date, time, or date and time.

EXPRESS specification:

*)
ENTITY approval_date_time;
  date_time : date_time_select;
  dated_approval : approval;
DERIVE
  role : object_role := get_role(SELF);
WHERE
  WR1: SIZEOF(USEDIN(SELF, 'BASIC_ATTRIBUTE_SCHEMA.' + 'ROLE_ASSOCIATION.ITEM_WITH_ROLE')) <= 1;
END_ENTITY;
(*

Attribute definitions:

date_time: the moment when the dated_approval is given.

dated_approval: the approval with which the date or time is associated.

role: the object_role that specifies the purpose of the association of the approval_date_time with product data.

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

Formal propositions:

WR1: Each approval_date_time shall be the item_with_role in at most one role_association.

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

6.4.3 approval_person_organization   EXPRESS-G

An approval_person_organization is an association between an approval and a given person, organization or person in the context of an organization.

EXPRESS specification:

*)
ENTITY approval_person_organization;
  person_organization : person_organization_select;
  authorized_approval : approval;
  role : approval_role;
END_ENTITY;
(*

Attribute definitions:

person_organization: the person or organization playing the given role.

authorized_approval: the approval that is effected by the person or organization.

role: the approval_role that specifies the purpose of the association of the approval with a person or organization.

6.4.4 approval_relationship   EXPRESS-G

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

NOTE 1   The role of approval_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   This entity, together with the approval entity, is based on the relationship template that is described in annex E.3.

EXPRESS specification:

*)
ENTITY approval_relationship;
  name : label;
  description : OPTIONAL text;
  relating_approval : approval;
  related_approval : approval;
END_ENTITY;
(*

Attribute definitions:

name: the label by which the approval_relationship is known.

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

relating_approval: one of the instances of approval 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_approval: the other instance of approval 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.

6.4.5 approval_role   EXPRESS-G

An approval_role is a definition of a function. An approval_role is an incompletely modeled concept and requires population of related entity data types to form a complete confirmation.

EXPRESS specification:

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

Attribute definitions:

role: the label by which the approval_role is known.

NOTE 1   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.

description: the text that characterizes the approval_role.

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

Formal propositions:

WR1: Each approval_role 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.

6.4.6 approval_status   EXPRESS-G

An approval_status specifies the state of an approval.

EXAMPLE    'Approved' and 'disapproved' are examples of approval_status.

EXPRESS specification:

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

Attribute definitions:

name: the label by which the approval_status is known.

NOTE    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.

6.5 approval_schema function definitions

6.5.1 acyclic_approval_relationship

The acyclic_approval_relationship function determines whether the graph of instances of the entity data type approval that contains relation as one of its links contains a cycle. This function may be used to evaluate either a approval_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 approval_relationship entity include rules that use this function.

EXPRESS specification:

*)
FUNCTION acyclic_approval_relationship (relation : approval_relationship; relatives : SET[1:?] OF approval; specific_relation : STRING) : BOOLEAN;
LOCAL
      x : SET OF approval_relationship;
    END_LOCAL;

    IF relation.relating_approval IN relatives THEN
      RETURN (FALSE);
    END_IF;
    x := QUERY(app <* bag_to_set(USEDIN(relation.relating_approval, 'APPROVAL_SCHEMA.' + 'APPROVAL_RELATIONSHIP.' + 'RELATED_APPROVAL')) | specific_relation IN TYPEOF(app));
    REPEAT i := 1 TO HIINDEX(x);
      IF NOT acyclic_approval_relationship(x[i], relatives + relation.relating_approval, specific_relation) THEN
        RETURN (FALSE);
      END_IF;
    END_REPEAT;
    RETURN (TRUE);
END_FUNCTION;
(*

Argument definitions:

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

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

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



*)
END_SCHEMA;  -- approval_schema
(*


© ISO 2021 — All rights reserved