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"