Integrated generic resource: Fundamentals of product description and support | ISO 10303-41:2021(E) © ISO |
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.
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.
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;
(*
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;
(*
EXPRESS specification:
*)
TYPE
attribute_type
=
SELECT
(label,
text);
END_TYPE;
(*
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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