Upgrade to Pro — share decks privately, control downloads, hide ads and more …

TDD with Petri Nets

TDD with Petri Nets

Presentation at SC London 2019 - https://sc-london.com/
- Introduction to Petri Nets
- Living documentation - generate Petri Net animations from logs
- Petri Nets as well as tests provide "design pressure" against your code (triangulation)

Aslak Hellesøy

October 04, 2019
Tweet

More Decks by Aslak Hellesøy

Other Decks in Technology

Transcript

  1. TDD with Petri Nets
    Aslak Hellesøy

    Cucumber creator and lead developer

    View Slide

  2. View Slide

  3. View Slide

  4. View Slide

  5. https://math.stackexchange.com/questions/485752/tictactoe-state-space-choose-calculation

    https://gfredericks.com/blog/76
    765 - 19,683

    (depending on how you count)

    View Slide

  6. https://github.com/bitwrap/bitwrap-io/blob/master/whitepaper.md#tic-tac-toe-wo-state-explosion
    Tic Tac Toe Petri Net

    View Slide

  7. Carl Adam Petri (1926-2010)
    • Invented Petri nets in 1939
    • One of Germany’s most
    famous computer scientists
    • Advanced fields of parallel and
    distributed computing

    View Slide

  8. Chemical Process

    View Slide

  9. Taking the bus

    View Slide

  10. View Slide

  11. View Slide

  12. View Slide

  13. View Slide

  14. View Slide

  15. View Slide

  16. View Slide

  17. Before you begin

    View Slide

  18. View Slide

  19. View Slide

  20. View Slide

  21. References
    • https://github.com/aslakhellesoy/xray-petri

    • https://github.com/cucumber/petrinet

    • https://github.com/bitwrap/bitwrap-io/blob/master/
    whitepaper.md

    • https://mitpress.mit.edu/books/modeling-business-processes

    • https://www.oreilly.com/library/view/living-documentation-
    continuous/9780134689418/

    • https://sarahtattersall.github.io/PIPE/

    View Slide