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

18 Management resources schema

18.1 General

The subject of the management_resources_schema is the association of management data with other aspects of product data in specific application contexts. 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 management_resources_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 management_resources_schema;

REFERENCE FROM action_schema;    --  ISO 10303-41

REFERENCE FROM application_context_schema    --  ISO 10303-41
  (library_context);

REFERENCE FROM approval_schema;    --  ISO 10303-41

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

REFERENCE FROM certification_schema;    --  ISO 10303-41

REFERENCE FROM contract_schema;    --  ISO 10303-41

REFERENCE FROM date_time_schema;    --  ISO 10303-41

REFERENCE FROM document_schema;    --  ISO 10303-41

REFERENCE FROM effectivity_schema;    --  ISO 10303-41

REFERENCE FROM experience_schema;    --  ISO 10303-41

REFERENCE FROM external_reference_schema    --  ISO 10303-41
  (external_source);

REFERENCE FROM group_schema;    --  ISO 10303-41

REFERENCE FROM location_schema;    --  ISO 10303-41

REFERENCE FROM person_organization_schema;    --  ISO 10303-41

REFERENCE FROM qualifications_schema;    --  ISO 10303-41

REFERENCE FROM security_classification_schema;    --  ISO 10303-41

REFERENCE FROM support_resource_schema;    --  ISO 10303-41
(*

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

action_schema ISO 10303-41
application_context_schema ISO 10303-41
approval_schema ISO 10303-41
basic_attribute_schema ISO 10303-41
certification_schema ISO 10303-41
contract_schema ISO 10303-41
date_time_schema ISO 10303-41
document_schema ISO 10303-41
effectivity_schema ISO 10303-41
experience_schema ISO 10303-41
external_reference_schema ISO 10303-41
group_schema ISO 10303-41
location_schema ISO 10303-41
person_organization_schema ISO 10303-41
qualifications_schema ISO 10303-41
security_classification_schema ISO 10303-41
support_resource_schema ISO 10303-41

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

18.2 Fundamental concepts and assumptions

The relationship between management type data and other aspects of product data is application-specific. Management data may be assigned to various kinds of product data. The assignment of management data can be defined in a generic manner and then specialized according to each considered application context.

NOTE    In the following definitions, the expression "assigned product data" means "the product data that are referenced by subtypes of the generic abstract supertypes of this schema". Use of these generic constructs is defined in annex E.5.

18.3 management_resources_schema type definitions

18.3.1 mrs_role_select   EXPRESS-G

The mrs_role_select type is an extension of the role_select type. It adds the data types action_assignment, action_request_assignment, approval_assignment, certification_assignment, contract_assignment, document_reference, effectivity_assignment, external_referent_assignment, group_assignment, name_assignment and security_classification_assignment to the list of alternate data types.

EXPRESS specification:

*)
TYPE mrs_role_select = SELECT BASED_ON role_select WITH
   (action_assignment,
    action_request_assignment,
    approval_assignment,
    certification_assignment,
    contract_assignment,
    document_reference,
    effectivity_assignment,
    external_referent_assignment,
    group_assignment,
    name_assignment,
    security_classification_assignment);
END_TYPE;
(*

18.3.2 assignment_object_select   EXPRESS-G

The assignment_object_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 assignment_object_select type or in its extensions.

NOTE  The list of entity data types will be extended in application resources that use the constructs of this resource.

EXPRESS specification:

*)
TYPE assignment_object_select = EXTENSIBLE SELECT;
END_TYPE;
(*

18.3.3 attribute_type   EXPRESS-G

The attribute_type type is a list of alternate data types. It provides a mechanism to refer to an instance of one of these data types. The attribute_type data type allows for the designation of a label or a text that can be assigned to an attribute of an entity.

EXPRESS specification:

*)
TYPE attribute_type = SELECT
   (label,
    text);
END_TYPE;
(*

18.4 management_resources_schema entity definitions

18.4.1 action_assignment   EXPRESS-G

An action_assignment is an association of an action with product data.

EXPRESS specification:

*)
ENTITY action_assignment
  ABSTRACT SUPERTYPE ;
  assigned_action : action;
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:

assigned_action: the instance of the action entity data type that is to be associated with product data.

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

NOTE 1   This attribute is an enhancement to the definition of action_assignment using a method that is upwardly compatible with ISO 10303-41:1994.

Formal propositions:

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

18.4.2 action_method_assignment   EXPRESS-G

An action_method_assignment is an association of an action_method with product data.

EXPRESS specification:

*)
ENTITY action_method_assignment
  ABSTRACT SUPERTYPE ;
  assigned_action_method : action_method;
  role : action_method_role;
END_ENTITY;
(*

Attribute definitions:

assigned_action_method: the instance of the action_method entity data type that is to be associated with the product data.

role: the action_method_role that specifies the purpose of the association of the action_method_assignment with product data.

NOTE    The values related to this attribute can be specified in an annotated EXPRESS schema that uses or specializes this entity, or in an agreement of common understanding between the partners sharing this information.

18.4.3 action_method_role   EXPRESS-G

An action_method_role is a definition of a role for an action_method and a description of that role.

EXAMPLE    'Process XYZ' is an action_method. An action_method_assignment assigns the action_method to the definition of a specific mechanical part.

The action_method_role for the action_method_assignment is 'Process to mill mechanical part'.

EXPRESS specification:

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

Attribute definitions:

name: the label by which the action_method_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.

NOTE 2   The entity data type action_method_assignment implements the association of the role with a specific action_method.

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

18.4.4 action_request_assignment   EXPRESS-G

An action_request_assignment is an association of a versioned_action_request with product data.

EXPRESS specification:

*)
ENTITY action_request_assignment
  ABSTRACT SUPERTYPE ;
  assigned_action_request : versioned_action_request;
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:

assigned_action_request: the instance of the versioned_action_request entity data type that is to be associated with product data.

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

NOTE 1   This attribute is an enhancement to the definition of action_request_assignment using a method that is upwardly compatible with ISO 10303-41:1994.

NOTE 2   The values related to this attribute can be specified in an annotated EXPRESS schema that uses or specializes this entity, or in an agreement of common understanding between the partners sharing this information.

