Главная » Просмотр файлов » 2. Язык UML. Руководство пользователя. Буч_ Рамбо_ Якобсон (2-е издание) (2006)

2. Язык UML. Руководство пользователя. Буч_ Рамбо_ Якобсон (2-е издание) (2006) (1185732), страница 60

Файл №1185732 2. Язык UML. Руководство пользователя. Буч_ Рамбо_ Якобсон (2-е издание) (2006) (Язык UML. Руководство пользователя. Буч_ Рамбо_ Якобсон (2-е издание) (2006).pdf) 60 страница2. Язык UML. Руководство пользователя. Буч_ Рамбо_ Якобсон (2-е издание) (2006) (1185732) страница 602020-08-25СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 60)

Когда происходит событие,в зависимости от текущего состояния объекта наблюдается некоторый эффект. Эффект – это спецификация поведения, реализуемого внутри автомата. В конечном счете эффекты проявляют себяв выполнении действий, изменяющих состояние объекта или возвращающих какоеFлибо значение. Состояние объекта – это периодвремени, в течение которого он удовлетворяет заданным условиям,выполняет некую деятельность или ожидает определенного события.Вы можете визуализировать динамику выполнения некоторогопроцесса двумя способами: подчеркивая поток управления от однойдеятельности к другой (при помощи диаграммы деятельности) илиже выделяя потенциальные состояния объекта и переходы междуними (при помощи диаграммы состояний).Хорошо структурированные автоматы подобны хорошо структурированным алгоритмам: они эффективны, просты, адаптируемыи понятны.Рассмотрим жизненный цикл домашнего термостата в погожийосенний день.

Ранним утром ничто не тревожит его покой. Температура в доме стабильна, а если не налетит ураган и не поднимется сильный ветер, то и температура снаружи не должна меняться.Ближе к рассвету наблюдается иная картина. Солнце встает изFзагоризонта, и температура воздуха на улице слегка повышается.Начинают просыпаться члены семьи; вот ктоFто вылез из кроватии подкрутил регулятор. Оба этих события важны для системы терморегуляции дома. Термостат начинает вести себя, как все порядочные устройства его класса: отдает команду либо обогревателю (чтобы подогреть воздух), либо кондиционеру (чтобы его охладить).После того как обитатели дома ушли на работу или в школу,движение прекращается, и температура вновь становится постоянной.

Но тут может вмешаться автоматика, которая приказываеттермостату понизить температуру, чтобы не расходовать зря электроэнергию и газ. Термостат снова принимается за работу. Ближек концу дня автоматическая программа снова «оживает», но на этотраз велит поднять температуру, потому что скоро семейство окажется в полном сборе, и к этому моменту дом должен стать уютным.Вечером, когда дом наполнен теплом, исходящим от человеческих тел, а на плите готовится еда, у термостата масса работы: он должен включать то обогреватель, то кондиционер. Наконец, ночью всеснова успокаивается.Многие программные системы ведут себя подобно термостату.Сердечный стимулятор работает круглосуточно, но адаптируетсяк изменениям кровяного давления или выполняемой человеком работе.

Сетевой маршрутизатор тоже работает непрерывно, незаметноперенаправляя потоки битов, а иногда изменяя свое поведение в ответ на команды администратора сети. Сотовый телефон работаетпо запросам, отвечая на действия своего владельца и на сообщенияот локальных ретрансляторов сотовой связи.МоделироваВ UML моделирование статических аспектов системы выполние струкняется с помощью диаграмм классов и объектов. Они позволяюттурныхвизуализировать, специфицировать, конструировать и документиаспектовровать те сущности, которые «живут» внутри системы, включаясистемы об- классы, интерфейсы, компоненты, узлы, варианты использованиясуждаетсяи их экземпляры, а также связи между ними.в частях IIДинамические аспекты системы в UML моделируются конечи III.ными автоматами (state machines).

В то время как взаимодействиемоделирует сообщество объектов, совместно работающих для выполнения некоторых действий, автомат моделирует жизненный цикл отдельного объекта – будь то экземпляр класса, варианта использованияКонечные автоматы314Динамические аспектысистемтакжеможно моделироватьпри помощивзаимодействий (см.главу 16);события обсуждаютсяв главе 21.Диаграммыдеятельности обсуждаютсяв главе 20,диаграммысостояний –в главе 25.или даже всей системы. За время жизненного цикла в объекте может происходить множество разнообразных событий, таких какпередача и прием сигналов, вызовы операций, создание и уничтожение объекта, истечение периодов времени, отведенного на некоедействие, либо изменение какихFто условий. В ответ на эти событияобъект выполняет определенное действие, представляющее собойвычисление, а затем изменяет свое состояние на другое.

