Введение
Данная система предназначена для автоматизированного управления запасами на складе. Система должна сканировать и распознавать карточки запросов, послать необходимое количество материалов со склада и своевременно возобновлять ресурсы склада.
Так как данная система является нераспределенной, нужно разработать аналитическую модель и отобразить ее на централизованный проект.
Описание задачи
В каждой системе управления запасами склада есть:
- кнопка включения системы. Оператор нажимает кнопку для включения системы;
- кнопки, которые отвечают за управление ресурсами, отправляют материалы со склада и при необходимости заказывают новые материалы у поставщиков;
- кнопки, которые отвечают за исправление ошибки, то есть связи с поставщиком в том случае, если доставлены некачественные материалы.
Минимально количество запасов — 0 уп.
Максимальное количество запасав — 500 уп.
Интерфейс системы понятен и работает в «диалоговом» режиме с оператором. Управление ведется с помощью панели управляющих клавиш, которая содержит клавиши «Запустить систему», «Отправить материалы со склада», «Заказать новые запасы», «Связаться с поставщиком».
Конфигурирование целевой системы
На этапе конфигурирования целевой системы производится отображение подсистем на физические узлы. Одна из возможных конфигураций такова: по одному узлу для каждого экземпляра Подсистемы

Анализ производительности системы управления запасами на складе
В этом разделе мы применим теорию планирования в реальном времени к анализу производительности нераспределенного варианта системы управления запасами на складе.
Сценарий для анализа производительности
Необходимо рассмотреть одну конкретную конфигурацию системы управления процессом управления запасами на складе, а затем проанализировать худший с точки зрения теории планирования случай.
Суммарное затраченное время на исправление одной неполадки рассчитывается по формуле:
Затраченное время = время обработки запроса от кнопок + время, необходимое, чтобы связаться с поставщиком + время исправления неполадки + время поступления сигнала от датчиков обнаружения неполадок и устранения неполадок.
Время обработки запроса от кнопок в худшем случае составляет 1 сек. Время наступления очередной неполадки невозможно предугадать, обозначим его как t. Время поступления сигнала от датчика наличия неполадок занимает в худшем случае также 1 сек. На принятие решения об связи с поставщиком для исправления неполадок оператор тратит в среднем 5 с. Время, необходимое поставщику, чтобы добраться до запасов, в котором произошла неполадка, занимает в среднем 350 секунд. Время исправления неполадки в среднем составляет 600 сек. Все в сумме дает в среднем 955 сек.
Последовательности событий
Рассмотрим соответствующие прецеденты последовательности событий в нераспределенной системе (рис.30).
Последовательность событий «Запуск системы»
G1: Интерфейс кнопок получает и обрабатывает прерывание.
G2: Интерфейс кнопок посылает Оператору сообщение Запрос на обслуживание.
Последовательность событий «Связаться с поставщиком»
Е1: Интерфейс кнопок получает и обрабатывает прерывание.
Е2: Интерфейс кнопок посылает Оператору сообщение Запрос на обслуживание.
Е3: Оператор принимает сообщение и проверяет объект Состояние.
Е4: Объект Интерфейс Датчиков отображает информацию об устранении неполадки на Интерфейс Монитора Контроля Управления запасом.
Е5: Объект Интерфейс Датчиков отображает информацию об устранении неполадки на Интерфейс Монитора Контроля Обнаружения неполадок.