Formal propositions:

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

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

18.4.5 approval_assignment   EXPRESS-G

An approval_assignment is an association of an approval with product data.

EXPRESS specification:

*)
ENTITY approval_assignment
  ABSTRACT SUPERTYPE ;
  assigned_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:

assigned_approval: the instance of the approval entity data type that is to be associated with product data.

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

NOTE 1   This attribute is an enhancement to the definition of approval_assignment using a method that is upwardly compatible with ISO 10303-41:1994.

NOTE 2   The values related to this attribute can be specified in an annotated EXPRESS schema that uses or specializes this entity, or in an agreement of common understanding between the partners sharing this information.

Formal propositions:

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

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

18.4.6 assignment_object_relationship   EXPRESS-G

An assignment_object_relationship is a relationship between two objects of the assignment_object_select list representing the same object in different organizational contexts.

EXPRESS specification:

*)
ENTITY assignment_object_relationship;
  id : OPTIONAL identifier;
  description : OPTIONAL text;
  relating : assignment_object_select;
  related : assignment_object_select;
  relation_type : STRING;
WHERE
  WR1: acyclic_assignment_object_relationship(SELF, [related], 'MANAGEMENT_RESOURCES_SCHEMA.ASSIGNMENT_OBJECT_RELATIONSHIP');
END_ENTITY;
(*

Attribute definitions:

id: the identifier or set of identifiers for the assignment_object_relationship.

description: the text or the set of texts that provide further information about the assignment_object_relationship. The value of this attribute need not be specified.

relating: one object of assignment_object_select that is part of the relationship.

related: the other object of assignment_object_select that is part of the relationship.

relation_type: the meaning of the relationship.

Formal propositions:

WR1: An assignment_object_relationship shall not participate in its own definition.

18.4.7 attribute_classification_assignment   EXPRESS-G

An attribute_classification_assignment is an association of a class to an attribute of an existing entity in order to characterize it further. The meaning of the class of the existing attribute is determined by the role.

EXPRESS specification:

*)
ENTITY attribute_classification_assignment
  ABSTRACT SUPERTYPE ;
  assigned_class : group;
  attribute_name : label;
  role : classification_role;
END_ENTITY;
(*

Attribute definitions:

assigned_class: the group that serves as a classification.

attribute_name: the attribute for which the classification is defined. The attribute_name shall identify an attribute of the assigned entity.

role: the classification_role that specifies the purpose of the association of the attribute_classification_assignment with product data.

NOTE    The values related to this attribute can be specified in an annotated EXPRESS schema that uses or specializes this entity, or in an agreement of common understanding between the partners sharing this information.

18.4.8 attribute_value_assignment   EXPRESS-G

An attribute_value_assignment is an extendion of the cardinality of a string valued attribute in an entity data type by one. The relationship of the extension to the existing attribute is determined by the role. The entity data types that have the attribute for which the extension is provided are identified by a specialization of attribute_value_assignment.

EXPRESS specification:

*)
ENTITY attribute_value_assignment
  ABSTRACT SUPERTYPE ;
  attribute_name : label;
  attribute_value : attribute_type;
  role : attribute_value_role;
END_ENTITY;
(*

Attribute definitions:

attribute_name: the attribute for which the additional value is defined. The attribute_name shall identify an attribute of the assigned entity.

NOTE 1   The identified attribute may be defined in the entity or inherited from a supertype.

EXAMPLE    'name' and 'description' are examples for the attribute_name.

attribute_value: the attribute_type that contains, as label, the additional value for the attribute of the assigned entity specified by attribute_name.

role: the attribute_value_role that specifies the purpose of the association of the attribute_value_assignment with product data.

NOTE 2   The values related to this attribute can be specified in an annotated EXPRESS schema that uses or specializes this entity, or in an agreement of common understanding between the partners sharing this information.

18.4.9 attribute_value_role   EXPRESS-G

An attribute_value_role is a description of the purpose of an additional value assigned to an attribute of an entity.

EXPRESS specification:

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

Attribute definitions:

name: the label by which the attribute_value_role is known.

EXAMPLE    'Additional marketing name', 'primary value', or 'translated' are examples for name.

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

18.4.10 certification_assignment   EXPRESS-G

A certification_assignment is an association of a certification with product data.

EXPRESS specification:

*)
ENTITY certification_assignment
  ABSTRACT SUPERTYPE ;
  assigned_certification : certification;
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:

assigned_certification: the instance of the certification entity data type that is to be associated with product data.

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

NOTE 1   This attribute is an enhancement to the definition of certification_assignment using a method that is upwardly compatible with ISO 10303-41:1994.

Formal propositions:

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

18.4.11 classification_assignment   EXPRESS-G

A classification_assignment is an association of a class to product data.

EXPRESS specification:

*)
ENTITY classification_assignment
  ABSTRACT SUPERTYPE ;
  assigned_class : group;
  role : classification_role;
END_ENTITY;
(*

Attribute definitions:

assigned_class: the group that serves as a class.

role: the classification_role that specifies the purpose of the association of the classification_assignment with product data.

NOTE    The values related to this attribute can be specified in an annotated EXPRESS schema that uses or specializes this entity, or in an agreement of common understanding between the partners sharing this information.

18.4.12 classification_assignment_relationship   EXPRESS-G

A classification_assignment_relationship is a relationship between two classification_assignment objects.

EXPRESS specification:

*)
ENTITY classification_assignment_relationship;
  id : OPTIONAL identifier;
  description : OPTIONAL text;
  relating : classification_assignment;
  related : classification_assignment;
  relation_type : STRING;
WHERE
  WR1: acyclic_classification_assignment_relationship(SELF, [related], 'MANAGEMENT_RESOURCES_SCHEMA.CLASSIFICATION_ASSIGNMENT_RELATIONSHIP');
