Visual programming and executable models

Farzad Yousefzadeh

Farzad Yousefzadeh

Lead Engineer @Stately

Humans learn like a scripting interpreter with much limited capacity.

Use pictures for a more effective medium of communication

Flowcharts

Flowcharts

Weighted Flowcharts

Sequence diagrams

Class Blueprints

Flowcharts are GRAPHS

Vertices and Edges

Your entire software can be a collection of graphs

Stately.ai

Examples executable diagrams

State orchestration

Actors

Canvas item actor: selection, highlighting, per item commands

Canvas actor: permissions (read-only), modes (embed)

Keyboard actor: delete item, select all items, copy pasting items

URL actor: update query params, navigate, feed initial data to the canvas

Ad-hoc UI actors: Toast actor, Popover actor

Supervisor

Focus actor: register focusable items and focus them on demand by message passing

Actors

Component tree vs Actor tree

Diagrams to the next level

πŸ‘‰πŸ» Generate event sequences

πŸ‘‰πŸ» Collaborative

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

Recap

πŸ‘‰πŸ» See breadth of features better

πŸ‘‰πŸ» Event based architecture

πŸ‘‰πŸ» Discover edge cases upfront

πŸ‘‰πŸ» Focus on behavior than implementation

πŸ‘‰πŸ» Visual model: onboarding, learning code,
Β  Β  Β documentation, et al

πŸ‘‰πŸ» Test generation and property based testing

Recap

πŸ‘‰πŸ» Model a new feature

πŸ‘‰πŸ» Refactor an existing feature

πŸ‘‰πŸ» Learn a feature by modeling it
Β  Β  Β at a higher level

πŸ‘‰πŸ» Test a feature by modeling it
Β  Β  Β  for the test scenarios

πŸ‘‰πŸ» Eliminate accidental complexity

Kiitos.