Skip to content
jukea edited this page Feb 1, 2013 · 5 revisions

Perhaps understanding better the theory of dataflow programming would allow us to make a better software.

Discussions/Stuff about dataflow (and more generally, graphical) programming

Meeting with Prof. Marc Feeley (Jan. 18, 2013) (French)

Caractéristiques requises

  • parallélisable (avec possibilité de prioriser l'audio)
  • flows synchronisés
    • indépendance de la localisation ou de l'ordre d'ajout des acteurs
  • ce doit être aisé pour un utilisateur qui ne connaît rien sur la concurrence, le typage, etc. de comprendre les concepts de base et de pouvoir utiliser le logiciel
  • modifications au graphe en temps réel
  • feedback
  • multi-plateforme (Windows, Linux, OSX et éventuellement Android et iOS)
  • acteurs composés
  • concepts avancés
  • récursion (acteur composé qui s'appelle lui-même)
  • lambda-calcul
  • concepts avancés facultatifs
  • timeline

Questions

Quels sont les avantages et inconvénients de ...

  • ... data-driven (push) vs demand-driven (pull)?
  • ... event-driven vs signal driven?
  • ... synchrone vs asynchrone?
    • parallélisation de parties du graphe
    • comment s'assurer que le timing est "tight"
    • comment prioriser certains types de données (eg. audio)

Quel est le lien entre le dataflow et les langages fonctionnels?

Suggestions de lectures

  • un bon livre sur le sujet
  • articles de référence

Compte-rendu de la rencontre

  • Suggestion: idée qu'il y ait un langage sous-jacent qui permette d'exprimer les graphes de façon scriptable
    • Exemple: FrTime un langage de la famille Scheme qui permet de manipuler des streams
  • Exprimé le problème du balancement de la charge sur les CPUs dans un contexte de multithreading
  • Intéressé à participer à un éventuel projet de recherche