Elements of Dataflow and Reactive Programming Systems

43

description

A Practical Handbook on Developing Dataflow-Like Programming Systems Book Site: http://DataflowBook.com Video: http://www.youtube.com/watch?v=iFlT93wakVo Dataflow concepts are the heart of Reactive Programming, Flow-Based Programming (e.g. NoFlo), Unix pipes, Actors and message passing in general. Dataflow-based systems are easy to design once you understand the large number of implementation details that could drastically change how the system operates. Understanding these vectors of change is important so you don't waste your time developing the wrong system. Embedded dataflow-like languages are used in a wide range of applications. Video games, web pages, circuit simulation and music production are just a few of the domains that have been using dataflow for years. Every one of those has a specialized dataflow engine designed for the task at hand. This book will help you understand the whole dataflow universe before starting your own system. By the end of the book you will understand... - All possible design choices with dataflow-like systems - How their effects interplay - How to develop your own dataflow-like system Public domain source code of an example dataflow system will be available for download from the book's web site once completed. ---- Table of Contents (Preliminary) General Architecture: (Brief introduction to dataflow and its terminology) - Overview - Benifits of Dataflow - Dataflow in a Nutshell The Nouns of Dataflow: (Definitions of the common parts of dataflow-based systems and their possible design choices) - Nodes & Ports - Links - Data The Verbs of Dataflow: (Covers the design choices for the runtime operation of dataflow-based systems and their affect on its operation) - Scheduling & Executing - Transmitting - Time (Glitches & Synchronization) Problematic Graphs: (Understand how implementation choices can change the operation of certain graphs -- programs) - Cycles - Joins - Splits Specific Implementations: (Describes the key characteristics of common dataflow models with sample code for each section. Discusses how the design choices affects operation -- its pros and cons in comparison to other dataflow models) - Pure Dataflow Programming - Flow-Based Programming - Reactive Programming - Unix Pipes - Service Oriented Architecture - Actors Code samples in C# and other major languages: - Download code of a complete dataflow-based programming system that you can extend - The .Net Reactive Extensions will not be used - Instead, we will show you an example of a complete system built from first principles Visit DataflowBook.com

Transcript of Elements of Dataflow and Reactive Programming Systems

Page 1: Elements of Dataflow and Reactive Programming Systems
Page 2: Elements of Dataflow and Reactive Programming Systems
Page 3: Elements of Dataflow and Reactive Programming Systems
Page 4: Elements of Dataflow and Reactive Programming Systems
Page 5: Elements of Dataflow and Reactive Programming Systems
Page 6: Elements of Dataflow and Reactive Programming Systems
Page 7: Elements of Dataflow and Reactive Programming Systems
Page 8: Elements of Dataflow and Reactive Programming Systems
Page 9: Elements of Dataflow and Reactive Programming Systems
Page 10: Elements of Dataflow and Reactive Programming Systems
Page 11: Elements of Dataflow and Reactive Programming Systems
Page 12: Elements of Dataflow and Reactive Programming Systems
Page 13: Elements of Dataflow and Reactive Programming Systems
Page 14: Elements of Dataflow and Reactive Programming Systems
Page 15: Elements of Dataflow and Reactive Programming Systems
Page 16: Elements of Dataflow and Reactive Programming Systems
Page 17: Elements of Dataflow and Reactive Programming Systems
Page 18: Elements of Dataflow and Reactive Programming Systems
Page 19: Elements of Dataflow and Reactive Programming Systems
Page 20: Elements of Dataflow and Reactive Programming Systems
Page 21: Elements of Dataflow and Reactive Programming Systems
Page 22: Elements of Dataflow and Reactive Programming Systems
Page 23: Elements of Dataflow and Reactive Programming Systems
Page 24: Elements of Dataflow and Reactive Programming Systems
Page 25: Elements of Dataflow and Reactive Programming Systems
Page 26: Elements of Dataflow and Reactive Programming Systems
Page 27: Elements of Dataflow and Reactive Programming Systems
Page 28: Elements of Dataflow and Reactive Programming Systems
Page 29: Elements of Dataflow and Reactive Programming Systems
Page 30: Elements of Dataflow and Reactive Programming Systems
Page 31: Elements of Dataflow and Reactive Programming Systems
Page 32: Elements of Dataflow and Reactive Programming Systems
Page 33: Elements of Dataflow and Reactive Programming Systems
Page 34: Elements of Dataflow and Reactive Programming Systems
Page 35: Elements of Dataflow and Reactive Programming Systems
Page 36: Elements of Dataflow and Reactive Programming Systems
Page 37: Elements of Dataflow and Reactive Programming Systems
Page 38: Elements of Dataflow and Reactive Programming Systems
Page 39: Elements of Dataflow and Reactive Programming Systems
Page 40: Elements of Dataflow and Reactive Programming Systems
Page 41: Elements of Dataflow and Reactive Programming Systems
Page 42: Elements of Dataflow and Reactive Programming Systems
Page 43: Elements of Dataflow and Reactive Programming Systems