DRAKON.SU

Текущее время: Вторник, 19 Март, 2024 09:24

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 39 ]  На страницу 1, 2  След.
Автор Сообщение
СообщениеДобавлено: Понедельник, 30 Ноябрь, 2015 12:50 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5844
Откуда: Москва
Красочный и зрелищный динамический просмотрщик ДРАКОН-схем

Я давно собирался рассказать про настоятельную необходимость создания динамического просмотрщика.

Впервые его создал и выложил на сайте YouTube Денис Победря.

Затем он был удален и пропал навсегда.

Я написал задание на просмотрщик.

Цитата:
ТЕХНИЧЕСКОЕ ЗАДАНИЕ НА РАЗРАБОТКУ
ДИНАМИЧЕСКОГО ПРОСМОТРЩИКА


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

2. То же самое (что в пункте 1) последовательно по всем маршрутам однократно.

3. То же самое (что в пункте 1) последовательно по всем маршрутам многократно — заданное число раз: 2 раза, 3 раза, 5 раз, 10 раз. По умолчанию 5 раз.

4. То же самое (что в пункте 1) последовательно по всем маршрутам бесконечное число раз — повторять обход всех маршрутов в бесконечном цикле.

5. Предусмотреть возможность изменения частоты обхода, например:

T = 0,1с, 0,2с, 0,5с, 1с, 2с, 3с. по умолчанию 0,5с.
где Т — время высвечивания одной иконы и перехода на следующую икону по выбранному маршруту.

6. При наличии циклов в алгоритме предусмотреть возможность повторения каждого цикла: 1 раз, 3 раза, 5 раз, 10 раз. По умолчанию 3 раз


По-моему, это очень важная вещь. И к тому же красочная и зрелищная.

Тут подоспела оказия.

Вчера у меня состоялся длительный телефонный разговор с Олегом Гариповым (он из Канады, Новая Шотландия, Галифакс). Речь, в частности, шла о просмотрщике дракон-схем.

Олег употребил выражение "Солнечный зайчик".
Мне очень понравился этот образ. И я сразу вставил его в свою медицинскую книгу "Зачем врачу алгоритмы?"

Ниже выкладываю соответствующий отрывок из книги:
Цитата:
ПРЕИМУЩЕСТВА ГРАФИЧЕСКОГО АЛГОРИТМА

Мы провели тщательный анализ маршрутов с помощью пяти рисунков (рис. 8–12). Причем мы подвергли анализу лишь маленький кусочек алгоритма на рис. 5.

Вернемся к истокам и еще раз сравним текст Гиппократа (в рамке) и графический алгоритм на рис. 5. Можно ли проследить маршруты алгоритма, глядя на текст? Нет, это невозможно. Час смотри, два смотри, все равно ничего не увидишь.

Повторим: врач, читая текст, как бы слепнет, потому что текст скрывает маршруты и делает их невидимыми. Иная ситуация на рис. 5. Маршруты отчетливо видны. Их можно анализировать. По каждому маршруту можно провести пальцем, карандашом или указкой от начала до конца.

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

Чем хорош графический алгоритм по сравнению с текстом? Он позволяет быстрее понять и легче запомнить материал. По этой причине его следует предпочесть в качестве средства предотвращения врачебных ошибок.


Олег, спасибо за подсказку.

Повторюсь: такой просмотрщик дракон-схем очень нужен.
Он дает выигрышную динамическую картинку.

К сожалению, ни один из имеющихся дракон-редакторов не поддерживает эту функцию.

Мне кажется, все без исключения дракон-редакторы должны быть оснащены таким динамическим дракон-просмотрщиком.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 30 Ноябрь, 2015 17:23 

Зарегистрирован: Четверг, 30 Январь, 2014 13:38
Сообщения: 423
Владимир Паронджанов писал(а):
Красочный и зрелищный динамический просмотрщик ДРАКОН-схем
Цитата:
ТЕХНИЧЕСКОЕ ЗАДАНИЕ НА РАЗРАБОТКУ
ДИНАМИЧЕСКОГО ПРОСМОТРЩИКА


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

2. То же самое (что в пункте 1) последовательно по всем маршрутам однократно.

3. То же самое (что в пункте 1) последовательно по всем маршрутам многократно — заданное число раз: 2 раза, 3 раза, 5 раз, 10 раз. По умолчанию 5 раз.

4. То же самое (что в пункте 1) последовательно по всем маршрутам бесконечное число раз — повторять обход всех маршрутов в бесконечном цикле.

5. Предусмотреть возможность изменения частоты обхода, например:

T = 0,1с, 0,2с, 0,5с, 1с, 2с, 3с. по умолчанию 0,5с.
где Т — время высвечивания одной иконы и перехода на следующую икону по выбранному маршруту.


6. При наличии циклов в алгоритме предусмотреть возможность повторения каждого цикла: 1 раз, 3 раза, 5 раз, 10 раз. По умолчанию 5 раз


Мне кажется, все без исключения дракон-редакторы должны быть оснащены таким динамическим дракон-просмотрщиком.

Очень поддерживаю эту идею.
У меня было что-то подобное - программный комплект демонстрационных моделей схем
последовательных и параллельных алгоритмов:
прогон процессов исполнения алгоритмов - с динамическим потактовым выводом временных диаграмм
Вложение:
ДинПоосмотр-01.PNG
ДинПоосмотр-01.PNG [ 34.02 КБ | Просмотров: 22830 ]

Для этой штрих-схемы последовательного алгоритма
было предусмотрено поочередное перемещение метки (*)
под штрихами команд Z1..Z5 - по ходу их исполнения во времени.

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

--------------------
Это было сделано еще на каких-то тормозных pc-моделях компов:
временные диаграммы выкатывалась по тактам времени достаточно медленно.
А на этой штрих-схеме алгоритма метка (*) хорошо держалась под штрихами заданное число тактов.
Но теперь на современных компах временные диаграммы выкладывается мгновенно.
А на этой схеме метка и ее перемещения вообще не видны.

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

У меня по данному поводу предполагается в (предполагаемом) ТЗ:
1
Ввести регулируемую задержку потактового прогона моделей - с заданной переменной длительностью тактов.
2
Ввести потактовый прогон моделей по клику клавиши - например клавиши пробела.
Это еще более полезная функция - можно приостановить прогон, прокомментировать работу схемы (особенно в параллельных режимах работы) и т.п.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 30 Ноябрь, 2015 18:29 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5844
Откуда: Москва
andr писал(а):
Очень поддерживаю эту идею.
Спасибо.

Теперь нужно, чтобы авторы дракон-редакторов поддержали и реализовали эту идею.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 30 Ноябрь, 2015 21:23 

Зарегистрирован: Понедельник, 09 Ноябрь, 2009 17:29
Сообщения: 904
Откуда: Россия, Питер
Владимир Паронджанов писал(а):
Я давно собирался рассказать про настоятельную необходимость создания динамического просмотрщика.

andr писал(а):
Очень поддерживаю эту идею.

Владимир Паронджанов писал(а):
Теперь нужно, чтобы авторы дракон-редакторов поддержали и реализовали эту идею.

: )
Вот уже 2 месяца, как подобная функция Трассировка доступна в редакторе Фабула.
О чём было сообщено здесь (cм. п.20 и мануал стр.28).


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 30 Ноябрь, 2015 21:56 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5844
Откуда: Москва
Ильченко Эдуард писал(а):
Вот уже 2 месяца, как подобная функция Трассировка доступна в редакторе Фабула.
О чём было сообщено здесь (cм. п.20 и мануал стр.28).

Спасибо. Это очень важно.

А нельзя ли показать результат наглядно хотя бы в статике, например, три последовательных картинки?

Лучше всего выложить видео на YouTube, чтобы полюбоваться в динамике.
Возможно ли это?
Было бы просто замечательно!

=======================

Как можно посмотреть мануал?
Есть ли ссылка на него?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 01 Декабрь, 2015 01:39 

Зарегистрирован: Понедельник, 09 Ноябрь, 2009 17:29
Сообщения: 904
Откуда: Россия, Питер
Владимир Паронджанов писал(а):
Как можно посмотреть мануал?
Есть ли ссылка на него?

Конечно, можно.
Нужно скачать zip-архив с редактором Фабула по ссылке с drakon.su.
Распаковать его и просмотреть pdf с мануалом.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 01 Декабрь, 2015 02:02 

Зарегистрирован: Понедельник, 09 Ноябрь, 2009 17:29
Сообщения: 904
Откуда: Россия, Питер
Владимир Паронджанов писал(а):
А нельзя ли показать результат наглядно хотя бы в статике, например, три последовательных картинки?

Вложение:
1.png
1.png [ 55.59 КБ | Просмотров: 22803 ]
Вложение:
2.png
2.png [ 53.11 КБ | Просмотров: 22803 ]
Вложение:
3.png
3.png [ 45.82 КБ | Просмотров: 22803 ]
Вложение:
4.png
4.png [ 35.88 КБ | Просмотров: 22803 ]
Вложение:
5.png
5.png [ 36.56 КБ | Просмотров: 22803 ]
Вложение:
6.png
6.png [ 45.5 КБ | Просмотров: 22803 ]
Вложение:
7.png
7.png [ 60.41 КБ | Просмотров: 22803 ]


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 04 Декабрь, 2015 14:44 

