About
FAQ
Location
Sponsors
News

Wiki

Presentations
Favorite Talks Schedule iCal export Submit a talk proposal



Users
Search Statistics
Register
Log in
top

By Ian Knopke from London.pm
Date: Saturday, 5 December 2009 10:00
Duration: 40 minutes
Language:
Tags: agile machine perl reliability state tdd


An Introduction to Automata-Based Programming
A proposal for the London Perl Workshop by Ian Knopke, ian.knopke@gmail.com
Intended length: 40 Minutes.

Automata-based programming, or programming using state machines, is a powerful technique offering significant advantages for developers with regards to reliability and simplification of program logic in many problem areas. Recently, authors such as Martin (2002) have identified automata-based programming as an important technique in Agile programming practices. However, despite its ease of use, this style of programming is relatively unused, even in situations for which it is ideally suited.

This presentation, intended for a 40 minute time frame, will introduce automata-based techniques to programmers of all levels, covering:

-Basics of state machines for programmers
-Suitability to particular problems
-Implementation Strategies in Perl
-Worked examples
-Implications for TDD and Agile development practices
-Where to go next: links and references

References:

Dominus, M. J. Higher-Order Perl: Transforming Programs with Programs. Morgan Kaufmann, 2005.

Graham, P. On LISP: Advanced Techniques for Common LISP. Prentice Hall, 1993.

Martin, R. C. Agile Software Development, Principles, Patterns, and Practices.
Prentice Hall, 2002.

Minsky, M. L. . Computation: Finite and Infinite Machines. Prentice Hall, 1972.

Ruppert, W. Building a Finite State Machine Using DFA::Simple
http://www.perl.com/pub/a/2004/09/23/fsms.html. Retrieved Oct. 30, 2009.

Sipser, M. Introduction to the Theory of Computation, Second Edition. Thomson Course Technology, 2005.

Wagner, F., R. Schmuki, T. Wagner, and P. Wolstenholme. Modeling Software
with Finite State Machines: A Practical Approach. Auerbach, 2006.

Attended by: