Integrated generic resource: Fundamentals of product description and support | ISO 10303-41:2021(E) © ISO |
This schema supports the representation of effectivity according to the following criteria:
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 effectivity_schema;
REFERENCE FROM
action_schema
--
ISO 10303-41
(action_method);
REFERENCE FROM
basic_attribute_schema
--
ISO 10303-41
(description_attribute,
description_attribute_select,
get_description_value,
get_name_value,
name_attribute,
name_attribute_select);
REFERENCE FROM
date_time_schema
--
ISO 10303-41
(date_time_or_event_occurrence,
time_interval);
REFERENCE FROM
measure_schema
--
ISO 10303-41
(measure_with_unit);
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:
action_schema ISO 10303-41 basic_attribute_schema ISO 10303-41 date_time_schema ISO 10303-41 measure_schema ISO 10303-41 support_resource_schema ISO 10303-41
NOTE 2 See Annex D for a graphical representation of this schema.
Only effectivities based on date, serial number, and lot number are considered in this schema.
EXPRESS specification:
*)
TYPE
effs_description_attribute_select
=
SELECT
BASED_ON
description_attribute_select
WITH
(effectivity);
END_TYPE;
(*
EXPRESS specification:
*)
TYPE
effs_name_attribute_select
=
SELECT
BASED_ON
name_attribute_select
WITH
(effectivity);
END_TYPE;
(*
EXPRESS specification:
*)
ENTITY condition
SUBTYPE OF (action_method);
END_ENTITY;
(*
EXPRESS specification:
*)
ENTITY conditional_effectivity
SUBTYPE OF (condition, effectivity);
END_ENTITY;
(*
EXPRESS specification:
*)
ENTITY conditional_configuration
SUBTYPE OF (conditional_effectivity);
configuration_type : STRING;
inheritance_type : STRING;
END_ENTITY;
(*
Attribute definitions:
configuration_type: the configuration_type defines the valid usage of a conditional_configuration.
inheritance_type: the inheritance_type specifies the inheritance scheme for the configuration information as either exception, inherited, or local.
EXPRESS specification:
*)
ENTITY dated_effectivity
SUBTYPE OF (effectivity);
effectivity_end_date :
OPTIONAL
date_time_or_event_occurrence;
effectivity_start_date :
OPTIONAL
date_time_or_event_occurrence;
WHERE
WR1: EXISTS(effectivity_end_date) OR EXISTS(effectivity_start_date);
END_ENTITY;
(*
Attribute definitions:
effectivity_end_date: the date_time_or_event_occurrence that defines the upper bound of the interval of applicability. If a value for this attribute is not defined, the interval of applicability has no upper limit.
effectivity_start_date: the date_time_or_event_occurrence that defines the lower bound of the interval of applicability. If a value for this attribute is not defined, the interval of applicability has no lower limit.
Formal propositions:
WR1: One or both of the effectivity_start_date or effectivity_end_date shall be specified.
EXAMPLE A process is effective from 1998 March 1 through 1998 December 31.
An effectivity may be either a serial_numbered_effectivity or a dated_effectivity, or a lot_effectivity, or a time_interval_based_effectivity.EXPRESS specification:
*)
ENTITY effectivity
SUPERTYPE OF (ONEOF (serial_numbered_effectivity,
dated_effectivity,
lot_effectivity,
time_interval_based_effectivity));
id : identifier;
DERIVE
name : label := get_name_value(SELF);
description : text := get_description_value(SELF);
WHERE
WR1: SIZEOF(USEDIN(SELF, 'BASIC_ATTRIBUTE_SCHEMA.NAME_ATTRIBUTE.NAMED_ITEM')) <= 1;
WR2: SIZEOF(USEDIN(SELF, 'BASIC_ATTRIBUTE_SCHEMA.DESCRIPTION_ATTRIBUTE.DESCRIBED_ITEM')) <= 1;
END_ENTITY;
(*
Attribute definitions:
id: the identifier that distinguishes the effectivity.
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 effectivity is known.
NOTE 3 This attribute is an upwardly compatible addition to effectivity as specified in ISO 10303-41:1994.
description: the text that characterizes the effectivity.
NOTE 4 This attribute is an upwardly compatible addition to effectivity as specified in ISO 10303-41:1994.
Formal propositions:
WR1: Each effectivity shall be the described_item in at most one description_attribute.
NOTE 5 The description_attribute data type is defined in basic_attribute_schema of this part of ISO 10303.
WR2: Each effectivity shall be the named_item in at most one name_attribute.
NOTE 6 The name_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.
NOTE 1 The role of effectivity_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 effectivity entity, is based on the relationship template that is described in annex E.3.
EXPRESS specification:
*)
ENTITY effectivity_relationship;
name : label;
description :
OPTIONAL
text;
related_effectivity : effectivity;
relating_effectivity : effectivity;
END_ENTITY;
(*
Attribute definitions:
name: the label by which the effectivity_relationship is known.
description: the text that characterizes the effectivity_relationship. The value of the attribute need not be specified.
related_effectivity: the other instance of effectivity 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.
relating_effectivity: one of the instances of effectivity 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.
EXPRESS specification:
*)
ENTITY lot_effectivity
SUBTYPE OF (effectivity);
effectivity_lot_id : identifier;
effectivity_lot_size : measure_with_unit;
END_ENTITY;
(*
Attribute definitions:
effectivity_lot_id: the identification of the batch of items.
effectivity_lot_size: the size of the batch of items.
NOTE A serial number is represented in this International Standard as an identifier. It is supposed here that, regardless of their format, identifiers used to represent serial numbers are ordered.
EXPRESS specification:
*)
ENTITY serial_numbered_effectivity
SUBTYPE OF (effectivity);
effectivity_start_id : identifier;
effectivity_end_id :
OPTIONAL
identifier;
END_ENTITY;
(*
Attribute definitions:
effectivity_start_id: the first valid serial number.
effectivity_end_id: the last valid serial number. If a value for this attribute is not defined, the interval of applicability has no upper bound.
NOTE This entity data type provides greater functionalities than the entity data type dated_effectivity. In particular, it allows the specification of an effectivity period in which the period of time is defined by a date and a duration.
EXPRESS specification:
*)
ENTITY time_interval_based_effectivity
SUBTYPE OF (effectivity);
effectivity_period : time_interval;
END_ENTITY;
(*
Attribute definitions:
effectivity_period: the time_interval defining the period of time when the associated product data are effective.
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 effectivity_relationship entity include rules that use this function.
EXPRESS specification:
*)
FUNCTION acyclic_effectivity_relationship (relation : effectivity_relationship; relatives : SET[1:?] OF effectivity; specific_relation : STRING) : BOOLEAN;
LOCAL x : SET OF effectivity_relationship; END_LOCAL; IF relation.relating_effectivity IN relatives THEN RETURN(FALSE); END_IF; x := QUERY(eff <* bag_to_set(USEDIN(relation.relating_effectivity, 'EFFECTIVITY_SCHEMA.EFFECTIVITY_RELATIONSHIP.RELATED_EFFECTIVITY')) | specific_relation IN TYPEOF(eff)); REPEAT i := 1 TO HIINDEX(x); IF NOT acyclic_effectivity_relationship(x[i], relatives + relation.relating_effectivity, specific_relation) THEN RETURN(FALSE); END_IF; END_REPEAT; RETURN(TRUE);
END_FUNCTION;
(*
Argument definitions:
relation: (input) the candidate effectivity_relationship to be checked.
relatives: (input) the set of instances of the entity data type effectivity for which the function is searching in the relating_effectivity parameter of the relation argument.
specific_relation: (input) the fully qualified entity name of a type of effectivity_relationship entity.
*)
END_SCHEMA; -- effectivity_schema
(*
© ISO 2021 — All rights reserved