Integrated generic resource: State ISO 10303-56:2019(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 State type
   4.1 General
   4.2 Fundamental concepts and assumptions
   4.3 State type entity definitions
5 State observed
   5.1 General
   5.2 Fundamental concepts and assumptions
   5.3 State observed type definition
   5.4 State observed entity definitions
   5.5 State observed function definitions

A Short names of entities
B Information object registration
C Computer interpretable listings
D EXPRESS-G diagrams
E Change history
Index

5 State observed schema

5.1 General

The state_observed_schema represents the existence of state(s) an individual item is observed to possess at any point in time. 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 state_observed_schema and identifies the necessary external references.

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.

5.2 Fundamental concepts and assumptions

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.

5.3 state_observed_schema type definition

5.3.1 sos_id_attribute_select   EXPRESS-G

The sos_id_attribute_select type is an extension of the id_attribute_select type. It adds the data type ascribable_state_relationship to the list of alternate data types.

EXPRESS specification:

*)
TYPE sos_id_attribute_select = SELECT BASED_ON id_attribute_select WITH
   (ascribable_state_relationship);
END_TYPE;
(*

5.4 state_observed_schema entity definitions

5.4.1 ascribable_state   EXPRESS-G

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.

5.4.2 ascribable_state_relationship   EXPRESS-G

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.

5.4.3 hypothesis_state_to_confirmation_state_relationship   EXPRESS-G

A hypothesis_state_to_confirmation_state_relationship is a type of state_definition_to_state_assignment_relationship that describes a relationship between two ascribable_state objects.

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.

5.4.4 state_definition_to_state_assignment_relationship   EXPRESS-G

A state_definition_to_state_assignment_relationship is a type of ascribable_state_relationship that describes a relationship between two ascribable_state objects.

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.

5.4.5 state_observed   EXPRESS-G

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.

5.4.6 state_observed_assignment   EXPRESS-G

A state_observed_assignment is an association of a state_observed with product or activity data.

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.

5.4.7 state_observed_relationship   EXPRESS-G

A state_observed_relationship is a relationship that relates instances of two sets of the entity state_observed and provides an identification and description of their relationship.

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.

5.4.8 state_observed_role   EXPRESS-G

A state_observed_role is a definition that defines a role for a state_observed_assignment and a description of that role.

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.

5.5 state_observed_schema function definitions

5.5.1 acyclic_hypothesis_state_to_confirmation_state_relationship

The acyclic_hypothesis_state_to_confirmation_state_relationship function determines whether the graph of instances of the entity data type ascribable_state that contains relation as one of its links contains a cycle. This function may be used to evaluate either a hypothesis_state_to_confirmation_state_relationship or any of its subtypes.

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.

5.5.2 acyclic_state_definition_to_state_assignment_relationship

The acyclic_state_definition_to_state_assignment_relationship function determines whether the graph of instances of the entity data type ascribable_state that contains relation as one of its links contains a cycle. This function may be used to evaluate either a state_definition_to_state_assignment_relationship or any of its subtypes.

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