ГОСТ Р ИСО 13584-42—2012
ABSTRACT SUPERTYPE OF( ONEOF (item_class. categorization_clase))
SUBTYPE OF(dass_and_property_elements):
SELF\dictk>nary_element.identifted_by: dass_BSU;
its_superclass: OPTIONAL dass_BSU;
described_by: LIST [0:?] OF UNIQUE property_BSU;
defined_types: SET [0:?] OF data_type_BSU:
constraints: SET (0:?] OF constraint_or_constraint_id;
hierarchical_position: OPTIONAL hierarchical_position_type:
keywords: SET [0:?] OF keyword_type:
sub_class_properties: SET [0:?] OF pfoperty_BSU;
dass_constant_values: SET [0:?] OF class_value_assignment;
DERIVE
subclasses: SET [0:?] OF dass := »dentified_by.subclasses;
known_applicable_pfoperties: SET [0:?] OF propertyBSU
:= compute_known_applicable_properties(
SELF\dict ionaryelement.identified_by);
known_applicable_data_types: SET [0:?] OF data_type_BSU
:= compute_known_applicable_data_types(
SELF\dictk>nary_element.identified_by):
kno\vn_property_constraints: SET [0:?] OF property_constraint
:= compute_known_property_constraints(
[SELF\d ictionary_elerT>ent.identified_by]);
INVERSE
associated „items: SET [0:?] of class_BSU_relationship
FOR relating_class;
WHERE
WR1: acyclic_superclass_relationship (SELF.identified_by, [}):
WR2: NOT all_class_descriptions_reachable (
SELF\dictionary_element.identified_by)
OR (list_to_set(SELF.descnbed_by) <=
SELF\dictionary_element.identified_by
\class_BSU.kno\vn_visible_properties);
WR3: NOT all_class_descriptions_reachable (
SELF\dictionary_element.identif»ed_by)
OR (SELF.defmed_types <=
SELF\dictionary_element.identified_by
\class_BSU.known_visible_data_types);
WR5: NOT all_class_descriptions_reachable (
SELF\dictk>nary_element.identifted_by)
OR (QUERY (cdp <* described_by
I (SIZEOF (cdp\basic_semantic_unit.definitk>n}=1)
AND((ISO13584JEC61360_DICTIONARY_SCHEMA
+’.DEPENDENT_P_DET ) IN TYPEOF
(cdp\basic_semantic_uniLdefinit»on [1]))
AND NOT
(cdp \basic_semantic_unit.definition [1].depends_on
<= known_applicable_properties))=[));
WR6: check_datatypes_applicability(SELF);
WR7: QUERY (cons <* constraints
I ( ISO13584_IEC61360_CLASS_CONSTRAINT_SCHEMA’
♦ MNTEGRITY_CONSTRAINT IN TYPEOF (cons))
AND (SIZEOF (cons\property_constrainLconstrained_property
.definition) =1)
AND NOT correct_constraint_type (
cons\integnty_constrainLredefined_domain.
cons\property_constraint.constrained_property
.definition [1).domain)) = [ J;
WR8: QUERY (cons <* constraints
I ((’IS013584JEC61360_CLASS_CONSTRAJNT_SCHEMA’
+’.CONFIGURATION_CONTROL_CONSTRAINT ) INTYPEOF (cons))
AND NOT correct_precondition (cons. SELF)) = ( J:
WR9: NOT all_class_descriptions_reachable (
SELF\dictk>nary_element.identified_by)
OR (QUERY (cons <* constraints
75