Pull to refresh

Comments 49

Описано только "в первую очередь". Дальше наверное забыли?

Не написано главного - какая область применения или решаемые задачи? Ничего нет про наличие аналогов и сравнения с ними.

Спасибо, добавил в конце описание мотивации и задач.

"В первую очередь это не рисовалка, а редактор алгоритмов."
Рисовалка, очень симпатичная. Если учить детей алгоритмам...как должен выглядеть метод Монте Карло в данном редакторе?

Нравится!
Еще б понять, как саму схему на экране двигать.

Средняя кнопка мыши. Для мобильных пока не адаптировано.

"Одна из целей собрать побольше фидбека от людей"
Стоит разослать возможным потребителям в том виде, в котором есть.

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

Не думали ли о возможности «сворачивать пути схемы» для более лёгкой навигации и обзора схемы по возможности в более компактном её представлении при этом?

Да там целая теория как шампуры передают родительским шампурам свои выходящие линии. Там если вникать мозг можно сломать. Как нибудь сформулирую это и выложу.

вроде в первоначальных прикидках получалось достаточно просто…

Здравствуйте! Спасибо Вам.

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

2) У Вас там в картинке (и на сайте) опечатка:

слово Дейтвие, возможно в честь Дейтелов :-)

3) кодогенерация из схемы в python/go/си/ uml-диаграмму активности будет?

4) масштабирование/ деление на части крупной схемы будет?

5) раз Вы замахнулись на алгоритмы, то, вероятно надо будет сделать сборник готовых известных алгоритмов типа "полет на Марс методом сортировки пузырьков в сферическом вакууме" :-)

Здравствуйте! Спасибо за оценку!

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

Одна из целей данной статьи как раз собрать побольше фидбека от людей, которые в перспективе могут использовать такую систему в своей работе.

Всё будет. И кодогенерация в различные языки,

Как планируете решать вопрос с кодогенерацией из Дракон представления всё возможное синтаксически/семантическое представление целевого языка и оперирование этими понятиями разработчиком алгоритма в Дракон представлении?

Есть же, к примеру, и такие языки программирования как Лисп, Форт, Пролог…

P.S. Планируется ли и сделать возможность на базе сервиса редактирование и электрических/электронных схем по примеру оригинальной программы XCircuit

Кто то для программирования Ардуино использует FlProg, HiAsm, Algorithm Builder fo AVR.

Будет ли автономная версия редактора для Linux, Windows?

Может в Вашем ПО будет и в чём то полезно приближение к возможностям Yed Editor

Как планируете решать вопрос с кодогенерацией из Дракон представления
всё возможное синтаксически/семантическое представление целевого языка и
оперирование этими понятиями разработчиком алгоритма в Дракон
представлении?

В том то и дело, я немного ломаю игру. Корни идеи лежат в Драконе, но тем не менее то, что вы видете это отход от некоторых догм, сложившихся в Дракон сообществе.

всё возможное синтаксически/семантическое представление целевого языка

Цель falang быть как раз надмножеством любого языка. как например Typescript является надмножеством JavaScript. Довольно просто вместо блок схемы подставить соответствующие конструкции языка (if, switch, ...) и перевести это в код.

В идеале хотел бы добиться взаимной конвертации "код" <-> "схема", но посмотрим как будет.

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

Будет ли автономная версия редактора для Linux, Windows?

Я знаю как это перевести в автономную версию. Опять же если будет в этом потребность.

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

Когда некоторое время назад посетил форум Дракон и там увидел тему про «кастомизацию» своего графического редактора на основе ядра разработки от Митькина, но не видно какое то развитие этого предложенного направления в обсуждении.

DrakonWidget — сделай сам свой Дракон-редактор

Я не долго в том форуме. Там у коллег проблема в том что пишут на старом инструментарии. У меня React, TypeScript, Mobx, Nest. Ну и опыт уже есть. Мой инструментарий при правильном применении дает буст в разработке очень серьезный.

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

