Моделирования uml


которые вводятся для удобства описания динамического


Download 1.84 Mb.
Pdf ko'rish
bet88/115
Sana16.06.2023
Hajmi1.84 Mb.
#1489923
1   ...   84   85   86   87   88   89   90   91   ...   115
Bog'liq
ivanov novikov unificirovannii jazik modelirovanija uml 2011

которые вводятся для удобства описания динамического 
процесса 
выполнения 
статически 
определенного 
графа 
деятельности. Никаких маркеров на диаграмме деятельности нет — 
на диаграмме деятельности присутствуют узлы. Но во время 
выполнения деятельности маркеры появляются, перемещаются между 
узлами и исчезают. Правила появления, перемещения и исчезновения 
маркеров описаны ниже, после описания типов узлов графа 
деятельности.
Рис. 4.17. Диаграмма деятельности UML 1 
Узлы графов деятельности в UML 2 бывают трех видов: узлы 
действий, узлы объектов и узлы управления. Кроме того, на 
диаграммах деятельности UML 2 бывают составные узлы — они 
называются областями. Следует заметить, что каждый из видов узлов 


168
делится на подвиды, так что всего вариантов сущностей довольно 
много. Мы охватим примерами и объяснениями все, но не все в этом 
параграфе. 
Самыми важными являются узлы действий (action node). 
Действительно, трудно представить себе разумную деятельность, 
которая не включает каких либо действий. Номенклатура действий в 
UML 2 описана в предыдущем параграфе. 
Мы включаем вызов деятельности в число действий и никак 
синтаксически не выделяем на диаграммах. В UML 2 между 
действием и деятельностью существует еще одно существенное 
различие. Все действия заранее предопределены и описаны в 
спецификации. Если разработчику нужно описать какой-либо особое 
поведение, он должен использовать для этого деятельность. При этом 
поведение можно описать отдельно, а в конструируемую в данный 
момент деятельность включить в действие по вызову деятельности.
23
Узлы действий в UML 2 похожи на состояния действия в 
UML 1, но имеют важнейшее отличие. Для действий в UML 2 можно 
указать, что является входной и выходной информацией действия, 
задав входные и выходные контакты.
Контакт (pin) — это указание аргумента или результата 
действия. 
Контакт может иметь имя и тип. 
Именно через контакты путешествуют маркеры данных по 
графу деятельности в процессе выполнения. Через входные контакты 
действие принимает свои аргументы, а через выходные контакты 
выдает свои результаты. 
23
Некоторые авторы выделяют вызовы деятельности в отдельный 
вид узлов на графе деятельности и используют специальный значок в 
форме трезубца направленного вниз для графического выделения таких 
узлов. Трезубец показывает, что где-то существует другая диаграмма 
деятельности, 
на 
которой 
описана 
последовательность 
действий, 
составляющих данную деятельность. 


169
Графически контакты изображаются в виде маленьких 
квадратиков, прикрепленных к сторонам фигуры, изображающей 
деятельность (см. третий вариант на рис. 4.18).
Следующим по порядку являются узлы объектов (object node). 
Они включают в себя следующие четыре разновидности:
контакт — мы уже дали определение выше и несколько раз 
вернемся к этому важнейшему нововведению ниже. Фактически это 
то, во что превратился "объект в состоянии" из UML 1; 
параметр деятельности (activity parameter) — это тот же 
контакт, только он изображается на границе рамки деятельности. 
Контакты действия по вызову некоторой деятельности должны 
соответствовать по количеству, именам и типам параметрам этой 
деятельности;
центральный 
буфер 
(central buffer) — искусственная 
конструкция, используемая в тех случаях, когда необходимо показать 
неоднозначность пути маркеров данных в графе деятельности. 
Центральный буфер имеет несколько входящих и несколько 
исходящих дуг. Он может принять маркер данных по любой из 
входящих дуг и немедленно отправить его далее по любой из 
исходящих дуг;
хранилище данных (data store) — аналог понятия переменной, в 
которую можно несколько раз (с заменой данных) записать значение 
(поместить маркер данных), и потом неограниченное число раз его 
читать (брать копию маркера данных). В некотором смысле 
хранилище данных — это частный случай центрального буфера, 
применимый для хранения маркера данных.
24
Предыдущий список должен породить у внимательного 
читателя недоумение: как же так, мы определяем контакт и как 
24
Хранилища данных применяются очень часто, это фактически 
локальные переменные, они нужны практически на любой диаграмме 
деятельности. Центральный буфер применяется очень редко, это особый 
случай параллелизма. 


170
составляющую действия, и как отдельную сущность. Здесь нет 
противоречия. На рис. 4.18 представлены различные варианты 
нотации для контактов. Сверху изображен "объект в состоянии" (1) в 
нотации UML 1, а затем допустимая промежуточная форма (2). 
Характерная для UML 2 нотация (3) как видно гораздо лаконичнее 
принятой в UML 1. К основной нотации контакта в UML 2 можно 
добавить примечание со стереотипом 
«transformation»
(4), чтобы 
специфицировать требуемое приведение типов. И, наконец, поток 
передаваемых данных может быть просто не специфицированным (5). 
Семантически все формы нотации эквивалентны.
«transformation»
Type1 to Type2
Action 1
Action 2
name:Type
Action 1
Action 2
name:Type
Action 1
Action 2
Type
Type
Action 1
Action 2
Action 1
Action 2
Type1
Type2

Download 1.84 Mb.

Do'stlaringiz bilan baham:
1   ...   84   85   86   87   88   89   90   91   ...   115




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling