TickSpec – BDD for C# & F# & Writing concurrent applications using agents

24th November 2010 in London at Skills Matter

There are 1 other SkillsCast available from Writing concurrent applications using agents

TickSpec is a lightweight Behaviour Driven Development (BDD) framework for C# and F#. Specify the behaviour of your system in plain text with the Gherkin business language. Then run and debug your text specifications from inside Visual Studio.

This talk will look at some lessons learned from some recent projects where BDD was applied. Plus some tips to get you started on constructing good specifications for both business analysts and testers, along with some developer tips for testing asynchronous applications.

In his talk Tomas will show us how to implement message passing concurrency in F# using agents (the MailboxProcessor type in F#). In this style of programming, we write an application as a group of agents that run in parallel and communicate by sending immutable messages to each other.

This removes the sharing of mutable state, making the application scalable and easier to understand. However, the required application structure is quite different. We’ll discuss several common patterns that you can use for structuring agent-based applications. For example, we’ll look how to implement pipeline processing and map-reduce pattern using agents.


TickSpec – BDD for C# & F# & Writing concurrent applications using agents

Phil Trelford

Phil is an active member of the software development community, regularly attending and speaking at user groups and conferences, blogging and contributing to open source projects. He is a co-organizer of the London F# User Group and a founding member of the F# Foundation.

Tomas Petricek

Tomas is a computer scientist and open-source developer. He is a Visiting Researcher at the Alan Turing Institute working on tools for open data-driven storytelling. He wrote a popular book called "Real-World Functional Programming" and is a lead developer of several F# open-source libraries.