Notations from the second chapter of Ashby's Introduction to Cybernetics, inspired by his plea for javascript in 1956 (see italics below). The implementation here was trying to be like some blog post (maybe this one?) about object-oriented d3. After this, I chose not to add additional notation for controls like the (+ −) elements used here. It's cluttering and intrudes on reserved symbols. This was mostly done on the flight to my brother's graduation in 2017.
Click on a transition of any transformation to select it; click another to set the transform of the first to the second's operand.
Use the + and − buttons to add and remove operands. Operands without a transform will pick one at random.
The transformation

It can be represented as a matrix:

With the arrow indicating the direction of the transformation (substituting × for the original + marks to avoid confusion).
This can be read as the adjacency matrix of a directed graph, where every node has exactly one outbound edge. Ashby says,
If the graph consisted of buttons (the operands) tied together with string (the transitions) it could, as a network, be pulled into different shapes: