Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции - Часть 6.doc
Скачиваний:
34
Добавлен:
02.05.2014
Размер:
5.45 Mб
Скачать

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

4. Управление в реальном масштабе времени. Часто системе реального време­ни приходится принимать управляющие решения на основе входных дан­ных, без участия человека. Так, автомобильная система круиз-контроля, призванная поддерживать постоянную скорость машины, должна управ­лять дросселем в зависимости от текущей скорости.

Однако могут быть и некритичные по времени компоненты. Например, сис­тема сбора данных в реальном времени должна принимать информацию сразу, иначе она будет потеряна, но анализ полученных сведений допустим и позже.

5. Реактивные системы [20] управляются событиями и долж­ны реагировать на внешние стимулы. Обычно реакция системы зависит от ее текущего состояния, то есть не только от самого внешнего стимула, но и от того, что происходило в системе раньше.

6. Обзор нотации uml

В методе COMET используется нотация из унифицированного языка моделиро­вания UML, которая объединила нотации, предложенные Бучем [16], Джекобсоном [21], Рамбо [16] и Харелом [20]. Представим краткий обзор нотации UML.

Co временем нотация UML расширялась, и теперь в ней поддерживается много различных диаграмм.

6.1. Диаграммы uml

В нотации UML поддерживаются девять видов диаграмм:

– диаграммы прецедентов;

– диаграммы классов;

– диаграммы объектов, являющиеся вариантом диаграмм классов в примене­нии к экземплярам. В методе COMET вместо них работают консолидиро­ванные диаграммы кооперации;

– диаграммы кооперации;

– диаграммы последовательности;

– диаграммы состояний;

– диаграммы деятельности (в COMET не используются);

– диаграммы компонентов (в COMET не используются).

– диаграммы развертывания.

6.2. Диаграммы прецедентов

Актер (actor) инициирует прецедент. Прецедент (use case) описывает после­довательность взаимодействий между актером и системой. Актер изображается на диаграмме прецедентов в виде фигуры человечка, система – в виде прямоуголь­ника, прецедент – в виде эллипса внутри этого прямоугольника. Коммуникаци­онные ассоциации связывают актеров с теми прецедентами, в которых они участ­вуют. Между прецедентами могут быть отношения include (включает) и extend (расширяет). Пример диаграммы прецедентов представлен на рис.6.1.

6.3. Нотация uml для классов и объектов

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

Рис. 6.1. Диаграммы прецедентов в нотации UML

В прямоугольнике класса всегда вписано имя класса. Дополнительно могут быть указаны атрибуты и операции класса. Когда присутствуют все три эле­мента, то в верхней секции прямоугольника находится имя класса, в средней – атрибуты, а в нижней – операции.

Для того чтобы отличить класс (тип) от объекта (экземпляра типа), имя объекта под­черкивается. Объект может обозначаться как anObject,anotherObject:Class или :Class. Классы и объекты встречаются в разных диаграммах UML.

Рис. 6.2. Объекты и классы в нотации UML

6.4. Диаграммы классов

На такой диаграмме классы изображаются в виде прямоугольников, а стати­ческие (постоянные) отношения между ними – в форме дуг. Поддерживаются три основных типа отношений между классами (рис. 6.3):

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

Допустимы следующие кратности ассоциации: ровно один (1), присутствие экземпляра класса необязательно (0..1), нуль или более (*), один или более (1..*) и точное задание числа экземпляров классов (m..n), где m и n - числа;

иерархии агрегирования и композиции. Это отношения вида целое/часть. Отношение композиции (изображается закрашенным ромбом) накладыва­ет более сильные ограничения на экземпляры классов, чем отношение агре­гирования (показывается незакрашенным ромбом). Ромб одной вершиной примыкает к прямоугольнику класса, являющегося частью в отношении вида «часть/целое»;

иерархия обобщения/специализации. Это отношение вида «является». Обоб­щение изображается в виде стрелки, ведущей от подкласса (потомка) к су­перклассу (родителю), причем стрелка упирается в прямоугольник супер­класса.

Видимость определяет, доступен ли элемент класса вне самого класса (рис. 6.4). Показывать видимость на диаграмме необязательно. Открытая видимость, изобра­жаемая символом + (плюс), означает, что элемент виден извне класса.

Закрытая видимость, отмеченная знаком – (минус), свидетельствует о том, что элемент ви­ден только внутри класса, в котором он определен, а от других классов скрыт. За­щищенная видимость, показываемая знаком #, говорит о том, что элемент ви­ден внутри класса, в котором определен, а также во всех подклассах этого класса.

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

Рис. 6.4. Нотация UML для обозначения видимости на

диаграмме классов