Обновить
16.87

Визуальное программирование *

Всё о попытках визуализировать программирование

Сначала показывать
Порог рейтинга
Уровень сложности

ВКПа. Введение, ч.3. Графика. Имитационное моделирование

Время на прочтение12 мин
Охват и читатели942

Наконец‑то мы добрались до конечной цели — графики, которая достаточно близко к реальности моделирует интересующие нас объекты. Речь пойдет об объектах систем управления (СУ). Это датчики, переключатели, индикаторы, моторы, конвейеры, объекты типа рассматриваемой нами гильотины и т. д. и т. п.

Читать далее

ВКПа. Введение, ч.2. Копирование автоматов и начала имитационного моделирования

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели1.9K

Данный цикл статей - не техническая документация, не подробное описание научных идей. Это краткое, обобщенное описание возможностей среды ВКПа на простом примере. Демонстрация процессов и принципов работы в ней. Идеи - проверенная временем часть. Они описаны в статьях, ссылки на основные из них приведены в  первой части [1]. Без понимания этого материала невозможно разобраться, зачем вообще нужна подобная среда. Ведь, существует и другое автоматное программирование. Но только идеи, положенные в их основу, другие.

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

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

Читать далее

ВКПа. Введение, ч.1. Визуальное проектирование автоматов

Уровень сложностиСредний
Время на прочтение14 мин
Охват и читатели3.1K

В моих статьях часто используется аббревиатура ВКПа. Это сокращение названия программной среды проектирования по канонам технологии автоматного программирования - среды автоматного Визуально-Компонентного Программирования (подробно основы ее теории описаны в статьях [1, 2]). Объяснение, что это за среда, конечно, дается, но, признаю, что делается это часто по ходу, достаточно поверхностно и разбросанно по многим статьям.

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

Буквально за последние месяцы была проделана объемная целенаправленная работа по развитию среды и, что особенно важно, по повышению качества ее работы.  Раньше она была рассчитана на одного пользователя, который с ее проблемами легко мирился. Но, как говорится, до поры до времени... Теперь этот пользователь, а заодно и разработчик, решил сконцентрировать силы на доведении ее до нормального рабочего состояния.  Пришло, так сказать, время перейти на новый уровень качества среды. И, может, это прозвучит нескромно, но захотелось заодно поделиться также удовольствием от нынешней работы в ВКПа...

Читать далее

Формализация WF2M сети на примере алгоритма Кофе-машина и два ученых

Уровень сложностиСредний
Время на прочтение13 мин
Охват и читатели1.4K

Предлагается WF2M сеть (From workflow to mathematic) с формализмом, обеспечивающим расчет движения маркера по сети workflow [WF2M23]. WF2M сеть основана на ЕРС (Event-Driven Process Chain) – событийная цепочка процессов: последовательность операций, управляемых событиями.

Ранее [CCSWF24] был приведен сценарий «кофе-машина и ученый» - как демонстрация формализма алгебры процессов CCS. Текущий пример формализации WF2M сети дополнен взаимодействием второго учёного, т.е. реализует более сложный сценарий: Кофе-машина и два ученых. Настоящую статью можно считать, как апробацию [WF2M23] на сценарии [CCSWF24].

Читать далее

Алгебры процессов для бизнес-процессов на примере CCS: кофе-машина-теорема

Уровень сложностиСредний
Время на прочтение13 мин
Охват и читатели3K

Формализация бизнес-процессов алгебраическими выражениями полвека будоражит умы математиков и методологов BPM (Business Process Management, ранее называемое CASE). Однако появление разнообразных алгебр процессов не добавили в практику BPM алгебраического формализма.

Алгебра алгоритмов (алгоритмическая алгебра Глушкова [GLU78], включая формализацию параллелизма), Алгебра \ исчисление процессов (CCS \ pi-calculus, CSP, ACP и др.), «Исчисление функций» (УФО, [UFO14]) не позволяют говорить о формальной (математической) теории BPM, а также инструменте, применимым бизнес-аналитиком на практике, т.е. об Алгебрах \ исчислениях бизнес-процессов - как математических абстракциях, формализующих workflow \ docflow и другие составляющие бизнес-процессов (Алгебре \ исчислении workflow).

Читать далее

Гайд по Scratch для детей: как запустить игру на Android

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели6.7K

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

Читать далее

FlowCanvas и визуальное программирование в Unity

Уровень сложностиСложный
Время на прочтение14 мин
Охват и читатели6.2K

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

Инди-команды не имея опыта в программировании собирают целые игры исключительно на нодах, а большие игры-сервисы удерживают исходники проекта в текстовом варианте? В нескольких проектах, с которыми я работал, были инструменты и системы визуального программирования: от древнего, тогда еще самостоятельного Bolt до монстров FlowCanvas/NodeCanvas и BluePrints в Unreal Engine.

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

заварить лапшу

Управление зависимостями в Go

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели23K


Одна из основных фич Go это система управления зависимостями. В начале своего пути Go полагался на GOPATH, что иногда вызывало сложности и ограничения для разработчиков. Однако с появлением Go Modules в Go версии 1.11, ситуация изменилась. Go Modules представили более гибкий инструмент для управления зависимостями, позволяя более эффективно управлять библиотеками и их версиями.

Go Modules был введен в Go с версии 1.11 как официальная система управления зависимостями. Она позволяет автоматически загружать зависимости, управлять версиями, и облегчает совместную работу.
Читать дальше →

WF2M сеть. Формализм и математика workflow

Уровень сложностиПростой
Время на прочтение24 мин
Охват и читатели3.4K

Кому нужны книжки без картинок … или хоть стишков, не понимаю! – думала Алиса

Кому нужны регламенты бизнес-процессов без схемок … или хоть скриптов, не понимаю! –осенило бизнес-аналитика Алису

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

Существует широкий спектр workflow нотаций (стандартов): от классических ГОСТ 19.701-90 (ИСО 5807-85, flowchart), IDEF3, UML2-AD и XML-сериализованных BPMN\YAWL\XPDL\EPML до специфических, например, Дракон.

Ведутся споры «насколько хороша» та или иная нотация: насколько интуитивно понятно передает она в графическом представлении модели (в картинке) суть процесса (упрощенная нотация, понятная рядовому бизнес-пользователю), но не встречал обсуждения их математических представлений и вообще workflow-модели с простой и прозрачной математической абстракцией: математической интерпретацией объектов модели и механики процесса (метамодели алгоритма).

Ниже предложен математический формализм workflow-сетей: Модель WF2M (From workflow to mathematic), WF2M-сеть, как механизм формализации алгоритмов бизнес-процессов в части потока работ (workflow) путем задания аналитическими выражениями функций переходов между дискретными состояниями, маркировки состояний моделируемого объекта. Механизм (механика интерпретации алгоритма бизнес-процесса) заимствует от сетей Петри терминологию (маркировка сети, активация перехода, реализация перехода и т.п.) и частично концептуализм и классификацию. Предложенная WF2M сеть имеет иной механизм формализации (абстракцию) по сравнению с WF-nets.

Читать далее

Обзор онтологического Low-code подхода к разработке решений класса ERP

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели3.7K

Здравствуй, уважаемый Хабр!

Эта статья описывает объектно-ориентированный (или онтологический) Low-code подход к проектированию и разработке информационных систем на примере платформы «Системный Геном».

Рассматриваемый подход, на наш взгляд, позволит кратно сокращать трудозатраты и сроки разработки сложных корпоративных и государственных информационных систем.

Читать далее

Чатботиус Полезниус: 5 толковых сценариев для чат-бота, которые не раздражают, а очень даже помогают

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели4.4K

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

Читать далее

«Так ты хочешь кролика или нет?»: как простая автоматизация общения в Авито может принести вдвое больше лидов

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели5.5K

Привет, Хабр! Меня зовут Владислав, и один из моих проектов — интернет‑магазин карликовых кроликов. Сегодня по приглашению коллег из ChatApp, я расскажу, как автоматизировал свой бизнес. Нет, речи ни о каком роботизированном выращивании кроликов не пойдет — только о продажах. Для меня это был интересный опыт, который в итоге помог прийти к значительному росту показателей. В этой статье мы поговорим о программировании чат‑ботов, об особенностях ведения бизнеса на АВИТО, а также немного о ботовой этике и эстетике. Текст будет интересен тем, кто является владельцем или открывает свой интернет‑магазин, тем, кто сомневается, что чат‑бот может быть этичным и удобным решением как для покупателя, так и для продавца.

Читать далее

Как мы наладили процесс разработки внутренних приложений с помощью Appsmith

Время на прочтение8 мин
Охват и читатели6.9K

Привет! Меня зовут Алексей, я аналитик данных в команде BI финансового маркетплейса Банки.ру. Сегодня хочу поделиться опытом работы с Appsmith. Это low-код инструмент для автоматизации бизнес-процессов. 

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

Читать далее

Ближайшие события

ShIoTiny5 — Концепция и конфигурация

Время на прочтение16 мин
Охват и читатели1.8K

Продолжаем цикл статей о системе визуального программирования ShIotiny5.

Очень много вопросов задают по поводу того, как правильно «прошить» ESP-модуль прошивкой ShIoTiny5 и как его настроить.Это не удивительно, так как параметров конфигурации немало. Да и разных ESP-модулей — тоже.

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

Также есть вопросы по поводу того, почему система ShIoTiny5 такая какая есть, а не «вот такая», какая она рисуется в фантазиях некоторых читателей.

Попробую ответить на эти вопросы.

В этой статье нет ничего о программировании ShIotiny5.
Она целиком посвящена прошивке программного обеспечения и его конфигурации. И немного - концепциям и идеям.

Как прошить и как настроить ShIoTiny5.

Регулярные выражения — это не трудно

Время на прочтение6 мин
Охват и читатели31K
image

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

Знать regex стоит потому, что с его помощью можно добиться очень многого, используя очень мало кода. Если я пытаюсь с помощью обычного процедурного кода воспроизвести то, что делает моё выражение, то код часто получается очень пространным, полным багов и тормознутым. Могут потребоваться часы или дни, чтобы найти альтернативное решение, а ведь можно было за пару минут написать regex.
Читать дальше →

ShIoTiny5 — светодиоды, индикаторы и шкалы

Уровень сложностиПростой
Время на прочтение14 мин
Охват и читатели5.5K

Продолжаю публикации на тему системы визуального программирования микроконтроллеров - ShIoTiny5.

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

О том, какие возможности реализованы в ShIoTiny5 для отображения информации на светодиодных индикаторах, рассказано в этой статье. Приведены примеры реализации устройств на базе модулей ESP8266 с прошивкой ShIoTiny5.

О светодиодах, индикаторах, шкалах.

Знакомство с разработкой SAP Data Services

Время на прочтение3 мин
Охват и читатели6.7K

Что такое SAP Data Services

Это графический ETL инструмент для обеспечения качественной обработки данных и их интеграции в единое хранилище. Используя Data Services (в дальнейшем DS), можно преобразовывать и очищать данные, независимо от их источника. Имеется гибкая возможность интегрироваться с любым источником. Возможно иметь единую среду для разработки, выполнения, управления и проверки безопасности.

Одной из главных функций Data Services является извлечение, преобразование и загрузка (ETL) данных из разнородных источников в целевую базу данных или хранилище данных. При помощи инструмента Designer создаются приложения (задания), которые определяют порядок преобразования и обработки данных. DS самостоятельно отслеживает время и параметры запуск заданий, собирается статистику и пробует оптимизировать работу задач. Рабочий сервер DS может выдерживать большой объем данных и поддерживать обработку данных в реальном времени.

Читать далее

Data Visualizer — отображение данных с микроконтроллера

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели13K

Почитав несколько историй о том как программисты передают данные с микроконтроллеров на ПК, с целью их удобного отображения на большом экране (SCADA, LabView), пришло мне в голову рассказать еще об одном способе для этого. Способ не новый, но, похоже, не очень известный. Способ заключается в применении программы Atmel Data Visualizer или ее последователя - MPLAB Data Visualizer.

Это должен быть пост, а не обзор

Автоматизация бизнес-процессов в Heflo: настройка форм

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели2.1K

Хабр, привет! Команда Business Process Management GlowByte продолжает знакомить вас с фишками бразильской BPMS Heflo. В рамках деятельности Heflo Club мы в GlowByte создаем обучающий контент для бизнес- и процессных аналитиков, а также для всех, кто желает познакомиться с миром BPM и освоить новую систему управления бизнес-процессами Heflo. Сегодняшняя порция пищи для ума бизнес- и процессных аналитиков – туториал по созданию пользовательских форм. Давайте упражняться!

Читать далее

ShIoTiny5 — новые веяния и маленькое устройство

Уровень сложностиПростой
Время на прочтение12 мин
Охват и читатели5.3K

Несколько лет назад я писал о системе визуального программирования ShIoTiny для модулей на базе микроконтроллера ESP8266. Поэтому, чтобы не повторяться, для тех, кто "не в теме" - сразу отсылаю к моей первой статье на Хабре: ShIoTiny: малая автоматизация, интернет вещей или «за полгода до отпуска».

Главным концептом системы ShIoTiny является то, что для её программирования не нужно применять ничего кроме стандартного браузера - всё ПО находится внутри микроконтроллера.

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

Здесь я расскажу о том, что произошло в плане разработки системы ShIoTiny с момента последней публикации на Хабре о ней.

ShIoTiny5 - новые веяния, новое ПО.