Семинар по ISO 10303. Обзор норм ISO 10303. Внедрение языка EXPRESS. Преобразование ISO 10303-22, страница 14

4.3 1.3 Состояния среды программирования

Среда программирования может быть представлена в виде конечного автомата (finite state machine), то есть она находится в каждый момент времени в определенном состоянии. Состояние описывает при этом, какие операции SDAI в определенный момент времени допустимы в сеансе SDAI. Среда программирования переводится из одного состояния в другое при успешном выполнении операции SDAI. В конце концов это описывает ряд операций, которые требуются в сеансе SDAI для того, чтобы выполнить определенное задание. Успешное выполнение операций SDAI может, хотя и не обязательно, изменить также набор допустимых операций SDAI в сеансе SDAI и этим изменить его состояние.

Переходы между состояниями среды программирования описываются в модели состояния SDAI (SDAI-State-Model). Эта модель представлена в ISO 10303-22 в табличном виде. Описаны только операции, которые изменяют состояние сеанса SDAI.

Для различных областей среды программирования определены допустимые состояния. То, в каком состоянии сейчас конкретно находится данная область, зависит от состояния области, в которой она запрошена, и от того, какие операции над ней была выполнены. Состояния определяются для сеансов, хранилищ, трансакций и моделей SDAI.

Пример:

Исходное состояние сеанса SDAI называется NO SESSION. Единственная допустимая операция - открыть сеанс (Open session). Если эта операция будет успешно выполнена, то станет допустимой операция закрытия сеанса (Close session) и открытия и закрытия хранилищ. Сеанс SDAI переведен в состояние SESSION. Состояние SESSION требуется для выполнения операций открытия и закрытия хранилищ. Если хранилище открыто, то сессия переводится в состояние REPOSITORY OPEN. Если хранилище опять закрывается, сессия возвращается в Состояние SESSfON и т. дисконтирования.

4.3.2 Операции SDAI

Операции, которые специфицированы в ISO 10303-22, описывают минимальные оперативные возможности операции SDAI в каждой привязке к языку.

4.3.2.1 Определение операций

Каждая операция определена в ISO 10303-22 следующим образом:

• описание функций операции или утилит, которые выполняются операциями

• требуемые входные и выходные параметры - через описание их содержания и задание типов с применением entities схемы SDAI

• возможные сообщения об ошибках - через задание состояния, при котором операция не закончилась успешно

• Воздействие операции на окружение SDAI - через описание, как взаимно влияют входные параметры и данные сеанса.

Пример:

Create SDAl-model

Эта операция устанавливает новую модель sdai_niodel, в которой экземпляры entity могут быть созданы и обработаны.

• Вход:

Хранилище             sdai repository;

хранилище, в котором должна быть создана модель SDAI.

Имя модели:             STRING;

имя новой модели SDAI.

Схема:                 schema_de£inition;

схема, описывающая типы entities, которые могут быть созданы в новой модели.

Выход:

Модель:                 sdai model;

новая модель SDAI.

Возможные указания ошибок:

S S_NO РЫ                сеанс не открыт

RP_MEXS                хранилище не существует

RP_NOPN               хранилище не открыто

Т R_NRW                  режим трансакции не для чтения-записи

MO_DOp                 повторение модели SDAI

SD_MDE F                схема не определена

SY_ERR                 последствие системной ошибки

Воздействие на окружение SDAI:

Будет создан новый экземпляр sdai_model. Model. name будет установлен в ModelName. Model. underlying_schema будет установлена в Schema. Model. mode не будет установлен.

Model.contens.instances и Model.contens.populated folders будут пустыми.

Model, contens. folders будут содержать одиночный экземпляр entity_extent для каждого entity_definition a Schema, entities, с entity_extent. definition установит для соответствия entity_definition и entity_extent. instances, будучи пустыми.

4.3.2.2 Категории операций

Операции SDAI могут быть разделены на несколько категорий:

•    операции окружения

•    операции сеанса