ГОСТ РИСО 21090—2016
control InformationRoot : cnaracterstnng,
controllnformationExtension : characterstring,
nullFlavor :NullFlavor,
updateMode : UpdateMode,
flavorId : Set (characterstrir.g),
origin : T,
scale : QTY,
digits : SequenceUNT)
7.9.6.3 Атрибуты
7.9.6.3.1 origin : T: начало шкалы значений элементов последовательности, то есть физическая
величина, которой соответствует нулевое значение элемента последовательности.
7.9.6.3.2 scale : QTY: величина масштаба, на которую умножаются значения элементов последо
вательности. Фактический тип данных QTY определяется параметром Т.
7.9.6.3.3 digits : Sequence(INT): последовательность целых значений считываний. Обычно это ис
ходные значения, получаемые от аналого-цифрового преобразователя.
7.9.6.4 Равенство
Тип данных SLIST является специализацией типа данных LIST. Два экземпляра типа SLIST равны,
если они задают одну и ту же последовательность значений.
Примечание — Поскольку тип данных SLIST является специализацией типа данных LIST и равенство
основано на свойствах типа данных LIST, то экземпляр типа данных LIST<PQ> может быть равен экземпляру типа
данных SLIST<PQ>.
7.3.6.5 Инварианты:
- масштаб scale должен иметь тип разности значений, имеющих тип начала шкалы origin;
- если экземпляр типа SLIST не имеет причины пустоты nullFlavor. то атрибут origin и по меньшей
мери один атрибут digit требуются.
Определения инвариантов на языке OCL:
inv "требуемые атрибуты": isKull xor (origin.isNotNull and
digits->select(d d.isKotNull)->size > 0)
inv "тип масштаба": scale.ocllsDefined implies
origin.isDifference(scale)
inv "no upaateMode or History on SLIST attributes":
noUpdateOrHistory(origin) and noUpdateOrHistory(scale)
and digits >forAll(d | noUpdateOrHistory<d))
7.9.6.6 Операции
7.9.6.6.1 insertAt(object: T. index : Integer): SLIST(T): последовательность типа SLIST. образован
ная из текущей последовательности (this) типа SLIST. в которую вставлен элемент object в позиции
index. Если эта позиция больше длины текущей последовательности или равна этой длине, то
резуль татом операции будет пустая последовательность.
7.9.6.6.2 subList(lower: Integer, upper: Integer): SLIST(T): фрагмент текущей последовательности
(this), образованный элементами, находящимися в позициях с lower по upper. Если позиции lower или
upper больше длины текущей последовательности либо равны этой длине, либо lower или upper
мень ше 0. или lower больше upper, то результатом операции будет пустая последовательность.
7.9.6.6.3 at(i : Integer): Т: элемент текущей последовательности, находящийся в позиции i. Если
позиция i больше длины текущей последовательности либо равна этой длине, то результатом операции
будет пустое значение.
7.9.6.6.4 indexOf(obj: Т ): Integer: позиция элемента obj в текущей последовательности или пустое
значение, если число вхождений этого элемента в последовательность отлично от 1.
7.3.6.6.5 first(): Т: первый элемент текущей последовательности (this) или пустое значение, если
последовательность пуста.
7 9.6.6.6 last() : Т: последний элемент текущей последовательности (this) или пустое значение,
если последовательность пуста.
122