Константин Сергеев писал(а):
Владимир Данилович,
огромное спасибо за оперативный ответ и присланные материалы. На самом деле я давно и регулярно захожу на сайт, но до сих пор не решался написать Вам
Я изучу поподробнее спецификацию, чтобы не задавать тех вопросов, на которые, есть ответ в Ваших книгах.
Предварительно хотел вот что сказать - Вами предложен структурный подход к разработке, я его изучал, а потом активно пользовался долгое время при разработке ПО.
Потом появилась мода на объектный подход, сейчас - в моде микросервисы, потом будет что-нибудь еще... Но все равно фундаментом разработки остается структурный подход, поэтому все остается актуальным.
Несомненно, использование Дракона позволяет в принципе решить любую сколь угодно сложную задачу. Можно ее декомпозировать на более простые задачи. Может быть, я ошибаюсь, это очень удобно, когда объект автоматизации монолитный.
Однако если он становится распределенным, то возможно отдельную процедурную функциональность реализовать на отдельном компьютере, и в целом результат достигается путем взаимодействия отдельных распределенных вычислительных процессов.
Для этого появляется задача-оркестратор процессов, которая и синхронизирует отдельные процессы. На самом деле в течение последних примерно 25 лет я занимался задачей обмена сообщениями и их гарантированной доставкой.
Позже я подумал, почему бы в процессе передачи данных между задачами между ними не поставить дополнительные узлы, которые осуществляют промежуточную обработку данных? Если провести аналогию с реальным миром, то таким образом можно построить конвейер задач, которые в свою очередь управляют или выполняют мониторинг сложных объектов.
Опять же, я сталкивался на практике с похожими системами, однако их огромный недостаток состоит в привлечении большого числа экспертов - аналитиков и программистов. На разработку несложной линейной процедуры (последовательно запускаемых задач под управлением разных пользователей) - определении платежеспособности клиента для выдачи кредита (3-4 проверки) потребовалось привлечение порядка 15 специалистов и около 1.5 месяца!
И я как раз задумался над разработкой инструмента, с помощью которого путем совместной итеративной работы специалисты по банковскому делу могут самостоятельно разработать и апробировать такое решение.
То, о чем я сказал - лишь пример, а подобных задач - огромное количество. Причем такой конвейер может работать и в автоматическом режиме, взаимодействуя с исполнительными устройствами, а может и включать в схему человека, который является таким же обработчиком данных как и автоматическое устройство.
Примером может являться система документооборота, где коллективно по регламенту участниками процесса создается, корректируется и принимает конечный вид документ. В общем случае -управление циклом какого-либо технологического процесса.
В итоге я нацелен на создание технологической платформы, в среде которой разрабатывается, тестируется и исполняется (циклически, одноразово или по какому-либо сигналу) распределенный вычислительный процесс.
Нижним слоем является конфигурируемая транспортная сеть, гарантирующая доставку данных между узлами обработки. 2-й уровень - вычислительная сеть с контроллером технологического процесса.
Узел обработки - универсальная настраиваемая программа, обеспечивающая коммутацию данных/сообщений, и предоставляющая среду для выполнения вычислительных задач.
Более того, кроме основной функциональности узлы обеспечивают надежность и высокую доступность системы (например, за счет взаимного постоянного тестирования). Кроме того, узлы реализуют отчетность по работе системы, при возникновении нештатной ситуации информируют администраторов и т.д.
Получается, что все, как говорится в одном флаконе и не требуется привлекать дополнительное ПО для этих целей.
На самом деле, узел я давно сделал, несколько раз уже переписал. Но до сих пор была проблема - как без программиста реализовать алгоритм задачи - стадии технологического процесса?
Я попробовал и java и javascript... но все равно как-то сложно обойтись без программиста.
Я много раз присматривался к языку ДРАКОН и пришел к выводу, что это идеальное решение!
Было бы здорово расширить, а может быть немного модифицировать нотацию для задачи - монитора технологического процесса.
Что в итоге;
создается платформа для коллективной разработки-исполнения.
Ее отличительные характеристики - быстрое развертывание транспортной сети и вычислительной сети на ее основе за счет включения, а также быстрое получение тестовых результатов за счет вовлечения в разработку отраслевых экспертов, которые хорошо представляют себе требования к решаемой задаче.
- язык разработки - ДРАКОН. Преимущества, очевидны, писать о них не буду.
Если я правильно понял - ДРАКОН - это метаязык, который при промежуточной компиляции генерирует код конкретного языка.
Где нам найти сторонников?
Думаю - это старшеклассники и младшекурсники.
Идеально если продвинуть идеи учителям игформатики в школе. На самом деле, когда я учился сам в школе, мне отец выписывал журнал "Квант" и там был раздел для программистов. Там можно было походие по выразительности системы программирования, но как-то все умерло, к сожалению.
Ну вот, такое вот "краткое" введение... может быть, несколько сумбурное... Пишу Вам пока что в почту вот из каких соображений - это все моя личная инициатива, и я не уверен, что руководство не отнесется к ней с пониманием - есть, как всегда, текущие проблемы, а я увлечен чем-то своим.
На самом деле, я многим коллегам рассказывал, но пока что слышу такой ответ - сделай, покажи, посмотрим.
Пока что мне не очень хотелось "засветиться" с этой инициативой. С другой стороны, Константин Сергеев не один, правда должность "Архитектор ПО" существенно снижает диапазон поиска).
Мне бы от Вас хотелось бы, как от признанного эксперта, получить простую оценку - представляет ли это с Вашей точки зрения какой либо интерес?
Мои молодые коллеги говорят - все давно сделано, не изобретай велосипед.Когда начинаю с ними разбираться в деталях, вижу, что коллег просто не поняли о чем речь...
Если Вас заинтересуют мои идеи, тогда я начну Вам посылать постепенно материалы, которые можно публиковать для всеобщего обсуждения.
Заранее Вам благодарен за любой отзыв. Есть некоторые рабочие материалы и я готов их прислать Вам, если они Вас заинтересуют
Еще раз - спасибо за Ваш ответ
--
С уважением,
К.Сергеев