АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Выделение задач в подсистеме Вентиляции

Читайте также:
  1. I СИТУАЦИОННЫЕ ЗАДАЧИ ПО ПРОФИЛЬНЫМ РАЗДЕЛАМ
  2. I. МЕТА І ЗАДАЧІ ВИВЧЕННЯ НАВЧАЛЬНОЇ ДИСЦИПЛІНИ
  3. I. ОСНОВНЫЕ ЦЕЛИ, ЗАДАЧИ И ПРИНЦИПЫ ДЕЯТЕЛЬНОСТИ КПРФ, ПРАВА И ОБЯЗАННОСТИ ПАРТИИ
  4. I. Постановка организационных задач предприятия.
  5. I. Цель и задачи изучения дисциплины
  6. II. Розв’язати задачу № 1, 2 (3, 4).
  7. II. ЦЕЛИ И ЗАДАЧИ
  8. II. Цели и задачи Конкурса
  9. II. Цели и задачи учебно-ознакомительной практики
  10. II. ЦЕЛИ, ЗАДАЧИ И НАПРАВЛЕНИЯ ДЕЯТЕЛЬНОСТИ КЛУБА
  11. II. ЦЕЛИ, ЗАДАЧИ, ПРЕДМЕТ И ВИДЫ ДЕЯТЕЛЬНОСТИ ОРГАНИЗАЦИИ
  12. III. Задачи ОЦП

Рассмотрим архитектуру задач Подсистемы Вентиляции для нераспределенного случая.

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

Разберем диаграмму состояний Управление Вентиляцией на рис.7. Здесь есть зависящий от состояния управляющий объект, который исполняет диаграмму состояний. На этапе анализа все аспекты физического объекта «вентиляция», связанные с управлением, были отображены на управляющий объект Управление Вентиляция (см. рис.7 и 9). Если имеется несколько вентиляции, то управляются они за­висимо друг от друга при помощи одного пульта ДУ. В ходе разбиения на задачи каждый объект Управление Вентиляцией отобра­жается на отдельную задачу Контроллер Вентиляции. Любая задача исполняет диа­грамму состояний для своей Вентиляции, как показано на рис.7.

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

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

Следовательно, на основе критерия группировки задач допустимо объединить объекты Интерфейс Системы нагревания\охлаждения и Интерфейс Датчиков с задачей Контроллер Вентиляции.

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

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

9.2. Выделение задач в подсистеме датчиков

Перейдем к архитектуре задач в Подсистеме Датчики, изображенной на рис.13. В подсистеме работает только 2 задачи – Задача Измерения текущей температуры и Задача измерения загрязненности воздуха. Обе используют реальные физические объекты Датчик Температуры и Датчик Загрязненности. Эти устройства могут работать синхронно. Поэтому целесообразно объединить описанные задачи в одну – Задача измерения температуры и загрязненности.

9.3. Выделение задач в подсистеме планировщика

В случае нераспределенного решения Планировщик — это подсистема, кото­рая состоит из одного объекта-координатора, выделенного в задачу. Задача Пла­нировщик активизируется по запросу, в частности после получения Запроса Температуры, и выбирает действие, наиболее подходящее для его удовлетворения. Таким образом происходит выбор нагревать или охлаждать воздух.

Поскольку речь идет о нераспределенном решении, очевидно, что Планиров­щик может напрямую читать Состояние и Планирование Вентиляции. Следователь­но, различные экземпляры задачи Контроллер Вентиляции не обязаны посылать Пла­нировщику сообщения. Архитектура задач для нераспределенного случая представлена на рис.15.


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |

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



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.004 сек.)