Назначение приоритетов
Параметры задач в нераспределенной системе управления запасами приведены в табл.1. Период задачи Запуск системы берется равным 100 мс, период задачи устранение неполадок системе — 200 мс. Задача Оператор рассматривается так, словно представляет собой две разные задачи, поскольку встречается в двух разных последовательностях. В первом случае ее период равен 100 мс (частота активизации Интерфейса Кнопки для запуска системы), во втором — 200 мс (частота активизации Интерфейса Кнопки для устранения неполадок в системе). Задача Интерфейс Кнопок в последовательности событий «Запуск системы» имеет наивысший приоритет 1, за ней с приоритетом 2 следует задача Оператор (а). После последовательности «Запуск системы» происходит последовательность «Устранение неполадок в системе», которая начинается с задачи Интерфейс Кнопок со следующим приоритетом 3, затем отправляется запрос на обслуживание Оператору (б) с приоритетом задачи 4, затем запускается задача Интерфейс Датчиков с приоритетом 5, который отображает информацию об устранении неполадки на Монитор контроля управления запасами и Монитор контроля обнаружения неполадок с приоритетами 6 и 7 соответственно. Таким образом, задачи запускаются в соответствии с их приоритетом, более приоритетная задача успевает выполниться до завершения ее периода, поэтому вытеснения менее приоритетной задачи не происходит.
Задача | Время ЦПС | Период Т | Коэффициент использования U | Назначенный приоритет |
Последовательность событий «Запуск системы» | ||||
Интерфейс Кнопок (а) | 6 | 100 | 0,06 | 1 |
Оператор (а) | 9 | 100 | 0,09 | 2 |
Полное затраченное время 15 мс | Полный коэффициент 0,15 | |||
Последовательность событий «Связаться с поставщиком» | ||||
Интерфейс кнопок (б) | 6 | 200 | 0,03 | 3 |
Оператор (б) | 9 | 200 | 0,045 | 4 |
Интерфейс Датчиков | 12 | 200 | 0,06 | 5 |
Монитор контроля Управления Запасом | 6 | 200 | 0,03 | 6 |
Монитор контроля неполадок | 10 | 200 | 0,05 | 7 |
Полное затраченное время 43 мс | Полный коэффициент 0,215 | |||
Планирование в реальном времени для нераспределенной архитектуры
Сложение коэффициентов использования ЦП для всех задач в табл.1 дает полный коэффициент 0,365, то есть намного меньше значения 0,69, полученного из теоремы о верхней границе. Но, поскольку присвоение приоритетов произведено с нарушением принципа частотной монотонности, необходим более детальный разбор.
Анализ выполняется для каждой последовательности, так как критично время, требующееся для завершения именно последовательности, а не каждой задачи в отдельности. Нужно принять во внимание вытеснение задачами с более высоким приоритетом, а также блокировку низкоприоритетными задачами.
Вытеснение иногда возникает из-за задач в других последовательностях событий, имеющих более короткий период и более высокий приоритет. Они способны вытеснять любую задачу несколько раз. Причиной вытеснения бывают также более приоритетные задачи с большими периодами, например высокоприоритетные задачи, управляемые прерываниями, которые принадлежат последовательностям событий с длинными периодами. Но такого рода вытеснения не могут происходить более одного раза. Затраты времени на блокировку связаны с низкоприоритетными задачами, захватившими ресурс, который нужен высокоприоритетной задаче, в данном случае речь идет об объекте Состояние и связаться с поставщиком.
Ниже приводится анализ планирования в реальном времени для каждой последовательности событий. Его результаты представлены на временной диаграмме: предполагается худший случай, когда все внешние прерывания возникают одновременно. На рисунке изображены только задачи и обмен сообщениями между ними. Доступ к пассивным объектам не показан, так как он происходит в контексте потока управления задачи.
Последовательность событий «Запуск системы»
Задачи, входящие в последовательность событий: Интерфейс Датчика Управления запасами и Оператор. Период этой последовательности составляет 100 мс.
Рассмотрим четыре фактора, вытекающие из обобщенной теории планирования в реальном времени:
- время выполнения задач в последовательности событий. 6 мс для задачи Интерфейс Датчика Управления запасами, затем 9 мс для задачи Оператор, что в сумме дает Са = 15 мс. Коэффициент использования ЦП за счет выполнения Ua = Са / Та = 15 / 100 = 0,015;
- время вытеснения более приоритетными задачами с меньшими периодами. Поскольку эта последовательность имеет наименьший период, таких задач нет;
- вытеснение более приоритетными задачами с большими периодами. Поскольку задачи этой последовательности имеют наибольшие периоды, вытеснение отсутствует;
- время блокировки Ва отсутствует.
Теперь можно определить суммарное затраченное время и полный коэффициент использования ЦП.
Суммарное затраченное время = время выполнения + время вытеснения + время блокировки = 15 + 0 + 0 = 15 мс, что меньше периода, равного 100 мс.
Полный коэффициент использования = коэффициент использования за счет выполнения + коэффициент использования за счет вытеснения + коэффициент использования за счет блокировки = Up + Uс = 0,15 + 0 + 0 = 0,15, что меньше верхней границы 0,69.
Согласно обобщенной теореме о верхней границе коэффициента использования и обобщенной теореме о времени завершения, задачи в последовательности событий достижение максимальной наполненности удовлетворяют временным ограничениям.
Последовательность событий «Связаться с поставщиком»
Задачи, входящие в последовательность событий: Интерфейс датчика обнаружение неполадок, Контролер и Оператор. Период этой последовательности Тb равен 200 мс.
Рассмотрим те же четыре фактора, что и выше:
- время выполнения задач в последовательности событий. 6 мс для задачи Интерфейс Кнопок, затем 9 мс для задачи Оператор, затем 12 мс для Интерфейса Датчиков, далее 6 мс для Интерфейса Датчика Управления запасами и, наконец, 10 мс для Интерфейса Датчика Обнаружения неполадок, что в сумме дает Сa = 43 мс. Коэффициент использования ЦП за счет выполнения Ue = Сa / Тa = 43/ 200 = 0,215;
- время вытеснения более приоритетными задачами с меньшими периодами. Поскольку все задачи выполняются последовательно, и более приоритетная задача успевает выполнится до истечения своего периода, вытеснение отсутствует;
- вытеснение более приоритетными задачами с большими периодами. Поскольку эта последовательность имеет наибольший период, таких задач нет;
- время блокировки Ва отсутствует.
Таким образом, получаем:
Суммарное затраченное время = время выполнения + время вытеснения + время блокировки в худшем случае = 43 + 0 + 0 =43 мс, что меньше периода, равного 200мс.
Полный коэффициент использования = коэффициент использования за счет выполнения + коэффициент использования за счет вытеснения + коэффициент использования за счет блокировки = Ue + Up + Ub = 0,215 + 0 + 0 = 0,215, что меньше верхней границы 0,69.
Согласно обобщенной теореме о верхней границе коэффициента использования и обобщенной теореме о времени завершения, задачи в последовательности событий Устранение неполадок на складе удовлетворяют временным ограничениям.

Заключение
В результате проведенной работы была спроектирована система реального времени — управление запасами на складе.
По ходу разработки системы, были рассмотрены основные этапы построения системы реального времени, ее основные параметры, функции, методы управления и ее общее представление.