Ну тут же как в любом добром деле. Если нет отклика от общества то люди и забрасывают свою работу. Если бы нужно было, их бы нашли и попросили сделать то, что нужно.

Ну да, примерно так. Люди заинтересовывались дураконом, когда не было опыта. В процессе (и основной работы/учебы, и разработки инструментария для дураконства) набирались опыта, и начинали понимать: Нормальному человеку это не нужно.
Тупым не поможет в принципе, начинающим только усложняет, научившимся уже не нужно. Но теоретически звучит заманчиво -«программирование без знаний программирования», а на практике получается что-то типа «бега с обязательными костылями».
На мой взгляд, единственное доброе дело в отношении «дураконства» — это душить в зародыше. Ибо для ленивых тупых идиотов это создает иллюзию. Ну и в конце концов, «программирование» (тем более, в очень ограниченных дураконом рамках) — вполне себе обычный навык, ничего сверхъестественного. Начиналось-то, понятно, от безысходности и советской системы (и программистов мало, и штатным расписанием не предусмотрены, и отношение к программистам как к отдельной профессии мутное — «нет продукта», и учить их непонятно как, и «носители знаний»- схемотехники и системщики — не горят желанием уменьшать свою незаменимость, и аппаратное обеспечение, хм, «так себе», да и программное, несмотря на книгу «как улучшить работу ума», так за 40 лет и не шмогли (дуракон был изобретен для облегчения использования ПРОЛ-2, что было понятно и обоснованно) ). Впрочем, за 40 лет оно себя показало полностью импотентным, что вполне закономерно.
несмотря на книгу «как улучшить работу ума», так за 40 лет и не шмогли

Навеяло Программирование без программистов — это медицина без врачей :)

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

P.S. Тот же HiAsm более практичен в понимании возможностей визуального программирования.
Может ещё Smalltalk близок к интеграции в «Визуальное программирование». Не зря же FlProg автор сделал на нём.
В идеале хотел бы добиться взаимной конвертации «код» <-> «схема», но посмотрим как будет

т.е. и представить и Falang на таком уровне? :)

P.S. А, помогает ли текущий разрабатываемый инструмент в создании редактора и в чём, если это так?
людей, которые в перспективе могут использовать такую систему в своей работе.

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

Редакторы блок-схем и ARIS Smart Designer (на примере EPC)

Есть ARIS Smart Designer (EPC). Хотелось бы его повторить на чем-то еще кроме ARIS Express, например, Drawio, Falang.io, DgrmJS и т.п.

Подготовил макет (прилагаю) Excel 2016 + Drawio в части Event + Function (только два объекта из EPC, чтобы идея была проще видна). Такое повторить бы в реальном времени, как в ARIS Smart Designer: автоматическое обновление, таблицу размещать непосредственно рядом со схемой процесса. Была бы интересна интеграция "встроенной" таблицы с Excel и Google Sheets.

К макету: нужно указать пути (Drawio + Temp) на листе «Set» (нужно локально поставить Drawio, можно portable). Далее на листе List1 нажимать «в паре» кнопки: «Выгрузка в файл» и «Запуск файла». Также можно нажимать и другие кнопки, которые создают новые или удаляют Event + Function. Это функции: добавить объект (Event or Function) вниз (Добавление), вставить объект в указанное место (выбранную строку, Вставка), удалить конкретный объект (выбранную строку), очистить (удалить все). В ARIS Express добавляется объект только в конец, а потом перемещается вручную кнопками "вверх" \ "вниз". В макете показан более удобный вариант.

Пользователю будут отображаться только столбцы с названиями Event & Function (остальные строки в Excel можно скрыть).

Простой (только WorkFlow) Макет на Excel 2016. Половина кода - файловые преобразования: чтобы русские буквы были в Drawio, пришлось из стандартного Excel ASCII делать Unicode noBOM.

Макет посложнее EPC: WorkFlow + DocFlow тут

Реализовать последовательность бизнес-процессов, да конечно безусловно тоже надо. И можно сделать очень круто. Будем делать.