END_ENTITY;
(*

Attribute definitions:

id: the identifier or set of identifiers for the classification_assignment_relationship.

description: the text or the set of texts that provide further information about the classification_assignment_relationship. The value of this attribute need not be specified.

relating: one object of classification_assignment that is part of the relationship.

related: the other object of classification_assignment that is part of the relationship.

relation_type: the meaning of the relationship.

Formal propositions:

WR1: A classification_assignment_relationship shall not participate in its own definition.

18.4.13 classification_role   EXPRESS-G

A classification_role is a specified purpose for including product data in an exchange and a description of that purpose.

EXPRESS specification:

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

Attribute definitions:

name: the label by which the classification_role is known.

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

18.4.14 contract_assignment   EXPRESS-G

A contract_assignment is an association of a contract with product data.

EXPRESS specification:

*)
ENTITY contract_assignment
  ABSTRACT SUPERTYPE ;
  assigned_contract : contract;
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:

assigned_contract: the instance of the contract entity data type that is to be associated with product data.

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

NOTE 1   This attribute is an enhancement to the definition of contract_assignment using a method that is upwardly compatible with ISO 10303-41:1994.

NOTE 2   The values related to this attribute can be specified in an annotated EXPRESS schema that uses or specializes this entity, or in an agreement of common understanding between the partners sharing this information.

Formal propositions:

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

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

18.4.15 date_and_time_assignment   EXPRESS-G

A date_and_time_assignment is an association of a date_and_time with product data.

EXPRESS specification:

*)
ENTITY date_and_time_assignment
  ABSTRACT SUPERTYPE ;
  assigned_date_and_time : date_and_time;
  role : date_time_role;
END_ENTITY;
(*

Attribute definitions:

assigned_date_and_time: the instance of the date_and_time entity data type that is to be associated with the product data.

role: the date_time_role that specifies the purpose of the association of the date_and_time_assignment with product data.

NOTE    The values related to this attribute can be specified in an annotated EXPRESS schema that uses or specializes this entity, or in an agreement of common understanding between the partners sharing this information.

EXAMPLE    'Completed on' is an example of role that may be used to characterize the fact that the assigned_date_and_time defines the date and time of that day when some action completed.

18.4.16 date_assignment   EXPRESS-G

A date_assignment is an association of a date with product data.

EXPRESS specification:

*)
ENTITY date_assignment
  ABSTRACT SUPERTYPE ;
  assigned_date : date;
  role : date_role;
END_ENTITY;
(*

Attribute definitions:

assigned_date: the date that is to be associated with the product data.

role: the date_role that specifies the purpose of the association of the date_assignment with product data.

NOTE    The values related to this attribute can be specified in an annotated EXPRESS schema that uses or specializes this entity, or in an agreement of common understanding between the partners sharing this information.

EXAMPLE    'Creation date' is an example of role that may be used to characterize the fact that the assigned product data has been created on the assigned_date.

18.4.17 document_reference   EXPRESS-G

A document_reference is an association of a document with product data.

EXPRESS specification:

*)
ENTITY document_reference
  ABSTRACT SUPERTYPE ;
  assigned_document : document;
  source : label;
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:

assigned_document: the instance of the document entity data type that is to be associated with product data.

source: the label stating the origination of the assigned_document.

EXAMPLE    'Engineering' and 'library' are examples of sources.

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

NOTE 1   This attribute is an enhancement to the definition of document_reference using a method that is upwardly compatible with ISO 10303-41:1994.

NOTE 2   The values related to this attribute can be specified in an annotated EXPRESS schema that uses or specializes this entity, or in an agreement of common understanding between the partners sharing this information.

Formal propositions:

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

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

18.4.18 document_usage_constraint_assignment   EXPRESS-G

A document_usage_constraint_assignment is an association of a document_usage_constraint with product data.

EXPRESS specification:

*)
ENTITY document_usage_constraint_assignment
  ABSTRACT SUPERTYPE ;
  assigned_document_usage : document_usage_constraint;
  role : document_usage_role;
END_ENTITY;
(*

Attribute definitions:

assigned_document_usage: the instance of the document_usage_constraint entity data type that is associated with the product data.

role: the document_usage_role that specifies the purpose of the association of the document_usage_constraint_assignment with product data.

NOTE 1   The values related to this attribute can be specified in an annotated EXPRESS schema that uses or specializes this entity, or in an agreement of common understanding between the partners sharing this information.

NOTE 2   Multiple constraints can be expressed by multiple instances of (a subtype of) document_usage_constraint. Such multiple instances can refer to the same instance of document_usage_role or to different instances.

18.4.19 document_usage_role   EXPRESS-G

A document_usage_role is a specified purpose for including product data in an exchange and a description of that purpose.

EXPRESS specification:

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

Attribute definitions:

name: the label by which the document_usage_role 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.

EXAMPLE    Examples of document_usage_role.name are 'applying process constraint' and 'applying material constraint'.

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

18.4.20 effectivity_assignment   EXPRESS-G

An effectivity_assignment is an association of an effectivity with product data.

EXPRESS specification:

*)
ENTITY effectivity_assignment
  ABSTRACT SUPERTYPE ;
  assigned_effectivity : effectivity;
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:

assigned_effectivity: the instance of the effectivity entity data type that is to be associated with product data.

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

NOTE 1   This attribute is an enhancement to the definition of effectivity_assignment using a method that is upwardly compatible with ISO 10303-41:1994.

Formal propositions:

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

18.4.21 effectivity_context_assignment   EXPRESS-G

An effectivity_context_assignment is an assignment of a purpose to an effectivity_assignment.

EXPRESS specification:

*)
ENTITY effectivity_context_assignment
  ABSTRACT SUPERTYPE ;
  assigned_effectivity_assignment : effectivity_assignment;
  role : effectivity_context_role;
END_ENTITY;
(*

Attribute definitions:

assigned_effectivity_assignment: the instance of the effectivity_assignment entity data type that is to be associated with the product data.

role: the effectivity_context_role that specifies the purpose of the association of the effectivity_context_assignment with product data.

18.4.22 effectivity_context_role   EXPRESS-G

An effectivity_context_role is a specified purpose and the product data that is the context for an effectivity_context_assignment and a description of that purpose.

EXPRESS specification:

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

Attribute definitions:

name: the label by which the effectivity_context_role 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.

EXAMPLE    'Manufacturing location' is an example of the name of an effectivity_context_role that may be used to characterize the fact that if effectivity is assigned to product data in the context of a particular plant, this plant plays the role of a manufacturing location.

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

18.4.23 event_occurrence_assignment   EXPRESS-G

An event_occurrence_assignment is an association of an event_occurrence with product data.

EXPRESS specification:

*)
ENTITY event_occurrence_assignment
  ABSTRACT SUPERTYPE ;
  assigned_event_occurrence : event_occurrence;
  role : event_occurrence_role;