Зарегистрирован: Воскресенье, 09 Март, 2008 22:38
Сообщения: 341
Эдуард, Вы - просто молодец! Браво.

Можно вопрос не по теме? Меня ужасно заинтересовало само содержание схем. Вы чем вообще занимаетесь (лучше в личку)?
И не могу поверить, что не сделали генератор исходных текстов программ...


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 06 Декабрь, 2015 10:07 

Зарегистрирован: Четверг, 10 Январь, 2013 16:59
Сообщения: 70
TAU писал(а):
Эдуард, не могу поверить, что не сделали генератор исходных текстов программ...
Кроме динамического просмотра листингов подскажу похожую задачу: голосовое чтение документов.
Любой документ можно представить вложенной структурой икон-вставок: слово-предложение-абзац-подраздел-раздел. А между этими иконами организовать переходы и паузы. При этом, не обязательно рассматривать полную схему документа, нужны только те его части, которые в данный момент требуется воспроизвести голосом. Например, циклически прочитать сопроводительное описание к рисунку. Или воспроизводить фрагмент иностранного текста, пока он не станет полностью понятен. В этом случае блок-схема работает как динамически-настраиваемое внешнее оглавление. Структура переходов между текстовыми блоками — это алгоритм чтения. Управлять ходом исполнения этого алгоритма можно, например, условными щелчками и ударами по корпусу телефона (на котором, обычно, читалка работает). Условное выполнение делаем развилками и логическими элементами.

Чего не хватает дракон-редактору для такой интеграции с "говорилкой" — пусть автор программы определит самостоятельно. :)

--

Кстати, при помощи внешних оглавлений можно организовать взаимодействие нескольких документов. :roll:


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Виды динамического просмотра
СообщениеДобавлено: Воскресенье, 06 Декабрь, 2015 10:23 

Зарегистрирован: Четверг, 10 Январь, 2013 16:59
Сообщения: 70
Динамический просмотр схемы я понимаю не только как её пошаговое исполнение, но и как возможность обратимых её преобразований из одного вида в другой. Например, из примитива в силуэт. Или из полноформатной схемы в слепыш. Или перекомпоновка согласно заданному стилю: такое, например, можно опробовать в YEd-редакторе.
Или применение динамической цветовой маркировки икон…


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 20 Июнь, 2016 10:40 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5844
Откуда: Москва
Владимир Паронджанов писал(а):
Красочный и зрелищный динамический просмотрщик ДРАКОН-схем

Впервые его создал и выложил на сайте YouTube Денис Победря.

Затем он был удален и пропал навсегда.
К сожалению, на YouTube по-прежнему нет ни одного видео, демонстрирующего работу динамического просмотрщика.

Ближе всего к решению задачи подошел Эдуард Ильченко, который создал режим трассировщика и показал его работу в статике.

Нужно сделать следующий шаг и выложить видео, демонстрирующего работу просмотрщика (трассировщика) во времени (в динамике).


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 05 Июль, 2016 08:24 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5844
Откуда: Москва
Задача создания просмотрщика дракон-схем по-прежнему актуальна.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 05 Июль, 2016 15:39 

Зарегистрирован: Воскресенье, 09 Март, 2008 22:38
Сообщения: 341
Лучше, наверное, назвать "визуальный интерпретатор".


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 14 Октябрь, 2016 21:06 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5844
Откуда: Москва
TAU писал(а):
Лучше, наверное, назвать "визуальный интерпретатор".

Согласен. Это название для специалистов.

Можно объединить так:
Цитата:
Визуальный интерпретатор (динамический просмотрщик дракон-схем)


Привожу цитату (см. красный цвет):
http://we.easyelectronics.ru/drakon/pro ... mment40835

Цитата:
MrYuran 20 января 2012, 08:44↑

Стандартный случай.
Зовет к себе главный конструктор. Мол, чего-то я не понимаю, как твоя программа работает.
Давай объясняй.

И начинается. Поиск, выдергивание и распечатка фрагментов, перевод с машинного на русский, объяснение тонкостей программирования и системных нюансов… Канитель на полдня.

