Visual programming and executable models

Farzad Yousefzadeh

Farzad Yousefzadeh

Lead Engineer @Stately

Feature programming

Feature programming

Feature programming improved v1

Other improvements

Enter Diagrams

Benefits of diagrams

πŸ‘‰πŸ» See entire system

πŸ‘‰πŸ» Edge cases

πŸ‘‰πŸ» Zooming

πŸ‘‰πŸ» Plan and estimate

πŸ‘‰πŸ» Integrations

πŸ‘‰πŸ» See layers

Diagram types

πŸ‘‰πŸ» Hierarchy (spawning)

πŸ‘‰πŸ» Sequences

πŸ‘‰πŸ» Multi actor (event drive)

purchase only items exist in cart

a part of logic that needs to be checked only if a parent condition is met

Continuous integration

Multi step consent form

separate modules or functions

cloud functions, web workers, k8s pods

Actors

Diagrams show you how the software you're building is a collection of actors structured in a certain way

If diagrams are so good, why not just diagram the software instead of programming it?

Stately.ai

Your entire software can be a collection of graphs

Stately.ai

Finite state machines

Statecharts

state ==> state

(state+ event) ==> next state + side effects

How is Stately different

πŸ‘‰πŸ» Diagrams are the source of truth

πŸ‘‰πŸ» Diagram ➑ model ➑ execute

πŸ‘‰πŸ» Export to more than just code

πŸ‘‰πŸ» Import from more than just code

πŸ‘‰πŸ» Multi-purpose

πŸ‘‰πŸ» Across the stack

Diagrams to the next level

πŸ‘‰πŸ» Generate event sequences

πŸ‘‰πŸ» Collaborative

πŸ‘‰πŸ» Smart reshaping by analytics

Recap

πŸ‘‰πŸ» Diagrams improve modeling

πŸ‘‰πŸ» Diagrams are low code and abstract

πŸ‘‰πŸ» Diagrams can be the single sourceΒ  Β  Β  Β  Β of truth

πŸ‘‰πŸ» Diagrams are not enough

πŸ‘‰πŸ» Start diagramming for new features

πŸ‘‰πŸ» Start diagramming when refactoring

Kiitos.