Integrated generic resource: Fundamentals of product description and support | ISO 10303-41:2021(E) © ISO |
EXAMPLE 1 The identification of a particular episode of experience is an example of generic data relating to experience.
EXAMPLE 2 The identification of a particular type of experience is an example of generic data relating to experience.
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 experience_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 experience_schema;
REFERENCE FROM
support_resource_schema
--
ISO 10303-41
(identifier,
label,
text,
bag_to_set);
(*
NOTE 1 The schemas referenced above are specified in the following parts:
support_resource_schema ISO 10303-41
NOTE 2 See Annex D for a graphical representation of this schema.
This schema provides resources for the identification, naming, and description of:
EXAMPLE 100 flying hours in a Tornado jet undertaken by a particular pilot in a particular year.
EXPRESS specification:
*)
ENTITY experience;
id : identifier;
name : label;
description :
OPTIONAL
text;
END_ENTITY;
(*
Attribute definitions:
id: the identifier that distinguishes the experience.
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 context in which id is used as a discriminating characteristic can be identified in an annotated Express schema that uses or specializes this entity, or by default, in an agreement of common understanding between partners sharing this information.
name: the label by which the experience is known.
NOTE 3 The meaning of this attribute can be defined in the annotated EXPRESS schemas that use or specialize this entity, or in an agreement of common understanding between the partners sharing this information.
description: the text that characterizes the experience. The value of this attribute need not be specified.
EXPRESS specification:
*)
ENTITY experience_relationship;
id : identifier;
name : label;
description :
OPTIONAL
text;
relating_experience : experience;
related_experience : experience;
END_ENTITY;
(*
Attribute definitions:
id: the identifier that distinguishes the experience_relationship.
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 context in which id is used as a discriminating characteristic can be identified in an annotated Express schema that uses or specializes this entity, or by default, in an agreement of common understanding between partners sharing this information.
name: the label by which the experience_relationship is known.
NOTE 3 The meaning of this attribute can be defined in the annotated EXPRESS schemas that use or specialize this entity, or in an agreement of common understanding between the partners sharing this information.
description: the text that characterizes the experience_relationship. The value of this attribute need not be specified.
relating_experience: one of the instances of experience that is a part of the relationship.
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.
related_experience: the other instance of experience that is a part of the relationship. If one element of the relationship is dependent upon the other, this attribute shall be the dependent one.
NOTE 4 The meaning of this attribute can be defined in the annotated EXPRESS schemas that use or specialize this entity, or in an agreement of common understanding between the partners sharing this information.
An experience_type is a category of experience.
EXAMPLE Flying experience.
NOTE A relationship between an experience_type object and one or more experience objects is established by the declaration of an experience_type_assignment subtype containing a single attribute that references a set of a SELECT type that contains an experience.
EXPRESS specification:
*)
ENTITY experience_type;
id : identifier;
name : label;
description :
OPTIONAL
text;
END_ENTITY;
(*
Attribute definitions:
id: the identifier that distinguishes the experience_type.
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 context in which id is used as a discriminating characteristic can be identified in an annotated Express schema that uses or specializes this entity, or by default, in an agreement of common understanding between partners sharing this information.
name: the label by which the experience_type is known.
NOTE 3 The meaning of this attribute can be defined in the annotated EXPRESS schemas that use or specialize this entity, or in an agreement of common understanding between the partners sharing this information.
description: the text that characterizes the experience_type. The value of this attribute need not be specified.
EXPRESS specification:
*)
ENTITY experience_type_relationship;
id : identifier;
name : label;
description :
OPTIONAL
text;
relating_experience_type : experience_type;
related_experience_type : experience_type;
END_ENTITY;
(*
Attribute definitions:
id: the identifier that distinguishes the experience_type_relationship.
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 context in which id is used as a discriminating characteristic can be identified in an annotated Express schema that uses or specializes this entity, or by default, in an agreement of common understanding between partners sharing this information.
name: the label by which the experience_type_relationship is known.
NOTE 3 The meaning of this attribute can be defined in the annotated EXPRESS schemas that use or specialize this entity, or in an agreement of common understanding between the partners sharing this information.
description: the text that characterizes the experience_type_relationship. The value of this attribute need not be specified.
relating_experience_type: one of the instances of experience_type 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_experience_type: the other instance of experience_type that is a part of the relationship. If one element of the relationship is dependent upon the other, rhis 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.
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 experience_relationship entity include rules that use this function.
EXPRESS specification:
*)
FUNCTION acyclic_experience_relationship (relation : experience_relationship; relatives : SET[0:?] OF experience; specific_relation : STRING) : BOOLEAN;
LOCAL x : SET OF experience_relationship; END_LOCAL; IF relation.relating_experience IN relatives THEN RETURN (FALSE); END_IF; x := QUERY(expr <* bag_to_set(USEDIN(relation.relating_experience, 'EXPERIENCE_SCHEMA.' + 'EXPERIENCE_RELATIONSHIP.' + 'RELATED_EXPERIENCE')) | specific_relation IN TYPEOF(expr)); REPEAT i := 1 TO HIINDEX(x); IF NOT acyclic_experience_relationship(x[i], relatives + relation.relating_experience, specific_relation) THEN RETURN (FALSE); END_IF; END_REPEAT; RETURN (TRUE);
END_FUNCTION;
(*
Argument definitions:
relation: (input) the candidate experience_relationship to be checked.
relatives: (input) the set of instances of the entity data type experience that the function is searching for in the relating_experience parameter of the relation argument.
specific_relation: (input) the fully qualified name of a subtype of the experience_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 experience_type_relationship entity include rules that use this function.
EXPRESS specification:
*)
FUNCTION acyclic_experience_type_relationship (relation : experience_type_relationship; relatives : SET[0:?] OF experience_type; specific_relation : STRING) : BOOLEAN;
LOCAL x : SET OF experience_type_relationship; END_LOCAL; IF relation.relating_experience_type IN relatives THEN RETURN (FALSE); END_IF; x := QUERY(exptyp <* bag_to_set(USEDIN(relation.relating_experience_type, 'EXPERIENCE_SCHEMA.' + 'EXPERIENCE_TYPE_RELATIONSHIP.' + 'RELATED_EXPERIENCE_TYPE')) | specific_relation IN TYPEOF(exptyp)); REPEAT i := 1 TO HIINDEX(x); IF NOT acyclic_experience_type_relationship(x[i], relatives + relation.relating_experience_type, specific_relation) THEN RETURN (FALSE); END_IF; END_REPEAT; RETURN (TRUE);
END_FUNCTION;
(*
Argument definitions:
relation: (input) the candidate experience_type_relationship to be checked.
relatives: (input) the set of instances of the entity data type experience_type that the function is searching for in the relating_experience_type parameter of the relation argument.
specific_relation: (input) the fully qualified name of a subtype of the experience_type_relationship entity.
*)
END_SCHEMA; -- experience_schema
(*
© ISO 2021 — All rights reserved