УСТРОЙСТВО ДЛЯ МОДЕЛИРОВАНИЯ СИСТЕМ МАССОВОГО ОБСЛУЖИВАНИЯ
DEVICE FOR SIMULATING MASS SERVICE SYSTEM

Изобретение относится к специализированным средствам вычислительной техники и может быть использовано при моделировании многорежимных систем массового обслуживания (СМО) для оценки показателей их функционирования.
Известно устройство для моделирования систем массового обслуживания (СМО), содержащее генератор случайного потока импульсов, три счетчика, три элемента ЗАПРЕТ, пять элементов И, триггер, два элемента ИЛИ, реверсивный счетчик и группу блоков моделирования выполнения работ, каждый из которых представляет собой линию случайной временной задержки. Устройство позволяет моделировать СМО с учетом работы нескольких исполнителей - авт. свид. СССР №1305701, G06F 15/20, 1985.
Недостатком этого устройства является то, что оно не позволяет моделировать обслуживание заявок в двухрежимных СМО с учетом отказов и восстановлений ее элементов, повторного обслуживания заявок, не выполненных из-за отказов ее элементов, выполнения требуемого количества элементарных операций и ограниченными возможностями каждого исполнителя по количеству выполняемых операций.
Прототипом изобретения является устройство для решения задачи анализа работы систем массового обслуживания, содержащее генератор случайного потока импульсов, выход которого соединен со входами первых счетчика импульсов, элемента И и элемента запрета, выход которого соединен со входами вторых элемента запрета и элемента И, выход которого соединен с суммирующим входом реверсивного счетчика, выходы которого соединены с входами первого элемента ИЛИ и третьего элемента И, выход которого соединен со входами первого элемента запрета и первого элемента И, выход которого соединен со входом второго счетчика импульсов, выход первого элемента ИЛИ соединен со входами четвертого и пятого элементов И и третьего элемента запрета, выход которого соединен со вторым входом триггера, выход которого соединен со входами второго элемента И и второго элемента запрета, выход которого соединен с первым входом триггера и первым входом первого элемента ИЛИ, третий счетчик импульсов, выход которого соединен со входами третьего элемента запрета, четвертого и пятого элементов И, выходы которых соединены соответственно со входом второго элемента ИЛИ и вычитающим входом реверсивного счетчика, группу генераторов случайных импульсов, группу элементов задержки и группу элементов И, третий элемент ИЛИ, выход которого соединен со входом третьего счетчика импульсов, генератор тактовых импульсов и группу формирователей импульсов, причем выходы второго элемента ИЛИ и третьего счетчика соединены со входами запуска и установки генераторов случайных импульсов группы соответственно, выходы которых через соответствующие формирователи импульсов группы соединены со входами элементов И группы, выходы которых соединены со входами третьего элемента ИЛИ, выход генератора тактовых импульсов соединен через соответствующие элементы задержки группы со входами соответствующих элементов И группы - патент РФ №2043655, G06F 7/08,1995.
Недостатком этого устройства является то, что оно не позволяет моделировать обслуживание заявок в двухрежимных СМО с учетом отказов и восстановлений ее элементов, повторное обслуживание заявок, прекращенное из-за отказов ее элементов, а также не позволяет определять времена наработки, восстановления и количество отказов элементов и другие показатели функционирования СМО при различных программах функционирования.
Техническая задача, решаемая изобретением, - расширение функциональных возможностей устройства за счет моделирования обслуживания заявок в двухрежимных системах массового обслуживания при различных программах функционирования с учетом отказов и восстановлений ее элементов, повторного обслуживания заявок, прерванных из-за отказов ее элементов, а также сбора, регистрации статистических данных о временах наработки и восстановления, отказах ее элементов и потерянных заявок из-за них и повторно обслуженных.
Требуемый технический результат достигается тем, что в устройство для моделирования систем массового обслуживания, содержащее генератор случайного потока импульсов, выход которого соединен со входами первого счетчика импульсов, первого элемента И и через первый элемент запрета - с первым входом второго элемента И и первым входом второго элемента запрета, выход которого подключен к первому входу первого элемента ИЛИ, первому входу первого триггера, выход которого подключен ко вторым входам второго элемента запрета и второго элемента И, выход которого соединен с суммирующим входом реверсивного счетчика, выходы которого подключены ко входам второго элемента ИЛИ и третьего элемента И, выход которого соединен со вторыми входами первых элементов запрета и элемента И, выход которого соединен со входом второго счетчика импульсов, выход второго элемента ИЛИ подключен к первым входам четвертого, пятого элементов И и третьего элемента запрета, выход которого соединен со вторым входом первого триггера, второй вход четвертого элемента И соединен со вторыми входами третьего элемента запрета и пятого элемента И, выход четвертого элемента И подключен ко второму входу первого элемента ИЛИ, а выход пятого элемента И соединен с вычитающим входом реверсивного счетчика, группу блоков моделирования выполнения работ, каждый из которых включает первый элемент задержки, шестой элемент И, формирователь импульсов и первый генератор случайных импульсов, выход которого подключен ко входу формирователя импульсов, выход которого соединен с первым входом шестого элемента И, второй вход которого подключен к выходу первого элемента задержки, дополнительно введены блок формирования программы функционирования системы массового обслуживания (СМО), второй триггер, третий элемент ИЛИ, блоки моделирования первого и второго рабочих режимов СМО, каждый из которых содержит седьмой элемент И, группу блоков моделирования выполнения работ, генератор тактовых импульсов, четвертый элемент ИЛИ, третий счетчик импульсов, причем выход генератора тактовых импульсов соединен со входом каждого первого элемента задержки в группе блоков моделирования выполнения работ, а выходы каждого из шестых элементов И группы блоков моделирования выполнения работ подключены к соответствующим входам четвертого элемента ИЛИ, выход которого соединен со входом третьего счетчика импульсов, выход которого подключен к соответствующему входу третьего элемента ИЛИ устройства, выход которого соединен со вторыми входами четвертого, пятого элементов И и третьего элемента запрета, причем каждый блок моделирования выполнения работ дополнительно включает восьмой, девятый элементы И, пятый, шестой и седьмой элементы ИЛИ, третий триггер, второй генератор случайных импульсов, блок генераторов случайных импульсов, счетчики времени наработки, отказов и времени восстановления и второй элемент задержки, причем выход блока формирования программы функционирования СМО соединен со входом второго триггера, первый выход которого соединен с первыми входами восьмых элементов И группы блоков моделирования выполнения работ и с первым входом седьмого элемента И блока моделирования первого рабочего режима СМО, а второй выход второго триггера подключен к первым входам восьмых элементов И группы блоков моделирования выполнения работ и к первому входу седьмого элемента И блока моделирования второго рабочего режима СМО, вторые входы седьмых элементов И блоков моделирования первого и второго рабочих режимов СМО соединены с выходом первого элемента ИЛИ в каждом блоке моделирования выполнения работ, входящих в блоки моделирования первого и второго рабочих режимов СМО, первые входы девятых элементов И подключены к выходу седьмых элементов И, второй вход девятого элемента И соединен с выходом третьего триггера, а выход девятого элемента И подключен к первому входу пятого элемента ИЛИ, второй вход которого подключен к выходу второго генератора случайных импульсов, ко входам останова счетчиков отказов и времени восстановления и к первому входу третьего триггера, второй вход которого соединен с первым входом седьмого элемента ИЛИ, входом запуска счетчика отказов, с первым входом шестого элемента ИЛИ и с выходом восьмого элемента И, второй вход которого подключен к выходу блока генераторов случайных импульсов и через второй элемент задержки - ко входу запуска счетчика времени восстановления и ко входу запуска второго генератора случайных импульсов, выход пятого элемента ИЛИ соединен со входом запуска блока генераторов случайных импульсов, со входом запуска первого генератора случайных импульсов и со входом запуска счетчика времени наработки, вход останова которого подключен к выходу седьмого элемента ИЛИ, второй вход которого соединен с выходом формирователя импульсов, выход шестого элемента ИЛИ соединен со входом останова первого генератора случайных импульсов, выходы третьих счетчиков блоков моделирования первого и второго рабочих режимов СМО подключены ко вторым входам шестых элементов ИЛИ блоков моделирования выполнения работы соответственно.
Структурная схема устройства представлена на фиг.1. Форма импульсов на выходе блока формирования программы функционирования системы массового обслуживания представлена на фиг.2.
Устройство содержит генератор 1 случайного потока импульсов, счетчики импульсов 2, 3, элементы запрета 4, 5, 6, элементы И 7, 8, 9, 10, 11, триггеры 12, 13 (управляющий триггер), элементы ИЛИ 14, 15, 16, реверсивный счетчик 17, блок 18 формирования программы функционирования системы массового обслуживания (СМО), блок 19 моделирования первого рабочего режима СМО, блок 20 моделирования второго рабочего режима СМО. Каждый из блоков 19 и 20 содержит генератор 21 тактовых импульсов, элемент ИЛИ 22, счетчик импульсов 23, элемент И 24 и группу блоков 25 моделирования выполнения работ (обслуживания заявок), каждый из которых содержит триггер 26, элементы И 27, 28, 29, элементы ИЛИ 30, 31, 32, счетчик 33 времени наработки, счетчик 34 отказов, счетчик 35 времени восстановления, первый генератор 36 случайных импульсов, формирователь импульсов 37, первый элемент задержки 38, блок 39 генераторов случайных импульсов (моделирует возникновение отказов СМО при выполнении работ), второй генератор 40 случайных импульсов (моделирует случайный момент восстановления работоспособности СМО при выполнении работ), второй элемент задержки 41.
Выход генератора 1 случайного потока импульсов соединен со входом первого счетчика импульсов 2, первыми входами первого элемента запрета 4 и первого элемента И 7, выход которого подключен ко входу второго счетчика импульсов 3, вторые входы элемента И 7 и элемента запрета 4 соединены с выходом третьего элемента И 8. Выход элемента запрета 4 подключен к первым входам второго элемента И 11 и второго элемента запрета 6, вторые входы которых соединены с выходом первого триггера 12, выход элемента И 11 подключен к суммирующему входу реверсивного счетчика 17, выходы которого соединены со входами элемента И 8 и входами второго элемента ИЛИ 14, выход которого подключен к первым входам пятого элемента И 10, третьего элемента запрета 5 и четвертого элемента И 9, выход которого соединен со вторым входом первого элемента ИЛИ 15, первый вход которого подключен к выходу элемента запрета 6 и первому входу триггера 12. Выход третьего элемента ИЛИ 16 соединен со вторыми входами элемента И 9, пятого элемента И 10 и третьего элемента запрета 5, выход которого подключен ко второму входу триггера 12, а выход пятого элемента И 10 соединен с вычитающим входом реверсивного счетчика 17.
Выход блока 18 формирования (задания) программы функционирования многорежимной СМО соединен со входом второго (управляющего) триггера 13, первый выход которого подключен к первому входу седьмого элемента И 24 блока 19 моделирования первого рабочего режима СМО и первым входом восьмого элемента И 28 в каждой группе блоков 25 моделирования выполнения работ, входящих в блок 19. Второй выход триггера 13 соединен с первым входом элемента И 24 блока 20 моделирования второго рабочего режима СМО и первым входом восьмого элемента И 28 в каждой группе блоков 25 моделирования выполнения работ, входящих в блок 20.
Выход элемента ИЛИ 15 соединен со вторыми входами элементов И 24 в блоках 19 и 20.
В каждом блоке 19 и 20 выходы элементов И 24 подключены к первым входам девятых элементов И 27 блоков 25. В каждом блоке 25 выход элемента И 27 соединен с первым входом пятого элемента ИЛИ 30, выход которого подключен ко входу запуска счетчика 33 времени наработки, входу запуска первого генератора 36 случайных импульсов, входу запуска блока 39 генераторов случайных импульсов.
Вход останова счетчика 33 соединен с выходом элемента ИЛИ 32, второй вход которого подключен к выходу формирователя импульсов 37 и к первому входу элемента И 29. Первый вход элемента ИЛИ 32 соединен со входом запуска счетчика 34 отказов, с выходом восьмого элемента И 28 и со вторым входом третьего триггера 26, выход которого соединен со вторым входом девятого элемента И 27.
Выход второго генератора 40 случайных импульсов соединен со входом останова счетчика 35 времени восстановления, вход запуска которого подключен ко входу запуска генератора 40 и к выходу второго элемента задержки 41, вход которого соединен со вторым входом восьмого элемента И 28 и выходом блока 39 генераторов случайных импульсов. Выход генератора 40 также подключен ко второму входу пятого элемента ИЛИ 30, входу останова счетчика 34 отказов и первому входу триггера 26. Второй вход шестого элемента И 29 соединен с выходом первого элемента задержки 38.
Выходы каждого из шестых элементов И 29 блоков 25, входящих в блоки 19 и 20, соединены со входами четвертого элемента ИЛИ 22, выход которого подключен ко входу счетчика 23 в блоках 19 и 20, выходы счетчиков 23 блоков 19 и 20 подключены ко вторым входам шестых элементов ИЛИ 31 блоков 25, входящих в блоки 19 и 20, и ко входам третьего элемента ИЛИ 16 устройства.
В каждом блоке 25 вход установки генератора 36 соединен с выходом элемента 31, первый вход которого соединен с выходом элемента И 28, вторым входом триггера 26 и входом запуска счетчика 34.
Выход каждого генератора 21 тактовых импульсов в каждом из блоков 19 и 20 подключен ко входу первого элемента задержки 38 в каждом из блоков 25.
Устройство работает следующим образом.
В случае, когда нет очереди и все каналы обслуживания свободны, триггер 12 находится в состоянии, когда элемент запрета 6 открыт и на управляющем входе этого элемента сигнал отсутствует. Импульс от генератора 1, имитирующий поступление заявок, поступает на счетчик 2 поступивших заявок, а также через открытые элементы запрета 4 и 6 - на первый вход триггера 12, а также через элемент ИЛИ 15 поступает на второй (информационный) вход элемента И 24 всех блоков 25, входящих в блок 19, открытый по управляющему первому входу сигналом с первого выхода управляющего триггера 13.
p1
р2
Триггер 12 переключается, закрывая тем самым элемент запрета 6 и открывая элемент И 11. До окончания обслуживания следующие импульсы от генератора 1, имитирующие заявки, поступают на суммирующий вход реверсивного счетчика 17, имитируя образование очереди заявок на обслуживание. Время нахождения триггера 13 определяется блоком 18. На выходе блока 18 формируются импульсы, форма которых представлена на фиг.2, где τ - продолжительность нахождения системы в первом рабочем режиме, а τ - во втором рабочем режиме.
По переднему фронту импульса с выхода блока 18 управляющий триггер 13 срабатывает и на его первом выходе появляется сигнал, который открывает по управляющим входам элементы И 24, И 28 всех блоков 25, входящих в блок 19 (тем самым моделируется нахождение СМО в первом рабочем режиме). По заднему фронту импульса с выхода блока 18 сигнал появляется на втором выходе управляющего триггера 13, который открывает по управляющим входам элементы И 24, И 28 всех блоков 25, входящих в блок 20 (тем самым моделируется переход СМО из первого во второй рабочий режим и последующее нахождение СМО в нем), одновременно закрываются по управляющим входам элементы И 24, И 28 всех блоков 25, входящих в блок 19.
В каждом блоке 25 моделирования выполнения работ (обслуживания заявок) блока 19 импульс с выхода элемента И 24 поступает на первый (информационный) вход элемента И 27, открытого по второму (управляющему) входу сигналом с выхода триггера 26, проходит через элемент ИЛИ 30 и запускает первый генератор 36 случайных импульсов через промежуток времени, моделирующий время выполнения работ исполнителем, на его выходе появляется импульс, который запускает формирователь импульсов 37 блока 25, входящего в блок 19, на выходе которого формируется импульс длительности, пропорциональный количеству элементарных операций, которые выполняет исполнитель.
Этот импульс поступает на первый вход элемента И 29 и открывает его для прохождения импульсов от генератора 21 тактовых импульсов через элемент 38 задержки на выход блока 25, и далее - через элемент ИЛИ 22 - на вход счетчика 23 импульсов блока 19. Элемент 38 задержки обеспечивает сдвиг по фазе импульсов, поступающих на вход счетчика 23 от различных блоков 25 моделирования выполнения работ (обслуживания заявок).
При достижении числом подсчитанных импульсов заданного значения, соответствующего требуемому количеству выполненных работ, на выходе счетчика 23 блока 19 появляется импульс переполнения, который поступает через элементы ИЛИ 31 на установочные входы генераторов 36, возвращая их в исходное состояние, а также через элемент ИЛИ 16 и И 10 - на вычитающий вход реверсивного счетчика 17, уменьшая очередь заявок на единицу, и через элементы И 9, ИЛИ 15, И 24, И 27, ИЛИ 30 - на запуск генераторов 36 блоков 25, входящих в блок 19.
Если в очереди нет заявок, то элемент И 9 закрыт, сигнал с выхода счетчика 23 блока 19 через элемент ИЛИ 16 и элемент запрета 5 переключает триггер 12, который открывает элемент запрета 6 и закрывает элемент И 11. Тем самым устройство приводится в исходное состояние и готово для обслуживания заявки в первом рабочем режиме (если триггер 13 не изменил своего состояния) или во втором рабочем режиме (если триггер 13 изменил свое состояние под воздействием сигнала от блока 18).
При заполнении всей очереди на выходе элемента И 8 появляется сигнал, который закрывает элемент запрета 4 и открывает элемент И 7. При этом новые заявки поступают на вход счетчика 3 потерянных заявок из-за превышения длины очереди.
Моделирование возникновения отказов при нахождении СМО в первом и втором рабочих режимах и случайных моментов восстановления ее работоспособности, повторное обслуживание заявок, находящихся на обслуживании при наступлении отказов и их устранения, сбор и регистрация статистических данных о времени наработки, отказах и времени восстановления элементов СМО при различных программах (режимах) функционирования реализуется следующим образом.
Рассмотрим, например, когда СМО находится в первом рабочем режиме. Импульс, поступивший с выхода генератора 1 и прошедший элементы запрета 4, 6, элемент ИЛИ 15, элементы И 24, И 27, ИЛИ 30 запускает генераторы 36 блоков 25. Этот же импульс одновременно запускает счетчики 33 времени наработки и блок 39 генераторов случайных импульсов. В случайный момент времени на выходе блока генераторов 39 появляется сигнал, имитирующий возникновение отказа в каждом блоке 25 блока 19, который поступает через второй (информационный) вход элемента И 28, открытый по первому (управляющему) входу триггером 13 и через элемент ИЛИ 31 - на установочный вход первого 36 генератора случайных импульсов, тем самым прерывая выполнение работ (обслуживание заявок), запускает счетчик 34 отказов и через элемент ИЛИ 32 - останавливает счетчик 33 времени наработки и переводит триггер 26 в состояние, при котором элемент И 27 закрывается.
Одновременно импульс с выхода блока 39 генераторов через второй элемент задержки 41 запускает второй генератор 40 случайных импульсов и счетчик 35 времени восстановления. В случайный момент времени на выходе генератора 40 появляется сигнал, имитирующий момент восстановления. Этот сигнал подается на входы останова счетчика 34, 35, на первый вход триггера 26, переводя его в исходное состояние и через элемент ИЛИ 30 - на вход запуска генератора 36, имитируя тем самым повторное обслуживание заявки, потерянной из-за отказа.
Сбор и регистрация статистических данных о времени наработки, отказах и времени восстановления элементов СМО при различных программах функционирования осуществляется счетчиками импульсов 33, 34 и 35 блоков 19 и 20 соответственно.
Далее устройство работает аналогично изложенному выше.
Работа устройства во втором рабочем режиме аналогична работе в первом режиме. Перевод из первого во второй рабочий режим и наоборот осуществляется блоком 18 формирования программы функционирования, на выходе которого формируются импульсы, форма которых приведены на фиг.2. Блок 18 формирования программы функционирования может быть реализован, например, в виде задающего генератора, формирователя импульсов и т.п.
Таким образом, устройство позволяет моделировать обслуживание заявок в двухрежимных СМО с учетом отказов и восстановлений ее элементов, выполнения требуемого количества элементарных операций и ограниченными возможностями каждого исполнителя по количеству выполняемых операций, а также повторного обслуживания заявок, потерянных при отказах ее элементов.
Кроме того, устройство позволяет по показаниям счетчиков 2 и 3 определить такие характеристики СМО, как вероятность обслуживания и вероятность отказа в обслуживании из-за занятости (ограничения очереди), по показаниям счетчиков 33, 34, 35 - получить время наработки, количество отказов, время восстановления ее элементов и другие показатели функционирования, например коэффициенты простоя и готовности СМО и т д. По показаниям реверсивного счетчика 17, задействованного в процессе моделирования, может быть определена длина очереди заявок в системе, а также другие показатели функционирования СМО.