Управление ливневой канализацией
![]()
|
7.1. Выделение задач в подсистеме управления исправлением ошибокРассмотрим архитектуру задач Подсистемы управления исправлением ошибок для нераспределенного случая. На диаграмме кооперации Исправление ошибок нужно обратить внимание на объект интерфейса устройства, который получает входную информацию от актера, и затем проследить цепочку взаимодействий. Объект Интерфейс датчика исправления ошибок выделяется в самостоятельную задачу Интерфейс датчика (актер нажимает на кнопку для исправления ошибок) с помощью критерия асинхронного интерфейса устройства ввода. Применив инверсию задач, мы проектируем одну задачу, которая будет отвечать за все датчики системы, вместо того чтобы иметь по одной задаче на каждый датчик. Задача Интерфейс датчика активизируется прерыванием, возникающим при включении любого датчика. Затем она считывает входную информацию от датчика и посылает запрос Диспетчеру, а сама тем временем готовится к приходу следующего прерывания. Диспетчер, который является объектом-координатором, получает сообщения от Интерфейса датчика в данном прецеденте. Он выделяется в координирующую задачу, активизируемую приходом сообщения Запрос датчика. Диспетчер выделяется в отдельную задачу-координатор, которая активизируется асинхронно по событию Включение системы или Выключение системы. Итак, в нераспределенной системе управления приборами Подсистема управления исправлением ошибок разбивается на две задачи: Интерфейс кнопок и Диспетчер. Предварительная архитектура задач изображена на начальной диаграмме параллельной кооперации (рис.13). 7.2. Выделение задач в подсистеме шлюзовОбъекты Интерфейс датчика функционирования водоприемника и Интерфейс датчика отправки исправления ошибки выделяются в самостоятельную задачу Интерфейс датчиков на основе критерия асинхронного интерфейса устройства ввода и критерия группировки задач. В случае нераспределенного решения задача Интерфейс датчиков отвечает за обработку ввода внешней информации. Она активизируется прерыванием, обрабатывает его и посылает Запрос на обслуживание объекту Диспетчер, после чего готова к приходу следующего прерывания. Бывает так, что различные экземпляры задач одновременно посылают запросы датчикам. В таком случае необходимо иметь для каждого устройства задачу-монитор ресурса, которая сможет сериализовать обработку параллельных запросов. Итак, выявилась потребность в задачах Монитор контроля функционирования водоприемника, Монитор контроля ошибок. Все объекты Интерфейса датчика функционирования водоприемника отображаются на задачу Монитор контроля функционирования водоприемника. Все объекты Интерфейса датчика исправления ошибок отображаются на задачу Монитор контроля исправления ошибок. Задачи, из которых состоит Подсистема водоприемника в нераспределенной системе управления прибором, показаны на рис. 13. 7.3. Выделение задач в подсистеме диспетчераВ случае нераспределенного решения Диспетчер – это подсистема, которая состоит из одного объекта-координатора, выделенного в задачу. Задача Диспетчер активизируется по запросу, в частности после получения Запроса на обслуживание, и выбирает режим, наиболее подходящий для его удовлетворения. Поскольку речь идет о нераспределенном решении, очевидно, что Диспетчер может напрямую читать Состояние. Архитектура задач для нераспределенного случая представлена на рис. 13. Рис.13. Нераспределенная система управления ливневой канализацией: архитектура задач |