И насколько проще было бы, если бы программа изначально задавалась в виде графического алгоритма и была к нему привязана намертво.
То есть, не так, что нарисовали вначале алгоритм, «потому что положено», потом 20 раз изменили, а в результате конечная программа ничего общего с ним не имеет. ДРАКОН подразумевает неразрывную связь в течение лайфтайма.

Ещё один нюанс: дракон позволяет оптимизировать алгоритм в целом, не зарываясь в мелкие детали и конкретику типа имен переменных функций. В книге «Как улучшить работу ума» описан рантайм чисто дракона, без привязки к конкретному языку программирования.


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

То есть, это позволяет проверить сам абстрактный алгоритм ещё до того, как написана первая строка кода. И очень подходит для программирования «сверху вниз», от общего к частному, с постепенным увеличением детализации вплоть до конкретных операторов и имен переменных.


Вот эти слова отражают мою мечту, мечту, которую пока еще никто не смог реализовать: При выполнении по шагам иконы подсвечиваются по очереди, что очень наглядно отражает суть алгоритма.
Может быть, Владимир Arhat109 возьмется?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 17 Октябрь, 2016 06:58 

Зарегистрирован: Пятница, 15 Апрель, 2016 11:38
Сообщения: 119
Откуда: из СССР
Нет, пока не возьмусь .. какая-то прорва дел и у нас начинается "соревновательный сезон" .. :)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 27 Сентябрь, 2017 20:12 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5844
Откуда: Москва
Первое приближение к созданию динамического просмотрщика сделал Олег Гарипов (Нью-Йорк, США)

https://www.youtube.com/watch?v=mDUzD2CJ7s0

Подробнее об Олеге Гарипове см.:

ДРАКОН-конструктор Олега Гарипова


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 28 Сентябрь, 2017 12:42 

Зарегистрирован: Среда, 03 Май, 2017 09:55
Сообщения: 200
Есть смежная тема -- автоматическое тестирование.

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

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

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

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

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

Зачастую воздействия удобнее задавать "временными диаграммами"
Есть, например, реле: http://www.contravt.ru/?id=6979
Ну и у него куча временных диаграмм. По-моему, они описывают возможность прибора куда лучше, чем какая-нибудь Дракон-схема.
Вполне возможно, и "тестовый вход" нужно задавать в виде временной диаграммы, а не в виде Дракона.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 03 Октябрь, 2017 22:56 

Зарегистрирован: Четверг, 02 Июль, 2015 13:47
Сообщения: 45
Прикрепляю пример динамического исполнения алгоритма поиска кратчайшего пути.

Коллеги, чтобы увидеть динамику, щелкните мышкой по картинке.


Вложения:
dijkstra.gif
dijkstra.gif [ 5.09 МБ | Просмотров: 20734 ]
Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 04 Октябрь, 2017 20:21 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5844
Откуда: Москва
Олег!

Очень хорошо. Желательно выложить на YouTube.

Но перед этим стоит увеличить вдвое вертикальный метр (расстояние между соседними иконами по вертикали).
Будет красивее.
Сейчас очень сплюснуто. В картине должно быть больше воздуха.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 05 Октябрь, 2017 13:15 

Зарегистрирован: Понедельник, 14 Декабрь, 2015 19:18
Сообщения: 127
Заяц - ты красавец!

Это просто бомба!
А я рисовал с помощью графического редактора - делал gif'ку(делал презентацию ДРАКОНа на позапрошлой работе для коллег).
Красная точка бежала по алгоритму.

А здесь с желтым светом - так бодро и понятно! Очень дружелюбно получилось!

Сейчас на работе вникаю в код. Скоро пойдут в полную силу алгоритмы - как докопаюсь до них.
Думаю, буду использовать как сам ДРАКОН, так и эту функциональность.
Думаю, очень пригодится именно этот просмоторщик, чтобы коллегам объяснить ДРАКОН-схему.

Благодаря ему порог вхождения в ДРАКОН-схему снизится до 0-ля.
И я уже не так буду боятся показать коллегам алгоритм.
Уже не скажут, что это всё сложно, не надо, зачем это так.
У них не будет для этого ни единого шанса :)

Первая реакция на схему будут нахмуренные брови, но и удивление. Это первые 0.2 сек.
Затем увидя этот солнечный зайчик возникнет улыбка от того, что тебе всё тут показывают и совсем не надо напрягаться!

При таком первом знакомстве отпадет нужна в объяснение хода выполнения алгоритма - в том что такое примитив, силует и т.д.
Всё же видно!

Уже предвушкаю как я всё-таки распространил идею ДРАКОНа за свой мозг :D


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 39 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2008-2024, участники конференции «DRAKON.SU», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB