DRAKON.SU
https://forum.drakon.su/

Диссертация на тему "Дракон, UML и сети Петри"
https://forum.drakon.su/viewtopic.php?f=62&t=3301
Страница 1 из 1

Автор:  Владимир Паронджанов [ Четверг, 03 Март, 2011 13:49 ]
Заголовок сообщения:  Диссертация на тему "Дракон, UML и сети Петри"

Мне позвонил Игорь Валентинович Зимаев из Новосибирска
и сказал, что работает над кандидатской диссертацией
в которой фигурируют Дракон, UML и сети Петри
(тему диссертации он сам уточнит).

Я спросил: почему он не рассказывает об этом здесь.
Он сказал, что не смог зарегистрироваться, так как не получил
квитанцию, подтвеждающую регистрацию.

ВОПРОС К МОДЕРАТОРУ

Как можно преодолеть это затруднение?
Почему Игорь Зимаев не может зарегистрироваться?
Что ему посоветовать?

Автор:  Евгений Темиргалеев [ Четверг, 03 Март, 2011 14:49 ]
Заголовок сообщения:  Re: Диссертация на тему "Дракон, UML и сети Петри"

Владимир Паронджанов писал(а):
Как можно преодолеть это затруднение?
Почему Игорь Зимаев не может зарегистрироваться?
Что ему посоветовать?
1) Зарегистрироваться ещё раз (приносим извинения) и передать выбранный логин через Вас (ЛС, пожалуйста), либо послать на почту (см. http://oberoncore.ru/contacts)
2) Автоматическая активация пользователей сейчас выключена из-за "спам-роботов", которые регистрируются десятками.
3) Посоветовать использовать логин "Игорь Зимаев"

Автор:  Владислав Жаринов [ Четверг, 03 Март, 2011 19:36 ]
Заголовок сообщения:  Re: Диссертация на тему "Дракон, UML и сети Петри"

Владимир Паронджанов писал(а):
Мне позвонил Игорь Валентинович Зимаев из Новосибирска
и сказал, что работает над кандидатской диссертацией
в которой фигурируют Дракон, UML и сети Петри
(тему диссертации он сам уточнит).
...
Да, интересно было бы. Похоже, речь идёт о новом "исполнимом UML" наряду с описанными (или упомянутыми в списке источников) в этой работе - только уже с импер-частью на базе техноязыка... любопытно, каков будет подход к деклар- и актив-частям, а также к увязывающему их обобщённому представлению процесса как программы.

Автор:  ==== [ Четверг, 03 Март, 2011 21:01 ]
Заголовок сообщения:  Re: Диссертация на тему "Дракон, UML и сети Петри"

Драконограф писал(а):
Да, интересно было бы. Похоже, речь идёт о ...

Аспиранты (данные на 2011 год)
http://www.nstu.ru/science/asp_supervisor/supervisor_info?idPerson=244
Зимаев Игорь Валентинович, дата поступления - 15.10.08, 05.13.01 Системный анализ, управление и обработка информации (в промышленности)

Список работ: 25 - 28, 47, 48
http://www.ciu.nstu.ru/kaf/avt/nauchnaya_deyatelnost/publicationlist/aspPubl

Статья
http://tehnika.science-conf.ru/tehnika1_1.pdf
стр. 36 АВТОМАТИЧЕСКАЯ ТРАНСЛЯЦИЯ УСЛОВНЫХ ПЕРЕХОДОВ UML ДИАГРАММ В ЭЛЕМЕНТЫ СЕТИ ПЕТРИ

Упоминания Дракона нет в статье и в заголовках статей.

Автор:  Владимир Паронджанов [ Четверг, 03 Март, 2011 21:36 ]
Заголовок сообщения:  Re: Диссертация на тему "Дракон, UML и сети Петри"

По ссылке Геннадия Николаевича я прочитал:

Цитата:
1. Зимаев И. В. О возможности автоматической трансляции UML диаграмм деятельности в сети Петри / И. В. Зимаев // Сборник научных трудов НГТУ. Новосибирск. 2010. 1(59). С.149-156.

2. Зимаев И. В. Интеграция структурных и динамических UML-моделей / И. В. Зимаев // Сборник научных трудов НГТУ. Новосибирск. 2010. 3(61). С.77-84.

3. Зимаев И. В. 7. Automatic reflection of activity diagrams in colored Petri nets / Zimaev I.V. / И. В. Зимаев // International Forum on Strategic Technology (IFOST) - 2010, Ulsan, South Korea.

4. Зимаев И. В. 8. Автоматическая трансляция условных переходов uml диаграмм в элементы сети Петри / И.В. Зимаев / И. В. Зимаев // Актуальные вопросы современной техники и технологии, г.Липецк, 24 апреля 2010г.


Действительно, в заголовках этих статей Дракон не упоминается.
Но в телефонном разговоре и полученном мной мейле о драконе тоже идет речь.

Я думаю, Игорь Валентинович Зимаев появится и сам расскажет, как именно
обстоит дело. Наверно, надо подождать.

Автор:  Игорь Зимаев [ Пятница, 04 Март, 2011 05:21 ]
Заголовок сообщения:  Re: Диссертация на тему "Дракон, UML и сети Петри"

Здравствуйте, коллеги!

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

В данной теме я просто предлагаю обсуждать вопросы взаимного соотнесения Дракона, UML, и каких-либо формализмов.

Такими вопросами могут быть:
-формализация Дракон-схем (с позиции теории схем программ, теории вычислимости и пр.) - поиск ответа на вопрос какие алгоритмы могут быть представлены, есть ли границы применимости, в какую формальную модель могут быть транслированы Дракон-схемы (например, для UML иногда используют темпоральные логики, можно также отметить такие формализмы, как формальные грамматики и конечные автоматы).
-верификация Дракон-схем (некоторые правила, вроде "основной маршрут на шампуре", вряд ли поддаются формализации, ведь только человек знает, что такое "основной маршрут" в данной схеме, но некоторые, вроде последовательности веток слева направо - вполне можно "зашить" в верификатор). Для верификации "маршрутной логики" можно использовать сети Петри (хотя у них есть свои проблемы, тот же взрыв числа состояний), можно подумать. Для синтаксической верификации самой схемы - те же грамматики.

И еще очень интересует 2 момента: структурные модели на языке Дракон и схемы параллельных вычислений. Для второго я нашел специальную иконку, но возникло ощущение, что это направление развито не до конца. А касательно первого, я исхожу из следующего тезиса: любая программа является системой, характеризующейся структурой и динамикой. В идеале, между этими представлениями должна быть взаимосвязь, что в т.ч. удобно на практике (например, при имитации диаграммы деятельности выявляются коллизии доступа к распределенным данным). Как минимум, возможность представить структуру программы полезна.

Автор:  Владислав Жаринов [ Пятница, 04 Март, 2011 19:40 ]
Заголовок сообщения:  Re: Диссертация на тему "Дракон, UML и сети Петри"

Кое-что о связи уже обсуждавшегося здесь с Вашими соображениями:
Игорь Зимаев писал(а):
...
В данной теме я просто предлагаю обсуждать вопросы взаимного соотнесения Дракона, UML, и каких-либо формализмов.
...(например, для UML иногда используют темпоральные логики, можно также отметить такие формализмы, как формальные грамматики и конечные автоматы).
...И еще очень интересует 2 момента: структурные модели на языке Дракон и схемы параллельных вычислений. Для второго я нашел специальную иконку, но возникло ощущение, что это направление развито не до конца.

1. О соотнесении была, пожалуй, ближе всего вот эта тема.
2. Интерес, IMHO, представляют связи техноязыка с:
    * автоматным программированием (не знаю, знакома ли Вам эта работа - и источники, в ней упомянутые) - возможности проиллюстрированы, в частности, на этом примере;
    * проверкой моделей - имеется в виду прежде всего эта работа.
3. Насчёт взаимодействия процессов возникло такое же ощущение - поэтому корректировал определение языка, что отразил здесь, как можно видеть, использовал в вышеуказанном примере.
Ну и некоторые вопросы, прежде всего исходя из нижесказанного:
Игорь Зимаев писал(а):
-верификация Дракон-схем (некоторые правила, вроде "основной маршрут на шампуре", вряд ли поддаются формализации, ведь только человек знает, что такое "основной маршрут" в данной схеме, но некоторые, вроде последовательности веток слева направо - вполне можно "зашить" в верификатор). Для верификации "маршрутной логики" можно использовать сети Петри (хотя у них есть свои проблемы, тот же взрыв числа состояний), можно подумать. Для синтаксической верификации самой схемы - те же грамматики.

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

1. Что подразумевается под синтаксической верификацией? Проверка структуры или всей модели (включая текст вершин)?
2. То же в отношении верификации маршрутной логики.
3. Имеете ли Вы в виду под структурой программы представление всего её текста - по такому принципу, как в этом примере?

Автор:  Владимир Паронджанов [ Пятница, 04 Март, 2011 20:02 ]
Заголовок сообщения:  Re: Диссертация на тему "Дракон, UML и сети Петри"

Уважаемый Игорь Валентинович!

Я чрезвычайно заинтересован в успехе вашего исследования
и успешной защите вашей диссертации.

Это будет первая диссертация по языку Дракон (пусть даже с основным
упором на UML и сети Петри), которая мне известна.

Полагаю, что высококвалифицированные специалисты -- участники данного
форума с удовольствием окажут вам помощь.

В своем посте вы предложили ДВЕ ТЕМЫ для обсуждения
(которые делятся на несколько подтем) и еще ДВА МОМЕНТА.

У меня к вам большая просьба, состоящая в следующем:

Желательно перестуктурировать ваши темы, подтемы и моменты.
и превратить их в вопросы, обращенные к участникам форума.
Более подробно, это означает:

1. Постарайтесь сформулировать как можно больше коротких вопросов.
Предположим, вы придумали 12 вопросов.

2. Пронумеруйте вопросы от 1 до 12.

3. Каждый вопрос изложите в вопросительной форме жирным шрифтом.
В результате вопросы превратятся в заголовки.

4. Под каждым заголовком обычным шрифтом изложите пояснение
(любой длины).

5. Разделите все заголовки и пояснения отбивками.

6. В качестве аналога можно посмотреть сообщение VOT7
viewtopic.php?p=60707#p60707

Такая форма обращения к участникам форума позволит другим людям
быстро и легко понять, что именно вы хотите. И отвечать на конкретный
номер пункта (вопроса).

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

Разумеется, моя просьба -- всего лишь пожелание. Поступайте так,
как вы считаете нужным.

Я очень рад, что вы появились на форуме с такой интересной темой.

Автор:  Игорь Зимаев [ Среда, 09 Март, 2011 21:20 ]
Заголовок сообщения:  Re: Диссертация на тему "Дракон, UML и сети Петри"

Драконограф писал(а):
1. Что подразумевается под синтаксической верификацией? Проверка структуры или всей модели (включая текст вершин)?
2. То же в отношении верификации маршрутной логики.
3. Имеете ли Вы в виду под структурой программы представление всего её текста - по такому принципу, как в этом примере?


Благодарю за ссылки, все очень любопытно. Пока, если честно, "глаза разбегаются" от количества информации на форуме :)
1. Поскольку я до сих пор рассматривал Дракон как исключительно маршрутный язык, под синтаксисом подразумевается соблюдение правил компоновки икон.
2. см. далее про сети Петри.
3. Из п.1 следует что нет - речь пока только о модели программы (т.е. ее маршрутном графе, возможно с какими-то дополнениями).

Хочу поделиться возникшими мыслями (пусть знающие люди, если что, меня поправят).

1. Существует ли грамматика языка Дракон?

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

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

Вспомним теорему Дейкстры, согласно которой, любая программа может быть построена с использованием 3 конструкций: последовательность, условие, цикл. По всей видимости, теорема справедлива только для алгоритма с одним потоком управления, а для реализации параллельных вычислений к базовым 3-м добавляется еще FORK/MERGE.

Так мы получаем тезис: любой п-алгоритм (параллельный алгоритм) представим сочетанием 4-х базовых конструкций (возможны их взаимные вложенности).

В языке Дракон каждой базовой конструкции соответствует своя макроикона, точнее несколько макроикон. Наличие нескольких вариантов представления базовых конструкций делает схемы более выразительными, расширяет арсенал пользователя, и никак не нарушает выбранное ограничение алфавита макроикон 4-мя типами конструкций (на каждый тип несколько синонимов). Это минимальный маршрутный язык.

Здесь же стоит отметить, что ряд элементов языка являются "синтаксическим сахаром", т.е. при автоматической обработке они также сводятся к базовым конструкциям. Например, набор веток - силуэт. Если склеить все ветки (не на схеме, а при верификации) в одну последовательность, маршрут останется тем же. Все иконки связанные с комментариями - не учитываются, и т.п.

Очевидно, что все существующие иконы могут быть условно разделены:
1. Иконы, которые образуют макроиконы 4-х базовых типов (минимальный маршрутный набор).
2. Дополнительные иконы, являющимися расширениям минимального маршрутного языка.

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

