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


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

Диаграмма последовательности



 

Диаграмма последовательности (являющаяся разновидностью диаграмм взаимодействия) представляет взаимодействие объектов в рамках одного варианта использования. Данный тип диаграмм удобно использовать в ситуациях, когда имеет место простое поведение, без возникновения циклов и сложных условных переходов.

В задаче о двух баках диаграммой последовательности удобно описать поведение системы в основном варианте использования - "Режим нормальной работы системы".

Диаграмма последовательности для данного варианта использования представлена на рис. 58 (временные интервалы соответствуют параметрам, представленным в табл. 1):

Рисунок 58 - Диаграмма последовательности

Диаграмма деятельностей

 

Диаграммы деятельностей удобны для изображения взаимодействия вариантов использования. Также они удобны для описания вариантов использования, содержащих условные переходы.

В задаче с двумя баками удобно диаграммой деятельностей представить взаимодействие вариантов использования, а также описать каждый из "аварийных" вариантов использования.

На рис. 59 представлена диаграмма, описывающая взаимодействие вариантов использования:

 

Рисунок 59 - Диаграмма деятельностей №1

 

На рис. 60 представлено описание варианта использования "Периодическое открытие/закрытие выходного крана":

Рисунок 60 - Диаграмма деятельностей №2

 

На рис. 61 представлено описание вариантов использования Переполнение первого бака и Переполнение второго бака:

Рисунок 61 - Диаграмма деятельностей №3

Диаграмма состояний

 

Как уже упоминалось выше, диаграммы состояний определяют все возможные состояния, в которых может находиться конкретный объект, а также смены состояний объекта в результате влияния неких событий.

Исходя из этого, а также используя ранее построенные диаграммы, в задаче о двух баках можно определить диаграммы состояний следующих объектов: Controller : Controller, Two_Tanks : Two_Tanks, Vin_Control : Vinput _Controller; а также диаграмма состояний объектов K1_Control и K2_Control класса K_Control (общая для обоих объектов, так как у них одинаковая логика поведения).

Диаграмма состояний объекта Controller : Controller представлена на рис. 62:

Рисунок 62 - Диаграмма состояний №1

 

Данная диаграмма отражает логику поведения объекта Controller. Процесс начинается с начальной точки, затем следует мгновенный переход в состояние Ожидание_1, в котором входным действием является посылка сигнала VinOn, открывающего входной кран Vinput. По истечении времени Time1 происходит переход в состояние Ожидание_2, в котором входным действием является посылка сигнала V1On, открывающего кран между баками. По истечении времени Time2 происходит переход в состояние Ожидание_3, в котором входным действием является посылка сигнала V2On, открывающего выходной кран V2. В данном состоянии объект находится до тех пор, пока не станет истинным условие перехода h2<L_minus, говорящий о том, что уровень воды во втором баке стал ниже уровня L_minus. Если условие выполняется, то объект переходит в состояние Ожидание_4, в котором входным действием является посылка сигнала V2Off, отключающее кран V2. Объект находится в этом состоянии до тех пор, пока не выполняется условие перехода h2>=L_plus, говорящее о том, что что уровень воды во втором баке стал выше уровня L_plus. Тогда объект переходит обратно в состояние Ожидание_3 и цикл замыкается.

Диаграмма состояний объекта Two_Tanks : Two_Tanks представлена на рис. 63:

Рисунок 63 - Диаграмма состояний №2

 

Данная диаграмма отражает логику поведения объекта Two_Tanks. Процесс начинается с начальной точки, затем следует мгновенный переход в состояние Вычисление_1, в котором выполняется вычисление значений V12, Vout, h1 и h2 до тех пор пока не станет истинным одно из условий перехода. Если истинным станет условие [(h1>=1) или (h2>=1)], то есть, произойдет переполнение какого-либо из баков, то происходит переход в состояние Блокировка, где система блокируется от подачи воды и баки изолируются друг от друга (то есть система как бы «застывает» в состоянии в котором произошла данная аварийная ситуация). Если становится истинным условие [h2>H], то есть, уровень воды во втором баке поднимается выше уровня подключения к нему трубы от первого бака, то объект переходит в состояние Вычисление_2 в котором уменьшается скорость подачи воды во второй бак и так же происходит вычисление значений V12, Vout, h1 и h2. Это происходит до тех пор, пока истинным не станет одно из условий перехода. Если истинным станет условие [(h1>=1)^(h2>=1)], то произойдет переход в состояние Блокировка, а если истинным станет условие [h2<=H], то есть уровень воды во втором баке опустится до уровня подключения к нему трубы от первого бака, то объект переходит в состояние Вычисление_1 и цикл замкнется.

Диаграмма состояний объекта Vin_Control : Vinput_Control представлена на рис. 64:

