Форум Сообщества Аналитиков

Общий раздел => Примеры => Тема начата: Vadim от 15 Июня 2018, 10:56:42

Название: Диаграмма деятельности. Выбор по событию
Отправлено: Vadim от 15 Июня 2018, 10:56:42
Если после Действия1 необходимо дождаться События и после этого выполнять Действие2 - см. вложение 1.
Если после Действия1 необходимо пропустить время и после этого выполнять Действие3 - см. вложение 2.
А если после Действия1 необходимо выполнить: если произойдет Событие до истечения времени - Действие2, если время истечет раньше - Действие3. Варианты - вложения 3 и 4.
Название: Re: Диаграмма деятельности. Выбор по событию
Отправлено: Vadim от 15 Июня 2018, 11:00:51
Или так - вложение (в действии без имени ничего не выполняется, оно нужно только чтобы сделать вход в область прерывания). А как лучше и почему?
P.S. Первый из вариантов встретил в http://www.win.tue.nl/~jschmalt/teaching/2IX20/2IX20_Lecture06_activity_FSM.pdf (http://www.win.tue.nl/~jschmalt/teaching/2IX20/2IX20_Lecture06_activity_FSM.pdf) стр.15-20
Название: Re: Диаграмма деятельности. Выбор по событию
Отправлено: [прилетело НЛО и...] от 19 Июня 2018, 12:18:01
Стилистически вложение3 лучше ложится на исходный текст. Вложение4 лучше бы легло на текст "если время истечёт раньше наступления События - Действие3, иначе - Действие2".
Стилистически вложение5 не годится, т. к. "ничегонеделательная" деятельность -- костыль "модельера", который (костыль, не "модельер") не должен торчать явно из модели.
По стандарту, скорее всего, все 3 варианта прочекаются.
P. S. К делу не относится, но задачка от авторов "UML3" (см. слайды 50-51) сомнительная какая-то. Как видится с моей планеты.
Название: Re: Диаграмма деятельности. Выбор по событию
Отправлено: Vadim от 19 Июня 2018, 13:21:50
Стилистически вложение3 лучше ложится на исходный текст. Вложение4 лучше бы легло на текст "если время истечёт раньше наступления События - Действие3, иначе - Действие2".
Согласен. Подходит, если один из вариантов поведения выглядит как основной, а остальные - как дополнительные.
Стилистически вложение5 не годится, т. к. "ничегонеделательная" деятельность -- костыль "модельера", который (костыль, не "модельер") не должен торчать явно из модели.
А как подчеркнуть "равнозначность" вариантов поведения? Может как во вложении?
По стандарту, скорее всего, все 3 варианта прочекаются.
Согласен.
P. S. К делу не относится, но задачка от авторов "UML3" (см. слайды 50-51) сомнительная какая-то. Как видится с моей планеты.
По мне и a) возможно, если A закончится (и C(A) начнется) раньше, чем закончится C(B)! По крайней мере C(A) "starts but is killed". A и B можно поменять местами.
Название: Re: Диаграмма деятельности. Выбор по событию
Отправлено: [прилетело НЛО и...] от 19 Июня 2018, 17:10:28
Введение буфера загромождает модель, как мне кажется, и заставляет действие1 порождать объектный токен.
Прерываемый регион не согласуется с "равнозначностью". Один из двух прерывает другого. Роли не равны.
Прерываемый регион, из которого нет "молнии", сомнителен по стилю. Стандарт в своих ocl-ях зачем-то допускает прерываемые регионы без "молний" и "молнии" без прерываемых регионов. На моей планете не могут взять в толк -- зачем.
Название: Re: Диаграмма деятельности. Выбор по событию
Отправлено: Vadim от 19 Июня 2018, 20:50:37
Введение буфера загромождает модель, как мне кажется, и заставляет действие1 порождать объектный токен.
Согласен, загромождает. Согласен, токен от действие1 к буфер - объектный.
Прерываемый регион не согласуется с "равнозначностью". Один из двух прерывает другого. Роли не равны.
Роли равны - ЛЮБОЙ из двух может прервать другого.
Прерываемый регион, из которого нет "молнии", сомнителен по стилю. Стандарт в своих ocl-ях зачем-то допускает прерываемые регионы без "молний" и "молнии" без прерываемых регионов. На моей планете не могут взять в толк -- зачем.
А какая разница "молнией" или "прямой" выходить из региона - в обоих случаях всё, что связано с регионом прерывается.
Название: Re: Диаграмма деятельности. Выбор по событию
Отправлено: Vadim от 20 Июня 2018, 08:45:28
Ещё вариант:
Название: Re: Диаграмма деятельности. Выбор по событию
Отправлено: Vadim от 20 Июня 2018, 08:58:33
По теме
P. S. К делу не относится, но задачка от авторов "UML3" (см. слайды 50-51) сомнительная какая-то. Как видится с моей планеты.
Диаграмма во вложении эквивалентна диаграмме слайдов?
Название: Re: Диаграмма деятельности. Выбор по событию
Отправлено: [прилетело НЛО и...] от 20 Июня 2018, 11:25:55
Роли равны - ЛЮБОЙ из двух может прервать другого.
Как по мне, в любой из двух реализаций придётся указать прерывающего и прерываемого. Симметрии в решениях не вижу. Язык не даёт подходящего средства.

А какая разница "молнией" или "прямой" выходить из региона - в обоих случаях всё, что связано с регионом прерывается.
ДД -- не мой конёк.
В стандарте сказано, что "молния" прерывает, а обычное ребро -- нет. Т. е. не всякое ребро через границу прерывающее. Также там есть Figure 15.73.
Есть подозрение, что на Ваши последние варианты надо добавить "руну Соул".
Название: Re: Диаграмма деятельности. Выбор по событию
Отправлено: [прилетело НЛО и...] от 20 Июня 2018, 11:26:57
Диаграмма во вложении эквивалентна диаграмме слайдов?
Угу.
Название: Re: Диаграмма деятельности. Выбор по событию
Отправлено: Vadim от 20 Июня 2018, 13:02:28
Угу.
Тогда есть 6 вариантов развития событий - по количеству возможных перестановок моментов окончания A, B, C(A), C(B):
Название: Re: Диаграмма деятельности. Выбор по событию
Отправлено: Vadim от 20 Июня 2018, 13:29:13
Как по мне, в любой из двух реализаций придётся указать прерывающего и прерываемого. Симметрии в решениях не вижу. Язык не даёт подходящего средства.
Может мы слегка запутались. Симметричными я считаю только решения во вложении. Возможно им надо добавить "руну Соул".
ДД -- не мой конёк.
И не мой - я опрометчиво полагал, несмотря на отсутствие практики использования, что в ДД нет ничего "такого".
В стандарте сказано, что "молния" прерывает, а обычное ребро -- нет. Т. е. не всякое ребро через границу прерывающее. Также там есть Figure 15.73.
Figure 15.73 - 4 случая ребра через границу:
Есть подозрение, что на Ваши последние варианты надо добавить "руну Соул".
Возможно
Название: Re: Диаграмма деятельности. Выбор по событию
Отправлено: [прилетело НЛО и...] от 23 Июня 2018, 22:57:18
Может мы слегка запутались.
Авторы стандарта, в частности Бок (http://www.jot.fm/issues/issue_2005_05/column4/index.html) (мама дорогая, сколько лет тому назад) смотрят на прерываемые регионы с использованием метафоры обработки исключительных ситуаций. Вероятно, Вы используете другую метафору. Это ни плохо, ни хорошо. Я пока толкую, исходя из общей с авторами стандарта метафоры.

Можно вводить собственные термины, такие как "по смыслу прерывающее ребро". Но это оправдано, к. м. к., тогда, когда стандартная терминология неудобна или не применима.
Название: Re: Диаграмма деятельности. Выбор по событию
Отправлено: Vadim от 26 Июня 2018, 16:46:35
Авторы стандарта, в частности Бок (http://www.jot.fm/issues/issue_2005_05/column4/index.html) (мама дорогая, сколько лет тому назад) смотрят на прерываемые регионы с использованием метафоры обработки исключительных ситуаций. Вероятно, Вы используете другую метафору. Это ни плохо, ни хорошо. Я пока толкую, исходя из общей с авторами стандарта метафоры.

Можно вводить собственные термины, такие как "по смыслу прерывающее ребро". Но это оправдано, к. м. к., тогда, когда стандартная терминология неудобна или не применима.
Я тоже хочу использовать общую с авторами стандарта метафору, но пока её не осознал!

У всех виденных мной примеров на прерываемые регионы конструкция на прерывание одна и та же - узел приёма события без входящих ребер и единственное выходящее из него прерывающее ребро. Если есть другие примеры - дайте, пожалуйста, ссылки.
Название: Re: Диаграмма деятельности. Выбор по событию
Отправлено: [прилетело НЛО и...] от 29 Июня 2018, 14:59:52
Если есть другие примеры - дайте, пожалуйста, ссылки.
По-моему, их нет. Одна попытка (https://stackoverflow.com/questions/15792687/loop-in-uml-activity-diagram-using-a-region) изобразить прерывающим ребром досрочный выход из цикла скорректирована в пользу стандарта.