Опыт мышления в стереотипах формулы «Структура алгоритмов + данные = программа»

«E pur si muove!»
Галилео Галилей.

1.      Предисловие

Настоящая статья является важным шагом на пути к созданию демонстратора системы движков, взаимодействующих в потоке данных на базе встроенного интерпретатора Forth в Elixir. Интерпретатор Forth движков описан в предшествующей статье [1]. В серия статей [2, 3, 4] рассказывалось о рабочих моментах разработки демонстратора.

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

Такую же постановку демонстрационной задачи вычисления корней квадратного уравнения на графе обслуживания я сделал 5 лет тому назад в статье «Анти–Тьюринг», https://habr.com/ru/articles/593379/.

Тогда это был прообраз системы движков. Настоящей реализации демонстратора принципа обработки данных в потоке на Elixir предшествовала работа по написанию встроенного интерпретатора Forth и широкая систематизация движков, шлюзов, кнопок и тактовых генераторов в составе системы.

Перейдём сразу к делу.

2.      Задача демонстратора системы.

Для испытания системы движков взята всем известная задача решения квадратного уравнения, решение которой описывается следующим псевдокодом:

a ← <значение>
b ← <значение>
c ← <значение>
det ← b*b – 4*a*c
sqrt ← sqrt(det) wen det >= 0 do:
            x1 ← (-b – sqrt) / 2 a
            x2 ← (-b + sqrt) / 2 a

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

Читать далее
Опыт мышления в стереотипах формулы «Структура алгоритмов + данные = программа»
Source: geektimes