ГОСТ РИСО 21090—2016
7.10.2.4 Равенство
Отвлеченное определение равенства экземпляров типа данных QSET и всех его потомков, за
исключением типа данных IVL. основано на принадлежности множеству: два экземпляра типа дан ных
QSET равны, если они содержат одни и те же элементы. Однако тип данных QSET используется для
построения деревьев выражений, которые могут становиться весьма сложными. Не всегда легко
определить, описывают ли два различных дерева выражений типа QSET одно и то же множество эле
ментов, поэтому определением равенства двух экземпляров типа данных QSET считается проверка на
равенство, определенная для типа данных ANY по умолчанию.
Эта проверка на равенство применяется ко всем специализациям типа данных QSET, за исключе
нием типа данных IVL, и не задана для других специализаций.
7.10.2.5 Инварианты
Представление инвариантов на языке OCL:
inv "нет истории или режима изменений
r.oUpdateOrHistory{origma-Text>
7.10.2.6 Операции
7.10.2.6.1 contains (х. Т) : BL: имеет значение true, если экземпляр множества QSET содержит
значение х.
7.10.2.6.2 hull (х: QSET(T)): IVL(T). выпуклая оболочка текущего множества (this) и множества х.
представляющая собой наименьший интервал, содержащий множества this и х.
Множество this
\^///27Л
E S 2 S S 3
х
^И
---------------------------------------------------------------------------------------------------------------------------------------------------------------- ►
выпуклая оболочка I
’’//////////////////^
| Упорядочение
Рисунок 10 — Выпуклая оболочка
Примечание — Выпуклая оболочка экземпляра типа данных QSET может быть менее формально
названа «связным внешним интервалом». Таким образом, выпуклая оболочка значения типа GTS описывает
абсолютные начало и конец расписания. Для некоторых спецификаций множеств с бесконечными повторениями
(например, описываемых типом данных PIVL(TS)] выпуклая оболочка имеет бесконечные границы. Термин «рас
писание» использован здесь в обобщенном смысле организованного ряда значений. Более привычное значе ние
этого термина как плана событий, осуществляемых с течением времени, в точности описано типом данных
QSET(TS).
7.10.2.7 Примеры
7.10.2.7.1 Тип данных QSET(TS)
Тип данных QSET(TS) известен также как общая спецификация времени GTS (General Timing
Specification).
Первый пример указывает каждый второй вторник сезона отпусков (в США) с Дня поминовения до
Дня труда в 2002—2003 годах. Он строится как пересечение следующих трех множеств:
- каждый второй вторник.
- 2002—2003 годы:
- сезон с Дня поминовения до Дня труда.
<example xsi:type-"OSI_TS">
<!-- пересечение, поскольку используется QSI -->
<!-- каждый второй вторник -->
<term xsi:type-’P1VL_TS’ alignment-’DW>
<phase lowClosed-1true’highClosed-1false1>
<low value-’20001202’/>
<high value-’20C01233’/>
130