ГОСТ Р ИСО 20242-2—2012
Интерфейс RMSI может поддерживать любое количество разных типов периферийных интерфейсов,
которые, в свою очередь, могут иметь любое количество каналов связи. Сервис io„initiate создает объект
для интерфейса заданного типа, a io_opon — для канала связи. Следовательно, объекты интерфейсов
различного типа могут находиться вразныхсостояниях, так же каки объекты различных каналов интерфей са
одного типа. На рисунке 4 показан пример с двумя областями и произвольным количеством объектов для
интерфейса указанного типа и канала.
6.7.3 Диаграмма состояний канала
Для обеспечения обмена данными с периферийными интерфейсами (выполнения рабочих процедур с
периферийными компонентами) необходимо учитывать время выполнения запроса, наличие блокировки и
возможность отмены процесса переработки информации. На рисунке 5 дана диаграмма состояний на уни
фицированном языке моделирования UML. содержащая подробности указанных процедур.
io_open request — Запрос на открытие канала; io_close — Закры тие канала; W riteldle and Executeldle and Readldle —
Ввод, выполнение операции и считывание на свободном канале; Channel configuration — Выбор конфигурации
канала; io_config request — Запрос на конфигурирование; io_open confirm or k>_config confirm — Подтверждение
открытия или конфигурирования: Channel working — Рабочее состояние канала: io _d ear — Очистка: W riteldle —
Выполнение ввода в свободном канале; Executeldle — Выполнение операции в свободном канале; R eadldle —
Считывание в свободном канале; io_write request — Запрос на ввод: io_execute request — Запрос на выполнение
операции; io_read request — Запрос на считывание; io_start — Сервис подтверждения объема переданной ин
формации; W riting — Состояние ввода; Executing — Состояние выполнения; Reading — Состояние считыва ния;
io_write confirm — Подтверждение ввода: io_execute confirm — Подтверждение выполнения; io_read confirm —
Подтверждение считывания: io_cancel or W ritetim eOut or W riteFinished — О тм ена ввода’вывода. или блокировка ввода,
или заверш ение ввода; io_cancel or ExecuteTim eO ut orExecuteFim shed — О тм ена ввода’вывода. или блоки ровка
выполнения, или заверш ение выполнения; io_car>cef or R eadTim eO ut or R eadFinished — О тм ена ввода/ вывода, или
блокировка считывания, или заверш ение считывания; W riteEnd — Окончание ввода: ExecuteEnd —
Окончание выполнения; ReadEnd — Окончание считывания.
Рисунок 5 — Диаграм м а состояний R M S -канала и сервис ввода/вывода
38