Поэтомуповедение такого объекта зависит от прошлого, по крайней мерев той степени, в которой оно влияет на его текущее состояние. Объект может принять событие, ответить на него действием, затем изменить свое состояние. Когда же он принимает другое событие, егореакция может быть другой – в зависимости от текущего состояния,которое является результатом предыдущего события.Автоматы используются для моделирования поведения любого элемента – чаще всего класса, варианта использования или всейсистемы. Автоматы могут быть визуализированы на диаграммахсостояний. Вы можете сосредоточиться на поведении объекта, зависящем от последовательности событий, что особенно удобно длямоделирования реактивных систем.Графическое представление состояний, переходов, событийи эффектов в UML продемонстрировано на рис. 22.1.

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

Изображается сплошной линией со стрелкой или путем, направленным от исходного состоянияк новому.Деятельность (activity) – происходящий в данный момент неатомарный процесс внутри автомата.Действие (action) – исполняемое вычисление, в результате которого изменяется состояние модели или возвращается некотороезначение. Изображается в виде прямоугольника с закругленнымиуглами.КонтекстОбъектыобсуждаютсяв главе 13,сообщения –в главе 16.тип событияОбогревСигналыобсуждаютсяв главе 21.Рис.

22.1. АвтоматыТермины и понятияАвтомат – это поведение, специфицирующее последовательность состояний, через которые проходит объект за время своегосуществования в ответ на события, а также его реакцию на эти события.315Каждый объект имеет свой жизненный цикл: сначала создается, затем прекращает свое существование. Между этими двумя событиями объект может влиять на другие объекты, посылая им сообщения, а также подвергаться их влиянию, принимая сообщенияот них. Во многих случаях такие сообщения представляют собойпростые синхронные вызовы операций. Например, экземпляр класса Customer (Покупатель) может вызвать операцию getAccountBalance(ЗапроситьБаланс) на экземпляре класса BankAccount (БанковскийСчет).

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

Например, сотовый телефон должен отвечать на случайные телефонные вызовыс других телефонов, на события нажатия клавиш пользователем,а также на сигналы из сети, когда телефон перемещается из одной«соты» в другую. Кроме того, можно встретить объекты, текущееповедение которых зависит от прошлого. Например, поведение системы управляемой ракеты «воздухFвоздух» зависит от ее текущегосостояния, такого как NotFlying (НеЛетит) – не слишком хорошаяидея запускать ракету с самолета, стоящего на земле! – или Searching(Поиск): не стоит пускать ракету, пока не выбрана цель.Конечные автоматы316Активныеобъектыобсуждаютсяв главе 23,моделированиереактивныхсистем –в главе 25,вариантыиспользования –в главе 17,взаимодействия –в главе 16,интерфейсы –в главе 11.Поведение объекта, который должен отвечать на асинхронныесообщения либо его текущее поведение зависит от прошлого, лучше всего специфицировать при помощи автоматов.

Это касаетсяэкземпляров классов, которые могут принимать сигналы, включаямногие активные объекты. Фактически объект, который принимает сигнал, но не имеет для него перехода в своем текущем состоянии и не откладывает реакцию на сигнал в этом состоянии, будетпросто его игнорировать. Другими словами, отсутствие переходадля сигнала не является ошибкой; это значит, что в данной точкесигнал не представляет интереса. Вы также будете использоватьавтоматы для моделирования поведения систем в целом, особеннореактивных, которые должны отвечать на сигналы действующихлиц за пределами системы.На заметку. В основном для моделирования поведения вариантов использования применяются взаимодействия, но с тойже целью можно использовать и автоматы.

Также они подходятдля моделирования поведения интерфейсов. Хотя интерфейсможет и не иметь конкретных экземпляров, класс, реализующий его, – может. Такой класс должен соответствовать поведению, специфицированному автоматом для интерфейса.Термины и понятия317 внутренние переходы – переходы, которые обрабатываютсябез смены состояния; подсостояния – вложенные состояния, в том числе неортогональные (последовательно активные) или ортогональные(параллельно активные) подсостояния; отложенные события – список событий, которые не обрабатываются в данном состоянии, но откладываются и помещаются в очередь для обработки объектом в другом состоянии.На заметку.

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

Характеристики

Список файлов книги

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6363
Авторов
на СтудИзбе
310
Средний доход
с одного платного файла
Обучение Подробнее