Рисунок 64 - Диаграмма состояний №3

 

Данная диаграмма отражает логику поведения объекта Vin_Control. Процесс начинается с начальной точки, затем следует мгновенный переход в состояние Выключен, в котором выполняется выключение крана Vinput. Объект находится в этом состоянии до тех пор, пока не поступит сигнал VinOn и не станет истинным условие [VinOn=true]. Тогда объект переходит в состояние Включен, в котором происходит включение крана Vinput. Объект находится в этом состоянии до тех пор, пока не станет истинным условие [VinOff=true], то есть не будет получен сигнал о выключении входного крана. Тогда объект вернется в состояние Выключен и цикл замкнется.

Диаграмма состояний объектов К1_Control и К2_Control представлена на рис. 65:

Рисунок 65 - Диаграмма состояний №4

 

Данная диаграмма отражает логику поведения объектов К1_Control и К2_Control.

Она состоит из двух суперсостояний - Закрытие и Открытие, определяющих закрытие и открытие крана V1 (или V2). Процесс начинается с начальной точки, затем следует мгновенный переход в состояние Закрытие, в котором объект находится до тех пор, пока не выполниться условие [VXOn=true], обозначающее приход сигнала VXOn, включающего кран V1 (или V2). Тогда объект переходит в состояние Открытие, в котором находится до тех пор, пока не придет сигнал на закрытие крана, то есть не станет истинным условие [VXOn=true]. По этому сигналу объект возвращается в предыдущее состояние и цикл замыкается. В суперсостоянии Закрытие содержаться два подсостояния - Выключение и выключен. При попадании в данное суперсостояние объект сразу попадает в состояние Выключение в котором происходит выключение крана до тех пор, пока не выполниться условие [P>=80]. Это означает, что задвижка крана дошла до предельного состояния. В этот момент выполняется выходное действие, закрывающее кран, и объект переходит в состояние Выключен. В нем он находится до тех пор, пока не будет получен сигнал на переход во второе суперсостояние. При попадании во второе суперсостояние объект сразу попадает в состояние Включение в котором происходит включение крана до тех пор, пока не выполниться условие [P<=0]. Это означает, что задвижка крана дошла до предельного состояния. В этот момент выполняется выходное действие, открывающее кран, и объект переходит в состояние Включен. В нем он находится до тех пор, пока не будет получен сигнал на переход обратно в первое суперсостояние. Тогда объект переходит обратно в состояние Закрытие и цикл замыкается.

 

Задание

 

Используя описание в терминах UML построить модель задачи о двух баках, реализованные в подсистеме Simulink пакета Matlab и в пакете Model Vision Studium (MVS).

В отчете по лабораторному практикуму должны быть приведены:

 

1. описание системы в терминах унифицированного языка моделирования UML;

2. модели данной системы, реализованные в конкретных пакетах визуального моделирования (Simulink и MVS) на основе полученного описания;

3. результаты численных экспериментов и их объяснение (Результаты численных экспериментов для подсистемы Simulink пакета Matlab и пакета Model Vision Studium представить в таблице).

Таблица – Результаты численных экспериментов

 

    Метод   Первое переключение Десятое переключение
Время (303.13) h2 Время (2669.9) h2
         

 

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

 

1. Бусленко В.П. Моделирование сложных систем. – М.: Наука, 1973.

2. Ту Современная теория управления. – М.: Машиностроение, 1971.

3. Колесов Ю.Б., Сениченков Ю.Б. Вычислительные пакеты. – СПб.: Мир и Семья, 2000.

4. Stefan Kowalewski, Olaf Stursberg, Martin Fritz, Holger Graf, Ingo Hoffman, Jorg Preubig, Silke Simon, Manuel Remelhe and Heinz Tresel, "Case study in Tool-Aided Analysis of Discretely Controlled Continuous Systems: the Two Tanks Problem". Presented at the 15th International Workshop on Hybrid Systems (HS V), September 11-13, 1997, Notre Dame, USA.

5. Фаулер, К. Скотт, UML в кратком изложении. Применение стандартного языка объектного моделирования . - М.: Мир, 1999;

6. Скляров, Программирование на языках С и С++. - М.: Высшая школа, 1996;

7. Лингер, Х. Миллс, Б. Уитт Теория и практика структурного программирования. - М.: Мир, 1982;

8. Пановко Я.Г. Введение в теорию механических колебаний. - М.: Наука, 1971;

9. Беликов Б.С. Решение задач по физике. Общие методы. – М.: Высшая школа, 1986;

10. Варфоломеев С.Д., Гуревич К.Г. Биокинетика. Практический курс.- М.: Фаир-Пресс, 1999;

11. Федоров М.П., Романов М.Ф. Математические основы экологии. - СПб.: СПбГТУ, 1999.

 

 




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

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