DRAKON.SU

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

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




Начать новую тему Ответить на тему  [ Сообщений: 2 ] 
Автор Сообщение
СообщениеДобавлено: Среда, 09 Июнь, 2021 14:53 

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


Цитата:
Язык ДРАКОН

Константин Сергеев
Сегодня, 13:44

Добрый день, Владимир Данилович!

Меня зовут Константин Сергеев, с подачи одного из моих друзей посмотрел сайт drakon.su.

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

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


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

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

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

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

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

И мне показалось очень привлекательным использовать такое средство, как дракон для описания (и исполнения) алгоритмов системы.

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

Как говорил друг моего отца, который очень давно научил меня программировать - "программировать умеет каждый, но не каждый об этом знает".


Есть еще несколько идей, которые был бы рад обсудить и услышать Ваше мнение, если Вам далее найти немного времени на общение.


О себе - я был и разработчиком в течение лет 20-ти примерно, и руководителем команды разработчиков, в настоящее время архитектор прикладного ПО. Стаж работы с 1984 года.

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

--
С уважением,
К. Сергеев


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 10 Июнь, 2021 07:55 

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

Я изучу поподробнее спецификацию, чтобы не задавать тех вопросов, на которые, есть ответ в Ваших книгах.

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

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

Несомненно, использование Дракона позволяет в принципе решить любую сколь угодно сложную задачу. Можно ее декомпозировать на более простые задачи. Может быть, я ошибаюсь, это очень удобно, когда объект автоматизации монолитный.

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

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

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

Опять же, я сталкивался на практике с похожими системами, однако их огромный недостаток состоит в привлечении большого числа экспертов - аналитиков и программистов. На разработку несложной линейной процедуры (последовательно запускаемых задач под управлением разных пользователей) - определении платежеспособности клиента для выдачи кредита (3-4 проверки) потребовалось привлечение порядка 15 специалистов и около 1.5 месяца!

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

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

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


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

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

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

Более того, кроме основной функциональности узлы обеспечивают надежность и высокую доступность системы (например, за счет взаимного постоянного тестирования). Кроме того, узлы реализуют отчетность по работе системы, при возникновении нештатной ситуации информируют администраторов и т.д.

Получается, что все, как говорится в одном флаконе и не требуется привлекать дополнительное ПО для этих целей.

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

Я попробовал и java и javascript... но все равно как-то сложно обойтись без программиста.

Я много раз присматривался к языку ДРАКОН и пришел к выводу, что это идеальное решение!

Было бы здорово расширить, а может быть немного модифицировать нотацию для задачи - монитора технологического процесса.

Что в итоге;
создается платформа для коллективной разработки-исполнения.

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

Если я правильно понял - ДРАКОН - это метаязык, который при промежуточной компиляции генерирует код конкретного языка.

Где нам найти сторонников?
Думаю - это старшеклассники и младшекурсники.

Идеально если продвинуть идеи учителям игформатики в школе. На самом деле, когда я учился сам в школе, мне отец выписывал журнал "Квант" и там был раздел для программистов. Там можно было походие по выразительности системы программирования, но как-то все умерло, к сожалению.

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

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

Пока что мне не очень хотелось "засветиться" с этой инициативой. С другой стороны, Константин Сергеев не один, правда должность "Архитектор ПО" существенно снижает диапазон поиска).

Мне бы от Вас хотелось бы, как от признанного эксперта, получить простую оценку - представляет ли это с Вашей точки зрения какой либо интерес?

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

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

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

--
С уважением,
К.Сергеев


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

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


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

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


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

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