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

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

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

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

Если оба состояния неактивны, данное событие не имеет никакого эффекта.Активные объектыАктивныеобъектыобсуждаютсяв главе 23.Другой способ моделирования параллелизма – применение активных объектов. То есть вместо разбиения одного автомата объекта на несколько параллельных областей можно определить дваактивных объекта, каждый из которых реализует поведение однойиз параллельных областей.

Если на поведение одного из этих параллельных потоков влияет состояние другого, это можно смоделировать при помощи ортогональных областей. Если же поведениеодного потока зависит от сообщений, посланных другим или другому, то имеет смысл воспользоваться активными объектами. Еслимежду параллельными потоками происходит лишь минимальноеобщение либо вообще не наблюдается никакого, то в большинствеслучаев применение активных объектов сделает ваш дизайн болеенаглядным.Типичные приемы моделированияМоделирование жизненного цикла объектаНаиболее общее назначение автоматов – моделирование жизненного цикла объекта, в особенности если речь идет об экземплярах классов, вариантов использования и о системе в целом.В то время как взаимодействие моделирует поведение сообществаработающих вместе объектов, автомат моделирует поведение одного объекта в течение его жизненного цикла – например, так, как этоТипичные приемы моделирования333бывает с пользовательскими интерфейсами, контроллерами и различными техническими устройствами.Когда моделируется жизненный цикл объекта, приходится явноспецифицировать три момента: события, на которые объект можетреагировать, непосредственную реакцию на эти события и влияниеболее раннего поведения на текущее.

Кроме того, моделированиежизненного цикла объекта включает в себя принятие решений о порядке, в котором объект может осмысленно реагировать на события,начиная с момента его создания и заканчивая уничтожением.Чтобы смоделировать жизненный цикл объекта, необходимо:Объекты об Определить контекст автомата – будет ли это класс или сиссуждаютсятема в целом:в главе 13,– если речь идет о контексте класса или варианта испольклассы –зования, найти соседние классы, включая всех родителейв главах 4 и 9,данного класса и всех доступных ему по ассоциациям иливариантызависимостям. Эти соседи – потенциальные цели действий,использоа также кандидаты на включение в защитные условия;вания –– если же речь идет о контексте системы в целом, необхов главе 17,димо сосредоточить внимание на какомFто одном аспектесистемы –ее поведения. Теоретически каждый объект системы можетв главе 32,участвовать в моделировании ее жизненного цикла, и за исвзаимодейстключением работы с простейшими системами такие полныевия –модели будут недоступны для понимания.в главе 16, Установить начальное и конечное состояния объекта.

Чтобыкооперации –управлять остальной моделью, возможно, понадобится устав главе 28,новить предF и постусловия начального и конечного состояпредN и посний соответственно.тусловия – Принять решения относительно событий, на которые долв главе 10,жен реагировать объект. Их можно обнаружить в интерфейинтерфейсах объекта (если они уже специфицированы); если же нет,сы – в гласледует рассмотреть, какие объекты могут взаимодействове 11.вать с данным в имеющемся контексте и какие события онимогут передавать и принимать. От начального состояния до конечного выделить те состояния высшего уровня, в которых может находиться объект.Соединить их переходами, инициируемыми соответствующими событиями.

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

Особенно старательно следует поискатьнедостижимые состояния и состояния, в которых автоматможет зациклиться. После реорганизации автомата снова проверить его на предмет того, не изменилась ли семантика объекта.В примере на рис. 22.9 представлен автомат контроллера домашней системы сигнализации, которая отвечает за отслеживаниепоказаний разнообразных датчиков, расположенных по периметрудома.Советы и подсказки335В жизненном цикле этого контроллера имеются четыре основных состояния: Initializing (Инициализация – запуск работы), Idle(Простой – контроллер готов и ожидает сигналов тревоги или команд пользователя), Command (Команда – обработка команд пользователя) и Active (Активен – обработка сигнала тревоги). Впервыесоздаваемый объект контроллера сначала попадает в состояниеInitializing, а затем безусловно переходит в состояние Idle.

Подробности этих двух состояний не показаны, за исключением переходав себя по истечении определенного периода времени (10 с) в состоянии Idle. Временные события подобного рода часто встречаютсяво встроенных системах, где присутствует таймер, вызывающий периодическую проверку работоспособности системы.Управление передается от состояния Idle в состояние Activeпо получении события alarm (тревога). Последнее сопровождаетсяпараметром s, идентифицирующим датчик, который был задет.

Привходе в состояние Active в качестве входного выполняется действиеsetAlarm (поднятьТревогу) и управление передается сначала состоянию Checking (Проверка), затем состоянию Calling (Вызов), обеспечивающему вызов охранной компании для регистрации сигнала тревоги, и, наконец, состоянию Waiting (Ожидание). СостоянияActive и Waiting завершаются только при «очистке» сигнала тревоги(clearAlarm) или же по инициативе пользователя, при посылке события attention (внимание), предположительно предшествующегокоманде.Отметим, что конечного состояния здесь нет. И это опять жетипично для встроенных систем, которые должны работать непрерывно.Советы и подсказкиПри моделировании автоматов на UML следует помнить, чтокаждый из них выражает динамические аспекты отдельного объекта, обычно представляющего экземпляр класса, варианта использования либо систему в целом. Хорошо структурированный автоматдолжен обладать следующими характеристиками:Рис.

22.9. Моделирование жизненного цикла объекта быть достаточно простым и не включать излишних состояний или переходов; благодаря ясному контексту иметь доступ ко всем объектам,видимым его включающему объекту (все эти соседи должныиспользоваться только при необходимости обеспечения поведения, специфицированного автоматом); быть эффективным, то есть реализовывать свое поведениес оптимальным балансом затрат времени и ресурсов.336Моделированиесловаря системы обсуждаетсяв главе 4.Конечные автоматы быть понятным, а потому именовать свои состояния и переходы в терминологии словаря системы; не допускать слишком глубоких уровней вложенности (вложенных подсостояний первогоFвторого уровней вполне хватит для описания самого сложного поведения); умеренно использовать ортогональные области, посколькучасто предпочтительно применение активных классов.При изображении автомата в UML необходимо:Глава 23.

Процессы и потоки избегать пересекающихся переходов; раскрывать составные состояния «по месту» только в томслучае, если это сделает диаграмму более понятной.В этой главе:Представления взаимодействияв контекстеархитектуры программногообеспеченияобсуждаются в главе 2.Активные объекты, процессы и потокиМоделирование множества потоков управленияМоделирование межпроцессной коммуникацииПостроение абстракций защищенных потоковРеальный мир суров и не прощает ошибок; вдобавок к этому в немпостоянно чтоFто случается. Различные события происходят одновременно. Поэтому при моделировании системы, предназначеннойдля работы в реальном мире, следует учитывать ее вид с точки зрения процессов, в котором основное внимание уделяется процессами потокам, лежащим в основе механизмов параллелизма и синхронизации.В UML каждый независимый поток управления моделируетсякак активный объект, описывающий процесс или поток и способныйинициировать некоторое управляющее воздействие.

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

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

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