visual-programming-codex icon indicating copy to clipboard operation
visual-programming-codex copied to clipboard

David Harel's research on Visual formalisms, Statecharts, Live Sequence Charts, & Behavioral Programming

Open ChrisShank opened this issue 2 years ago • 1 comments

One of the things that I think is missing from this codex is David Harel's research on visual formalisms, statecharts, live sequence charts, ect. and all of the research and "practical" branches that stem from that foundation. So I will attempt to provide an narrow overview of the this history of his work and many of the branches that stem from it.

Structured Flowcharts

Some of Harel's earliest work is on "structured flowcharts". It seemed to focus on giving flowcharts of procedural code a more structured visual syntax. image

And/Or Programms

Building off the research above and crucial for his later work on statecharts is a paper called And/Or Programs: A New Approach to Structured Programming. It defined a language for decomposing typical programming constructs into a tree of AND or OR nodes. This language was both mathematically rigorous and visualizable as a tree. It was likely this was the first time that Harel attempted to visualize parallelism. Below is an example of a factorial algorithm:

image

Visual formalisms and Higraphs

Original paper

image

Reactive Systems

A later paper called "On the Development of Reactive Systems" provides a framing for much of the research he would publish later on. It points out a new dichotomy between transformative systems and reactive systems (pictured below).

image

Statecharts

Original Paper History of Statecharts(written by Harel)

Implementations

  • Statemate
  • Rhaspody
  • UML StateMachines
  • SCXML
  • XState (now Stately)
  • StateML (for transparency I am part of the core team)

(This is a non-exhaustive list, there are many others out there. Happy to add more of them)

Live Sequence Charts (LSCs) and Scenario-Based Programming

ChrisShank avatar Mar 11 '22 03:03 ChrisShank

Yes, that is definitely a missing piece. Thank you for the request and for providing so much supporting material.

ivanreese avatar Mar 11 '22 17:03 ivanreese