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

7 Basic attribute schema

7.1 General

The subject of the basic_attribute_schema is the assignment of id, name, description and role attributes to aspects of product data. This schema defines the mechanism to define a value for these attributes and associate it with product data.

NOTE 1   The concepts defined in this schema do not provide a generic capability to associate an identification, a name, a description, or a role to product data. They are applied, in order to ensure upward compatibility, in the case where a requirement to add one or more of these kinds of attributes to a particular entity data type has been identified during the revision or amendment process of the standard document in which this entity data type is defined.

NOTE 2   The associated entities are defined in ISO 10303-41, ISO 10303-43 and ISO 10303-44.

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 basic_attribute_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 basic_attribute_schema;

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

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

support_resource_schema ISO 10303-41

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

7.2 Fundamental concepts and assumptions

The following concepts are supported by this schema:

The assignment of an identifier corresponds to the id_attribute entity data type. The entities to which an identifier may be assigned are specified in the id_attribute_select data type. These entities have a derived attribute id. The corresponding identifier value is provided by the get_id_value function. A constraint ensures that there is at most one instance of id_attribute assigned to an instance of an entity in the id_attribute_select type.

The assignment of a name corresponds to the name_attribute entity data type. The entities to which a name may be assigned are specified in the name_attribute_select data type. These entities have a derived attribute name. The corresponding label value is provided by the get_name_value function. A constraint ensures that there is at most one instance of name_attribute assigned to an instance of an entity in the name_attribute_select type.

The assignment of a descriptive text corresponds to the description_attribute entity data type. The entities to which a description may be assigned are specified in the description_attribute_select data type. These entities have a derived attribute description. The corresponding text value is provided by the get_description_value function. A constraint ensures that there is at most one instance of description_attribute assigned to an instance of an entity in the description_attribute_select type.

The assignment of a role corresponds to the role_association entity data type. The entities to which a role may be assigned are specified in the role_select data type. These entities have a derived attribute role. The corresponding object_role is provided by the get_role function. A constraint ensures that there is at most one instance of role_association assigned to an instance of an entity in the role_select type.

7.3 basic_attribute_schema type definitions

7.3.1 description_attribute_select   EXPRESS-G

The description_attribute_select type is an extensible list of alternate data types. It provides a mechanism to refer to instances of the data types included in the types that extend the description_attribute_select type.

NOTE  This empty extensible select requires extension in a schema that interfaces this schema to ensure that entities that refer to it have at least one valid instantiation.

A description_attribute_select specifies those objects that may be assigned a descriptive text.

EXPRESS specification:

*)
TYPE description_attribute_select = EXTENSIBLE GENERIC_ENTITY SELECT;
END_TYPE;
(*

7.3.2 generic_attribute_list_select   EXPRESS-G

The generic_attribute_list_select type is an extensible list of alternate data types. It provides a mechanism to refer to instances of the data types included in the types that extend the generic_attribute_list_select type.

NOTE  This empty extensible select requires extension in a schema that interfaces this schema to ensure that entities that refer to it have at least one valid instantiation.

A generic_attribute_list_select specifies those objects that may be assigned a generic attribute list.

EXPRESS specification:

*)
TYPE generic_attribute_list_select = EXTENSIBLE GENERIC_ENTITY SELECT;
END_TYPE;
(*

7.3.3 generic_attribute_select   EXPRESS-G

The generic_attribute_select type is an extensible list of alternate data types. It provides a mechanism to refer to instances of the data types included in the types that extend the generic_attribute_select type.

NOTE  This empty extensible select requires extension in a schema that interfaces this schema to ensure that entities that refer to it have at least one valid instantiation.

A generic_attribute_select specifies those objects that may be assigned a generic attribute.

EXPRESS specification:

*)
TYPE generic_attribute_select = EXTENSIBLE GENERIC_ENTITY SELECT;
END_TYPE;
(*

7.3.4 id_attribute_select   EXPRESS-G

The id_attribute_select type is an extensible list of alternate data types. It provides a mechanism to refer to instances of the data types included in the types that extend the id_attribute_select type.

NOTE  This empty extensible select requires extension in a schema that interfaces this schema to ensure that entities that refer to it have at least one valid instantiation.

An id_attribute_select specifies those objects that may be assigned an identifier.

EXPRESS specification:

*)
TYPE id_attribute_select = EXTENSIBLE GENERIC_ENTITY SELECT;
END_TYPE;
(*

7.3.5 name_attribute_select   EXPRESS-G

The name_attribute_select type is an extensible list of alternate data types. It provides a mechanism to refer to instances of the data types included in the types that extend the name_attribute_select type.

NOTE  This empty extensible select requires extension in a schema that interfaces this schema to ensure that entities that refer to it have at least one valid instantiation.

A name_attribute_select specifies those objects that may be assigned a name.

EXPRESS specification:

*)
TYPE name_attribute_select = EXTENSIBLE GENERIC_ENTITY SELECT;
END_TYPE;
(*

7.3.6 role_select   EXPRESS-G

The role_select type is an extensible list of alternate data types. It provides a mechanism to refer to instances of the data types included in the types that extend the role_select type.

NOTE  This empty extensible select requires extension in a schema that interfaces this schema to ensure that entities that refer to it have at least one valid instantiation.

A role_select specifies those objects that may be assigned a role.

EXPRESS specification:

*)
TYPE role_select = EXTENSIBLE GENERIC_ENTITY SELECT;
END_TYPE;
(*

7.4 basic_attribute_schema entity definitions

7.4.1 aggregate_id_attribute   EXPRESS-G

An aggregate_id_attribute is used for the case where there is more than one product data element for a specific identifier.

NOTE 1   This entity provides the capability to add an aggregate id attribute to product data using a method that is upwardly compatible with ISO 10303-41:1994 and ISO 10303-43:1994.

EXPRESS specification:

*)
ENTITY aggregate_id_attribute;
  attribute_value : identifier;
  identified_item : SET[1:?] OF id_attribute_select;
END_ENTITY;
(*

Attribute definitions:

attribute_value: the identifier that distinguishes the identified_item.

NOTE 2   The context in which attribute_value is used as a discriminating characteristic can be identified in an annotated Express schema that uses or specializes this entity, or be default, in an agreement of common understanding between partners sharing this information.

identified_item: the collection of items that are identified.

7.4.2 description_attribute   EXPRESS-G

A description_attribute is the assignment of a descriptive text string to product data.

NOTE    This entity provides the capability to add a description attribute to product data using a method that is upwardly compatible with ISO 10303-41:1994, ISO 10303-43:1994, and ISO 10303-44:1994.

EXPRESS specification:

*)
ENTITY description_attribute;
  attribute_value : text;
  described_item : description_attribute_select;
END_ENTITY;
(*

Attribute definitions:

attribute_value: the text that characterizes the described_item.

described_item: the item that is described.

7.4.3 generic_attribute   EXPRESS-G

A generic_attribute is the declaration of a named attribute as a text string to enable it to be associated with product data. This capability shall not be used to replace more specific assignment capabilities if both are available to a specified target.

NOTE    This entity provides the capability to define a generic attribute associated with product data using a method that is upwardly compatible with ISO 10303-41:1994, ISO 10303-43:1994, and ISO 10303-44:1994.

EXAMPLE    A person entity data type instance is included in both generic_attribute_select and name_attribute_select. The name attribute of person is provided for the name value.

EXPRESS specification:

*)
ENTITY generic_attribute;
  attribute_name : label;
  attribute_value : text;
END_ENTITY;
(*

Attribute definitions:

attribute_name: the label used to name the generic_attribute.

attribute_value: the text that characterizes the generic_attribute.

7.4.4 generic_attribute_assignment   EXPRESS-G

A generic_attribute_assignment is the assignment of a generic attribute to element of product data.

NOTE    This entity provides the capability to add a generic attribute to product data using a method that is upwardly compatible with ISO 10303-41:1994 and ISO 10303-43:1994.

EXPRESS specification:

*)
ENTITY generic_attribute_assignment;
  attribute : generic_attribute;
  item_with_attribute : generic_attribute_select;
END_ENTITY;
(*

Attribute definitions:

attribute: the generic_attribute to be associated with the product data.

item_with_attribute: the item to which the attribute is assigned.

7.4.5 generic_attribute_list_assignment   EXPRESS-G

A generic_attribute_list_assignment is the assignment of a named list of generic attributes to element of product data.

NOTE    This entity data type provides a capability to add a named list of generic attributes to certain product data entity data types using a method that is upwardly compatible with ISO 10303-41:1994, ISO 10303-43:1994, and ISO 10303-44:1994.

EXPRESS specification:

*)
ENTITY generic_attribute_list_assignment;
  attribute_name : label;
  attributes : LIST[1:?] OF generic_attribute;
  item_with_attribute : generic_attribute_list_select;
END_ENTITY;
(*

Attribute definitions:

attribute_name: the label used to name the list of generic attributes.

attributes: the list of generic_attributes that are assigned to the element of product data.

item_with_attribute: the item to which the attributes are assigned.

7.4.6 id_attribute   EXPRESS-G

An id_attribute is the assignment of an identifier to product data.

NOTE 1   This entity provides the capability to add an id attribute to product data using a method that is upwardly compatible with ISO 10303-41:1994 and ISO 10303-43:1994.

EXPRESS specification:

*)
ENTITY id_attribute;
  attribute_value : identifier;
  identified_item : id_attribute_select;
END_ENTITY;
(*

Attribute definitions:

attribute_value: the identifier that distinguishes the identified_item.

NOTE 2   The context in which attribute_value is used as a discriminating characteristic can be identified in an annotated Express schema that uses or specializes this entity, or be default, in an agreement of common understanding between partners sharing this information.

identified_item: the item that is identified.

7.4.7 name_attribute   EXPRESS-G

A name_attribute is the assignment of a label by which the product data is known.

NOTE    This entity provides the capability to add a name attribute to product data using a method that is upwardly compatible with ISO 10303-41:1994 and ISO 10303-44:1994.

EXPRESS specification:

*)
ENTITY name_attribute;
  attribute_value : label;
  named_item : name_attribute_select;
END_ENTITY;
(*

Attribute definitions:

attribute_value: the label by which the named_item is known.

named_item: the item to which the name is applied.

7.4.8 object_role   EXPRESS-G

An object_role is a specification of a role for the association of management type data with other aspects of product data and a description of that role.

NOTE    This entity provides the capability to add a role attribute to an association of management type data with other aspects of product data using a method that is upwardly compatible with ISO 10303-41:1994.

EXPRESS specification:

*)
ENTITY object_role;
  name : label;
  description : OPTIONAL text;
END_ENTITY;
(*

Attribute definitions:

name: the label by which the object_role is known.

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

7.4.9 role_association   EXPRESS-G

A role_association is the assignment of an object_role to an association of management type data with other aspects of product data.

NOTE    This entity data type provides a capability to add a role attribute to certain entity data types that specify associations between product data and administrative or management data. Such entity data types are specified in the management_resources_schema.

EXPRESS specification:

*)
ENTITY role_association;
  role : object_role;
  item_with_role : role_select;
END_ENTITY;
(*

Attribute definitions:

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

item_with_role: the item to which a role is assigned.

7.5 basic_attribute_schema function definitions

7.5.1 get_aggregate_id_value

The get_aggregate_id_value function accepts an object to which an identifier may be assigned and returns this identifier if present.

If an aggregate_id_attribute references the object, the function will return the value of the attribute_value attribute of this aggregate_id_attribute. Otherwise, the indeterminate value will be returned.

EXPRESS specification:

*)
FUNCTION get_aggregate_id_value (obj : id_attribute_select) : identifier;
LOCAL
      aggregate_id_bag : BAG OF aggregate_id_attribute := (USEDIN(obj, 'BASIC_ATTRIBUTE_SCHEMA.' + 'AGGREGATE_ID_ATTRIBUTE.' + 'IDENTIFIED_ITEM'));
    END_LOCAL;

    IF SIZEOF(aggregate_id_bag) = 1 THEN
      RETURN (aggregate_id_bag[1].attribute_value);
    ELSE
      RETURN (?);
    END_IF;
END_FUNCTION;
(*

Argument definitions:

obj: (input) the object for which an identifier is determined. This is an input to the function.

7.5.2 get_description_value

The get_description_value function accepts an object to which a descriptive text string may be assigned and returns this description if present.

If a description_attribute references the object, the function will return the value of the attribute_value attribute of this description_attribute. Otherwise, the indeterminate value will be returned.

EXPRESS specification:

*)
FUNCTION get_description_value (obj : description_attribute_select) : text;
LOCAL
      description_bag : BAG OF description_attribute := (USEDIN(obj, 'BASIC_ATTRIBUTE_SCHEMA.' + 'DESCRIPTION_ATTRIBUTE.' + 'DESCRIBED_ITEM'));
    END_LOCAL;

    IF SIZEOF(description_bag) = 1 THEN
      RETURN (description_bag[1].attribute_value);
    ELSE
      RETURN (?);
    END_IF;
END_FUNCTION;
(*

Argument definitions:

obj: (input) the object for which a text is determined. This is an input to the function.

7.5.3 get_id_value

The get_id_value function accepts an object to which an identifier may be assigned and returns this identifier if present.

If an id_attribute references the object, the function will return the value of the attribute_value attribute of this id_attribute. Otherwise, the indeterminate value will be returned.

EXPRESS specification:

*)
FUNCTION get_id_value (obj : id_attribute_select) : identifier;
LOCAL
      id_bag : BAG OF id_attribute := (USEDIN(obj, 'BASIC_ATTRIBUTE_SCHEMA.' + 'ID_ATTRIBUTE.' + 'IDENTIFIED_ITEM'));
    END_LOCAL;

    IF SIZEOF(id_bag) = 1 THEN
      RETURN (id_bag[1].attribute_value);
    ELSE
      RETURN (?);
    END_IF;
END_FUNCTION;
(*

Argument definitions:

obj: (input) the object for which an identifier is determined. This is an input to the function.

7.5.4 get_name_value

The get_name_value function accepts an object to which a label may be assigned and returns this label if present.

If a name_attribute references the object, the function will return the value of the attribute_value attribute of this name_attribute. Otherwise, the indeterminate value will be returned.

EXPRESS specification:

*)
FUNCTION get_name_value (obj : name_attribute_select) : label;
LOCAL
      name_bag : BAG OF name_attribute := (USEDIN(obj, 'BASIC_ATTRIBUTE_SCHEMA.' + 'NAME_ATTRIBUTE.' + 'NAMED_ITEM'));
    END_LOCAL;

    IF SIZEOF(name_bag) = 1 THEN
      RETURN (name_bag[1].attribute_value);
    ELSE
      RETURN (?);
    END_IF;
END_FUNCTION;
(*

Argument definitions:

obj: the object for which a label is determined. This is an input to the function.

7.5.5 get_role

The get_role function accepts an object to which a role may be assigned and returns this role if present.

If a role_association references the object, the function will return the object_role of the role attribute of this role_association. Otherwise, the indeterminate value will be returned.

EXPRESS specification:

*)
FUNCTION get_role (obj : role_select) : object_role;
LOCAL
      role_bag : BAG OF role_association := (USEDIN(obj, 'BASIC_ATTRIBUTE_SCHEMA.' + 'ROLE_ASSOCIATION.' + 'ITEM_WITH_ROLE'));
    END_LOCAL;

    IF SIZEOF(role_bag) = 1 THEN
      RETURN (role_bag[1].role);
    ELSE
      RETURN (?);
    END_IF;
END_FUNCTION;
(*

Argument definitions:

obj: (input) the object for which an object_role is determined. This is an input to the function.



*)
END_SCHEMA;  -- basic_attribute_schema
(*


© ISO 2021 — All rights reserved