EXPRESS-I - это название языка формального представления данных и спецификации абстрактных тестовых (контрольных) примеров. Он может быть использован для описания информационных требований других стандартов серии ГОСТ Р ИСО 10303 и родственен языкам EXPRESS и EXPRESS-G. Язык базируется на целом ряде целей проектирования, в частности:
- размеры и сложность стандартов серии ГОСТ Р ИСО 10303 требуют обеспечить читабельность языка как для компьютера, так и для человека. Выразительные средства стандартов данной серии призваны облегчить формальное выявление несоответствий в представлениях или спецификациях при использовании средств автоматизации;
- следует обратить внимание на отображение реализацией свойств объектов, представляющих предмет интереса. Обеспечить определение объекта в терминах его свойств, которые характеризуются установлением области их значений (домена) и ограничениями на эту область;
- обойтись, насколько это возможно, без рассмотрения конкретной реализации;
- обеспечить средства отображения малых совокупностей EXPRESS-схем;
- обеспечить средства поддержки спецификации комплектов абстрактных тестов для процессоров информационных моделей.
В EXPRESS-I экземпляры объектов представляются в терминах значений атрибутов: особенностей либо характеристик, считающихся важными для использования и понимания. Эти атрибуты имеют представление, которое может быть простым типом данных (таким, как целочисленный) либо типом другого объекта. Геометрическая точка может быть определена в терминах трех вещественных (действительных) чисел. Атрибутам, образующим определение объекта, даются имена. Так, для геометрической точки три вещественных числа могут иметь имена х, у и z. Устанавливается отношение между определяемым объектом и определяющими его атрибутами и, аналогичным образом, между атрибутом и его представлением.
Язык EXPRESS-I обеспечивает средства для отображения реализацией элементов данных языка EXPRESS. Язык разработан, в основном, для восприятия человеком и для облегчения отображения экземпляров EXPRESS-I на определении в EXPRESS-схеме. В некоторых стандартах серии ГОСТ Р ИСО 10303, например в ГОСТ Р ИСО 10303-21, установлены требования к рациональным машинным реализациям схем. EXPRESS-I не предназначен для замены этих методов.
Основные элементы языка показаны на рисунке 1. Язык имеет две главные части. Первая часть служит для отображения экземпляров данных. Данные могут быть отображены на основе объект-объект, на основе схемы либо как набор экземпляров схем, предназначенный для отображения некоторой информационной модели рассматриваемой предметной области. В языке EXPRESS-I эти данные называются экземплярами предмета (object instances), экземплярами данных схемы (schema data instances) и моделью (model). На рисунке 1 предполагается, что информационная модель определена с помощью языка EXPRESS.
Рисунок 1 - Главные элементы языка EXPRESS-I
Вторая часть языка служит для специфицирования абстрактных тестовых (контрольных) примеров с целью формального описания тестов, выполняемых над реализацией информационной модели, заданной на языке EXPRESS. Конструкциями языка, предназначенными для этой цели, являются контрольный пример (test case) и контекст (context). Данный раздел языка использует также процедурные аспекты языка EXPRESS. Экземпляры данных могут быть параметризованы и сохранены в контексте. Многие различные контрольные примеры могут присваивать значения параметризованным данным в контексте и использовать эти данные как часть спецификации данного теста.
Экземпляры данных, полученные в результате применения контрольного примера, могут отображаться с помощью конструкций, определенных в первой части языка.
Примечание - Примеры использования EXPRESS-I в настоящем стандарте не согласованы с правилами какого-либо конкретного стиля. В самом деле, иногда примеры используют не лучший стиль, чтобы достичь краткости либо показать гибкость. Примеры не претендуют на отражение содержания информационных моделей, определяемых в других стандартах серии ГОСТ Р ИСО 10303. Их функция - показать конкретные особенности EXPRESS-I. Любую аналогию между этими примерами и обязательными информационными моделями или абстрактными контрольными примерами, определенными в других стандартах серии ГОСТ Р ИСО 10303, следует игнорировать.