последовательность бизнес-процессов

ARIS Smart Designer (EPC) - это не совсем "последовательность бизнес-процессов". Это скорее "Связанные данные", которые умеют в ["картинка" -> "таблица"] и обратно. Это позволяет заполнять таблички и получать схемы, т.е. можно нотацию вообще не знать.

Второй плюс: т.к. у нас есть таблица со ВСЕМИ данными о процессе, то это уже BPM - хранилище. Так и до "большого АРИСа" недалеко.

Полагаю, что у Дракона так и не появилась ветка "бизнес-процессы" (подобие EPC).

Полагаю, что у Дракона так и не появилась ветка "бизнес-процессы"

Вот что есть на форуме ДРАКОНа:

Язык ДРАКОН: полное описание бизнес-процессов аквапарка Лазурный в Белгороде

Алгоритмический язык ДРАКОН для бизнес-процессов

Что-то по обоим ссылкам какие-то форумы, а описания как изображать бизнес-процессы в Драконе я не вижу.

Скачайте  https://bit.ly/3dgMgQV (PDF, 158 страниц, 160 мегабайт). Это полное описание бизнес-процессов всех подразделений аквапарка Лазурный на языке ДРАКОН, сделанное с помощью программы Степана Митькина DrakonHub под руководством гендиректора аквапарка Антона Ковалева.

Если не хотите скачивать, можно посмотреть отдельные алгоритмы здесь и далее.

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


Впрочем, у инструмента, с которого началось обсуждение, та же самая проблема, так что вы в одной лиге.


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


Картинка

картинка

можно посмотреть отдельные алгоритмы

Посмотрел. Простенько как-то. Даже для начала 90-х не впечатлительно.

1 На форуме Дракона несколько лет назад встречались откровения, что не может Дракон про бизнес-процессы. WorkFlow может, а вот что-то подобное ЕРС - нет.

На указанных примерах вижу, что события ЕРС (шестиугольник) - в Дракон это "нижняя половина шестиугольника" (порча \ утрата браслета, хотя в книжке "Книга алгоритмов дракон" встречаются "зачем-то" и другие "альтернативные" обозначения событий), а роли - указываются в верхнем прямоугольнике "сдвоенного прямоугольника" (роли + операции). Наглядность и понятийность явно хуже чем в ЕРС.

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

https://habr.com/ru/post/708026/comments/#comment_25053928

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

4 Еще лучше: сразу сделать BPM (ЕРС) \ Дракон на принципах Linked Data. Что-то подобное обсуждалось:

https://habr.com/ru/post/708026/comments/#comment_25055686

LD-инструменты, которые могли бы "уложить" RDF в нечто похожее на ЕРС, т.е. поток workflow уложить вертикально, а окружение функции - горизонтально (хотя бы как кластер в dot)?

@itGuevara Большое спасибо. Вы предложили развернутую программу доработки, точнее, разработки нового направления в области совершенствования нотаций и инструментария для бизнес-процессов за счет объединения идей EPC и ДРАКОНа (скрещивание Дракона и ЕРС). Было бы очень хорошо, если бы вы взялись за реализацию вашей идеи. Я полностью вас поддерживаю. Готов предоставить в ваше распоржение всю литературу, всех известных мне заинтересованных лиц, все контакты и все связи. Как ваше мнение?

нового направления в области совершенствования нотаций и инструментария для бизнес-процессов

Предлагаю вначале понять, чего не хватает в ЕРС для описания БП. И что нужно заимствовать из Дракон? Предложите площадку для обсуждения.

Далее нужно формализовать этот «ЕРС-D» (дракон).

Еще лучше (можно параллельно) составить универсальный Smart Designer для БП, который может по «Одной и той же табличке с алгоритмом в столбик» строить схемы в разных нотациях, например, на ЕРС, Драконе и потом ЕРС-D. Для начала можно начать с ЕРС, чем я и занимаюсь:

Редакторы блок-схем и ARIS Smart Designer (на примере EPC)

Это было предложение собрать Smart Designer на Falang.io. Однако по Falang.io не нашел информации, он есть на github? Если это закрытое ПО, - то не стоит и начинать. Так же для меня загадка: придумывают новые редакторы, так почему формат файла xml (хранение схемы БП) не заимствовать от существующих, например, drawio?   

Смысл универсального Smart Designer для БП в том, что человек, вообще не знающий ни одной нотации БП, расписал бы «в столбик» пошагово свой процесс, начал кнопку «показать» и увидел, как его пошаговый процесс выглядит в разных нотациях. И выбрал для себя наиболее понятную.

До универсального Smart Designer (который умеет строить схему по нотациям, т.е. более чем одной) применительно к описанию БП нужно сделать (повторить АРИСовский) хотя бы для одной из нотаций для БП. Желательно Smart Designer (БП) построить не на каком-нибудь эксклюзиве, а на чем-то очень распространенным, типа drawio или visio.

Финальный шаг - прикрутить к полученному LD. И тогда все забудут про АРИС и приручат Дракона (БП-Дракона).

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

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

Всё-таки нужно что-то гит ориентированное, в основе чего текст. Что-то типа визуального https://plantuml.com/ (ну и с гитом можно чуть более дружелюбным быть, но и так неплохо.

Дружище, все будет, и просмотр изменений, где удаленные блоки будут красными, новые зелеными. Гит будет, но под капотом.

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

Он основан на теоретической основе, заложенной при разработке визуального языка Дракон, но расширяет и дополняет его.

не верно из-за наличия в схемах "мостиков". Просто очередной визуализатор блок-схем. Это не плохо создавать очередной редкатор. Не сильно правильно сравнивать его с DRAKONом. Тем более что уже есть редактор, честно реализующий парадигму оригинала, drakonhub.com называется.

Рад, что на Хабре снова вспомнили про ДРАКОН. Моё мнение: перед существующими ДРАКОН-редакторами у вашего сервиса есть фатальный недостаток -- это браузер. Даже простая схема заметно притормаживает, а что будет дальше?

Только после комментариев автора типа "всё будет" понял что это представление авторского проекта, а не обзор стороннего сервиса. Даже не помогли планы в статье о развитии:)

Круто! Успехов!

Ну так если я изначально скажу что это авторский проект то надо писать в "я пиарюсь". Я понимаю данный пост может выглядеть как реклама. Ну я вот пишу свой проект и надеюсь что он будет полезен. Я вообще изначально думал что в минусы уйду. Но вроде людям зашло, даже плюсуют. Спасибо Хабру.

Но вроде людям зашло, даже плюсуют. Спасибо Хабру.

Да, уж, если посмотреть какую то информацию в разрезе Предтавительствa статей главного Дракониста по рейтингу и обсуждениям, где даже сам их автор не определился к каким Хабр тегам их отнести.

P.S. Предыдущая недавняя статья по Дракон языку (20 декабря 2022)
Лабиринты из линий: превращаем сложный сценарий в понятную схему на языке ДРАКОН
как пет-проект — «более чем». Сделано красиво — у меня по сравнению было полное дерьмо. правда, вся команда воспитанников книг "улучшателя работы ума™" на три порядка дерьмовее, они за 40 лет не сподобились ни на что.
как что-то практическое… ну, бессмыслица как минимум. Собственно, все следует из истории этой разработки.

Там у коллег проблема в том что пишут на старом инструментарии. У меня React, TypeScript, Mobx, Nest. Ну и опыт уже есть. Мой инструментарий при правильном применении дает буст в разработке очень серьезный.

@serginho Сергей, я рад за вас и поддерживаю вашу статью. Надеюсь, что вы создадите программу, пригодную для программирования программируемых логических контроллеров (ПЛК), сенсорных логических контроллеров (СЛК), которая сможет конкурировать с аналогами на рынке микроконтроллеров и ПЛК — на этом рынке: Наш soft , Программирование микроконтроллеров на языке ДРАКОН

Sign up to leave a comment.

Articles