BCS SPA2016

SPA Conference session: An Actor's Life For Me

One-line description:A discussion of the origin of the Actor Model and an implementation in .NET in the TPL DataFlow library.
 
Session format: Tutorial [read about the different session types]
 
Abstract:An introduction to the origin of the Actor Model and the basic principles it attempts to define. There will be a discussion of common scenarios where the actor model provides a good pattern for implementation.


In order to provide real hands on experience, we will then use the .NET
TPL Dataflow Library as a sample Actor based framework to display some of the areas of concurrent processing that can be tackled with this framework.


The Dataflow Library consists of a Nuget package built on top of the Task Parallel Library (TPL). It harnesses the actor-based programming model to provide a set of dataflow blocks data structures that buffer and process data, which you can connect together to form custom pipelines with messages passed between the blocks.


By using the Dataflow Library you can concentrate on the messages and actions being performed, while the blocks marshal the messages, provide concurrent message processing and buffering as well as supporting cancellation and exception handling.
 
Audience background:Intermediate level developers, who have experience of .NET.
 
Benefits of participating:Understanding how the Actor model created in the 1970's has proven so valuable as modern CPU architectures have provided the power to handle concurrent processing.
 
Materials provided:Powerpoint presentation, and full code samples. See the sample from my NDC Oslo presentation.

https://github.com/westleyl/NDCOslo-Actor
 
Process:Delegates might bring their own laptop with Visual Studio (any version, including free) and we can install the TPL Dataflow library very quickly.

Plan to have skeleton projects which we can fill in, but with a complete solution for anyone struggling to fix syntax type errors that generally thwart this type of exercise.
 
Detailed timetable:00:00 - 00:15 History of Actor model, key things it tries to solve.

00:15 - 00:25 Ensure everyone has machines setup, and cloned github.

00:25 - 01:15 Rest of tutorial

This might be quite compressed, if it was a 150 minute (rather than 75 minute) tutorial I could mirror my session at Progressive .NET and allow for more interaction and code solving.
 
Outputs:GitHub repo - sample code and slides I arrived with, plus additional feedback from the delegates, including any smart code they may have written.

This happened via Twitter, after NDC Oslo where I helped someone create a composite block from the base DataFlow components - it would be great to do this within the session possibly, and document the outcome with code samples.
 
History:NDC Oslo 2014 (1 hour presentation), https://vimeo.com/97415351

Progressive .NET 2014 (workshop, 3 hours).
 
Presenters
1. Liam Westley
Huddle
2. 3.