END_ENTITY;
(*

Attribute definitions:

assigned_event_occurrence: the instance of the event_occurrence entity data type that is to be associated with product data.

role: the event_occurrence_role that specifies the purpose of the association of the event_occurrence_assignment with product data.

18.4.24 event_occurrence_context_assignment   EXPRESS-G

An event_occurrence_context_assignment is an identification of a context for the association of an event_occurrence_assignment with product data.

EXAMPLE    For the event_occurrence 'start of production', the product for which production starts is the context for that event_occurrence.

EXPRESS specification:

*)
ENTITY event_occurrence_context_assignment
  ABSTRACT SUPERTYPE ;
  assigned_event_occurrence_assignment : event_occurrence_assignment;
  role : event_occurrence_context_role;
END_ENTITY;
(*

Attribute definitions:

assigned_event_occurrence_assignment: the instance of the event_occurrence_assignment entity data type that is to be associated with product data.

role: the event_occurrence_context_role that specifies the purpose of the association of the event_occurrence_context_assignment with product data.

18.4.25 experience_assignment   EXPRESS-G

An experience_assignment is a mechanism for associating an experience with product data.

EXAMPLE    The association of a particular episode of flying practice with a particular pilot.

EXPRESS specification:

*)
ENTITY experience_assignment
  ABSTRACT SUPERTYPE ;
  id : identifier;
  name : label;
  description : OPTIONAL text;
  assigned_experience : experience;
  role : experience_role;
END_ENTITY;
(*

Attribute definitions:

id: the identifier that distinguishes the experience_assignment.

name: the label by which the experience_assignment is known.

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

assigned_experience: the instance of the experience entity data type that is to be associated with product data.

role: the experience_role that specifies the purpose of the association of the experience_assignment with product data.

18.4.26 experience_role   EXPRESS-G

An experience_role is a specified purpose for an experience and the description of the purpose.

EXPRESS specification:

*)
ENTITY experience_role;
  id : identifier;
  name : label;
  description : OPTIONAL text;
END_ENTITY;
(*

Attribute definitions:

id: the identifier that distinguishes the experience_role.

name: the label by which the experience_role is known.

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

18.4.27 experience_type_assignment   EXPRESS-G

An experience_type_assignment is a mechanism for associating an experience_type with product data.

EXAMPLE    The association of flying experience with a particular category of naval personnel.

EXPRESS specification:

*)
ENTITY experience_type_assignment
  ABSTRACT SUPERTYPE ;
  id : identifier;
  name : label;
  description : OPTIONAL text;
  assigned_experience_type : experience_type;
  role : experience_type_role;
END_ENTITY;
(*

Attribute definitions:

id: the identifier that distinguishes the experience_type_assignment.

name: the label by which the experience_type_assignment is known.

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

assigned_experience_type: the instance of the experience_type entity data type that is to be associated with product data.

role: the experience_type_role that specifies the purpose of the association of the experience_type_assignment with product data.

18.4.28 experience_type_role   EXPRESS-G

An experience_type_role is a specified purpose for an experience_type and a description of the purpose.

EXPRESS specification:

*)
ENTITY experience_type_role;
  id : identifier;
  name : label;
  description : OPTIONAL text;
END_ENTITY;
(*

Attribute definitions:

id: the identifier that distinguishes the experience_type_role.

name: the label by which the experience_type_role is known.

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

18.4.29 external_identification_assignment   EXPRESS-G

An external_identification_assignment is a type of identification_assignment that is defined in the context of an external_source. The source_id shall be a valid identifier in the context of the source.

EXPRESS specification:

*)
ENTITY external_identification_assignment
  ABSTRACT SUPERTYPE
  SUBTYPE OF (identification_assignment);
  source : external_source;
END_ENTITY;
(*

Attribute definitions:

source: the external_source that specifies the context in which in the source_id is defined.

18.4.30 external_identification_assignment_relationship   EXPRESS-G

An external_identification_assignment_relationship is a relationship between two external_identification_assignment objects.

EXPRESS specification:

*)
ENTITY external_identification_assignment_relationship;
  id : OPTIONAL identifier;
  description : OPTIONAL text;
  relating : external_identification_assignment;
  related : external_identification_assignment;
  relation_type : STRING;
WHERE
  WR1: acyclic_external_identification_assignment_relationship(SELF, [related], 'MANAGEMENT_RESOURCES_SCHEMA.EXTERNAL_IDENTIFICATION_ASSIGNMENT_RELATIONSHIP');
END_ENTITY;
(*

Attribute definitions:

id: the identifier or set of identifiers for the external_identification_assignment_relationship.

description: the text or the set of texts that provide further information about the external_identification_assignment_relationship. The value of this attribute need not be specified.

relating: one object of external_identification_assignment that is part of the relationship.

related: the other object of external_identification_assignment that is part of the relationship.

relation_type: the meaning of the relationship.

Formal propositions:

WR1: An external_identification_assignment_relationship shall not participate in its own definition.

18.4.31 external_referent_assignment   EXPRESS-G

An external_referent_assignment is an identification of product data referenced in outside sources.

NOTE    This is an incompletely modeled concept and requires population of related entity data types to form a complete external_referent_assignment.

EXAMPLE 1   A URI for an externally defined tool is specified by assigning the value 'http://www.tool.com/mill.stp' to the name attribute of external_referent_assignment. The fact that the value is a URI is established by assigning a value of 'uri' to the role attribute of external_referent_assignment.

EXAMPLE 2   A URI fragment identifier for the bottom face of the externally defined tool is specified by assigning the value 'http://www.tool.com/mill.stp#bottom_face' to the name attribute of external_referent_assignment. The fact that the value is a URI

EXPRESS specification:

*)
ENTITY external_referent_assignment
  ABSTRACT SUPERTYPE ;
  assigned_name : label;
DERIVE
  role : object_role := get_role(SELF);
UNIQUE
  UR1: assigned_name;
WHERE
  WR1: SIZEOF(USEDIN(SELF, 'BASIC_ATTRIBUTE_SCHEMA.ROLE_ASSOCIATION.ITEM_WITH_ROLE')) <= 1;
END_ENTITY;
(*

Attribute definitions:

assigned_name: the label by which the external_referent_assignment 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.

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

NOTE 2   This attribute is an enhancement to the definition of external_referent_assignment using a method that is upwardly compatible with ISO 10303-41:1994.

Formal propositions:

UR1: The assigned_name shall be unique.

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

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

18.4.32 group_assignment   EXPRESS-G

A group_assignment is an association of a group with product data.

EXPRESS specification:

*)
ENTITY group_assignment
  ABSTRACT SUPERTYPE ;
  assigned_group : group;
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:

assigned_group: the instance of the group entity data type that is to be associated with product data.

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

NOTE 1   This attribute is an enhancement to the definition of group_assignment using a method that is upwardly compatible with ISO 10303-41:1994.

Formal propositions:

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

18.4.33 identification_assignment   EXPRESS-G

An identification_assignment is an association of an identification with product data. The assignment is made within a specified role.

EXPRESS specification:

*)
ENTITY identification_assignment
  ABSTRACT SUPERTYPE ;
  assigned_id : identifier;
  role : identification_role;
END_ENTITY;
(*

Attribute definitions:

assigned_id: the identification associated with the product data.

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.

role: the identification_role that specifies the purpose of the association of the identification_assignment with product data.

EXAMPLE    'Alias identification' is an example of a role that may be used to characterize the fact that the assigned_id provides an alternate identification to some product data.

18.4.34 identification_assignment_relationship   EXPRESS-G

An identification_assignment_relationship is a relationship between two instances of the entity data type identification_assignment and provides an identification and description of their relationship.

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

EXPRESS specification:

*)
ENTITY identification_assignment_relationship;
  name : label;
  description : OPTIONAL text;
  relating_identification_assignment : identification_assignment;
  related_identification_assignment : identification_assignment;
END_ENTITY;
(*

Attribute definitions:

name: the label by which the identification_assignment_relationship is known.

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

relating_identification_assignment: one of the instances of identification_assignment 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_identification_assignment: the other instance of identification_assignment 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 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.

18.4.35 identification_role   EXPRESS-G

An identification_role is a purpose for identifying an item of product data and includes identification and description of the purpose.

EXPRESS specification:

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

Attribute definitions:

name: the label by which the identification_role 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.

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

18.4.36 library_assignment   EXPRESS-G

A library_assignment is a type of external_referent_assignment that assigns a library_context to product data.

EXPRESS specification:

*)
ENTITY library_assignment
  ABSTRACT SUPERTYPE
  SUBTYPE OF (external_referent_assignment);
  frame_of_reference : library_context;
UNIQUE
  UR1: frame_of_reference;
END_ENTITY;
(*

Attribute definitions:

frame_of_reference: the library_context in which the library_assignment is defined.

Formal propositions:

UR1: The frame_of_reference shall be unique.

18.4.37 location_assignment   EXPRESS-G

A location_assignment is a mechanism for associating a location with product data.

EXAMPLE    The association of a geographical location with an item of heavy lifting equipment.

EXPRESS specification:

*)
ENTITY location_assignment
  ABSTRACT SUPERTYPE ;
  id : identifier;
  name : label;
  description : OPTIONAL text;
  assigned_location : location;
  role : location_role;
END_ENTITY;
(*

Attribute definitions:

id: the identifier that distinguishes the location_assignment.

name: the label by which the location_assignment is known.

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

assigned_location: the instance of the location entity data type that is to be associated with product data.

role: the location_role that specifies the purpose of the association of the location_assignment with product data.

18.4.38 location_representation_assignment   EXPRESS-G

A location_representation_assignment is a mechanism for associating a location with its representation.

EXAMPLE    The association of a location with its representation as a set of geographical co-ordinates.

EXPRESS specification:

*)
ENTITY location_representation_assignment
  ABSTRACT SUPERTYPE ;
  id : identifier;
  name : label;
  description : OPTIONAL text;
  represented_location : location;
  role : location_representation_role;
END_ENTITY;
(*

Attribute definitions:

id: the identifier that distinguishes the location_representation_assignment.

name: the label by which the location_representation_assignment is known.

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

represented_location: the instance of the location entity data type that is to be associated with product data.

role: the location_representation_role that specifies the purpose of the association of the location_representation_assignment with product data.

18.4.39 location_representation_role   EXPRESS-G

A location_representation_role is a purpose for a representation of a location and provides identification and description of the purpose.

EXPRESS specification:

*)
ENTITY location_representation_role;
  id : identifier;
  name : label;
  description : OPTIONAL text;
END_ENTITY;
(*

Attribute definitions:

id: the identifier that distinguishes the location_representation_role.

name: the label by which the location_representation_role is known.

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

18.4.40 location_role   EXPRESS-G

A location_role is the purpose for a location in the context of product data an provides identification and description of the purpose.

EXPRESS specification:

*)
ENTITY location_role;
  id : identifier;
  name : label;
  description : OPTIONAL text;
END_ENTITY;
(*

Attribute definitions:

id: the identifier that distinguishes the location_role.

name: the label by which the location_role is known.

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

18.4.41 name_assignment   EXPRESS-G

A name_assignment is an identification of a name used to designate product data.

EXPRESS specification:

*)
ENTITY name_assignment
  ABSTRACT SUPERTYPE ;
  assigned_name : label;
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:

assigned_name: the label by which the product data is known.

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

NOTE 1   This attribute is an enhancement to the definition of name_assignment using a method that is upwardly compatible with ISO 10303-41:1994

Formal propositions:

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

18.4.42 organization_assignment   EXPRESS-G

An organization_assignment is an association of an organization with product data.

EXPRESS specification:

*)
ENTITY organization_assignment
  ABSTRACT SUPERTYPE ;
  assigned_organization : organization;
  role : organization_role;
