Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1. с 1- 7 исправленная (Восстановлен).docx
Скачиваний:
24
Добавлен:
18.03.2015
Размер:
4.88 Mб
Скачать

10. Проект распределенной системы управления вентиляцией

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

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

Альтернативное решение - применение репликации данных. Каждый экземпляр Подсистемы вентиляции хранит собственный локальный объект Локальное Состояние и План Движения Вентиляции. Есть такой объект и у Планировщика, толь­ко в нем содержатся состояния и планы работы всех Вентиляции и называется он Сводное Состояние и Планирование Вентиляции.

Рис.17. Архитектура распределенного ПО

10.1. Структура подсистемы вентиляции

В распределенном проекте для Вентиляции имеется по одному экземпляру Подсистемы Вентиляции, включающему по одному экземпляру задач Контроллер Вентиляции, Интерфейс Датчиков и Диспет­чер Вентиляции. Кроме того, каждый экземпляр Подсистемы Вентиляции хранит собствен­ный локальный экземпляр объекта абстрагирования данных Состояние и Планирование Вентиляции. Архитектура задач для Подсистемы Вентиляции показана на рис.18. Задача Диспетчер Вентиляции получает сообщения Запрос Вентиляции от задачи Интерфейс Пульта ДУ, сообщения Запрос Планировщика от Планировщика и посыла­ет сообщения Обязательство Вентиляция задаче Планировщик. Контроллер Вентиляция отправляет сообщения о состоянии и Подсистеме Вентиляция, и Планировщику.

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

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