Тогда грамматика языка - это несколько макроикон (4-х типов), и правил сочетания этих макроикон. Любая Дракон-схема, которая не может быть представлена иерархической совокупностью такого набора - считается синтаксический некорректной (разумеется, только в рамках выделенного таким образом подмножества языка Дракон, реализующего минимальный маршрутный язык согласно теореме Дейкстры о структурном представлении, расширенной до класса параллельных алгоритмов FORK/JOIN-исчисления).

2. Верификация маршрутной логики

Для обычного алгоритма маршрут - это граф, для параллельного придется вводить 2 типа вершин: в одних исходящие дуги будут трактоваться как выбор (один из..), в других - как разветвление (все сразу...). Вообще, верификация - это проверка системы на соответствие некому эталону. Для маршрутной модели эталон можно задать (например, с использованием темпоральной логики). Но если эталона нет, что можно верифицировать?

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

Автор:  Илья Ермаков [ Четверг, 10 Март, 2011 00:02 ]
Заголовок сообщения:  Re: Диссертация на тему "Дракон, UML и сети Петри"

Игорь, посмотрите вот этот материал:
viewtopic.php?f=62&t=2921

Думаю, он кое-что прояснит.

Автор:  Владислав Жаринов [ Четверг, 10 Март, 2011 10:31 ]
Заголовок сообщения:  Re: Диссертация на тему "Дракон, UML и сети Петри"

Про структуры программ был такой материал.

Автор:  Владислав Жаринов [ Четверг, 10 Март, 2011 10:53 ]
Заголовок сообщения:  Re: Диссертация на тему "Дракон, UML и сети Петри"

Игорь Зимаев писал(а):
...
Вообще, верификация - это проверка системы на соответствие некому эталону. Для маршрутной модели эталон можно задать (например, с использованием темпоральной логики). Но если эталона нет, что можно верифицировать?

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

P.S. Кстати, Вы затрагиваете очень интересный вопрос, проходивший и в упомянутой теме "Сравнение Дракона..." - как понимать алгоритмическую модель? Как описание, процесс исполнения которого предполагает развёртку одной рабочей точкой - или более чем одной? Под развёрткой понимается тот маршрут, который должен выбрать на алгоструктуре исполнитель при конкретных значениях данных (величин алгоритма); то же можно посмотреть у Карпова для структуры Крипке.

Автор:  Владимир Паронджанов [ Среда, 16 Март, 2011 13:11 ]
Заголовок сообщения:  Re: Диссертация на тему "Дракон, UML и сети Петри"

Игорь Зимаев писал(а):
...И еще очень интересуют ... схемы параллельных вычислений. ...я нашел специальную иконку, но возникло ощущение, что это направление развито не до конца.

Уважаемый Игорь Валентинович!

Посмотрите здесь viewtopic.php?f=62&t=3331

Автор:  Владислав Жаринов [ Среда, 23 Март, 2011 13:38 ]
Заголовок сообщения:  Re: Диссертация на тему "Дракон, UML и сети Петри"

Уважаемый Игорь Валентинович!
Вот такие вопросы (заодно, м.б., чтобы не так разбегаться :)):
1. Существуют подходы к информатически строгому (исполнимому, прецизионному - в различных авторских определениях) UML; ряд из них доведён до реализации (что можно видеть, в частности, по Поликарповой и Шалыто - отдельные источники в библиографии и кое-какие замечания по информатизации в тексте). Видимо, и формализм для техноязыка подразумевает нечто подобное - скажем, как работа И.Ермакова с коллегами, обсуждавшаяся в этой теме? У Вас есть свой подход?
2. В плане расширения шампур-схем до параллельных на конференции уже обсуждались различные подходы. Для сетей Петри же вообще есть конкретные варианты представления необязательно последовательного выполнения работ (WF-расширение PN-методологии). Есть у специалистов по моделированию оргдеятельности потоками работ и предложения по установлению соответствия PN и UML (как можно понять, они в основном тривиальны и однозначны - в меру строгости UML-нотации, конечно :)). Вы предполагаете реализовывать/развивать что-то из этого?
3. Какие цели такого представления в принципе? Предполагается комплексный анализ деятельности как системы процессов, аналогичный проверке моделей? И с этим связано замечание о неразвитости описания параллельных процессов в техноязыке? И видится ли какая-то реализация - как та же проверка моделей, но собственными средствами (аналогичными Spin и др.)? или частные проверки описаний, ограниченных по смыслу (относительно полных программно-строгих моделей)? Или что-то ещё (скажем, структурный анализ моделей)?

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/