Автор работы: Пользователь скрыл имя, 26 Августа 2013 в 00:10, курсовая работа
Данная система должна управлять работой дамбы. Она должна отвечать на команды операторов, а также автоматически управлять исправлением ошибок.
Прежде всего, нужно разработать аналитическую модель и отобразить ее сначала на централизованный, а потом на распределенный проект.
Введение 3
1. Описание задачи 4
2. Модель прецедентов 5
2.1. Прецедент «Запуск системы» 5
2.2. Прецедент «Исправление ошибки функционирования дамбы» 5
2.3. Прецедент «Остановка системы» 6
2.4. Абстрактные прецеденты 6
2.5. Абстрактный прецедент «Автоматический режим работы системы» 7
2.6. Абстрактный прецедент «Планирование работы системы управления дамбой» 8
2.7. Конкретный прецедент «Запуск системы» 8
2.8. Конкретный прецедент «Исправление ошибки функционирования дамбы» 9
3. Статическая модель предметной области 10
4. Разбиение на объекты 12
5. Динамическая модель 13
5.1. Диаграмма кооперации для прецедента «Запуск системы» 13
5.2. Диаграмма кооперации для прецедента «Исправление ошибок» 14
5.3. Диаграмма кооперации для прецедента «Остановка системы» 16
5.4. Консолидация диаграмм кооперации 17
6. Разбиение на подсистемы 19
7. Разбиение системы на задачи 22
7.1. Выделение задач в подсистеме управления исправлением ошибок 23
7.2. Выделение задач в подсистеме шлюзов 24
7.3. Выделение задач в подсистеме диспетчера 25
7.4. Определение интерфейсов задач 26
7.5. Проектирование класса абстрагирования данных 28
7.6. Обсуждение альтернативных архитектур 30
8. Проект распределенной системы управления дамбой 31
8.1. Структура подсистемы управления дамбой 32
8.2. Структура подсистемы шлюзов 34
8.3. Структура подсистемы диспетчера 36
8.4.Интерфейсы подсистем 37
9. Проектирование скрывающих информацию классов 38
9.1. Проектирование классов интерфейса устройств 38
9.2. Проектирование класса, зависящего от состояния 38
10. Разработка детального проекта программы 40
10.1. Проектирование объектов-разъемов 40
10.2. Проектирование составных задач 41
11. Конфигурирование целевой системы. 43
12. Анализ производительности системы управления дамбой. 44
12.1. Сценарий для анализа производительности 44
12.2. Последовательности событий 45
Заключение 47
Список литературы 48
Министерство образования Российской Федерации
уфимский государственный авиационный
технический университет
КУРСОВАЯ РАБОТА
по дисциплине «Системы реального времени»
на тему
«Управление дамбой»
Специальность 230102 – Автоматизированные системы обработки информации и управления
Факультет информатики и робототехники
Кафедра автоматизированных систем управления
Курс 5
Семестр 9
Оценка ________________ Исполнитель
Консультант: студ. гр. Т28-521
(зач. кн. ХХХХХ)
___________ Сулейманова А.М. _________ХХХХХ.Х.Х.
«___» ____________ 2007 г. «___» ___________ 2007 г.
Уфа 2007
СОДЕРЖАНИЕ
Данная система должна управлять работой дамбы. Она должна отвечать на команды операторов, а также автоматически управлять исправлением ошибок.
Прежде всего, нужно разработать аналитическую модель и отобразить ее сначала на централизованный, а потом на распределенный проект.
Управление дамбой осуществляется в системе, которая состоит из датчиков, определяющих:
– слив (в тоннах) по каждому из четырех шлюзов;
– заполненный объем (в процентах) дамбы;
– системное время.
В каждой системе управления дамбами есть:
– кнопка включения и кнопка выключения системы. Оператор нажимает кнопку для включения или выключения системы;
– кнопки, которые отвечают за исправление ошибке в том или ином шлюзе. Оператор нажимает кнопку для исправления ошибки в работе дамбы.
В системе управления дамбой есть один актер - Оператор, который управляет системой. Оператор инициирует три прецедента (рис.1), указанные в описании задачи:
– запуск системы. Оператор запускает систему нажатием кнопки «Старт».
– исправление ошибки. Оператор, нажав кнопку, исправляет ошибки функционирования дамбы.
– остановка системы. Оператор останавливает работу системы нажатием кнопки «Стоп».
Рис.1. Актеры и прецеденты в системе управления дамбой
Актер. Оператор.
Предусловие. Система не работала.
Описание. Оператор нажимает кнопку «Старт». Система функционирует, если возникают неполадки, система прекращает работать.
Альтернативы. Оператор не запускает систему, работа не начинается.
Постусловие. Система работает и выполняет свои функции.
Актер. Оператор.
Предусловие. Оператор находится на рабочем месте, система функционирует, произошла поломка одного или нескольких шлюзов дамбы.
Описание. Оператор нажимает кнопку для исправления ошибки функционирования дамбы.
Альтернативы. Оператор ничего не нажимает, система ничего не предпринимает.
Постусловие. Система выполняет свои функции.
Актер. Оператор.
Предусловие. Система работает.
Описание. Оператор нажимает кнопку «Стоп». Система выключается.
Альтернативы. Оператор не выключает систему.
Постусловие. Система выключена.
Анализ данных прецедентов показывает, что есть две общие последовательности, которые допустимо вынести в абстрактные прецеденты, а затем включить в новые, более простые варианты исходных прецедентов. Первый абстрактный прецедент – это планирование работы системы управления дамбой в ответ на запрос оператора. Его можно назвать – Планирование работы системы управления дамбой. Другую общую последовательность, связанную с исправлением ошибок функционирования системы, удобно вынести в абстрактный прецедент Автоматический режим работы системы. Отношения между прецедентами показаны на рис.2. Прецеденты – Запуск системы, исправление ошибки функционирования дамбы и остановка системы - включают абстрактные прецеденты, которые описываются ниже.
Рис.2. Модель прецедентов с абстрактными прецедентами
Актер. Автомат.
Предусловие. Автомат выключен.
Описание. Оператор нажимает кнопку «Автоматическая обработка ошибок». Автомат включается. Если в одном или нескольких шлюзах поломка, то система автоматически исправляет эту ошибку.
Альтернатива. Оператор не включает автомат, система продолжает работать в прежнем режиме.
Постусловие. Автомат работает.
Предусловие. Должен быть выбран один из режимов работы.
Описание. Оператор нажимает кнопку «Старт». Датчик кнопки посылает системе запрос, что систему необходимо запустить. Если оператор нажал кнопку «Автомат», система дает команду автомату исправить ошибку, если это необходимо. Если кнопка «Автомат» не была нажата, система ждет действий со стороны оператора.
Альтернатива. Если в работе дамбы нет неполадок, система не предпринимает никаких действий.
Постусловие. Система работает в заданном режиме.
Перепишем прецедент Запуск системы с использованием абстрактных прецедентов.
Актер. Оператор.
Предусловие. Система не работает.
Описание.
1. Оператор нажимает кнопку «Старт». Датчик кнопки посылает системе запрос на включение.
2. Запускается абстрактный прецедент «Планирование работы системы управления дамбой».
3. Система ждет действий оператора. Если оператор нажимает кнопку «Автомат», система автоматически исправляет неполадки шлюзов, если таковые имеются.
4. Если оператор не включает автомат, и произошла поломка одного или нескольких шлюзов, оператор нажимает кнопку «Автоматическая обработка ошибок». Датчик кнопки посылает системе запрос на исправление ошибки.
Альтернатива. Оператор не включает систему.
Постусловие. Система работает.
Актер. Оператор.
Предусловие. Оператор находится на рабочем месте, система функционирует, в одном или нескольких шлюзах данных произошла поломка.
Описание.
1. Оператор нажимает кнопку для исправления ошибки функционирования дамбы. Датчик кнопки посылает системе запрос на исправление ошибки.
2. Запускается абстрактный прецедент «Планирование работы системы управления дамбой».
3. Оператор нажимает кнопку «Автомат». Датчик кнопки посылает системе запрос на включение автомата.
4. Запускается абстрактный прецедент «Автоматический режим работы системы».
3 Система автоматически исправляет ошибки функционирования дамбы.
Альтернатива. Оператор не предпринимает никаких действий, происходит наполнение водой водохранилища.
Постусловие. Ошибки функционирования дамбы исправлены.
В статической модели отражаются статические отношения, существующие в системе управления дамбой. Рассмотрим физические классы предметной области (рис.3.) Шлюз – это составной класс, содержащий Датчик функционирования шлюза и Датчик исправления ошибок функционирования. Управление дамбой – это составной класс, содержащий Кнопку включения, Кнопку выключения, Кнопку включения автомата и Кнопку исправления ошибки. Оператор – это составной класс, содержащий кнопку «Старт», кнопку «Стоп», кнопку «Автоматическая обработка ошибок». Класс Управление дамбой ассоциирован с классом Система управления. Класс Система управления, в свою очередь ассоциирована с классом Оператор и классом Шлюз.
Рис.3. Концептуальная статическая
модель системы регистрации
Из диаграммы контекста системы видно, что, за исключением перечисленных составных классов, остальные классы на рис.3, представляющие объекты реального мира, – это внешние устройства, то есть датчики или кнопки. Поэтому они изображены в виде классов внешних устройств ввода или вывода, которые осуществляют интерфейс с системой управления дамбой (рис. 4).
Рис.4. Диаграмма контекста
классов для системы
Рассмотрим программные объекты в системе управления дамбой. Объект Шлюз составлен из нескольких объектов. Поскольку он получает информацию от внешних объектов и управляет внешними объектами, то некоторые его компоненты – это объекты интерфейса устройств ввода/вывода, а именно Датчик функционирования шлюза и Датчик исправления ошибок функционирования.
Для каждого объекта внешнего устройства существует соответствующий объект программного интерфейса. Так, Шлюз получает вызовы от объектов Интерфейс кнопки «Исправить ошибку». В Шлюзе есть также объекты Интерфейс датчика функционирования шлюза, Интерфейс датчика исправления ошибок функционирования, взаимодействующие соответственно с физическим датчиком функционирования шлюза и датчиком исправления ошибок функционирования. С каждым Шлюзом связан управляющий объект Управление дамбой, который включает Интерфейс кнопки включения, Интерфейс кнопки выключения, Интерфейс кнопки включения автомата и Интерфейс кнопки исправления ошибок.
Помимо объектов интерфейса устройств, выявленных с помощью диаграммы контекста классов, нужны еще сущностные и управляющие объекты. Для каждого шлюза необходим сущностный объект Состояние. Под состоянием понимается информация о том, функционирует ли шлюз или есть сбои в функционировании. Также для каждого датчика необходим сущностный объект Состояние. Под состоянием понимается информация о том, в каком режиме работает прибор. Сюда же относят список режимов, которые прибор предоставляет оператору.
Поскольку запросы Оператора могут поступать в любое время, то необходимо создать отдельный объект-координатор Диспетчер, который будет принимать запросы и обновлять план работы шлюзов.
Далее следует определить взаимодействия между объектами, соответствующие каждому прецеденту. В этом примере мы будем пользоваться диаграммами кооперации. Для каждого прецедента разрабатывается своя диаграмма кооперации, на которой изображены участвующие в нем объекты и последовательность их взаимодействий. Кроме того, если в кооперацию вовлечен зависящий от состояния объект Управление дамбой, то последовательность событий также изображается на диаграмме состояний. Ниже приводятся описания сообщений для каждого прецедента.
Диаграмма кооперации для прецедента Запуск системы изображена на рис.5.
Система запускается кнопкой «Старт», передача запросов осуществляется Диспетчером. Вот описание последовательности сообщений:
F1: Поступил Запрос кнопки включения объекту Интерфейс кнопки включения.
F2: Объект Интерфейс кнопки включения посылает Запрос на обслуживание объекту Диспетчер.
F3: Объект Диспетчер передает Запрос объектам Интерфейс датчика функционирования шлюза и Интерфейс датчика исправления ошибок.
F4: Объекты Интерфейс датчика функционирования шлюза и Интерфейс датчика исправления ошибок передают Запрос Датчику функционирования шлюза и Датчику исправления ошибки соответственно.
Рис.5. Диаграмма кооперации для прецедента «Запуск системы»
Диаграмма кооперации для прецедента Исправление ошибок изображена на рис.6.
Система запускается кнопкой «Старт», передача запросов осуществляется Диспетчером. Если с Датчика наличия неполадки в шлюзе поступил положительный сигнал, то Оператор принимает решение, исправить ошибку в Шлюзе или включить автомат и предоставить ему принимать решение об устранении ошибки. Вот описание последовательности сообщений:
Е1: Поступил Запрос кнопки включения объекту Интерфейс кнопки включения.
Е2: Объект Интерфейс кнопки включения посылает Запрос на обслуживание объекту Диспетчер.
Е3: Объект Диспетчер передает Запрос объекту Интерфейс датчика функционирования шлюза.
Е4: Объект Интерфейс датчика функционирования шлюза передает Запрос датчику функционирования шлюза.