Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Все лекции по системам реального времени.pdf
Скачиваний:
261
Добавлен:
02.05.2014
Размер:
8.11 Mб
Скачать

СИСТЕМЫ РЕАЛЬНОГО ВРЕМЕНИ

107

В нотации UML активный объект или задача изображается пря- моугольником с жирной границей. Активный объект имеет собствен- ный поток управления и исполняется параллельно с другими объек- тами. Этим он отличается от пассивного объекта, не имеющего сво- его потока управления.

Пассивный объект исполняется только тогда, когда другой объ- ект (активный или пассивный) вызовет одну из его операций. Будем называть активный объект задачей, а пассивный просто объектом.

Задачи отмечаются на диаграммах параллельной кооперации, которые позволяют наглядно представить параллелизм в системе [17]. На та-

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

Рис. 6.10. Нотация UML для активных и пассивных объектов

6.8.1. Обмен сообщениями на диаграммах параллельной коопе-

рации. Интерфейс для обмена сообщениями на диаграмме параллель- ной кооперации может быть слабо связанным (loosely coupled) или сильно связанным (tightly coupled). В последнем случае производитель посылает сообщение потребителю и ожидает немедленного подтвер- ждения. Сильно связанный обмен бывает двух видов: сильно связан-

ный обмен сообщениями с ответом и сильно связанный обмен сооб- щениями без ответа.

Нотация UML для нескольких видов обмена сообщениями пред- ставлена на рис. 6.11. На рис.6.12 изображен вариант диаграммы коо- перации с активными объектами (параллельными задачами или про- цессами), а также разные типы передачи информации между ними.

6.9. Диаграммы развертывания

www.pdffactory.com

СИСТЕМЫ РЕАЛЬНОГО ВРЕМЕНИ

108

На диаграмме развертывания очерчивается физическая конфи- гурация системы, то есть физические узлы и соединения между ними (например, связывающая их сеть). Узел представляется в виде куба, а соединение в виде линии, ведущей от одного куба к другому. По сути, диаграмма развертывания не что иное, как диаграмма классов с акцентом на узлах системы [16].

Узлом, как правило, является компьютер, при этом макси- мальное число экземпляров узла может быть ограничено (см. раздел 6.10). Для физического соединения имеется стереотип, задающий тип соединения, например «локальная сеть» или «глобальная сеть». На рис. 6.13 показаны узлы двух типов: банкомат (каждый такой клиент занимает ровно один узел), соединенный с банковским сервером, ко- торый также размещен в одном узле. В кубе, представляющем узел, могут также изображаться объекты, находящиеся в этом узле. Во вто- ром примере, где несколько клиентов и серверов соединены локаль- ной сетью, сама сеть также присутствует в виде узла. Подобная нота- ция применяется в тех случаях, когда в сети есть более двух узлов- компьютеров.

Рис. 6.11. Нотация UML для сообщений

www.pdffactory.com

СИСТЕМЫ РЕАЛЬНОГО ВРЕМЕНИ

109

Рис. 6.12. Нотация UMLдля. параллельной диаграммы кооперации

Рис. 6.13. Нотация UML для диаграммы развертывания

6.10.Механизмы расширения UML

ВUML имеется три механизма расширения языка [16]:

стереотипы. Стереотип определяет новый строительный блок, производный от существующего в UML элемента моделирова-

www.pdffactory.com

СИСТЕМЫ РЕАЛЬНОГО ВРЕМЕНИ

110

ния, но адаптированный к решаемой задаче. В UML определено не- сколько стандартных стереотипов, но проектировщик может созда- вать и собственные. Названия стереотипов заключаются в кавычки. На рис.6.1 два вида зависимостей между прецедентами отмечены сте- реотипами «include» и «extend». На рис.6.9 представлены стереотипы «система» и «подсистема» для обозначения разных видов пакетов. На рис.6.10 стереотипы помогают отличить активные объекты от пас- сивных: активному объекту соответствует стереотип «задача», а пас- сивному – «объект». На рис.6.11 с помощью стереотипов задаются разные виды сообщений;

помеченные значения. Помеченное значение расширяет свой- ства строительного блока UML, сообщая тем самым новую информа- цию. Оно заключается в фигурные скобки {метка = значение}. Друг от друга помеченные значения отделяются запятыми. Например, класс на рис. 6.14 имеет два помеченных значения (номер версии и автор): {версия = 1.0, автор = Gill};

Рис. 6.14. Нотация UML

для помеченных значений и ограничений

ограничения. Ограничение задает условие, которое должно выполняться. В UML ограничение семантически расширяет элемент, добавляя новые правила или изменяя существующие. Напри-мер, в классе Счет на рис.6.14 есть ограничение на атрибут баланс, со- стоящее в том, что баланс не должен быть отрицательным {баланс ≥ 0}. Помимо этого, в состав UML входит объектный язык ограничений

Object Constraint Language [28].

www.pdffactory.com