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. А, помогает ли текущий разрабатываемый инструмент в создании редактора и в чём, если это так?
«код» <-> «схема»
Для Python на Хабр была такая серия статей от SergeySatskiy
Автоматическая визуализация python-кода.
людей, которые в перспективе могут использовать такую систему в своей работе.
А как вы представляете людей, которым такое нужно использовать в работе?
Редакторы блок-схем и 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. И тогда все забудут про АРИС и приручат Дракона (БП-Дракона).
Предложите площадку для обсуждения.
Предлагаю официальный форум языка ДРАКОН https://forum.drakon.su/ подфорум Алгоритмический язык ДРАКОН для бизнес-процессов
Регистрация https://drakon.su/kak_zaregistrirovatsja
Можно и этот (для начала), но на нем, полагаю, что в основном "драконо-почитатели", хотелось бы что-то из форумов (площадок) BPM (BPM-почитатели), мы же схемы бизнес-процессов рисовать планируем.
На каких-либо BPM - площадках обсуждали Дракона для формализации БП? Чтобы получился не "холодный" заход (звонок), а публика была уже немного "прогрета".
Можно и этот (для начала)
Хорошо, пусть для начала. Про BPM на форуме Дракона тоже есть информация, например Язык ДРАКОН для описания бизнес-процессов проектного бизнеса.
Всё-таки нужно что-то гит ориентированное, в основе чего текст. Что-то типа визуального https://plantuml.com/ (ну и с гитом можно чуть более дружелюбным быть, но и так неплохо.
На сколько я понимаю парадигму DRAKON`а, которая, собственно и отличает оригинал от остальных алгоритмических зыков - это отсутствие пересечений путей ("королевская дорога"). Т.е. Ваше утверждение
Он основан на теоретической основе, заложенной при разработке визуального языка Дракон, но расширяет и дополняет его.
не верно из-за наличия в схемах "мостиков". Просто очередной визуализатор блок-схем. Это не плохо создавать очередной редкатор. Не сильно правильно сравнивать его с DRAKONом. Тем более что уже есть редактор, честно реализующий парадигму оригинала, drakonhub.com называется.
Рад, что на Хабре снова вспомнили про ДРАКОН. Моё мнение: перед существующими ДРАКОН-редакторами у вашего сервиса есть фатальный недостаток -- это браузер. Даже простая схема заметно притормаживает, а что будет дальше?
Только после комментариев автора типа "всё будет" понял что это представление авторского проекта, а не обзор стороннего сервиса. Даже не помогли планы в статье о развитии:)
Круто! Успехов!
Ну так если я изначально скажу что это авторский проект то надо писать в "я пиарюсь". Я понимаю данный пост может выглядеть как реклама. Ну я вот пишу свой проект и надеюсь что он будет полезен. Я вообще изначально думал что в минусы уйду. Но вроде людям зашло, даже плюсуют. Спасибо Хабру.
Но вроде людям зашло, даже плюсуют. Спасибо Хабру.
Да, уж, если посмотреть какую то информацию в разрезе Предтавительствa статей главного Дракониста по рейтингу и обсуждениям, где даже сам их автор не определился к каким Хабр тегам их отнести.
P.S. Предыдущая недавняя статья по Дракон языку (20 декабря 2022)
Лабиринты из линий: превращаем сложный сценарий в понятную схему на языке ДРАКОН
как что-то практическое… ну, бессмыслица как минимум. Собственно, все следует из истории этой разработки.
Там у коллег проблема в том что пишут на старом инструментарии. У меня React, TypeScript, Mobx, Nest. Ну и опыт уже есть. Мой инструментарий при правильном применении дает буст в разработке очень серьезный.
@serginho Сергей, я рад за вас и поддерживаю вашу статью. Надеюсь, что вы создадите программу, пригодную для программирования программируемых логических контроллеров (ПЛК), сенсорных логических контроллеров (СЛК), которая сможет конкурировать с аналогами на рынке микроконтроллеров и ПЛК — на этом рынке: Наш soft , Программирование микроконтроллеров на языке ДРАКОН
Falang.io: редактор блок-схем