Integrated generic resource: State | ISO 10303-56:2019(E) © ISO |
Short names of entities defined in this schema are described in Annex A. Unambiguous identification of this schema is defined in Annex B.
EXPRESS specification:
*)
SCHEMA state_observed_schema;
REFERENCE FROM
basic_attribute_schema
--
ISO 10303-41
(get_id_value,
id_attribute,
id_attribute_select);
REFERENCE FROM
state_type_schema
--
ISO 10303-56
(state_type);
REFERENCE FROM
support_resource_schema
--
ISO 10303-41
(bag_to_set,
identifier,
label,
text);
(*
NOTE 1 The schemas referenced above are specified in the following parts:
basic_attribute_schema ISO 10303-41 state_type_schema ISO 10303-56 support_resource_schema ISO 10303-41
NOTE 2 See Annex D for a graphical representation of this schema.
A state_observed entity represents the existence of recognisable characteristics for a period of time. The period of time may historical, current, or predicted. The characteristics that describe an observed state may be recorded in the description attribute of the state_observed entity, or by reference to relevant state_types using the ascribable_state entity.
Over time, a given observed state may be associated with multiple state types. This reflects the diagnosis process where something may be observed or predicted to be in an abnormal state before the precise cause, and hence state_type, is known. A state_type may be assessed initially using the ascribable_state entity. As investigations proceed other, more precise, state_types can be associated as asserted states again using the ascribable_state entity. Other state_types can be asserted as not applying.
An observed state may have occured, may be current, or may be expected to take place in the future.
An item or a set of items may exist in a state. This fact is captured by using the state_observed_assignment entity data type.
NOTE The assignment of state to an item or set of items may be meaningful for some process.
EXPRESS specification:
*)
TYPE
sos_id_attribute_select
=
SELECT
BASED_ON
id_attribute_select
WITH
(ascribable_state_relationship);
END_TYPE;
(*
An ascribable_state is a representation of a relationship that relates one instance of the entity state_observed to its state_type and provides an identification and description of their relationship.
NOTE 1 The role of ascribable_state can be defined in the annoted 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 The characteristics that describe an observed state may be recorded by reference to relevant state_type entities using the ascribable_state entity. Relationships between two ascribable_state entities is represented by the ascribable_state_relationship entity (see 5.3.2).
EXAMPLE 1 A laboratory has analyzed a marine distillate fuel and assessed its water content to be "0.5%" by volume. With a water specification maximum limit of "0.3%" the marine distillate fuel is ascribed as "exceeding" the limit.
EXAMPLE 2 A hydrogen atom with its electron in "2s" orbital is "excited".
EXPRESS specification:
*)
ENTITY ascribable_state;
name : label;
description :
OPTIONAL
text;
pertaining_state_type : state_type;
ascribed_state_observed : state_observed;
END_ENTITY;
(*
Attribute definitions:
name: the label by which the ascribable_state is known.
description: the text that characterizes the ascribable_state. The value of the attribute need not be specified.
pertaining_state_type: the associated state_type that defines the instance of the state_observed entity.
ascribed_state_observed: the instance of the state_observed entity that is to be associated with its state_type.
An ascribable_state_relationship is a relationship that relates two instances of the entity ascribable_state and provides an identification and description of their relationship.
NOTE 1 The role of ascribable_state_relationship can be defined in the annoted EXPRESS schemas that use or specialize this entity, or by default, in an agreement of common understanding between the partners sharing this information.
EXPRESS specification:
*)
ENTITY ascribable_state_relationship;
name : label;
description :
OPTIONAL
text;
relating_ascribable_state : ascribable_state;
related_ascribable_state : ascribable_state;
DERIVE
id : identifier := get_id_value(SELF);
WHERE
WR1: SIZEOF(USEDIN(SELF, 'BASIC_ATTRIBUTE_SCHEMA.' + 'ID_ATTRIBUTE.IDENTIFIED_ITEM')) <= 1;
END_ENTITY;
(*
Attribute definitions:
name: the label by which the ascribable_state_relationship is known.
description: the text that characterizes the ascribable_state_relationship. The value of the attribute need not be specified.
relating_ascribable_state: one of the instances of ascribable_state_relationship that is a part of the relationship.
related_ascribable_state: the other instance of ascribable_state_relationship 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 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.
id: the identifier that distinguishes the group. The value of this attribute need not be specified.
NOTE 3 This attribute is an upwardly compatible addition to group as specified in ISO 10303-41:1994.
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.
NOTE 5 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.
Formal propositions:
WR1: Each group shall be the identified_item in at most one id_attribute.
NOTE 6 The id_attribute data type is defined in basic_attribute_schema of this part of ISO 10303.
NOTE 7 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 hypothesis_state_to_confirmation_state_relationship
SUBTYPE OF (state_definition_to_state_assignment_relationship);
confirmed_state : ascribable_state;
hypothesized_state : ascribable_state;
WHERE
WR1: acyclic_hypothesis_state_to_confirmation_state_relationship(SELF, [confirmed_state], 'STATE_OBSERVED_SCHEMA.HYPOTHESIS_STATE_TO_CONFIRMATION_STATE_RELATIONSHIP');
END_ENTITY;
(*
Attribute definitions:
confirmed_state: the other object of ascribable_state that is part of the relationship.
hypothesized_state: one object of ascribable_state that is part of the relationship.
Formal propositions:
WR1: A hypothesis_state_to_confirmation_state_relationship shall not participate in its own definition.
EXPRESS specification:
*)
ENTITY state_definition_to_state_assignment_relationship
SUBTYPE OF (ascribable_state_relationship);
relation_type : STRING;
WHERE
WR1: acyclic_state_definition_to_state_assignment_relationship(SELF, [SELF\ascribable_state_relationship.related_ascribable_state],
'STATE_OBSERVED_SCHEMA.STATE_DEFINITION_TO_STATE_ASSIGNMENT_RELATIONSHIP');
END_ENTITY;
(*
Attribute definitions:
relation_type: the meaning of the relationship.
Formal propositions:
WR1: A state_definition_to_state_assignment_relationship shall not participate in its own definition.
A state_observed is the existence of a mode of being for a period of time. A state_observed may have already occurred, is currently occurring, or can be predicted to occur.
NOTE 1 The period of existence may be an instant or longer.
NOTE 2 The occurrence of a state_observed may be meaningful for a process, such as a pre-defined task.
NOTE 3 Objects in the same state in one context may be in different states in a different context. An object may be a primitive or a system. The same object may be a primitive in one process and a system in another. Objects may be identical in one process and different in another.
EXAMPLE 1 Main Engine Fuel Pump No. 1 is in the phase of "injection".
EXAMPLE 2 A hydrogen atom can be "excited" or "decayed".
EXAMPLE 3 A particular system of atoms will be at "thermal equilibrium" later but not now, or at a certain temperature.
EXAMPLE 4 After my portable computer displayed a "low-battery" warning, I immediately attached its power supply.
EXPRESS specification:
*)
ENTITY state_observed;
name : label;
description :
OPTIONAL
text;
END_ENTITY;
(*
Attribute definitions:
name: the label by which the state_observed is known.
description: the text that characterizes the state_observed. The value of the attribute need not be specified.
EXPRESS specification:
*)
ENTITY state_observed_assignment
ABSTRACT SUPERTYPE
;
assigned_state_observed : state_observed;
role : state_observed_role;
END_ENTITY;
(*
Attribute definitions:
assigned_state_observed: the instance of the state_observed entity that is to be associated with product or activity data.
role: the instance of state_observed_role that specifies the purpose of the association of the state_observed_assignment with product or activity data.
NOTE 1 The role of state_observed_relationship can be defined in the annoted EXPRESS schemas that use or specialize this entity, or by default, in an agreement of common understanding between the partners sharing this information.
EXPRESS specification:
*)
ENTITY state_observed_relationship;
name : label;
description :
OPTIONAL
text;
relating_state_observed : SET[1:?] OF state_observed;
related_state_observed : SET[1:?] OF state_observed;
END_ENTITY;
(*
Attribute definitions:
name: the label by which the state_observed_relationship is known.
description: the text that characterizes the state_observed_relationship. The value of the attribute need not be specified.
relating_state_observed: one of the sets of instances of state_observed_relationship that is a part of the relationship.
related_state_observed: the other set of instances of state_observed_relationship 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 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 state_observed_role;
name : label;
description :
OPTIONAL
text;
END_ENTITY;
(*
Attribute definitions:
name: the label by which the state_observed_role is known.
description: the text that characterizes the state_observed_role. The value of the attribute need not be specified.
The function returns TRUE if no cycle has been detected. Otherwise it returns FALSE.
NOTE The algorithm of the function is explained in annex E.2.
EXPRESS specification:
*)
FUNCTION acyclic_hypothesis_state_to_confirmation_state_relationship (relation : hypothesis_state_to_confirmation_state_relationship; relatives : SET[1:?] OF ascribable_state; specific_relation : STRING) : LOGICAL;
LOCAL x : SET OF hypothesis_state_to_confirmation_state_relationship; END_LOCAL; IF relation.confirmed_state IN relatives THEN RETURN (FALSE); END_IF; -- IN is based in instance equality x := QUERY (hstcsr <* bag_to_set (USEDIN (relation.confirmed_state, 'STATE_OBSERVED_SCHEMA.' + 'HYPOTHESIS_STATE_TO_CONFIRMATION_STATE_RELATIONSHIP.' + 'HYPOTHESIZED_STATE')) | specific_relation IN TYPEOF (hstcsr)); REPEAT I := 1 TO HIINDEX(x); -- pre-checked loop IF NOT acyclic_hypothesis_state_to_confirmation_state_relationship (x[i], relatives + relation.confirmed_state, specific_relation) THEN RETURN(FALSE); END_IF; END_REPEAT; RETURN(TRUE);
END_FUNCTION;
(*
Argument definitions:
relation: (input) the candidate hypothesis_state_to_confirmation_state_relationship to be checked.
relatives: (input) the set of instances of the entity data type ascribable_state for which the function is searching in the confirmed_state parameter of the relation argument.
specific_relation: (input) the fully qualified name of a subtype of the hypothesis_state_to_confirmation_state_relationship entity.
The function returns TRUE if no cycle has been detected. Otherwise it returns FALSE.
NOTE The algorithm of the function is explained in annex E.2.
EXPRESS specification:
*)
FUNCTION acyclic_state_definition_to_state_assignment_relationship (relation : state_definition_to_state_assignment_relationship; relatives : SET[1:?] OF ascribable_state; specific_relation : STRING) : LOGICAL;
LOCAL x : SET OF state_definition_to_state_assignment_relationship; END_LOCAL; IF relation.relating_ascribable_state IN relatives THEN RETURN (FALSE); END_IF; -- IN is based in instance equality x := QUERY (sdtsar <* bag_to_set (USEDIN (relation.relating_ascribable_state, 'STATE_OBSERVED_SCHEMA.' + 'STATE_DEFINITION_TO_STATE_ASSIGNMENT_RELATIONSHIP.' + 'RELATED_ASCRIBABLE_STATE')) | specific_relation IN TYPEOF (sdtsar)); REPEAT I := 1 TO HIINDEX(x); -- pre-checked loop IF NOT acyclic_state_definition_to_state_assignment_relationship (x[i], relatives + relation.relating_ascribable_state, specific_relation) THEN RETURN(FALSE); END_IF; END_REPEAT; RETURN(TRUE);
END_FUNCTION;
(*
Argument definitions:
relation: (input) the candidate state_definition_to_state_assignment_relationship to be checked.
relatives: (input) the set of instances of the entity data type ascribable_state for which the function is searching in the related_ascribable_state parameter of the relation argument.
specific_relation: (input) the fully qualified name of a subtype of the state_definition_to_state_assignment_relationship entity.
*)
END_SCHEMA; -- state_observed_schema
(*
© ISO 2019 — All rights reserved