Помощничек
Главная | Обратная связь


Археология
Архитектура
Астрономия
Аудит
Биология
Ботаника
Бухгалтерский учёт
Войное дело
Генетика
География
Геология
Дизайн
Искусство
История
Кино
Кулинария
Культура
Литература
Математика
Медицина
Металлургия
Мифология
Музыка
Психология
Религия
Спорт
Строительство
Техника
Транспорт
Туризм
Усадьба
Физика
Фотография
Химия
Экология
Электричество
Электроника
Энергетика

Структура подсистемы этажа



В описанном выше распределенном решении существует по одному экзем­пляру Подсистемы Этажа для каждого этажа. В каждом таком экземпляре есть по одному экземпляру задач Интерфейс Кнопок Этажа, Монитор Лампочек Этажа и Монитор Лампочек Направления, то есть для каждого устройства вво­да/вывода имеется отдельная задача.

Архитектура задач для Подсистемы Этажа показана на рис.25. Она ана­логична архитектуре для нераспределенного решения (см. рис.19) с тем отли­чием, что экземпляров подсистем существует несколько.

Задача Интерфейс Кнопок Этажа посылает Запросы на Обслуживание, содер­жащие информацию о вызове на данный этаж, Планировщику. И Монитор Лампо­чек Этажа, и Монитор Лампочек Направления получают сообщения о состоянии в форме команд лампочкам от нескольких экземпляров задачи Контроллер Лифта. Интерфейсы задач для пересмотренной архитектуры изображены на рис.26.

Рис.23. Архитектура задач для Подсистемы Лифта


Рис.24. Архитектура задач для подсистемы Лифта: интерфейсы задач

 


 

 

Рис.25. Архитектура задач для Подсистемы Этажа

 

Рис.26. Архитектура задач для Подсистемы Этажа: интерфейсы задач

 

10.3. Структура подсистемы планировщика

Существует единственный экземпляр подсистемы Планировщик, которая со­стоит из двух задач и одного скрывающего информацию объекта. Это объект аб­страгирования данных Сводное Состояние и План Движения Лифта, который содержит текущее состояние каждого лифта и план его движения, описывающий, какие этажи лифт должен посетить (см. рис.216).

В любом узле доступ к объекту Локальное Состояние и План Движения Лифта осуществляется со стороны задач Контроллер Лифта и Диспетчер Лиф­та. Но, чтобы Планировщик знал состояния и планы движения всех лифтов, каждый Контроллер Лифта посылает ему сообщения о состоянии, извещающие о прибытии лифта на этаж и отбытии с него. Кроме того, Диспетчер Лифта пере­дает Планировщику два вида сообщений об обязательствах лифта с уведомлени­ем о тех этажах, которые лифт планирует посетить:

– уведомления о том, что пассажир нажал кнопку лифта; Планировщик та­ким образом информируется об этажах, на которые лифт заедет по указан­ной причине;

– подтверждения, то есть ответы Подсистемы Лифта на Запросы Планиров­щика, требующие, чтобы лифт заехал на определенные этажи с целью за­брать пассажиров.

Подсистема Планировщика разбита на две задачи: Сервер Состояния и Плана Движения Лифта (серверная задача) и Планировщик Лифта (коорди­нирующая задача). Первая принимает сообщения о состоянии и обязательствах лифта и обновляет объект Сводное Состояние и План Движения Лифта, а вто­рая принимает Запросы на Обслуживание от нескольких экземпляров задачи Интерфейс Кнопок Этажа. Каждый раз при получении сообщения Запрос на Обслуживание задача Планировщик Лифта проверяет, собирается ли какой-ни­будь лифт заехать на указанный этаж. Если нет, она выбирает лифт и посылает задаче Диспетчер Лифта, соответствующей этому лифту, сообщение Запрос Планировщика. Архитектура задач для Подсистемы Планировщика показана на рис.27. Интерфейсы задач для пересмотренной архитектуры изображены на рис.28.

Объект абстрагирования данных Сводное Состояние и План Движения Лифта предоставляет операции прибыл, отбыл, обновитьПлан и выбратьЛифт (см. рис.216 и 28). Задача Сервер Состояния и План Движения Лифта вызывает операции прибыл или отбыл, когда получает сообщение о состоянии. При получении сообщения об обязательстве лифта она вызывает операцию об­новитьПлан.

Интерфейсы подсистем

После определения интерфейсов задач во всех трех подсистемах можно обно­вить архитектуру распределенной программы с целью показа интерфейсов под­систем (см. рис.29). На самом деле все интерфейсы принадлежат той или иной из ранее рассмотренных задач.

 




Поиск по сайту:

©2015-2020 studopedya.ru Все права принадлежат авторам размещенных материалов.