END_ENTITY;
(*

Attribute definitions:

assigned_organization: the instance of the organization entity data type that is to be associated with the product data.

role: the organization_role that specifies the purpose of the association of the organization_assignment with product data.

EXAMPLE    'Supplier' is an example of a role that may be used to characterize the fact that the assigned product data has been released by the assigned_organization.

18.4.43 organization_type_assignment   EXPRESS-G

An organization_type_assignment is a mechanism for associating an organization_type with product data.

EXAMPLE    An association between national standards bodies and ISO.

EXPRESS specification:

*)
ENTITY organization_type_assignment
  ABSTRACT SUPERTYPE ;
  id : identifier;
  name : label;
  description : OPTIONAL text;
  assigned_organization_type : organization_type;
  role : organization_type_role;
END_ENTITY;
(*

Attribute definitions:

id: the identifier that distinguishes the organization_type_assignment.

name: the label by which the organization_type_assignment is known.

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

assigned_organization_type: the instance of the organization_type entity data type that is to be associated with product data.

role: the organization_type_role that specifies the purpose of the association of the organization_type_assignment with product data.

18.4.44 organization_type_role   EXPRESS-G

An organization_type_role is a purpose for an organization_type and provides identification and description of the purpose.

EXPRESS specification:

*)
ENTITY organization_type_role;
  id : identifier;
  name : label;
  description : OPTIONAL text;
END_ENTITY;
(*

Attribute definitions:

id: the identifier that distinguishes the organization_type_role.

name: the label by which the organization_type_role is known.

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

18.4.45 organizational_project_assignment   EXPRESS-G

An organizational_project_assignment is an association of an organizational_project with product data.

EXPRESS specification:

*)
ENTITY organizational_project_assignment
  ABSTRACT SUPERTYPE ;
  assigned_organizational_project : organizational_project;
  role : organizational_project_role;
END_ENTITY;
(*

Attribute definitions:

assigned_organizational_project: the instance of the organizational_project entity data type that is to be associated with product data.

role: the organizational_project_role that specifies the purpose of the association of the organizational_project_assignment with product data.

18.4.46 organizational_project_role   EXPRESS-G

An organizational_project_role is a purpose for an organizational_project and provides identification and description of the purpose.

EXPRESS specification:

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

Attribute definitions:

name: the label by which the organizational_project_role is known.

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

18.4.47 person_and_organization_assignment   EXPRESS-G

A person_and_organization_assignment is an association of a person_and_organization with product data.

EXPRESS specification:

*)
ENTITY person_and_organization_assignment
  ABSTRACT SUPERTYPE ;
  assigned_person_and_organization : person_and_organization;
  role : person_and_organization_role;
END_ENTITY;
(*

Attribute definitions:

assigned_person_and_organization: the instance of the person_and_organization entity data type that is to be associated with the product data.

role: the person_and_organization_role that specifies the purpose of the association of the person_and_organization_assignment with product data.

EXAMPLE    'Contact person' is an example of a role that may be used to characterize the fact that information about the assigned product data can be obtained with contacting the mentioned person in the specified organization.

18.4.48 person_assignment   EXPRESS-G

A person_assignment is the association of a person with product data.

EXPRESS specification:

*)
ENTITY person_assignment
  ABSTRACT SUPERTYPE ;
  assigned_person : person;
  role : person_role;
END_ENTITY;
(*

Attribute definitions:

assigned_person: the instance of the person entity data type that is to be associated with product data.

role: the person_role that specifies the purpose of the association of the person_assignment with product data.

NOTE    The function of the person with respect to the assignment is usually a consequence of the functions of the person within his organization.

EXAMPLE    'Designer' and 'creator' are examples of roles that may be used to characterize the fact that the assigned product data has been designed or created by the assigned_person.

18.4.49 person_type_assignment   EXPRESS-G

A person_type_assignment is a mechanism for associating a person_type with product data.

EXAMPLE    An association between a (generic) structural engineer and a particular construction project.

EXPRESS specification:

*)
ENTITY person_type_assignment
  ABSTRACT SUPERTYPE ;
  id : identifier;
  name : label;
  description : OPTIONAL text;
  assigned_person_type : person_type;
  role : person_type_role;
END_ENTITY;
(*

Attribute definitions:

id: the identifier that distinguishes the person_type_assignment.

name: the label by which the person_type_assignment is known.

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

assigned_person_type: the instance of the person_type entity data type that is to be associated with product data.

role: the person_type_role that specifies the purpose of the association of the person_type_assignment with product data.

18.4.50 person_type_definition_assignment   EXPRESS-G

A person_type_definition_assignment is a mechanism for associating a person_type_definition with product data.

EXAMPLE    An association between the definition of structural engineer employed by the UK Institution of Structural Engineers and the definition of structural engineer employed by a particular construction project.

EXPRESS specification:

*)
ENTITY person_type_definition_assignment
  ABSTRACT SUPERTYPE ;
  id : identifier;
  name : label;
  description : OPTIONAL text;
  assigned_person_type_definition : person_type_definition;
  role : person_type_definition_role;
END_ENTITY;
(*

Attribute definitions:

id: the identifier that distinguishes the person_type_definition_assignment.

name: the label by which the person_type_definition_assignment is known.

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

assigned_person_type_definition: the instance of the person_type_definition entity data type that is to be associated with product data.

role: the person_type_definition_role that specifies the purpose of the association of the person_type_definition_assignment with product data.

18.4.51 person_type_definition_role   EXPRESS-G

A person_type_definition_role is a purpose for a person_type_definition and provides identification and description of the purpose.

EXPRESS specification:

*)
ENTITY person_type_definition_role;
  id : identifier;
  name : label;
  description : OPTIONAL text;
END_ENTITY;
(*

Attribute definitions:

id: the identifier that distinguishes the person_type_definition_role.

name: the label by which the person_type_definition_role is known.

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

18.4.52 person_type_role   EXPRESS-G

A person_type_role is a purpose for a person_type and provides identification and description of the purpose.

EXPRESS specification:

*)
ENTITY person_type_role;
  id : identifier;
  name : label;
  description : OPTIONAL text;
END_ENTITY;
(*

Attribute definitions:

id: the identifier that distinguishes the person_type_role.

name: the label by which the person_type_role is known.

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

18.4.53 position_in_organization_assignment   EXPRESS-G

A position_in_organization_assignment is a mechanism for associating a position_in_organization with product data.

EXAMPLE    An association between the managing director of a particular organization and a project.

EXPRESS specification:

*)
ENTITY position_in_organization_assignment
  ABSTRACT SUPERTYPE ;
  id : identifier;
  name : label;
  description : OPTIONAL text;
  assigned_position_in_organization : position_in_organization;
  role : position_in_organization_role;
END_ENTITY;
(*

Attribute definitions:

id: the identifier that distinguishes the position_in_organization_assignment.

name: the label by which the position_in_organization_assignment is known.

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

assigned_position_in_organization: the instance of the position_in_organization entity data type that is to be associated with product data.

role: the position_in_organization_role that specifies the purpose of the association of the position_in_organization_assignment with product data.

18.4.54 position_in_organization_role   EXPRESS-G

A position_in_organization_role is a purpose for a position_in_organization and provides identification and description of the purpose

EXPRESS specification:

*)
ENTITY position_in_organization_role;
  id : identifier;
  name : label;
  description : OPTIONAL text;
END_ENTITY;
(*

Attribute definitions:

id: the identifier that distinguishes the position_in_organization_role.

name: the label by which the position_in_organization_role is known.

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

18.4.55 position_in_organization_type_assignment   EXPRESS-G

A position_in_organization_type_assignment is a mechanism for associating a position_in_organization_type with product data.

EXAMPLE    An association between a generic company manager and a project.

EXPRESS specification:

*)
ENTITY position_in_organization_type_assignment
  ABSTRACT SUPERTYPE ;
  id : identifier;
  name : label;
  description : OPTIONAL text;
  assigned_position_in_organization_type : position_in_organization_type;
  role : position_in_organization_type_role;
END_ENTITY;
(*

Attribute definitions:

id: the identifier that distinguishes the position_in_organization_type_assignment.

name: the label by which the position_in_organization_type_assignment is known.

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

assigned_position_in_organization_type: the instance of the position_in_organization_type entity data type that is to be associated with product data.

role: the position_in_organization_type_role that specifies the purpose of the association of the position_in_organization_type_assignment with product data.

18.4.56 position_in_organization_type_role   EXPRESS-G

A position_in_organization_type_role is a purpose for a position_in_organization_type and provides identification and description of the purpose.

EXPRESS specification:

*)
ENTITY position_in_organization_type_role;
  id : identifier;
  name : label;
  description : OPTIONAL text;
END_ENTITY;
(*

Attribute definitions:

id: the identifier that distinguishes the position_in_organization_type_role.

name: the label by which the position_in_organization_type_role is known.

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

18.4.57 qualification_assignment   EXPRESS-G

A qualification_assignment is a mechanism for associating a qualification with product data.

EXAMPLE    The association of a pilot’s licence with a person indicates that the person is qualified to fulfill the role of a pilot.

EXPRESS specification:

*)
ENTITY qualification_assignment
  ABSTRACT SUPERTYPE ;
  id : identifier;
  name : label;
  description : OPTIONAL text;
  assigned_qualification : qualification;
  role : qualification_role;
END_ENTITY;
(*

Attribute definitions:

id: the identifier that distinguishes the qualification_assignment.

name: the label by which the qualification_assignment is known.

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

assigned_qualification: the instance of the qualification entity data type that is to be associated with product data.

role: the qualification_role that specifies the purpose of the association of the qualification_assignment with product data.

18.4.58 qualification_role   EXPRESS-G

A qualification_role is a purpose for a qualification and provides identification and description of the purpose.

EXPRESS specification:

*)
ENTITY qualification_role;
  id : identifier;
  name : label;
  description : OPTIONAL text;
END_ENTITY;
(*

Attribute definitions:

id: the identifier that distinguishes the qualification_role.

name: the label by which the qualification_role is known.

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

18.4.59 qualification_type_assignment   EXPRESS-G

A qualification_type_assignment is a mechanism for associating a qualification_type with product data.

EXAMPLE    An association between a person and a Product Management Professional certification indicates that the person is qualified to take on the role of project manager.

EXPRESS specification:

*)
ENTITY qualification_type_assignment
  ABSTRACT SUPERTYPE ;
  id : identifier;
  name : label;
  description : OPTIONAL text;
  assigned_qualification_type : qualification_type;
  role : qualification_type_role;
END_ENTITY;
(*

Attribute definitions:

id: the identifier that distinguishes the qualification_type_assignment.

name: the label by which the qualification_type_assignment is known.

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

assigned_qualification_type: the instance of the qualification_type entity data type that is to be associated with product data.

role: the qualification_type_role that specifies the purpose of the association of the qualification_type_assignment with product data.

18.4.60 qualification_type_role   EXPRESS-G

A qualification_type_role is a purpose for a qualification_type and provides identification and description of the purpose.

EXPRESS specification:

*)
ENTITY qualification_type_role;
  id : identifier;
  name : label;
  description : OPTIONAL text;
END_ENTITY;
(*

Attribute definitions:

id: the identifier that distinguishes the qualification_type_role.

name: the label by which the qualification_type_role is known.

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

18.4.61 security_classification_assignment   EXPRESS-G

A security_classification_assignment is an association of a security_classification with product data.

EXPRESS specification:

*)
ENTITY security_classification_assignment
  ABSTRACT SUPERTYPE ;
  assigned_security_classification : security_classification;
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:

assigned_security_classification: the instance of the security_classification entity data type that is to be associated with product data.

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

NOTE 1   This attribute is an enhancement to the definition of security_classification_assignment using a method that is upwardly compatible with ISO 10303-41:1994

Formal propositions:

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

18.4.62 time_assignment   EXPRESS-G

A time_assignment is an association of a local_time with product data.

EXPRESS specification:

*)
ENTITY time_assignment
  ABSTRACT SUPERTYPE ;
  assigned_time : local_time;
  role : time_role;
END_ENTITY;
(*

Attribute definitions:

assigned_time: the instance of the local_time entity data type that is to be associated with product data.

role: the time_role that specifies the purpose of the association of the time_assignment with product data.

EXAMPLE    'Start time' is an example of a role that may be used to characterize the fact that the assigned_time defines the time when some action was expected to start.

18.4.63 time_interval_assignment   EXPRESS-G

A time_interval_assignment is an association of a time_interval with product data.

EXPRESS specification:

*)
ENTITY time_interval_assignment
  ABSTRACT SUPERTYPE ;
  assigned_time_interval : time_interval;
  role : time_interval_role;
END_ENTITY;
(*

Attribute definitions:

assigned_time_interval: the instance of the time_interval entity data type that is to be associated with product data.

role: the time_interval_role that specifies the purpose of the association of the time_interval_assignment with product data.

18.5 management_resources_schema function definitions

18.5.1 acyclic_assignment_object_relationship

The acyclic_assignment_object_relationship function determines whether the graph of instances of the entity data type assignment_object_select that contains relation as one of its links contains a cycle. This function may be used to evaluate either an assignment_object_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.

EXPRESS specification:

*)
FUNCTION acyclic_assignment_object_relationship (relation : assignment_object_relationship; relatives : SET[1:?] OF assignment_object_select; specific_relation : STRING) : BOOLEAN;
  LOCAL
  x : SET OF assignment_object_relationship;
    END_LOCAL;
      IF relation.relating IN relatives
  THEN
    RETURN(FALSE);
  END_IF;
      x := QUERY(aor
                 <* bag_to_set(USEDIN(relation.relating, 'MANAGEMENT_RESOURCES_SCHEMA.ASSIGNMENT_OBJECT_RELATIONSHIP.RELATED'))
                 | specific_relation IN TYPEOF(aor));
      REPEAT i := 1 TO HIINDEX(x);
    IF NOT acyclic_assignment_object_relationship(x[i], relatives + relation.relating, specific_relation)
    THEN
      RETURN(FALSE);
    END_IF;
  END_REPEAT;
      RETURN(TRUE);
END_FUNCTION;
(*

Argument definitions:

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

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

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

18.5.2 acyclic_classification_assignment_relationship

The acyclic_classification_assignment_relationship function determines whether the graph of instances of the entity data type classification_assignment that contains relation as one of its links contains a cycle. This function may be used to evaluate either a classification_assignment_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.

EXPRESS specification:

*)
FUNCTION acyclic_classification_assignment_relationship (relation : classification_assignment_relationship; relatives : SET[1:?] OF classification_assignment; specific_relation : STRING) : BOOLEAN;
  LOCAL
  x : SET OF classification_assignment_relationship;
    END_LOCAL;
      IF relation.relating IN relatives
  THEN
    RETURN(FALSE);
  END_IF;
      x := QUERY(car
                 <* bag_to_set(USEDIN(relation.relating, 'MANAGEMENT_RESOURCES_SCHEMA.CLASSIFICATION_ASSIGNMENT_RELATIONSHIP.RELATED'))
                 | specific_relation IN TYPEOF(car));
      REPEAT i := 1 TO HIINDEX(x);
    IF NOT acyclic_classification_assignment_relationship(x[i], relatives + relation.relating, specific_relation)
    THEN
      RETURN(FALSE);
    END_IF;
  END_REPEAT;
      RETURN(TRUE);
END_FUNCTION;
(*

Argument definitions:

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

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

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

18.5.3 acyclic_external_identification_assignment_relationship

The acyclic_external_identification_assignment_relationship function determines whether the graph of instances of the entity data type external_identification_assignment that contains relation as one of its links contains a cycle. This function may be used to evaluate either a external_identification_assignment_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.

EXPRESS specification:

*)
FUNCTION acyclic_external_identification_assignment_relationship (relation : external_identification_assignment_relationship; relatives : SET[1:?] OF external_identification_assignment; specific_relation : STRING) : BOOLEAN;
  LOCAL
  x : SET OF external_identification_assignment_relationship;
    END_LOCAL;
      IF relation.relating IN relatives
  THEN
    RETURN(FALSE);
  END_IF;
      x := QUERY(eiar
                 <* bag_to_set(USEDIN(relation.relating, 'MANAGEMENT_RESOURCES_SCHEMA.EXTERNAL_IDENTIFICATION_ASSIGNMENT_RELATIONSHIP.RELATED'))
                 | specific_relation IN TYPEOF(eiar));
      REPEAT i := 1 TO HIINDEX(x);
    IF NOT acyclic_external_identification_assignment_relationship(x[i], relatives +
                                                                         relation.relating, specific_relation)
    THEN
      RETURN(FALSE);
    END_IF;
  END_REPEAT;
      RETURN(TRUE);
END_FUNCTION;
(*

Argument definitions:

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

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

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

18.5.4 acyclic_identification_assignment_relationship

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

EXPRESS specification:

*)
FUNCTION acyclic_identification_assignment_relationship (relation : identification_assignment_relationship; relatives : SET[1:?] OF identification_assignment; specific_relation : STRING) : BOOLEAN;
  LOCAL
  x : SET OF identification_assignment_relationship;
    END_LOCAL;
      IF relation.relating_identification_assignment IN relatives
  THEN
    RETURN(FALSE);
  END_IF;
      x := QUERY(ia
                 <* bag_to_set(USEDIN(relation.relating_identification_assignment, 'MANAGEMENT_RESOURCES_SCHEMA.IDENTIFICATION_ASSIGNMENT_RELATIONSHIP.RELATED_IDENTIFICATION_ASSIGNMENT'))
                 | specific_relation IN TYPEOF(ia));
      REPEAT i := 1 TO HIINDEX(x);
    IF NOT acyclic_identification_assignment_relationship(x[i], relatives +
                                                                relation.relating_identification_assignment, specific_relation)
    THEN
      RETURN(FALSE);
    END_IF;
  END_REPEAT;
      RETURN(TRUE);
END_FUNCTION;
(*

Argument definitions:

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

relatives: (input) the set of instances of the entity data type identification_assignment that the function is searching for in the relating_identification_assignment parameter of the relation argument.

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



*)
END_SCHEMA;  -- management_resources_schema
(*


© ISO 2021 — All rights reserved