

The big idea

structure

sw can have stability

Notions of stability

sequences add height, modularity adds width
That is, every subroutine call adds to the width of the routine (think activity diagram)
and therefore reduces the overall height

"Blake canonical ordering" as the model of stable code, and by extrapolation: instability as a lack of it

statements are the atoms of code

so statement can be represented as: s: (M,C,U, B)

M: Meaning - facts/ s^1

meaning is expressed in an informal way eg, English, to denote that its not directly amenable to mechanical processing

properties of statements

static

c: complexity = (7*E + sgn * ( 2*Fo + Fi))/7
where sgn = ((E+1) mod 2) * ((E+1) - E^2)
this has a range of [0,1]

statements can be aggregated to increasingly nested superstructures

For eg:


notes

Found the wonderful "Grand Unified Theory of Software Engineering" book a week ago. Lots of overlap with my ideas.
Need to figure out how to merge mine with those. Initial thoughts:
- GUTSE is a much higher level thought process ie encompasses more.
- Does NOT want to get down to notation and symbols for valid reasons
- Has some awesome chapters on applying the theory esp using ACT-R. My theory should reach that level for it to be "done"
- to clarify, however: not trying to use ACT-R and such like. I just want to use the theory I come up with.
- Hadnt heard about ACT-R but seems like that would be an awesome tool in and of itself to understand the human side of software.
Need to figure out how to merge mine with those. Initial thoughts:
- GUTSE is a much higher level thought process ie encompasses more.
- Does NOT want to get down to notation and symbols for valid reasons
- Has some awesome chapters on applying the theory esp using ACT-R. My theory should reach that level for it to be "done"
- to clarify, however: not trying to use ACT-R and such like. I just want to use the theory I come up with.
- Hadnt heard about ACT-R but seems like that would be an awesome tool in and of itself to understand the human side of software.

how to read this mindmap

each child node with chidren can be further expanded to read that sub topic in the same top-to-bottom fashion

Eg: the "big idea" node opens out into 4-5 nodes that can be read as a sentence starting at "Define code..." and ending at "determine their value"