Summary
,
,Table of contents:
1. The Design Cycle as a Dynamic System................................................................................................................. 5
Once upon a time: ..................................................................................................................................................... 5
Dynamic Instability due to Positive Feedback: ......................................................................................................... 5
Systems Theory and Stability .................................................................................................................................... 6
Aeroelastic Flutter of Tacoma Narrows Bridge ......................................................................................................... 6
Positive Feedback in Childbirth Contractions ........................................................................................................... 7
From Stable Operations to Evolvable Designs .......................................................................................................... 7
The (Software) Design Cycle as a Dynamic System ................................................................................................... 8
Change Ripples: A Basic Transformation .................................................................................................................. 9
Ripple Effects in a Growing Modular Structure ...................................................................................................... 10
Design Theorems for Stable Software .................................................................................................................... 10
2. Design Theorems for Software Stability ............................................................................................................. 11
Separation of Concerns – Reductio ad Absurdum .................................................................................................. 11
Separation of Concerns: Integration Bus ................................................................................................................ 12
Action Version Transparency – Reductio ad Absurdum ......................................................................................... 13
Data Version Transparency – Reductio ad Absurdum ............................................................................................ 14
Separation of States – Reductio ad Absurdum ....................................................................................................... 15
Design Theorems Interpreted ................................................................................................................................. 17
Coupling and Cohesion Revisited ............................................................................................................................ 17
3. The Concept of Software Element Structure ...................................................................................................... 18
Encapsulating Basic Primitives ................................................................................................................................ 18
Separating Cross-Cutting Concerns......................................................................................................................... 19
The Emergence of Elements ................................................................................................................................... 21
An Advanced Transformation ................................................................................................................................. 21
Normalized Systems Elements ................................................................................................................................ 22
Expansion of Elements ............................................................................................................................................ 22
A Construction Concept Element ............................................................................................................................ 23
4. On Expansion, Harvesting, and Rejuvenation ..................................................................................................... 24
An Advanced Transformation ................................................................................................................................. 24
, Artifact = Expansion(Template, Model) .................................................................................................................. 25
On Updating Recurring Structure ........................................................................................................................... 25
Catch 22: The Only Way Out ................................................................................................................................... 26
Expansion of Elements ............................................................................................................................................ 26
Expand Models to Codebase................................................................................................................................... 27
Expand Templates to Codebase .............................................................................................................................. 27
Connect Utilities to Codebase ................................................................................................................................. 28
Subjoin Craftings to Codebase ................................................................................................................................ 28
Harvest Craftings from Codebase ........................................................................................................................... 29
Re-generate and Inject Craftings ............................................................................................................................ 30
Variability Dimensions and Expansion .................................................................................................................... 31
Deploying Elements in Layers ................................................................................................................................. 32
5. On Dimensions of Variability and Evolvability .................................................................................................... 33
Integrating the Dimensions of Variability and Expansion ....................................................................................... 33
Integrating the Dimensions of Variability ............................................................................................................... 33
6. On the Realization of Meta-Circular Expansion .................................................................................................. 41
Automatic programming ......................................................................................................................................... 41
The Need for Automatic Programming ................................................................................................................... 41
The Field of Automatic Programming ..................................................................................................................... 42
Relevance of Automatic Programming ................................................................................................................... 42
The Power of Circularity.......................................................................................................................................... 43
Meta-Circularity in Software Engineering ............................................................................................................... 43
Why Meta-Circularity in Meta-Programming? ....................................................................................................... 44
Artifact = Expansion(Template, Model) .................................................................................................................. 46
Need for Meta-Level Interfaces .............................................................................................................................. 47
Two-Sided Meta-Level Interfaces ........................................................................................................................... 47
Starting exchange.stars-end.net ............................................................................................................................. 49
Closing the Meta-Circle: Resonance ....................................................................................................................... 49