ГОСТ Р И С 0 10303-11 — 2009
9.7.1 Ограничение абстрактного супертипа
Объявление ABSTRACT SUPERTYPE, определенное в9.2.5.1. может также присутствовать вобъяв
лении SUBTYPE_CONSTRAINT.
Правило: абстрактный супертип определяется объявлением SUBTYPE_CONSTRAINT в супертипе
с использованием ключевых слов ABSTRACT SUPERTYPE.
Пример — В общей классификационной модели может потребоваться идентифицировать
объект с именем class, который в данном контексте является реализуемым. В более специфичной
модели может потребоваться использовать объект class, но ограничить его так. чтобы он мог
быть реализован только через свои локально объявленные подтипы.
SCHEMA general_classification_model;
ENTITY class:
name :class_name;
END_ENTnY:
END.SCHEMA:
SCHEMA specific_classification_model;
USE FROM general_classification_moder.
ENTITY class_of_facility;
SUBTYPE OF (class):
END_ENTITY:
ENTITY class_of_organization
SUBTYPE OF (class):
END_ENTITY;
SUBTYPE_CONSTRAINT independentclassification FOR class;
ABSTRACT SUPERTYPE;
ONEOF(class_of_facility. class_of_organization);
END_SUBTYPE_CONSTRAJNT;
END_SCHEMA
9 .7 .2
Подтипы
п о л н о г о
покрытия
Ограничение полного покрытия TOTAL_OVER устанавливает, что каждый экземпляр супертипа дол
жен быть экземпляром одного или нескольких заданных множеств подтипов. Другими словами,для задан
ного контекста область определения супертипа в точности совпадает с объединением множеств областей
определения именованных подтипов.
Пример— Понятие личность полностью покрывается понятиями мужчина и женщина. Могут
существовать и другие понятия, но любая личность является либо мужчиной, либо женщиной.
Поэтому можно сказать, что супертип person (личность) полностью покрывается подтипами
male (мужчина) и female (женщина).
Если вдвух или более ограничениях подтипов заданы ограничения TOTAL_OVER для одного и того
же объектного типаданных, то такие ограничения TOTAL_OVER рассматриваются совместно. Это означа
ет. что оба ограничения TOTAL_OVER (a.b) и TOTAL_OVER (с,d) должны выполняться.
Правила и ограничения:
a) Все подтипы, указанные в одном или нескольких ограничениях TOTAL_OVER для заданного су
пертипа. должны быть непосредственными подтипами данного супертипа.
b
) Экземпляры других подтипов, как бы эти подтипы ни были определены или ограничены, также
должны быть экземплярами одного или нескольких подтипов, указанных вспецификации TOTAL_OVER.
c) Поскольку супертип может иметь несколько контекстов, то он также может иметь несколько ограни
чений TOTAL_OVER
Пример — В данном примере определяется, что объект person может быть объектом male
либо объектом female. В примере ничего не говорится о взаимосвязи между объектами male и
female, поэтому можно создать экземпляр, который является одновременно как male, так и female.
Подтип employee всегда должен сочетаться с понятиями male и female и не может быть реализован
независимо от них.
ENTITY person;
name ; personal_name;
END_ENTTTY:
ENTITY male
SUBTYPE OF (person);
ENDENTTTY;
56