Программирование потока данных против модели актера

Как можно описать разницу между «программированием потока данных» и «моделью актера»? Насколько я понимаю, они не несвязанные, но все же не одно и то же. Является ли DF более широкой концепцией, суть которой заключается в отличии от модели Control Flow, тогда как модель Actor является более проработанным и теоретически обоснованным наследником DF?


person pavel.baravik    schedule 13.09.2013    source источник


Ответы (2)


  • Поток данных является детерминированным, что допускает параллелизм.
  • Актеры недетерминированы, что допускает параллелизм.
person Jonas Bonér    schedule 17.09.2013
comment
Я не думал об этом в таком ключе. Не могли бы вы немного уточнить? «Детерминирован» - означает ли это, что граф DF жестко закодирован, поэтому мы получаем один и тот же результат для одного и того же ввода; в то время как модель Актера допускает динамическую реконфигурацию графа, следовательно, она недетерминирована (по крайней мере, может быть так), верно? Но я не вижу связи между параллелизмом и параллелизмом и детерминированным и недетерминированным. - person pavel.baravik; 19.09.2013
comment
Похоже, вот объяснение: stackoverflow.com/questions/8582580/ подходят для меня. Кстати, не могли бы вы порекомендовать литературу по CS, в которой было бы описано указанное вами различие? - person pavel.baravik; 19.09.2013
comment
Лучшая книга по декларативному параллелизму потоков данных — Concepts, Techniques, and Модели компьютерного программирования Питера Ван Роя и Сейфа Хариди. Он отлично справляется с объяснением основ и того, как это связано как с логикой, FP, так и с императивным стилем, охватывает акторов, параллелизм с общим состоянием и многое другое. Настоятельно рекомендуется. - person Jonas Bonér; 30.09.2013
comment
Детерминированный поток данных также допускает параллелизм сайтов. .uclouvain.be/blog-ingi/2011/12/. Также поток данных не обязательно детерминирован. - person Jean Vincent; 02.10.2013
comment
А что насчет детерминированного алгоритма, если я поставлю генератор случайных чисел где-нибудь в середине потока данных? ;-) - person inf3rno; 19.08.2014

ДФ шире. Узел DF может иметь несколько входных портов и срабатывает, когда все входы установлены. Актер — это узел DF с одним входным портом. Цветная сеть Петри еще шире и позволяет запитывать несколько переходов из одного места, но ее сложно реализовать.

Реализацию DF на Java можно найти по адресу Dataflow4Java.

person Alexei Kaigorodov    schedule 17.10.2013