146
вующих последовательных процессов, описываемых в соответствии с
правилами алгебры Хоара.
Язык программирования – Java.
Основу системы составляет библиотека классов, реализующих
различные типы событий, процессов и алгоритмов передачи данных.
Библиотека моделей программ обработки информации содержит опре-
деления сложных процессов, моделирующих наиболее типичные зада-
чи обработки информации, через список внутренних событий и собы-
тий-взаимодействий. Для использования программных средств моде-
лирования в интерактивном режиме служит подсистема организации
диалога, позволяющая задавать описание процессов через список со-
ставляющих их событий, сохранять эти описания в библиотеке моде-
лей программ обработки информации для дальнейшего использования,
составлять программные сети, объединяя процессы через события-
взаимодействия.
Подсистема моделирования запускает процесс, определяющий ис-
следуемую сеть, проводит трассировку процесса моделирования, сбор
информации о динамике заполненности буферов программных кана-
лов передачи данных и передает собранную информацию в подсисте-
му
организации диалога.
Рассмотрим структуру классов моделирующего комплекса. Каж-
дый новый производный класс обладает как свойствами, унаследован-
ными им от родительского класса, так и приобретает новые, характер-
ные только для данного класса.
Класс
PBase
− это абстрактный базовый класс, который является
предшественником всех других классов.
PBase определяет общее для
них поведение через методы, позволяющие классам создавать, изме-
нять и удалять внутренние структуры данных.
Класс
PEvent
− базовый класс, определяющий поведение простого
события какого-либо процесса. В качестве параметра
PEvent содержит
ссылку на следующее в списке событие процесса. При запуске объекта
из данного класса событие всегда успешно завершается и устанавлива-
ет следующее из списка событий процесса. Производными от этого
класса являются классы, описывающие более сложные события.
Класс
PEventDo определяет конструкцию бесконечного цикла. Па-
раметрами являются ссылка на начало списка событий данного цикла
и ссылка на событие, которому передается управление при необходи-
148
типичные задачи обработки информации. Набор базовых моделей
процессов обработки информации включает в себя:
• модель программы-источника одного потока данных;
• модель программы−преобразователя с произвольной задержкой
данных;
• модель программы блочной обработки с произвольным размером
блока;
• модель программы дублирования входного потока данных в два
выходных;
• модель программы обработки двух потоков данных с выводом
результата в один поток ;
• модель программы обработки двух потоков данных.
Подсистема
организации диалога работает в двух режимах: созда-
ние и редактирование моделей программ обработки и составление
программных сетей, реализующих параллельную обработку.
В
режиме создания и редактирования моделей программ обработ-
ки информации пользователь может определить как простой процесс,
который имеет список событий, совпадающий с иерархией классов,
производных от класса
PEvent, так и сложный процесс, являющийся
последовательной комбинацией нескольких простых. Результатом яв-
ляется модель последовательной программы обработки информации, у
которой внешние события-взаимодействия выступают как формальные
параметры.
В
режиме составления и редактирования программных сетей
пользователь задает параллельную композицию используемых моде-
лей программ путем их перечисления с явным именованием каналов
передачи данных (событий-взаимодействий). Далее выбирается способ
реализации каналов передачи данных (буферизованная передача или
небуферизованная) и запускается процесс моделирования исполнения
сформированной сети программ обработки информации либо на одном
компьютере (в режиме разделения времени), либо на нескольких про-
цессорах (в режиме параллельного исполнения). В случае выбора бу-
феризованной реализации каналов передачи данных дополнительно
указывается размер буфера каждого канала (возможно установить
одинаковый размер буфера для всех каналов). В результате моделиро-
вания дается сообщение о реализуемости исследуемой сети программ
149
обработки информации: успешное завершение или состояние взаим-
ной блокировки. В случае успешного завершения пользователь может
просмотреть информацию о пиковых значениях заполняемости буфе-
ров программных каналов передачи данных и, при необходимости,
трассировку процесса моделирования. В случае блокировки исследуе-
мой потоковой сети пользователю выводится информация о заполне-
нии буферов на момент блокировки и распечатывается трассировка
процесса моделирования.
Достарыңызбен бөлісу: